⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 bom.cls

📁 制造业产供销与往来系统源码,包括进销存及全部控件!
💻 CLS
字号:
VERSION 1.0 CLASS
BEGIN
  MultiUse = -1  'True
  Persistable = 0  'NotPersistable
  DataBindingBehavior = 0  'vbNone
  DataSourceBehavior  = 0  'vbNone
  MTSTransactionMode  = 0  'NotAnMTSObject
END
Attribute VB_Name = "Bom"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = True
Attribute VB_PredeclaredId = False
Attribute VB_Exposed = True

Option Explicit

Dim m_HwbmA As Hwbm
Dim m_HwbmC As Hwbm

Dim m_BomKey As Integer
Dim m_Bom_Id As Integer

Dim m_BomA_HwbmNo As Double
Dim m_BomA_HwbmCode As String
Dim m_BomA_HwbmMc As String

Dim m_BomItem As Integer

Dim m_BomC_HwbmNo As Double
Dim m_BomC_HwbmCode As String
Dim m_BomC_HwbmMc As String

Dim m_Bom_HwDwCode As String

Dim m_BomQty As Double
Dim m_BomShl As Double

Dim m_BomBz As String
Dim m_BomLevel As Integer

Dim m_BomNo As Double

Public Property Get Name() As String
   Name = "Bom"
End Property

Private Sub Class_Initialize()
   m_Bom_Id = -1
End Sub

Public Property Get HwbmA() As Hwbm
   If m_HwbmA Is Nothing Then
      Set m_HwbmA = New Hwbm
      If m_BomA_HwbmCode <> "" Then
         m_HwbmA.Requery m_BomA_HwbmCode
      End If
   End If
   Set HwbmA = m_HwbmA
End Property

Public Property Get HwbmC() As Hwbm
   If m_HwbmC Is Nothing Then
      Set m_HwbmC = New Hwbm
      If m_BomC_HwbmCode <> "" Then
         m_HwbmC.Requery m_BomC_HwbmCode
      End If
   End If
   Set HwbmC = m_HwbmC
End Property

Public Property Get BomKey() As Integer
   BomKey = m_BomKey
End Property

Public Property Let BomKey(vBomKey As Integer)
   m_BomKey = vBomKey
End Property

Public Property Get Bom_Id() As Integer
   Bom_Id = m_Bom_Id
End Property

Public Property Let Bom_Id(vBom_Id As Integer)
   m_Bom_Id = vBom_Id
End Property

Public Property Get BomLevel() As Integer
   BomLevel = m_BomLevel
End Property

Public Property Get BomA_HwbmNo() As Double
   BomA_HwbmNo = m_BomA_HwbmNo
End Property

Public Property Get BomA_HwbmCode() As String
   BomA_HwbmCode = m_BomA_HwbmCode
End Property

Public Property Get BomA_HwbmMc() As String
   BomA_HwbmMc = m_BomA_HwbmMc
End Property

Public Property Get BomItem() As Integer
   BomItem = m_BomItem
End Property

Public Property Get BomC_HwbmNo() As Double
   BomC_HwbmNo = m_BomC_HwbmNo
End Property

Public Property Get BomC_HwbmCode() As String
   BomC_HwbmCode = m_BomC_HwbmCode
End Property

Public Property Get BomC_HwbmMc() As String
   BomC_HwbmMc = m_BomC_HwbmMc
End Property

Public Property Get Bom_HwDwCode() As String
   Bom_HwDwCode = m_Bom_HwDwCode
End Property

Public Property Get BomQty() As Double
   BomQty = m_BomQty
End Property

Public Property Get BomShl() As Double
   BomShl = m_BomShl
End Property

Public Property Get BomBz() As String
   BomBz = m_BomBz
End Property

Public Property Get BomNo() As Double
   BomNo = m_BomNo
End Property

Public Property Let BomA_HwbmCode(vBomA_HwbmCode As String)

   If Trim(vBomA_HwbmCode) = "" Then
      Err.Raise vbObjectError + 1, , "加工件号不能为空"
      Exit Property
   End If
   
   If Trim(vBomA_HwbmCode) <> Trim(m_BomA_HwbmCode) Then
      If HwbmA.Requery(vBomA_HwbmCode) = -1 Then
         Err.Raise vbObjectError + 1, , "无加工件号:" + vBomA_HwbmCode
         Exit Property
      End If
   End If
   
   m_BomA_HwbmNo = HwbmA.HwBmNo
   m_BomA_HwbmMc = HwbmA.HwBmMc
   m_BomA_HwbmCode = vBomA_HwbmCode
   
End Property

Public Property Let BomItem(vBomItem As Integer)
   m_BomItem = vBomItem
End Property

Public Property Let BomC_HwbmCode(vBomC_HwbmCode As String)
   
   If Trim(vBomC_HwbmCode) = "" Then
      Err.Raise vbObjectError + 1, , "部件号不能为空"
      Exit Property
   End If
   
   If m_BomA_HwbmCode <> "" Then
      If vBomC_HwbmCode = m_BomA_HwbmCode Then
         Err.Raise vbObjectError + 1, , "部件号不能和组装件号相同"
         Exit Property
      End If
   End If
   
   If m_BomC_HwbmCode <> vBomC_HwbmCode Then
      If HwbmC.Requery(vBomC_HwbmCode) = -1 Then
         Err.Raise vbObjectError + 1, , "无部件编号:" + vBomC_HwbmCode
         Exit Property
      End If
   End If
   
   m_BomC_HwbmNo = HwbmC.HwBmNo
   m_BomC_HwbmMc = HwbmC.HwBmMc
   m_Bom_HwDwCode = HwbmC.HwBm_HwDwCode
   
   m_BomC_HwbmCode = vBomC_HwbmCode

End Property

Public Property Let BomQty(vBomQty As Double)

   If vBomQty < 0 Then
      Err.Raise vbObjectError + 1, , "单位用量不能小于零!"
      Exit Property
   End If
   
   m_BomQty = vBomQty
   
End Property

Public Property Let BomShl(vBomShl As Double)

   If vBomShl < 0 Or vBomShl >= 1 Then
      Err.Raise vbObjectError + 1, , "损耗率不能小于0或大于等于1"
      Exit Property
   End If
   
   m_BomShl = vBomShl

End Property

Public Property Let BomBz(vBomBz As String)
   m_BomBz = vBomBz
End Property

Public Sub Save()
   Dim Cmd As ADODB.Command
On Error GoTo ErrorHandle

   Set Cmd = New ADODB.Command
   Set Cmd.ActiveConnection = gDbCommon.Conn
   
   If m_Bom_Id = -1 Then
   
      Cmd.CommandText = gPublicFunction.GetCallSPString("BOMREC_INSERT", 7)
      
      Cmd(0) = m_BomA_HwbmNo
      Cmd(1) = m_BomItem
      Cmd(2) = m_BomC_HwbmNo
      Cmd(3) = m_BomQty
      Cmd(4) = m_BomShl
      Cmd(5) = m_BomBz
      Cmd(6).Direction = adParamOutput

   Else
   
      Cmd.CommandText = gPublicFunction.GetCallSPString("bomrec_update", 6)
      
      Cmd(0) = m_BomNo
      Cmd(1) = m_BomItem
      Cmd(2) = m_BomC_HwbmNo
      Cmd(3) = m_BomQty
      Cmd(4) = m_BomShl
      Cmd(5) = m_BomBz

   End If
   
   Cmd.Execute
   
   If m_Bom_Id = -1 Then
      m_Bom_Id = 1
      m_BomNo = Cmd(6)
   End If
   
   Set Cmd = Nothing

Exit Sub
ErrorHandle:
   Set Cmd = Nothing
   Err.Raise vbObjectError + 1, , gDbCommon.Conn.Errors(0)
End Sub

Public Sub Del()
   Dim Cmd As ADODB.Command
On Error GoTo ErrorHandle

   Set Cmd = New ADODB.Command
   Set Cmd.ActiveConnection = gDbCommon.Conn
   
   Cmd.CommandText = "{call bomrec_delete(?)}"
   
   Cmd(0) = m_BomNo
   
   gDbCommon.Conn.BeginTrans
   Cmd.Execute
   gDbCommon.Conn.CommitTrans

   Set Cmd = Nothing

Exit Sub
ErrorHandle:
   Set Cmd = Nothing
   gDbCommon.Conn.RollbackTrans
   Err.Raise vbObjectError + 1, , gDbCommon.Conn.Errors(0)
End Sub

Public Sub BatchLet(ParamArray Properties())
   
   m_BomLevel = Properties(0)
   
   m_BomA_HwbmNo = Properties(1)
   m_BomA_HwbmCode = Properties(2)
   m_BomA_HwbmMc = Properties(3)
 
   m_BomItem = Properties(4)
   
   m_BomC_HwbmNo = Properties(5)
   m_BomC_HwbmCode = Properties(6)
   m_BomC_HwbmMc = Properties(7)
   
   m_Bom_HwDwCode = Properties(8)
   
   m_BomQty = Properties(9)
   m_BomShl = Properties(10)
   
   m_BomBz = Properties(11)
   
   m_BomNo = Properties(12)
   
   m_Bom_Id = 1
   
End Sub



⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -