feat: complete dropship palletization workflow
This commit is contained in:
@@ -209,6 +209,7 @@ CREATE TABLE IF NOT EXISTS fl_inbound_carton_label (
|
||||
cargo_item_no INT UNSIGNED NOT NULL COMMENT '订单货物明细序号快照',
|
||||
cargo_name VARCHAR(255) NULL COMMENT '货物名称快照',
|
||||
sku_code VARCHAR(128) NULL COMMENT '箱唛绑定的SKU快照;二维码内容不变',
|
||||
units_per_carton INT UNSIGNED NULL COMMENT '每箱SKU数量快照;一件代发必须为正数',
|
||||
detail_package_count INT UNSIGNED NOT NULL COMMENT '该订单货物明细箱数快照',
|
||||
inbound_code VARCHAR(40) NOT NULL COMMENT '入仓码快照',
|
||||
box_code VARCHAR(80) NOT NULL COMMENT '固定二维码内容:入仓码#总箱数-箱下标',
|
||||
@@ -920,7 +921,9 @@ CREATE TABLE IF NOT EXISTS fl_dropship_pallet_task (
|
||||
warehouse_id BIGINT UNSIGNED NOT NULL COMMENT '作业仓库ID',
|
||||
task_status VARCHAR(24) NOT NULL COMMENT '任务状态:PENDING待领取、CLAIMED已领取、COMPLETED已完成',
|
||||
total_cartons INT UNSIGNED NOT NULL COMMENT '测量确认总箱数',
|
||||
counted_cartons INT UNSIGNED NOT NULL DEFAULT 0 COMMENT '已逐箱确认实收数量的箱数',
|
||||
allocated_cartons INT UNSIGNED NOT NULL DEFAULT 0 COMMENT '已上托箱数',
|
||||
discrepancy_cartons INT UNSIGNED NOT NULL DEFAULT 0 COMMENT '已确认差异箱数',
|
||||
assignee_id BIGINT UNSIGNED NULL COMMENT '任务领取人ID',
|
||||
assignee_name VARCHAR(64) NULL COMMENT '任务领取人姓名快照',
|
||||
claimed_at DATETIME(3) NULL COMMENT '任务领取时间',
|
||||
@@ -933,7 +936,7 @@ CREATE TABLE IF NOT EXISTS fl_dropship_pallet_task (
|
||||
KEY idx_dropship_task_operator (task_status,assignee_id,warehouse_id,created_at),
|
||||
CONSTRAINT fk_dropship_task_inbound FOREIGN KEY (inbound_id) REFERENCES fl_inbound_order(id),
|
||||
CONSTRAINT chk_dropship_task_status CHECK (task_status IN ('PENDING','CLAIMED','COMPLETED')),
|
||||
CONSTRAINT chk_dropship_task_cartons CHECK (allocated_cartons<=total_cartons)
|
||||
CONSTRAINT chk_dropship_task_cartons CHECK (allocated_cartons<=counted_cartons AND counted_cartons<=total_cartons)
|
||||
) ENGINE=InnoDB COMMENT='一件代发测量后PDA合托任务';
|
||||
|
||||
CREATE TABLE IF NOT EXISTS fl_dropship_pallet (
|
||||
@@ -942,8 +945,8 @@ CREATE TABLE IF NOT EXISTS fl_dropship_pallet (
|
||||
tenant_id BIGINT UNSIGNED NOT NULL COMMENT '客户隔离键',
|
||||
inbound_id BIGINT UNSIGNED NOT NULL COMMENT '一件代发入仓单ID',
|
||||
warehouse_id BIGINT UNSIGNED NOT NULL COMMENT '作业仓库ID',
|
||||
pallet_no VARCHAR(32) NULL COMMENT '封托时生成的DP托盘号',
|
||||
pallet_status VARCHAR(16) NOT NULL COMMENT '托盘状态:OPEN合托中、COMPLETED已封托',
|
||||
pallet_no VARCHAR(32) NOT NULL COMMENT '现场扫描的系统DP托盘码',
|
||||
pallet_status VARCHAR(16) NOT NULL COMMENT '托盘状态:OPEN组托中、SEALED已封托',
|
||||
open_operation_id VARCHAR(128) NOT NULL COMMENT '创建托盘幂等操作ID',
|
||||
seal_operation_id VARCHAR(128) NULL COMMENT '封托幂等操作ID',
|
||||
created_by BIGINT UNSIGNED NOT NULL COMMENT '托盘创建人ID',
|
||||
@@ -960,29 +963,39 @@ CREATE TABLE IF NOT EXISTS fl_dropship_pallet (
|
||||
UNIQUE KEY uk_dropship_pallet_seal_op (seal_operation_id),
|
||||
KEY idx_dropship_pallet_inbound (tenant_id,inbound_id,pallet_status),
|
||||
CONSTRAINT fk_dropship_pallet_task FOREIGN KEY (task_id) REFERENCES fl_dropship_pallet_task(id),
|
||||
CONSTRAINT chk_dropship_pallet_status CHECK (pallet_status IN ('OPEN','COMPLETED'))
|
||||
CONSTRAINT chk_dropship_pallet_status CHECK (pallet_status IN ('OPEN','SEALED'))
|
||||
) ENGINE=InnoDB COMMENT='一件代发合托形成的可打印托盘';
|
||||
|
||||
CREATE TABLE IF NOT EXISTS fl_dropship_pallet_carton (
|
||||
id BIGINT UNSIGNED NOT NULL COMMENT '托盘箱明细ID',
|
||||
task_id BIGINT UNSIGNED NOT NULL COMMENT '所属合托任务ID',
|
||||
pallet_id BIGINT UNSIGNED NOT NULL COMMENT '所属合托托盘ID',
|
||||
pallet_id BIGINT UNSIGNED NULL COMMENT '所属组托托盘ID;已清点待绑托时为空',
|
||||
tenant_id BIGINT UNSIGNED NOT NULL COMMENT '客户隔离键',
|
||||
inbound_id BIGINT UNSIGNED NOT NULL COMMENT '一件代发入仓单ID',
|
||||
inbound_detail_id BIGINT UNSIGNED NOT NULL COMMENT '入仓货物明细ID',
|
||||
carton_label_id BIGINT UNSIGNED NOT NULL COMMENT '稳定箱唛记录ID',
|
||||
sku_code VARCHAR(128) NOT NULL COMMENT '箱唛冻结SKU编码',
|
||||
cargo_name VARCHAR(255) NULL COMMENT '货物名称快照',
|
||||
box_code VARCHAR(64) NOT NULL COMMENT '稳定箱码',
|
||||
operation_id VARCHAR(128) NOT NULL COMMENT '上托幂等操作ID',
|
||||
bound_by BIGINT UNSIGNED NOT NULL COMMENT '上托操作人ID',
|
||||
box_code VARCHAR(80) NOT NULL COMMENT '稳定箱码',
|
||||
expected_sku_quantity INT UNSIGNED NOT NULL COMMENT '箱唛冻结的应收SKU数量',
|
||||
actual_sku_quantity INT UNSIGNED NOT NULL COMMENT 'PDA确认的实收SKU数量',
|
||||
discrepancy_status VARCHAR(24) NOT NULL COMMENT '差异状态:MATCH或ACCEPTED_VARIANCE',
|
||||
discrepancy_remark VARCHAR(500) NULL COMMENT '差异接受说明',
|
||||
count_operation_id VARCHAR(128) NOT NULL COMMENT '逐箱清点幂等操作ID',
|
||||
bind_operation_id VARCHAR(128) NULL COMMENT '批量绑托幂等操作ID',
|
||||
last_operation_id VARCHAR(128) NOT NULL COMMENT '最后一次绑托或换托操作幂等号',
|
||||
counted_by BIGINT UNSIGNED NOT NULL COMMENT '清点操作人ID',
|
||||
counted_by_name VARCHAR(64) NULL COMMENT '清点操作人姓名快照',
|
||||
counted_at DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3) COMMENT '清点时间',
|
||||
bound_by BIGINT UNSIGNED NULL COMMENT '上托操作人ID',
|
||||
bound_by_name VARCHAR(64) NULL COMMENT '上托操作人姓名快照',
|
||||
bound_at DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3) COMMENT '上托时间',
|
||||
bound_at DATETIME(3) NULL COMMENT '上托时间',
|
||||
PRIMARY KEY (id),
|
||||
UNIQUE KEY uk_dropship_carton_task_label (task_id,carton_label_id),
|
||||
KEY idx_dropship_carton_pallet_sku (pallet_id,sku_code,id),
|
||||
KEY idx_dropship_carton_inbound (tenant_id,inbound_id,pallet_id),
|
||||
KEY idx_dropship_carton_operation (operation_id),
|
||||
UNIQUE KEY uk_dropship_carton_count_operation (count_operation_id),
|
||||
KEY idx_dropship_carton_bind_operation (task_id,bind_operation_id),
|
||||
CONSTRAINT fk_dropship_carton_task FOREIGN KEY (task_id) REFERENCES fl_dropship_pallet_task(id),
|
||||
CONSTRAINT fk_dropship_carton_pallet FOREIGN KEY (pallet_id) REFERENCES fl_dropship_pallet(id),
|
||||
CONSTRAINT fk_dropship_carton_label FOREIGN KEY (carton_label_id) REFERENCES fl_inbound_carton_label(id)
|
||||
|
||||
Reference in New Issue
Block a user