From df366ba46b7e6a90895faae880834a9ff5f2e797 Mon Sep 17 00:00:00 2001 From: "xiangwei.zhang" <752558143@qq.com> Date: Tue, 31 Dec 2024 17:49:07 +0800 Subject: [PATCH 1/2] =?UTF-8?q?44673=20datasync=E5=90=8C=E6=AD=A5=E4=B8=8E?= =?UTF-8?q?=E6=8A=A5=E5=B7=A5JOB=E5=90=8C=E4=B8=80=E7=A7=92=E6=89=A7?= =?UTF-8?q?=E8=A1=8C=E5=90=8C=E4=B8=80=E6=9D=A1=E5=8A=A0=E5=B7=A5=E8=AE=B0?= =?UTF-8?q?=E5=BD=95=EF=BC=8C=E5=AF=BC=E8=87=B4=E4=BA=91=E7=AB=AF=E4=B8=BA?= =?UTF-8?q?=E7=AD=89=E5=BE=85=E6=B1=87=E6=8A=A5=EF=BC=8C=E8=BE=B9=E7=AB=AF?= =?UTF-8?q?=E5=B7=B2=E7=BB=8F=E6=B1=87=E6=8A=A5=E5=AE=8C=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../apiservice/serviceimpl/base/MesReworkTaskServiceImpl.java | 3 ++- .../serviceimpl/busi/MesProductionRecordService.java | 5 +++-- .../pcn/apiservice/serviceimpl/busi/MesWorkOrderService.java | 11 +++++++---- 3 files changed, 12 insertions(+), 7 deletions(-) diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/base/MesReworkTaskServiceImpl.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/base/MesReworkTaskServiceImpl.java index e12c19f..de40469 100644 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/base/MesReworkTaskServiceImpl.java +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/base/MesReworkTaskServiceImpl.java @@ -36,6 +36,7 @@ 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.SpringContextsUtil; +import cn.hutool.core.date.DateUtil; import com.alibaba.fastjson.JSONArray; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections.map.HashedMap; @@ -383,7 +384,7 @@ public class MesReworkTaskServiceImpl implements IMesReworkTaskService { DdlPreparedPack.getStringEqualPack(sn.getPartNo(),"partNo",packBean); //更新加工记录 mesProductionRecordRepository.updateByProperties(new String[]{"modifyUser", "modifyDatetime", "productSn", "description", "systemSyncStatus"}, - new Object[]{userName, TimeTool.getNowTime(true), sn.getProductSn(), sn.getDescription(), CommonEnumUtil.FALSE}, packBean); + new Object[]{userName, DateUtil.format(new Date(), MesPcnExtConstWords.DATE_FORMAT_SSS), sn.getProductSn(), sn.getDescription(), CommonEnumUtil.FALSE}, packBean); //更新装配记录 mesProductionAssemblyRepository.updateByProperties(new String[]{"modifyUser", "modifyDatetime", "productSn", "description", "systemSyncStatus"}, new Object[]{userName, TimeTool.getNowTime(true), sn.getProductSn(), sn.getDescription(), CommonEnumUtil.FALSE}, packBean); diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/MesProductionRecordService.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/MesProductionRecordService.java index 37a5864..916b1e0 100644 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/MesProductionRecordService.java +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/MesProductionRecordService.java @@ -14,6 +14,7 @@ import cn.estsh.i3plus.pojo.mes.bean.MesProductionRecord; import cn.estsh.i3plus.pojo.mes.repository.*; import cn.estsh.i3plus.pojo.mes.util.MesExtEnumUtil; import cn.estsh.impp.framework.boot.util.ResultBean; +import cn.hutool.core.date.DateUtil; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; @@ -118,7 +119,7 @@ public class MesProductionRecordService implements IMesProductionRecordService { DdlPreparedPack.getStringEqualPack(sn, "productSn", ddlPackBean); productionRecordRepository.updateByProperties(new String[]{"modifyUser", "modifyDatetime","reportStatus"}, - new Object[]{userName, TimeTool.getNowTime(true), MesExtEnumUtil.REPORT_STATUS.REPORT_STATUS_20.getValue() },ddlPackBean); + new Object[]{userName, DateUtil.format(new Date(), MesPcnExtConstWords.DATE_FORMAT_SSS), MesExtEnumUtil.REPORT_STATUS.REPORT_STATUS_20.getValue() },ddlPackBean); } @Override public void updateProductionRecord(String organizeCode, String userName, Long id, String errorMsg) { @@ -126,7 +127,7 @@ public class MesProductionRecordService implements IMesProductionRecordService { DdlPreparedPack.getNumEqualPack(id, "id", ddlPackBean); // DdlPreparedPack.getStringEqualPack(sn, "productSn", ddlPackBean); productionRecordRepository.updateByProperties(new String[]{"modifyUser", "modifyDatetime","reportStatus", "remark"}, - new Object[]{userName, TimeTool.getNowTime(true), MesExtEnumUtil.REPORT_STATUS.REPORT_STATUS_40.getValue(), errorMsg },ddlPackBean); + new Object[]{userName, DateUtil.format(new Date(), MesPcnExtConstWords.DATE_FORMAT_SSS), MesExtEnumUtil.REPORT_STATUS.REPORT_STATUS_40.getValue(), errorMsg },ddlPackBean); } @Override diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/MesWorkOrderService.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/MesWorkOrderService.java index 13e0cbc..4b1ef28 100644 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/MesWorkOrderService.java +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/MesWorkOrderService.java @@ -415,7 +415,7 @@ public class MesWorkOrderService implements IMesWorkOrderService { DdlPreparedPack.getNumEqualPack(id, "id", ddlPackBean); // DdlPreparedPack.getStringEqualPack(sn, "custSn", ddlPackBean); productionRecordRao.updateByPropertiesNoSync(new String[]{"modifyUser", "modifyDatetime"}, - new Object[]{userName, TimeTool.getNowTime(true)}, ddlPackBean); + new Object[]{userName, DateUtil.format(new Date(), MesPcnExtConstWords.DATE_FORMAT_SSS)}, ddlPackBean); } @Override @@ -432,7 +432,7 @@ public class MesWorkOrderService implements IMesWorkOrderService { DdlPackBean ddlPackBean = DdlPackBean.getDdlPackBean(organizeCode); DdlPreparedPack.getNumEqualPack(productionRecord.getId(), "id", ddlPackBean); productionRecordRao.updateByProperties(new String[]{"modifyUser", "modifyDatetime", "reportStatus"}, - new Object[]{userName, TimeTool.getNowTime(true), productionRecord.getReportStatus()}, ddlPackBean); + new Object[]{userName, DateUtil.format(new Date(), MesPcnExtConstWords.DATE_FORMAT_SSS), productionRecord.getReportStatus()}, ddlPackBean); return; } LOGGER.error("报工条码:{}找不到加工单", productionRecord.getProductSn()); @@ -577,7 +577,7 @@ public class MesWorkOrderService implements IMesWorkOrderService { propertyMap.put(MesPcnExtConstWords.WORK_ORDER_STATUS, MesExtEnumUtil.ORDER_STATUS.COMPLETE.getValue()); } else { - propertyMap.put(MesPcnExtConstWords.WORK_ORDER_STATUS, oldMesWorkOrder.getWorkOrderStatus()); + propertyMap.put(MesPcnExtConstWords.WORK_ORDER_STATUS, MesExtEnumUtil.ORDER_STATUS.PROCESS.getValue()); } } @@ -678,8 +678,11 @@ public class MesWorkOrderService implements IMesWorkOrderService { DdlPackBean packBean = DdlPackBean.getDdlPackBean(organizeCode); DdlPreparedPack.getNumEqualPack(productionRecord.getId(), "id", packBean); + DdlPreparedPack.getStringEqualPack(productionRecord.getModifyDatetime(), "modifyDatetime", packBean); + productionRecordRao.updateByProperties(new String[]{"modifyUser", "modifyDatetime", "workOrderNo", "reportStatus"}, - new Object[]{userName, TimeTool.getNowTime(true), oldMesWorkOrder.getWorkOrderNo(), MesExtEnumUtil.REPORT_STATUS.REPORT_STATUS_20.getValue()}, packBean); + new Object[]{userName, DateUtil.format(new Date(), MesPcnExtConstWords.DATE_FORMAT_SSS), oldMesWorkOrder.getWorkOrderNo(), MesExtEnumUtil.REPORT_STATUS.REPORT_STATUS_20.getValue()}, packBean); + LOGGER.info("条码【{}】报工成功,报工工单【{}】", productionRecord.getProductSn(), oldMesWorkOrder.getWorkOrderNo()); From f0ba25d59bdecd35e023a7f4cf876c38cfe5a8c6 Mon Sep 17 00:00:00 2001 From: "xiangwei.zhang" <752558143@qq.com> Date: Thu, 2 Jan 2025 16:16:17 +0800 Subject: [PATCH 2/2] =?UTF-8?q?44657=20=E6=8A=A5=E5=B7=A5=E5=89=8D?= =?UTF-8?q?=E4=B8=80=E5=A4=A9job=20=E4=BF=AE=E6=94=B9remark?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../schedulejob/MesReportWorkByPreDayJob.java | 42 +++++++++++++--------- .../serviceimpl/busi/MesWorkOrderService.java | 3 +- 2 files changed, 27 insertions(+), 18 deletions(-) diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/schedulejob/MesReportWorkByPreDayJob.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/schedulejob/MesReportWorkByPreDayJob.java index fc7800e..0b3e4fa 100644 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/schedulejob/MesReportWorkByPreDayJob.java +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/schedulejob/MesReportWorkByPreDayJob.java @@ -2,6 +2,7 @@ package cn.estsh.i3plus.ext.mes.pcn.apiservice.schedulejob; import cn.estsh.i3plus.ext.mes.pcn.api.busi.IMesConfigService; +import cn.estsh.i3plus.ext.mes.pcn.api.busi.IMesProductionRecordService; import cn.estsh.i3plus.ext.mes.pcn.api.busi.IMesWorkOrderService; import cn.estsh.i3plus.platform.common.convert.ConvertBean; import cn.estsh.i3plus.platform.common.tool.JsonUtilTool; @@ -52,6 +53,9 @@ public class MesReportWorkByPreDayJob extends BaseMesScheduleJob { @Autowired private IMesConfigService configService; + @Autowired + private IMesProductionRecordService productionRecordService; + public MesReportWorkByPreDayJob() { super(MesReportWorkByPreDayJob.class, "根据前一天待报工记录数插入工单并报工JOB"); } @@ -85,26 +89,32 @@ public class MesReportWorkByPreDayJob extends BaseMesScheduleJob { //4.根据产线+物料产生的工单报工 try { for (MesWorkOrder mesWorkOrder : mesWorkOrders) { - List mesProductionRecords = mesProductionRecordList.stream().filter( - w -> w.getWorkCenterCode().equalsIgnoreCase(mesWorkOrder.getWorkCenterCode()) - && w.getPartNo().equalsIgnoreCase(mesWorkOrder.getPartNo())).collect(Collectors.toList()); - workOrderService.doPcnJobProductReport(mesProductionRecords, mesShiftList, wmsJobParamModel.getOrganizeCode(), userName, mesWorkOrder); + List mesProductionRecords = mesProductionRecordList.stream().filter( + w -> w.getWorkCenterCode().equalsIgnoreCase(mesWorkOrder.getWorkCenterCode()) + && w.getPartNo().equalsIgnoreCase(mesWorkOrder.getPartNo())).collect(Collectors.toList()); + workOrderService.doPcnJobProductReport(mesProductionRecords, mesShiftList, wmsJobParamModel.getOrganizeCode(), userName, mesWorkOrder); - for (MesProductionRecord mesProductionRecord : mesProductionRecords) { - if(StringUtil.isEmpty(mesProductionRecord.getWorkOrderNo())){ - List collect = mesWorkOrders.stream().filter(w -> w.getWorkCenterCode().equalsIgnoreCase(mesProductionRecord.getWorkCenterCode()) - && w.getPartNo().equalsIgnoreCase(mesProductionRecord.getPartNo())).collect(Collectors.toList()); - if (!CollectionUtils.isEmpty(collect)){ - mesProductionRecord.setWorkOrderNo(collect.get(0).getWorkOrderNo()); + for (MesProductionRecord mesProductionRecord : mesProductionRecords) { + try { + if (StringUtil.isEmpty(mesProductionRecord.getWorkOrderNo())) { + List collect = mesWorkOrders.stream().filter(w -> w.getWorkCenterCode().equalsIgnoreCase(mesProductionRecord.getWorkCenterCode()) + && w.getPartNo().equalsIgnoreCase(mesProductionRecord.getPartNo())).collect(Collectors.toList()); + if (!CollectionUtils.isEmpty(collect)) { + mesProductionRecord.setWorkOrderNo(collect.get(0).getWorkOrderNo()); + } + } + mesProductionRecord.setReportStatus(MesExtEnumUtil.REPORT_STATUS.REPORT_STATUS_20.getValue()); + mesProductionRecord.setSystemSyncStatus(CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue()); + ConvertBean.serviceModelUpdate(mesProductionRecord, userName); + } catch (ImppBusiException e) { + String errorMsg = StringUtil.isEmpty(e.getErrorDetail()) ? e.getErrorMsg(): e.getErrorDetail(); + LOGGER.error("条码:{}报工失败,{}", mesProductionRecord.getProductSn(), errorMsg); + productionRecordService.updateProductionRecord(mesProductionRecord.getOrganizeCode(), userName, mesProductionRecord.getId(), errorMsg); + continue; } } - mesProductionRecord.setReportStatus(MesExtEnumUtil.REPORT_STATUS.REPORT_STATUS_20.getValue()); - mesProductionRecord.setSystemSyncStatus(CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue()); - ConvertBean.serviceModelUpdate(mesProductionRecord, userName); - } - productionRecordRao.saveAll(mesProductionRecords); + productionRecordRao.saveAll(mesProductionRecords); } - } catch (ImppBusiException e) { LOGGER.error("产线:{}报工失败:{}", workCenterCode, e.getErrorDetail()); } diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/MesWorkOrderService.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/MesWorkOrderService.java index 4b1ef28..d4162e0 100644 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/MesWorkOrderService.java +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/MesWorkOrderService.java @@ -403,8 +403,7 @@ public class MesWorkOrderService implements IMesWorkOrderService { MesProductVersion mesProductVersion = mesProductVersionRDao.getByProperty(ddlPackBean); if (null == mesProductVersion) { LOGGER.info("物料{}生产版本信息不存在", mesWorkOrder.getPartNo()); - return mesProductVersion; -// MesPcnException.throwMesBusiException("物料【%s】生产版本信息不存在", mesWorkOrder.getPartNo()); + MesPcnException.throwMesBusiException("物料【%s】生产版本信息不存在", mesWorkOrder.getPartNo()); } return mesProductVersion; }