Merge remote-tracking branch 'origin/dev' into dev

tags/yfai-mes-ext-v1.0
jun 10 months ago
commit c7d9ee47dd

@ -0,0 +1,81 @@
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.MesWorkCenter
import cn.estsh.i3plus.pojo.mes.dbinterface.MesInterfaceDataMapper
import cn.estsh.i3plus.pojo.mes.repository.MesEquipmentRepository
import cn.estsh.i3plus.pojo.mes.repository.MesWorkCenterRepository
import org.slf4j.Logger
import org.slf4j.LoggerFactory
import org.springframework.beans.factory.annotation.Autowired
import org.springframework.util.CollectionUtils
import org.springframework.util.StringUtils
/**
* @Description :
* @Reference :
* @Author : wangjie
* @CreateDate 2024/7/12 12:28
* @Modify:
* */
class PiscesToMesProductionRecord {
public static final Logger LOGGER = LoggerFactory.getLogger(PiscesToMesProductionRecord.class)
@Autowired
private MesEquipmentRepository equipmentRepository;
@Autowired
private MesWorkCenterRepository workCenterRepository;
def filterData(MesInterfaceDataMapper mapper, List<Map<String, Object>> srcData) throws Exception {
if (srcData == null || srcData.size() == 0) {
return srcData
}
Map<String, MesEquipment> equipMap = new HashMap<>();
Map<String, MesWorkCenter> centerMap = new HashMap<>();
for (Map<String, Object> rowMap : srcData) {
if (!StringUtils.isEmpty(rowMap.get("EQUIP_ID"))) {
String equipId = String.valueOf(rowMap.get("EQUIP_ID"));
MesEquipment equipmentDb = (!CollectionUtils.is(equipMap) && equipMap.containsKey(equipId)) ? equipMap.get(equipId) : getEquipmentDb(mapper.getOrganizeCode(), equipId, equipMap);
if (!Objects.isNull(equipmentDb)) {
rowMap.put("EQUIPMENT_CODE", equipmentDb.getEquipmentCode())
rowMap.put("EQUIPMENT_NAME", equipmentDb.getEquipmentName())
} else {
LOGGER.info("接口映射执行加工记录同步,设备ID{}对象的设备信息不存在", equipId)
}
}
if (!StringUtils.isEmpty(rowMap.get("ASSEMBLY_LINE"))) {
String workCenterCode = String.valueOf(rowMap.get("ASSEMBLY_LINE"));
MesWorkCenter workCenterDb = (!CollectionUtils.is(centerMap) && centerMap.containsKey(workCenterCode)) ? centerMap.get(workCenterCode) : getWorkCenterDb(mapper.getOrganizeCode(), workCenterCode, centerMap);
if (!Objects.isNull(workCenterDb)) {
rowMap.put("AREA_CODE", workCenterDb.getAreaCode())
rowMap.put("WORK_CENTER_CODE", workCenterDb.getWorkCenterCode())
} else {
LOGGER.info("接口映射执行加工记录同步,生产线代码{}对象的生产线信息不存在", workCenterCode)
}
}
}
return srcData;
}
def getEquipmentDb(String organizeCode, String equipId, HashMap<String, MesEquipment> equipMap) {
DdlPackBean ddlPackBean = DdlPackBean.getDdlPackBean(organizeCode);
DdlPreparedPack.getNumEqualPack(Integer.valueOf(equipId), "equipId", ddlPackBean);
MesEquipment equipmentDb = equipmentRepository.getByProperty(ddlPackBean);
if (!Objects.isNull(equipmentDb)) equipMap.put(equipId, equipmentDb);
return equipmentDb;
}
def getWorkCenterDb(String organizeCode, String workCenterCode, HashMap<String, MesWorkCenter> centerMap) {
DdlPackBean ddlPackBean = DdlPackBean.getDdlPackBean(organizeCode);
DdlPreparedPack.getStringEqualPack(workCenterCode, "workCenterCode", ddlPackBean);
MesWorkCenter workCenterDb = workCenterRepository.getByProperty(ddlPackBean);
if (!Objects.isNull(workCenterDb)) centerMap.put(workCenterCode, workCenterDb);
return workCenterDb;
}
}
Loading…
Cancel
Save