更新销售合同/提成/业绩、精工工序工价/生产审核/工时统计、仓储盘点/库存/补货/入库/库房管理,新增提成设置/销售业绩/库房管理/入库单移动端等模块及SQL脚本

This commit is contained in:
Developer
2026-08-05 08:13:08 +08:00
parent 33549c3787
commit fd84f9d3ca
94 changed files with 14531 additions and 345 deletions

View File

@@ -79,6 +79,14 @@ AND NOT EXISTS (
WHERE name = N'UX_车间生产管理工艺_工序工价_工序流水号'
AND object_id = OBJECT_ID(N'[dbo].[车间生产管理工艺_工序工价]')
)
-- 修改人:Ld 修改时间:2026-07-31 10:53:08; 测试库存在历史重复工序流水号时跳过唯一索引创建,避免阻断存储过程部署
AND NOT EXISTS (
SELECT 1
FROM [dbo].[_工序工价]
WHERE IS NOT NULL
GROUP BY
HAVING COUNT(1) > 1
)
BEGIN
CREATE UNIQUE NONCLUSTERED INDEX [UX_车间生产管理工艺_工序工价_工序流水号]
ON [dbo].[_工序工价]([])
@@ -86,7 +94,7 @@ BEGIN
END
GO
-- 工序工价历史表,记录最终单价前后数据;修改人:Ld 修改时间:2026-07-06 09:27:09;
-- 工序工价历史表,记录设置弹窗完整字段变更前后数据;修改人:Ld 修改时间:2026-07-31 10:53:08;
IF OBJECT_ID(N'[dbo].[车间生产管理工艺_工序工价历史记录]', N'U') IS NULL
BEGIN
CREATE TABLE [dbo].[_工序工价历史记录](
@@ -108,8 +116,39 @@ BEGIN
END
GO
-- 清理旧历史中的多字段内容,历史弹窗只保留最终单价数据;修改人:Ld 修改时间:2026-07-06 09:27:09;
IF OBJECT_ID(N'[dbo].[车间生产管理工艺_工序工价历史记录]', N'U') IS NOT NULL
IF OBJECT_ID(N'[dbo].[车间生产管理工艺_工序工价_历史快照]', N'FN') IS NOT NULL
DROP FUNCTION [dbo].[_工序工价_历史快照];
GO
-- 设置弹窗完整字段历史快照;修改人:Ld 修改时间:2026-07-31 10:53:08;
CREATE FUNCTION [dbo].[_工序工价_历史快照](
@s DECIMAL(18, 4),
@s DECIMAL(18, 4),
@s DECIMAL(18, 4),
@ DECIMAL(18, 4),
@ DECIMAL(18, 4),
@ DECIMAL(18, 4),
@ DECIMAL(18, 4),
@ DATE,
@ INT
)
RETURNS NVARCHAR(MAX)
AS
BEGIN
RETURN N'机动时间s=' + CONVERT(NVARCHAR(50), ISNULL(@s, 0))
+ N';辅助时间s=' + CONVERT(NVARCHAR(50), ISNULL(@s, 0))
+ N';总时间s=' + CONVERT(NVARCHAR(50), ISNULL(@s, 0))
+ N';单装数量(件)=' + CONVERT(NVARCHAR(50), ISNULL(@, 0))
+ N';操作台数=' + CONVERT(NVARCHAR(50), ISNULL(@, 0))
+ N';日产能(件)=' + CONVERT(NVARCHAR(50), ISNULL(@, 0))
+ N';最终单价(元/件)=' + CONVERT(NVARCHAR(50), ISNULL(@, 0))
+ N';生效日期=' + ISNULL(CONVERT(NVARCHAR(10), @, 120), N'')
+ N';变更次数=' + CONVERT(NVARCHAR(50), ISNULL(@, 0));
END
GO
-- 旧历史不再压缩字段,保留后续完整字段快照;修改人:Ld 修改时间:2026-07-31 10:53:08;
IF 1 = 0 AND OBJECT_ID(N'[dbo].[车间生产管理工艺_工序工价历史记录]', N'U') IS NOT NULL
BEGIN
UPDATE [dbo].[_工序工价历史记录]
SET = CASE
@@ -461,8 +500,18 @@ BEGIN
BEGIN
SELECT
@Old工序流水号 = ,
-- 修改人:Ld 修改时间:2026-07-06 09:27:09; 历史数据只存储最终单价
@ = N'最终单价(元/件)=' + CONVERT(NVARCHAR(50), ISNULL([(/)], 0))
-- 修改人:Ld 修改时间:2026-07-31 10:53:08; 历史记录保留设置弹窗全部字段
@ = [dbo].[_工序工价_历史快照](
[s],
[s],
[s],
[()],
[],
[()],
[(/)],
,
)
FROM [dbo].[_工序工价]
WHERE = @Id;
@@ -545,8 +594,18 @@ BEGIN
SET @ = N'';
END;
-- 修改人:Ld 修改时间:2026-07-06 09:27:09; 历史数据只存储最终单价
SET @ = N'最终单价(元/件)=' + CONVERT(NVARCHAR(50), @Safe最终单价元件);
-- 修改人:Ld 修改时间:2026-07-31 10:53:08; 历史记录保留设置弹窗全部字段
SET @ = [dbo].[_工序工价_历史快照](
@Safe机动时间s,
@Safe辅助时间s,
@Safe总时间s,
@Safe单装数量件,
@Safe操作台数,
@Safe日产能件,
@Safe最终单价元件,
@Safe生效日期,
@Safe变更次数
);
INSERT INTO [dbo].[_工序工价历史记录](
,
@@ -612,6 +671,15 @@ BEGIN
DECLARE @ NVARCHAR(100);
DECLARE @ NVARCHAR(100);
DECLARE @ NVARCHAR(MAX);
DECLARE @s DECIMAL(18, 4);
DECLARE @s DECIMAL(18, 4);
DECLARE @s DECIMAL(18, 4);
DECLARE @ DECIMAL(18, 4);
DECLARE @ DECIMAL(18, 4);
DECLARE @ DECIMAL(18, 4);
DECLARE @ DECIMAL(18, 4);
DECLARE @ DATE;
DECLARE @ INT;
SET @Id = CASE WHEN ISNUMERIC(NULLIF(@, N'')) = 1 THEN CONVERT(INT, @) ELSE NULL END;
@@ -640,8 +708,27 @@ BEGIN
@ = ,
@ = ,
@ = ,
-- 修改人:Ld 修改时间:2026-07-06 09:27:09; 停用历史只记录最终单价
@ = N'最终单价(元/件)=' + CONVERT(NVARCHAR(50), ISNULL([(/)], 0))
@s = [s],
@s = [s],
@s = [s],
@ = [()],
@ = [],
@ = [()],
@ = [(/)],
@ = ,
@ = ,
-- 修改人:Ld 修改时间:2026-07-31 10:53:08; 停用历史记录设置弹窗全部字段
@ = [dbo].[_工序工价_历史快照](
[s],
[s],
[s],
[()],
[],
[()],
[(/)],
,
)
FROM [dbo].[_工序工价]
WHERE = @Id;
@@ -651,8 +738,18 @@ BEGIN
= @
WHERE = @Id;
-- 修改人:Ld 修改时间:2026-07-06 09:27:09; 停用历史只记录最终单价
SET @ = @;
-- 修改人:Ld 修改时间:2026-07-31 10:53:08; 停用历史仍展示设置弹窗字段快照
SET @ = [dbo].[_工序工价_历史快照](
@s,
@s,
@s,
@,
@,
@,
@,
@,
@
);
INSERT INTO [dbo].[_工序工价历史记录](
,
@@ -947,7 +1044,18 @@ BEGIN
price.,
N'拷贝',
N'源零件图号=' + ISNULL(@, N''),
N'最终单价(元/件)=' + CONVERT(NVARCHAR(50), price.[(/)]),
-- 修改人:Ld 修改时间:2026-07-31 10:53:08; 拷贝历史记录设置弹窗全部字段
[dbo].[_工序工价_历史快照](
price.[s],
price.[s],
price.[s],
price.[()],
price.[],
price.[()],
price.[(/)],
price.,
price.
),
@,
@,
N'工序工价拷贝'