📄 cgshdh.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 + -