From 48388b41f7014deef5839434c8ea9d8146386d6a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B5=B5=E5=98=89=E4=BC=9F?= <1724121454@qq.com> Date: Mon, 23 Aug 2021 13:26:33 +0800 Subject: [PATCH] =?UTF-8?q?=E5=BC=82=E5=B8=B8bug=E4=BF=AE=E6=94=B9?= =?UTF-8?q?=EF=BC=8C=E5=BC=82=E5=B8=B8=E9=80=BB=E8=BE=91=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../anomaly/service/AbnormalPlanService.java | 2 + .../service/impl/AbnormalBillServiceImpl.java | 69 +++++++++++---- .../service/impl/AbnormalPlanServiceImpl.java | 87 +++++++++++++++++-- .../resources/mapper/AbnormalBillMapper.xml | 11 ++- .../mesnac/common/constant/Constants.java | 1 + .../mesnac/common/service/AnomalyService.java | 2 + .../impl/ResourceRepairTaskServiceImpl.java | 26 ++++-- .../src/main/resources/mapper/ItemMapper.xml | 2 +- meapi/src/main/resources/mapper/SfcMapper.xml | 3 +- 9 files changed, 163 insertions(+), 40 deletions(-) diff --git a/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/service/AbnormalPlanService.java b/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/service/AbnormalPlanService.java index 674daf00..e868e054 100644 --- a/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/service/AbnormalPlanService.java +++ b/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/service/AbnormalPlanService.java @@ -38,4 +38,6 @@ public interface AbnormalPlanService extends IService { List findAbnormalPlan(AbnormalPlanDto abnormalPlanDto); void processes(List abnormalPlanList); + + void sendMessage(AbnormalBill abnormalBill,AbnormalPlan abnormalPlan); } \ No newline at end of file diff --git a/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/service/impl/AbnormalBillServiceImpl.java b/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/service/impl/AbnormalBillServiceImpl.java index c7d57e57..f2596b46 100644 --- a/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/service/impl/AbnormalBillServiceImpl.java +++ b/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/service/impl/AbnormalBillServiceImpl.java @@ -273,6 +273,18 @@ public class AbnormalBillServiceImpl extends ServiceImpl abnormalBillList = abnormalBillMapper.findCountBySfc(abnormalBill.getSite(), abnormalBill.getType(), abnormalBill.getSfc(), status); - String abnormalType = abnormalBill.getType().equals(Constants.ABNORMAL_QUALITY) ? "质量异常" : - abnormalBill.getType().equals(Constants.ABNORMAL_OTHER) ? "其他异常" : "设备异常" ; - if(abnormalBillList.size() >= 1 ){ - throw BusinessException.build(abnormalType + "有未处理完成的产品条码(SFC)"); + if(!StringUtil.isBlank(abnormalBill.getSfc())) { + List abnormalBillList = abnormalBillMapper.findCountBySfc(abnormalBill.getSite(), abnormalBill.getType(), abnormalBill.getSfc(), status); + String abnormalType = abnormalBill.getType().equals(Constants.ABNORMAL_QUALITY) ? "质量异常" : + abnormalBill.getType().equals(Constants.ABNORMAL_OTHER) ? "其他异常" : "设备异常"; + if (abnormalBillList.size() >= 1) { + throw BusinessException.build(abnormalType + "有未处理完成的产品条码(SFC)"); + } } @@ -779,18 +799,33 @@ public class AbnormalBillServiceImpl extends ServiceImpl hashMap = new HashMap<>(); + hashMap.put("abnormalBill",abnormalBillMapper.selectById(abnormalBill.getHandle())); + hashMap.put("abnormalBillDispose",abnormalBillDisposeMapper.selectById(HandleEnum.ABNORMAL_BILL_DISPOSE.getHandle(site,abnormalBill.getAbnormalNo()))); + return hashMap; + } + @Override + public void anomalyReveseRepairShutDown(String abnormalNo){ + String site = CommonMethods.getSite(); + String user = CommonMethods.getUser(); + LocalDateTime now = LocalDateTime.now(); + AbnormalBill abnormalBill = getById(HandleEnum.ABNORMAL_BILL.getHandle(site, abnormalNo)); + if(!Constants.RESPONSE.equals(abnormalBill.getStatus())){ + throw new BaseException("状态不在响应中,请重新检索"); + } abnormalBill.setHandle(HandleEnum.ABNORMAL_BILL.getHandle(site,abnormalBill.getAbnormalNo())); abnormalBill.setStatus(Constants.SHUT_DOWN); + AbnormalBillDispose abnormalBillDispose = abnormalBillDisposeMapper.selectById(HandleEnum.ABNORMAL_BILL_DISPOSE.getHandle(site, abnormalBill.getAbnormalNo())); abnormalBillDispose.setResolveUser(user); abnormalBillDispose.setResolveDateTime(now); abnormalBillDispose.setHandle(HandleEnum.ABNORMAL_BILL_DISPOSE.getHandle(site,abnormalBill.getAbnormalNo())); this.saveOrUpdate(abnormalBill); abnormalBillDisposeService.saveOrUpdate(abnormalBillDispose); - HashMap hashMap = new HashMap<>(); - hashMap.put("abnormalBill",abnormalBillMapper.selectById(abnormalBill.getHandle())); - hashMap.put("abnormalBillDispose",abnormalBillDisposeMapper.selectById(abnormalBillDispose.getHandle())); - return hashMap; } @Override @@ -980,9 +1015,10 @@ public class AbnormalBillServiceImpl extends ServiceImpl nwaUsers = nwaUserService.checkUserGroup(site,abnormalMessage.getSendUserGroup()); - + if(nwaUsers != null && nwaUsers.size() <= 0){ + throw new BaseException("消息发送失败,发送的用户组下面没有用户"); + } StringBuilder sendUsers = new StringBuilder(); - for (int i = 0; i < nwaUsers.size(); i++) { if(i == (nwaUsers.size() - 1)){ sendUsers.append(nwaUsers.get(i).getUserName()); @@ -1050,7 +1086,7 @@ public class AbnormalBillServiceImpl extends ServiceImpl scrapDtoBySfc = abnormalBillMapper.findScrapDtoBySfc(site, sfc); + return scrapDtoBySfc; } diff --git a/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/service/impl/AbnormalPlanServiceImpl.java b/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/service/impl/AbnormalPlanServiceImpl.java index 91ccd5ef..527d61dc 100644 --- a/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/service/impl/AbnormalPlanServiceImpl.java +++ b/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/service/impl/AbnormalPlanServiceImpl.java @@ -16,8 +16,13 @@ import com.foreverwin.mesnac.anomaly.service.AbnormalPlanService; import com.foreverwin.mesnac.common.constant.Constants; import com.foreverwin.mesnac.common.enums.HandleEnum; import com.foreverwin.mesnac.common.mapper.MessageMapper; +import com.foreverwin.mesnac.common.model.Message; import com.foreverwin.mesnac.common.service.MessageService; import com.foreverwin.mesnac.common.util.ActiveMQUtil; +import com.foreverwin.mesnac.common.util.StringUtil; +import com.foreverwin.mesnac.meapi.mapper.UserGroupMapper; +import com.foreverwin.mesnac.meapi.model.NwaUser; +import com.foreverwin.mesnac.meapi.model.UserGroup; import com.foreverwin.mesnac.meapi.service.NwaUserService; import com.foreverwin.modular.core.exception.BaseException; import com.foreverwin.modular.core.util.CommonMethods; @@ -28,7 +33,10 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.time.LocalDateTime; +import java.util.ArrayList; import java.util.List; +import java.util.Objects; +import java.util.UUID; /** *

@@ -67,6 +75,9 @@ public class AbnormalPlanServiceImpl extends ServiceImpl selectPage(FrontPage frontPage, AbnormalPlan abnormalPlan) { @@ -98,7 +109,9 @@ public class AbnormalPlanServiceImpl extends ServiceImpl abnormalPlans = new ArrayList<>(); + List abnormalBills = new ArrayList<>(); for (AbnormalPlan abnormalPlan : abnormalPlanList){ AbnormalBill abnormalBill = abnormalBillMapper.selectById(HandleEnum.ABNORMAL_BILL.getHandle(site, abnormalPlan.getAbnormalNo())); - AbnormalBillDispose abnormalBillDispose = abnormalBillDisposeMapper.selectById(HandleEnum.ABNORMAL_BILL_DISPOSE.getHandle(site, abnormalPlan.getAbnormalNo())); - //发送消息 - // abnormalBillService.anomalyCreatedAndSendMessage(abnormalBill,abnormalBillDispose); + //设置handle + abnormalPlan.setHandle(HandleEnum.ABNORMAL_PLAN.getHandle(site,abnormalPlan.getAbnormalNo())); + if(Constants.PROCESSED.equals(abnormalPlan.getStatus())){ throw new BaseException("异常单:"+abnormalPlan.getAbnormalNo()+"已经处理,不能再次处理"); } @@ -152,11 +168,66 @@ public class AbnormalPlanServiceImpl extends ServiceImpl nwaUsers = nwaUserService.checkUserGroup(site,message.getSendUserGroup()); + if(nwaUsers != null && nwaUsers.size() <= 0){ + throw new BaseException("消息发送失败,发送的用户组下面没有用户"); + } + StringBuilder sendUsers = new StringBuilder(); + for (int i = 0; i < Objects.requireNonNull(nwaUsers).size(); i++) { + if(i == (nwaUsers.size() - 1)){ + sendUsers.append(nwaUsers.get(i).getUserName()); + }else{ + sendUsers.append(nwaUsers.get(i).getUserName()).append("|"); + } } + activeMQUtil.wechatSendMessage(sendUsers.toString(),message.getContent()); + messageService.saveOrUpdate(message); } } \ No newline at end of file diff --git a/anomaly/src/main/resources/mapper/AbnormalBillMapper.xml b/anomaly/src/main/resources/mapper/AbnormalBillMapper.xml index 2ceb97ef..110d9dc5 100644 --- a/anomaly/src/main/resources/mapper/AbnormalBillMapper.xml +++ b/anomaly/src/main/resources/mapper/AbnormalBillMapper.xml @@ -1091,7 +1091,7 @@ SELECT S.SFC SFC, S2.STATUS STATUS, SUBSTR(SS.OPERATION_BO ,INSTR(SS.OPERATION_BO ,',',1)+1,(INSTR(SS.OPERATION_BO ,'#',1)-1)-(INSTR(SS.OPERATION_BO ,',',1)+1)) || '/' || SS.STEP_ID OPERATION, - ZSD2.RESRCE RESRCE,ZSD.SHOP_ORDER SHOP_ORDER, + ZSD2.RESRCE RESRCE,ZSD2.SHOP_ORDER SHOP_ORDER, CASE WHEN I.ITEM != 'NULL' THEN I.ITEM || '/' || I.REVISION END ITEM, CASE WHEN R.ROUTER != 'NULL' THEN R.ROUTER || '/' || R.REVISION END ROUTER , CASE WHEN B.BOM != 'NULL' THEN B.BOM || '/' || B.REVISION END BOM, @@ -1102,14 +1102,13 @@ FROM SFC S INNER JOIN SFC_ROUTING SR ON SR.SFC_BO = S.HANDLE INNER JOIN SFC_ROUTER ST ON ST.SFC_ROUTING_BO = SR.HANDLE - INNER JOIN SFC_STEP SS ON SS.SFC_ROUTER_BO = ST.HANDLE AND (SS.QTY_IN_QUEUE > 0 OR SS.QTY_IN_WORK > 0) + INNER JOIN SFC_STEP SS ON SS.SFC_ROUTER_BO = ST.HANDLE/* AND (SS.QTY_IN_QUEUE > 0 OR SS.QTY_IN_WORK > 0)*/ INNER JOIN STATUS S2 ON S2.HANDLE = S.STATUS_BO - INNER JOIN Z_SFC_DISPATCH ZSD ON ZSD.DISPATCH_NO = S.SFC || '-' || SS.STEP_ID LEFT JOIN Z_SFC_DISPATCH ZSD2 ON ZSD2.DISPATCH_NO = S.SFC || '-' || SS.STEP_ID - AND ZSD2.DISPATCH_STATUS IN ('START','COMPLETE') - LEFT JOIN SHOP_ORDER SO ON SO.SHOP_ORDER = ZSD.SHOP_ORDER AND SO.SITE = S.SITE + AND ZSD2.DISPATCH_STATUS IN ('START','COMPLETE') + LEFT JOIN SHOP_ORDER SO ON SO.SHOP_ORDER = ZSD2.SHOP_ORDER AND SO.SITE = S.SITE LEFT JOIN ITEM I ON I.HANDLE = SO.PLANNED_ITEM_BO - LEFT JOIN ROUTER R ON R.HANDLE = ZSD.ROUTER_BO + LEFT JOIN ROUTER R ON R.HANDLE = ZSD2.ROUTER_BO LEFT JOIN Z_SFC_SCRAP ZSS ON ZSS.SFC = S.SFC AND ZSS.SITE = S.SITE LEFT JOIN BOM B ON B.HANDLE = SO.PLANNED_BOM_BO INNER JOIN ( SELECT * FROM Z_ABNORMAL_BILL_VIEW ZABV WHERE ZABV.HANDLE = (SELECT MAX(HANDLE) FROM Z_ABNORMAL_BILL_VIEW ZABV2 diff --git a/common/src/main/java/com/foreverwin/mesnac/common/constant/Constants.java b/common/src/main/java/com/foreverwin/mesnac/common/constant/Constants.java index abc43d4b..0eff2fef 100644 --- a/common/src/main/java/com/foreverwin/mesnac/common/constant/Constants.java +++ b/common/src/main/java/com/foreverwin/mesnac/common/constant/Constants.java @@ -124,6 +124,7 @@ public interface Constants { String ABNORMAL_QUALITY = "Z"; String ABNORMAL_OTHER = "Q"; String ABNORMAL_RESRCE = "S"; + String ABNORMAL_PLAN = "P"; /** * 设备维修 diff --git a/common/src/main/java/com/foreverwin/mesnac/common/service/AnomalyService.java b/common/src/main/java/com/foreverwin/mesnac/common/service/AnomalyService.java index 5424f0e1..f3a65186 100644 --- a/common/src/main/java/com/foreverwin/mesnac/common/service/AnomalyService.java +++ b/common/src/main/java/com/foreverwin/mesnac/common/service/AnomalyService.java @@ -37,4 +37,6 @@ public interface AnomalyService { */ List getScrapDtoBysfc(String site, String sfc); + void anomalyReveseRepairShutDown(String abnormalNo); + } diff --git a/equip/src/main/java/com/foreverwin/mesnac/equip/service/impl/ResourceRepairTaskServiceImpl.java b/equip/src/main/java/com/foreverwin/mesnac/equip/service/impl/ResourceRepairTaskServiceImpl.java index cf05e5cb..0d852bb8 100644 --- a/equip/src/main/java/com/foreverwin/mesnac/equip/service/impl/ResourceRepairTaskServiceImpl.java +++ b/equip/src/main/java/com/foreverwin/mesnac/equip/service/impl/ResourceRepairTaskServiceImpl.java @@ -1,10 +1,17 @@ package com.foreverwin.mesnac.equip.service.impl; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.foreverwin.mesnac.common.constant.Constants; import com.foreverwin.mesnac.common.enums.HandleEnum; import com.foreverwin.mesnac.common.helper.NextNumberHelper; +import com.foreverwin.mesnac.common.service.AnomalyService; +import com.foreverwin.mesnac.equip.mapper.ResourceRepairTaskMapper; import com.foreverwin.mesnac.equip.model.ResourceInspectTaskSpare; +import com.foreverwin.mesnac.equip.model.ResourceRepairTask; import com.foreverwin.mesnac.equip.service.ResourceInspectTaskSpareService; +import com.foreverwin.mesnac.equip.service.ResourceRepairTaskService; import com.foreverwin.mesnac.meapi.dto.NcCodeDto; import com.foreverwin.mesnac.meapi.mapper.NwaUserMapper; import com.foreverwin.mesnac.meapi.model.DataField; @@ -16,19 +23,16 @@ import com.foreverwin.mesnac.meapi.service.ResrceService; import com.foreverwin.modular.core.exception.BusinessException; import com.foreverwin.modular.core.util.CommonMethods; import com.foreverwin.modular.core.util.FrontPage; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.foreverwin.mesnac.equip.model.ResourceRepairTask; -import com.foreverwin.mesnac.equip.mapper.ResourceRepairTaskMapper; -import com.foreverwin.mesnac.equip.service.ResourceRepairTaskService; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import org.springframework.stereotype.Service; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.time.Duration; import java.time.LocalDateTime; -import java.util.*; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.UUID; /** *

@@ -60,6 +64,8 @@ public class ResourceRepairTaskServiceImpl extends ServiceImpl init() { @@ -133,6 +139,10 @@ public class ResourceRepairTaskServiceImpl extends ServiceImpl