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); });