📄 productschemeexestate.frm
字号:
BeginProperty Button8 {66833FEA-8583-11D1-B16A-00C0F0283628}
Caption = "刷新"
Key = "sx"
ImageKey = "sx"
EndProperty
BeginProperty Button9 {66833FEA-8583-11D1-B16A-00C0F0283628}
Object.Visible = 0 'False
Style = 3
EndProperty
BeginProperty Button10 {66833FEA-8583-11D1-B16A-00C0F0283628}
Caption = "退出"
Key = "tc"
ImageKey = "tc"
EndProperty
EndProperty
BorderStyle = 1
Begin VB.TextBox Text1
Alignment = 1 'Right Justify
Appearance = 0 'Flat
ForeColor = &H80000006&
Height = 270
Left = 7320
TabIndex = 10
Text = "Text1"
Top = 120
Width = 975
End
End
Begin VB.Menu PM_productBill
Caption = "制作生产单"
Visible = 0 'False
Begin VB.Menu m_productBill
Caption = "生产单"
Visible = 0 'False
End
Begin VB.Menu m_cooperateBill
Caption = "外协单"
Visible = 0 'False
End
Begin VB.Menu m_setFinishNum
Caption = "信息"
End
Begin VB.Menu m_cooperateList
Caption = "外协列表"
Visible = 0 'False
End
End
End
Attribute VB_Name = "ProductSchemeExeStateForm"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
'**************************************
'* 模 块 名 称 :生产计划单物料显示窗体
'* 功 能 描 述 :显示和管理生产计划单的物料,可以显示生产计划单的各种原料及物料
'* 程序员姓名 : 陈齐国
'* 最后修改人 : 陈齐国
'* 最后修改时间:2005/09/7
'**************************************
Option Explicit
Public m_productSchemeId As String ' 生产计划单的编号
Public m_schemeNum As Integer ' 计划生产产品的数量
Public m_schemeState As String ' 生产计划单的状态
Private m_bomDAO As PS_BomDAO ' 操作生产计划单BOM表的类
Private m_dao As ProductSchemeDAO ' 生产计划单数据库操作类
Private m_recordset As ADODB.Recordset ' 数据操作数据集对象
Private m_listType As String ' 当前显示的物料列表类型
' 0 全 1 原料 2 零件
'**************************************
'* 功 能 描 述 :设置完成数量
'* 输 入 参 数 :无
'* 输 出 能 数 :无
'**************************************
Private Sub C_set_Click()
Dim ret As Boolean
If Trim(HFG_materialList.TextMatrix(HFG_materialList.row, 0)) <> "" And _
Trim(T_setToNum.text) <> "" Then
ret = m_dao.SetPsMaterialNum(m_recordset, Trim(HFG_materialList.TextMatrix(HFG_materialList.row, 0)), _
CDbl(T_setToNum.text))
If ret Then
HFG_materialList.TextMatrix(HFG_materialList.row, 9) = T_setToNum.text
End If
End If
End Sub
Private Sub Form_Load()
Set m_bomDAO = New PS_BomDAO
Set m_dao = New ProductSchemeDAO
Set m_recordset = New ADODB.Recordset
m_listType = "0"
Me.caption = "生产计划单执行情况"
Me.Height = 5475
Me.Width = 8565
SetToCenter Me
F_setFinishNum.Visible = False
refreshlist
End Sub
'**************************************
'* 功 能 描 述 :刷新列表的标题栏
'* 输 入 参 数 :无
'* 输 出 能 数 :无
'**************************************
Private Sub RefreshListTitle()
HFG_materialList.TextMatrix(0, 0) = "psMaterialId"
HFG_materialList.TextMatrix(0, 1) = "psId"
HFG_materialList.TextMatrix(0, 2) = "物料名称"
HFG_materialList.TextMatrix(0, 3) = "工序名称"
HFG_materialList.TextMatrix(0, 4) = "计划数量"
HFG_materialList.TextMatrix(0, 5) = "报损数量"
HFG_materialList.TextMatrix(0, 6) = "返工数量"
HFG_materialList.TextMatrix(0, 7) = "完成数量"
HFG_materialList.TextMatrix(0, 8) = "加 工 费"
' HFG_materialList.TextMatrix(0, 9) = "完成数量"
HFG_materialList.TextMatrix(0, 10) = "bomId"
HFG_materialList.TextMatrix(0, 11) = "materialType"
HFG_materialList.TextMatrix(0, 12) = "materialId"
'设置列对齐方式 7-右对齐 5-居中对齐 2-左对齐
HFG_materialList.ColAlignment(0) = 2
HFG_materialList.ColAlignment(1) = 2
HFG_materialList.ColAlignment(2) = 2
HFG_materialList.ColAlignment(3) = 2
HFG_materialList.ColAlignment(4) = 8
HFG_materialList.ColAlignment(5) = 8
HFG_materialList.ColAlignment(6) = 8
HFG_materialList.ColAlignment(7) = 8
HFG_materialList.ColAlignment(8) = 8
HFG_materialList.ColAlignment(9) = 2
HFG_materialList.ColAlignment(10) = 2
HFG_materialList.ColAlignment(11) = 8
HFG_materialList.ColAlignment(12) = 2
HFG_materialList.ColWidth(0) = 1
HFG_materialList.ColWidth(1) = 1
HFG_materialList.ColWidth(10) = 1
HFG_materialList.ColWidth(11) = 1
HFG_materialList.ColWidth(12) = 1
End Sub
Private Sub Form_Resize()
HFG_materialList.Height = Me.Height - 1400
HFG_materialList.Width = Me.Width - 350
' Image1.Stretch = False
If (HFG_materialList.Height > HFG_materialList.Height - 300) Or (HFG_materialList.Width > HFG_materialList.Width - 200) Then
HFG_materialList.Height = HFG_materialList.Height + 400
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 Button And vbRightButton Then ' 用户点击右键,调出快捷菜单
PopupMenu PM_productBill
ElseIf Button And vbLeftButton Then
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, 4))
T_hadFinish.text = HFG_materialList.TextMatrix(HFG_materialList.row, 7)
T_setToNum.text = HFG_materialList.TextMatrix(HFG_materialList.row, 7)
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, 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.show
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.show
CooperateListForm.FindAllCooperate
End If
End Sub
Private Sub m_setFinishNum_Click()
If F_setFinishNum.Visible Then
F_setFinishNum.Visible = False
Else
F_setFinishNum.Visible = True
End If
End Sub
'**************************************
'* 功 能 描 述 :工具栏按钮的单击操作按钮
'* 输 入 参 数 :无
'* 输 出 能 数 :无
'**************************************
Private Sub SzToolbar_ButtonClick(ByVal Button As MSComctlLib.Button)
Select Case Button.Key
Case "qb" ' 全部
m_listType = "0"
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
HFG_materialList.clear
HFG_materialList.Rows = 2
RefreshListTitle
ret = m_dao.FindSchemeExeState(m_recordset, m_productSchemeId, m_listType)
If ret Then ' 生产计划单的物料清单己存在
With m_recordset
' hfg_houseList.Rows = m_recordset.RecordCount
currentrow = 1
Do While Not .EOF
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("schemeId"))
HFG_materialList.TextMatrix(currentrow, 2) = Trim(.Fields("bomName"))
HFG_materialList.TextMatrix(currentrow, 3) = Trim(.Fields("processName"))
HFG_materialList.TextMatrix(currentrow, 4) = Trim(.Fields("quantity"))
HFG_materialList.TextMatrix(currentrow, 5) = .Fields("lossNum") & ""
HFG_materialList.TextMatrix(currentrow, 6) = .Fields("backNum") & ""
HFG_materialList.TextMatrix(currentrow, 7) = Trim(.Fields("finish"))
HFG_materialList.TextMatrix(currentrow, 8) = "¥" & Trim(.Fields("fee"))
' 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"))
'<<]
'设置数据行高度(Fixed)
HFG_materialList.RowHeight(currentrow) = 200
'动态集指针加1,同时将计数器加1(Fixed)
.MoveNext
currentrow = currentrow + 1
Loop
End With
Text1.text = Trim(m_recordset.RecordCount)
m_recordset.Close
End If
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 + -