diff --git a/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisTmsCostFeeServiceImpl.java b/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisTmsCostFeeServiceImpl.java index 4ee10d33a..0bc2f0dc6 100644 --- a/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisTmsCostFeeServiceImpl.java +++ b/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisTmsCostFeeServiceImpl.java @@ -248,6 +248,7 @@ public class EmisTmsCostFeeServiceImpl implements IEmisTmsCostFeeService // 运输成本 splitItem.setBlManual("1"); // 手工计算 splitItem.setCostNo("-1"); // 固定成本 + splitItem.setBatchNo("-1"); splitItem.setTransWeight(waybill.getBillWeight()); // 运输重量 splitItem.setTransVolume(waybill.getTotalVolume()); // 运输体积 @@ -274,13 +275,16 @@ public class EmisTmsCostFeeServiceImpl implements IEmisTmsCostFeeService String calcExprStr=getCalcFeeExpStr(itemCalcExpr,waybill.getBillWeight(),BigDecimal.valueOf(10.0D),BigDecimal.valueOf(1.0D)); double costFee = Double.valueOf(AviatorEvaluator.execute(calcExprStr).toString()); log.info("网点取件费:计算公式:" + calcExprStr + ",重量:" + waybill.getBillWeight().stripTrailingZeros().toPlainString()); - splitItem.setCostFee(BigDecimal.valueOf(costFee)); + + BigDecimal splitCostFee = BigDecimal.valueOf(costFee).setScale(2,BigDecimal.ROUND_HALF_UP); + splitItem.setCostFee(splitCostFee); + splitItem.setCurrency("CNY"); splitItem.setCalcExpr(itemCalcExpr); - splitItem.setCalcRemark(calcExprStr+"="+String.valueOf(costFee)); + splitItem.setCalcRemark(calcExprStr+"="+splitCostFee.stripTrailingZeros().toPlainString()); splitItem.setRemark("网点上门取件费:取件员["+waybill.getTakePieceEmployeeName()+"]"); // 总成本费用=本次取件费 - splitItem.setTransCostFee(BigDecimal.valueOf(costFee)); + splitItem.setTransCostFee(splitCostFee); // 插入分摊明细数据 emisTmsCostFeeSplitMapper.insertEmisTmsCostFeeSplit(splitItem); @@ -309,6 +313,7 @@ public class EmisTmsCostFeeServiceImpl implements IEmisTmsCostFeeService // 运输成本 splitItem.setBlManual("1"); // 手工计算 splitItem.setCostNo("-1"); // 固定成本 + splitItem.setBatchNo("-1"); splitItem.setTransWeight(waybill.getBillWeight()); // 运输重量 splitItem.setTransVolume(waybill.getTotalVolume()); // 运输体积 @@ -338,13 +343,17 @@ public class EmisTmsCostFeeServiceImpl implements IEmisTmsCostFeeService String calcExprStr=getCalcFeeExpStr(itemCalcExpr,waybill.getBillWeight(),BigDecimal.valueOf(15.0D),BigDecimal.valueOf(1.5D)); double costFee = Double.valueOf(AviatorEvaluator.execute(calcExprStr).toString()); log.info("网点派送费:计算公式:" + calcExprStr + ",重量:" + waybill.getBillWeight().stripTrailingZeros().toPlainString()); - splitItem.setCostFee(BigDecimal.valueOf(costFee)); + + BigDecimal splitCostFee = BigDecimal.valueOf(costFee).setScale(2,BigDecimal.ROUND_HALF_UP); + splitItem.setCostFee(splitCostFee); + splitItem.setCurrency("CNY"); splitItem.setCalcExpr(itemCalcExpr); - splitItem.setCalcRemark(calcExprStr+"="+String.valueOf(costFee)); + splitItem.setCalcRemark(calcExprStr+"="+splitCostFee.stripTrailingZeros().toPlainString()); + splitItem.setRemark("网点派送费(首重:2美金/15元,续重:0.2美金/1.5元/kg)-派件员:"+waybill.getDispatchManName()); // 总成本费用=本次取件费 - splitItem.setTransCostFee(BigDecimal.valueOf(costFee)); + splitItem.setTransCostFee(splitCostFee); // 插入分摊明细数据 emisTmsCostFeeSplitMapper.insertEmisTmsCostFeeSplit(splitItem); @@ -402,10 +411,12 @@ public class EmisTmsCostFeeServiceImpl implements IEmisTmsCostFeeService log.info("网点机场短驳费:计算公式:" + calcExprStr + ",重量:" + waybill.getBillWeight().stripTrailingZeros().toPlainString()); - splitItem.setCostFee(BigDecimal.valueOf(costFee)); - splitItem.setCalcExpr(calcExprStr); - splitItem.setCalcRemark(calcExprStr+"="+String.valueOf(costFee)); - splitItem.setRemark("网点机场短驳费:"+waybill.getDispatchManName()); + BigDecimal splitCostFee = BigDecimal.valueOf(costFee).setScale(2,BigDecimal.ROUND_HALF_UP); + splitItem.setCostFee(splitCostFee); + splitItem.setCurrency("CNY"); + splitItem.setCalcExpr(itemCalcExpr); + splitItem.setCalcRemark(calcExprStr+"="+splitCostFee.stripTrailingZeros().toPlainString()); + splitItem.setRemark("网点机场短驳费"); // 总成本费用 splitItem.setTransCostFee(totalDbCostFee); @@ -671,11 +682,11 @@ public class EmisTmsCostFeeServiceImpl implements IEmisTmsCostFeeService costFee = Double.valueOf(AviatorEvaluator.execute(calcExprStr).toString()); log.info("按票分摊:计算公式:" + calcExprStr + ",票数:1"); } - BigDecimal splitCostFee = BigDecimal.valueOf(costFee).setScale(2,BigDecimal.ROUND_HALF_UP); + BigDecimal splitCostFee = BigDecimal.valueOf(costFee).setScale(2,BigDecimal.ROUND_HALF_UP); splitItem.setCostFee(splitCostFee); splitItem.setCalcExpr(itemCalcExpr); - splitItem.setCalcRemark(calcExprStr+"="+String.valueOf(splitCostFee)); + splitItem.setCalcRemark(calcExprStr+"="+splitCostFee.stripTrailingZeros().toPlainString()); splitItem.setRemark("批次成本分摊费用"); // 插入分摊明细数据