chore: 保存盘点开发前改动

This commit is contained in:
zgw
2026-06-25 17:42:39 +08:00
parent 1af5b3cbd3
commit 4b8bc03343
114 changed files with 10005 additions and 1392 deletions

View File

@@ -1,7 +1,7 @@
IF OBJECT_ID(N'dbo.bas_stock_detail', N'U') IS NULL
BEGIN
CREATE TABLE dbo.bas_stock_detail (
detail_id nvarchar(32) NOT NULL,
detail_id nvarchar(80) NOT NULL,
stock_id nvarchar(32) NOT NULL,
product_status nvarchar(2) NULL,
lot_no nvarchar(80) NULL,
@@ -19,6 +19,12 @@ BEGIN
END
GO
IF COL_LENGTH('dbo.bas_stock_detail', 'detail_id') < 160
BEGIN
ALTER TABLE dbo.bas_stock_detail ALTER COLUMN detail_id nvarchar(80) NOT NULL;
END
GO
IF NOT EXISTS (SELECT 1 FROM sys.indexes WHERE name = N'IX_bas_stock_detail_stock_id' AND object_id = OBJECT_ID(N'dbo.bas_stock_detail'))
BEGIN
CREATE INDEX IX_bas_stock_detail_stock_id ON dbo.bas_stock_detail(stock_id);
@@ -43,7 +49,7 @@ INSERT INTO dbo.bas_stock_detail (
quantity, out_quantity, job_detail_id, stockin_detail_id, create_time
)
SELECT
LEFT(REPLACE(CONVERT(varchar(36), NEWID()), '-', ''), 32),
bs.stock_id + N'-1',
bs.stock_id,
bs.product_status,
bs.lot_no,
@@ -82,6 +88,14 @@ LEFT JOIN (
) bsa ON bsa.stock_id = bs.stock_id;
GO
UPDATE bs
SET bs.warehouse_name = bw.warehouse_name
FROM dbo.bas_stock bs
INNER JOIN dbo.bas_warehouse bw ON bs.warehouse_id = bw.warehouse_id
WHERE (bs.warehouse_name IS NULL OR bs.warehouse_name = '')
AND bw.warehouse_name IS NOT NULL;
GO
IF OBJECT_ID(N'[dbo].[proc_complete_in_job]', N'P') IS NOT NULL
BEGIN
DROP PROCEDURE [dbo].[proc_complete_in_job];
@@ -100,12 +114,15 @@ BEGIN
SET XACT_ABORT ON;
DECLARE
@now DATETIME = GETDATE(),
@now DATETIME2(3) = SYSDATETIME(),
@tray_code NVARCHAR(255),
@warehouse_id NVARCHAR(80),
@warehouse_name NVARCHAR(255),
@cargo_space_id NVARCHAR(80),
@stock_id NVARCHAR(32),
@detail_id NVARCHAR(32);
@detail_id NVARCHAR(80),
@detail_index INT = 0,
@in_type NVARCHAR(5);
DECLARE
@job_detail_id NVARCHAR(80),
@@ -133,7 +150,12 @@ BEGIN
SELECT
@cargo_space_id = cargo_space_id,
@tray_code = tray_code,
@warehouse_id = warehouse_id
@warehouse_id = warehouse_id,
@warehouse_name = ISNULL(NULLIF(warehouse_name, ''), (
SELECT TOP 1 bw.warehouse_name
FROM bas_warehouse bw
WHERE bw.warehouse_id = mydo_job.warehouse_id
))
FROM mydo_job WHERE job_id = @job_id;
IF NOT EXISTS (SELECT 1 FROM bas_cargo_space WHERE cargo_space_id = @cargo_space_id)
@@ -163,22 +185,27 @@ BEGIN
SET assign_num = ISNULL(assign_num, 0) + @in_quantity
WHERE stockin_detail_id = @stockin_detail_id;
SET @detail_id = LEFT(REPLACE(CONVERT(varchar(36), NEWID()), '-', ''), 32);
IF @stock_id IS NULL
BEGIN
SET @stock_id = LEFT(REPLACE(CONVERT(varchar(36), NEWID()), '-', ''), 32);
SELECT TOP 1 @in_type = in_type
FROM in_stockin
WHERE stockin_id = @stockin_id;
SET @stock_id = 'KC' + FORMAT(@now, 'yyyyMMddHHmmssfff');
INSERT INTO bas_stock (
stock_id, cargo_space_id, stock_status, in_date, quantity,
job_id, tray_code, out_quantity, stockin_id, warehouse_id
job_id, tray_code, out_quantity, stockin_id, in_type, warehouse_id, warehouse_name
)
VALUES (
@stock_id, @cargo_space_id, '1', @now, 0,
@job_id, @tray_code, 0, @stockin_id, @warehouse_id
@job_id, @tray_code, 0, @stockin_id, @in_type, @warehouse_id, @warehouse_name
);
END;
SET @detail_index = @detail_index + 1;
SET @detail_id = @stock_id + N'-' + CONVERT(NVARCHAR(10), @detail_index);
INSERT INTO bas_stock_detail (
detail_id, stock_id, product_status, lot_no, product_id, product_name,
quantity, out_quantity, job_detail_id, stockin_detail_id, create_time
@@ -197,7 +224,7 @@ BEGIN
DEALLOCATE cur_finish_job_detail;
UPDATE bas_cargo_space
SET status = '2', tray_code = @tray_code, locked = 'N'
SET status = '2', tray_code = @tray_code
WHERE cargo_space_id = @cargo_space_id;
UPDATE bs