|
|
|
@ -1,6 +1,7 @@
|
|
|
|
|
package cn.estsh.i3plus.ext.mes.pcn.apiservice.serviceimpl.equiplog;
|
|
|
|
|
|
|
|
|
|
import cn.estsh.i3plus.ext.mes.pcn.api.base.IMesEquipmentExtService;
|
|
|
|
|
import cn.estsh.i3plus.ext.mes.pcn.api.base.IMesProdOrgExtService;
|
|
|
|
|
import cn.estsh.i3plus.ext.mes.pcn.api.busi.IMesProductionProcessContextStepService;
|
|
|
|
|
import cn.estsh.i3plus.ext.mes.pcn.apiservice.dao.IMesWorkCellScanMonitorLogDao;
|
|
|
|
|
import cn.estsh.i3plus.ext.mes.pcn.pojo.context.MesProductionPsOutContext;
|
|
|
|
@ -9,6 +10,7 @@ import cn.estsh.i3plus.ext.mes.pcn.pojo.util.MesPcnExtConstWords;
|
|
|
|
|
import cn.estsh.i3plus.mes.pcn.serviceimpl.fsm.swslog.ISwsWriteDbLogService;
|
|
|
|
|
import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil;
|
|
|
|
|
import cn.estsh.i3plus.pojo.mes.bean.MesWcEquipment;
|
|
|
|
|
import cn.estsh.i3plus.pojo.mes.bean.MesWorkCenter;
|
|
|
|
|
import cn.estsh.i3plus.pojo.mes.model.StationResultBean;
|
|
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
|
@ -32,6 +34,9 @@ public class MesWorkCellScanMonitorLogExtService implements ISwsWriteDbLogServic
|
|
|
|
|
private IMesEquipmentExtService equipmentExtService;
|
|
|
|
|
|
|
|
|
|
@Autowired
|
|
|
|
|
private IMesProdOrgExtService prodOrgExtService;
|
|
|
|
|
|
|
|
|
|
@Autowired
|
|
|
|
|
private IMesWorkCellScanMonitorLogDao workCellScanMonitorLogDao;
|
|
|
|
|
|
|
|
|
|
private final static Map<String, List<String>> cellMsg2RepeatMap = new ConcurrentHashMap();
|
|
|
|
@ -46,11 +51,7 @@ public class MesWorkCellScanMonitorLogExtService implements ISwsWriteDbLogServic
|
|
|
|
|
|
|
|
|
|
if (null == scanMonitorContext) scanMonitorContext = new MesScanMonitorContext();
|
|
|
|
|
|
|
|
|
|
if (StringUtils.isEmpty(scanMonitorContext.getEquipmentCode())) {
|
|
|
|
|
MesWcEquipment wcEquipment = equipmentExtService.getWcEquipment(resultBean.getOrganizeCode(), resultBean.getWorkCenterCode(), resultBean.getWorkCellCode());
|
|
|
|
|
scanMonitorContext.setEquipmentCode(null != wcEquipment ? wcEquipment.getEquipmentCode() : null);
|
|
|
|
|
scanMonitorContext.setEquipmentName(null != wcEquipment ? wcEquipment.getEquipmentName() : null);
|
|
|
|
|
}
|
|
|
|
|
restoreBasicInfo(resultBean, scanMonitorContext);
|
|
|
|
|
|
|
|
|
|
if (null == scanMonitorContext)
|
|
|
|
|
log.info("工厂{}生产线{}工位{}: MesWorkCellScanMonitorLogExtService --- 上下文当前不存在工位扫描监控信息 --- {}", resultBean.getOrganizeCode(), resultBean.getWorkCenterCode(), resultBean.getWorkCellCode(), resultBean.toWriteDbString());
|
|
|
|
@ -59,6 +60,17 @@ public class MesWorkCellScanMonitorLogExtService implements ISwsWriteDbLogServic
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public void doRestoreDbLog(StationResultBean resultBean) {
|
|
|
|
|
|
|
|
|
|
if (StringUtils.isEmpty(resultBean.getScanInfo()) || CollectionUtils.isEmpty(resultBean.getResultList())) return;
|
|
|
|
|
|
|
|
|
|
List<MesProductionPsOutContext> productionPsOutContextList = resultBean.getResultList();
|
|
|
|
|
|
|
|
|
|
workCellScanMonitorLogDao.updateWorkCellScanMonitorLog(resultBean.getOrganizeCode(), resultBean.getWorkCenterCode(), resultBean.getUserInfo(), Long.valueOf(resultBean.getScanInfo()), productionPsOutContextList);
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private Boolean checkRepeat(StationResultBean resultBean, MesScanMonitorContext scanMonitorContext) {
|
|
|
|
|
|
|
|
|
|
initCellMsg2RepeatMap(resultBean);
|
|
|
|
@ -113,15 +125,22 @@ public class MesWorkCellScanMonitorLogExtService implements ISwsWriteDbLogServic
|
|
|
|
|
return message;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public void doRestoreDbLog(StationResultBean resultBean) {
|
|
|
|
|
|
|
|
|
|
if (StringUtils.isEmpty(resultBean.getScanInfo()) || CollectionUtils.isEmpty(resultBean.getResultList())) return;
|
|
|
|
|
|
|
|
|
|
List<MesProductionPsOutContext> productionPsOutContextList = resultBean.getResultList();
|
|
|
|
|
|
|
|
|
|
workCellScanMonitorLogDao.updateWorkCellScanMonitorLog(resultBean.getOrganizeCode(), resultBean.getWorkCenterCode(), resultBean.getUserInfo(), Long.valueOf(resultBean.getScanInfo()), productionPsOutContextList);
|
|
|
|
|
private void restoreBasicInfo(StationResultBean resultBean, MesScanMonitorContext scanMonitorContext) {
|
|
|
|
|
MesWcEquipment wcEquipment = null;
|
|
|
|
|
if (StringUtils.isEmpty(scanMonitorContext.getEquipmentCode())) {
|
|
|
|
|
wcEquipment = equipmentExtService.getWcEquipment(resultBean.getOrganizeCode(), resultBean.getWorkCenterCode(), resultBean.getWorkCellCode());
|
|
|
|
|
scanMonitorContext.setEquipmentCode(null != wcEquipment ? wcEquipment.getEquipmentCode() : null);
|
|
|
|
|
scanMonitorContext.setEquipmentName(null != wcEquipment ? wcEquipment.getEquipmentName() : null);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (StringUtils.isEmpty(resultBean.getAreaCode())) {
|
|
|
|
|
if (!StringUtils.isEmpty(scanMonitorContext.getAreaCode())) resultBean.areaCode(scanMonitorContext.getAreaCode());
|
|
|
|
|
else if (null != wcEquipment && !StringUtils.isEmpty(wcEquipment.getAreaCode())) resultBean.areaCode(wcEquipment.getAreaCode());
|
|
|
|
|
else {
|
|
|
|
|
MesWorkCenter workCenter = prodOrgExtService.getWorkCenterDb(resultBean.getOrganizeCode(), resultBean.getWorkCenterCode());
|
|
|
|
|
if (null != workCenter) resultBean.areaCode(workCenter.getAreaCode());
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|