📄 frmsuanfa.frm
字号:
VERSION 5.00
Object = "{831FDD16-0C5C-11D2-A9FC-0000F8754DA1}#2.0#0"; "MSCOMCTL.OCX"
Object = "{CDE57A40-8B86-11D0-B3C6-00A0C90AEA82}#1.0#0"; "MSDATGRD.OCX"
Begin VB.Form frmsuanfa
Caption = "派工算法"
ClientHeight = 5895
ClientLeft = 60
ClientTop = 345
ClientWidth = 9315
BeginProperty Font
Name = "宋体"
Size = 10.5
Charset = 134
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
LinkTopic = "Form1"
MDIChild = -1 'True
ScaleHeight = 5895
ScaleWidth = 9315
WindowState = 2 'Maximized
Begin VB.Frame Frame1
Caption = "frame1"
Height = 7935
Left = 120
TabIndex = 1
Top = 600
Width = 11775
Begin VB.Frame Frame2
Caption = "算法选择"
Height = 7935
Left = 0
TabIndex = 6
Top = 0
Width = 11775
Begin VB.CommandButton Comexit
Caption = "退出"
Height = 375
Left = 7320
TabIndex = 11
Top = 360
Width = 1455
End
Begin MSDataGridLib.DataGrid DataGrid2
Height = 6480
Left = 120
TabIndex = 10
Top = 840
Width = 11535
_ExtentX = 20346
_ExtentY = 11430
_Version = 393216
HeadLines = 1
RowHeight = 15
BeginProperty HeadFont {0BE35203-8F91-11CE-9DE3-00AA004BB851}
Name = "宋体"
Size = 10.5
Charset = 134
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
BeginProperty Font {0BE35203-8F91-11CE-9DE3-00AA004BB851}
Name = "宋体"
Size = 10.5
Charset = 134
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
ColumnCount = 2
BeginProperty Column00
DataField = ""
Caption = ""
BeginProperty DataFormat {6D835690-900B-11D0-9484-00A0C91110ED}
Type = 0
Format = ""
HaveTrueFalseNull= 0
FirstDayOfWeek = 0
FirstWeekOfYear = 0
LCID = 2052
SubFormatType = 0
EndProperty
EndProperty
BeginProperty Column01
DataField = ""
Caption = ""
BeginProperty DataFormat {6D835690-900B-11D0-9484-00A0C91110ED}
Type = 0
Format = ""
HaveTrueFalseNull= 0
FirstDayOfWeek = 0
FirstWeekOfYear = 0
LCID = 2052
SubFormatType = 0
EndProperty
EndProperty
SplitCount = 1
BeginProperty Split0
BeginProperty Column00
EndProperty
BeginProperty Column01
EndProperty
EndProperty
End
Begin VB.CommandButton Comfind
Caption = "查询"
Height = 375
Left = 4920
TabIndex = 9
Top = 360
Width = 1815
End
Begin VB.ComboBox cmbmachine
Height = 330
ItemData = "frmsuanfa.frx":0000
Left = 1560
List = "frmsuanfa.frx":0002
TabIndex = 7
Top = 360
Width = 2895
End
Begin VB.Label Label2
AutoSize = -1 'True
BackStyle = 0 'Transparent
Caption = "设备选择"
Height = 210
Left = 360
TabIndex = 8
Top = 360
Width = 840
End
End
Begin MSDataGridLib.DataGrid DataGrid1
Height = 6855
Left = 120
TabIndex = 5
Top = 960
Width = 11535
_ExtentX = 20346
_ExtentY = 12091
_Version = 393216
HeadLines = 1
RowHeight = 15
BeginProperty HeadFont {0BE35203-8F91-11CE-9DE3-00AA004BB851}
Name = "宋体"
Size = 10.5
Charset = 134
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
BeginProperty Font {0BE35203-8F91-11CE-9DE3-00AA004BB851}
Name = "宋体"
Size = 10.5
Charset = 134
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
ColumnCount = 2
BeginProperty Column00
DataField = ""
Caption = ""
BeginProperty DataFormat {6D835690-900B-11D0-9484-00A0C91110ED}
Type = 0
Format = ""
HaveTrueFalseNull= 0
FirstDayOfWeek = 0
FirstWeekOfYear = 0
LCID = 2052
SubFormatType = 0
EndProperty
EndProperty
BeginProperty Column01
DataField = ""
Caption = ""
BeginProperty DataFormat {6D835690-900B-11D0-9484-00A0C91110ED}
Type = 0
Format = ""
HaveTrueFalseNull= 0
FirstDayOfWeek = 0
FirstWeekOfYear = 0
LCID = 2052
SubFormatType = 0
EndProperty
EndProperty
SplitCount = 1
BeginProperty Split0
BeginProperty Column00
EndProperty
BeginProperty Column01
EndProperty
EndProperty
End
Begin VB.CommandButton Comok
Caption = "任务分派"
Height = 375
Left = 3960
TabIndex = 4
Top = 360
Width = 1215
End
Begin VB.ComboBox Cmbsuanfa
Height = 330
ItemData = "frmsuanfa.frx":0004
Left = 1440
List = "frmsuanfa.frx":0011
TabIndex = 2
Top = 360
Width = 2295
End
Begin VB.Label Label1
AutoSize = -1 'True
BackStyle = 0 'Transparent
Caption = "算法"
Height = 210
Left = 840
TabIndex = 3
Top = 360
Width = 420
End
End
Begin MSComctlLib.TabStrip TabStrip1
Height = 8655
Left = 0
TabIndex = 0
Top = 120
Width = 11895
_ExtentX = 20981
_ExtentY = 15266
_Version = 393216
BeginProperty Tabs {1EFB6598-857C-11D1-B16A-00C0F0283628}
NumTabs = 2
BeginProperty Tab1 {1EFB659A-857C-11D1-B16A-00C0F0283628}
Caption = "任务分派算法"
ImageVarType = 2
EndProperty
BeginProperty Tab2 {1EFB659A-857C-11D1-B16A-00C0F0283628}
Caption = "日派工计划"
ImageVarType = 2
EndProperty
EndProperty
End
End
Attribute VB_Name = "frmsuanfa"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Option Explicit
Dim c() As Integer
Dim rs As New ADODB.Recordset
'drawingnumber为产品名称,quantitys为计划数量,pcocdssquatos为产品定额,manchine为设备号,manchine1 为设备的占用时间,manchine2为设备工作效率,
Public Sub mpop(quantitys As Integer, processquatos As Single, mach1() As Single, mach2() As Single)
Dim i As Integer, j As Integer, k As Integer, l As Integer, m As Integer
Dim min, ave As Single
m = UBound(mach1)
ReDim c(m)
For i = 1 To m
c(i) = 0 '初始化每台设备的任务量为0
Next i
For i = 1 To quantitys '将n个任务依次分配到m太设备上
k = 1
min = mach1(1) + processquatos / mach2(1)
For j = 2 To m '找出设备占用时间最小的,并将任务分配给他
ave = mach1(j) + processquatos / mach2(j)
If (ave < min) Then
min = ave
k = j
End If
Next j
mach1(k) = min
c(k) = c(k) + 1
Next i
End Sub
Sub AlgBuffFirst()
Dim sql As String, remaint As Integer
Dim finpro() As String
Set mrs = Nothing
sql = "select * from t_spgeneralpartplan order by drawingnumber"
mrs.Open sql, mconn, adOpenKeyset, adLockPessimistic
If mrs.RecordCount > 0 Then
mrs.MoveFirst
While Not mrs.EOF
'获得已完工工序,对finpro()赋值
ReDim finpro(1)
finpro(0) = mrs("state")
remaint = GetRemainTime(finpro, mrs("drawingnumber"))
sql = mrs("senddate") - Date
mrs("bufftime") = mrs("senddate") - Date - remaint
mrs.Update
mrs.MoveNext
Wend
End If
mrs.Close
End Sub
Sub ljb()
Dim sql As String, remaint As Integer
Dim finpro() As String
Set mrs = Nothing
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -