From 2854686ddec90b372896caabb1a673092f57b7dd Mon Sep 17 00:00:00 2001 From: "castle.zang" Date: Fri, 22 Nov 2024 08:22:47 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E7=9C=8B=E6=9D=BF=E9=80=BB?= =?UTF-8?q?=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../busi/MesEarlyWarningServiceImpl.java | 31 +++++++++++++--------- 1 file changed, 19 insertions(+), 12 deletions(-) diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/busi/MesEarlyWarningServiceImpl.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/busi/MesEarlyWarningServiceImpl.java index 556b1ef..12d07bf 100644 --- a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/busi/MesEarlyWarningServiceImpl.java +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/busi/MesEarlyWarningServiceImpl.java @@ -262,15 +262,18 @@ public class MesEarlyWarningServiceImpl implements IMesEarlyWarningService { //先查对列表,找到对应产线工位的工单 List queueOrderList = queueOrderRao.findByHqlTopWhere(queueOrderPackBean,1); //过滤掉关闭和拆解的工单 - List orderStatusList1 = new ArrayList<>(); - orderStatusList1.add(MesExtEnumUtil.ORDER_STATUS.RELEASE.getValue()); - orderStatusList1.add(MesExtEnumUtil.ORDER_STATUS.PROCESS.getValue()); - List workOrderNoQueueList = queueOrderList.stream().map(MesQueueOrder::getWorkOrderNo).distinct().collect(Collectors.toList()); - DdlPackBean orderPackBean = DdlPackBean.getDdlPackBean(organizeCode); - DdlPreparedPack.getInPackList(workOrderNoQueueList,"workOrderNo",orderPackBean); - DdlPreparedPack.getInPackList(orderStatusList1,"workOrderStatus",orderPackBean); - DdlPreparedPack.getOrderBy("productSeq",CommonEnumUtil.ASC_OR_DESC.ASC.getValue(), orderPackBean); - List workOrderList = workOrderRao.findByHqlTopWhere(orderPackBean, 1); + List workOrderList = new ArrayList<>(); + if (!queueOrderList.isEmpty()){ + List orderStatusList1 = new ArrayList<>(); + orderStatusList1.add(MesExtEnumUtil.ORDER_STATUS.RELEASE.getValue()); + orderStatusList1.add(MesExtEnumUtil.ORDER_STATUS.PROCESS.getValue()); + List workOrderNoQueueList = queueOrderList.stream().map(MesQueueOrder::getWorkOrderNo).distinct().collect(Collectors.toList()); + DdlPackBean orderPackBean = DdlPackBean.getDdlPackBean(organizeCode); + DdlPreparedPack.getInPackList(workOrderNoQueueList,"workOrderNo",orderPackBean); + DdlPreparedPack.getInPackList(orderStatusList1,"workOrderStatus",orderPackBean); + DdlPreparedPack.getOrderBy("productSeq",CommonEnumUtil.ASC_OR_DESC.ASC.getValue(), orderPackBean); + workOrderList = workOrderRao.findByHqlTopWhere(orderPackBean, 1); + } return !workOrderList.isEmpty() ? workOrderList.get(0) : null; } @@ -291,7 +294,7 @@ public class MesEarlyWarningServiceImpl implements IMesEarlyWarningService { DdlPreparedPack.getStringNotBlanklPack("custOrderNo",workOrderPackBean); DdlPreparedPack.getOrderBy("productSeq",CommonEnumUtil.ASC_OR_DESC.DESC.getValue(), workOrderPackBean); List mesWorkOrders = workOrderRao.findByHqlTopWhere(workOrderPackBean, 1); - return mesWorkOrders.get(0); + return !mesWorkOrders.isEmpty() ? mesWorkOrders.get(0): null; } private Integer getWorkCounts(String realEndTime,String organizeCode,String workCenterCode){ @@ -404,6 +407,9 @@ public class MesEarlyWarningServiceImpl implements IMesEarlyWarningService { mesKanBanShowModel.setSupplyRedBuffer(supplyRedBuffer); //供货缓冲实际 Long realSupplyBuffer = Long.parseLong(infoDD.getCsnNo().substring(3,10)) - Long.parseLong(infoKH.getCsnNo().substring(3,10)) - kanBan.getOnlineAdjustNum(); + if (realSupplyBuffer < 0){ + realSupplyBuffer = 0L; + } mesKanBanShowModel.setRealSupplyBuffer(realSupplyBuffer); if (realSupplyBuffer < supplyRedBuffer){ mesKanBanShowModel.setRealSupplyBufferColor("red"); @@ -412,6 +418,7 @@ public class MesEarlyWarningServiceImpl implements IMesEarlyWarningService { mesKanBanShowModel.setRealSupplyBufferColor("yellow"); mesKanBanShowModel.setSupplyRedBuffer(supplyYellowBuffer); } + //线头积单 Long summaryWorkOrderRedCount = kanBan.getSummaryWorkOrderRedCount(); mesKanBanShowModel.setSummaryWorkOrderRedCount(summaryWorkOrderRedCount); @@ -440,9 +447,9 @@ public class MesEarlyWarningServiceImpl implements IMesEarlyWarningService { //成品实际缓冲 Long realProductionBuffer; if (workOrderLast.getCustOrderNo().length() >= 10){ - realProductionBuffer = Long.parseLong(workOrderLast.getCustOrderNo().substring(workOrderLast.getCustOrderNo().length() - 7)) - Long.parseLong(infoKH.getCsnNo().substring(3, 10)) - kanBan.getOnlineAdjustNum() ; + realProductionBuffer = Long.parseLong(workOrderLast.getCustOrderNo().substring(workOrderLast.getCustOrderNo().length() - 7)) - Long.parseLong(infoKH.getCsnNo().substring(3, 10)) - kanBan.getOnlineToShippingAdjustNum() ; }else { - realProductionBuffer = Long.parseLong(workOrderLast.getCustOrderNo().substring(workOrderLast.getCustOrderNo().length() - 5)) - Long.parseLong(infoKH.getCsnNo().substring(infoKH.getCsnNo().length()-5)) - kanBan.getOnlineAdjustNum() ; + realProductionBuffer = Long.parseLong(workOrderLast.getCustOrderNo().substring(workOrderLast.getCustOrderNo().length() - 5)) - Long.parseLong(infoKH.getCsnNo().substring(infoKH.getCsnNo().length()-5)) - kanBan.getOnlineToShippingAdjustNum() ; } if(realProductionBuffer <0){