根据前一天待报工记录数插入工单并报工job

tags/yfai-pcn-ext-v1.0
gsz 11 months ago
parent 0943051f02
commit 948a70f491

@ -11,6 +11,7 @@ import cn.estsh.i3plus.pojo.mes.bean.MesShift;
import cn.estsh.i3plus.pojo.mes.bean.MesWorkOrder;
import cn.estsh.i3plus.pojo.mes.repository.MesProductionRecordRepository;
import cn.estsh.i3plus.pojo.mes.repository.MesShiftRepository;
import cn.estsh.impp.framework.boot.exception.ImppBusiException;
import cn.estsh.impp.framework.boot.init.ApplicationProperties;
import cn.hutool.json.JSONObject;
import cn.hutool.json.JSONUtil;
@ -46,9 +47,11 @@ public class MesReportWorkByPreDayJob extends BaseMesScheduleJob {
private MesShiftRepository mesShiftRepository;
@Autowired
private IMesConfigService configService;
public MesReportWorkByPreDayJob() {
super(MesReportWorkByPreDayJob.class, "根据前一天待报工记录数插入工单并报工JOB");
}
@Override
public void executeMesJob(JobExecutionContext context, ApplicationProperties applicationProperties) {
String jobParam = this.getJobParam();
@ -77,20 +80,34 @@ public class MesReportWorkByPreDayJob extends BaseMesScheduleJob {
if (CollectionUtils.isEmpty(unReportMesProduceSn)) {
continue;
}
LOGGER.info("产线:{}报工mesWorkOrders:{}", workCenterCode, unReportMesProduceSn);
//3.插入生产工单表
List<MesWorkOrder> mesWorkOrders = workOrderService.insertMesWorkOrder(unReportMesProduceSn, mesShiftList, organizeCode, userName);
if (CollectionUtils.isEmpty(mesWorkOrders)) {
continue;
}
//根据产线+物料产生的工单报工
LOGGER.info("产线:{}报工mesWorkOrders:{}", workCenterCode, mesWorkOrders);
//4.根据产线+物料产生的工单报工
try {
for (MesWorkOrder mesWorkOrder : mesWorkOrders) {
List<MesProduceSn> mesProduceSnList = unReportMesProduceSn.stream().filter(w -> w.getPartNo().equalsIgnoreCase(mesWorkOrder.getPartNo())).collect(Collectors.toList());
workOrderService.doPcnJobProductReport(mesProduceSnList, mesShiftList, organizeCode, userName, mesWorkOrder);
}
for (MesProductionRecord mesProductionRecord : mesProductionRecordList) {
mesProductionRecord.setReportStatus(20);
ConvertBean.serviceModelUpdate(mesProductionRecord, userName);
}
productionRecordRao.saveAll(mesProductionRecordList);
}
} catch (ImppBusiException e) {
LOGGER.error("产线:{}报工失败:{}", workCenterCode, e.getErrorDetail());
// for (MesProductionRecord mesProductionRecord : mesProductionRecordList) {
// mesProductionRecord.setReportStatus(40);
// ConvertBean.serviceModelUpdate(mesProductionRecord, userName);
// }
// productionRecordRao.saveAll(mesProductionRecordList);
continue;
}
}
}
}

@ -1,10 +1,8 @@
package cn.estsh.i3plus.ext.mes.pcn.apiservice.serviceimpl.busi;
import cn.estsh.i3plus.ext.mes.pcn.api.base.IMesPartService;
import cn.estsh.i3plus.ext.mes.pcn.api.busi.IMesConfigService;
import cn.estsh.i3plus.ext.mes.pcn.api.busi.IMesWorkOrderService;
import cn.estsh.i3plus.ext.mes.pcn.apiservice.util.MesPcnException;
import cn.estsh.i3plus.ext.mes.pcn.pojo.constant.MesCommonConstant;
import cn.estsh.i3plus.mes.pcn.api.iservice.busi.ISyncFuncService;
import cn.estsh.i3plus.platform.common.convert.ConvertBean;
import cn.estsh.i3plus.platform.common.tool.MathOperation;
@ -21,11 +19,11 @@ import cn.estsh.i3plus.pojo.mes.model.GenSerialNoModel;
import cn.estsh.i3plus.pojo.mes.repository.*;
import cn.estsh.i3plus.pojo.mes.repository.shipping.MesWorkOrderToWmsRepository;
import cn.estsh.i3plus.pojo.mes.util.MesExtEnumUtil;
import cn.estsh.impp.framework.boot.auth.AuthUtil;
import cn.estsh.impp.framework.boot.exception.ImppBusiException;
import cn.estsh.impp.framework.boot.util.ValidatorBean;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections.CollectionUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@ -48,6 +46,7 @@ import java.util.stream.Stream;
@Slf4j
public class MesWorkOrderService implements IMesWorkOrderService {
public static final Logger LOGGER = LoggerFactory.getLogger(MesWorkOrderService.class);
@Autowired
private MesWorkOrderRepository workOrderRepository;
@Autowired
@ -283,6 +282,7 @@ public class MesWorkOrderService implements IMesWorkOrderService {
mesWorkOrderDb.getAdjustQty(), mesWorkOrderDb.getReportedQty());
}
}
LOGGER.info("产线:{} 零件:{}更新工单", mesWorkOrderDb.getWorkCenterCode(), mesWorkOrderDb.getPartNo());
//更新工单
updateMesWorkOrder(mesWorkOrderDb, userName );
@ -295,6 +295,7 @@ public class MesWorkOrderService implements IMesWorkOrderService {
// }
// mesProductOffLineService.insertBatch(mesProductOffLineList);
LOGGER.info("产线:{} 零件:{}更新工单mesProduceSns:{}", mesWorkOrderDb.getWorkCenterCode(), mesWorkOrderDb.getPartNo(),mesProduceSns.size());
//保存数据
List<MesProductOffLine> mesProductOffLineList = new ArrayList<>();
MesProductOffLine newMesProductOffLine;
@ -456,7 +457,7 @@ public class MesWorkOrderService implements IMesWorkOrderService {
//1.获取生产加工记录production_record表中report_status为待汇报状态的工单
DdlPackBean ddlPackBean = DdlPackBean.getDdlPackBean(organizeCode);
DdlPreparedPack.getStringEqualPack(workCenterCode,"workCenterCode",ddlPackBean);
DdlPreparedPack.getNumEqualPack( MesExtEnumUtil.REPORT_STATUS.REPORT_STATUS_10.getValue(),"reportStatus",ddlPackBean);
DdlPreparedPack.getNumEqualPack( MesExtEnumUtil.REPORT_STATUS.REPORT_STATUS_50.getValue(),"reportStatus",ddlPackBean);
//获取前一天的早班到当天早班的区间的所有加工记录,统计个数
DdlPreparedPack.timeBuilder(TimeTool.getToday()+" 08:00:00",
new SimpleDateFormat("yyyy-MM-dd").format(TimeTool.getDateBefore(new Date(),1))+" 08:00:00",

Loading…
Cancel
Save