forked from I3-YF/i3plus-mes-yfai
Merge remote-tracking branch 'origin/dev' into dev
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…
Reference in New Issue