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

📄 bomdao.cls

📁 即时通讯
💻 CLS
📖 第 1 页 / 共 2 页
字号:
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 + -