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

📄 productschemematerialform.frm

📁 即时通讯
💻 FRM
📖 第 1 页 / 共 3 页
字号:
        HFG_materialList.Width = HFG_materialList.Width + 200
'
'        Image1.Stretch = True
    End If
End Sub

Private Sub HFG_materialList_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
    If Trim(HFG_materialList.TextMatrix(HFG_materialList.row, 11)) = "0" Then
        m_partProductManager.Visible = False
        m_productBill.Visible = False
        m_cooperateBill.Visible = False
        m_produceList.Visible = False
        m_cooperateList.Visible = False
        m_setFinishNum.Visible = True
    End If
    If Trim(HFG_materialList.TextMatrix(HFG_materialList.row, 11)) = "1" Then
        m_partProductManager.Visible = True
        m_productBill.Visible = False
        m_cooperateBill.Visible = False
        m_produceList.Visible = False
        m_cooperateList.Visible = False
        m_setFinishNum.Visible = True
    End If
    If Trim(HFG_materialList.TextMatrix(HFG_materialList.row, 11)) = "2" Then
        m_partProductManager.Visible = False
        m_productBill.Visible = True
        m_cooperateBill.Visible = False
        m_produceList.Visible = True
        m_cooperateList.Visible = False
        m_setFinishNum.Visible = True
    End If
    
    If Button And vbRightButton Then       ' 用户点击右键,调出快捷菜单
        PopupMenu PM_productBill
    ElseIf Button And vbLeftButton Then
        HFG_materialList_SelChange
    End If
End Sub

Private Sub HFG_materialList_SelChange()
    If Trim(HFG_materialList.TextMatrix(HFG_materialList.row, 0)) <> "" Then
        T_requirement.text = Trim(HFG_materialList.TextMatrix(HFG_materialList.row, 8))
        T_hadFinish.text = HFG_materialList.TextMatrix(HFG_materialList.row, 9)
        T_setToNum.text = "0"
    End If
End Sub

'**************************************
'*    功 能 描 述 :调用生成生产外协单
'*    输 入 参 数 :无
'*    输 出 能 数 :无
'**************************************
Private Sub m_cooperateBill_Click()
    If Trim(HFG_materialList.TextMatrix(HFG_materialList.row, 11)) = "0" Then
        MainForm.g_msgText = "不能对零件做生产单,请采购模块完成原料采购!"
        HMsgBox MainForm.g_msgText, 0, 1
        Exit Sub
    End If
    If Trim(HFG_materialList.TextMatrix(HFG_materialList.row, 11)) = "2" Then
        MainForm.g_msgText = "不能对产品做外协生产单,请调用生产单模块功能完成!"
        HMsgBox MainForm.g_msgText, 0, 1
        Exit Sub
    End If
    
    If Trim(HFG_materialList.TextMatrix(HFG_materialList.row, 1)) <> "" Then
        CooperateSingleForm.m_operatorType = 0
        CooperateSingleForm.m_productSchemeId = Trim(HFG_materialList.TextMatrix(HFG_materialList.row, 1))
        CooperateSingleForm.m_psbomId = HFG_materialList.TextMatrix(HFG_materialList.row, 10)
        CooperateSingleForm.m_materialNum = CDbl(HFG_materialList.TextMatrix(HFG_materialList.row, 8)) - _
                                            CDbl(HFG_materialList.TextMatrix(HFG_materialList.row, 13))
        CooperateSingleForm.show 1
    End If
End Sub
'**************************************
'*    功 能 描 述 :调出己生成的外协单的列表
'*    输 入 参 数 :无
'*    输 出 能 数 :无
'**************************************
Private Sub m_cooperateList_Click()
    If Trim(HFG_materialList.TextMatrix(HFG_materialList.row, 11)) = "0" Then
        MainForm.g_msgText = "零件没有生产外协单列表,请先择零件或产品!"
        HMsgBox MainForm.g_msgText, 0, 1
        Exit Sub
    End If
    
    If Trim(HFG_materialList.TextMatrix(HFG_materialList.row, 1)) <> "" Then
        CooperateListForm.m_operateType = 2
        CooperateListForm.m_productSchemeId = Trim(HFG_materialList.TextMatrix(HFG_materialList.row, 1))
        CooperateListForm.m_psbomId = HFG_materialList.TextMatrix(HFG_materialList.row, 10)
        CooperateListForm.m_materialNum = CDbl(HFG_materialList.TextMatrix(HFG_materialList.row, 8)) - _
                                            CDbl(HFG_materialList.TextMatrix(HFG_materialList.row, 13))
        CooperateListForm.m_supplierid = ""
        CooperateListForm.m_state = "0"
        CooperateListForm.show
    End If
End Sub

Private Sub m_partProductManager_Click()
    Dim ret As Boolean
    ret = yhqxpd(MainForm.g_application.m_userId, PRODUCE_LIST)
    
    If Not ret Then
        MainForm.g_msgText = "该功能您无权操作!"
        HMsgBox MainForm.g_msgText, 0, 1
        Exit Sub
    End If
    If Trim(HFG_materialList.TextMatrix(HFG_materialList.row, 11)) <> "1" Then
        MainForm.g_msgText = "请选择一个零件对期进行生产管理 !"
        HMsgBox MainForm.g_msgText, 0, 1
        Exit Sub
    End If
    
    If Trim(HFG_materialList.TextMatrix(HFG_materialList.row, 1)) <> "" Then
        PS_partProductForm.m_operateType = 0
        PS_partProductForm.m_psId = Trim(HFG_materialList.TextMatrix(HFG_materialList.row, 1))
        PS_partProductForm.m_psbomId = HFG_materialList.TextMatrix(HFG_materialList.row, 10)

        PS_partProductForm.show
    End If
End Sub

'**************************************
'*    功 能 描 述 :调出己生成的生产单的列表
'*    输 入 参 数 :无
'*    输 出 能 数 :无
'**************************************
Private Sub m_produceList_Click()
    If Trim(HFG_materialList.TextMatrix(HFG_materialList.row, 11)) = "0" Then
        MainForm.g_msgText = "零件没有生产单列表,请先择零件或产品!"
        HMsgBox MainForm.g_msgText, 0, 1
        Exit Sub
    End If
    
    If Trim(HFG_materialList.TextMatrix(HFG_materialList.row, 1)) <> "" Then
        ProduceListForm.m_operateType = 2
        ProduceListForm.m_productSchemeId = Trim(HFG_materialList.TextMatrix(HFG_materialList.row, 1))
        ProduceListForm.m_psbomId = HFG_materialList.TextMatrix(HFG_materialList.row, 10)
        ProduceListForm.psMaterialId = Trim(HFG_materialList.TextMatrix(HFG_materialList.row, 0))
        ProduceListForm.m_materialNum = CDbl(HFG_materialList.TextMatrix(HFG_materialList.row, 8)) - _
                                            CDbl(HFG_materialList.TextMatrix(HFG_materialList.row, 13))
        ProduceListForm.show
    End If
End Sub

'**************************************
'*    功 能 描 述 :调用生成生产单(由内部员工生产)
'*    输 入 参 数 :无
'*    输 出 能 数 :无
'**************************************
Private Sub m_productBill_Click()
    Dim ret As Boolean
    ret = yhqxpd(MainForm.g_application.m_userId, PRODUCE_LIST)
    
    If Not ret Then
        MainForm.g_msgText = "该功能您无权操作!"
        HMsgBox MainForm.g_msgText, 0, 1
        Exit Sub
    End If
    If Trim(HFG_materialList.TextMatrix(HFG_materialList.row, 11)) = "0" Then
        MainForm.g_msgText = "不能对零件做生产单,请采购模块完成原料采购!"
        HMsgBox MainForm.g_msgText, 0, 1
        Exit Sub
    End If
    
    If Trim(HFG_materialList.TextMatrix(HFG_materialList.row, 1)) <> "" Then
        ProduceSingleForm.m_operatorType = 0
        ProduceSingleForm.m_productSchemeId = Trim(HFG_materialList.TextMatrix(HFG_materialList.row, 1))
        ProduceSingleForm.psMaterialId = Trim(HFG_materialList.TextMatrix(HFG_materialList.row, 0))
        ProduceSingleForm.m_psbomId = HFG_materialList.TextMatrix(HFG_materialList.row, 10)
        ProduceSingleForm.m_materialNum = CDbl(HFG_materialList.TextMatrix(HFG_materialList.row, 8)) - _
                                            CDbl(HFG_materialList.TextMatrix(HFG_materialList.row, 13))
        ProduceSingleForm.show 1
    End If
End Sub

Private Sub m_setFinishNum_Click()
    If F_setFinishNum.Visible Then
        F_setFinishNum.Visible = False
    Else
        F_setFinishNum.Visible = True
        HFG_materialList_SelChange
    End If
End Sub

'**************************************
'*    功 能 描 述 :工具栏按钮的单击操作按钮
'*    输 入 参 数 :无
'*    输 出 能 数 :无
'**************************************
Private Sub SzToolbar_ButtonClick(ByVal Button As MSComctlLib.Button)
    Select Case Button.Key
        Case "qb"                         ' 产品
            m_listType = "3"
            refreshlist
        Case "yl"                         ' 原料
            m_listType = "1"
            refreshlist
        Case "lj"                         ' 零件
            m_listType = "2"
            refreshlist
        Case "bomCal"                         '调用生产计划单物料管理窗体
'            ProductSchemeMaterialForm.show
        Case "bm"                         ' BOM管理
'            PS_BomSingleForm.m_operatorType = 1
'            If Trim(hfg_schemeList.TextMatrix(hfg_schemeList.Row, 11)) <> "" Then
'                PS_BomSingleForm.m_productSchemeId = Trim(hfg_schemeList.TextMatrix(hfg_schemeList.Row, 11))
'                PS_BomSingleForm.m_productionId = Trim(hfg_schemeList.TextMatrix(hfg_schemeList.Row, 12))
'                PS_BomSingleForm.show
'            End If
        Case "sx"                         '刷 新
            refreshlist
        Case "tc"                         '退 出
            Unload Me
    End Select
End Sub
'**************************************
'*    功 能 描 述 :刷新物料清单列表里的所有数据
'*    输 入 参 数 :无
'*    输 出 能 数 :无
'**************************************
Private Sub refreshlist()
    Dim ret As Boolean
    Dim currentrow As Integer
    Dim psMaterialQuantity     As Double   ' 生产单物料的需要生产数量
    Dim psMaterialFinish       As Double   ' 物料的完成数量
    Dim psMaterialLoss         As Double   ' 物料报损数量
    Dim psMaterialCounterclaim As Double   ' 物料索赔数量
    
    HFG_materialList.clear
    HFG_materialList.Rows = 2
    
    RefreshListTitle
    
    ret = m_dao.FindSchemeMaterial(m_recordset, m_productSchemeId, "0")     ' 查找生产计划单的物料是否存在
    m_recordset.Close
    
    If Not ret Then                        ' 生产计划单的物料清单如果不存在
        CreateSchemeMaterial           ' 从生产计划单BOM中载入物料清单
    End If
    
    ret = m_dao.FindSchemeMaterial(m_recordset, m_productSchemeId, m_listType)
    If ret Then
        With m_recordset
    '        hfg_houseList.Rows = m_recordset.RecordCount
            currentrow = 1
            Do While Not .EOF
                '----------判断当前行是否要显示,即数量是否完成-------------------------
                psMaterialQuantity = CDbl(.Fields("quantity"))               ' 生产单物料的需要生产数量
                psMaterialFinish = CDbl(.Fields("finish"))                   ' 物料的完成数量
                If Trim(.Fields("lossNum") & " ") = "" Then                  ' 物料报损数量
                    psMaterialLoss = 0
                Else
                    psMaterialLoss = CDbl(.Fields("lossNum"))
                End If
                
                If Trim(.Fields("counterclaimNum") & " ") = "" Then          ' 物料索赔数量
                    psMaterialCounterclaim = 0
                Else
                    psMaterialCounterclaim = CDbl(.Fields("counterclaimNum"))
                End If
                
                ' 当物料的计划数量还没完成   或者显示全部哪就显示这条记录
                If psMaterialQuantity > psMaterialFinish + psMaterialLoss + psMaterialCounterclaim Or _
                   Check1.value = 1 Then
                   If currentrow > HFG_materialList.Rows - 1 Then
                       HFG_materialList.AddItem ""
                   End If
                   
                   '[>>自定义填充内容
                   HFG_materialList.TextMatrix(currentrow, 0) = Trim(.Fields("psMaterialId"))
                   HFG_materialList.TextMatrix(currentrow, 1) = Trim(.Fields("psId"))
                   HFG_materialList.TextMatrix(currentrow, 2) = Trim(.Fields("bomName"))
                   HFG_materialList.TextMatrix(currentrow, 3) = Trim(.Fields("processName"))
                   HFG_materialList.TextMatrix(currentrow, 4) = "¥" & Trim(.Fields("fee"))
                   HFG_materialList.TextMatrix(currentrow, 5) = "¥" & Trim(.Fields("totalfee"))
                   HFG_materialList.TextMatrix(currentrow, 6) = "¥" & Trim(.Fields("bomCost"))
                   HFG_materialList.TextMatrix(currentrow, 7) = "¥" & Trim(.Fields("totalCost"))
                   HFG_materialList.TextMatrix(currentrow, 8) = Trim(.Fields("quantity"))
                   HFG_materialList.TextMatrix(currentrow, 9) = Trim(.Fields("finish"))
                   HFG_materialList.TextMatrix(currentrow, 10) = Trim(.Fields("bomId"))
                   HFG_materialList.TextMatrix(currentrow, 11) = Trim(.Fields("materialType"))
                   HFG_materialList.TextMatrix(currentrow, 12) = Trim(.Fields("materialId"))
                   HFG_materialList.TextMatrix(currentrow, 13) = Trim(.Fields("madeBillNum"))
                   '<<]
                   '设置数据行高度(Fixed)
                   HFG_materialList.RowHeight(currentrow) = 200
            
                   '动态集指针加1,同时将计数器加1(Fixed)
                   currentrow = currentrow + 1
                End If
                .MoveNext
            Loop
        End With
    End If
    Text1.text = Trim(m_recordset.RecordCount)
    m_recordset.Close

End Sub

Private Sub T_setToNum_KeyPress(KeyAscii As Integer)
    InputFieldLimit T_setToNum, 5, KeyAscii
End Sub

⌨️ 快捷键说明

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