63 lines
2.9 KiB
SQL
63 lines
2.9 KiB
SQL
SET NAMES utf8mb4;
|
|
USE baiyue_firstleg;
|
|
|
|
/* 装柜证据和派送完成;不设置证据完整度门禁,允许后续覆盖编辑。 */
|
|
CREATE TABLE IF NOT EXISTS fl_loading_evidence (
|
|
id BIGINT UNSIGNED NOT NULL,
|
|
tenant_id BIGINT UNSIGNED NOT NULL,
|
|
inbound_id BIGINT UNSIGNED NOT NULL,
|
|
evidence_type VARCHAR(32) NOT NULL COMMENT 'PHOTO_STEP_1..4/SEAL',
|
|
file_id BIGINT UNSIGNED NULL COMMENT 'File 服务逻辑文件ID',
|
|
file_name VARCHAR(255) NULL,
|
|
seal_no VARCHAR(64) NULL,
|
|
remark VARCHAR(1000) NULL,
|
|
version INT NOT NULL DEFAULT 0,
|
|
created_by BIGINT UNSIGNED NOT NULL,
|
|
created_by_name VARCHAR(64) NULL,
|
|
updated_by BIGINT UNSIGNED NOT NULL,
|
|
updated_by_name VARCHAR(64) NULL,
|
|
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 (id),
|
|
UNIQUE KEY uk_loading_evidence_type (tenant_id, inbound_id, evidence_type),
|
|
KEY idx_loading_evidence_time (tenant_id, inbound_id, updated_at),
|
|
CONSTRAINT fk_loading_evidence_inbound FOREIGN KEY (inbound_id) REFERENCES fl_inbound_order (id)
|
|
) ENGINE=InnoDB COMMENT='订单装柜四步照片和铅封证据';
|
|
|
|
CREATE TABLE IF NOT EXISTS fl_loading_operation (
|
|
id BIGINT UNSIGNED NOT NULL,
|
|
tenant_id BIGINT UNSIGNED NOT NULL,
|
|
inbound_id BIGINT UNSIGNED NOT NULL,
|
|
operator_id BIGINT UNSIGNED NOT NULL,
|
|
operation VARCHAR(48) NOT NULL,
|
|
idempotency_key VARCHAR(128) NOT NULL,
|
|
request_hash CHAR(64) NOT NULL,
|
|
status VARCHAR(16) NOT NULL DEFAULT 'PROCESSING',
|
|
result_json JSON NULL,
|
|
created_at DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
|
|
completed_at DATETIME(3) NULL,
|
|
PRIMARY KEY (id),
|
|
UNIQUE KEY uk_loading_operation (tenant_id, inbound_id, operator_id, operation, idempotency_key),
|
|
KEY idx_loading_operation_time (tenant_id, inbound_id, created_at),
|
|
CONSTRAINT fk_loading_operation_inbound FOREIGN KEY (inbound_id) REFERENCES fl_inbound_order (id)
|
|
) ENGINE=InnoDB COMMENT='装柜与派送写操作幂等记录';
|
|
|
|
CREATE TABLE IF NOT EXISTS fl_loading_pick_task (
|
|
id BIGINT UNSIGNED NOT NULL,
|
|
tenant_id BIGINT UNSIGNED NOT NULL,
|
|
inbound_id BIGINT UNSIGNED NOT NULL,
|
|
status VARCHAR(24) NOT NULL DEFAULT 'PENDING' COMMENT 'PENDING/IN_PROGRESS/COMPLETED',
|
|
version INT NOT NULL DEFAULT 0,
|
|
expected_count INT UNSIGNED NULL,
|
|
picked_count INT UNSIGNED NULL,
|
|
remark VARCHAR(1000) NULL,
|
|
updated_by BIGINT UNSIGNED NOT NULL,
|
|
updated_by_name VARCHAR(64) NULL,
|
|
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 (id),
|
|
UNIQUE KEY uk_loading_pick_tenant_inbound (tenant_id, inbound_id),
|
|
KEY idx_loading_pick_status (tenant_id, status, updated_at),
|
|
CONSTRAINT fk_loading_pick_inbound FOREIGN KEY (inbound_id) REFERENCES fl_inbound_order (id)
|
|
) ENGINE=InnoDB COMMENT='PDA拣货任务及结果';
|