From 6e134ad086b66605a0a056441a55683e9f833d44 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=A7=A6=E9=B8=BF=E5=B1=95?= <18031053041@163.com> Date: Tue, 31 Mar 2026 16:40:37 +0800 Subject: [PATCH] =?UTF-8?q?PC=E7=89=A9=E6=96=99=E5=AF=BC=E5=85=A5=E5=8D=95?= =?UTF-8?q?=E4=BD=8D=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../MaterialBaseInfoApplicationService.java | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) 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 91baec3ba..128248c22 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 @@ -559,6 +559,22 @@ public class MaterialBaseInfoApplicationService { } } } + // 模板未填写物料单位时,默认取包装规格中的 EA 单位 + if ((StringUtils.isBlank(row.getUnitCode()) || StringUtils.isBlank(row.getUnitName())) + && row.getPackId() != null) { + AjaxResult packDetailResult = systemServiceFeign.getInfoByPackIdAndUnitCode(row.getPackId(), "EA"); + if ("200".equals(String.valueOf(packDetailResult.get("code"))) && packDetailResult.get("data") != null) { + PackDetailFeignPO pd = JSON.parseObject(JSONObject.toJSONString(packDetailResult.get("data")), PackDetailFeignPO.class); + if (pd != null) { + if (StringUtils.isBlank(row.getUnitCode()) && StringUtils.isNotBlank(pd.getUnitCode())) { + row.setUnitCode(pd.getUnitCode()); + } + if (StringUtils.isBlank(row.getUnitName()) && StringUtils.isNotBlank(pd.getName())) { + row.setUnitName(pd.getName()); + } + } + } + } // 兜底:导入模板给了“物料单位/单位”,但包装明细未命中时至少保留单位名称 if (StringUtils.isBlank(row.getUnitName()) && StringUtils.isNotBlank(unitInput)) { row.setUnitName(unitInput);