From 6ae6ba09408ec24fbe17943a76d39c649f9b4f22 Mon Sep 17 00:00:00 2001 From: jun Date: Fri, 30 Aug 2024 14:43:41 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B1=87=E6=80=BB=E5=B7=A5=E5=8D=95=E5=8F=91?= =?UTF-8?q?=E9=80=81SAP=E9=80=BB=E8=BE=91=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ext/mes/api/base/IMesWorkOrderService.java | 2 +- .../schedulejob/MesWorkOrderCloseOrderJob.java | 2 +- .../serviceimpl/base/MesWorkOrderService.java | 20 ++++++++++++++++++-- .../base/MesWorkOrderToSapServiceImpl.java | 2 +- .../serviceimpl/busi/MesSpotCheckOrderService.java | 2 ++ 5 files changed, 23 insertions(+), 5 deletions(-) diff --git a/modules/i3plus-ext-mes-api/src/main/java/cn/estsh/i3plus/ext/mes/api/base/IMesWorkOrderService.java b/modules/i3plus-ext-mes-api/src/main/java/cn/estsh/i3plus/ext/mes/api/base/IMesWorkOrderService.java index 95eeb28..68b8cb1 100644 --- a/modules/i3plus-ext-mes-api/src/main/java/cn/estsh/i3plus/ext/mes/api/base/IMesWorkOrderService.java +++ b/modules/i3plus-ext-mes-api/src/main/java/cn/estsh/i3plus/ext/mes/api/base/IMesWorkOrderService.java @@ -28,7 +28,7 @@ public interface IMesWorkOrderService extends IBaseMesService { void doProductReportExt(MesWorkOrder mesWorkOrder); @ApiOperation("非排序工单导入前删除") - void deleteUnSortOrder(String organizeCode, List partNoList,String userName); + void doCloseUnSortOrder(String organizeCode,String userName); @ApiOperation("汇总工单给SAP") List sumMesWorkOrderQtyToSap(String organizeCode); diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/schedulejob/MesWorkOrderCloseOrderJob.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/schedulejob/MesWorkOrderCloseOrderJob.java index 104981e..6fc859a 100644 --- a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/schedulejob/MesWorkOrderCloseOrderJob.java +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/schedulejob/MesWorkOrderCloseOrderJob.java @@ -45,7 +45,7 @@ public class MesWorkOrderCloseOrderJob extends BaseMesScheduleJob { String userName = "CLOSE_JOB"; for (String organizeCode : organizeCodeList) { - mesWorkOrderService.deleteUnSortOrder(organizeCode, null, userName); + mesWorkOrderService.doCloseUnSortOrder(organizeCode, userName); } LOGGER.info("工单关闭开始结束 ----- end"); diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesWorkOrderService.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesWorkOrderService.java index 2c38ce1..2155f44 100644 --- a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesWorkOrderService.java +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesWorkOrderService.java @@ -118,6 +118,9 @@ public class MesWorkOrderService extends BaseMesService implements @Autowired private IMesCcscTaskService mesCcscTaskService; + @Autowired + private MesWorkOrderToSapRepository mesWorkOrderToSapRepository; + @Override public MesWorkOrder insert(MesWorkOrder bean) { //校验产线与工位的关系 @@ -1034,12 +1037,25 @@ public class MesWorkOrderService extends BaseMesService implements } @Override - public void deleteUnSortOrder(String organizeCode, List partNoList,String userName) { + public void doCloseUnSortOrder(String organizeCode,String userName) { DdlPackBean ddlPackBean = DdlPackBean.getDdlPackBean(organizeCode); - DdlPreparedPack.getInPackList(partNoList, "partNo", ddlPackBean); DdlPreparedPack.getNumEqualPack(MesExtEnumUtil.ORDER_TYPE.UN_SORT.getValue(), "workOrderType", ddlPackBean); DdlPreparedPack.getStringSmallerNotEqualPack(TimeTool.getToday(), "planStartTime", ddlPackBean); DdlPreparedPack.getNumberSmallerPack(MesExtEnumUtil.ORDER_STATUS.CLOSE.getValue(), "workOrderStatus", ddlPackBean); + List mesWorkOrderList = baseRDao.findByHqlWhere(ddlPackBean); + if(CollectionUtils.isEmpty(mesWorkOrderList)){ + return; + } + //关闭工单回传 + List partNoAndDataKey = mesWorkOrderList.stream().map(t -> new StringJoiner(MesExtConstWords.COMMA).add(t.getPartNo()).add(t.getProductVersion()).add(t.getPlanStartTime().substring(0, 10)).toString()).distinct().collect(Collectors.toList()); + List mesWorkOrderToSapList = new ArrayList<>(); + for (String partNoAndData : partNoAndDataKey) { + MesWorkOrderToSap orderToSap = new MesWorkOrderToSap(organizeCode, partNoAndData.split(MesExtConstWords.COMMA)[0], partNoAndData.split(MesExtConstWords.COMMA)[1], 0d, partNoAndData.split(MesExtConstWords.COMMA)[2]); + ConvertBean.serviceModelInitialize(orderToSap,userName); + mesWorkOrderToSapList.add(orderToSap); + } + mesWorkOrderToSapRepository.saveAll(mesWorkOrderToSapList); + //关闭工单 baseRDao.updateByProperties(new String[]{"modifyUser", "modifyDatetime", "workOrderStatus"}, new Object[]{userName, TimeTool.getNowTime(true), MesExtEnumUtil.ORDER_STATUS.CLOSE.getValue()}, ddlPackBean); } diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesWorkOrderToSapServiceImpl.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesWorkOrderToSapServiceImpl.java index fa23a7e..7b2e5ff 100644 --- a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesWorkOrderToSapServiceImpl.java +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesWorkOrderToSapServiceImpl.java @@ -24,7 +24,7 @@ public class MesWorkOrderToSapServiceImpl extends BaseMesService MesSpotCheckOrderPart spotCheckOrderPart = new MesSpotCheckOrderPart(); spotCheckOrderPart.setSpotCheckOrderId(spotCheckOrderId); BeanUtils.copyProperties(k, spotCheckOrderPart, "id"); + spotCheckOrderPart.setSystemSyncStatus(CommonEnumUtil.FALSE); ConvertBean.serviceModelInitialize(spotCheckOrderPart, userName); spotCheckOrderPartList.add(spotCheckOrderPart); }); @@ -541,6 +542,7 @@ public class MesSpotCheckOrderService extends BaseMesService result.setSpotCheckItemId(k.getId()); result.setTaskItemName(k.getSpotCheckItemName()); result.setSpotCheckStandardValue(k.getStandardValue()); + result.setSystemSyncStatus(CommonEnumUtil.FALSE); ConvertBean.serviceModelInitialize(result, userName); spotCheckOrderResults.add(result); });