diff --git a/modules/i3plus-ext-mes-api/src/main/java/cn/estsh/i3plus/ext/mes/api/base/IMesWorkOrderCutService.java b/modules/i3plus-ext-mes-api/src/main/java/cn/estsh/i3plus/ext/mes/api/base/IMesWorkOrderCutService.java index bbca02b..0054521 100644 --- a/modules/i3plus-ext-mes-api/src/main/java/cn/estsh/i3plus/ext/mes/api/base/IMesWorkOrderCutService.java +++ b/modules/i3plus-ext-mes-api/src/main/java/cn/estsh/i3plus/ext/mes/api/base/IMesWorkOrderCutService.java @@ -18,4 +18,7 @@ public interface IMesWorkOrderCutService extends IBaseMesService cutWorkOrderNos, String organizeCode, String userName); + @ApiOperation("打印裁片工单") + void doPrintCutWorkOrder(List cutWorkOrderNos, String organizeCode, String userName); + } diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesWorkOrderCutService.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesWorkOrderCutService.java index f325175..b5b5029 100644 --- a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesWorkOrderCutService.java +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesWorkOrderCutService.java @@ -144,7 +144,12 @@ public class MesWorkOrderCutService extends BaseMesService impl workOrderCut.setCutName(cutScheme.getCutName()); workOrderCut.setWorkOrderStatus(CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue() == cutScheme.getIsAutoRelease() ? MesExtEnumUtil.CUT_ORDER_STATUS.RELEASED.getValue() : MesExtEnumUtil.CUT_ORDER_STATUS.CREATE.getValue()); workOrderCut.setRemark(remark); - workOrderCut.setCutWorkOrderNo(doGenerateSerialNo(cutScheme.getCutCode(), organizeCode, userName)); + + String cutWorkOrderNo = doGenerateSerialNo(cutScheme.getCutCode(), organizeCode, userName); + + log.info("裁片工单号:{}", cutWorkOrderNo); + + workOrderCut.setCutWorkOrderNo(cutWorkOrderNo); workOrderCut.setOrganizeCode(organizeCode); workOrderCutDetailtList.forEach(o-> o.setCutWorkOrderNo(workOrderCut.getCutWorkOrderNo())); @@ -191,6 +196,8 @@ public class MesWorkOrderCutService extends BaseMesService impl if (workOrderCutDb.getWorkOrderStatus() != MesExtEnumUtil.CUT_ORDER_STATUS.CREATE.getValue()) MesException.throwMesBusiException("裁片工单【%】状态不为【%s】,当前状态为【%s】", cutWorkOrderNo, MesExtEnumUtil.CUT_ORDER_STATUS.RELEASED.getValue(), MesExtEnumUtil.CUT_ORDER_STATUS.valueOfDescription(workOrderCutDb.getWorkOrderStatus())); + workOrderCuts.add(workOrderCutDb); + } for (MesWorkOrderCut workOrderCut : workOrderCuts) { @@ -201,6 +208,27 @@ public class MesWorkOrderCutService extends BaseMesService impl workOrderCutRepository.saveAll(workOrderCuts); } + @Override + public void doPrintCutWorkOrder(List cutWorkOrderNos, String organizeCode, String userName) { + + DdlPackBean packBean = DdlPackBean.getDdlPackBean(organizeCode); + DdlPreparedPack.getInPackList(cutWorkOrderNos, MesExtConstWords.CUT_WORK_ORDER_NO, packBean); + List workOrderCutDbList = workOrderCutRepository.findByHqlWhere(packBean); + + List cutWorkOrderNoDbList = workOrderCutDbList.stream().map(MesWorkOrderCut::getCutWorkOrderNo).collect(Collectors.toList()); + + if (CollectionUtils.isEmpty(cutWorkOrderNoDbList)) MesException.throwMesBusiException("裁片工单不存在"); + + cutWorkOrderNos.removeAll(cutWorkOrderNoDbList); + + if (!CollectionUtils.isEmpty(cutWorkOrderNos)) + MesException.throwMesBusiException("裁片工单【%s】不存在", cutWorkOrderNos); + + List cutCode = workOrderCutDbList.stream().map(MesWorkOrderCut::getCutCode).distinct().collect(Collectors.toList()); + + + } + private String doGenerateSerialNo(String cutCode, String organizeCode, String userName) { return syncFuncService.syncSerialNo( new GenSerialNoModel(MesExtConstWords.CUT_WORK_ORDER_NO_FUL).dynamicRule(cutCode).year(TimeTool.pareDateToString(MesExtConstWords.DATE_FORMAT_YY, new Date())).organizeCode(organizeCode),