更新装配、销售、精工车间、技术中心、仓储多个模块,整理文档和SQL脚本

This commit is contained in:
Developer
2026-06-29 13:36:34 +08:00
parent 137e276340
commit be0ff91e24
54 changed files with 5066 additions and 723 deletions

View File

@@ -0,0 +1,283 @@
IF OBJECT_ID(N'dbo.库存盘点_调拨记录', N'U') IS NULL
BEGIN
CREATE TABLE dbo._调拨记录
(
INT IDENTITY(1,1) NOT NULL PRIMARY KEY,
NVARCHAR(50) NULL,
INT NULL,
INT NULL,
INT NULL,
INT NULL,
INT NULL,
FLOAT NULL,
FLOAT NULL,
FLOAT NULL,
FLOAT NULL,
FLOAT NULL,
NVARCHAR(200) NULL,
INT NULL,
DATETIME NULL
)
END
GO
IF OBJECT_ID(N'dbo.仓储管理_库存盘点_库存调拨', N'P') IS NOT NULL
DROP PROCEDURE dbo._库存盘点_库存调拨
GO
CREATE PROCEDURE dbo._库存盘点_库存调拨
@ INT = NULL,
@ INT = NULL,
@ INT = NULL,
@ INT = NULL,
@ FLOAT = NULL,
@ FLOAT = NULL,
@ NVARCHAR(200) = NULL,
@ INT = NULL,
@ NVARCHAR(50) = NULL
AS
BEGIN
SET NOCOUNT ON;
SET XACT_ABORT ON;
DECLARE @ FLOAT;
DECLARE @ FLOAT;
DECLARE @ FLOAT;
DECLARE @ FLOAT;
DECLARE @ FLOAT;
DECLARE @ FLOAT;
DECLARE @ INT;
DECLARE @ NVARCHAR(50);
DECLARE @ FLOAT;
DECLARE @ NVARCHAR(200);
IF ISNULL(@, 0) = 0
BEGIN
SELECT '0' AS result, N'原库存记录不能为空' AS msg;
RETURN;
END;
IF ISNULL(@, 0) = 0
BEGIN
SELECT '0' AS result, N'目标库位不能为空' AS msg;
RETURN;
END;
IF ISNULL(@, 0) <= 0
BEGIN
SELECT '0' AS result, N'调拨数量必须大于0' AS msg;
RETURN;
END;
IF ISNULL(@, 0) = ISNULL(@, 0)
BEGIN
SELECT '0' AS result, N'目标库位不能与原库位相同' AS msg;
RETURN;
END;
BEGIN TRY
BEGIN TRANSACTION;
IF ISNULL(@, N'') = N'通用件'
BEGIN
SELECT
@ = ISNULL(, 0),
@ = ,
@ =
FROM dbo._半成品与货位对照表 WITH (UPDLOCK, ROWLOCK)
WHERE = @;
IF @ IS NULL
BEGIN
RAISERROR(N'原库存记录不存在', 16, 1);
END;
IF @ < @
BEGIN
RAISERROR(N'原库位库存不足', 16, 1);
END;
SET @ = @;
SET @ = @ - @;
UPDATE dbo._半成品与货位对照表
SET
= @,
= @,
= GETDATE()
WHERE = @;
SELECT
@ = ,
@ = ISNULL(, 0)
FROM dbo._半成品与货位对照表 WITH (UPDLOCK, ROWLOCK)
WHERE = @
AND = @;
SET @ = ISNULL(@, 0);
SET @ = @ + @;
IF @ IS NULL
BEGIN
INSERT INTO dbo._半成品与货位对照表
(, , , , )
VALUES
(@, @, @, @, GETDATE());
SET @ = SCOPE_IDENTITY();
END
ELSE
BEGIN
UPDATE dbo._半成品与货位对照表
SET
= @,
= @,
= GETDATE()
WHERE = @;
END;
SELECT @ = SUM(ISNULL(, 0))
FROM dbo._半成品与货位对照表
WHERE = @;
UPDATE dbo._半成品累计库存
SET = @
WHERE = @;
INSERT INTO dbo._修改记录
(, , , , )
VALUES
(@, @, @, @, @);
INSERT INTO dbo._调拨记录
(, , , , , , , , , , , , , )
VALUES
(@, @, @, @, @, @, @, @, @, @, @, @, @, GETDATE());
END
ELSE
BEGIN
SELECT
@ = ISNULL(, 0),
@ = ,
@ = ,
@ =
FROM dbo._物料与货位对照表 WITH (UPDLOCK, ROWLOCK)
WHERE = @;
IF @ IS NULL
BEGIN
RAISERROR(N'原库存记录不存在', 16, 1);
END;
IF @ < @
BEGIN
RAISERROR(N'原库位库存不足', 16, 1);
END;
IF ISNULL(@, N'') = N''
BEGIN
SET @ = CONVERT(VARCHAR(10), GETDATE(), 23) + N'-PD' + CONVERT(NVARCHAR(50), @);
UPDATE dbo._物料与货位对照表
SET = @
WHERE = @;
END;
SET @ = @;
SET @ = @ - @;
UPDATE dbo._物料与货位对照表
SET
= @,
= @,
= GETDATE()
WHERE = @;
SELECT
@ = ,
@ = ISNULL(, 0)
FROM dbo._物料与货位对照表 WITH (UPDLOCK, ROWLOCK)
WHERE = @
AND = @
AND ISNULL(, 0) = 0
AND ISNULL(, 0) = 0;
SET @ = ISNULL(@, 0);
SET @ = @ + @;
IF @ IS NULL
BEGIN
INSERT INTO dbo._物料与货位对照表
(, , , , , )
VALUES
(@, @, @, @, GETDATE(), @);
SET @ = SCOPE_IDENTITY();
END
ELSE
BEGIN
UPDATE dbo._物料与货位对照表
SET
= @,
= @,
= GETDATE()
WHERE = @;
END;
SELECT @ = SUM(ISNULL(, 0))
FROM dbo._物料与货位对照表
WHERE = @;
IF NOT EXISTS (
SELECT 1
FROM dbo._外购件累计库存
WHERE = @
)
BEGIN
INSERT INTO dbo._外购件累计库存
(, )
VALUES
(@, @);
END
ELSE
BEGIN
UPDATE dbo._外购件累计库存
SET = @
WHERE = @;
END;
INSERT INTO dbo._修改记录
(, , , , )
VALUES
(@, @, @, @, @);
INSERT INTO dbo._调拨记录
(, , , , , , , , , , , , , )
VALUES
(@, @, @, @, @, @, @, @, @, @, @, @, @, GETDATE());
END;
COMMIT TRANSACTION;
SELECT
'1' AS result,
N'调拨成功' AS msg,
@ AS ,
@ AS ,
@ AS ,
@ AS ,
@ AS ,
@ AS ;
END TRY
BEGIN CATCH
IF @@TRANCOUNT > 0
ROLLBACK TRANSACTION;
SET @ = ERROR_MESSAGE();
SELECT
'0' AS result,
@ AS msg;
END CATCH;
END
GO