更新装配、精工车间、技术中心、仓储模块,新增工序工价、生产审核、三楼仓库可视化等功能及文档SQL

This commit is contained in:
Developer
2026-07-06 11:21:59 +08:00
parent be0ff91e24
commit 9c1f52078d
43 changed files with 8566 additions and 233 deletions

View File

@@ -0,0 +1,381 @@
-- 生产完成审核查询与审核处理 修改人:Ld 修改时间:2026-07-02 13:57:18;
IF OBJECT_ID(N'[dbo].[机加工MES_加工完成整修审核_查询数据]', N'P') IS NOT NULL
DROP PROCEDURE [dbo].[MES_加工完成整修审核_查询数据];
GO
CREATE PROCEDURE [dbo].[MES_加工完成整修审核_查询数据]
@_check INT = 0,
@ NVARCHAR(20) = N'',
@_check INT = 0,
@ NVARCHAR(50) = N'',
@_check INT = 0,
@ NVARCHAR(100) = N'',
@_check INT = 0,
@ NVARCHAR(20) = N'',
@ NVARCHAR(20) = N'',
@PageCurrent INT = 1,
@PageSize INT = 100
AS
BEGIN
SET NOCOUNT ON;
IF @PageCurrent IS NULL OR @PageCurrent < 1 SET @PageCurrent = 1;
IF @PageSize IS NULL OR @PageSize < 1 SET @PageSize = 100;
;WITH AuditData AS (
SELECT
ROW_NUMBER() OVER (
ORDER BY
CASE WHEN A. = N'待审核' THEN 0 ELSE 1 END,
A. DESC,
A.id DESC
) AS RowNum,
A.id,
A.,
A.,
V.,
V.,
V.,
V.,
V.,
V.,
V. AS ,
V.,
V.,
V.,
V.,
A.,
A.,
. AS ,
A.,
A.,
A.,
. AS ,
A.,
ISNULL(SB., A.) AS ,
A.,
A.,
A.,
A.,
A.,
A.,
ISNULL(., A.) AS ,
A.,
A.id,
A.,
CONVERT(VARCHAR(19), A., 120) AS ,
CONVERT(VARCHAR(19), A., 120) AS ,
CONVERT(VARCHAR(19), A., 120) AS ,
A.,
. AS ,
CONVERT(VARCHAR(19), A., 120) AS ,
A.,
A.,
CONVERT(VARCHAR(19), A., 120) AS
FROM [dbo].[MES_机加工MES_加工完成整修审核表] AS A
LEFT JOIN [dbo].[_零件工序_视图] AS V
ON A. = V.
LEFT JOIN [dbo].[_人员名单] AS
ON A. = .
LEFT JOIN [dbo].[_人员名单] AS
ON A. = .
OR A. = .
LEFT JOIN [dbo].[_人员名单] AS
ON A. = CONVERT(NVARCHAR(100), .)
OR A. = CONVERT(NVARCHAR(100), .)
OR A. = .
LEFT JOIN [dbo].[_人员名单] AS
ON A. = CONVERT(NVARCHAR(100), .)
OR A. = CONVERT(NVARCHAR(100), .)
OR A. = .
LEFT JOIN [dbo].[_设备工位点检表] AS SB
ON A. = SB.
WHERE (@_check = 0 OR A. = @)
AND (@_check = 0 OR A. = @)
AND (@_check = 0 OR ISNULL(., ISNULL(A., N'')) LIKE N'%' + @ + N'%')
AND (@_check = 0 OR CONVERT(DATE, A.) BETWEEN CONVERT(DATE, @) AND CONVERT(DATE, @))
)
SELECT
id,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
id,
,
,
,
,
,
,
,
,
,
FROM AuditData
WHERE RowNum BETWEEN ((@PageCurrent - 1) * @PageSize + 1) AND (@PageCurrent * @PageSize)
ORDER BY RowNum;
SELECT COUNT(1) AS total
FROM [dbo].[MES_机加工MES_加工完成整修审核表] AS A
LEFT JOIN [dbo].[_人员名单] AS
ON A. = CONVERT(NVARCHAR(100), .)
OR A. = CONVERT(NVARCHAR(100), .)
OR A. = .
WHERE (@_check = 0 OR A. = @)
AND (@_check = 0 OR A. = @)
AND (@_check = 0 OR ISNULL(., ISNULL(A., N'')) LIKE N'%' + @ + N'%')
AND (@_check = 0 OR CONVERT(DATE, A.) BETWEEN CONVERT(DATE, @) AND CONVERT(DATE, @));
END;
GO
-- 生产完成审核状态更新,审核通过时接入原 MES 完工链路 修改人:Ld 修改时间:2026-07-02 14:55:23;
IF OBJECT_ID(N'[dbo].[机加工MES_加工完成整修审核_审核数据]', N'P') IS NOT NULL
DROP PROCEDURE [dbo].[MES_加工完成整修审核_审核数据];
GO
CREATE PROCEDURE [dbo].[MES_加工完成整修审核_审核数据]
@ INT,
@ NVARCHAR(20),
@ NVARCHAR(100) = NULL,
@ NVARCHAR(1000) = NULL,
@ FLOAT = NULL,
@ DATETIME = NULL,
@ DATETIME = NULL,
@ DATETIME = NULL,
@ DATETIME = NULL,
@ NVARCHAR(1000) = NULL
AS
BEGIN
SET NOCOUNT ON;
DECLARE @ NVARCHAR(50);
DECLARE @ INT;
DECLARE @ NVARCHAR(50);
DECLARE @ FLOAT;
DECLARE @ INT;
DECLARE @ INT;
DECLARE @ NVARCHAR(100);
DECLARE @ NVARCHAR(500);
DECLARE @ NVARCHAR(100);
DECLARE @id INT;
DECLARE @ NVARCHAR(1000);
DECLARE @ FLOAT;
DECLARE @ INT;
DECLARE @ NVARCHAR(100);
DECLARE @ INT;
DECLARE @ BIT;
DECLARE @ TABLE (result NVARCHAR(100));
IF NOT EXISTS (
SELECT 1
FROM [dbo].[MES_机加工MES_加工完成整修审核表]
WHERE id = @
AND = N'待审核'
)
BEGIN
SELECT N'0' AS result, N'该审核记录不存在或已审核' AS message;
RETURN;
END;
IF @ NOT IN (N'审核通过', N'审核不通过')
BEGIN
SELECT N'0' AS result, N'审核状态不正确' AS message;
RETURN;
END;
SELECT
@ = ,
@ = ,
@ = ,
@ = ISNULL(@, ),
@ = ,
@ = ,
@ = ,
@ = ,
@ = ,
@id = id,
@ = ISNULL(@, )
FROM [dbo].[MES_机加工MES_加工完成整修审核表]
WHERE id = @
AND = N'待审核';
BEGIN TRY
SET @ = CASE WHEN @@TRANCOUNT = 0 THEN 1 ELSE 0 END;
IF @ = 1
BEGIN
BEGIN TRAN;
END
ELSE
BEGIN
SAVE TRAN ;
END;
IF @ = N'审核通过' AND @ = N'加工完成'
BEGIN
IF @ IS NULL OR @ IS NULL OR @ IS NULL OR @ IS NULL OR @ IS NULL
BEGIN
IF @ = 1 ROLLBACK TRAN ELSE ROLLBACK TRAN ;
SELECT N'0' AS result, N'审核记录缺少原 MES 完工必需参数' AS message;
RETURN;
END;
IF @ <= 0 OR @ <> FLOOR(@)
BEGIN
IF @ = 1 ROLLBACK TRAN ELSE ROLLBACK TRAN ;
SELECT N'0' AS result, N'完成数量必须为大于 0 的整数' AS message;
RETURN;
END;
INSERT INTO @(result)
EXEC [dbo].[_零件工序_工序完成过程情况_增加数据]
@ = @,
@ = @,
@ = @,
@ = @,
@ = @,
@ = @,
@ = @,
@ = @ OUTPUT,
@ = @ OUTPUT;
SELECT TOP 1 @ = result FROM @;
IF ISNULL(@, N'') <> N'成功'
BEGIN
IF @ = 1 ROLLBACK TRAN ELSE ROLLBACK TRAN ;
SELECT N'0' AS result, ISNULL(@, N'原 MES 完工流程执行失败') AS message;
RETURN;
END;
IF @ IS NOT NULL
BEGIN
SELECT @ = MAX()
FROM [dbo].[_零件工序_工序完成过程情况]
WHERE = @
AND = @
AND = @;
UPDATE [dbo].[_零件工序_工序完成过程情况]
SET = ISNULL(@, ),
= @,
= CONVERT(DATE, @),
= @,
= CASE WHEN ISNUMERIC(@) = 1 THEN CAST(@ AS INT) ELSE END,
= GETDATE()
WHERE = @;
UPDATE [dbo].[_零件工序]
SET = CASE WHEN IS NULL OR >= ISNULL(, 0) THEN @ ELSE END
WHERE = @;
END;
IF @ IS NOT NULL AND @ IS NULL
BEGIN
SELECT @ = MAX()
FROM [dbo].[_零件工序_工序完成过程情况]
WHERE = @
AND = @
AND = @;
UPDATE [dbo].[_零件工序_工序完成过程情况]
SET = @,
= CASE WHEN ISNUMERIC(@) = 1 THEN CAST(@ AS INT) ELSE END,
= GETDATE()
WHERE = @;
END;
END;
IF @ = N'审核通过' AND @ = N'结束整修'
BEGIN
IF @id IS NULL OR @ IS NULL
BEGIN
IF @ = 1 ROLLBACK TRAN ELSE ROLLBACK TRAN ;
SELECT N'0' AS result, N'审核记录缺少整修结束必需参数' AS message;
RETURN;
END;
UPDATE [dbo].[_整修]
SET = CASE WHEN @ IS NULL THEN ELSE CONVERT(VARCHAR(20), @, 120) END,
= CONVERT(VARCHAR(20), ISNULL(@, GETDATE()), 120),
= N'1',
= @
WHERE id = @id
AND = @;
END;
UPDATE [dbo].[MES_机加工MES_加工完成整修审核表]
SET = @,
= @,
= GETDATE(),
= ISNULL(@, N''),
= CASE WHEN @ = N'审核通过' AND @ = N'加工完成' THEN @ ELSE END,
= CASE
WHEN @ = N'审核通过' AND @ = N'加工完成' AND @ IS NOT NULL THEN @
WHEN @ = N'审核通过' AND @ = N'结束整修' AND @ IS NOT NULL THEN @
ELSE
END,
= CASE
WHEN @ = N'审核通过' AND @ = N'加工完成' AND @ IS NOT NULL THEN @
WHEN @ = N'审核通过' AND @ = N'结束整修' THEN ISNULL(@, GETDATE())
ELSE
END,
= CASE WHEN @ = N'审核通过' AND @ = N'结束整修' THEN @ ELSE END,
= CASE WHEN @ = N'审核通过' AND @ = N'加工完成' THEN @ ELSE END,
= CASE WHEN @ = N'审核通过' AND @ = N'加工完成' THEN @ ELSE END,
= N'Ld',
= GETDATE()
WHERE id = @
AND = N'待审核';
IF @ = 1
BEGIN
COMMIT TRAN;
END;
END TRY
BEGIN CATCH
IF @@TRANCOUNT > 0
BEGIN
IF ISNULL(@, 1) = 1
BEGIN
ROLLBACK TRAN;
END
ELSE
BEGIN
ROLLBACK TRAN ;
END;
END;
SELECT N'0' AS result, ERROR_MESSAGE() AS message;
RETURN;
END CATCH;
SELECT N'1' AS result;
END;
GO