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;