📄 hwod.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 = "Hwod"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = True
Attribute VB_PredeclaredId = False
Attribute VB_Exposed = True
Option Explicit
Dim m_Hwodh As Hwodh
Dim m_Hwbm As Hwbm
Dim m_HwCk As HwCk
Dim m_HwDw As HwDw
Dim m_Hwod_Hwodhno As Double
Dim m_Hwod_HwBmCode As String
Dim m_Hwod_HwBmMc As String
Dim m_Hwod_HwBmno As Double
Dim m_Hwod_HwCkMc As String
Dim m_Hwod_HwCkno As Double
Dim m_Hwod_HwDwCode As String
Dim m_Hwod_HwDwNo As Double
Dim m_Hwod_HwDwConv As Double
Dim m_HwodQty As Double
Dim m_HwodPrice As Double
Dim m_HwodAmt As Double
Dim m_HwodMono As Double
Dim m_HwodMioNo As Double
Dim m_HwodBz As String
Dim m_HwodNo As Double
Dim m_HwodId As Integer
Dim m_HwodKey As Double
Private Sub Class_Initialize()
m_HwodId = -1
End Sub
Public Property Get Name() As String
Name = "Hwod"
End Property
Public Property Get HwodId() As Integer
HwodId = m_HwodId
End Property
Public Property Let HwodId(vHwodId As Integer)
m_HwodId = vHwodId
End Property
Public Property Get HwodKey() As Double
HwodKey = m_HwodKey
End Property
Public Property Let HwodKey(vHwodKey As Double)
m_HwodKey = vHwodKey
End Property
Public Property Get Hwodh() As Hwodh
If m_Hwodh Is Nothing Then
Set m_Hwodh = New Hwodh
m_Hwodh.Requery "", m_Hwod_Hwodhno
End If
Set Hwodh = m_Hwodh
End Property
Public Property Set Hwodh(vHwodh As Hwodh)
Set m_Hwodh = vHwodh
End Property
Public Property Get Hwbm() As Hwbm
If m_Hwbm Is Nothing Then
Set m_Hwbm = New Hwbm
If m_Hwod_HwBmCode <> "" Then
m_Hwbm.Requery m_Hwod_HwBmCode
End If
End If
Set Hwbm = m_Hwbm
End Property
Public Property Get HwCk() As HwCk
If m_HwCk Is Nothing Then
Set m_HwCk = New HwCk
If m_Hwod_HwCkMc <> "" Then
m_HwCk.Requery m_Hwod_HwCkMc
End If
End If
Set HwCk = m_HwCk
End Property
Public Property Get HwDw() As HwDw
If m_HwDw Is Nothing Then
Set m_HwDw = New HwDw
If m_Hwod_HwDwCode <> "" Then
m_HwDw.Requery m_Hwod_HwDwCode
End If
End If
Set HwDw = m_HwDw
End Property
Public Property Get Hwod_Hwodhno() As Double
Hwod_Hwodhno = m_Hwod_Hwodhno
End Property
Public Property Get Hwod_HwBmCode() As String
Hwod_HwBmCode = m_Hwod_HwBmCode
End Property
Public Property Get Hwod_HwBmMc() As String
Hwod_HwBmMc = m_Hwod_HwBmMc
End Property
Public Property Get Hwod_HwBmno() As Double
Hwod_HwBmno = m_Hwod_HwBmno
End Property
Public Property Get Hwod_HwCkMc() As String
Hwod_HwCkMc = m_Hwod_HwCkMc
End Property
Public Property Get Hwod_HwCkno() As Double
Hwod_HwCkno = m_Hwod_HwCkno
End Property
Public Property Get Hwod_HwDwCode() As String
Hwod_HwDwCode = m_Hwod_HwDwCode
End Property
Public Property Get Hwod_HwDwno() As Double
Hwod_HwDwno = m_Hwod_HwDwNo
End Property
Public Property Get Hwod_HwDwConv() As Double
Hwod_HwDwConv = m_Hwod_HwDwConv
End Property
Public Property Get HwodQty() As Double
HwodQty = m_HwodQty
End Property
Public Property Get HwodPrice() As Double
HwodPrice = m_HwodPrice
End Property
Public Property Get HwodAmt() As Double
HwodAmt = m_HwodAmt
End Property
Public Property Get HwodBz() As String
HwodBz = m_HwodBz
End Property
Public Property Get HwodMono() As Double
HwodMono = m_HwodMono
End Property
Public Property Get HwodMioNo() As Double
HwodMioNo = m_HwodMioNo
End Property
Public Property Get HwodNo() As Double
HwodNo = m_HwodNo
End Property
Public Property Let Hwod_HwBmCode(vHwod_HwBmCode As String)
If Trim(vHwod_HwBmCode) = "" Then
Err.Raise vbObjectError + 1, , "货物编码不能为空!"
Exit Property
End If
If m_Hwod_HwBmCode <> vHwod_HwBmCode Then
If Hwbm.Requery(vHwod_HwBmCode) = -1 Then
Err.Raise vbObjectError + 1, , "录入的货物编码不存在!"
Exit Property
End If
m_Hwod_HwBmno = Hwbm.HwBmNo
m_Hwod_HwBmMc = Hwbm.HwBmMc
m_Hwod_HwDwCode = Hwbm.HwBm_HwDwCode
m_Hwod_HwDwNo = Hwbm.HwBm_HwDwNo
m_Hwod_HwDwConv = 1
End If
m_Hwod_HwBmCode = vHwod_HwBmCode
End Property
Public Property Let Hwod_HwCkMc(vHwod_HwCkMc As String)
If Trim(vHwod_HwCkMc) = "" Then
Err.Raise vbObjectError + 1, , "仓库不能为空!"
Exit Property
End If
If m_Hwod_HwCkMc <> vHwod_HwCkMc Then
If HwCk.Requery(vHwod_HwCkMc) = -1 Then
Err.Raise vbObjectError + 1, , "录入的仓库不存在!"
Exit Property
End If
m_Hwod_HwCkno = HwCk.HwCkNo
End If
m_Hwod_HwCkMc = vHwod_HwCkMc
End Property
Public Property Let Hwod_HwDwCode(vHwod_HwDwCode As String)
If Trim(vHwod_HwDwCode) = "" Then
Err.Raise vbObjectError + 1, , "计量单位不能为空!"
Exit Property
End If
If m_Hwod_HwDwCode <> vHwod_HwDwCode Then
If HwDw.Requery(vHwod_HwDwCode) = -1 Then
Err.Raise vbObjectError + 1, , "录入的计量单位不存在!"
Exit Property
End If
m_Hwod_HwDwNo = HwDw.HwDwNo
End If
m_Hwod_HwDwCode = vHwod_HwDwCode
End Property
Public Property Let Hwod_HwDwConv(vHwod_HwdwConv As Double)
If vHwod_HwdwConv <= 0 Then
Err.Raise vbObjectError + 1, , "换算系数必须大于零!"
Exit Property
End If
m_Hwod_HwDwConv = vHwod_HwdwConv
End Property
Public Property Let HwodQty(vHwodQty As Double)
If vHwodQty <= 0 Then
Err.Raise vbObjectError + 1, , "数量必须大于零!"
Exit Property
End If
m_HwodQty = vHwodQty
m_HwodAmt = Val(Format(vHwodQty * m_HwodPrice, "##"))
End Property
Public Property Let HwodPrice(vHwodPrice As Double)
If vHwodPrice < 0 Then
Err.Raise vbObjectError + 1, , "单价不能小于零!"
Exit Property
End If
m_HwodPrice = vHwodPrice
m_HwodAmt = Val(Format(vHwodPrice * m_HwodQty, "##"))
End Property
Public Property Let HwodAmt(vHwodAmt As Double)
If vHwodAmt < 0 Then
Err.Raise vbObjectError + 1, , "金额不能小于零!"
Exit Property
End If
m_HwodAmt = vHwodAmt
End Property
Public Property Let HwodBz(vHwodDBz As String)
m_HwodBz = vHwodDBz
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_HwodId = -1 Then
Cmd.CommandText = gPublicFunction.GetCallSPString("HwodREC_INSERT", 12)
Cmd(0) = m_Hwodh.HwodhNo
Cmd(1) = m_Hwod_HwBmno
Cmd(2) = m_Hwod_HwDwNo
Cmd(3) = m_Hwod_HwDwConv
Cmd(4) = m_Hwod_HwCkno
Cmd(5) = m_HwodQty
Cmd(6) = m_HwodPrice
Cmd(7) = m_HwodAmt
Cmd(8) = m_HwodBz
Cmd(9).Direction = adParamOutput 'HwodMono
Cmd(10).Direction = adParamOutput 'HwodMono
Cmd(11).Direction = adParamOutput 'HwodNo
Else
Cmd.CommandText = gPublicFunction.GetCallSPString("HwodREC_UPDATE", 9)
Cmd(0) = m_HwodNo
Cmd(1) = m_Hwod_HwBmno
Cmd(2) = m_Hwod_HwDwNo
Cmd(3) = m_Hwod_HwDwConv
Cmd(4) = m_Hwod_HwCkno
Cmd(5) = m_HwodQty
Cmd(6) = m_HwodPrice
Cmd(7) = m_HwodAmt
Cmd(8) = m_HwodBz
End If
Cmd.Execute
If m_HwodId = -1 Then
m_HwodMono = Cmd(9)
m_HwodMioNo = Cmd(10)
m_HwodNo = Cmd(11)
m_HwodId = 1
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
gPublicFunction.CheckCanBeDelete "HWODREC", "HWODNO", CStr(m_HwodNo)
On Error GoTo Errorhandle
Set Cmd = New ADODB.Command
Set Cmd.ActiveConnection = gDbCommon.Conn
Cmd.CommandText = "{CALL HwodREC_DELETE(?)}"
Cmd(0) = m_HwodNo
gDbCommon.Conn.BeginTrans
Cmd.Execute
If Hwodh.Hwods.Count = 1 Then
Hwodh.Del 1
End If
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 Function Requery(vHwodNo As Double) As Integer
Dim mRs As DbRs
Dim mSqlStr As String
On Error GoTo Errorhandle
Requery = -1
Set mRs = New DbRs
mSqlStr = "SELECT Hwod_HwodHNO,Hwod_HwBmCode=COALESCE((SELECT HwBmCode FROM HWBMREC WHERE HWBMNO=Hwod_HWBMNO),''),Hwod_HwBmMc=COALESCE((SELECT HwBmMc FROM HWBMREC WHERE HWBMNO=Hwod_HWBMNO),''),Hwod_HWBMNO,"
mSqlStr = mSqlStr & "Hwod_HwCkMc=COALESCE((SELECT HwCkMc FROM HWCKREC WHERE HWCKNO=Hwod_HWCKNO),''),Hwod_HWCKNO,"
mSqlStr = mSqlStr & "Hwod_HwDwCode=COALESCE((SELECT HWDWCode FROM HWDWREC WHERE HWDWNO=Hwod_HWDWNO),''),Hwod_HWDWNO,Hwod_HWDWCONV,"
mSqlStr = mSqlStr & "HwodQTY,HwodPRICE,HwodAMT,HwodBZ,HwodMono,HwodMIONO,HwodNO FROM HwodREC WHERE HwodNO=" & CStr(vHwodNo)
mRs.Fillbydb mSqlStr
If Not mRs.EOF Then
BatchLet mRs!Hwod_Hwodhno, mRs!Hwod_HwBmCode, mRs!Hwod_HwBmMc, mRs!Hwod_HwBmno, _
mRs!Hwod_HwCkMc, mRs!Hwod_HwCkno, mRs!Hwod_HwDwCode, mRs!Hwod_HwDwno, mRs!Hwod_HwDwConv, _
mRs!HwodQty, mRs!HwodPrice, mRs!HwodAmt, _
mRs!HwodBz, mRs!HwodMono, mRs!HwodMioNo, mRs!HwodNo
End If
Set mRs = Nothing
Exit Function
Errorhandle:
Set mRs = Nothing
Err.Raise vbObjectError + 1, , Err.Description
End Function
Public Sub BatchLet(ParamArray Properties() As Variant)
m_Hwod_Hwodhno = Properties(0)
m_Hwod_HwBmCode = Properties(1)
m_Hwod_HwBmMc = Properties(2)
m_Hwod_HwBmno = Properties(3)
m_Hwod_HwCkMc = Properties(4)
m_Hwod_HwCkno = Properties(5)
m_Hwod_HwDwCode = Properties(6)
m_Hwod_HwDwNo = Properties(7)
m_Hwod_HwDwConv = Properties(8)
m_HwodQty = Properties(9)
m_HwodPrice = Properties(10)
m_HwodAmt = Properties(11)
m_HwodBz = Properties(12)
m_HwodMono = Properties(13)
m_HwodMioNo = Properties(14)
m_HwodNo = Properties(15)
m_HwodId = 1
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -