diff --git a/deploy/sql/头程数据库统一增量-MySQL8.sql b/deploy/sql/头程数据库统一增量-MySQL8.sql index 64c6fabe7..c5487a1c7 100644 --- a/deploy/sql/头程数据库统一增量-MySQL8.sql +++ b/deploy/sql/头程数据库统一增量-MySQL8.sql @@ -7919,7 +7919,7 @@ BEGIN WHERE source_order.id = NEW.source_inbound_id AND source_order.tenant_id = NEW.tenant_id AND source_order.deleted = 0 - AND source_order.package_count = NEW.package_count + AND COALESCE(source_order.package_count, source_order.total_package_count) = NEW.package_count AND ((source_order.id = NEW.parent_inbound_id AND source_order.inbound_role = 'MASTER' AND source_order.split_status = 'NOT_SPLIT') OR diff --git a/firstleg/src/main/resources/db/phase3-inbound-parent-child-schema.sql b/firstleg/src/main/resources/db/phase3-inbound-parent-child-schema.sql index 29a28a25c..6e46e6917 100644 --- a/firstleg/src/main/resources/db/phase3-inbound-parent-child-schema.sql +++ b/firstleg/src/main/resources/db/phase3-inbound-parent-child-schema.sql @@ -524,7 +524,7 @@ BEGIN WHERE source_order.id = NEW.source_inbound_id AND source_order.tenant_id = NEW.tenant_id AND source_order.deleted = 0 - AND source_order.package_count = NEW.package_count + AND COALESCE(source_order.package_count, source_order.total_package_count) = NEW.package_count AND ((source_order.id = NEW.parent_inbound_id AND source_order.inbound_role = 'MASTER' AND source_order.split_status = 'NOT_SPLIT') OR diff --git a/firstleg/src/test/java/com/baiyue/firstleg/repository/InboundParentChildSqlContractTest.java b/firstleg/src/test/java/com/baiyue/firstleg/repository/InboundParentChildSqlContractTest.java index aab61f43a..a57c73212 100644 --- a/firstleg/src/test/java/com/baiyue/firstleg/repository/InboundParentChildSqlContractTest.java +++ b/firstleg/src/test/java/com/baiyue/firstleg/repository/InboundParentChildSqlContractTest.java @@ -61,6 +61,7 @@ class InboundParentChildSqlContractTest { .contains("NEW.loaded_package_count") .contains("NEW.remaining_package_count") .contains("NEW.loaded_package_count + NEW.remaining_package_count <> NEW.package_count") + .contains("COALESCE(source_order.package_count, source_order.total_package_count) = NEW.package_count") .contains("AND plan_item.deleted = 0))))\n OR NOT EXISTS (") .contains("source_batch.inbound_id = COALESCE(batch.source_inbound_id, batch.parent_inbound_id)") .contains("拆分批次来源必须是箱数匹配且未消费的根主单或余量子单")