feat: 完善WCS调度、库存追溯和出库分配

This commit is contained in:
zgw
2026-07-15 16:24:07 +08:00
parent 9d3aa7a3bd
commit 66ac268524
101 changed files with 12596 additions and 669 deletions

View File

@@ -0,0 +1,49 @@
SET NOCOUNT ON;
SET XACT_ABORT ON;
BEGIN TRY
BEGIN TRANSACTION;
IF EXISTS (
SELECT tray_code
FROM dbo.mydo_job
WHERE tray_code IS NOT NULL
GROUP BY tray_code
HAVING COUNT_BIG(*) > 1
)
BEGIN
THROW 51000, N'mydo_job存在重复托盘条码,请清理后重试', 1;
END;
IF NOT EXISTS (
SELECT 1
FROM sys.indexes
WHERE object_id = OBJECT_ID(N'dbo.mydo_job')
AND name = N'UX_mydo_job_tray_code'
)
BEGIN
CREATE UNIQUE NONCLUSTERED INDEX UX_mydo_job_tray_code
ON dbo.mydo_job(tray_code)
WHERE tray_code IS NOT NULL;
END;
-- 将升级前尚未真正下发的03仓入库作业统一转为WCS待领取状态。
UPDATE dbo.mydo_job
SET status = N'2', execution_phase = N'0'
WHERE warehouse_id = N'03'
AND in_or_out < 20
AND status = N'1'
AND execution_phase = N'0';
UPDATE dbo.sys_dict_data
SET dict_label = N'待执行', list_class = N'warning'
WHERE dict_type = N'mydo_job_status'
AND dict_value = N'2';
COMMIT TRANSACTION;
END TRY
BEGIN CATCH
IF @@TRANCOUNT > 0
ROLLBACK TRANSACTION;
THROW;
END CATCH;