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 600d6f79b..cfc105be9 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 @@ -1737,6 +1737,29 @@ public class EmisWaybillServiceImpl extends EmisBaseService implements IEmisWayb // 检查信用额度 checkUseQuotaCredit(null,emisWaybillSave); + // 再次检查费用是否和标准计费是否一致 + if(!"1".equals(emisWaybillSave.getBlSpecialQuote()) && !"3".equals(emisWaybillSave.getCalcFeeType())){ + + EmisWaybill checkFeeWaybill=new EmisWaybill(); + checkFeeWaybill.setProductType(emisWaybillSave.getProductType()); + checkFeeWaybill.setCustomerCode(emisWaybillSave.getCustomerCode()); + checkFeeWaybill.setCustNo(emisWaybillSave.getCustNo()); + checkFeeWaybill.setCalcFeeType(emisWaybillSave.getCalcFeeType()); + checkFeeWaybill.setSettlementWeight(emisWaybillSave.getSettlementWeight()); + checkFeeWaybill.setTotalVolume(emisWaybillSave.getTotalVolume()); + + checkFeeWaybill.setSendSiteCode(emisWaybillSave.getSendSiteCode()); + checkFeeWaybill.setDispatchUnderlingSiteCode(emisWaybillSave.getDispatchUnderlingSiteCode()); + checkFeeWaybill.setCustomsClear(emisWaybillSave.getCustomsClear()); + checkFeeWaybill.setCustomsEclaration(emisWaybillSave.getCustomsEclaration()); + + calcWaybillFee(checkFeeWaybill); + + if(checkFeeWaybill.getFreight().compareTo(emisWaybillSave.getFreight()) !=0 ){ + throw new EmisBizError(EmisBizErrorType.FAIL, "费用异常,请检查运费!"); + } + } + // 基础信息更新 emisWaybillMapper.updateEmisWaybill(emisWaybillSave); @@ -2690,6 +2713,7 @@ public class EmisWaybillServiceImpl extends EmisBaseService implements IEmisWayb emisWaybillSave.setSendCounty(" "); } + } /** @@ -3140,6 +3164,29 @@ public class EmisWaybillServiceImpl extends EmisBaseService implements IEmisWayb updateMasterWaybill(emisWaybillSave,new EmisWaybill()); } + // 再次检查费用是否和标准计费是否一致 + if(!"1".equals(emisWaybillSave.getBlSpecialQuote()) && !"3".equals(emisWaybillSave.getCalcFeeType())){ + + EmisWaybill checkFeeWaybill=new EmisWaybill(); + checkFeeWaybill.setProductType(emisWaybillSave.getProductType()); + checkFeeWaybill.setCustomerCode(emisWaybillSave.getCustomerCode()); + checkFeeWaybill.setCustNo(emisWaybillSave.getCustNo()); + checkFeeWaybill.setCalcFeeType(emisWaybillSave.getCalcFeeType()); + checkFeeWaybill.setSettlementWeight(emisWaybillSave.getSettlementWeight()); + checkFeeWaybill.setTotalVolume(emisWaybillSave.getTotalVolume()); + + checkFeeWaybill.setSendSiteCode(emisWaybillSave.getSendSiteCode()); + checkFeeWaybill.setDispatchUnderlingSiteCode(emisWaybillSave.getDispatchUnderlingSiteCode()); + checkFeeWaybill.setCustomsClear(emisWaybillSave.getCustomsClear()); + checkFeeWaybill.setCustomsEclaration(emisWaybillSave.getCustomsEclaration()); + + calcWaybillFee(checkFeeWaybill); + + if(checkFeeWaybill.getFreight().compareTo(emisWaybillSave.getFreight()) !=0 ){ + throw new EmisBizError(EmisBizErrorType.FAIL, "费用异常,请检查运费!"); + } + } + //插入新单 emisWaybillMapper.insertEmisWaybill(emisWaybillSave); @@ -3578,6 +3625,29 @@ public class EmisWaybillServiceImpl extends EmisBaseService implements IEmisWayb emisWaybillSave.setGoodsPics("1"); } + // 再次检查费用是否和标准计费是否一致:非特殊报价和一口价 + if(!"1".equals(emisWaybillSave.getBlSpecialQuote()) && !"3".equals(emisWaybillSave.getCalcFeeType())){ + + EmisWaybill checkFeeWaybill=new EmisWaybill(); + checkFeeWaybill.setProductType(emisWaybillSave.getProductType()); + checkFeeWaybill.setCustomerCode(emisWaybillSave.getCustomerCode()); + checkFeeWaybill.setCustNo(emisWaybillSave.getCustNo()); + checkFeeWaybill.setCalcFeeType(emisWaybillSave.getCalcFeeType()); + checkFeeWaybill.setSettlementWeight(emisWaybillSave.getSettlementWeight()); + checkFeeWaybill.setTotalVolume(emisWaybillSave.getTotalVolume()); + + checkFeeWaybill.setSendSiteCode(emisWaybillSave.getSendSiteCode()); + checkFeeWaybill.setDispatchUnderlingSiteCode(emisWaybillSave.getDispatchUnderlingSiteCode()); + checkFeeWaybill.setCustomsClear(emisWaybillSave.getCustomsClear()); + checkFeeWaybill.setCustomsEclaration(emisWaybillSave.getCustomsEclaration()); + + calcWaybillFee(checkFeeWaybill); + + if(checkFeeWaybill.getFreight().compareTo(emisWaybillSave.getFreight()) !=0 ){ + throw new EmisBizError(EmisBizErrorType.FAIL, "费用异常,请检查运费!"); + } + } + // 基础信息更新 emisWaybillMapper.updateEmisWaybill(emisWaybillSave);