From 984f4628c59c063c162eee56d2fd0778797f1059 Mon Sep 17 00:00:00 2001 From: zhou-hongcheng <1064771933@qq.com> Date: Mon, 20 Apr 2026 14:40:14 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E7=89=A9=E6=96=99=E5=AF=BC?= =?UTF-8?q?=E5=85=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../MaterialBaseInfoApplicationService.java | 56 +++++++++++++++++++ 1 file changed, 56 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 f1b726cac..37c284460 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 @@ -404,6 +404,20 @@ public class MaterialBaseInfoApplicationService { fillIdsFromExistingMasterData(row); fillClassifyTypeAndUnit(row); + Object result = systemServiceFeign.getPackList(null, row.getPackName(), row.getOrganizationId()); + Map resultMap = JSON.parseObject(JSONObject.toJSONString(result), new TypeReference>() {}); + List> rowsPack = extractTableDataRows(resultMap); + Map stringObjectMap = rowsPack.get(0); + if (stringObjectMap != null){ + String packCode = stringObjectMap.get("packCode") == null ? "" : String.valueOf(stringObjectMap.get("packCode")); + row.setPackCode(packCode); + String packId = stringObjectMap.get("packId") == null ? "" : String.valueOf(stringObjectMap.get("packId")); + row.setPackId(Long.valueOf(packId)); + String unitName = stringObjectMap.get("unitName") == null ? "" : String.valueOf(stringObjectMap.get("unitName")); + row.setUnitCode("EA"); + row.setUnitName(unitName); + } + MaterialBaseInfoDO materialBaseInfoDO = new MaterialBaseInfoDO(); BeanUtils.copyProperties(row, materialBaseInfoDO); materialBaseInfoDO.setMaterialGoodsRule(buildImportMaterialGoodsRule(row)); @@ -411,6 +425,48 @@ public class MaterialBaseInfoApplicationService { materialBaseInfoDO.setMaterialWarehouseControl(null); materialBaseInfoDO.setMaterialBarCodeList(buildImportBarCodeList(row)); insert(materialBaseInfoDO); + Long materialBaseInfoId = materialBaseInfoDO.getMaterialBaseInfoId(); + + //商品规则批次 + if (StringUtils.isNotBlank(row.getBatchRuleNameImport())){ + MaterialGoodsRuleDO materialGoodsRuleDO = new MaterialGoodsRuleDO(); + Object batchListByName = systemServiceFeign.getBatchListByName(row.getBatchRuleNameImport(), row.getOrganizationId()); + Map batchListByNameMap = JSON.parseObject(JSONObject.toJSONString(batchListByName), new TypeReference>() {}); + Object codeObj = batchListByNameMap.get("code"); + Object totalObj = batchListByNameMap.get("total"); + List> rowsBatch = extractTableDataRows(batchListByNameMap); + for (Map p : rowsBatch) { + if (p == null) { + continue; + } + String rowBatchName = normalizeBatchKeyword(p.get("batchName") == null ? "" : String.valueOf(p.get("batchName"))); + if (StringUtils.equals(row.getBatchRuleNameImport(), rowBatchName)) { + Object idObj = p.get("batchId"); + Long.valueOf(String.valueOf(idObj)); + materialGoodsRuleDO.setBatchId(Long.valueOf(String.valueOf(idObj))); + + materialGoodsRuleDO.setMaterialBaseInfoId(materialBaseInfoId); + materialGoodsRuleDomainService.insert(materialGoodsRuleDO); + } + } + } + + //公共信息 + MaterialCommonDO materialCommonDO = materialBaseInfoDO.getMaterialCommon(); + if (materialCommonDO != null) { + materialCommonDO.setMaterialBaseInfoId(materialBaseInfoId); + materialCommonDomainService.insert(materialCommonDO); + } + //仓库控制信息 + MaterialWarehouseControlDO materialWarehouseControlDO = materialBaseInfoDO.getMaterialWarehouseControl(); + if (materialWarehouseControlDO != null) { + materialWarehouseControlDO.setMaterialBaseInfoId(materialBaseInfoId); + materialWarehouseControlDomainService.insert(materialWarehouseControlDO); + } + //库存预警 + materialInventoryWarningDomainService.batchInsertOrUpdate(materialBaseInfoDO); + //条码信息 + materialBarCodeDomainService.batchInsertOrUpdate(materialBaseInfoDO); successCount++; }