更新webpack配置、精工车间工序工价/生产计划/派工及移动端界面,新增菜单迁移与工价公式调整SQL脚本
This commit is contained in:
83
sql/车间生产管理工艺_零件工序_派工_空数量校验_正式库_20260805.sql
Normal file
83
sql/车间生产管理工艺_零件工序_派工_空数量校验_正式库_20260805.sql
Normal file
@@ -0,0 +1,83 @@
|
||||
ALTER PROCEDURE [dbo].[车间生产管理工艺_零件工序_派工]
|
||||
|
||||
@工序流水号 int = null,
|
||||
|
||||
@数量 int = null,
|
||||
|
||||
@人员编号 int = null,
|
||||
|
||||
@设备流水号 int = null,
|
||||
|
||||
@调拨员编号 int = null,
|
||||
|
||||
@计划完成日期 nvarchar(50)=null,
|
||||
|
||||
@计划开始日期 nvarchar(50)=null
|
||||
|
||||
AS
|
||||
|
||||
declare @工序顺序 int
|
||||
declare @工艺计划流水号 int
|
||||
declare @工艺任务流水号 int
|
||||
declare @分配日期 nvarchar(50)
|
||||
declare @剩余料数 int
|
||||
declare @已领数量 int=0
|
||||
|
||||
-- 修改人:Ld 修改时间:2026-08-05 09:35:00; 后端兜底校验派工数量,避免空值或非正数落入任务分配表。
|
||||
if @数量 is null or @数量 <= 0
|
||||
begin
|
||||
RAISERROR(N'派工数量不能为空且必须大于0', 16, 1)
|
||||
return
|
||||
end
|
||||
|
||||
update 车间生产管理工艺_零件工序 set 已分配数 = ISNULL(已分配数,0) + @数量 where 工序流水号=@工序流水号
|
||||
|
||||
select @工艺计划流水号=工艺计划流水号,@工序顺序=工序顺序,@剩余料数=ISNULL(剩余料数,0) from 车间生产管理工艺_零件工序 where 工序流水号=@工序流水号
|
||||
|
||||
select @分配日期 = 分配日期 from 车间生产管理工艺_零件工艺计划 where 工艺计划流水号=@工艺计划流水号
|
||||
|
||||
if @分配日期 is null
|
||||
begin
|
||||
update 车间生产管理工艺_零件工艺计划 set 分配日期 = getdate() where 工艺计划流水号=@工艺计划流水号
|
||||
end
|
||||
|
||||
if @人员编号 = 16
|
||||
begin
|
||||
update 车间生产管理工艺_零件工序 set 工序间是否外协 = 1,外协数量=@数量 where 工序流水号=@工序流水号
|
||||
end
|
||||
else
|
||||
begin
|
||||
update 车间生产管理工艺_零件工序 set 工序间是否外协 = 0,外协数量=0 where 工序流水号=@工序流水号
|
||||
end
|
||||
|
||||
if @工序顺序 = 1
|
||||
begin
|
||||
if @数量 > @剩余料数 and @剩余料数 > 0
|
||||
begin
|
||||
set @已领数量 = @剩余料数
|
||||
update 车间生产管理工艺_零件工序 set 剩余料数=0 where 工序流水号=@工序流水号
|
||||
end
|
||||
else if @数量 <= @剩余料数 and @剩余料数 > 0
|
||||
begin
|
||||
set @已领数量 = @数量
|
||||
update 车间生产管理工艺_零件工序 set 剩余料数=isnull(剩余料数,0)-@数量 where 工序流水号=@工序流水号
|
||||
end
|
||||
end
|
||||
|
||||
if (select COUNT(*) from 车间生产管理工艺_零件工序_任务分配 where 工序流水号=@工序流水号 and 人员编号=@人员编号 and 设备流水号=@设备流水号) = 1
|
||||
begin
|
||||
-- 修改人:Ld 修改时间:2026-08-05 09:35:00; 累加时对历史空值做默认值处理,避免 NULL + 新数量 仍然为 NULL。
|
||||
update 车间生产管理工艺_零件工序_任务分配 set 数量=ISNULL(数量,0)+@数量,分配时间=GETDATE(),已领数量=isnull(已领数量,0)+@已领数量,调拨员编号=@调拨员编号,计划完成日期=@计划完成日期,计划开始日期=@计划开始日期 where 工序流水号=@工序流水号 and 人员编号=@人员编号 and 设备流水号=@设备流水号
|
||||
end
|
||||
else
|
||||
begin
|
||||
insert into 车间生产管理工艺_零件工序_任务分配(工序流水号,数量,人员编号,设备流水号,分配时间,已领数量,调拨员编号,计划完成日期,计划开始日期)values(@工序流水号,@数量,@人员编号,@设备流水号,GETDATE(),@已领数量,@调拨员编号,@计划完成日期,@计划开始日期)
|
||||
|
||||
if @人员编号 <> 16
|
||||
begin
|
||||
select @工艺任务流水号 = IDENT_CURRENT('车间生产管理工艺_零件工序_任务分配')
|
||||
|
||||
exec 车间生产管理工艺_零件工序_派工_生产计划_增加 @工艺任务流水号,@数量,@计划完成日期,@计划开始日期
|
||||
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user