This commit is contained in:
linfso 2024-07-30 05:57:52 +08:00
parent 94804b9d11
commit cbe4646d6f

View File

@ -26,7 +26,9 @@ import com.xdadan.erp.common.enums.BusinessType;
import com.xdadan.erp.common.utils.DateUtils;
import com.xdadan.erp.common.utils.idgen.UUID;
import com.xdadan.erp.emis.domain.EmisTmsScanRecord;
import com.xdadan.erp.emis.domain.EmisTransProduct;
import com.xdadan.erp.emis.domain.EmisWaybill;
import com.xdadan.erp.emis.domain.EmisWaybillFeeitem;
import com.xdadan.erp.emis.domain.enumtype.ScanType;
import com.xdadan.erp.emis.domain.exception.EmisBizError;
import com.xdadan.erp.emis.domain.vo.FeeItem;
@ -311,6 +313,52 @@ public class WaybillController extends BaseController
@Log(title = "OMS下单运费试算", businessType = BusinessType.OTHER)
@PostMapping(value = "/calcProductFeeByOms")
public AjaxResult calcProductFeeByOms(@RequestBody WaybillOrder waybillOrder)
{
try {
EmisWaybill emisWaybillSave = waybillOrder.toDb();
List<Map> estList=emisWaybillService.preCalcWaybillFee(emisWaybillSave);
// 如果没有报价,则使用该路线下的产品作为列表
if(CollectionUtil.isEmpty(estList)){
List<EmisTransProduct> prodList=emisBaseService.getTransProductByTransLine(emisWaybillSave.getTransLineType());
if(!CollectionUtil.isEmpty(prodList)){
estList = new ArrayList<Map>();
for (EmisTransProduct prod:prodList) {
Map<String, Object> estFeeMap = new HashMap<>();
estFeeMap.put("productType",prod.getProdCode());
estFeeMap.put("productTypeName",prod.getProdName()+"");
estFeeMap.put("agingDesc",prod.getAgingDesc());
estFeeMap.put("leastPrice","0");
estFeeMap.put("estFee","0");
estFeeMap.put("orderNum","0");
estList.add(estFeeMap);
}
}
}
return AjaxResult.success("试算成功", estList);
}
catch(EmisBizError ex){
ex.printStackTrace();
return AjaxResult.error("("+ex.getErrorCode()+")"+ex.getMessage());
}
catch (Exception ex){
ex.printStackTrace();
// 返回子定义异常
if(ex instanceof EmisBizError){
return AjaxResult.error(ex.getMessage(),((EmisBizError)ex).getErrorCode());
}
return AjaxResult.error("服务器异常,联系客服");
}
}