📄 bomdao.cls
字号:
VERSION 1.0 CLASS
BEGIN
MultiUse = -1 'True
Persistable = 0 'NotPersistable
DataBindingBehavior = 1 'vbSimpleBound
DataSourceBehavior = 0 'vbNone
MTSTransactionMode = 0 'NotAnMTSObject
END
Attribute VB_Name = "BomDAO"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = True
Attribute VB_PredeclaredId = False
Attribute VB_Exposed = False
'**************************************
'* 模 块 名 称 :BOM模块中的数据据库操作
'* 功 能 描 述 :完成数据库操作
'* 程序员姓名 : 陈齐国
'* 最后修改人 : 陈齐国
'* 最后修改时间:2005/08/25
'**************************************
Option Explicit
Private bsrDAO As BomSupplierRelationDAO
'**************************************
'* 功 能 描 述 :新增一条BOM数据
'* 输 入 参 数 :无
'* 输 出 能 数 :True - 新增成功
'* False - 新增失败
'**************************************
Public Function NewBom(recSet As ADODB.Recordset, _
name As String, description As String, _
fee As Double, processName As String, _
bomCost As Double, materialId As String, _
materialType As String, relatePartId As String) As String
Dim cmdProc As ADODB.Command ' 执行存储过程的命令
NewBom = ""
Set cmdProc = New ADODB.Command
Set cmdProc.ActiveConnection = MainForm.g_application.m_databaseCon.m_adoConnection
' 执行存储过程的命令的设置
cmdProc.CommandText = "bom_new" ' 指定存储过程的名子
cmdProc.CommandType = adCmdStoredProc
cmdProc.Parameters.Refresh
cmdProc.Parameters(1) = name ' 参数
cmdProc.Parameters(2) = description ' 参数
cmdProc.Parameters(3) = fee ' 参数
cmdProc.Parameters(4) = processName ' 参数
cmdProc.Parameters(5) = bomCost ' 参数
cmdProc.Parameters(6) = materialId ' 参数
cmdProc.Parameters(7) = materialType ' 参数
cmdProc.Parameters(8) = "OOOOO" ' 参数
cmdProc.Parameters(9) = relatePartId ' 相关零件的 ID
' 执行命令 把查询到的结果放在recSet中
MainForm.g_application.m_databaseCon.m_adoConnection.BeginTrans ' 开始事务
On Error GoTo Cwcl
cmdProc.Execute
NewBom = cmdProc.Parameters(8)
MainForm.g_application.m_databaseCon.m_adoConnection.CommitTrans ' 结束事务
Exit Function
Cwcl:
MainForm.g_application.m_databaseCon.m_adoConnection.RollbackTrans ' 回滚事务
NewBom = ""
End Function
'**************************************
'* 功 能 描 述 :修改一条BOM数据
'* 输 入 参 数 :无
'* 输 出 能 数 :True - 成功
'* False - 失败
'**************************************
Public Function ModifyBom(recSet As ADODB.Recordset, _
name As String, description As String, _
fee As Double, processName As String, _
bomCost As Double, materialId As String, _
materialType As String, bomId As String, _
relatePartId As String) As Boolean
Dim cmdProc As ADODB.Command ' 执行存储过程的命令
ModifyBom = False
Set cmdProc = New ADODB.Command
Set cmdProc.ActiveConnection = MainForm.g_application.m_databaseCon.m_adoConnection
' 执行存储过程的命令的设置
cmdProc.CommandText = "bom_modify" ' 指定存储过程的名子
cmdProc.CommandType = adCmdStoredProc
cmdProc.Parameters.Refresh
cmdProc.Parameters(1) = name ' 参数
cmdProc.Parameters(2) = description ' 参数
cmdProc.Parameters(3) = fee ' 参数
cmdProc.Parameters(4) = processName ' 参数
cmdProc.Parameters(5) = bomCost ' 参数
cmdProc.Parameters(6) = materialId ' 参数
cmdProc.Parameters(7) = materialType ' 参数
cmdProc.Parameters(8) = bomId ' 参数
cmdProc.Parameters(9) = relatePartId ' 相关零件的ID
' 执行命令 把查询到的结果放在recSet中
MainForm.g_application.m_databaseCon.m_adoConnection.BeginTrans ' 开始事务
On Error GoTo Cwcl
cmdProc.Execute
ModifyBom = True
MainForm.g_application.m_databaseCon.m_adoConnection.CommitTrans ' 结束事务
Exit Function
Cwcl:
MainForm.g_application.m_databaseCon.m_adoConnection.RollbackTrans ' 回滚事务
ModifyBom = False
End Function
'**************************************
'* 功 能 描 述 :修改一条BOM的成本
'* 输 入 参 数 :无
'* 输 出 能 数 :True - 成功
'* False - 失败
'**************************************
Public Function ModifyBomCost(recSet As ADODB.Recordset, _
bomCost As Double, bomId As String) As Boolean
Dim cmdProc As ADODB.Command ' 执行存储过程的命令
ModifyBomCost = False
Set cmdProc = New ADODB.Command
Set cmdProc.ActiveConnection = MainForm.g_application.m_databaseCon.m_adoConnection
' 执行存储过程的命令的设置
cmdProc.CommandText = "bom_modifyCost" ' 指定存储过程的名子
cmdProc.CommandType = adCmdStoredProc
cmdProc.Parameters.Refresh
cmdProc.Parameters(1) = bomCost ' 参数
cmdProc.Parameters(2) = bomId ' 参数
' 执行命令 把查询到的结果放在recSet中
MainForm.g_application.m_databaseCon.m_adoConnection.BeginTrans ' 开始事务
On Error GoTo Cwcl
cmdProc.Execute
ModifyBomCost = True
MainForm.g_application.m_databaseCon.m_adoConnection.CommitTrans ' 结束事务
Exit Function
Cwcl:
MainForm.g_application.m_databaseCon.m_adoConnection.RollbackTrans ' 回滚事务
ModifyBomCost = False
End Function
'**************************************
'* 功 能 描 述 :根据物料的种类及物料的ID查找BOM记录
'* 输 入 参 数 :materialId - 物料的ID
'* materialType - 物料的种类,可以不用
'* 输 出 能 数 :True - 新增成功
'* False - 新增失败
'**************************************
Public Function FindByMaterial(recSet As ADODB.Recordset, _
materialId As String, _
materialType As String) As Boolean
Dim cmdProc As ADODB.Command ' 执行存储过程的命令
FindByMaterial = False
Set cmdProc = New ADODB.Command
Set cmdProc.ActiveConnection = MainForm.g_application.m_databaseCon.m_adoConnection
' 执行存储过程的命令的设置
cmdProc.CommandText = "bom_findByMaterial" ' 指定存储过程的名子
cmdProc.CommandType = adCmdStoredProc
cmdProc.Parameters.Refresh
cmdProc.Parameters(1) = materialId ' 参数
cmdProc.Parameters(2) = materialType ' 参数
On Error GoTo Cwcl
' 执行命令 把查询到的结果放在recSet中
With recSet
.CursorLocation = adUseClient
.CursorType = adOpenDynamic
.LockType = adLockOptimistic
.Open cmdProc
End With
With recSet
If Not .EOF Then
FindByMaterial = True
Else
FindByMaterial = False
End If
End With
Exit Function
Cwcl:
FindByMaterial = False
Exit Function
End Function
'**************************************
'* 功 能 描 述 :根据BOM ID找到BOM记录
'* 输 入 参 数 :无
'* 输 出 能 数 :True - 新增成功
'* False - 新增失败
'**************************************
Public Function FindById(recSet As ADODB.Recordset, _
bomId As String) As Boolean
Dim cmdProc As ADODB.Command ' 执行存储过程的命令
FindById = False
Set cmdProc = New ADODB.Command
Set cmdProc.ActiveConnection = MainForm.g_application.m_databaseCon.m_adoConnection
' 执行存储过程的命令的设置
cmdProc.CommandText = "bom_findById" ' 指定存储过程的名子
cmdProc.CommandType = adCmdStoredProc
cmdProc.Parameters.Refresh
cmdProc.Parameters(1) = bomId ' 参数
On Error GoTo Cwcl
' 执行命令 把查询到的结果放在recSet中
With recSet
.CursorLocation = adUseClient
.CursorType = adOpenDynamic
.LockType = adLockOptimistic
.Open cmdProc
End With
With recSet
If Not .EOF Then
FindById = True
Else
FindById = False
End If
End With
Exit Function
Cwcl:
FindById = False
Exit Function
End Function
'**************************************
'* 功 能 描 述 :根据物料的种类及物料的ID查找物料记录
'* 输 入 参 数 :materialId - 物料ID
'* materialType - 物料种类
'* 输 出 能 数 :True - 成功
'* False - 失败
'**************************************
Public Function FindMaterial(recSet As ADODB.Recordset, _
materialId As String, _
materialType As String) As Boolean
Dim cmdProc As ADODB.Command ' 执行存储过程的命令
FindMaterial = False
Set cmdProc = New ADODB.Command
Set cmdProc.ActiveConnection = MainForm.g_application.m_databaseCon.m_adoConnection
' 执行存储过程的命令的设置
cmdProc.CommandText = "bom_findMaterial" ' 指定存储过程的名子
cmdProc.CommandType = adCmdStoredProc
cmdProc.Parameters.Refresh
cmdProc.Parameters(1) = materialId ' 参数
cmdProc.Parameters(2) = materialType ' 参数
On Error GoTo Cwcl
' 执行命令 把查询到的结果放在recSet中
With recSet
.CursorLocation = adUseClient
.CursorType = adOpenDynamic
.LockType = adLockOptimistic
.Open cmdProc
End With
With recSet
If Not .EOF Then
FindMaterial = True
Else
FindMaterial = False
End If
End With
Exit Function
Cwcl:
FindMaterial = False
Exit Function
End Function
' ************************************BOMDETAIL**********************************
'**************************************
'* 功 能 描 述 :新增一条BOMDETAIL数据
'* 输 入 参 数 :无
'* 输 出 能 数 :返回新增的明细ID
'**************************************
Public Function NewBomDetail(recSet As ADODB.Recordset, _
parentBomId As String, bomId As String, _
quantity As Integer) As String
Dim cmdProc As ADODB.Command ' 执行存储过程的命令
NewBomDetail = ""
Set cmdProc = New ADODB.Command
Set cmdProc.ActiveConnection = MainForm.g_application.m_databaseCon.m_adoConnection
' 执行存储过程的命令的设置
cmdProc.CommandText = "bomdetail_new" ' 指定存储过程的名子
cmdProc.CommandType = adCmdStoredProc
cmdProc.Parameters.Refresh
cmdProc.Parameters(1) = parentBomId ' 参数
cmdProc.Parameters(2) = bomId ' 参数
cmdProc.Parameters(3) = quantity ' 参数
cmdProc.Parameters(4) = "OOOOO" ' 参数
' 执行命令 把查询到的结果放在recSet中
MainForm.g_application.m_databaseCon.m_adoConnection.BeginTrans ' 开始事务
On Error GoTo Cwcl
cmdProc.Execute
NewBomDetail = cmdProc.Parameters(4)
MainForm.g_application.m_databaseCon.m_adoConnection.CommitTrans ' 结束事务
Exit Function
Cwcl:
MainForm.g_application.m_databaseCon.m_adoConnection.RollbackTrans ' 回滚事务
NewBomDetail = ""
End Function
'**************************************
'* 功 能 描 述 :修改一条BOM数据
'* 输 入 参 数 :无
'* 输 出 能 数 :True - 成功
'* False - 失败
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -