diff --git a/emis-biz/src/main/java/com/xdadan/erp/emis/domain/EmisWaybillFeeitem.java b/emis-biz/src/main/java/com/xdadan/erp/emis/domain/EmisWaybillFeeitem.java index f1ea1e82b..152fa9202 100644 --- a/emis-biz/src/main/java/com/xdadan/erp/emis/domain/EmisWaybillFeeitem.java +++ b/emis-biz/src/main/java/com/xdadan/erp/emis/domain/EmisWaybillFeeitem.java @@ -2,7 +2,7 @@ * @Project: emis * @Title: EmisWaybillFeeitem.java * @author linfso - * @date 2024-04-27 13:18:17 + * @date 2024-05-16 01:52:04 * @Copyright: ShangHai Duta 2022 All rights reserved. * @version v1.0 * @Description:

运单费用条目 实体类

@@ -26,7 +26,7 @@ import lombok.Data; * @ClassName EmisWaybillFeeitem * @Description 运单费用条目 * @author linfso - * @date 2024-04-27 13:18:17 + * @date 2024-05-16 01:52:04 */ @Data public class EmisWaybillFeeitem extends BaseEntity @@ -43,6 +43,8 @@ public class EmisWaybillFeeitem extends BaseEntity private String feeName; /* 费用值 */ private BigDecimal fee; + /* 实收费用 */ + private BigDecimal realFee; /* 费用币种 */ private String currency; /* 报价ID */ @@ -51,6 +53,8 @@ public class EmisWaybillFeeitem extends BaseEntity private Long exprId; /* 计算公式 */ private String calcExp; + /* 首重费 */ + private BigDecimal initialWeightFee; /* 续重单价 */ private BigDecimal addWeightPrice; /* 排序 */ diff --git a/emis-biz/src/main/java/com/xdadan/erp/emis/domain/vo/FeeItem.java b/emis-biz/src/main/java/com/xdadan/erp/emis/domain/vo/FeeItem.java index b0d4a2bc4..b2c8718fb 100644 --- a/emis-biz/src/main/java/com/xdadan/erp/emis/domain/vo/FeeItem.java +++ b/emis-biz/src/main/java/com/xdadan/erp/emis/domain/vo/FeeItem.java @@ -30,6 +30,15 @@ public class FeeItem extends VoBase { /* 续重单价 */ private BigDecimal addWeightPrice; + /* 实收费用 */ + private BigDecimal realFee; + /* 首重费 */ + private BigDecimal initialWeightFee; + + + + + @Override public FeeItem toVo(EmisWaybillFeeitem dbItem) { FeeItem voItem = new FeeItem(); @@ -42,7 +51,9 @@ public class FeeItem extends VoBase { voItem.setOrderNum(dbItem.getOrderNum()); voItem.setCalcExp(dbItem.getCalcExp()); voItem.setAddWeightPrice(dbItem.getAddWeightPrice()); -// voItem.setRemark(dbItem.getRemark()); + voItem.setRealFee(dbItem.getRealFee()); + voItem.setInitialWeightFee(dbItem.getInitialWeightFee()); + voItem.setRemark(dbItem.getRemark()); return voItem; } @@ -58,6 +69,8 @@ public class FeeItem extends VoBase { dbItem.setOrderNum(voItem.getOrderNum()); dbItem.setCalcExp(voItem.getCalcExp()); dbItem.setAddWeightPrice(voItem.getAddWeightPrice()); + dbItem.setRealFee(voItem.getRealFee()); + dbItem.setInitialWeightFee(voItem.getInitialWeightFee()); dbItem.setRemark(voItem.getRemark()); return dbItem; } diff --git a/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisWaybillServiceImpl.java b/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisWaybillServiceImpl.java index f205151b5..18301638a 100644 --- a/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisWaybillServiceImpl.java +++ b/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisWaybillServiceImpl.java @@ -506,17 +506,24 @@ public class EmisWaybillServiceImpl extends EmisBaseService implements IEmisWayb String calcExp = exprItem.getCalculateExpression(); feeItem.setCalcExp(calcExp); feeItem.setAddWeightPrice(BigDecimal.valueOf(exprItem.getAdditionalWeight())); + feeItem.setInitialWeightFee(BigDecimal.valueOf(exprItem.getInitialWeight())); + + + String calcExprStr=calcExp.replaceAll("w",emisWaybill.getSettlementWeight().toString()) + .replaceAll("s",exprItem.getInitialWeight().toString()) + .replaceAll("d",exprItem.getAdditionalWeight().toString()); - String calcExprStr=calcExp.replaceAll("w",emisWaybill.getSettlementWeight().toString()); log.info("计算公式:"+calcExprStr+",重量:"+emisWaybill.getSettlementWeight()); double fee = Double.valueOf(AviatorEvaluator.execute(calcExprStr).toString()); fee=WaybillHelper.calcSettledFee(fee,quoteItem.getPriceType()); feeItem.setFee(BigDecimal.valueOf(fee)); + feeItem.setRealFee(feeItem.getRealFee()); + log.info("计算后费用:"+feeItem.getFee()); totalFee=totalFee+fee; - feeItem.setRemark(JSONObject.toJSONString(exprItem)); + feeItem.setRemark(feeItem.getCalcExp()); feeList.add(feeItem); diff --git a/emis-biz/src/main/resources/mapper/EmisWaybillFeeitemMapper.xml b/emis-biz/src/main/resources/mapper/EmisWaybillFeeitemMapper.xml index 1454b2c23..3e7a4729a 100644 --- a/emis-biz/src/main/resources/mapper/EmisWaybillFeeitemMapper.xml +++ b/emis-biz/src/main/resources/mapper/EmisWaybillFeeitemMapper.xml @@ -10,10 +10,12 @@ + + @@ -25,7 +27,7 @@ - select id, waybill_id, fee_code, fee_name, fee, currency, quote_id, expr_id, calc_exp, add_weight_price, order_num, del_flag, create_by, create_time, update_by, update_time, remark from emis_waybill_feeitem + select id, waybill_id, fee_code, fee_name, fee, real_fee, currency, quote_id, expr_id, calc_exp, initial_weight_fee, add_weight_price, order_num, del_flag, create_by, create_time, update_by, update_time, remark from emis_waybill_feeitem @@ -66,10 +70,12 @@ fee_code, fee_name, fee, + real_fee, currency, quote_id, expr_id, calc_exp, + initial_weight_fee, add_weight_price, order_num, del_flag, @@ -85,10 +91,12 @@ #{feeCode}, #{feeName}, #{fee}, + #{realFee}, #{currency}, #{quoteId}, #{exprId}, #{calcExp}, + #{initialWeightFee}, #{addWeightPrice}, #{orderNum}, #{delFlag}, @@ -107,10 +115,12 @@ fee_code = #{feeCode}, fee_name = #{feeName}, fee = #{fee}, + real_fee = #{realFee}, currency = #{currency}, quote_id = #{quoteId}, expr_id = #{exprId}, calc_exp = #{calcExp}, + initial_weight_fee = #{initialWeightFee}, add_weight_price = #{addWeightPrice}, order_num = #{orderNum}, del_flag = #{delFlag},