From 99e5258017cdc472bbb2aa3a3a7a881a42afefb7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=A7=A6=E9=B8=BF=E5=B1=95?= <18031053041@163.com> Date: Wed, 4 Feb 2026 15:28:50 +0800 Subject: [PATCH] =?UTF-8?q?=E5=85=A5=E5=BA=93=E5=8D=95=E6=96=B0=E5=A2=9E?= =?UTF-8?q?=E6=B2=A1=E6=9C=89=E8=B4=A7=E4=B8=BB=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../StockInOrderApplicationService.java | 23 +++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) diff --git a/mhd_wms/src/main/java/com/mhd/wms/application/service/stockInOrder/StockInOrderApplicationService.java b/mhd_wms/src/main/java/com/mhd/wms/application/service/stockInOrder/StockInOrderApplicationService.java index 360682bd1..fe4bfedb0 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/application/service/stockInOrder/StockInOrderApplicationService.java +++ b/mhd_wms/src/main/java/com/mhd/wms/application/service/stockInOrder/StockInOrderApplicationService.java @@ -1646,8 +1646,27 @@ public class StockInOrderApplicationService { * @param stockInOrderDO */ private void shipperParam(StockInOrderDO stockInOrderDO){ + // 新增/编辑时前端可能只传 shipperId(下拉选中值),shipperName 为空。 + // 这里优先按 shipperId 回填货主编码/名称;其次再按 shipperName(名称或数字ID字符串)回填。 + + // 1) 优先按 shipperId 查询 + if (ObjectUtil.isNotNull(stockInOrderDO.getShipperId())) { + AjaxResult ajaxResult = userServiceFeign.getInfo(stockInOrderDO.getShipperId()); + if(!"200".equals(String.valueOf(ajaxResult.get("code")))){ + throw new ServiceException("获取货主信息失败"); + } + UserPo userPo = JSON.parseObject(com.alibaba.fastjson2.JSONObject.toJSONString(ajaxResult.get("data")), UserPo.class); + stockInOrderDO.setShipperId(userPo.getUserId()); + stockInOrderDO.setShipperCode(userPo.getUserMemberCode()); + stockInOrderDO.setShipperName(userPo.getUserName()); + return; + } + + // 2) shipperId 为空时,按 shipperName 兜底 String shipperName = stockInOrderDO.getShipperName(); - if (StringUtils.isEmpty(shipperName)) return; + if (StringUtils.isEmpty(shipperName)) { + return; + } if (!shipperName.matches("\\d+")) { // 按名称查询 AjaxResult ajaxResult = userServiceFeign.getInfoByName(shipperName); @@ -1659,7 +1678,7 @@ public class StockInOrderApplicationService { stockInOrderDO.setShipperCode(userPo.getUserMemberCode()); stockInOrderDO.setShipperName(userPo.getUserName()); } else { - // 按ID查询 + // shipperName 是数字:按ID查询 AjaxResult ajaxResult = userServiceFeign.getInfo(Long.valueOf(shipperName)); if(!"200".equals(String.valueOf(ajaxResult.get("code")))){ throw new ServiceException("获取货主信息失败");