cgshd.cls

来自「制造业产供销与往来系统源码,包括进销存及全部控件!」· CLS 代码 · 共 555 行 · 第 1/2 页

CLS
555
字号
End Property

Public Property Let CgShd_HwCkMc(vCgShd_HwCkMc As String)
   If Trim(vCgShd_HwCkMc) = "" Then
      Err.Raise vbObjectError + 1, , "仓库不能为空!"
      Exit Property
   End If
   If m_CgShd_HwCkMc <> vCgShd_HwCkMc Then
      If HwCk.Requery(vCgShd_HwCkMc) = -1 Then
         Err.Raise vbObjectError + 1, , "录入的仓库不存在!"
         Exit Property
      End If
      m_CgShd_HwCkno = HwCk.HwCkNo
   End If
   m_CgShd_HwCkMc = vCgShd_HwCkMc
End Property

Public Property Let CgShd_HwDwCode(vCgShd_HwDwCode As String)
   If Trim(vCgShd_HwDwCode) = "" Then
      Err.Raise vbObjectError + 1, , "计量单位不能为空!"
      Exit Property
   End If
   If m_CgShd_HwDwCode <> vCgShd_HwDwCode Then
      If HwDw.Requery(vCgShd_HwDwCode) = -1 Then
         Err.Raise vbObjectError + 1, , "录入的计量单位不存在!"
         Exit Property
      End If
      m_CgShd_HwDwNo = HwDw.HwDwNo
   End If
   m_CgShd_HwDwCode = vCgShd_HwDwCode
End Property

Public Property Let CgShd_HwDwConv(vCgShd_HwdwConv As Double)
   If vCgShd_HwdwConv <= 0 Then
      Err.Raise vbObjectError + 1, , "换算系数必须大于零!"
      Exit Property
   End If
   m_CgShd_HwDwConv = vCgShd_HwdwConv
End Property

Public Property Let CgShdQty(vCgShdQty As Double)
   If vCgShdQty <= 0 Then
      Err.Raise vbObjectError + 1, , "数量必须大于零!"
      Exit Property
   End If
   m_CgShdQty = vCgShdQty
   m_CgShdAmt = Val(Format(vCgShdQty * m_CgShdPrice, "##"))
   m_CgShdTAmt = Val(Format(m_CgShdAmt + m_CgShdQAmt, "##"))
End Property

Public Property Let CgShdPrice(vCgShdPrice As Double)
   If vCgShdPrice < 0 Then
      Err.Raise vbObjectError + 1, , "单价不能小于零!"
      Exit Property
   End If
   m_CgShdPrice = vCgShdPrice
   m_CgShdAmt = Val(Format(vCgShdPrice * m_CgShdQty, "##"))
   m_CgShdTAmt = Val(Format(m_CgShdAmt + m_CgShdQAmt, "##"))
End Property

Public Property Let CgShdAmt(vCgShdAmt As Double)
   If vCgShdAmt < 0 Then
      Err.Raise vbObjectError + 1, , "采购金额不能小于零!"
      Exit Property
   End If
   m_CgShdAmt = vCgShdAmt
   m_CgShdTAmt = Val(Format(m_CgShdAmt + m_CgShdQAmt, "##"))
End Property

Public Property Let CgShdQAmt(vCgShdQAmt As Double)
   If vCgShdQAmt < 0 Then
      Err.Raise vbObjectError + 1, , "其它费用金额不能小于零!"
      Exit Property
   End If
   m_CgShdQAmt = vCgShdQAmt
   m_CgShdTAmt = Val(Format(m_CgShdAmt + m_CgShdQAmt, "##"))
End Property

Public Property Let CgShdTAmt(vCgShdTAmt As Double)
   If vCgShdTAmt < 0 Then
      Err.Raise vbObjectError + 1, , "总金额不能小于零!"
      Exit Property
   End If
   m_CgShdTAmt = vCgShdTAmt
End Property

Public Property Let CgShd_CwSmCode(vCgShd_CwSmCode As String)
   If Trim(vCgShd_CwSmCode) = "" Then
      Err.Raise vbObjectError + 1, , "税码不能为空!"
      Exit Property
   End If
   If m_CgShd_CwSmCode <> vCgShd_CwSmCode Then
      If CwSm.Requery(vCgShd_CwSmCode) = -1 Then
         Err.Raise vbObjectError + 1, , "录入的税码不存在!"
         Exit Property
      End If
      m_CgShd_CwSmNo = CwSm.CwsmNo
      m_CgShd_CwSmConv = CwSm.CwsmSl
   End If
   m_CgShd_CwSmCode = vCgShd_CwSmCode
End Property

Public Property Let CgShdBz(vCgShdDBz As String)
   m_CgShdBz = vCgShdDBz
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_CgShdId = -1 Then
      Cmd.CommandText = gPublicFunction.GetCallSPString("CGSHDREC_INSERT", 20)
      Cmd(0) = m_CgShdh.CgShdhNo
      Cmd(1) = m_CgShd_CgPodno
      Cmd(2) = m_CgShd_HwBmno
      Cmd(3) = m_CgShd_HwDwNo
      Cmd(4) = m_CgShd_HwDwConv
      Cmd(5) = m_CgShd_HwCkno
      Cmd(6) = m_CgShdQty
      Cmd(7) = m_CgShdPrice
      Cmd(8) = m_CgShdAmt
      Cmd(9) = m_CgShdQAmt
      Cmd(10) = m_CgShdTAmt
      Cmd(11).Direction = adParamOutput 'm_CgShdIPrice
      Cmd(12).Direction = adParamOutput 'm_CgShdIAmt
      Cmd(13).Direction = adParamOutput 'm_CgShd_CwBzConv
      Cmd(14) = m_CgShd_CwSmNo
      Cmd(15) = m_CgShd_CwSmConv
      Cmd(16) = m_CgShdBz
      Cmd(17).Direction = adParamOutput 'CgShd_CgApNo
      Cmd(18).Direction = adParamOutput 'CgShdMiono
      Cmd(19).Direction = adParamOutput   'CgShdNo
   Else
      Cmd.CommandText = gPublicFunction.GetCallSPString("CGSHDREC_UPDATE", 16)
      Cmd(0) = m_CgShdNo
      Cmd(1) = m_CgShd_HwBmno
      Cmd(2) = m_CgShd_HwDwNo
      Cmd(3) = m_CgShd_HwDwConv
      Cmd(4) = m_CgShd_HwCkno
      Cmd(5) = m_CgShdQty
      Cmd(6) = m_CgShdPrice
      Cmd(7) = m_CgShdAmt
      Cmd(8) = m_CgShdQAmt
      Cmd(9) = m_CgShdTAmt
      Cmd(10).Direction = adParamOutput 'm_CgShdIPrice
      Cmd(11).Direction = adParamOutput 'm_CgShdIAmt
      Cmd(12).Direction = adParamOutput 'm_CgShd_CwBzConv
      Cmd(13) = m_CgShd_CwSmNo
      Cmd(14) = m_CgShd_CwSmConv
      Cmd(15) = m_CgShdBz
   End If
   
   Cmd.Execute
   
   If m_CgShdId = -1 Then
      m_CgShdIPrice = Cmd(11)
      m_CgShdIAmt = Cmd(12)
      m_CgShd_CwBzConv = Cmd(13)
      m_CgShd_CgApNo = Cmd(17)
      m_CgShdMioNo = Cmd(18)
      m_CgShdNo = Cmd(19)
      m_CgShdId = 1
   Else
      m_CgShdIPrice = Cmd(10)
      m_CgShdIAmt = Cmd(11)
      m_CgShd_CwBzConv = Cmd(12)
   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 "CGSHDREC", "CGSHDNO", CStr(m_CgShdNo)
   
On Error GoTo Errorhandle

   Set Cmd = New ADODB.Command
   Set Cmd.ActiveConnection = gDbCommon.Conn
      
   Cmd.CommandText = "{CALL CgShdREC_DELETE(?)}"
   Cmd(0) = m_CgShdNo
   
   gDbCommon.Conn.BeginTrans
   Cmd.Execute
   If CgShdh.CgShds.Count = 1 Then
      CgShdh.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(vCgShdNo As Double) As Integer
   Dim mRs As DbRs
   Dim mSqlStr As String
On Error GoTo Errorhandle
   Requery = -1
   
   Set mRs = New DbRs
   
   mSqlStr = "SELECT CgShd_CgShdHNO,CgShd_CgPodDOCNO=COALESCE((SELECT CgPodHDOCNO FROM CgPodHREC,CgPodREC WHERE CgPodNO=CgShd_CgPodNO AND CgPodHNO=CgPod_CgPodHNO),''),CgShd_CgPodNO,"
   mSqlStr = mSqlStr & "CgShd_HwBmCode=COALESCE((SELECT HwBmCode FROM HWBMREC WHERE HWBMNO=CGSHD_HWBMNO),''),CgShd_HwBmMc=COALESCE((SELECT HwBmMc FROM HWBMREC WHERE HWBMNO=CGSHD_HWBMNO),''),CgShd_HWBMNO,"
   mSqlStr = mSqlStr & "CgShd_HwCkMc=COALESCE((SELECT HwCkMc FROM HWCKREC WHERE HWCKNO=CGSHD_HWCKNO),''),CgShd_HWCKNO,"
   mSqlStr = mSqlStr & "CgShd_HwDwCode=COALESCE((SELECT HWDWCode FROM HWDWREC WHERE HWDWNO=CGSHD_HWDWNO),''),CgShd_HWDWNO,CGSHD_HWDWCONV,"
   mSqlStr = mSqlStr & "CgShdQTY,CgShdPRICE,CgShdAMT,CGSHDQAMT,CGSHDTAMT,CGSHDIPRICE,CGSHDIAMT,CGSHD_CWBZCONV,"
   mSqlStr = mSqlStr & "CGSHD_CWSMCODE=COALESCE((SELECT CWSMCODE FROM CWSMREC WHERE CWSMNO=CGSHD_CWSMNO),''),CGSHD_CWSMNO,CGSHD_CWSMCONV,"
   mSqlStr = mSqlStr & "CgShdBZ,CgShd_CgApNo,CGSHDMIONO,CgShdNO FROM CgShdREC WHERE CgShdNO=" & CStr(vCgShdNo)
   
   mRs.Fillbydb mSqlStr
   
   If Not mRs.EOF Then
      BatchLet mRs!CgShd_CgShdhno, mRs!CgShd_CgPodDocno, mRs!CgShd_CgPodno, mRs!CgShd_HwBmCode, mRs!CgShd_HwBmMc, mRs!CgShd_HwBmno, _
               mRs!CgShd_HwCkMc, mRs!CgShd_HwCkno, mRs!CgShd_HwDwCode, mRs!CgShd_HwDwno, mRs!CgShd_HwDwConv, _
               mRs!CgShdQty, mRs!CgShdPrice, mRs!CgShdAmt, mRs!CgShdQAmt, mRs!CgShdTAmt, mRs!CgShdIPrice, mRs!CgShdIAmt, _
               mRs!cgshd_cwbzconv, mRs!CgShd_CwSmCode, mRs!CgShd_CwSmno, mRs!CgShd_CwsmConv, _
               mRs!CgShdBz, mRs!CgShd_CgApNo, mRs!CgShdMioNo, mRs!CgShdNo
   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_CgShd_CgShdhno = Properties(0)
   m_CgShd_CgPodDocno = Properties(1)
   m_CgShd_CgPodno = Properties(2)
   m_CgShd_HwBmCode = Properties(3)
   m_CgShd_HwBmMc = Properties(4)
   m_CgShd_HwBmno = Properties(5)
   m_CgShd_HwCkMc = Properties(6)
   m_CgShd_HwCkno = Properties(7)
   m_CgShd_HwDwCode = Properties(8)
   m_CgShd_HwDwNo = Properties(9)
   m_CgShd_HwDwConv = Properties(10)
   m_CgShdQty = Properties(11)
   m_CgShdPrice = Properties(12)
   m_CgShdAmt = Properties(13)
   m_CgShdQAmt = Properties(14)
   m_CgShdTAmt = Properties(15)
   m_CgShdIPrice = Properties(16)
   m_CgShdIAmt = Properties(17)
   m_CgShd_CwBzConv = Properties(18)
   m_CgShd_CwSmCode = Properties(19)
   m_CgShd_CwSmNo = Properties(20)
   m_CgShd_CwSmConv = Properties(21)
   m_CgShdBz = Properties(22)
   m_CgShd_CgApNo = Properties(23)
   m_CgShdMioNo = Properties(24)
   m_CgShdNo = Properties(25)

   m_CgShdId = 1

End Sub



⌨️ 快捷键说明

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