From 2472fa4e69779dc5c99e877d8c17b3a5ddb5b402 Mon Sep 17 00:00:00 2001 From: gsz Date: Wed, 26 Jun 2024 20:30:41 +0800 Subject: [PATCH] =?UTF-8?q?=E6=A0=B9=E6=8D=AE=E5=89=8D=E4=B8=80=E5=A4=A9?= =?UTF-8?q?=E5=BE=85=E6=8A=A5=E5=B7=A5=E8=AE=B0=E5=BD=95=E6=95=B0=E6=8F=92?= =?UTF-8?q?=E5=85=A5=E5=B7=A5=E5=8D=95=E5=B9=B6=E6=8A=A5=E5=B7=A5job?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../schedulejob/MesReportWorkByPreDayJob.java | 8 +++++--- .../serviceimpl/busi/MesWorkOrderService.java | 23 +++++++++++----------- 2 files changed, 17 insertions(+), 14 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 c11e30b..1135893 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 @@ -5,6 +5,7 @@ import cn.estsh.i3plus.ext.mes.pcn.api.busi.IMesConfigService; import cn.estsh.i3plus.ext.mes.pcn.api.busi.IMesWorkOrderService; import cn.estsh.i3plus.platform.common.convert.ConvertBean; import cn.estsh.i3plus.pojo.base.bean.DdlPackBean; +import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack; import cn.estsh.i3plus.pojo.mes.bean.MesProduceSn; import cn.estsh.i3plus.pojo.mes.bean.MesProductionRecord; import cn.estsh.i3plus.pojo.mes.bean.MesShift; @@ -66,10 +67,11 @@ public class MesReportWorkByPreDayJob extends BaseMesScheduleJob { String workCenterCodes = configService.getCfgValue(organizeCode, "MES_PCN_WORK_CENTER_NO"); List workCenterCodeList = Arrays.asList(workCenterCodes.split(",")); - DdlPackBean packBean = DdlPackBean.getDdlPackBean(organizeCode); - List mesShiftListAll = mesShiftRepository.findByHqlWhere(packBean); + for (String workCenterCode : workCenterCodeList) { - List mesShiftList = mesShiftListAll.stream().filter(s -> s.getWorkCenterCode().equalsIgnoreCase(workCenterCode)).collect(Collectors.toList()); + DdlPackBean packBean = DdlPackBean.getDdlPackBean(organizeCode); + DdlPreparedPack.getStringEqualPack(workCenterCode, "workCenterCode", packBean); + List mesShiftList = mesShiftRepository.findByHqlWhere(packBean); //1.获取生产加工记录production_record表中,report_status为待汇报状态的工单 List mesProductionRecordList = workOrderService.getPreDayReportMesProductionRecord(organizeCode, mesShiftList, workCenterCode); if (CollectionUtils.isEmpty(mesProductionRecordList)) { 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 429ddcd..14e51cf 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 @@ -64,7 +64,8 @@ public class MesWorkOrderService implements IMesWorkOrderService { @Autowired private MesProductionRecordRepository productionRecordRao; - + @Autowired + private MesWorkOrderRepository mesWorkOrderRDao; @Autowired private MesProduceSnRepository mesProduceSnRao; @Autowired @@ -423,7 +424,7 @@ public class MesWorkOrderService implements IMesWorkOrderService { DdlPackBean ddlPackBean = DdlPackBean.getDdlPackBean(mesWorkOrder.getOrganizeCode()); DdlPreparedPack.getStringEqualPack(mesWorkOrder.getPartNo(), "partNo", ddlPackBean); DdlPreparedPack.getStringEqualPack(mesWorkOrder.getErpWorkCenter(), "workCenterCode", ddlPackBean); - DdlPreparedPack.getStringEqualPack(mesWorkOrder.getProductVersion(), "productVersion", ddlPackBean); +// DdlPreparedPack.getStringEqualPack(mesWorkOrder.getProductVersion(), "productVersion", ddlPackBean); MesProductVersion mesProductVersion = mesProductVersionRDao.getByProperty(ddlPackBean); if (null == mesProductVersion) { MesPcnException.throwMesBusiException("物料【%s】生产版本信息不存在", mesWorkOrder.getPartNo()); @@ -459,8 +460,9 @@ public class MesWorkOrderService implements IMesWorkOrderService { DdlPreparedPack.getStringEqualPack(workCenterCode,"workCenterCode",ddlPackBean); DdlPreparedPack.getNumEqualPack( MesExtEnumUtil.REPORT_STATUS.REPORT_STATUS_50.getValue(),"reportStatus",ddlPackBean); //获取前一天的早班到当天早班的区间的所有加工记录,统计个数 - DdlPreparedPack.timeBuilder(TimeTool.getToday()+" 08:00:00", + DdlPreparedPack.timeBuilder( new SimpleDateFormat("yyyy-MM-dd").format(TimeTool.getDateBefore(new Date(),1))+" 08:00:00", + TimeTool.getToday()+" 08:00:00", "completeDateTime", ddlPackBean, false); return productionRecordRao.findByHqlWhere(ddlPackBean); @@ -577,10 +579,15 @@ public class MesWorkOrderService implements IMesWorkOrderService { String orderNo = orderList.get(0); DdlPackBean orderPackBean = DdlPackBean.getDdlPackBean(item.getOrganizeCode()); DdlPreparedPack.getStringEqualPack(orderNo, "workOrderNo", orderPackBean); - if (mesWorkCenterRDao.isExitByHql(orderPackBean)) { + if (mesWorkOrderRDao.isExitByHql(orderPackBean)) { MesPcnException.throwMesBusiException("单号流水码生成重复"); } item.setWorkOrderNo(orderNo); + item.setPartName(mesProduceSn.getPartName()); + //生产时间新增取当天 + item.setProduceTime(TimeTool.getToday()); + item.setUnCompleteQty(0d); + item.setQty(value.stream().mapToDouble(MesProduceSn::getQty).sum()); //校验标识 //若工单类型为排序 List saveMesWorkOrderToWms = new ArrayList<>(); @@ -600,19 +607,13 @@ public class MesWorkOrderService implements IMesWorkOrderService { //发送工单信息给WMS saveMesWorkOrderToWms.addAll(saveMesWorkOrderToWms(item, bomList)); } - //物料名称不存在,从物料信息中获取 - - item.setPartName(mesProduceSn.getPartName()); - //生产时间新增取当天 - item.setProduceTime(TimeTool.getToday()); - item.setUnCompleteQty(0d); // if (item.getWorkOrderType() == MesExtEnumUtil.ORDER_TYPE.UN_SORT.getValue()){ // //生产工单-非排序手工插单,关闭该零件当天之前日期非排序工单 // List partNoList = Collections.singletonList(item.getPartNo()); // deleteUnSortOrder(orderNo,partNoList); // } - item.setQty(value.stream().mapToDouble(MesProduceSn::getQty).sum()); + item.setSystemSyncStatus(CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue()); ConvertBean.serviceModelInitialize(item, userName); MesWorkOrder mesWorkOrder = workOrderRepository.insert(item);