Dim pn As String = args(0) Dim qty As String = args(1) Dim dic1 = vars("dic1") Dim dic2 = vars("dic2") Dim dic3 = vars("dic3") Dim dic4 = vars("dic4") For Each dr As DataRow In DataTables("BOM").Select("FNumber='" & pn & "'") Dim ndr As DataRow = DataTables("物料需求").AddNew ndr("PartNo") = dr("PN") ndr("Date") = args(3) ndr("批号") = args(4) ndr("Demand") = dr("FQty") * qty Dim flag = args(5) If args.length < 6 OrElse args(5) = True Then Dim aa As Integer If args.length = 7 Then aa = args(6) * dr("FQty") End If If dic1.ContainsKey(ndr("PartNo")) Then If dic1(ndr("PartNo")) >= ndr("Demand")-aa Then ndr("Stock") = ndr("Demand")-aa dic1(ndr("PartNo")) -= ndr("Stock") flag = False ElseIf dic1(ndr("PartNo")) > 0 Then ndr("Stock") = dic1(ndr("PartNo")) dic1(ndr("PartNo")) -= ndr("Stock") End If End If End If Functions.Execute("sumChild",dr("PN"),ndr("Demand"), args(2), args(3), args(4), flag, ndr("Stock")) If dic2.ContainsKey(ndr("PartNo")) Then Dim qty1 = ndr("Demand") - ndr("stock") If qty1 > 0 Then If dic2(ndr("PartNo")) >= qty1 Then ndr("QC") = qty1 dic2(ndr("PartNo")) -= ndr("QC") ElseIf dic2(ndr("PartNo")) > 0 Then ndr("QC") = dic2(ndr("PartNo")) dic2(ndr("PartNo")) -= ndr("QC") End If End If End If If dic3.ContainsKey(ndr("PartNo")) Then ' If dic3(ndr("PartNo")) >= ndr("Demand") Then ' ndr("purchasingorder") = ndr("Demand") Dim qty2 = ndr("Demand") - ndr("stock") - ndr("QC") If qty2 > 0 Then If dic3(ndr("PartNo")) >= qty2 Then ndr("purchasingorder") = qty2 dic3(ndr("PartNo")) -= ndr("purchasingorder") ElseIf dic3(ndr("PartNo")) > 0 Then ndr("purchasingorder") = dic3(ndr("PartNo")) dic3(ndr("PartNo")) -= ndr("purchasingorder") End If End If End If If args(5) = True Then ndr("MissingQty") = ndr("Stock")+ndr("QC") -ndr("Demand") Else ndr("MissingQty") = Nothing End If If dic4.ContainsKey(ndr("PartNo")) = False Then dic4.add(ndr("PartNo"), ndr("MissingQty")) Else dic4(ndr("PartNo")) += ndr("MissingQty") End If ndr("SumMissing") = dic4(ndr("partno")) Next
|