Dim yphsl As WinForm.Button = e.Form.Controls("Button5")
Dim bfhfh As WinForm.Button = e.Form.Controls("Button6")
Dim tg As WinForm.RadioButton = Forms("配货整理").Controls("通过")
Dim wg As WinForm.RadioButton = Forms("配货整理").Controls("未过")
Dim dr As Row = Tables("销售出库单列表").current
Dim str As String = dr("发货要求")
Dim filter,filter1 As String
filter1 = "物料编码 = '" & dr("存货编码") & "' and 发货单号 = '" & dr("发货单号") & "' and 出库单号 = '" & dr("出库单号") & "'"
If str.contains("_") = False Then
Select Case e.DataCol.name
Case "SN"
If Not e.DataRow.IsNull("SN") Then
Dim drr As DataRow = DataTables("库存明细表").SQLFind("SN = '" & e.DataRow("SN") & "'")
If drr IsNot Nothing Then
If drr("状态") = "配货完成" Then
e.DataRow("状态") = "配货重复扫描"
e.DataRow("物料编码") = dr("存货编码")
e.DataRow("发货单号") = dr("发货单号")
e.DataRow("出库单号") = dr("出库单号")
e.DataRow("货运单号") = dr("货运单号")
e.DataRow("id") = dr("_identify")
e.DataRow("数量") = 0
e.DataRow.save
Else
Dim nms() As String = {"生产订单号码","工单行号","类别说明","产品批次","订单号","订单行号","客户","备注","软件版本","MAC","HW","入库单号","库位类别","库位编码","入库完成时间","入库方式","在库生命周期"}
For Each nm As String In nms
e.DataRow(nm) = drr(nm)
Next
e.DataRow("物料编码") = dr("存货编码")
e.DataRow("物料名称") = dr("存货名称")
e.DataRow("状态") = "配货完成"
e.DataRow("发货单号") = dr("发货单号")
e.DataRow("出库单号") = dr("出库单号")
e.DataRow("货运单号") = dr("货运单号")
e.DataRow("id") = dr("_identify")
e.DataRow("数量") = 1
e.DataRow("配货完成时间") = Date.now
e.DataRow.save
drr("物料编码") = dr("存货编码")
drr("物料名称") = dr("存货名称")
drr("状态") = "配货完成"
drr("配货完成时间") = Date.now
drr("订单号") = dr("销售订单号")
drr("U8发货单号") = dr("发货单号")
drr("U8出库单号") = dr("出库单号")
drr("客户") = dr("客户名称")
drr("业务员") = dr("业务员")
drr("货运单号") = dr("货运单号")
drr("发货地址") = dr("发货地址")
drr("id") = dr("_identify")
drr.Save
If drr.IsNull("id_flag") = False Then
Dim drrms As List(of DataRow) = DataTables("库存明细表").SQLSelect("id_flag = '" & drr("id_flag") & "'")
For Each drrm As DataRow In drrms
drrm("id") = dr("_identify")
drrm.save
Next
End If
Dim sum2 As Integer
sum2 = Forms("配货整理").Controls("Table2").Table.Compute("Sum(数量)","状态 = '配货完成' and SN is not null")
yphsl.text = "发货单号:" & dr("发货单号") & "已完成配货数量" & "=" & sum2
If dr("挪货数量") = sum2 Then
dr("配货状态") = True
dr("配货完成时间") = Date.now
dr.save
tg.Enabled = True
wg.Enabled = True
Else
tg.Enabled = False
wg.Enabled = False
End If
Dim mr As DataRow = DataTables("库位数量统计").SQLFind("生产订单号码 = '" & drr("生产订单号码") & "' and 工单行号 = '" & drr("工单行号") & "' and 物料编码 = '" & drr("物料编码") & "' and 库位编码 = '" & drr("库位编码") & "' and 库位类别 = '" & drr("库位类别") & "'")
If mr IsNot Nothing Then
Dim cmd1 As new SQLCommand
cmd1.C
cmd1.CommandText = "Exec kwsltjdec '" & mr("生产订单号码") & "','" & mr("工单行号") & "','" & mr("物料编码") & "','" & mr("库位编码") & "','" & mr("库位类别") & "'"
Dim t As DataTable = cmd1.ExecuteReader
mr.save
End If
If dr("U8发货") = True Then
Dim tr As String = "物料编码 = '" & e.DataRow("物料编码") & "' and 库位类别 = '" & e.DataRow("库位类别") & "' and 生产订单号码 = '" & e.DataRow("生产订单号码") & "' and 工单行号 = '" & e.DataRow("工单行号") & "'"
Dim mrr As DataRow = DataTables("可用数量表").SQLFind(tr)
If mrr IsNot Nothing Then
Dim cmd1 As new SQLCommand
cmd1.C
cmd1.CommandText = "Exec kyslbdec '" & mrr("物料编码") & "','" & mrr("库位类别") & "','" & mrr("生产订单号码") & "','" & mrr("工单行号") & "'"
Dim t As DataTable = cmd1.ExecuteReader
mrr.save
End If
Else
Dim tr As String = "物料编码 = '" & e.DataRow("物料编码") & "' and 库位类别 = '" & e.DataRow("库位类别") & "' and 生产订单号码 = '" & e.DataRow("生产订单号码") & "' and 工单行号 = '" & e.DataRow("工单行号") & "'"
Dim mrr As DataRow = DataTables("可用数量表").SQLFind(tr)
If mrr IsNot Nothing Then
Dim cmd1 As new SQLCommand
cmd1.C
cmd1.CommandText = "Exec kyslbzkdec '" & mrr("物料编码") & "','" & mrr("库位类别") & "','" & mrr("生产订单号码") & "','" & mrr("工单行号") & "'"
Dim t As DataTable = cmd1.ExecuteReader
mrr.save
If mrr.IsNull("id_flag") = False And mrr("在库数量") <> 0 Then
Dim yrr As DataRow = DataTables("可用数量表").SQLFind("id_flag = '" & mrr("id_flag") & "' and 插卡 = 1")
If yrr IsNot Nothing Then
Dim mrrs As List(of DataRow) = DataTables("可用数量表").SQLSelect("id_flag = '" & mrr("id_flag") & "'")
For Each mrrm As DataRow In mrrs
If yrr("数量") = 0 Then
mrrm("在库数量") = 0
mrrm.save
Else
mrrm("在库数量") = mrrm("在库数量") - mrrm("在库数量") * 1/yrr("数量")
mrrm.save
End If
Next
End If
End If
End If
End If
End If
End If
Dim crr As DataRow = DataTables("库存明细表").SQLFind("SN = '" & e.DataRow("SN") & "'")
If crr Is Nothing Then
e.DataRow("状态") = "配货完成"
e.DataRow("物料编码") = dr("存货编码")
e.DataRow("发货单号") = dr("发货单号")
e.DataRow("出库单号") = dr("出库单号")
e.DataRow("货运单号") = dr("货运单号")
e.DataRow("id") = dr("_identify")
e.DataRow("数量") = 1
e.DataRow("配货完成时间") = Date.now
e.DataRow.save
Dim rr As DataRow = DataTables("库存明细表").AddNew
rr("SN") = e.DataRow("SN")
rr("物料编码") = e.DataRow("物料编码")
rr("库位类别") = dr("仓库编码")
rr("库位编码") = "KW999999"
rr("订单号") = dr("销售订单号")
rr("U8发货单号") = dr("发货单号")
rr("U8出库单号") = dr("出库单号")
rr("货运单号") = dr("货运单号")
rr("客户") = dr("客户名称")
rr("业务员") = dr("业务员")
rr("发货地址") = dr("发货地址")
rr("状态") = "配货完成"
rr("配货完成时间") = Date.now
rr("出库方式") = "type5"
rr("数量") = 1
rr("id") = dr("_identify")
rr.save
Dim sum2 As Integer
sum2 = Forms("配货整理").Controls("Table2").Table.Compute("Sum(数量)","状态 = '配货完成' and SN is not null")
yphsl.text = "发货单号:" & dr("发货单号") & "已完成配货数量" & "=" & sum2
If dr("挪货数量") = sum2 Then
dr("配货状态") = True
dr("配货完成时间") = Date.now
dr.save
'DataTables("销售出库单列表").SQLReplaceFor("配货状态",1,"groupId = '" & dr("groupId") & "'")
'DataTables("销售出库单列表").SQLReplaceFor("配货完成时间",Date.now,"groupId = '" & dr("groupId") & "'")
tg.Enabled = True
wg.Enabled = True
Else
tg.Enabled = False
wg.Enabled = False
End If
End If
End If
End Select
ElseIf str.Contains("_") = True And str.Contains("|") = False Then
Dim gdh,gdhh As String
Dim gds() As String = str.Split("_")
gdh = gds(0)
gdhh = gds(1)
Select Case e.DataCol.name
Case "SN"
If Not e.DataRow.IsNull("SN") Then
Dim drr As DataRow = DataTables("库存明细表").SQLFind("SN = '" & e.DataRow("SN") & "'")
If drr IsNot Nothing Then
If drr("状态") = "配货完成" Then
e.DataRow("状态") = "配货重复扫描"
e.DataRow("物料编码") = dr("存货编码")
e.DataRow("发货单号") = dr("发货单号")
e.DataRow("出库单号") = dr("出库单号")
e.DataRow("货运单号") = dr("货运单号")
e.DataRow("id") = dr("_identify")
e.DataRow("数量") = 0
e.DataRow.save
Else
Dim nms() As String = {"生产订单号码","工单行号","类别说明","产品批次","订单号","订单行号","客户","备注","软件版本","MAC","HW","入库单号","库位类别","库位编码","入库完成时间","入库方式","在库生命周期"}
For Each nm As String In nms
e.DataRow(nm) = drr(nm)
Next
e.DataRow("物料编码") = dr("存货编码")
e.DataRow("物料名称") = dr("存货名称")
e.DataRow("状态") = "配货完成"
e.DataRow("发货单号") = dr("发货单号")
e.DataRow("出库单号") = dr("出库单号")
e.DataRow("货运单号") = dr("货运单号")
e.DataRow("id") = dr("_identify")
e.DataRow("数量") = 1
e.DataRow("配货完成时间") = Date.now
e.DataRow.save
drr("物料编码") = dr("存货编码")
drr("物料名称") = dr("存货名称")
drr("状态") = "配货完成"
drr("订单号") = dr("销售订单号")
drr("配货完成时间") = Date.now
drr("U8发货单号") = dr("发货单号")
drr("U8出库单号") = dr("出库单号")
drr("客户") = dr("客户名称")
drr("业务员") = dr("业务员")
drr("货运单号") = dr("货运单号")
drr("发货地址") = dr("发货地址")
drr("id") = dr("_identify")
drr.Save
If drr.IsNull("id_flag") = False Then
Dim drrms As List(of DataRow) = DataTables("库存明细表").SQLSelect("id_flag = '" & drr("id_flag") & "'")
For Each drrm As DataRow In drrms
drrm("id") = dr("_identify")
drrm.save
Next
End If
Dim sum2 As Integer
sum2 = Forms("配货整理").Controls("Table2").Table.Compute("Sum(数量)","状态 = '配货完成' and SN is not null")
yphsl.text = "发货单号:" & dr("发货单号") & "已完成配货数量" & "=" & sum2
If dr("挪货数量") = sum2 Then
dr("配货状态") = True
dr("配货完成时间") = Date.now
dr.save
tg.Enabled = True
wg.Enabled = True
Else
tg.Enabled = False
wg.Enabled = False
End If
Dim mr As DataRow = DataTables("库位数量统计").SQLFind("生产订单号码 = '" & drr("生产订单号码") & "' and 工单行号 = '" & drr("工单行号") & "' and 物料编码 = '" & drr("物料编码") & "' and 库位编码 = '" & drr("库位编码") & "' and 库位类别 = '" & drr("库位类别") & "'")
If mr IsNot Nothing Then
Dim cmd1 As new SQLCommand
cmd1.C
cmd1.CommandText = "Exec kwsltjdec '" & mr("生产订单号码") & "','" & mr("工单行号") & "','" & mr("物料编码") & "','" & mr("库位编码") & "','" & mr("库位类别") & "'"
Dim t As DataTable = cmd1.ExecuteReader
mr.save
End If
Dim tr As String = "物料编码 = '" & e.DataRow("物料编码") & "' and 库位类别 = '" & e.DataRow("库位类别") & "' and 生产订单号码 = '" & e.DataRow("生产订单号码") & "' and 工单行号 = '" & e.DataRow("工单行号") & "'"
Dim mrr As DataRow = DataTables("可用数量表").SQLFind(tr)
If mrr IsNot Nothing Then
If mrr("生产订单号码") <> gdh Or (mrr("生产订单号码") = gdh And mrr("工单行号") <> gdhh) Then
Dim cmd1 As new SQLCommand
cmd1.C
cmd1.CommandText = "Exec kyslbdec '" & mrr("物料编码") & "','" & mrr("库位类别") & "','" & mrr("生产订单号码") & "','" & mrr("工单行号") & "'"
Dim t As DataTable = cmd1.ExecuteReader
mrr.save
Dim wr As DataRow = DataTables("可用数量表").SQLFind("生产订单号码 = '" & gdh & "' and 工单行号 = '" & gdhh & "'")
If wr IsNot Nothing Then
wr("数量") = wr("数量") + 1
wr.save
End If
ElseIf mrr("生产订单号码") = gdh And mrr("工单行号") = gdhh Then
Dim cmd1 As new SQLCommand
cmd1.C
cmd1.CommandText = "Exec kyslbzkdec '" & mrr("物料编码") & "','" & mrr("库位类别") & "','" & mrr("生产订单号码") & "','" & mrr("工单行号") & "'"
Dim t As DataTable = cmd1.ExecuteReader
mrr.save
End If
If mrr.IsNull("id_flag") = False And mrr("在库数量") <> 0 Then
Dim yrr As DataRow = DataTables("可用数量表").SQLFind("id_flag = '" & mrr("id_flag") & "' and 插卡 = 1")
If yrr IsNot Nothing Then
Dim mrrs As List(of DataRow) = DataTables("可用数量表").SQLSelect("id_flag = '" & mrr("id_flag") & "'")
For Each mrrm As DataRow In mrrs
If yrr("数量") = 0 Then
mrrm("在库数量") = 0
mrrm.save
Else
mrrm("在库数量") = mrrm("在库数量") - mrrm("在库数量") * 1/yrr("数量")
mrrm.save
End If
Next
End If
End If
End If
End If
End If
Dim crr As DataRow = DataTables("库存明细表").SQLFind("SN = '" & e.DataRow("SN") & "'")
If crr Is Nothing Then
Dim dr11 As DataRow = DataTables("assemblyProduct").SQLFind("deviceCode = '" & e.DataRow("SN") & "' or productno = '" & e.DataRow("SN") & "'")
If dr11 IsNot Nothing Then
Dim dr22 As DataRow = DataTables("assemblySubWorkOrder").SQLFind("SID = '" & dr11("subWorkOrder") & "'")
If dr22 IsNot Nothing Then
e.DataRow("工单行号") = dr22("LineFlag")
Dim dr33 As DataRow = DataTables("assemblyWorkOrder").SQLFind("Id = '" & dr22("workOrder") & "'")
If dr33 IsNot Nothing Then
e.DataRow("生产订单号码") = dr33("WorkOrderNo")
Dim dr44 As DataRow = DataTables("计划表").SQLFind("生产订单号码 = '" & e.DataRow("生产订单号码") & "' and 工单行号 = '" & e.DataRow("工单行号") & "'")
If dr44 IsNot Nothing Then
e.DataRow("物料编码") = dr44("客户物料编码")
e.DataRow("状态") = "配货完成"
e.DataRow("物料编码") = dr("存货编码")
e.DataRow("发货单号") = dr("发货单号")
e.DataRow("出库单号") = dr("出库单号")
e.DataRow("货运单号") = dr("货运单号")
e.DataRow("id") = dr("_identify")
e.DataRow("数量") = 1
e.DataRow("配货完成时间") = Date.now
e.DataRow.save
Dim rr As DataRow = DataTables("库存明细表").AddNew
rr("SN") = e.DataRow("SN")
rr("库位类别") = dr("仓库编码")
rr("库位编码") = "KW999999"
rr("物料编码") = e.DataRow("物料编码")
rr("订单号") = dr("销售订单号")
rr("U8发货单号") = dr("发货单号")
rr("U8出库单号") = dr("出库单号")
rr("货运单号") = dr("货运单号")
rr("客户") = dr("客户名称")
rr("业务员") = dr("业务员")
rr("发货地址") = dr("发货地址")
rr("状态") = "配货完成"
rr("配货完成时间") = Date.now
rr("出库方式") = "type5"
rr("数量") = 1
rr("id") = dr("_identify")
rr.save
End If
End If
End If
End If
Dim sum2 As Integer
sum2 = Forms("配货整理").Controls("Table2").Table.Compute("Sum(数量)","状态 = '配货完成' and SN is not null") '
yphsl.text = "发货单号:" & dr("发货单号") & "已完成配货数量" & "=" & sum2
If dr("挪货数量") = sum2 Then
dr("配货状态") = True
dr("配货完成时间") = Date.now
dr.save
tg.Enabled = True
wg.Enabled = True
Else
tg.Enabled = False
wg.Enabled = False
End If
End If
End If
End Select
End If