From 9cfe026727ffb78edfa4ced061554cdff387d794 Mon Sep 17 00:00:00 2001 From: yxw Date: Mon, 23 Sep 2024 15:56:10 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8E=92=E5=BA=8F=E4=BA=A7=E7=BA=BF=E5=B7=A5?= =?UTF-8?q?=E5=8D=95=E5=8F=91=E5=B8=83=E6=96=B0=E5=A2=9E=E8=A3=85=E9=85=8D?= =?UTF-8?q?=E7=9B=AE=E8=A7=86=E5=8D=95=E6=89=93=E5=8D=B0=E9=98=9F=E5=88=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../serviceimpl/base/MesWorkOrderService.java | 34 +++++++++++++++++++++- 1 file changed, 33 insertions(+), 1 deletion(-) 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 888afc8..766c6c5 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 @@ -121,6 +121,9 @@ public class MesWorkOrderService extends BaseMesService implements @Autowired private MesWorkOrderToSapRepository mesWorkOrderToSapRepository; + @Autowired + private MesPrintQueueRepository printQueueRepository; + @Override public MesWorkOrder insert(MesWorkOrder bean) { //校验产线与工位的关系 @@ -408,7 +411,7 @@ public class MesWorkOrderService extends BaseMesService implements DdlPreparedPack.getStringEqualPack(item.getPartProdGroupCode(), "partProdGroupCode", ddlPackBean); mesPartProdGroup = mesPartProdGroupRDao.getByProperty(ddlPackBean); if(Objects.isNull(mesPartProdGroup)){ - MesException.throwMesBusiException("生产线组【%s】信息不存在",item.getPartProdGroupCode()); + MesException.throwMesBusiException("零件生产组【%s】信息不存在",item.getPartProdGroupCode()); } } @@ -419,11 +422,36 @@ public class MesWorkOrderService extends BaseMesService implements if(!Objects.isNull(bomList)){ saveMesWorkOrderToWms.addAll(mesWorkOrderToWmsService.saveMesWorkOrderToWms(item, bomList)); } + + // 创建工单打印队列 + insertPrintQueue(item, mesPartProdGroup); + } else { item.setWorkOrderStatus(MesExtEnumUtil.ORDER_STATUS.CREATE.getValue()); } } + private MesPrintQueue insertPrintQueue(MesWorkOrder workOrder, MesPartProdGroup mesPartProdGroup) { + + if (workOrder.getWorkOrderType() != MesExtEnumUtil.ORDER_TYPE.SORT.getValue()) return null; + + if (mesPartProdGroup == null) { + DdlPackBean ddlPackBean = DdlPackBean.getDdlPackBean(workOrder.getOrganizeCode()); + DdlPreparedPack.getStringEqualPack(workOrder.getPartProdGroupCode(), "partProdGroupCode", ddlPackBean); + mesPartProdGroup = mesPartProdGroupRDao.getByProperty(ddlPackBean); + if(Objects.isNull(mesPartProdGroup)){ + MesException.throwMesBusiException("生产线组【%s】信息不存在",workOrder.getPartProdGroupCode()); + } + } + + MesPrintQueue printQueue = new MesPrintQueue(); + BeanUtils.copyProperties(workOrder, printQueue, MesExtConstWords.ID); + printQueue.setPrintQueueType(MesExtEnumUtil.PRINT_QUEUE_TYPE.WORK_ORDER.getValue()); + printQueue.setPartProdGroupCode(mesPartProdGroup.getPartProdGroupCode()); + printQueue.setPrintStatus(MesExtEnumUtil.PRINT_STATUS.UNPRINT.getValue()); + return printQueueRepository.save(printQueue); + } + private MesPartProdGroup getMesPartProdGroup(MesWorkOrder item) { MesPartProdGroupDetail mesPartProdGroupDetail = new MesPartProdGroupDetail(); mesPartProdGroupDetail.setWorkCenterCode(item.getWorkCenterCode()); @@ -556,6 +584,10 @@ public class MesWorkOrderService extends BaseMesService implements MesWorkOrderLog workOrderLog = new MesWorkOrderLog(); BeanUtils.copyProperties(item, workOrderLog, "id"); mesWorkOrderLogList.add(workOrderLog); + + // 如果工单为发布状态则新增打印队列 + insertPrintQueue(copyMesWorkOrder, null); + continue; } else if (item.getWorkOrderType() == MesExtEnumUtil.ORDER_TYPE.BTO.getValue()) { Long produceSeq = 0L;