From cbe4646d6f09ec56d342e1d662b0a9fa86e75a0c Mon Sep 17 00:00:00 2001 From: linfso Date: Tue, 30 Jul 2024 05:57:52 +0800 Subject: [PATCH] md --- .../xdadan/erp/apiweb/WaybillController.java | 48 +++++++++++++++++++ 1 file changed, 48 insertions(+) diff --git a/emis-api-web/src/main/java/com/xdadan/erp/apiweb/WaybillController.java b/emis-api-web/src/main/java/com/xdadan/erp/apiweb/WaybillController.java index 6c8b55f..7ae97fe 100644 --- a/emis-api-web/src/main/java/com/xdadan/erp/apiweb/WaybillController.java +++ b/emis-api-web/src/main/java/com/xdadan/erp/apiweb/WaybillController.java @@ -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 estList=emisWaybillService.preCalcWaybillFee(emisWaybillSave); + + // 如果没有报价,则使用该路线下的产品作为列表 + if(CollectionUtil.isEmpty(estList)){ + List prodList=emisBaseService.getTransProductByTransLine(emisWaybillSave.getTransLineType()); + if(!CollectionUtil.isEmpty(prodList)){ + estList = new ArrayList(); + for (EmisTransProduct prod:prodList) { + Map 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("服务器异常,联系客服"); + } + } + + + +