Merge remote-tracking branch 'origin/test' into test
# Conflicts: # deploy/sql/头程数据库统一增量-MySQL8.sql
This commit is contained in:
@@ -8585,7 +8585,7 @@ CREATE TABLE IF NOT EXISTS fl_loading_pick_operation (
|
||||
UNIQUE KEY uk_loading_pick_operation_id (operation_id),
|
||||
KEY idx_loading_pick_operation_task (pick_task_id, created_at),
|
||||
CONSTRAINT fk_loading_pick_operation_task FOREIGN KEY (pick_task_id) REFERENCES fl_loading_pick_task (id),
|
||||
CONSTRAINT chk_loading_pick_operation_action CHECK (action_type IN ('CLAIM', 'ASSIGN', 'ITEM_CLAIM', 'ITEM_ASSIGN', 'REVIEW'))
|
||||
CONSTRAINT chk_loading_pick_operation_action CHECK (action_type IN ('CLAIM', 'ASSIGN', 'REVIEW'))
|
||||
) ENGINE=InnoDB COMMENT='柜次PDA任务级幂等审计';
|
||||
|
||||
DROP TRIGGER IF EXISTS trg_loading_pick_review_before_update;
|
||||
@@ -8735,58 +8735,6 @@ CALL phase3_pda_add_column('fl_loading_pick_item', 'release_mode',
|
||||
'`release_mode` VARCHAR(10) NULL COMMENT ''AUTO按比例释放,MANUAL按人工选择释放'' AFTER `item_status`');
|
||||
CALL phase3_pda_add_column('fl_loading_pick_item', 'release_location_ids',
|
||||
'`release_location_ids` JSON NULL COMMENT ''人工选择释放库位ID;空数组表示明确释放0个'' AFTER `release_mode`');
|
||||
-- PDA 多人协作:领取粒度由整柜任务下沉为单条拣货明细。
|
||||
CREATE TABLE IF NOT EXISTS fl_loading_pick_item_assignment (
|
||||
pick_item_id BIGINT UNSIGNED NOT NULL,
|
||||
assignee_id BIGINT UNSIGNED NOT NULL,
|
||||
assignee_name VARCHAR(64) NOT NULL,
|
||||
assigned_by BIGINT UNSIGNED NOT NULL,
|
||||
assigned_by_name VARCHAR(64) NULL,
|
||||
assignment_type VARCHAR(16) NOT NULL COMMENT 'CLAIMED/ASSIGNED',
|
||||
version INT UNSIGNED NOT NULL DEFAULT 0,
|
||||
created_at DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
|
||||
updated_at DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3) ON UPDATE CURRENT_TIMESTAMP(3),
|
||||
PRIMARY KEY (pick_item_id),
|
||||
KEY idx_loading_pick_item_assignee (assignee_id, updated_at),
|
||||
CONSTRAINT fk_loading_pick_item_assignment_item FOREIGN KEY (pick_item_id) REFERENCES fl_loading_pick_item (id),
|
||||
CONSTRAINT chk_loading_pick_item_assignment_type CHECK (assignment_type IN ('CLAIMED', 'ASSIGNED'))
|
||||
) ENGINE=InnoDB COMMENT='PDA拣货明细领取与作业员分配';
|
||||
|
||||
SET @phase3_pda_check_ddl = IF(
|
||||
EXISTS (SELECT 1 FROM information_schema.table_constraints
|
||||
WHERE constraint_schema = DATABASE()
|
||||
AND table_name = 'fl_loading_pick_operation'
|
||||
AND constraint_name = 'chk_loading_pick_operation_action'
|
||||
AND constraint_type = 'CHECK'),
|
||||
'ALTER TABLE fl_loading_pick_operation DROP CHECK chk_loading_pick_operation_action',
|
||||
'SELECT 1');
|
||||
PREPARE phase3_pda_check_stmt FROM @phase3_pda_check_ddl;
|
||||
EXECUTE phase3_pda_check_stmt;
|
||||
DEALLOCATE PREPARE phase3_pda_check_stmt;
|
||||
|
||||
ALTER TABLE fl_loading_pick_operation
|
||||
ADD CONSTRAINT chk_loading_pick_operation_action
|
||||
CHECK (action_type IN ('CLAIM', 'ASSIGN', 'ITEM_CLAIM', 'ITEM_ASSIGN', 'REVIEW'));
|
||||
|
||||
DROP PROCEDURE IF EXISTS assert_phase3_pda_item_assignment_schema;
|
||||
DELIMITER $$
|
||||
CREATE PROCEDURE assert_phase3_pda_item_assignment_schema()
|
||||
BEGIN
|
||||
IF (SELECT COUNT(*) FROM information_schema.tables
|
||||
WHERE table_schema='baiyue_firstleg' AND table_name='fl_loading_pick_item_assignment') <> 1
|
||||
OR (SELECT COUNT(*) FROM information_schema.statistics
|
||||
WHERE table_schema='baiyue_firstleg' AND table_name='fl_loading_pick_item_assignment'
|
||||
AND index_name='idx_loading_pick_item_assignee') <> 2
|
||||
OR (SELECT COUNT(*) FROM information_schema.referential_constraints
|
||||
WHERE constraint_schema='baiyue_firstleg'
|
||||
AND constraint_name='fk_loading_pick_item_assignment_item') <> 1 THEN
|
||||
SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT='PDA明细级多人分配表创建失败';
|
||||
END IF;
|
||||
END$$
|
||||
DELIMITER ;
|
||||
CALL assert_phase3_pda_item_assignment_schema();
|
||||
DROP PROCEDURE IF EXISTS assert_phase3_pda_item_assignment_schema;
|
||||
|
||||
CALL phase3_pda_add_column('fl_inbound_pallet_allocation', 'reservation_id',
|
||||
'`reservation_id` BIGINT UNSIGNED NULL COMMENT ''仓库预占资源唯一ID,A0共享场景用于区分托盘'' AFTER `location_code`');
|
||||
|
||||
|
||||
Reference in New Issue
Block a user