50 lines
1.2 KiB
Transact-SQL
50 lines
1.2 KiB
Transact-SQL
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;
|