From 1d9632237020dd325ca336141e23fc29797323af Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=A5=8E=E5=85=B4?= <2220574228@qq.com> Date: Tue, 18 Aug 2026 09:53:30 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E4=BF=AE=E6=94=B9=E7=89=A9?= =?UTF-8?q?=E6=96=99=E5=8E=BB=E9=99=A4=E8=B4=A7=E4=B8=BB=E6=A0=A1=E9=AA=8C?= =?UTF-8?q?;?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../MaterialBaseInfoApplicationService.java | 23 +++-- .../MaterialBaseInfoApplicationService.java | 95 ++++++++++--------- 2 files changed, 63 insertions(+), 55 deletions(-) diff --git a/mhd-modules/mhd-system/src/main/java/com/mhd/basic/application/service/materialBaseInfo/MaterialBaseInfoApplicationService.java b/mhd-modules/mhd-system/src/main/java/com/mhd/basic/application/service/materialBaseInfo/MaterialBaseInfoApplicationService.java index ae9cd97a9..645c45a44 100644 --- a/mhd-modules/mhd-system/src/main/java/com/mhd/basic/application/service/materialBaseInfo/MaterialBaseInfoApplicationService.java +++ b/mhd-modules/mhd-system/src/main/java/com/mhd/basic/application/service/materialBaseInfo/MaterialBaseInfoApplicationService.java @@ -157,15 +157,18 @@ public class MaterialBaseInfoApplicationService { * @param materialBaseInfoDO */ private void shipperParam(MaterialBaseInfoDO materialBaseInfoDO){ - AjaxResult ajaxResult = userServiceFeign.getInfo(materialBaseInfoDO.getShipperId()); - if(!"200".equals(String.valueOf(ajaxResult.get("code")))){ - throw new ServiceException("获取货主信息失败"); - } - UserPo userPo = JSON.parseObject(JSONObject.toJSONString(ajaxResult.get("data")), UserPo.class); - // 如果原始shipperName不为空,保留原始值(导入或手动输入时应该保留完整名称) - // 只有在原始shipperName为空时,才使用查询到的userName - if (materialBaseInfoDO.getShipperName() == null || materialBaseInfoDO.getShipperName().trim().isEmpty()) { - materialBaseInfoDO.setShipperName(userPo.getUserName()); + Long shipperId = materialBaseInfoDO.getShipperId(); + if (shipperId != null && shipperId != 0l) { + AjaxResult ajaxResult = userServiceFeign.getInfo(materialBaseInfoDO.getShipperId()); + if(!"200".equals(String.valueOf(ajaxResult.get("code")))){ + throw new ServiceException("获取货主信息失败"); + } + UserPo userPo = JSON.parseObject(JSONObject.toJSONString(ajaxResult.get("data")), UserPo.class); + // 如果原始shipperName不为空,保留原始值(导入或手动输入时应该保留完整名称) + // 只有在原始shipperName为空时,才使用查询到的userName + if (materialBaseInfoDO.getShipperName() == null || materialBaseInfoDO.getShipperName().trim().isEmpty()) { + materialBaseInfoDO.setShipperName(userPo.getUserName()); + } } } @@ -182,4 +185,4 @@ public class MaterialBaseInfoApplicationService { //return materialBaseInfoDomainService.getMaterialStockList(shipperName,materialName,machineCode,topOrganizationId,pageNum,pageSize);/**/ return null; } -} +} \ No newline at end of file diff --git a/mhd_wms/src/main/java/com/mhd/wms/application/service/materialBaseInfo/MaterialBaseInfoApplicationService.java b/mhd_wms/src/main/java/com/mhd/wms/application/service/materialBaseInfo/MaterialBaseInfoApplicationService.java index 10b12490c..23bd5b08b 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/application/service/materialBaseInfo/MaterialBaseInfoApplicationService.java +++ b/mhd_wms/src/main/java/com/mhd/wms/application/service/materialBaseInfo/MaterialBaseInfoApplicationService.java @@ -257,31 +257,33 @@ public class MaterialBaseInfoApplicationService { } } Long shipperId = materialBaseInfoDO.getShipperId(); - String customerCodeNcJson = null; - if (shipperId != null) { - customerCodeNcJson = materialBaseInfoMapper.getCustomerCodeNcJson(shipperId.toString()); - } - if (customerCodeNcJson != null && !customerCodeNcJson.isEmpty()) { - ObjectMapper objectMapper = new ObjectMapper(); - List> listNc = null; - try { - listNc = objectMapper.readValue( - customerCodeNcJson, - new com.fasterxml.jackson.core.type.TypeReference>>() {} - ); - String codeStr = ""; - if (listNc != null && listNc.size() > 0) { - // 方式1:Stream拼接,逗号分隔 - codeStr = listNc.stream() - .map(map -> map.get("code")) - .filter(Objects::nonNull) // 过滤code为空 - .map(Object::toString) - .collect(Collectors.joining(",")); - materialBaseInfoDO.setOrgId(codeStr); + if (shipperId != null&&shipperId != 0L) { + String customerCodeNcJson = null; + if (shipperId != null) { + customerCodeNcJson = materialBaseInfoMapper.getCustomerCodeNcJson(shipperId.toString()); + } + if (customerCodeNcJson != null && !customerCodeNcJson.isEmpty()) { + ObjectMapper objectMapper = new ObjectMapper(); + List> listNc = null; + try { + listNc = objectMapper.readValue( + customerCodeNcJson, + new com.fasterxml.jackson.core.type.TypeReference>>() {} + ); + String codeStr = ""; + if (listNc != null && listNc.size() > 0) { + // 方式1:Stream拼接,逗号分隔 + codeStr = listNc.stream() + .map(map -> map.get("code")) + .filter(Objects::nonNull) // 过滤code为空 + .map(Object::toString) + .collect(Collectors.joining(",")); + materialBaseInfoDO.setOrgId(codeStr); + } + // codeStr 就是拼接好的字符串 + } catch (JsonProcessingException e) { + throw new RuntimeException(e); } - // codeStr 就是拼接好的字符串 - } catch (JsonProcessingException e) { - throw new RuntimeException(e); } } Long materialBaseInfoId = materialBaseInfoDomainService.insert(materialBaseInfoDO); @@ -316,30 +318,33 @@ public class MaterialBaseInfoApplicationService { */ public Boolean update(MaterialBaseInfoDO materialBaseInfoDO) { Long shipperId = materialBaseInfoDO.getShipperId(); - String customerCodeNcJson = materialBaseInfoMapper.getCustomerCodeNcJson(shipperId.toString()); - if (customerCodeNcJson != null && !customerCodeNcJson.isEmpty()) { - ObjectMapper objectMapper = new ObjectMapper(); - List> listNc = null; - try { - listNc = objectMapper.readValue( - customerCodeNcJson, - new com.fasterxml.jackson.core.type.TypeReference>>() {} - ); - String codeStr = ""; - if (listNc != null && listNc.size() > 0) { - // 方式1:Stream拼接,逗号分隔 - codeStr = listNc.stream() - .map(map -> map.get("code")) - .filter(Objects::nonNull) // 过滤code为空 - .map(Object::toString) - .collect(Collectors.joining(",")); - materialBaseInfoDO.setOrgId(codeStr); + if (shipperId != null&&shipperId!=0l) { + String customerCodeNcJson = materialBaseInfoMapper.getCustomerCodeNcJson(shipperId.toString()); + if (customerCodeNcJson != null && !customerCodeNcJson.isEmpty()) { + ObjectMapper objectMapper = new ObjectMapper(); + List> listNc = null; + try { + listNc = objectMapper.readValue( + customerCodeNcJson, + new com.fasterxml.jackson.core.type.TypeReference>>() {} + ); + String codeStr = ""; + if (listNc != null && listNc.size() > 0) { + // 方式1:Stream拼接,逗号分隔 + codeStr = listNc.stream() + .map(map -> map.get("code")) + .filter(Objects::nonNull) // 过滤code为空 + .map(Object::toString) + .collect(Collectors.joining(",")); + materialBaseInfoDO.setOrgId(codeStr); + } + // codeStr 就是拼接好的字符串 + } catch (JsonProcessingException e) { + throw new RuntimeException(e); } - // codeStr 就是拼接好的字符串 - } catch (JsonProcessingException e) { - throw new RuntimeException(e); } } + materialBaseInfoDomainService.update(materialBaseInfoDO); Long materialBaseInfoId = materialBaseInfoDO.getMaterialBaseInfoId(); // 商品/公共/仓控 子表:Feign/前端常只带业务字段、未带子表主键,需按 material_base_info_id 补全后再 update,否则 WHERE xxx_id=? 为 null 导致 Updates: 0