fix: enforce stable shadow snapshot boundaries
This commit is contained in:
@@ -966,9 +966,9 @@ BEGIN
|
||||
+ (SELECT COUNT_BIG(*) FROM dbo.in_stockin_detail inbound WITH (NOLOCK)
|
||||
JOIN dbo.mydo_job_detail detail WITH (NOLOCK) ON detail.stockin_detail_id = inbound.stockin_detail_id
|
||||
JOIN dbo.mydo_job job WITH (NOLOCK) ON job.job_id = detail.job_id
|
||||
WHERE job.warehouse_id = @warehouse_id)
|
||||
WHERE job.finish_time IS NULL OR LTRIM(RTRIM(job.finish_time)) = '')
|
||||
+ (SELECT COUNT_BIG(*) FROM dbo.out_stockout_detail outbound WITH (NOLOCK)
|
||||
WHERE outbound.warehouse_id = @warehouse_id);
|
||||
WHERE ISNULL(outbound.quantity, 0) > ISNULL(outbound.allot_quantity, 0));
|
||||
|
||||
SELECT @source_payload = ISNULL(CONVERT(nvarchar(max), (
|
||||
SELECT cargo.cargo_space_id AS [@space_id], cargo.warehouse_id AS [@warehouse_id],
|
||||
@@ -1028,22 +1028,27 @@ BEGIN
|
||||
inbound.stockin_id AS [@stockin_id], inbound.lot_no AS [@lot_no],
|
||||
inbound.product_id AS [@product_id], inbound.quantity AS [@quantity],
|
||||
inbound.assign_num AS [@assign_num], inbound.spare4 AS [@project_no],
|
||||
job.warehouse_id AS [@warehouse_id], detail.job_id AS [@job_id]
|
||||
job.warehouse_id AS [@warehouse_id], job.task_no AS [@task_no],
|
||||
job.tray_code AS [@tray_code], detail.job_id AS [@job_id],
|
||||
detail.in_or_out_id AS [@request_id]
|
||||
FROM dbo.in_stockin_detail inbound WITH (NOLOCK)
|
||||
JOIN dbo.mydo_job_detail detail WITH (NOLOCK) ON detail.stockin_detail_id = inbound.stockin_detail_id
|
||||
JOIN dbo.mydo_job job WITH (NOLOCK) ON job.job_id = detail.job_id
|
||||
WHERE job.warehouse_id = @warehouse_id
|
||||
WHERE job.finish_time IS NULL OR LTRIM(RTRIM(job.finish_time)) = ''
|
||||
ORDER BY inbound.stockin_detail_id
|
||||
FOR XML PATH('inbound'), ROOT('inbound_requests'), TYPE
|
||||
)), '');
|
||||
|
||||
SET @source_payload = @source_payload + '|OUTBOUND|' + ISNULL(CONVERT(nvarchar(max), (
|
||||
SELECT outbound.stockout_detail_id AS [@stockout_detail_id], outbound.warehouse_id AS [@warehouse_id],
|
||||
warehouse.project_no AS [@project_no],
|
||||
outbound.product_id AS [@product_id], outbound.lot_no AS [@lot_no],
|
||||
outbound.quantity AS [@quantity], outbound.assign_num AS [@assign_num],
|
||||
outbound.allot_quantity AS [@allot_quantity], outbound.create_time AS [@create_time]
|
||||
FROM dbo.out_stockout_detail outbound WITH (NOLOCK)
|
||||
WHERE outbound.warehouse_id = @warehouse_id
|
||||
LEFT JOIN dbo.bas_warehouse warehouse WITH (NOLOCK)
|
||||
ON warehouse.warehouse_id = outbound.warehouse_id
|
||||
WHERE ISNULL(outbound.quantity, 0) > ISNULL(outbound.allot_quantity, 0)
|
||||
ORDER BY outbound.stockout_detail_id
|
||||
FOR XML PATH('outbound'), ROOT('outbound_requests'), TYPE
|
||||
)), '');
|
||||
@@ -1096,22 +1101,22 @@ BEGIN
|
||||
AND (job.finish_time IS NULL OR LTRIM(RTRIM(job.finish_time)) = '');
|
||||
|
||||
;WITH inbound_source AS (
|
||||
SELECT job.warehouse_id, job.task_no, job.tray_code,
|
||||
SELECT @warehouse_id AS warehouse_id, job.task_no, job.tray_code,
|
||||
detail.in_or_out_id AS request_id, job.warehouse_id AS raw_warehouse_id,
|
||||
inbound.spare4 AS project_no, inbound.product_id, inbound.lot_no,
|
||||
ROW_NUMBER() OVER (
|
||||
PARTITION BY job.warehouse_id, job.task_no, job.tray_code
|
||||
PARTITION BY job.task_no, job.tray_code
|
||||
ORDER BY inbound.stockin_detail_id, detail.job_detail_id) AS source_rank
|
||||
FROM dbo.in_stockin_detail inbound WITH (NOLOCK)
|
||||
JOIN dbo.mydo_job_detail detail WITH (NOLOCK)
|
||||
ON detail.stockin_detail_id = inbound.stockin_detail_id
|
||||
JOIN dbo.mydo_job job WITH (NOLOCK) ON job.job_id = detail.job_id
|
||||
WHERE job.warehouse_id = @warehouse_id
|
||||
WHERE job.finish_time IS NULL OR LTRIM(RTRIM(job.finish_time)) = ''
|
||||
)
|
||||
INSERT INTO alg.shadow_inbound_request_snapshot (
|
||||
warehouse_id, task_no, tray_no, request_id, raw_warehouse_id,
|
||||
project_no, product_id, lot_no, snapshot_generation, synchronized_at)
|
||||
SELECT warehouse_id, ISNULL(task_no, ''), ISNULL(tray_code, ''), request_id,
|
||||
SELECT @warehouse_id, ISNULL(task_no, ''), ISNULL(tray_code, ''), request_id,
|
||||
raw_warehouse_id, project_no, product_id, lot_no,
|
||||
@snapshot_generation, @synchronized_at
|
||||
FROM inbound_source
|
||||
@@ -1120,11 +1125,14 @@ BEGIN
|
||||
INSERT INTO alg.shadow_outbound_request_snapshot (
|
||||
warehouse_id, stockout_detail_id, raw_warehouse_id, project_no, product_id,
|
||||
requested_quantity, snapshot_generation, synchronized_at)
|
||||
SELECT outbound.warehouse_id, outbound.stockout_detail_id, outbound.warehouse_id,
|
||||
NULL, outbound.product_id, CONVERT(decimal(38,6), outbound.quantity),
|
||||
SELECT @warehouse_id, outbound.stockout_detail_id, outbound.warehouse_id,
|
||||
NULLIF(LTRIM(RTRIM(warehouse.project_no)), ''), outbound.product_id,
|
||||
CONVERT(decimal(38,6), outbound.quantity),
|
||||
@snapshot_generation, @synchronized_at
|
||||
FROM dbo.out_stockout_detail outbound WITH (NOLOCK)
|
||||
WHERE outbound.warehouse_id = @warehouse_id;
|
||||
LEFT JOIN dbo.bas_warehouse warehouse WITH (NOLOCK)
|
||||
ON warehouse.warehouse_id = outbound.warehouse_id
|
||||
WHERE ISNULL(outbound.quantity, 0) > ISNULL(outbound.allot_quantity, 0);
|
||||
|
||||
EXEC alg.usp_rebuild_space_topology @warehouse_id = @warehouse_id,
|
||||
@snapshot_generation = @snapshot_generation;
|
||||
@@ -1145,9 +1153,9 @@ BEGIN
|
||||
+ (SELECT COUNT_BIG(*) FROM dbo.in_stockin_detail inbound WITH (NOLOCK)
|
||||
JOIN dbo.mydo_job_detail detail WITH (NOLOCK) ON detail.stockin_detail_id = inbound.stockin_detail_id
|
||||
JOIN dbo.mydo_job job WITH (NOLOCK) ON job.job_id = detail.job_id
|
||||
WHERE job.warehouse_id = @warehouse_id)
|
||||
WHERE job.finish_time IS NULL OR LTRIM(RTRIM(job.finish_time)) = '')
|
||||
+ (SELECT COUNT_BIG(*) FROM dbo.out_stockout_detail outbound WITH (NOLOCK)
|
||||
WHERE outbound.warehouse_id = @warehouse_id);
|
||||
WHERE ISNULL(outbound.quantity, 0) > ISNULL(outbound.allot_quantity, 0));
|
||||
|
||||
SELECT @source_payload = ISNULL(CONVERT(nvarchar(max), (
|
||||
SELECT cargo.cargo_space_id AS [@space_id], cargo.warehouse_id AS [@warehouse_id],
|
||||
@@ -1203,21 +1211,26 @@ BEGIN
|
||||
inbound.stockin_id AS [@stockin_id], inbound.lot_no AS [@lot_no],
|
||||
inbound.product_id AS [@product_id], inbound.quantity AS [@quantity],
|
||||
inbound.assign_num AS [@assign_num], inbound.spare4 AS [@project_no],
|
||||
job.warehouse_id AS [@warehouse_id], detail.job_id AS [@job_id]
|
||||
job.warehouse_id AS [@warehouse_id], job.task_no AS [@task_no],
|
||||
job.tray_code AS [@tray_code], detail.job_id AS [@job_id],
|
||||
detail.in_or_out_id AS [@request_id]
|
||||
FROM dbo.in_stockin_detail inbound WITH (NOLOCK)
|
||||
JOIN dbo.mydo_job_detail detail WITH (NOLOCK) ON detail.stockin_detail_id = inbound.stockin_detail_id
|
||||
JOIN dbo.mydo_job job WITH (NOLOCK) ON job.job_id = detail.job_id
|
||||
WHERE job.warehouse_id = @warehouse_id
|
||||
WHERE job.finish_time IS NULL OR LTRIM(RTRIM(job.finish_time)) = ''
|
||||
ORDER BY inbound.stockin_detail_id
|
||||
FOR XML PATH('inbound'), ROOT('inbound_requests'), TYPE
|
||||
)), '');
|
||||
SET @source_payload = @source_payload + '|OUTBOUND|' + ISNULL(CONVERT(nvarchar(max), (
|
||||
SELECT outbound.stockout_detail_id AS [@stockout_detail_id], outbound.warehouse_id AS [@warehouse_id],
|
||||
warehouse.project_no AS [@project_no],
|
||||
outbound.product_id AS [@product_id], outbound.lot_no AS [@lot_no],
|
||||
outbound.quantity AS [@quantity], outbound.assign_num AS [@assign_num],
|
||||
outbound.allot_quantity AS [@allot_quantity], outbound.create_time AS [@create_time]
|
||||
FROM dbo.out_stockout_detail outbound WITH (NOLOCK)
|
||||
WHERE outbound.warehouse_id = @warehouse_id
|
||||
LEFT JOIN dbo.bas_warehouse warehouse WITH (NOLOCK)
|
||||
ON warehouse.warehouse_id = outbound.warehouse_id
|
||||
WHERE ISNULL(outbound.quantity, 0) > ISNULL(outbound.allot_quantity, 0)
|
||||
ORDER BY outbound.stockout_detail_id
|
||||
FOR XML PATH('outbound'), ROOT('outbound_requests'), TYPE
|
||||
)), '');
|
||||
|
||||
Reference in New Issue
Block a user