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

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

Dim m_Kh As Kh
Dim m_CwBz As CwBz
Dim m_CwQj As CwQj

Dim m_CgShds As CgShds

Dim m_CgShdhType As Integer

Dim m_CgShdhDocno As String
Dim m_CgShdhDat As String

Dim m_CgShdh_CwqjCode As String
Dim m_CgShdh_CwqjNo As Double

Dim m_CgShdh_KhCode As String
Dim m_CgShdh_Khno As Double

Dim m_CgShdh_CwBzCode As String
Dim m_CgShdh_CwBzno As Double

Dim m_CgShdhForm As String

Dim m_CgShdhNo As Double

Dim m_CgShdhId As Integer
Dim m_CgShdhKey As Double

Private Sub Class_Initialize()
   m_CgShdhId = -1
End Sub

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

Public Property Get Kh() As Kh
   If m_Kh Is Nothing Then
      Set m_Kh = New Kh
      If m_CgShdh_KhCode <> "" Then
         m_Kh.Requery m_CgShdh_KhCode
      End If
   End If
   Set Kh = m_Kh
End Property

Public Property Get CwQj() As CwQj
   If m_CwQj Is Nothing Then
      Set m_CwQj = New CwQj
      If m_CgShdh_CwqjCode <> "" Then
         m_CwQj.Requery m_CgShdh_CwqjCode
      End If
   End If
   Set CwQj = m_CwQj
End Property

Public Property Get CwBz() As CwBz
   If m_CwBz Is Nothing Then
      Set m_CwBz = New CwBz
      If m_CgShdh_CwBzCode <> "" Then
         m_CwBz.Requery m_CgShdh_CwBzCode
      End If
   End If
   Set CwBz = m_CwBz
End Property

Public Property Get CgShds() As CgShds
   If m_CgShds Is Nothing Then
      Set m_CgShds = New CgShds
      m_CgShds.Fillbydb Me
   End If
   Set CgShds = m_CgShds
End Property

Public Property Get CgShdhId() As Integer
   CgShdhId = m_CgShdhId
End Property

Public Property Get CgShdhKey() As Double
   CgShdhKey = m_CgShdhKey
End Property

Public Property Get CgShdhType() As Integer
   CgShdhType = m_CgShdhType
End Property

Public Property Get CgShdhDocno() As String
   CgShdhDocno = m_CgShdhDocno
End Property

Public Property Get CgShdhDat() As String
   CgShdhDat = m_CgShdhDat
End Property

Public Property Get CgShdh_CwQjCode() As String
   CgShdh_CwQjCode = m_CgShdh_CwqjCode
End Property

Public Property Get CgShdh_CwqjNo() As Double
   CgShdh_CwqjNo = m_CgShdh_CwqjNo
End Property

Public Property Get CgShdh_KhCode() As String
   CgShdh_KhCode = m_CgShdh_KhCode
End Property

Public Property Get CgShdh_Khno() As Double
   CgShdh_Khno = m_CgShdh_Khno
End Property

Public Property Get CgShdh_CwBzCode() As String
   CgShdh_CwBzCode = m_CgShdh_CwBzCode
End Property

Public Property Get CgShdh_CwBzno() As Double
   CgShdh_CwBzno = m_CgShdh_CwBzno
End Property

Public Property Get CgShdhForm() As String
   CgShdhForm = m_CgShdhForm
End Property

Public Property Get CgShdhNo() As Double
   CgShdhNo = m_CgShdhNo
End Property

Public Property Let CgShdhId(vCgShdhId As Integer)
   m_CgShdhId = vCgShdhId
End Property

Public Property Let CgShdhKey(vCgShdhKey As Double)
   m_CgShdhKey = vCgShdhKey
End Property

Public Property Let CgShdhType(vCgShdhType As Integer)

   If vCgShdhType <> 1 And vCgShdhType <> 2 Then
      Err.Raise vbObjectError + 1, , "收货单类型只能为1-采购收货单,2-采购退货单!"
      Exit Property
   End If
   
   m_CgShdhType = vCgShdhType
   
End Property

Public Property Let CgShdhDocno(vCgShdhDocno As String)

   If Trim(vCgShdhDocno) = "" Then
      Err.Raise vbObjectError + 1, , "收货单号不能为空!"
      Exit Property
   End If
   
   If m_CgShdhDocno <> vCgShdhDocno Then
      Dim Rs As DbRs
      Set Rs = New DbRs
      Rs.Fillbydb "SELECT * FROM CgShdHREC WHERE CgShdHDOCNO='" & vCgShdhDocno & "'"
      If Not Rs.EOF Then
         Set Rs = Nothing
         Err.Raise vbObjectError + 1, , "收货单号已经存在!"
         Exit Property
      End If
      Set Rs = Nothing
   End If
   
   m_CgShdhDocno = vCgShdhDocno
   
End Property

Public Property Let CgShdhDat(vCgShdhDat As String)

   If Trim(vCgShdhDat) = "" Then
      Err.Raise vbObjectError + 1, , "收货日期不能为空!"
      Exit Property
   End If
   
   m_CgShdh_CwqjCode = gPublicFunction.GetCwqjCode(vCgShdhDat)
   CwQj.Requery m_CgShdh_CwqjCode
   m_CgShdh_CwqjNo = CwQj.CwQjNo
   m_CgShdhDat = vCgShdhDat
   
End Property

Public Property Let CgShdh_KhCode(vCgShdh_KhCode As String)

   If Trim(vCgShdh_KhCode) = "" Then
      Err.Raise vbObjectError + 1, , "供应商编码不能为空!"
      Exit Property
   End If
   
   If m_CgShdh_KhCode <> vCgShdh_KhCode Then
      If Kh.Requery(vCgShdh_KhCode) = -1 Then
         Err.Raise vbObjectError + 1, , "录入的供应商编码不存在!"
         Exit Property
      End If
      m_CgShdh_Khno = Kh.KhNo
      m_CgShdh_CwBzCode = Kh.Kh_CwBzCode
      m_CgShdh_CwBzno = Kh.Kh_CwBzno
   End If
   
   m_CgShdh_KhCode = vCgShdh_KhCode
   
End Property

Public Property Let CgShdh_CwQjCode(vCgShdh_CwQjCode As String)

   If Trim(vCgShdh_CwQjCode) = "" Then
      Err.Raise vbObjectError + 1, , "录入的财务月份不能为空!"
      Exit Property
   End If
   
   If m_CgShdh_CwqjCode <> vCgShdh_CwQjCode Then
      If CwQj.Requery(vCgShdh_CwQjCode) = -1 Then
         Err.Raise vbObjectError + 1, , "录入的财务月份不存在!"
         Exit Property
      End If
      m_CgShdh_CwqjNo = CwQj.CwQjNo
   End If
   
   m_CgShdh_CwqjCode = vCgShdh_CwQjCode
   
End Property

Public Property Let CgShdh_CwBzCode(vCgShdh_CwBzCode As String)

   If Trim(vCgShdh_CwBzCode) = "" Then
      Err.Raise vbObjectError + 1, , "录入的币种不能为空!"
      Exit Property
   End If
   
   If m_CgShdh_CwBzCode <> vCgShdh_CwBzCode Then
      If CwBz.Requery(vCgShdh_CwBzCode) = -1 Then
         Err.Raise vbObjectError + 1, , "录入的币种编码不存在!"
         Exit Property
      End If
      m_CgShdh_CwBzno = CwBz.CwbzNo
   End If
   
   m_CgShdh_CwBzCode = vCgShdh_CwBzCode
   
End Property

Public Property Let CgShdhForm(vCgShdhForm As String)
   m_CgShdhForm = vCgShdhForm
End Property

Public Sub Save()
   Dim Cmd As ADODB.Command
On Error GoTo Errorhandle
      
   If CgShds.Count = 0 Then
      On Error GoTo 0
      Err.Raise vbObjectError + 1, , "单据无明细行,不能存盘!"
      Exit Sub
   End If
      
   Set Cmd = New ADODB.Command
   Set Cmd.ActiveConnection = gDbCommon.Conn
   
   If m_CgShdhId = -1 Then
      Cmd.CommandText = gPublicFunction.GetCallSPString("CGSHDHREC_INSERT", 8)
      Cmd(0) = m_CgShdhType
      Cmd(1) = m_CgShdhDocno
      Cmd(2) = m_CgShdhDat
      Cmd(3) = m_CgShdh_CwqjNo
      Cmd(4) = m_CgShdh_Khno
      Cmd(5) = m_CgShdh_CwBzno
      Cmd(6) = m_CgShdhForm
      Cmd(7).Direction = adParamOutput   'CgShdhNo
   Else
      Cmd.CommandText = gPublicFunction.GetCallSPString("CgShdhREC_UPDATE", 6)
      Cmd(0) = m_CgShdhNo
      Cmd(1) = m_CgShdhDocno
      Cmd(2) = m_CgShdhDat
      Cmd(3) = m_CgShdh_CwqjNo
      Cmd(4) = m_CgShdh_Khno
      Cmd(5) = m_CgShdh_CwBzno
   End If
   
   gDbCommon.Conn.BeginTrans
   Cmd.Execute
   If m_CgShdhId = -1 Then
      m_CgShdhNo = Cmd(7)
   End If
   CgShds.Save Me
   gDbCommon.Conn.CommitTrans
   
   If m_CgShdhId = -1 Then
      m_CgShdhId = 1
   End If
   
   Set Cmd = Nothing
   
Exit Sub
Errorhandle:
   Set Cmd = Nothing
   gDbCommon.Conn.RollbackTrans
   Err.Raise vbObjectError + 1, , gDbCommon.Conn.Errors(0)
End Sub

Public Sub Del(Optional mMxDel As Integer = 0)
   Dim Cmd As ADODB.Command
   
   gPublicFunction.CheckCanBeDelete "CGSHDHREC", "CGSHDHNO", CStr(m_CgShdhNo)
   
On Error GoTo Errorhandle
      
   Set Cmd = New ADODB.Command
   Set Cmd.ActiveConnection = gDbCommon.Conn
   
   Cmd.CommandText = "{CALL CgShdHREC_DELETE(?)}"
   Cmd(0) = m_CgShdhNo
   
   If mMxDel = 0 Then
      gDbCommon.Conn.BeginTrans
   End If
   Cmd.Execute
   If mMxDel = 0 Then
      gDbCommon.Conn.CommitTrans
   End If
   
   Set Cmd = Nothing
   
Exit Sub
Errorhandle:
   Set Cmd = Nothing
   If mMxDel = 0 Then
      gDbCommon.Conn.RollbackTrans
   End If
   Err.Raise vbObjectError + 1, , gDbCommon.Conn.Errors(0)
End Sub

Public Function Requery(Optional vCgShdhDocno As String = "", Optional vCgShdhno As Double = 0) As Integer
   Dim mRs As DbRs
   Dim mSqlStr As String
On Error GoTo Errorhandle

   Requery = -1
   
   mSqlStr = "SELECT CGSHDHTYPE,CgShdHDOCNO,CgShdHDAT,CgShdH_KHCODE=COALESCE((SELECT KHCODE FROM KHREC WHERE KHNO=CGSHDH_KHNO),''),CgShdH_KHNO,"
   mSqlStr = mSqlStr & "CgShdh_CwQjCode=COALESCE((SELECT CWQJCODE FROM CWQJREC WHERE CWQJNO=CgShdh_CwQjno),''),CgShdh_CwQjno,"
   mSqlStr = mSqlStr & "CgShdh_CwBzCode=COALESCE((SELECT CWBZCODE FROM CWBZREC WHERE CWBZNO=CgShdh_CwBzno),''),CgShdh_CwBzno,"
   mSqlStr = mSqlStr & "CGSHDHFORM,CgShdHNO FROM CgShdHREC WHERE (CgShdHDOCNO='" & vCgShdhDocno & "' OR CgShdHNO=" & CStr(vCgShdhno) & ") "
   
   Set mRs = New DbRs
   mRs.Fillbydb mSqlStr
   
   If Not mRs.EOF Then
      Requery = 1
      BatchLet mRs!CgShdhType, mRs!CgShdhDocno, mRs!CgShdhDat, mRs!CgShdh_CwQjCode, mRs!CgShdh_CwqjNo, mRs!CgShdh_KhCode, mRs!CgShdh_Khno, mRs!CgShdh_CwBzCode, mRs!CgShdh_CwBzno, mRs!CgShdhForm, mRs!CgShdhNo
   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_CgShdhType = Properties(0)
   m_CgShdhDocno = Properties(1)
   m_CgShdhDat = Properties(2)
   m_CgShdh_CwqjCode = Properties(3)
   m_CgShdh_CwqjNo = Properties(4)
   m_CgShdh_KhCode = Properties(5)
   m_CgShdh_Khno = Properties(6)
   m_CgShdh_CwBzCode = Properties(7)
   m_CgShdh_CwBzno = Properties(8)
   m_CgShdhForm = Properties(9)
   m_CgShdhNo = Properties(10)

   m_CgShdhId = 1

End Sub


⌨️ 快捷键说明

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