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

@@ -0,0 +1,229 @@
-- 方案一补货关联合同测试库增量脚本;修改人:Ld 修改时间:2026-08-03 16:06:00;
USE [ERPTOOL_JY_20250826Back];
GO
IF OBJECT_ID(N'[dbo].[仓储管理_补货关联合同_查询数据]', N'P') IS NOT NULL
DROP PROCEDURE [dbo].[_补货关联合同_查询数据];
GO
-- 补货创建时查询可关联的销售合同/订单;修改人:Ld 修改时间:2026-08-03 16:06:00;
CREATE PROCEDURE [dbo].[_补货关联合同_查询数据]
@ NVARCHAR(100) = NULL,
@ NVARCHAR(100) = NULL,
@ NVARCHAR(100) = NULL,
@ NVARCHAR(100) = NULL
AS
BEGIN
SET NOCOUNT ON;
SELECT TOP 50
p.,
p.,
ISNULL(c., N'') AS ,
ISNULL(c., c.) AS ,
o.,
o.,
CONVERT(VARCHAR(10), p., 23) AS ,
CONVERT(VARCHAR(10), ISNULL(o., p.), 23) AS
FROM dbo.PDM_项目名称 AS p
LEFT JOIN dbo._客户名称 AS c
ON p. = c.
LEFT JOIN dbo._订单信息_基础表 AS o
ON p. = o.
WHERE ISNULL(p., 1) = 1
AND ISNULL(p., N'') <> N''
AND (ISNULL(@, N'') = N''
OR p. LIKE N'%' + @ + N'%'
OR ISNULL(c., N'') LIKE N'%' + @ + N'%'
OR ISNULL(c., N'') LIKE N'%' + @ + N'%'
OR ISNULL(o., N'') LIKE N'%' + @ + N'%')
AND (ISNULL(@, N'') = N'' OR p. LIKE N'%' + @ + N'%')
AND (ISNULL(@, N'') = N'' OR ISNULL(c., N'') LIKE N'%' + @ + N'%' OR ISNULL(c., N'') LIKE N'%' + @ + N'%')
AND (ISNULL(@, N'') = N'' OR ISNULL(o., N'') LIKE N'%' + @ + N'%')
ORDER BY p. DESC, o. DESC;
END;
GO
IF OBJECT_ID(N'[dbo].[报缺补货_提交_关联合同]', N'P') IS NOT NULL
DROP PROCEDURE [dbo].[_提交_关联合同];
GO
-- 补货提交时挂到选定销售合同/订单或仓库备货合同不改原报缺补货_提交修改人:Ld 修改时间:2026-08-03 16:06:00;
-- 仓库备货提交时自动生成CKBH前缀合同号并写入仓库补货合同明细修改人:Ld 修改时间:2026-08-04 08:29:13;
CREATE PROCEDURE [dbo].[_提交_关联合同]
@ INT = NULL,
@ INT = NULL,
@ NVARCHAR(200) = NULL,
@ DATETIME = NULL,
@ NVARCHAR(20) = NULL,
@ INT = NULL,
@ INT = NULL
AS
BEGIN
SET NOCOUNT ON;
SET XACT_ABORT ON;
DECLARE @ VARCHAR(100);
DECLARE @ VARCHAR(20);
DECLARE @ INT;
DECLARE @ INT;
DECLARE @ INT;
DECLARE @ NVARCHAR(50);
DECLARE @ NVARCHAR(50);
DECLARE @ INT = 3;
IF @ IS NULL
BEGIN
SELECT '0' AS result, N'请选择补货期限' AS message;
RETURN;
END;
IF ISNULL(@, N'') = N''
BEGIN
SELECT '0' AS result, N'请选择补货来源' AS message;
RETURN;
END;
IF @ = 1
BEGIN
IF NOT EXISTS (SELECT 1 FROM dbo.)
BEGIN
SELECT '0' AS result, N'外购补货单为空' AS message;
RETURN;
END;
SET @ = 'BHWG-';
SET @ = N'外购补货';
END
ELSE
BEGIN
IF NOT EXISTS (SELECT 1 FROM dbo.)
BEGIN
SELECT '0' AS result, N'自制补货单为空' AS message;
RETURN;
END;
SET @ = 'BHZZ-';
SET @ = N'自制补货';
END;
BEGIN TRY
BEGIN TRANSACTION;
IF @ = N'仓库备货'
BEGIN
-- 仓库备货每次创建独立CKBH合同编号规则按补货单日期+三位序号生成;修改人:Ld 修改时间:2026-08-04 08:29:13;
SET @ = 1;
SET @ = N'CKBH-' + CONVERT(VARCHAR(8), GETDATE(), 112) + RIGHT('000' + CONVERT(VARCHAR(10), @), 3);
WHILE EXISTS (SELECT 1 FROM dbo.PDM_项目名称 WITH (UPDLOCK, HOLDLOCK) WHERE = @)
BEGIN
SET @ = @ + 1;
SET @ = N'CKBH-' + CONVERT(VARCHAR(8), GETDATE(), 112) + RIGHT('000' + CONVERT(VARCHAR(10), @), 3);
END;
INSERT INTO dbo.PDM_项目名称(, , , , , , , , , , , , , , )
VALUES(@, 3, @, 0.13, GETDATE(), @, 1, GETDATE(), 8, 1, N'仓库发起备货补货合同', 1, N'仓库', 0, 0);
SET @ = SCOPE_IDENTITY();
-- 合同明细视图规格品名来源于机床名称+详情此处写入仓库补货、单价0修改人:Ld 修改时间:2026-08-04 08:29:13;
INSERT INTO dbo.PDM_机床名称(, , , , )
VALUES(@, N'仓库补货', 1, 0, N'');
SET @ = SCOPE_IDENTITY();
END;
ELSE
BEGIN
IF @ IS NULL
BEGIN
SELECT '0' AS result, N'请选择关联销售合同' AS message;
ROLLBACK TRANSACTION;
RETURN;
END;
IF NOT EXISTS (SELECT 1 FROM dbo.PDM_项目名称 WHERE = @ AND ISNULL(, 1) = 1)
BEGIN
SELECT '0' AS result, N'关联销售合同不存在或已停用' AS message;
ROLLBACK TRANSACTION;
RETURN;
END;
END;
SET @ = 1;
SET @ = @ + CONVERT(VARCHAR(8), GETDATE(), 112) + RIGHT('000' + CONVERT(VARCHAR(10), @), 3);
WHILE EXISTS (SELECT 1 FROM dbo._订单信息_基础表 WHERE = @)
BEGIN
SET @ = @ + 1;
SET @ = @ + CONVERT(VARCHAR(8), GETDATE(), 112) + RIGHT('000' + CONVERT(VARCHAR(10), @), 3);
END;
IF @ IS NULL
BEGIN
INSERT INTO dbo.PDM_机床名称()
VALUES(@);
SET @ = SCOPE_IDENTITY();
END;
INSERT INTO dbo.PDM_组件名称(, , , , , )
VALUES(@, 1, @, 0, 1, 1);
SET @ = SCOPE_IDENTITY();
IF @ = 1
BEGIN
INSERT INTO dbo._订单信息_基础表(, , , , , , , )
VALUES(@, @, @, 1, @, GETDATE(), @,
ISNULL(@, N'') + CASE WHEN ISNULL(@, N'') <> N'' THEN N';补货来源:' + @ ELSE N'' END);
INSERT INTO dbo.PDM_零件明细表_标准件和外购件(, , , , , )
SELECT @, , , 2, , @
FROM dbo.;
INSERT INTO dbo._图片(, [], [], [], [], [])
SELECT , [], [], [], _图片.[], []
FROM dbo._图片
INNER JOIN dbo.
ON dbo._图片. = dbo..
INNER JOIN dbo.PDM_零件明细表_标准件和外购件
ON dbo.. = dbo.PDM_零件明细表_标准件和外购件.
WHERE = @
AND = 1;
DELETE FROM dbo.;
DELETE FROM dbo._图片 WHERE = 1;
END;
ELSE
BEGIN
INSERT INTO dbo._订单信息_基础表(, , , , , , , )
VALUES(@, @, @, 1, @, GETDATE(), @,
ISNULL(@, N'') + CASE WHEN ISNULL(@, N'') <> N'' THEN N';补货来源:' + @ ELSE N'' END);
INSERT INTO dbo.PDM_零件明细表_基本件(, , , , , , , )
SELECT @, , , 3, , @, 1,
FROM dbo.;
INSERT INTO dbo._图片(, [], [], [], [], [])
SELECT , [], [], [], [], []
FROM dbo._图片
INNER JOIN dbo.
ON dbo._图片. = dbo..
INNER JOIN dbo.PDM_零件明细表_基本件
ON dbo.. = dbo.PDM_零件明细表_基本件.
WHERE = @
AND = 0;
DELETE FROM dbo.;
DELETE FROM dbo._图片 WHERE = 0;
END;
COMMIT TRANSACTION;
SELECT '1' AS result, @ AS , @ AS , @ AS , N'提交成功' AS message;
END TRY
BEGIN CATCH
IF @@TRANCOUNT > 0
ROLLBACK TRANSACTION;
SELECT '0' AS result, ERROR_MESSAGE() AS message;
END CATCH;
END;
GO