📄 productschemematerialform.frm
字号:
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 + -