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);