📄 cgpod.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 = "CgPod"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = True
Attribute VB_PredeclaredId = False
Attribute VB_Exposed = True
Option Explicit
Dim m_CgPodh As CgPodh
Dim m_Hwbm As Hwbm
Dim m_HwDw As HwDw
Dim m_CwSm As CwSm
Dim m_CgPod_CgPodhno As Double
Dim m_CgPod_HwBmCode As String
Dim m_CgPod_HwBmMc As String
Dim m_CgPod_HwBmno As Double
Dim m_CgPod_HwDwCode As String
Dim m_CgPod_HwDwNo As Double
Dim m_CgPod_HwDwConv As Double
Dim m_CgPodQty As Double
Dim m_CgPodPrice As Double
Dim m_CgPodAmt As Double
Dim m_CgPodDDat As String
Dim m_CgPod_CwSmCode As String
Dim m_CgPod_CwSmNo As Double
Dim m_CgPodBz As String
Dim m_CgPodNo As Double
Dim m_CgPodId As Integer
Dim m_CgPodKey As Double
Private Sub Class_Initialize()
m_CgPodId = -1
End Sub
Public Property Get Name() As String
Name = "CgPod"
End Property
Public Property Get CgPodId() As Integer
CgPodId = m_CgPodId
End Property
Public Property Let CgPodId(vCgPodId As Integer)
m_CgPodId = vCgPodId
End Property
Public Property Get CgPodKey() As Double
CgPodKey = m_CgPodKey
End Property
Public Property Let CgPodKey(vCgPodKey As Double)
m_CgPodKey = vCgPodKey
End Property
Public Property Get CgPodh() As CgPodh
If m_CgPodh Is Nothing Then
Set m_CgPodh = New CgPodh
m_CgPodh.Requery "", m_CgPod_CgPodhno
End If
Set CgPodh = m_CgPodh
End Property
Public Property Set CgPodh(vCgPodh As CgPodh)
Set m_CgPodh = vCgPodh
End Property
Public Property Get Hwbm() As Hwbm
If m_Hwbm Is Nothing Then
Set m_Hwbm = New Hwbm
If m_CgPod_HwBmCode <> "" Then
m_Hwbm.Requery m_CgPod_HwBmCode
End If
End If
Set Hwbm = m_Hwbm
End Property
Public Property Get HwDw() As HwDw
If m_HwDw Is Nothing Then
Set m_HwDw = New HwDw
If m_CgPod_HwDwCode <> "" Then
m_HwDw.Requery m_CgPod_HwDwCode
End If
End If
Set HwDw = m_HwDw
End Property
Public Property Get CwSm() As CwSm
If m_CwSm Is Nothing Then
Set m_CwSm = New CwSm
If m_CgPod_CwSmCode <> "" Then
m_CwSm.Requery m_CgPod_CwSmCode
End If
End If
Set CwSm = m_CwSm
End Property
Public Property Get CgPod_CgPodhno() As Double
CgPod_CgPodhno = m_CgPod_CgPodhno
End Property
Public Property Get CgPod_HwBmCode() As String
CgPod_HwBmCode = m_CgPod_HwBmCode
End Property
Public Property Get CgPod_HwBmMc() As String
CgPod_HwBmMc = m_CgPod_HwBmMc
End Property
Public Property Get CgPod_HwBmno() As Double
CgPod_HwBmno = m_CgPod_HwBmno
End Property
Public Property Get CgPod_HwDwCode() As String
CgPod_HwDwCode = m_CgPod_HwDwCode
End Property
Public Property Get CgPod_HwDwno() As Double
CgPod_HwDwno = m_CgPod_HwDwNo
End Property
Public Property Get CgPod_HwDwConv() As Double
CgPod_HwDwConv = m_CgPod_HwDwConv
End Property
Public Property Get CgPodQty() As Double
CgPodQty = m_CgPodQty
End Property
Public Property Get CgPodPrice() As Double
CgPodPrice = m_CgPodPrice
End Property
Public Property Get CgPodAmt() As Double
CgPodAmt = m_CgPodAmt
End Property
Public Property Get CgPod_CwSmCode() As String
CgPod_CwSmCode = m_CgPod_CwSmCode
End Property
Public Property Get CgPodDDat() As String
CgPodDDat = m_CgPodDDat
End Property
Public Property Get CgPodBz() As String
CgPodBz = m_CgPodBz
End Property
Public Property Get CgPodNo() As Double
CgPodNo = m_CgPodNo
End Property
Public Property Let CgPod_HwBmCode(vCgPod_HwBmCode As String)
If Trim(vCgPod_HwBmCode) = "" Then
Err.Raise vbObjectError + 1, , "货物编码不能为空!"
Exit Property
End If
If m_CgPod_HwBmCode <> vCgPod_HwBmCode Then
If Hwbm.Requery(vCgPod_HwBmCode) = -1 Then
Err.Raise vbObjectError + 1, , "录入的货物编码不存在!"
Exit Property
End If
m_CgPod_HwBmno = Hwbm.HwBmNo
m_CgPod_HwBmMc = Hwbm.HwBmMc
m_CgPod_HwDwCode = Hwbm.HwBm_HwDwCode
m_CgPod_HwDwNo = Hwbm.HwBm_HwDwNo
m_CgPod_HwDwConv = 1
End If
m_CgPod_HwBmCode = vCgPod_HwBmCode
End Property
Public Property Let CgPod_HwDwCode(vCgPod_HwDwCode As String)
If Trim(vCgPod_HwDwCode) = "" Then
Err.Raise vbObjectError + 1, , "计量单位不能为空!"
Exit Property
End If
If m_CgPod_HwDwCode <> vCgPod_HwDwCode Then
If HwDw.Requery(vCgPod_HwDwCode) = -1 Then
Err.Raise vbObjectError + 1, , "录入的计量单位不存在!"
Exit Property
End If
m_CgPod_HwDwNo = HwDw.HwDwNo
End If
m_CgPod_HwDwCode = vCgPod_HwDwCode
End Property
Public Property Let CgPod_HwDwConv(vCgPod_HwdwConv As Double)
If vCgPod_HwdwConv <= 0 Then
Err.Raise vbObjectError + 1, , "换算系数必须大于零!"
Exit Property
End If
m_CgPod_HwDwConv = vCgPod_HwdwConv
End Property
Public Property Let CgPodQty(vCgPodQty As Double)
If vCgPodQty <= 0 Then
Err.Raise vbObjectError + 1, , "数量必须大于零!"
Exit Property
End If
m_CgPodQty = vCgPodQty
m_CgPodAmt = Val(Format(vCgPodQty * m_CgPodPrice, "##"))
End Property
Public Property Let CgPodPrice(vCgPodPrice As Double)
If vCgPodPrice < 0 Then
Err.Raise vbObjectError + 1, , "单价不能小于零!"
Exit Property
End If
m_CgPodPrice = vCgPodPrice
m_CgPodAmt = Val(Format(vCgPodPrice * m_CgPodQty, "##"))
End Property
Public Property Let CgPodAmt(vCgPodAmt As Double)
If vCgPodAmt < 0 Then
Err.Raise vbObjectError + 1, , "采购金额不能小于零!"
Exit Property
End If
m_CgPodAmt = vCgPodAmt
End Property
Public Property Let CgPod_CwSmCode(vCgPod_CwSmCode As String)
If Trim(vCgPod_CwSmCode) = "" Then
Err.Raise vbObjectError + 1, , "税码不能为空!"
Exit Property
End If
If m_CgPod_CwSmCode <> vCgPod_CwSmCode Then
If CwSm.Requery(vCgPod_CwSmCode) = -1 Then
Err.Raise vbObjectError + 1, , "录入的税码不存在!"
Exit Property
End If
m_CgPod_CwSmNo = CwSm.CwsmNo
End If
m_CgPod_CwSmCode = vCgPod_CwSmCode
End Property
Public Property Let CgPodDDat(vCgPodDDat As String)
If vCgPodDDat = "" Then
m_CgPodDDat = ""
Exit Property
End If
If gPublicFunction.IsDateValid(vCgPodDDat) = 0 Then
Err.Raise vbObjectError + 1, , "采购需求日期不正确!"
Exit Property
End If
m_CgPodDDat = vCgPodDDat
End Property
Public Property Let CgPodBz(vCgPodDBz As String)
m_CgPodBz = vCgPodDBz
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_CgPodId = -1 Then
Cmd.CommandText = gPublicFunction.GetCallSPString("CgPodREC_INSERT", 11)
Cmd(0) = m_CgPodh.CgPodhNo
Cmd(1) = m_CgPod_HwBmno
Cmd(2) = m_CgPod_HwDwNo
Cmd(3) = m_CgPod_HwDwConv
Cmd(4) = m_CgPodQty
Cmd(5) = m_CgPodPrice
Cmd(6) = m_CgPodAmt
Cmd(7) = m_CgPod_CwSmNo
Cmd(8) = m_CgPodDDat
Cmd(9) = m_CgPodBz
Cmd(10).Direction = adParamOutput 'CgPodNo
Else
Cmd.CommandText = gPublicFunction.GetCallSPString("CgPodREC_UPDATE", 10)
Cmd(0) = m_CgPodNo
Cmd(1) = m_CgPod_HwBmno
Cmd(2) = m_CgPod_HwDwNo
Cmd(3) = m_CgPod_HwDwConv
Cmd(4) = m_CgPodQty
Cmd(5) = m_CgPodPrice
Cmd(6) = m_CgPodAmt
Cmd(7) = m_CgPod_CwSmNo
Cmd(8) = m_CgPodDDat
Cmd(9) = m_CgPodBz
End If
Cmd.Execute
If m_CgPodId = -1 Then
m_CgPodNo = Cmd(10)
m_CgPodId = 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 "CGPODREC", "CGPODNO", CStr(m_CgPodNo)
On Error GoTo Errorhandle
Set Cmd = New ADODB.Command
Set Cmd.ActiveConnection = gDbCommon.Conn
Cmd.CommandText = "{CALL CgPodREC_DELETE(?)}"
Cmd(0) = m_CgPodNo
gDbCommon.Conn.BeginTrans
Cmd.Execute
If CgPodh.CgPods.Count = 1 Then
CgPodh.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(vCgPodNo As Double) As Integer
Dim mRs As DbRs
Dim mSqlStr As String
On Error GoTo Errorhandle
Requery = -1
Set mRs = New DbRs
mSqlStr = "SELECT CgPod_CgPodHNO,CgPod_HwBmCode=COALESCE((SELECT HwBmCode FROM HWBMREC WHERE HWBMNO=CgPod_HWBMNO),''),CgPod_HwBmMc=COALESCE((SELECT HwBmMc FROM HWBMREC WHERE HWBMNO=CgPod_HWBMNO),''),CgPod_HWBMNO,"
mSqlStr = mSqlStr & "CgPod_HwDwCode=COALESCE((SELECT HWDWCode FROM HWDWREC WHERE HWDWNO=CgPod_HWDWNO),''),CgPod_HWDWNO,CgPod_HWDWCONV,"
mSqlStr = mSqlStr & "CgPodQTY,CgPodPRICE,CgPodAMT,"
mSqlStr = mSqlStr & "CgPod_CWSMCODE=COALESCE((SELECT CWSMCODE FROM CWSMREC WHERE CWSMNO=CgPod_CWSMNO),''),CgPod_CWSMNO,CGPODDDAT,"
mSqlStr = mSqlStr & "CgPodBZ,CgPodNO FROM CgPodREC WHERE CgPodNO=" & CStr(vCgPodNo)
mRs.Fillbydb mSqlStr
mRs.MoveFirst
If Not mRs.EOF Then
BatchLet mRs!CgPod_CgPodhno, mRs!CgPod_HwBmCode, mRs!CgPod_HwBmMc, mRs!CgPod_HwBmno, _
mRs!CgPod_HwDwCode, mRs!CgPod_HwDwno, mRs!CgPod_HwDwConv, _
mRs!CgPodQty, mRs!CgPodPrice, mRs!CgPodAmt, _
mRs!CgPod_CwSmCode, mRs!CgPod_CwSmno, mRs!CgPodDDat, mRs!CgPodBz, mRs!CgPodNo
Requery = 1
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_CgPod_CgPodhno = Properties(0)
m_CgPod_HwBmCode = Properties(1)
m_CgPod_HwBmMc = Properties(2)
m_CgPod_HwBmno = Properties(3)
m_CgPod_HwDwCode = Properties(4)
m_CgPod_HwDwNo = Properties(5)
m_CgPod_HwDwConv = Properties(6)
m_CgPodQty = Properties(7)
m_CgPodPrice = Properties(8)
m_CgPodAmt = Properties(9)
m_CgPod_CwSmCode = Properties(10)
m_CgPod_CwSmNo = Properties(11)
m_CgPodDDat = Properties(12)
m_CgPodBz = Properties(13)
m_CgPodNo = Properties(14)
m_CgPodId = 1
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -