feat(fleet): bind quote versions and reconcile actual return quantities

This commit is contained in:
2026-10-03 13:32:55 +08:00
parent cb6c54ffe5
commit a6fd0ba3c5
60 changed files with 1363 additions and 75 deletions
+10 -1
View File
@@ -275,6 +275,9 @@ CREATE TABLE ll_delivery_order (
version bigint NOT NULL DEFAULT '0' COMMENT '派送单乐观锁版本',
created_at datetime(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3) COMMENT '创建时间',
updated_at datetime(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3) ON UPDATE CURRENT_TIMESTAMP(3) COMMENT '更新时间',
signed_packages INT NULL COMMENT '保存签收资料时冻结的实际签收箱数,不含此前已退回量',
CONSTRAINT chk_delivery_signed_packages CHECK(signed_packages IS NULL OR (signed_packages>=0 AND signed_packages<=package_count)),
PRIMARY KEY (id),
UNIQUE KEY uk_ll_delivery_no (customer_id,delivery_no),
UNIQUE KEY uk_ll_delivery_idempotency (customer_id,idempotency_key),
@@ -684,9 +687,11 @@ CREATE TABLE ll_exception_order (
version bigint NOT NULL DEFAULT '0' COMMENT '异常订单乐观锁版本',
created_at datetime(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3) COMMENT '创建时间',
updated_at datetime(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3) ON UPDATE CURRENT_TIMESTAMP(3) COMMENT '更新时间',
return_context_json JSON NULL COMMENT '退回异常创建前的派送及尾程状态快照',
PRIMARY KEY (id),
UNIQUE KEY uk_ll_exception_no (customer_id,exception_no),
UNIQUE KEY uk_ll_exception_delivery_return (customer_id,delivery_order_id,exception_type),
KEY idx_ll_exception_delivery_return(customer_id,delivery_order_id,exception_type),
KEY idx_ll_exception_list (customer_id,status,exception_at),
KEY idx_ll_exception_tail (customer_id,last_mile_order_no),
KEY idx_ll_exception_inbound (customer_id,inbound_code)
@@ -717,6 +722,9 @@ CREATE TABLE ll_exception_return_item (
max_return_packages bigint NOT NULL COMMENT '原出库可退箱数上限',
approved_return_packages bigint NOT NULL COMMENT '批准退回箱数',
created_at datetime(3) NOT NULL COMMENT '创建时间',
received_packages BIGINT NOT NULL DEFAULT 0 COMMENT '已实际退回入仓的累计箱数',
CONSTRAINT chk_exception_return_received CHECK(received_packages>=0 AND received_packages<=approved_return_packages),
PRIMARY KEY (id),
UNIQUE KEY uk_ll_exception_return_source (customer_id,exception_order_id,outbound_pallet_item_id,inventory_position_id),
KEY idx_ll_exception_return_order (customer_id,exception_order_id)
@@ -2735,6 +2743,7 @@ CREATE TABLE ll_fleet_external_booking (
customer_name VARCHAR(255) NOT NULL COMMENT '客户名称快照',
status VARCHAR(16) NOT NULL COMMENT 'DRAFT询价/CONFIRMED占位/RECEIVED确认实收/BOUND关联发运/CANCELLED取消',
cargo_json JSON NOT NULL COMMENT '货物、计划载荷、联系人及约定报价快照',
quote_source_json JSON NULL COMMENT '选用销售报价的可信版本快照,与实际成交金额分开保存',
destination_key VARCHAR(160) NOT NULL COMMENT '已有路线卸货站匹配键',
destination_label VARCHAR(255) NOT NULL COMMENT '约定卸货站名称',
agreed_amount DECIMAL(16,2) NULL COMMENT '约定金额,非已入账应收或实收',