优化物料导入
This commit is contained in:
+56
@@ -404,6 +404,20 @@ public class MaterialBaseInfoApplicationService {
|
||||
fillIdsFromExistingMasterData(row);
|
||||
fillClassifyTypeAndUnit(row);
|
||||
|
||||
Object result = systemServiceFeign.getPackList(null, row.getPackName(), row.getOrganizationId());
|
||||
Map<String, Object> resultMap = JSON.parseObject(JSONObject.toJSONString(result), new TypeReference<Map<String, Object>>() {});
|
||||
List<Map<String, Object>> rowsPack = extractTableDataRows(resultMap);
|
||||
Map<String, Object> 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<String, Object> batchListByNameMap = JSON.parseObject(JSONObject.toJSONString(batchListByName), new TypeReference<Map<String, Object>>() {});
|
||||
Object codeObj = batchListByNameMap.get("code");
|
||||
Object totalObj = batchListByNameMap.get("total");
|
||||
List<Map<String, Object>> rowsBatch = extractTableDataRows(batchListByNameMap);
|
||||
for (Map<String, Object> 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++;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user