接口同步脚本

tags/yfai-mes-ext-v1.0
jun 12 months ago
parent 0578661a0e
commit 1b2f04fb6c

@ -0,0 +1,105 @@
import cn.estsh.i3plus.pojo.base.bean.DdlPackBean
import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack
import cn.estsh.i3plus.pojo.mes.bean.MesEquipment
import cn.estsh.i3plus.pojo.mes.bean.MesProduceSn
import cn.estsh.i3plus.pojo.mes.bean.MesProductionRecord
import cn.estsh.i3plus.pojo.mes.dbinterface.MesInterfaceDataMapper
import cn.estsh.i3plus.pojo.mes.repository.MesEquipmentRepository
import cn.estsh.i3plus.pojo.mes.repository.MesProduceSnRepository
import cn.estsh.i3plus.pojo.mes.repository.MesProductionRecordRepository
import org.slf4j.Logger
import org.slf4j.LoggerFactory
import org.springframework.beans.factory.annotation.Autowired
import org.springframework.util.StringUtils
/**
* @Description :
* @Reference :
* @Author : junsheng.li
* @CreateDate 2024/7/13 17:59
* @Modify:
* */
class MesToPiscesProductionAssembly {
public static final Logger LOGGER = LoggerFactory.getLogger(MesToPiscesProductionAssembly.class)
@Autowired
private MesEquipmentRepository mesEquipmentRepository;
@Autowired
private MesProduceSnRepository mesProduceSnRepository;
@Autowired
private MesProductionRecordRepository mesProductionRecordRepository;
def filterData(MesInterfaceDataMapper mapper, List<Map<String, Object>> srcData) throws Exception {
if (srcData == null || srcData.size() == 0) {
return srcData
}
Map<String, MesEquipment> mesEquipmentMap = new HashMap<>();
Map<String, MesProduceSn> mesProduceSnMap = new HashMap<>();
Map<Long, MesProductionRecord> mesProductionRecordMap = new HashMap<>();
String organizeCode = mapper.getOrganizeCode();
for (Map<String, Object> rowMap : srcData) {
//ID
if (!StringUtils.isEmpty(rowMap.get("assembly_sn"))) {
MesProduceSn mesProduceSn = getMesProduceSn(organizeCode, String.valueOf(rowMap.get("assembly_sn")), mesProduceSnMap)
if (!Objects.isNull(mesProduceSn)) {
rowMap.put("ASSEMBLY_BARCODE_ID", mesProduceSn.getId())
} else {
LOGGER.info("条码:{}信息不存在", String.valueOf(rowMap.get("assembly_sn")))
}
}
//
if (!StringUtils.isEmpty(rowMap.get("product_sn"))) {
MesProduceSn mesProduceSn = getMesProduceSn(organizeCode, String.valueOf(rowMap.get("product_sn")), mesProduceSnMap)
if (!Objects.isNull(mesProduceSn)) {
rowMap.put("BARCODE_ID", mesProduceSn.getId())
} else {
LOGGER.info("条码:{}信息不存在", String.valueOf(rowMap.get("product_sn")))
}
}
//
if (!StringUtils.isEmpty(rowMap.get("production_record_id"))) {
long id = Long.parseLong(String.valueOf(rowMap.get("production_record_id")));
if (Objects.isNull(mesProductionRecordMap) || !mesProductionRecordMap.containsKey(id)) {
mesProductionRecordMap.put(id, mesProductionRecordRepository.getById(id))
}
MesProductionRecord mesProductionRecord = mesProductionRecordMap.get(id)
if (!Objects.isNull(mesProductionRecord)) {
rowMap.put("PRODUCTION_LOG_FID", mesProductionRecord.getFid())
} else {
LOGGER.info("原材料容器id{},信息不存在", String.valueOf(rowMap.get(rowMap.get("production_record_id"))))
}
}
//FID
if (!StringUtils.isEmpty(rowMap.get("equipment_code"))) {
MesEquipment mesEquipment = getMesEquipment(organizeCode, String.valueOf(rowMap.get("equipment_code")), mesEquipmentMap)
if (!Objects.isNull(mesEquipment)) {
rowMap.put("EQUIPMENT_FID", mesEquipment.getFid())
} else {
LOGGER.info("设备代码:{}信息不存在", String.valueOf(rowMap.get("EQUIPMENT_FID")))
}
}
}
return srcData;
}
private MesEquipment getMesEquipment(String organizeCode, String equipmentCode, Map<String, MesEquipment> mesEquipmentMap) {
if (Objects.isNull(mesEquipmentMap) || !mesEquipmentMap.containsKey(equipmentCode)) {
DdlPackBean ddlPackBean = DdlPackBean.getDdlPackBean(organizeCode);
DdlPreparedPack.getStringEqualPack(equipmentCode, "equipmentCode", ddlPackBean);
mesEquipmentMap.put(equipmentCode, mesEquipmentRepository.getByProperty(ddlPackBean))
}
return mesEquipmentMap.get(equipmentCode);
}
private MesProduceSn getMesProduceSn(String organizeCode, String sn, Map<String, MesProduceSn> mesProduceSnMap) {
if (Objects.isNull(mesProduceSnMap) || !mesProduceSnMap.containsKey(sn)) {
DdlPackBean ddlPackBean = DdlPackBean.getDdlPackBean(organizeCode);
DdlPreparedPack.getStringEqualPack(sn, "productSn", ddlPackBean);
mesProduceSnMap.put(sn, mesProduceSnRepository.getByProperty(ddlPackBean))
}
return mesProduceSnMap.get(sn);
}
}

@ -34,20 +34,31 @@ class MesToPiscesRawPartCharging {
if (srcData == null || srcData.size() == 0) { if (srcData == null || srcData.size() == 0) {
return srcData return srcData
} }
Map<Long, MesRawPackage> mesRawPackageMap = new HashMap<>();
Map<Long, MesRawPackageDetail> mesRawPackageDetailMap = new HashMap<>();
Map<Long, MesRawPackagePart> mesRawPackagePartMap = new HashMap<>();
for (Map<String, Object> rowMap : srcData) { for (Map<String, Object> rowMap : srcData) {
// //
if (!StringUtils.isEmpty(rowMap.get("PACKAGE_ID"))) { if (!StringUtils.isEmpty(rowMap.get("package_id"))) {
MesRawPackage mesRawPackage = mesRawPackageRepository.getById(Long.parseLong(String.valueOf(rowMap.get("PACKAGE_ID")))) long id = Long.parseLong(String.valueOf(rowMap.get("package_id")));
if (Objects.isNull(mesRawPackageMap) || !mesRawPackageMap.containsKey(id)) {
mesRawPackageMap.put(id, mesRawPackageRepository.getById(id))
}
MesRawPackage mesRawPackage = mesRawPackageMap.get(id)
if (!Objects.isNull(mesRawPackage)) { if (!Objects.isNull(mesRawPackage)) {
rowMap.put("PACKAGE_NAME", mesRawPackage.getName()) rowMap.put("PACKAGE_NAME", mesRawPackage.getName())
rowMap.put("PACKAGE_FID", mesRawPackage.getFid()) rowMap.put("PACKAGE_FID", mesRawPackage.getFid())
} else { } else {
LOGGER.info("原材料容器id{},信息不存在", String.valueOf(rowMap.get(rowMap.get("PACKAGE_ID")))) LOGGER.info("原材料容器id{},信息不存在", String.valueOf(rowMap.get(rowMap.get("package_id"))))
} }
} }
// //
if (!StringUtils.isEmpty(rowMap.get("package_detail_id"))) { if (!StringUtils.isEmpty(rowMap.get("package_detail_id"))) {
MesRawPackageDetail mesRawPackageDetail = mesRawPackageDetailRepository.getById(Long.parseLong(String.valueOf(rowMap.get("package_detail_id")))) long id = Long.parseLong(String.valueOf(rowMap.get("package_detail_id")));
if (Objects.isNull(mesRawPackageDetailMap) || !mesRawPackageDetailMap.containsKey(id)) {
mesRawPackageDetailMap.put(id, mesRawPackageDetailRepository.getById(id))
}
MesRawPackageDetail mesRawPackageDetail = mesRawPackageDetailMap.get(id)
if (!Objects.isNull(mesRawPackageDetail)) { if (!Objects.isNull(mesRawPackageDetail)) {
rowMap.put("PACKAGE_DETAIL_FID", mesRawPackageDetail.getFid()) rowMap.put("PACKAGE_DETAIL_FID", mesRawPackageDetail.getFid())
} else { } else {
@ -56,11 +67,15 @@ class MesToPiscesRawPartCharging {
} }
// //
if (!StringUtils.isEmpty(rowMap.get("package_part_id"))) { if (!StringUtils.isEmpty(rowMap.get("package_part_id"))) {
MesRawPackagePart mesRawPackagePart = mesRawPackagePartRepository.getById(Long.parseLong(String.valueOf(rowMap.get("package_part_id")))) long id = Long.parseLong(String.valueOf(rowMap.get("package_part_id")));
if (Objects.isNull(mesRawPackagePartMap) || !mesRawPackagePartMap.containsKey(id)) {
mesRawPackagePartMap.put(id, mesRawPackagePartRepository.getById(id))
}
MesRawPackagePart mesRawPackagePart = mesRawPackagePartMap.get(id)
if (!Objects.isNull(mesRawPackagePart)) { if (!Objects.isNull(mesRawPackagePart)) {
rowMap.put("PACKAGE_PART_FID", mesRawPackagePart.getFid()) rowMap.put("PACKAGE_PART_FID", mesRawPackagePart.getFid())
} else { } else {
LOGGER.info("原材料容器明细id{},信息不存在", String.valueOf(rowMap.get(rowMap.get("package_detail_id")))) LOGGER.info("原材料容器明细id{},信息不存在", String.valueOf(rowMap.get(rowMap.get("package_part_id"))))
} }
} }
} }

@ -41,65 +41,81 @@ class MesToPiscesWorkOrder {
if (srcData == null || srcData.size() == 0) { if (srcData == null || srcData.size() == 0) {
return srcData 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(); String organizeCode = mapper.getOrganizeCode();
for (Map<String, Object> rowMap : srcData) { 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"))) { 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"))) 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)) { if (!Objects.isNull(mesProductVersion)) {
rowMap.put("BOM_CODE", mesProductVersion.getAlternativePartList()) rowMap.put("BOM_CODE", mesProductVersion.getAlternativePartList())
} else { } 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 { 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()) rowMap.put("UOM", mesPartSap.getUnit())
} catch (Exception e) { } 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"))) { if (!StringUtils.isEmpty(rowMap.get("part_prod_group_code"))) {
MesPartProdGroup mesPartProdGroup = getMesPartProdGroup(organizeCode, String.valueOf(rowMap.get(rowMap.get("PART_PROD_GROUP_CODE")))); MesPartProdGroup mesPartProdGroup = getMesPartProdGroup(organizeCode, String.valueOf(rowMap.get("part_prod_group_code")), mesPartProdGroupMap);
if (!Objects.isNull(mesPartProdGroup)) { if (!Objects.isNull(mesPartProdGroup)) {
rowMap.put("PRODUCT_GROUP_ID", mesPartProdGroup.getId()) rowMap.put("PRODUCT_GROUP_ID", mesPartProdGroup.getId())
} else { } 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"))) { if (!StringUtils.isEmpty(rowMap.get("car_model_code"))) {
MesCustomerCarModel mesCustomerCarModel = getMesCustomerCarModel(organizeCode, String.valueOf(rowMap.get(rowMap.get("CAR_MODEL_CODE")))) MesCustomerCarModel mesCustomerCarModel = getMesCustomerCarModel(organizeCode, String.valueOf(rowMap.get("car_model_code")), mesCustomerCarModelMap)
if (!Objects.isNull(mesCustomerCarModel)) { if (!Objects.isNull(mesCustomerCarModel)) {
rowMap.put("VEHICLE_NAME", mesCustomerCarModel.getCarModelName()) rowMap.put("VEHICLE_NAME", mesCustomerCarModel.getCarModelName())
} else { } else {
LOGGER.info("车型代码{}信息不存在", String.valueOf(rowMap.get("CAR_MODEL_CODE"))) LOGGER.info("车型代码{}信息不存在", String.valueOf(rowMap.get("car_model_code")))
} }
} }
} }
return srcData; 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); DdlPackBean ddlPackBean = DdlPackBean.getDdlPackBean(organizeCode);
DdlPreparedPack.getStringEqualPack(partNo, "partNo", ddlPackBean); DdlPreparedPack.getStringEqualPack(partNo, "partNo", ddlPackBean);
DdlPreparedPack.getStringEqualPack(workCenterCode, "workCenterCode", ddlPackBean); DdlPreparedPack.getStringEqualPack(workCenterCode, "workCenterCode", ddlPackBean);
DdlPreparedPack.getStringEqualPack(productVersion, "productVersion", 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); DdlPackBean ddlPackBean = DdlPackBean.getDdlPackBean(organizeCode);
DdlPreparedPack.getStringEqualPack(partProdGroupCode, "partProdGroupCode", ddlPackBean); 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); DdlPackBean ddlPackBean = DdlPackBean.getDdlPackBean(organizeCode);
DdlPreparedPack.getStringEqualPack(carModelCode, "carModelCode", ddlPackBean); DdlPreparedPack.getStringEqualPack(carModelCode, "carModelCode", ddlPackBean);
return mesCustomerCarModelRepository.getByProperty(ddlPackBean); mesCustomerCarModelMap.put(carModelCode, mesCustomerCarModelRepository.getByProperty(ddlPackBean));
}
return mesCustomerCarModelMap.get(carModelCode)
} }
} }

@ -0,0 +1,54 @@
import cn.estsh.i3plus.pojo.base.bean.DdlPackBean
import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack
import cn.estsh.i3plus.pojo.mes.bean.MesEquipment
import cn.estsh.i3plus.pojo.mes.dbinterface.MesInterfaceDataMapper
import cn.estsh.i3plus.pojo.mes.repository.MesEquipmentRepository
import org.slf4j.Logger
import org.slf4j.LoggerFactory
import org.springframework.beans.factory.annotation.Autowired
import org.springframework.util.StringUtils
/**
* @Description :
* @Reference :
* @Author : junsheng.li
* @CreateDate 2024/7/13 17:59
* @Modify:
* */
class PiscesToMesProductionAssembly {
public static final Logger LOGGER = LoggerFactory.getLogger(PiscesToMesProductionAssembly.class)
@Autowired
private MesEquipmentRepository mesEquipmentRepository;
def filterData(MesInterfaceDataMapper mapper, List<Map<String, Object>> srcData) throws Exception {
if (srcData == null || srcData.size() == 0) {
return srcData
}
Map<String, MesEquipment> mesEquipmentMap = new HashMap<>();
String organizeCode = mapper.getOrganizeCode();
for (Map<String, Object> rowMap : srcData) {
//&
if (!StringUtils.isEmpty(rowMap.get("EQUIPMENT_FID"))) {
MesEquipment mesEquipment = getMesEquipment(organizeCode, String.valueOf(rowMap.get("EQUIPMENT_FID")), mesEquipmentMap)
if (!Objects.isNull(mesEquipment)) {
rowMap.put("EQUIPMENT_CODE", mesEquipment.getEquipmentCode())
rowMap.put("EQUIPMENT_NAME", mesEquipment.getEquipmentName())
} else {
LOGGER.info("EQUIPMENT_FID:{}信息不存在", String.valueOf(rowMap.get("EQUIPMENT_FID")))
}
}
}
return srcData;
}
private MesEquipment getMesEquipment(String organizeCode, String equipmentFid, Map<String, MesEquipment> mesEquipmentMap) {
if (Objects.isNull(mesEquipmentMap) || !mesEquipmentMap.containsKey(equipmentFid)) {
DdlPackBean ddlPackBean = DdlPackBean.getDdlPackBean(organizeCode);
DdlPreparedPack.getStringEqualPack(equipmentFid, "fid", ddlPackBean);
mesEquipmentMap.put(equipmentFid, mesEquipmentRepository.getByProperty(ddlPackBean))
}
return mesEquipmentMap.get(equipmentFid);
}
}

@ -4,7 +4,6 @@ import cn.estsh.i3plus.pojo.mes.bean.MesPartProdGroup
import cn.estsh.i3plus.pojo.mes.bean.MesProductVersion import cn.estsh.i3plus.pojo.mes.bean.MesProductVersion
import cn.estsh.i3plus.pojo.mes.bean.MesWorkCenter import cn.estsh.i3plus.pojo.mes.bean.MesWorkCenter
import cn.estsh.i3plus.pojo.mes.dbinterface.MesInterfaceDataMapper import cn.estsh.i3plus.pojo.mes.dbinterface.MesInterfaceDataMapper
import cn.estsh.i3plus.pojo.mes.repository.MesCustomerCarModelRepository
import cn.estsh.i3plus.pojo.mes.repository.MesPartProdGroupRepository import cn.estsh.i3plus.pojo.mes.repository.MesPartProdGroupRepository
import cn.estsh.i3plus.pojo.mes.repository.MesProductVersionRepository import cn.estsh.i3plus.pojo.mes.repository.MesProductVersionRepository
import cn.estsh.i3plus.pojo.mes.repository.MesWorkCenterRepository import cn.estsh.i3plus.pojo.mes.repository.MesWorkCenterRepository
@ -37,13 +36,16 @@ class PiscesToMesWorkOrder {
if (srcData == null || srcData.size() == 0) { if (srcData == null || srcData.size() == 0) {
return srcData return srcData
} }
Map<String, MesWorkCenter> mesWorkCenterMap = new HashMap<>();
Map<Long, MesPartProdGroup> mesPartProdGroupMap = new HashMap<>();
Map<String, MesProductVersion> mesProductVersionMap = new HashMap<>();
String organizeCode = mapper.getOrganizeCode(); String organizeCode = mapper.getOrganizeCode();
for (Map<String, Object> rowMap : srcData) { for (Map<String, Object> rowMap : srcData) {
// //
MesWorkCenter mesWorkCenter = null; MesWorkCenter mesWorkCenter = null;
if (!StringUtils.isEmpty(rowMap.get("ASSEMBLY_LINE"))) { if (!StringUtils.isEmpty(rowMap.get("ASSEMBLY_LINE"))) {
String workCenterCode = String.valueOf(rowMap.get("ASSEMBLY_LINE")); String workCenterCode = String.valueOf(rowMap.get("ASSEMBLY_LINE"));
mesWorkCenter = getMesWorkCenter(organizeCode, workCenterCode) mesWorkCenter = getMesWorkCenter(organizeCode, workCenterCode, mesWorkCenterMap)
if (!Objects.isNull(mesWorkCenter)) { if (!Objects.isNull(mesWorkCenter)) {
rowMap.put("WORK_CENTER_CODE", mesWorkCenter.getWorkCenterCode()) rowMap.put("WORK_CENTER_CODE", mesWorkCenter.getWorkCenterCode())
rowMap.put("ERP_WORK_CENTER", mesWorkCenter.getErpWorkCenter()) rowMap.put("ERP_WORK_CENTER", mesWorkCenter.getErpWorkCenter())
@ -53,7 +55,11 @@ class PiscesToMesWorkOrder {
} }
// //
if (!StringUtils.isEmpty(rowMap.get("PRODUCT_GROUP_ID"))) { if (!StringUtils.isEmpty(rowMap.get("PRODUCT_GROUP_ID"))) {
MesPartProdGroup mesPartProdGroup = mesPartProdGroupRepository.getById(Long.parseLong(String.valueOf(rowMap.get("PRODUCT_GROUP_ID")))) long id = Long.parseLong(String.valueOf(rowMap.get("PRODUCT_GROUP_ID")))
if (Objects.isNull(mesPartProdGroupMap) || !mesPartProdGroupMap.containsKey(id)) {
mesPartProdGroupMap.put(id, mesPartProdGroupRepository.getById(id))
}
MesPartProdGroup mesPartProdGroup = mesPartProdGroupMap.get(id)
if (!Objects.isNull(mesPartProdGroup)) { if (!Objects.isNull(mesPartProdGroup)) {
rowMap.put("PART_PROD_GROUP_CODE", mesPartProdGroup.getPartProdGroupCode()) rowMap.put("PART_PROD_GROUP_CODE", mesPartProdGroup.getPartProdGroupCode())
rowMap.put("PART_PROD_GROUP_NAME", mesPartProdGroup.getPartProdGroupName()) rowMap.put("PART_PROD_GROUP_NAME", mesPartProdGroup.getPartProdGroupName())
@ -62,30 +68,36 @@ class PiscesToMesWorkOrder {
} }
} }
// //
if (!StringUtils.isEmpty(rowMap.get("part_no")) && !Objects.isNull(mesWorkCenter)) { if (!StringUtils.isEmpty(rowMap.get("PART_NO")) && !Objects.isNull(mesWorkCenter)) {
MesProductVersion mesProductVersion = getMesProductVersion(organizeCode, String.valueOf(rowMap.get("part_no")), mesWorkCenter.getErpWorkCenter()) MesProductVersion mesProductVersion = getMesProductVersion(organizeCode, String.valueOf(rowMap.get("PART_NO")), mesWorkCenter.getErpWorkCenter(), mesProductVersionMap)
if (!Objects.isNull(mesProductVersion)) { if (!Objects.isNull(mesProductVersion)) {
rowMap.put("PRODUCT_VERSION", mesProductVersion.getProductVersion()) rowMap.put("PRODUCT_VERSION", mesProductVersion.getProductVersion())
} else { } else {
LOGGER.info("物料{},工作中心{},生产版本信息不存在", String.valueOf(rowMap.get("part_no")), mesWorkCenter.getErpWorkCenter()) LOGGER.info("物料{},工作中心{},生产版本信息不存在", String.valueOf(rowMap.get("PART_NO")), mesWorkCenter.getErpWorkCenter())
} }
} }
} }
return srcData; return srcData;
} }
private MesWorkCenter getMesWorkCenter(String organizeCode, String workCenterCode) { private MesWorkCenter getMesWorkCenter(String organizeCode, String workCenterCode, Map<String, MesWorkCenter> mesWorkCenterMap) {
if (Objects.isNull(mesWorkCenterMap) || !mesWorkCenterMap.containsKey(workCenterCode)) {
DdlPackBean ddlPackBean = DdlPackBean.getDdlPackBean(organizeCode); DdlPackBean ddlPackBean = DdlPackBean.getDdlPackBean(organizeCode);
DdlPreparedPack.getStringEqualPack(workCenterCode, "workCenterCode", ddlPackBean); DdlPreparedPack.getStringEqualPack(workCenterCode, "workCenterCode", ddlPackBean);
return mesWorkCenterRepository.getByProperty(ddlPackBean); mesWorkCenterMap.put(workCenterCode, mesWorkCenterRepository.getByProperty(ddlPackBean))
}
return mesWorkCenterMap.get(workCenterCode);
} }
private MesProductVersion getMesProductVersion(String organizeCode, String partNo, String erpWorkCenter) { private MesProductVersion getMesProductVersion(String organizeCode, String partNo, String erpWorkCenter, Map<String, MesProductVersion> mesProductVersionMap) {
if (Objects.isNull(mesProductVersionMap) || !mesProductVersionMap.containsKey(partNo + erpWorkCenter)) {
DdlPackBean ddlPackBean = DdlPackBean.getDdlPackBean(organizeCode); DdlPackBean ddlPackBean = DdlPackBean.getDdlPackBean(organizeCode);
DdlPreparedPack.getStringEqualPack(partNo, "partNo", ddlPackBean); DdlPreparedPack.getStringEqualPack(partNo, "partNo", ddlPackBean);
DdlPreparedPack.getStringEqualPack(erpWorkCenter, "workCenterCode", ddlPackBean); DdlPreparedPack.getStringEqualPack(erpWorkCenter, "workCenterCode", ddlPackBean);
ddlPackBean.setOrderByStr(" order by createDatetime desc "); ddlPackBean.setOrderByStr(" order by createDatetime desc ");
return mesProductVersionRepository.getByProperty(ddlPackBean); mesProductVersionMap.put(partNo + erpWorkCenter, mesProductVersionRepository.getByProperty(ddlPackBean))
}
return mesProductVersionMap.get(partNo + erpWorkCenter)
} }
} }
Loading…
Cancel
Save