feat: 完善WCS调度、库存追溯和出库分配
This commit is contained in:
49
sql/20260714_mydo_job_tray_unique_and_wcs_pull.sql
Normal file
49
sql/20260714_mydo_job_tray_unique_and_wcs_pull.sql
Normal 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;
|
||||
Reference in New Issue
Block a user