要求: 第一步: 填入订单号及订单数量
第二步: 由系统自动将订单数量拆分为数个单箱数量(依型号固定如600,300)的小工单.余下数量单独为一个工单.
例如:订单总量为2000 要自动拆分为 600一个的工单且有单独的序列号
0001 600
0002 600
0003 600
0004 200
第三步: 打印 工单 工人拿去生产
第四步: 依照产品型号不同有很多工序,工人需要在完成每到工序后填入系统
例如: 序号 工序 良品 不良 操作者
0001 注塑 600 0 张三
0001 抛光 595 5 李四
0001 研磨 595 王五
0002 注塑 595 5
..
..
第五步: 将零件转入装配车间 填入产品编号 至此完成。
00001 abc555
00002 abc666
请谁能帮我看下表格怎么设计,什么时候拆分订单数量。拆分完表格怎么设计。怎么拆分
第二步: 由系统自动将订单数量拆分为数个单箱数量(依型号固定如600,300)的小工单.余下数量单独为一个工单.
例如:订单总量为2000 要自动拆分为 600一个的工单且有单独的序列号
0001 600
0002 600
0003 600
0004 200
第三步: 打印 工单 工人拿去生产
第四步: 依照产品型号不同有很多工序,工人需要在完成每到工序后填入系统
例如: 序号 工序 良品 不良 操作者
0001 注塑 600 0 张三
0001 抛光 595 5 李四
0001 研磨 595 王五
0002 注塑 595 5
..
..
第五步: 将零件转入装配车间 填入产品编号 至此完成。
00001 abc555
00002 abc666
请谁能帮我看下表格怎么设计,什么时候拆分订单数量。拆分完表格怎么设计。怎么拆分
订单id,拆分数,总量订单子表
订单id,拆分id,数量
create table 订单主表
(
订单id int identity(1,1),
拆分数 int,
总量 int
)create table 订单子表
(
订单id int,
拆分id int identity(1,1),
数量 int
)declare @dd int
declare @count int
declare @group intselect @count=2000,@group=600select @dd=IDENT_CURRENT('订单主表')insert into 订单主表
select @group,@count
;WITH ww AS (
SELECT 1 AS ID,(case when @group>@count then @count else @group end) AS [group]
UNION ALL
SELECT ID+1,case when @group*(ID+1)>@count then @count-@group*ID else @group end
FROM ww where id<@count/@group+1
)
insert into 订单子表
SELECT @dd,[group] FROM ww select * from 订单主表
select * from 订单子表订单id 拆分数 总量
----------- ----------- -----------
1 600 2000(1 行受影响)
订单id 拆分id 数量
----------- ----------- -----------
1 1 600
1 2 600
1 3 600
1 4 200(4 行受影响)