优化物料导入
This commit is contained in:
+56
@@ -404,6 +404,20 @@ public class MaterialBaseInfoApplicationService {
|
|||||||
fillIdsFromExistingMasterData(row);
|
fillIdsFromExistingMasterData(row);
|
||||||
fillClassifyTypeAndUnit(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();
|
MaterialBaseInfoDO materialBaseInfoDO = new MaterialBaseInfoDO();
|
||||||
BeanUtils.copyProperties(row, materialBaseInfoDO);
|
BeanUtils.copyProperties(row, materialBaseInfoDO);
|
||||||
materialBaseInfoDO.setMaterialGoodsRule(buildImportMaterialGoodsRule(row));
|
materialBaseInfoDO.setMaterialGoodsRule(buildImportMaterialGoodsRule(row));
|
||||||
@@ -411,6 +425,48 @@ public class MaterialBaseInfoApplicationService {
|
|||||||
materialBaseInfoDO.setMaterialWarehouseControl(null);
|
materialBaseInfoDO.setMaterialWarehouseControl(null);
|
||||||
materialBaseInfoDO.setMaterialBarCodeList(buildImportBarCodeList(row));
|
materialBaseInfoDO.setMaterialBarCodeList(buildImportBarCodeList(row));
|
||||||
insert(materialBaseInfoDO);
|
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++;
|
successCount++;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user