补录日志--修改处理状态枚举

tags/yfai-pcn-ext-v1.0
administrator 11 months ago
parent d9d7931a91
commit c5fa5f0127

@ -12,6 +12,7 @@ public interface IMesWorkCellScanMonitorLogService {
*
* @param pageSize
* @param organizeCode
* @param times
*/
void doRecordCellOperationLog(String organizeCode,Integer pageSize);
void doRecordCellOperationLog(String organizeCode,Integer pageSize,Integer times);
}

@ -11,6 +11,9 @@ import org.quartz.DisallowConcurrentExecution;
import org.quartz.JobExecutionContext;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import java.util.Objects;
/**
* @Description : job
* @Reference :
@ -37,7 +40,8 @@ public class MesWorkCellOperationLogJob extends BaseMesScheduleJob {
*
* {
* "organizeCode":"CK01",
* "pageSize":50
* "pageSize":50,
* "times":50 50job,
* }
*/
String jobParam = this.getJobParam();
@ -45,7 +49,12 @@ public class MesWorkCellOperationLogJob extends BaseMesScheduleJob {
String organizeCode = params.get("organizeCode").toString();
Integer pageSize = Integer.parseInt(params.get("pageSize").toString());
logService.doRecordCellOperationLog(organizeCode,pageSize);
Object timesO = params.get("times");
int times = 50;
if (!Objects.isNull(timesO)) {
times = Integer.parseInt(timesO.toString());
}
logService.doRecordCellOperationLog(organizeCode,pageSize, times);
}
}

@ -2,6 +2,7 @@ package cn.estsh.i3plus.ext.mes.pcn.apiservice.serviceimpl.busi;
import cn.estsh.i3plus.ext.mes.pcn.api.busi.IMesWorkCellScanMonitorLogService;
import cn.estsh.i3plus.platform.common.convert.ConvertBean;
import cn.estsh.i3plus.platform.common.tool.TimeTool;
import cn.estsh.i3plus.pojo.base.bean.DdlPackBean;
import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil;
import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack;
@ -9,11 +10,13 @@ import cn.estsh.i3plus.pojo.mes.bean.MesProductionRecord;
import cn.estsh.i3plus.pojo.mes.bean.MesWorkCellScanMonitorLog;
import cn.estsh.i3plus.pojo.mes.repository.MesProductionRecordRepository;
import cn.estsh.i3plus.pojo.mes.repository.MesWorkCellScanMonitorLogRepository;
import cn.estsh.i3plus.pojo.mes.util.MesExtEnumUtil;
import com.netflix.discovery.converters.Auto;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
@ -34,25 +37,31 @@ public class MesWorkCellScanMonitorLogServiceImpl implements IMesWorkCellScanMon
/**
* MesWorkCellScanMonitorLog mouldRecordId id
* MesProductionRecord id
*
* @param pageSize
* @param organizeCode
*/
@Override
public void doRecordCellOperationLog(String organizeCode,Integer pageSize) {
public void doRecordCellOperationLog(String organizeCode, Integer pageSize, Integer times) {
//查询serviceFlag是未处理状态,mouldRecordId不为空的记录每次查询pageSize 默认50条
DdlPackBean logPackBean = DdlPackBean.getDdlPackBean(organizeCode);
DdlPreparedPack.getNumEqualPack(CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue(),"serviceFlag",logPackBean);
DdlPreparedPack.getIsNotNull("mouldRecordId",logPackBean);
DdlPreparedPack.getNumEqualPack(MesExtEnumUtil.MES_LOG_DEAL_STATUS.UNDEAL.getValue(), "dealStatus", logPackBean);
DdlPreparedPack.getNumberSmallerEqualPack(times, "times", logPackBean);
DdlPreparedPack.getIsNotNull("mouldRecordId", logPackBean);
DdlPreparedPack.getOrderByPack(new Object[]{CommonEnumUtil.ASC_OR_DESC.ASC.getValue()}, new String[]{"createDatetime"}, logPackBean);
List<MesWorkCellScanMonitorLog> monitorLogs = monitorLogRao.findByHqlTopWhere(logPackBean, pageSize);
if (!monitorLogs.isEmpty()) {
for (MesWorkCellScanMonitorLog monitorLog : monitorLogs) {
Long mouldRecordId = monitorLog.getMouldRecordId();
List<Long> mouldRecordIdList = monitorLogs.stream().map(MesWorkCellScanMonitorLog::getMouldRecordId).distinct().collect(Collectors.toList());
Map<Long, List<MesWorkCellScanMonitorLog>> logs = monitorLogs.stream().collect(Collectors.groupingBy(MesWorkCellScanMonitorLog::getMouldRecordId));
for (Long mouldRecordId : mouldRecordIdList) {
DdlPackBean recordPackBean = DdlPackBean.getDdlPackBean(organizeCode);
DdlPreparedPack.getNumEqualPack(mouldRecordId,"mouldRecordId",recordPackBean);
DdlPreparedPack.getNumEqualPack(mouldRecordId, "mouldRecordId", recordPackBean);
List<MesProductionRecord> recordList = productionRecordRao.findByHqlWhere(recordPackBean);
//需要补录如下字段
DdlPackBean monitorLogPackBean = DdlPackBean.getDdlPackBean(organizeCode);
DdlPreparedPack.getNumEqualPack(mouldRecordId, "mouldRecordId", monitorLogPackBean);
int newTimes = logs.get(mouldRecordId).get(0).getTimes() + 1;
if (!recordList.isEmpty()) {
String workOrderNoStr = recordList.stream().map(MesProductionRecord::getWorkOrderNo).collect(Collectors.joining(","));
String serialNoStr = recordList.stream().map(MesProductionRecord::getSerialNumber).collect(Collectors.joining(","));
@ -60,16 +69,16 @@ public class MesWorkCellScanMonitorLogServiceImpl implements IMesWorkCellScanMon
String custSnStr = recordList.stream().map(MesProductionRecord::getCustSn).collect(Collectors.joining(","));
String partNoStr = recordList.stream().map(MesProductionRecord::getPartNo).collect(Collectors.joining(","));
String partNameStr = recordList.stream().map(MesProductionRecord::getPartName).collect(Collectors.joining(","));
monitorLog.setWorkOrderNo(workOrderNoStr);
monitorLog.setSerialNumber(serialNoStr);
monitorLog.setProductSn(productSnStr);
monitorLog.setCustSn(custSnStr);
monitorLog.setPartNo(partNoStr);
monitorLog.setPartName(partNameStr);
monitorLog.setServiceFlag(CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue());
monitorLogRao.updateByProperties(new String[]{"workOrderNo", "serialNumber", "produceSn", "custSn", "partNo", "partName", "modifyDateTime", "modifyUser", "dealStatus", "times"},
new Object[]{workOrderNoStr, serialNoStr, productSnStr, custSnStr, partNoStr, partNameStr, TimeTool.getNowTime(true), "JOB", MesExtEnumUtil.MES_LOG_DEAL_STATUS.DEAL_SUCCESS.getValue(), newTimes}, monitorLogPackBean);
} else {
if (newTimes > times) {
monitorLogRao.updateByProperties(new String[]{"modifyDateTime", "modifyUser", "times"}, new Object[]{TimeTool.getNowTime(true), "JOB", newTimes}, monitorLogPackBean);
} else {
monitorLogRao.updateByProperties(new String[]{"modifyDateTime", "modifyUser", "times", "dealStatus"}, new Object[]{TimeTool.getNowTime(true), "JOB", newTimes, MesExtEnumUtil.MES_LOG_DEAL_STATUS.DEAL_FAILURE.getValue()}, monitorLogPackBean);
}
}
ConvertBean.saveOrUpdate(monitorLog,"JOB");
monitorLogRao.update(monitorLog);
}
}

@ -56,7 +56,7 @@ public class MesWorkCellScanMonitorLogExtService implements ISwsWriteDbLogServic
workCellScanMonitorLog.setMessageType(MesExtEnumUtil.WORK_CELL_SCAN_MONITOR_MESSAGE_TYPE.codeOfValue(resultBean.getDataType()));
workCellScanMonitorLog.setServiceFlag(CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue());
workCellScanMonitorLog.setDealStatus(MesExtEnumUtil.MES_LOG_DEAL_STATUS.UNDEAL.getValue());
ConvertBean.serviceModelInitialize(workCellScanMonitorLog, resultBean.getUserInfo());

Loading…
Cancel
Save