This commit is contained in:
linfso 2024-04-29 15:07:54 +08:00
parent 6c4017e1d3
commit 8472f435e5
4 changed files with 30 additions and 5 deletions

View File

@ -28,6 +28,7 @@ import com.xdadan.erp.common.utils.DBUtil;
import com.xdadan.erp.emis.domain.EmisWaybillAttachment; import com.xdadan.erp.emis.domain.EmisWaybillAttachment;
import com.xdadan.erp.emis.domain.EmisWaybillCargo; import com.xdadan.erp.emis.domain.EmisWaybillCargo;
import com.xdadan.erp.emis.domain.EmisWaybillFeeitem; import com.xdadan.erp.emis.domain.EmisWaybillFeeitem;
import com.xdadan.erp.emis.domain.exception.CalcFeeException;
import com.xdadan.erp.emis.domain.vo.*; import com.xdadan.erp.emis.domain.vo.*;
import com.xdadan.erp.emis.service.*; import com.xdadan.erp.emis.service.*;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
@ -129,7 +130,12 @@ public class EmisWaybillController extends BaseController
jObjFee.put("feeList",feeItem.cvtToVoList(emisWaybillSave.getFeeitemList())); jObjFee.put("feeList",feeItem.cvtToVoList(emisWaybillSave.getFeeitemList()));
return AjaxResult.success("计算成功", jObjFee); return AjaxResult.success("计算成功", jObjFee);
}catch (Exception ex){ }
catch (CalcFeeException ex){
ex.printStackTrace();
return AjaxResult.error("("+ex.getErrorCode()+")"+ex.getMessage());
}
catch (Exception ex){
ex.printStackTrace(); ex.printStackTrace();
return AjaxResult.error("服务器异常,联系客服"); return AjaxResult.error("服务器异常,联系客服");
} }

View File

@ -0,0 +1,17 @@
package com.xdadan.erp.emis.domain.exception;
public class CalcFeeException extends Exception {
private String errorCode;
public CalcFeeException(String errorCode,String message) {
super(message);
this.errorCode = errorCode;
}
public String getErrorCode() {
return errorCode;
}
}

View File

@ -12,6 +12,7 @@ package com.xdadan.erp.emis.service;
import java.util.List; import java.util.List;
import com.xdadan.erp.emis.domain.EmisWaybill; import com.xdadan.erp.emis.domain.EmisWaybill;
import com.xdadan.erp.emis.domain.EmisWaybillFeeitem; import com.xdadan.erp.emis.domain.EmisWaybillFeeitem;
import com.xdadan.erp.emis.domain.exception.CalcFeeException;
import com.xdadan.erp.emis.domain.vo.WaybillOrder; import com.xdadan.erp.emis.domain.vo.WaybillOrder;
/** /**
@ -105,7 +106,7 @@ public interface IEmisWaybillService
//计算运单费用 //计算运单费用
public void calcWaybillFee(EmisWaybill emisWaybill) throws Exception; public void calcWaybillFee(EmisWaybill emisWaybill) throws CalcFeeException;
// 计算结算重量 // 计算结算重量

View File

@ -28,6 +28,7 @@ import com.xdadan.erp.common.utils.DBUtil;
import com.xdadan.erp.common.utils.DateUtils; import com.xdadan.erp.common.utils.DateUtils;
import com.xdadan.erp.common.utils.SecurityUtils; import com.xdadan.erp.common.utils.SecurityUtils;
import com.xdadan.erp.emis.domain.*; import com.xdadan.erp.emis.domain.*;
import com.xdadan.erp.emis.domain.exception.CalcFeeException;
import com.xdadan.erp.emis.domain.vo.*; import com.xdadan.erp.emis.domain.vo.*;
import com.xdadan.erp.emis.mapper.EmisTransLineMapper; import com.xdadan.erp.emis.mapper.EmisTransLineMapper;
import com.xdadan.erp.emis.service.*; import com.xdadan.erp.emis.service.*;
@ -354,7 +355,7 @@ public class EmisWaybillServiceImpl extends EmisBaseService implements IEmisWayb
* @return * @return
*/ */
@Override @Override
public void calcWaybillFee(EmisWaybill emisWaybill) throws Exception { public void calcWaybillFee(EmisWaybill emisWaybill) throws CalcFeeException {
/** /**
* 计算逻辑,获取表达式进行计算 * 计算逻辑,获取表达式进行计算
@ -366,7 +367,7 @@ public class EmisWaybillServiceImpl extends EmisBaseService implements IEmisWayb
emisWaybill.getCalcFeeType() emisWaybill.getCalcFeeType()
) )
){ ){
throw new Exception("参数不整取不能计算"); throw new CalcFeeException("E3001","参数不完整");
} }
List<EmisQuotePrice> emisQuotePriceList=getValidQuotePriceList(emisWaybill.getProductType(), List<EmisQuotePrice> emisQuotePriceList=getValidQuotePriceList(emisWaybill.getProductType(),
@ -375,7 +376,7 @@ public class EmisWaybillServiceImpl extends EmisBaseService implements IEmisWayb
if(CollectionUtils.isEmpty(emisQuotePriceList)){ if(CollectionUtils.isEmpty(emisQuotePriceList)){
throw new Exception("计算失败,无有效资费"); throw new CalcFeeException("E3002","报价未配置");
} }
// 根据表达式计算费用 // 根据表达式计算费用