此主题相关图片如下:66666666666666666666666666666666666666.jpg

包装 里面的 6 代表第6袋,
例如 :这个第6袋 里面应该有10个单号,
分别是 2023001
2023002
2023003
2023004
2023005
2023006
2023007
2023008
2023009
2023010
请问用什么办法找缺少的单号?
[此贴子已经被作者于2024/1/15 10:40:52编辑过]
上传方法:http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&Id=78
重复上传直到编辑器有上传后的链接
此主题相关图片如下:66666666666666666666666666666666666666.jpg

包装 里面的 6 代表第6袋, 例如 :这个第6袋 里面应该有10个单号, 分别是 2023001 2023002 2023003 2023004 2023005 2023006 2023007 2023008 2023009 2023010 请问用什么思路查找 第6袋 缺少的单号? |
[此贴子已经被作者于2024/1/15 10:43:26编辑过]
怎么知道某一个袋里的第一个单号是什么?比如第6袋的第一个单号是2023001,那么第2袋的第一个单号又是什么,第3袋呢?
我们是这样的,
单号定为7位,每一袋50个单号,袋子号的规则是取单号的后两位, 生成袋子号的时候取用单号前几位不变。
例如:
2023001 至 2023050 是一袋,2023051至2023100是一袋
判断一下单号的后两位
如果,后两位是01 至 50 的话,那么袋号就生成2023001
如果,后两位是51 至 99 的话,那么袋号就生产2023002
如果,后两位是00 (2023100),单号的左3位减1 生产单号 那么袋号就生产2023002
2023516 袋子号就是 2023501
2023600 袋子号就是 2023502
我们输入单号的时候,有可能单号有几个没有录入,没有录入的话,怎么把这一袋缺少的单号找出来
Dim a As Integer = 1
Dim lst As New list(Of String)
Dim ps As list(Of String) = DataTables("订单").getvalues("单号", "包装=6 and 单号 is not null")
Dim s As String
If ps.count > 0 AndAlso ps.count < 50 Then
s = ps(0)
Dim x As Integer = CInt(s.substring(s.length - 2))
If x > 50 OrElse x <= 0 Then
a = 51
End If
Dim p As String = s.substring(0, 4)
Dim k As Integer = CInt(s.substring(4, 1) & format(a, "00"))
For i As Integer = k To k + 49
s = p & format(i, "000")
If ps.contains(s) = False Then lst.add(s)
Next
End If
Output.Show("缺失单号")
For Each s1 As String In lst
Output.Show(s1)
Next