Files
FTC25009/sql/20260714_mydo_job_tray_unique_and_wcs_pull.sql

50 lines
1.2 KiB
Transact-SQL
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
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;