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

📄 apivd.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 = "Apivd"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = True
Attribute VB_PredeclaredId = False
Attribute VB_Exposed = True
Option Explicit

Dim m_Apivdh As Apivdh
Dim m_Apivrs As Apivrs

Dim m_Hwbm As Hwbm
Dim m_HwDw As HwDw
Dim m_CwSm As CwSm

Dim m_Apivd_Apivdhno As Double

Dim m_Apivd_HwBmCode As String
Dim m_Apivd_HwBmMc As String
Dim m_Apivd_HwBmno As Double

Dim m_Apivd_HwDwCode As String
Dim m_Apivd_HwDwNo As Double
Dim m_Apivd_HwDwConv As Double

Dim m_ApivdQty As Double
Dim m_ApivdPrice As Double
Dim m_ApivdAmt As Double

Dim m_ApivdNtAmt As Double
Dim m_ApivdTAmt As Double

Dim m_Apivd_CwSmCode As String
Dim m_Apivd_CwSmNo As Double
Dim m_Apivd_CwSmConv As Double

Dim m_ApivdBz As String

Dim m_ApivdNo As Double

Dim m_ApivdId As Integer
Dim m_ApivdKey As Double

Private Sub Class_Initialize()
   m_ApivdId = -1
End Sub

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

Public Property Get ApivdId() As Integer
   ApivdId = m_ApivdId
End Property

Public Property Let ApivdId(vApivdId As Integer)
   m_ApivdId = vApivdId
End Property

Public Property Get ApivdKey() As Double
   ApivdKey = m_ApivdKey
End Property

Public Property Let ApivdKey(vApivdKey As Double)
   m_ApivdKey = vApivdKey
End Property

Public Property Get Apivdh() As Apivdh
   If m_Apivdh Is Nothing Then
      Set m_Apivdh = New Apivdh
      m_Apivdh.Requery "", m_Apivd_Apivdhno
   End If
   Set Apivdh = m_Apivdh
End Property

Public Property Set Apivdh(vApivdh As Apivdh)
   Set m_Apivdh = vApivdh
End Property

Public Property Get Apivrs() As Apivrs
   If m_Apivrs Is Nothing Then
      Set m_Apivrs = New Apivrs
      If m_ApivdNo <> 0 Then
         m_Apivrs.Fillbydb Me
      End If
   End If
   Set Apivrs = m_Apivrs
End Property

Public Property Get Hwbm() As Hwbm
   If m_Hwbm Is Nothing Then
      Set m_Hwbm = New Hwbm
      If m_Apivd_HwBmCode <> "" Then
         m_Hwbm.Requery m_Apivd_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_Apivd_HwDwCode <> "" Then
         m_HwDw.Requery m_Apivd_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_Apivd_CwSmCode <> "" Then
         m_CwSm.Requery m_Apivd_CwSmCode
      End If
   End If
   Set CwSm = m_CwSm
End Property

Public Property Get Apivd_Apivdhno() As Double
   Apivd_Apivdhno = m_Apivd_Apivdhno
End Property

Public Property Get Apivd_HwBmCode() As String
   Apivd_HwBmCode = m_Apivd_HwBmCode
End Property

Public Property Get Apivd_HwBmMc() As String
   Apivd_HwBmMc = m_Apivd_HwBmMc
End Property

Public Property Get Apivd_HwBmno() As Double
   Apivd_HwBmno = m_Apivd_HwBmno
End Property

Public Property Get Apivd_HwDwCode() As String
   Apivd_HwDwCode = m_Apivd_HwDwCode
End Property

Public Property Get Apivd_HwDwno() As Double
   Apivd_HwDwno = m_Apivd_HwDwNo
End Property

Public Property Get Apivd_HwDwConv() As Double
   Apivd_HwDwConv = m_Apivd_HwDwConv
End Property

Public Property Get ApivdQty() As Double
   ApivdQty = m_ApivdQty
End Property

Public Property Get ApivdPrice() As Double
   ApivdPrice = m_ApivdPrice
End Property

Public Property Get ApivdAmt() As Double
   ApivdAmt = m_ApivdAmt
End Property

Public Property Get ApivdNtAmt() As Double
   ApivdNtAmt = m_ApivdNtAmt
End Property

Public Property Get ApivdTAmt() As Double
   ApivdTAmt = m_ApivdTAmt
End Property

Public Property Get Apivd_CwSmCode() As String
   Apivd_CwSmCode = m_Apivd_CwSmCode
End Property

Public Property Get Apivd_CwSmno() As Double
   Apivd_CwSmno = m_Apivd_CwSmNo
End Property

Public Property Get Apivd_CwsmConv() As Double
   Apivd_CwsmConv = m_Apivd_CwSmConv
End Property

Public Property Get ApivdBz() As String
   ApivdBz = m_ApivdBz
End Property

Public Property Get ApivdNo() As Double
   ApivdNo = m_ApivdNo
End Property

Public Property Let Apivd_HwBmCode(vApivd_HwBmCode As String)
   If Trim(vApivd_HwBmCode) = "" Then
      Err.Raise vbObjectError + 1, , "货物编码不能为空!"
      Exit Property
   End If
   If m_Apivd_HwBmCode <> vApivd_HwBmCode Then
      If Hwbm.Requery(vApivd_HwBmCode) = -1 Then
         Err.Raise vbObjectError + 1, , "录入的货物编码不存在!"
         Exit Property
      End If
      m_Apivd_HwBmno = Hwbm.HwBmNo
      m_Apivd_HwBmMc = Hwbm.HwBmMc
      m_Apivd_HwDwCode = Hwbm.HwBm_HwDwCode
      m_Apivd_HwDwNo = Hwbm.HwBm_HwDwNo
      m_Apivd_HwDwConv = 1
   End If
   m_Apivd_HwBmCode = vApivd_HwBmCode
End Property

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

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

Public Property Let ApivdQty(vApivdQty As Double)
   If vApivdQty < 0 Then
      Err.Raise vbObjectError + 1, , "数量不能小于零!"
      Exit Property
   End If
   m_ApivdNtAmt = Val(Format(vApivdQty * m_ApivdPrice, "##"))
   m_ApivdTAmt = Val(Format(m_ApivdNtAmt * m_Apivd_CwSmConv, "##"))
   m_ApivdAmt = Val(Format(m_ApivdNtAmt + m_ApivdTAmt, "##"))
   m_ApivdQty = vApivdQty
End Property

Public Property Let ApivdPrice(vApivdPrice As Double)
   If vApivdPrice < 0 Then
      Err.Raise vbObjectError + 1, , "单价不能小于零!"
      Exit Property
   End If
   m_ApivdNtAmt = Val(Format(m_ApivdQty * vApivdPrice, "##"))
   m_ApivdTAmt = Val(Format(m_ApivdNtAmt * m_Apivd_CwSmConv, "##"))
   m_ApivdAmt = Val(Format(m_ApivdNtAmt + m_ApivdTAmt, "##"))
   m_ApivdPrice = vApivdPrice
End Property

Public Property Let ApivdNtAmt(vApivdNtAmt As Double)
   If vApivdNtAmt < 0 Then
      Err.Raise vbObjectError + 1, , "不含税金额不能小于零!"
      Exit Property
   End If
   m_ApivdTAmt = Val(Format(vApivdNtAmt * m_Apivd_CwSmConv, "##"))
   m_ApivdAmt = Val(Format(vApivdNtAmt + m_ApivdTAmt, "##"))
   If m_ApivdQty <> 0 Then
      m_ApivdPrice = Val(Format(vApivdNtAmt / m_ApivdQty, "########"))
   End If
   m_ApivdNtAmt = vApivdNtAmt
End Property

Public Property Let ApivdAmt(vApivdAmt As Double)
   If vApivdAmt < 0 Then
      Err.Raise vbObjectError + 1, , "总金额不能小于零!"
      Exit Property
   End If
   m_ApivdNtAmt = Val(Format(vApivdAmt / (1 + m_Apivd_CwSmConv), "##"))
   m_ApivdTAmt = Val(Format(vApivdAmt - m_ApivdNtAmt, "##"))
   If m_ApivdQty <> 0 Then
      m_ApivdPrice = Val(Format(m_ApivdNtAmt / m_ApivdQty, "########"))
   End If
   m_ApivdAmt = vApivdAmt
End Property

Public Property Let Apivd_CwSmCode(vApivd_CwSmCode As String)

   If Trim(vApivd_CwSmCode) = "" Then
      Err.Raise vbObjectError + 1, , "税码不能为空!"
      Exit Property
   End If
   
   If m_Apivd_CwSmCode <> vApivd_CwSmCode Then
      If CwSm.Requery(vApivd_CwSmCode) = -1 Then
         Err.Raise vbObjectError + 1, , "录入的税码不存在!"
         Exit Property
      End If
      
      m_ApivdTAmt = Val(Format(m_ApivdNtAmt * CwSm.CwsmSl, "##"))
      m_ApivdAmt = Val(Format(m_ApivdNtAmt + m_ApivdTAmt, "##"))
      If m_ApivdQty <> 0 Then
         m_ApivdPrice = Val(Format(m_ApivdNtAmt / m_ApivdQty, "########"))
      End If
      
      m_Apivd_CwSmConv = CwSm.CwsmSl
      m_Apivd_CwSmNo = CwSm.CwsmNo
      
   End If
   
   m_Apivd_CwSmCode = vApivd_CwSmCode
   
End Property

Public Property Let ApivdBz(vApivdDBz As String)
   m_ApivdBz = vApivdDBz
End Property

Public Sub Save()
   Dim Cmd As ADODB.Command
   Dim mApivr As Apivr
On Error GoTo Errorhandle
      
   Set Cmd = New ADODB.Command
   Set Cmd.ActiveConnection = gDbCommon.Conn
           
   If m_ApivdId = -1 Then
   
      Cmd.CommandText = gPublicFunction.GetCallSPString("APIVDREC_INSERT", 13)
      Cmd(0) = m_Apivdh.ApivdhNo
      Cmd(1) = m_Apivd_HwBmno
      Cmd(2) = m_Apivd_HwDwNo
      Cmd(3) = m_Apivd_HwDwConv
      Cmd(4) = m_ApivdQty
      Cmd(5) = m_ApivdPrice
      Cmd(6) = m_ApivdNtAmt
      Cmd(7) = m_ApivdTAmt
      Cmd(8) = m_ApivdAmt
      Cmd(9) = m_Apivd_CwSmNo
      Cmd(10) = m_Apivd_CwSmConv
      Cmd(11) = m_ApivdBz
      Cmd(12).Direction = adParamOutput   'ApivdNo
   
      Cmd.Execute
      m_ApivdNo = Cmd(12)
      Apivrs.Save
      m_ApivdId = 1
   
   Else
   
      Cmd.CommandText = gPublicFunction.GetCallSPString("APIVDREC_UPDATE", 12)
      Cmd(0) = m_ApivdNo
      Cmd(1) = m_Apivd_HwBmno
      Cmd(2) = m_Apivd_HwDwNo
      Cmd(3) = m_Apivd_HwDwConv
      Cmd(4) = m_ApivdQty
      Cmd(5) = m_ApivdPrice
      Cmd(6) = m_ApivdNtAmt
      Cmd(7) = m_ApivdTAmt
      Cmd(8) = m_ApivdAmt
      Cmd(9) = m_Apivd_CwSmNo
      Cmd(10) = m_Apivd_CwSmConv
      Cmd(11) = m_ApivdBz
      
      Cmd.Execute
      
   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 "APIVDREC", "APIVDNO", CStr(m_ApivdNo)
   
On Error GoTo Errorhandle

   Set Cmd = New ADODB.Command
   Set Cmd.ActiveConnection = gDbCommon.Conn
      
   Cmd.CommandText = "{CALL ApivdREC_DELETE(?)}"
   Cmd(0) = m_ApivdNo
   
   gDbCommon.Conn.BeginTrans
   Cmd.Execute
   If Apivdh.Apivds.Count = 1 Then
      Apivdh.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(vApivdNo As Double) As Integer
   Dim mRs As DbRs
   Dim mSqlStr As String
On Error GoTo Errorhandle
   Requery = -1
   
   Set mRs = New DbRs
   
   mSqlStr = "SELECT Apivd_ApivdHNO,Apivd_HwBmCode=COALESCE((SELECT HwBmCode FROM HWBMREC WHERE HWBMNO=Apivd_HWBMNO),''),Apivd_HwBmMc=COALESCE((SELECT HwBmMc FROM HWBMREC WHERE HWBMNO=Apivd_HWBMNO),''),Apivd_HWBMNO,"
   mSqlStr = mSqlStr & "Apivd_HwDwCode=COALESCE((SELECT HWDWCode FROM HWDWREC WHERE HWDWNO=Apivd_HWDWNO),''),Apivd_HWDWNO,Apivd_HWDWCONV,"
   mSqlStr = mSqlStr & "ApivdQTY,ApivdPRICE,ApivdNtAmt,ApivdTAMT,ApivdAMT,"
   mSqlStr = mSqlStr & "Apivd_CWSMCODE=COALESCE((SELECT CWSMCODE FROM CWSMREC WHERE CWSMNO=Apivd_CWSMNO),''),Apivd_CWSMNO,Apivd_CWSMCONV,"
   mSqlStr = mSqlStr & "ApivdBZ,ApivdNO FROM ApivdREC WHERE ApivdNO=" & CStr(vApivdNo)
   
   mRs.Fillbydb mSqlStr
   
   If Not mRs.EOF Then
      BatchLet mRs!Apivd_Apivdhno, mRs!Apivd_HwBmCode, mRs!Apivd_HwBmMc, mRs!Apivd_HwBmno, _
               mRs!Apivd_HwDwCode, mRs!Apivd_HwDwno, mRs!Apivd_HwDwConv, _
               mRs!ApivdQty, mRs!ApivdPrice, mRs!ApivdNtAmt, mRs!ApivdTAmt, mRs!ApivdAmt, _
               mRs!Apivd_CwSmCode, mRs!Apivd_CwSmno, mRs!Apivd_CwsmConv, _
               mRs!ApivdBz, mRs!ApivdNo
   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_Apivd_Apivdhno = Properties(0)
   
   m_Apivd_HwBmCode = Properties(1)
   m_Apivd_HwBmMc = Properties(2)
   m_Apivd_HwBmno = Properties(3)
   
   m_Apivd_HwDwCode = Properties(4)
   m_Apivd_HwDwNo = Properties(5)
   m_Apivd_HwDwConv = Properties(6)
   
   m_ApivdQty = Properties(7)
   m_ApivdPrice = Properties(8)
   m_ApivdNtAmt = Properties(9)
   m_ApivdTAmt = Properties(10)
   m_ApivdAmt = Properties(11)
   
   m_Apivd_CwSmCode = Properties(12)
   m_Apivd_CwSmNo = Properties(13)
   m_Apivd_CwSmConv = Properties(14)
   
   m_ApivdBz = Properties(15)
   m_ApivdNo = Properties(16)

   m_ApivdId = 1

End Sub



⌨️ 快捷键说明

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