From f95006915ef8ee8e986872ee315f2a423387bebf Mon Sep 17 00:00:00 2001 From: "castle.zang" Date: Mon, 18 Nov 2024 10:20:46 +0800 Subject: [PATCH] =?UTF-8?q?=E7=9C=8B=E6=9D=BF=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../serviceimpl/busi/MesEarlyWarningServiceImpl.java | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 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 bd9347f..1978b49 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 @@ -135,7 +135,9 @@ public class MesEarlyWarningServiceImpl implements IMesEarlyWarningService { MesWorkOrder lastWorkOrder = getLastWorkOrder(workCenterCode, workCellCode, organizeCode); //5.获取最新下线工单 MesWorkOrder lastOfflineOrder = getLastOfflineOrder(workCenterCode, organizeCode); - + if (lastWorkOrder == null && lastOfflineOrder != null){ + lastWorkOrder = lastOfflineOrder; + } //6.查询报警产量 & 获取开班起始时间 Date now = new Date(); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); @@ -260,10 +262,13 @@ 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.getNumEqualPack(MesExtEnumUtil.ORDER_STATUS.RELEASE.getValue(),"workOrderStatus",orderPackBean); + DdlPreparedPack.getInPackList(orderStatusList1,"workOrderStatus",orderPackBean); DdlPreparedPack.getOrderBy("productSeq",CommonEnumUtil.ASC_OR_DESC.ASC.getValue(), orderPackBean); List workOrderList = workOrderRao.findByHqlTopWhere(orderPackBean, 1); return !workOrderList.isEmpty() ? workOrderList.get(0) : null; @@ -414,9 +419,12 @@ public class MesEarlyWarningServiceImpl implements IMesEarlyWarningService { long summaryRealSupplyRealCount; String custOrderNo = workOrder.getCustOrderNo(); if(custOrderNo.length() >= 10){ - summaryRealSupplyRealCount = Long.parseLong(infoDD.getCsnNo().substring(3, 10)) - Long.parseLong(workOrder.getCustOrderNo().substring(workOrder.getCustOrderNo().length() - 7)) - kanBan.getOnlineAdjustNum(); + summaryRealSupplyRealCount = Long.parseLong(infoDD.getCsnNo().substring(3, 10)) - Long.parseLong(workOrder.getCustOrderNo().substring(workOrder.getCustOrderNo().length() - 7)); }else { - summaryRealSupplyRealCount = Long.parseLong(infoDD.getCsnNo().substring(infoDD.getCsnNo().length() - 5))- Long.parseLong(workOrder.getCustOrderNo().substring(workOrderLast.getCustOrderNo().length() - 7)) - kanBan.getOnlineAdjustNum(); + summaryRealSupplyRealCount = Long.parseLong(infoDD.getCsnNo().substring(infoDD.getCsnNo().length() - 5))- Long.parseLong(workOrder.getCustOrderNo().substring(workOrderLast.getCustOrderNo().length() - 7)); + } + if(summaryRealSupplyRealCount < 0){ + summaryRealSupplyRealCount = 0; } mesKanBanShowModel.setSummaryRealSupplyRealCount(summaryRealSupplyRealCount); Long summaryWorkOrderYellowCount = kanBan.getSummaryWorkOrderYellowCount(); @@ -432,9 +440,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.getOnlineToShippingAdjustNum(); + realProductionBuffer = Long.parseLong(workOrderLast.getCustOrderNo().substring(workOrderLast.getCustOrderNo().length() - 7)) - Long.parseLong(infoKH.getCsnNo().substring(3, 10)) ; }else { - realProductionBuffer = Long.parseLong(workOrderLast.getCustOrderNo().substring(workOrderLast.getCustOrderNo().length() - 5)) - Long.parseLong(infoKH.getCsnNo().substring(infoKH.getCsnNo().length()-5)) - kanBan.getOnlineToShippingAdjustNum(); + realProductionBuffer = Long.parseLong(workOrderLast.getCustOrderNo().substring(workOrderLast.getCustOrderNo().length() - 5)) - Long.parseLong(infoKH.getCsnNo().substring(infoKH.getCsnNo().length()-5)) ; } if(realProductionBuffer <0){