TMS运费管理:从计费规则到自动结算的完整方案
引言 运费管理是TMS的财务核心,直接关系到企业的成本控制和利润空间。一个完善的运费管理系统,可以实现运费自动计算、账单自动生成、对账自动核对,大幅降低人工成本和差错率。 本文将详细讲解运费计算规则的设计方法、运费模板的管理机制、自动结算系统的实现方案,为TMS提供完整的财务解决方案。 1. 运费计算规则 1.1 重量计费 首重续重 规则说明: 首重:1kg或更少,收取首重价格 续重:超过首重部分,按续重价格计费 计算公式: if (weight <= 首重) { 运费 = 首重价格 } else { 运费 = 首重价格 + (weight - 首重) × 续重价格 } 示例: 规则: 首重1kg/5元, 续重2元/kg 计算: - 0.5kg: 5元 (不足首重按首重计) - 1kg: 5元 - 1.5kg: 5 + (1.5-1) × 2 = 6元 - 2.5kg: 5 + (2.5-1) × 2 = 8元 Java实现: public class FirstWeightFreightCalculator { public BigDecimal calculate(BigDecimal weight, FreightRule rule) { BigDecimal firstWeight = rule.getFirstWeight(); BigDecimal firstWeightPrice = rule.getFirstWeightPrice(); BigDecimal 续重Price = rule.get续重Price(); // 不足首重按首重计 if (weight.compareTo(firstWeight) <= 0) { return firstWeightPrice; } // 超过首重部分 BigDecimal 续重 = weight.subtract(firstWeight); // 续重向上取整(0.1kg也算1kg) 续重 = 续重.setScale(0, RoundingMode.UP); return firstWeightPrice.add(续重.multiply(续重Price)); } } 阶梯定价 规则说明: ...