|
|
|
@ -41,65 +41,81 @@ class MesToPiscesWorkOrder {
|
|
|
|
|
if (srcData == null || srcData.size() == 0) {
|
|
|
|
|
return srcData
|
|
|
|
|
}
|
|
|
|
|
Map<String, MesProductVersion> mesProductVersionMap = new HashMap<>();
|
|
|
|
|
Map<String, MesPartSap> mesPartSapMap = new HashMap<>();
|
|
|
|
|
Map<String, MesPartProdGroup> mesPartProdGroupMap = new HashMap<>();
|
|
|
|
|
Map<String, MesCustomerCarModel> mesCustomerCarModelMap = new HashMap<>();
|
|
|
|
|
String organizeCode = mapper.getOrganizeCode();
|
|
|
|
|
for (Map<String, Object> rowMap : srcData) {
|
|
|
|
|
if (!StringUtils.isEmpty(rowMap.get("PART_NO")) && !StringUtils.isEmpty(rowMap.get("PRODUCT_VERSION")) && !StringUtils.isEmpty(rowMap.get("ERP_WORK_CENTER"))) {
|
|
|
|
|
MesProductVersion mesProductVersion = getMesProductVersion(organizeCode, String.valueOf(rowMap.get(rowMap.get("PART_NO"))), String.valueOf(rowMap.get("PRODUCT_VERSION")), String.valueOf(rowMap.get("ERP_WORK_CENTER")))
|
|
|
|
|
if (!StringUtils.isEmpty(rowMap.get("part_no")) && !StringUtils.isEmpty(rowMap.get("product_version")) && !StringUtils.isEmpty(rowMap.get("erp_work_center"))) {
|
|
|
|
|
MesProductVersion mesProductVersion = getMesProductVersion(organizeCode, String.valueOf(rowMap.get("part_no")), String.valueOf(rowMap.get("product_version")), String.valueOf(rowMap.get("erp_work_center")), mesProductVersionMap)
|
|
|
|
|
if (!Objects.isNull(mesProductVersion)) {
|
|
|
|
|
rowMap.put("BOM_CODE", mesProductVersion.getAlternativePartList())
|
|
|
|
|
} else {
|
|
|
|
|
LOGGER.info("物料{}生产版本{}工作中心{},信息不存在", String.valueOf(rowMap.get(rowMap.get("PART_NO"))), String.valueOf(rowMap.get(rowMap.get("PRODUCT_VERSION"))), String.valueOf(rowMap.get(rowMap.get("ERP_WORK_CENTER"))))
|
|
|
|
|
LOGGER.info("物料{}生产版本{}工作中心{},信息不存在", String.valueOf(rowMap.get("part_no")), String.valueOf(rowMap.get("product_version")), String.valueOf(rowMap.get("erp_work_center")))
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
//获取物料信息
|
|
|
|
|
if (!StringUtils.isEmpty(rowMap.get("PART_NO"))) {
|
|
|
|
|
if (!StringUtils.isEmpty(rowMap.get("part_no"))) {
|
|
|
|
|
try {
|
|
|
|
|
MesPartSap mesPartSap = mesPartSapService.getMesPartSapByPartNo(String.valueOf(rowMap.get(rowMap.get("PART_NO"))), organizeCode)
|
|
|
|
|
if (Objects.isNull(mesPartSapMap) || !mesPartSapMap.containsKey(String.valueOf(rowMap.get("part_no")))) {
|
|
|
|
|
mesPartSapMap.put(String.valueOf(rowMap.get("part_no")), mesPartSapService.getMesPartSapByPartNo(String.valueOf(rowMap.get("part_no")), organizeCode))
|
|
|
|
|
}
|
|
|
|
|
MesPartSap mesPartSap = mesPartSapMap.get(String.valueOf(rowMap.get("part_no")))
|
|
|
|
|
rowMap.put("UOM", mesPartSap.getUnit())
|
|
|
|
|
} catch (Exception e) {
|
|
|
|
|
LOGGER.info("物料{},信息不存在", String.valueOf(rowMap.get("PART_NO")))
|
|
|
|
|
LOGGER.info("物料{},信息不存在", String.valueOf(rowMap.get("part_no")))
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
//获取零件生产组
|
|
|
|
|
if (!StringUtils.isEmpty(rowMap.get("PART_PROD_GROUP_CODE"))) {
|
|
|
|
|
MesPartProdGroup mesPartProdGroup = getMesPartProdGroup(organizeCode, String.valueOf(rowMap.get(rowMap.get("PART_PROD_GROUP_CODE"))));
|
|
|
|
|
if (!StringUtils.isEmpty(rowMap.get("part_prod_group_code"))) {
|
|
|
|
|
MesPartProdGroup mesPartProdGroup = getMesPartProdGroup(organizeCode, String.valueOf(rowMap.get("part_prod_group_code")), mesPartProdGroupMap);
|
|
|
|
|
if (!Objects.isNull(mesPartProdGroup)) {
|
|
|
|
|
rowMap.put("PRODUCT_GROUP_ID", mesPartProdGroup.getId())
|
|
|
|
|
} else {
|
|
|
|
|
LOGGER.info("零件生产组{}信息不存在", String.valueOf(rowMap.get("PART_PROD_GROUP_CODE")))
|
|
|
|
|
LOGGER.info("零件生产组{}信息不存在", String.valueOf(rowMap.get("part_prod_group_code")))
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//获取车型名称
|
|
|
|
|
if (!StringUtils.isEmpty(rowMap.get("CAR_MODEL_CODE"))) {
|
|
|
|
|
MesCustomerCarModel mesCustomerCarModel = getMesCustomerCarModel(organizeCode, String.valueOf(rowMap.get(rowMap.get("CAR_MODEL_CODE"))))
|
|
|
|
|
if (!StringUtils.isEmpty(rowMap.get("car_model_code"))) {
|
|
|
|
|
MesCustomerCarModel mesCustomerCarModel = getMesCustomerCarModel(organizeCode, String.valueOf(rowMap.get("car_model_code")), mesCustomerCarModelMap)
|
|
|
|
|
if (!Objects.isNull(mesCustomerCarModel)) {
|
|
|
|
|
rowMap.put("VEHICLE_NAME", mesCustomerCarModel.getCarModelName())
|
|
|
|
|
} else {
|
|
|
|
|
LOGGER.info("车型代码{}信息不存在", String.valueOf(rowMap.get("CAR_MODEL_CODE")))
|
|
|
|
|
LOGGER.info("车型代码{}信息不存在", String.valueOf(rowMap.get("car_model_code")))
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
return srcData;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private MesProductVersion getMesProductVersion(String organizeCode, String partNo, String workCenterCode, String productVersion) {
|
|
|
|
|
private MesProductVersion getMesProductVersion(String organizeCode, String partNo, String productVersion, String workCenterCode, Map<String, MesProductVersion> mesProductVersionMap) {
|
|
|
|
|
if (Objects.isNull(mesProductVersionMap) || !mesProductVersionMap.containsKey(partNo + productVersion + workCenterCode)) {
|
|
|
|
|
DdlPackBean ddlPackBean = DdlPackBean.getDdlPackBean(organizeCode);
|
|
|
|
|
DdlPreparedPack.getStringEqualPack(partNo, "partNo", ddlPackBean);
|
|
|
|
|
DdlPreparedPack.getStringEqualPack(workCenterCode, "workCenterCode", ddlPackBean);
|
|
|
|
|
DdlPreparedPack.getStringEqualPack(productVersion, "productVersion", ddlPackBean);
|
|
|
|
|
return mesProductVersionRepository.getByProperty(ddlPackBean);
|
|
|
|
|
mesProductVersionMap.put(partNo + productVersion + workCenterCode, mesProductVersionRepository.getByProperty(ddlPackBean))
|
|
|
|
|
}
|
|
|
|
|
return mesProductVersionMap.get(partNo + productVersion + workCenterCode)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private MesPartProdGroup getMesPartProdGroup(String organizeCode, String partProdGroupCode) {
|
|
|
|
|
private MesPartProdGroup getMesPartProdGroup(String organizeCode, String partProdGroupCode, Map<String, MesPartProdGroup> mesProductVersionMap) {
|
|
|
|
|
if (Objects.isNull(mesProductVersionMap) || !mesProductVersionMap.containsKey(partProdGroupCode)) {
|
|
|
|
|
DdlPackBean ddlPackBean = DdlPackBean.getDdlPackBean(organizeCode);
|
|
|
|
|
DdlPreparedPack.getStringEqualPack(partProdGroupCode, "partProdGroupCode", ddlPackBean);
|
|
|
|
|
return mesPartProdGroupRepository.getByProperty(ddlPackBean);
|
|
|
|
|
mesProductVersionMap.put(partProdGroupCode, mesPartProdGroupRepository.getByProperty(ddlPackBean))
|
|
|
|
|
}
|
|
|
|
|
return mesProductVersionMap.get(partProdGroupCode);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private MesCustomerCarModel getMesCustomerCarModel(String organizeCode, String carModelCode) {
|
|
|
|
|
private MesCustomerCarModel getMesCustomerCarModel(String organizeCode, String carModelCode, Map<String, MesCustomerCarModel> mesCustomerCarModelMap) {
|
|
|
|
|
if (Objects.isNull(mesCustomerCarModelMap) || !mesCustomerCarModelMap.containsKey(carModelCode)) {
|
|
|
|
|
DdlPackBean ddlPackBean = DdlPackBean.getDdlPackBean(organizeCode);
|
|
|
|
|
DdlPreparedPack.getStringEqualPack(carModelCode, "carModelCode", ddlPackBean);
|
|
|
|
|
return mesCustomerCarModelRepository.getByProperty(ddlPackBean);
|
|
|
|
|
mesCustomerCarModelMap.put(carModelCode, mesCustomerCarModelRepository.getByProperty(ddlPackBean));
|
|
|
|
|
}
|
|
|
|
|
return mesCustomerCarModelMap.get(carModelCode)
|
|
|
|
|
}
|
|
|
|
|
}
|