fix(firstleg): settle zero-package measurements safely

This commit is contained in:
2026-08-25 13:43:22 +08:00
parent 6d8e4c85c5
commit 0302985f21
2 changed files with 16 additions and 3 deletions
@@ -205,9 +205,10 @@ public interface InboundSplitSettlementMapper {
@Update("""
UPDATE fl_inbound_measurement_item
SET package_count=#{packageCount},
total_volume_cbm=unit_volume_cbm*#{packageCount},
volume_weight_kg=volume_weight_kg/NULLIF(package_count,0)*#{packageCount},
SET total_volume_cbm=COALESCE(unit_volume_cbm,0)*#{packageCount},
volume_weight_kg=CASE WHEN #{packageCount}=0 THEN 0
ELSE COALESCE(volume_weight_kg/NULLIF(package_count,0)*#{packageCount},0) END,
package_count=#{packageCount},
updated_at=CURRENT_TIMESTAMP(3)
WHERE id=#{measurementItemId} AND tenant_id=#{accountId}
""")