Dim sl As Integer = 0
For Each r As Row In Tables("商品出库_table1").GetCheckedRows
If r("库位") = "库存不足" And r("库位") Is Nothing Then
r.Checked = False
Else
r.Checked = True
Dim pr As DataRow
Dim filter As String
filter = "Item = '" & r("商品编号") & "'"
pr = DataTables("商品库存").Find(filter)
If pr IsNot Nothing Then
pr("待发库存") = pr("待发库存") + r("数量")
pr("可用库存") = pr("可用库存") - r("数量")
pr("实时库存") = pr("实时库存") - r("数量")
pr.Save()
End If
Dim dr As DataRow = DataTables("商品库存明细").Find("货品编号 = '" & r("商品编号") & "' and 可用库存 >=" & r("数量"))
If dr IsNot Nothing Then
Dim d1 As Row = Tables("出库明细").AddNew()
d1("订单编号") = r("订单编号")
d1("商品编号") = r("商品编号")
d1("出库日期") = r("出库日期")
d1("中文名称") = r("中文名称")
d1("中文描述") = r("中文描述")
d1("单价") = r("单价")
d1("出库数量") = r("数量")
d1("净重") = r("净重")
d1("单位") = r("单位")
d1("经手人") = r("经手人")
d1("有效期至") = r("有效期至")
d1("生产日期") = r("生产日期")
d1("经手人姓名") = r("经手人姓名")
d1("库位") = dr("货格")
d1("总价") = r("总价")
d1("沃尔玛商品号") = r("沃尔玛商品号")
d1("收货地址") = r("收货地址")
d1("收货人") = r("收货人")
d1("收货人电话") = r("收货人电话")
d1("入库日期") = dr("入库日期")
d1("入库数量") = dr("可用库存")
d1("剩余库存") = dr("可用库存") - r("数量")
If d1("剩余库存") > 0 Then
dr("可用库存") = d1("剩余库存")
dr("实时库存") = d1("剩余库存")
'Else If d1("剩余库存") = 0 Then
'dr.Delete()
End If
Else
Dim count As Integer = 0
Dim drs As List(Of DataRow) = DataTables("商品库存明细").Select("货品编号 = '" & r("商品编号") & "' AND 可用库存 > 0", "生产日期, _Identify")
Dim s As String = ""
Dim cnt As Integer
For i As Integer = 0 To drs.count - 1
Dim dr1 As DataRow = drs(i)
count += dr1("可用库存")
Dim sy As Integer = count - r("数量")
's &= dr1("货格") & ","
If sy >= 0 Then
cnt = i
Exit For
End If
Next
Dim coun As Integer = 0
'For k As Integer = 0 To cnt
'Dim dr3 As DataRow = drs(k)
'If k = cnt - 1 Then
'Exit For
'End If
'coun += dr3("可用库存")
'Next
'
For j As Integer = 0 To cnt
Dim d2 As Row = Tables("出库明细").AddNew()
Dim dr2 As DataRow = drs(j)
If j < cnt Then
d2("订单编号") = r("订单编号")
d2("商品编号") = r("商品编号")
d2("出库日期") = r("出库日期")
d2("中文名称") = r("中文名称")
d2("中文描述") = r("中文描述")
d2("单价") = r("单价")
d2("出库数量") = dr2("可用库存")
d2("净重") = r("净重")
d2("单位") = r("单位")
d2("经手人") = r("经手人")
d2("有效期至") = r("有效期至")
d2("生产日期") = r("生产日期")
d2("经手人姓名") = r("经手人姓名")
d2("库位") = dr2("货格")
d2("总价") = r("总价")
d2("沃尔玛商品号") = r("沃尔玛商品号")
d2("收货地址") = r("收货地址")
d2("收货人") = r("收货人")
d2("收货人电话") = r("收货人电话")
d2("入库日期") = dr2("入库日期")
d2("入库数量") = dr2("可用库存")
d2("剩余库存") = dr2("可用库存") - d2("出库数量")
coun += dr2("可用库存")
'If d2("剩余库存") = 0 Then
'dr2.Delete()
'End If
Else If j = cnt Then
d2("订单编号") = r("订单编号")
d2("商品编号") = r("商品编号")
d2("出库日期") = r("出库日期")
d2("中文名称") = r("中文名称")
d2("中文描述") = r("中文描述")
d2("单价") = r("单价")
d2("出库数量") = r("数量") - coun
d2("净重") = r("净重")
d2("单位") = r("单位")
d2("经手人") = r("经手人")
d2("有效期至") = r("有效期至")
d2("生产日期") = r("生产日期")
d2("经手人姓名") = r("经手人姓名")
d2("库位") = dr2("货格")
d2("总价") = r("总价")
d2("沃尔玛商品号") = r("沃尔玛商品号")
d2("收货地址") = r("收货地址")
d2("收货人") = r("收货人")
d2("收货人电话") = r("收货人电话")
d2("入库日期") = dr2("入库日期")
d2("入库数量") = dr2("可用库存")
d2("剩余库存") = dr2("可用库存") - d2("出库数量")
If d2("剩余库存") > 0 Then
dr2("可用库存") = d2("剩余库存")
dr2("实时库存") = d2("剩余库存")
'Else If d2("剩余库存") = 0 Then
'dr2.Delete()
End If
End If
Next
End If
sl = sl+1
End If
Next
DataTables("出库明细").Save()
DataTables("商品库存明细").Save()
MessageBox.Show("导入成功!本次有 " & Tables("商品出库_table1").Compute("Sum(数量)") & " 个商品数量,共计 " & sl & " 种新商品!")
'With DataTables("当天出库")
'.DataRows.Clear() '清除所有行
'End With
For Each r As Row In Tables("当天出库").GetCheckedRows
r.Delete
Next
DataTables("当天出库").Save()
Dim d As Date = Date.Today
Dim tr As WinForm.TreeView = Forms("商品出库").Controls("TreeView1")
tr.BuildTree("出库明细", "订单编号","出库日期 = '" & d & "'")
tr.Nodes.Insert("当天所有出库记录",0)
For Each nd As WinForm.TreeNode In tr.AllNodes
nd.ExpandAll
Next
这段代码,想筛出副本表中不是库存不足或者空的的数据提交,如果选中,自动识别,满足要求的提交并且在最后删掉这些已提交的行,这样写好像没效果,不满足则不能选中