From 26ef51836f88642b48f8c73e741919d4d2cda74a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B5=B5=E5=98=89=E4=BC=9F?= <1724121454@qq.com> Date: Wed, 21 Jul 2021 13:10:26 +0800 Subject: [PATCH] =?UTF-8?q?=E5=BC=82=E5=B8=B8=E6=B6=88=E6=81=AF=E5=8F=91?= =?UTF-8?q?=E9=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/AbnormalMessageController.java | 13 +-- .../anomaly/mapper/AbnormalMessageMapper.java | 2 +- .../mesnac/anomaly/model/AbnormalMessage.java | 18 ++- .../service/AbnormalMessageService.java | 2 +- .../service/impl/AbnormalBillServiceImpl.java | 110 ++++++++++++++++-- .../impl/AbnormalMessageServiceImpl.java | 2 +- .../resources/mapper/AbnormalBillMapper.xml | 2 +- .../mapper/AbnormalMessageMapper.xml | 18 ++- .../mesnac/common/constant/Constants.java | 9 ++ 9 files changed, 152 insertions(+), 24 deletions(-) diff --git a/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/controller/AbnormalMessageController.java b/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/controller/AbnormalMessageController.java index 98878669..8e782013 100644 --- a/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/controller/AbnormalMessageController.java +++ b/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/controller/AbnormalMessageController.java @@ -1,22 +1,20 @@ package com.foreverwin.mesnac.anomaly.controller; -import com.foreverwin.modular.core.util.R; -import com.foreverwin.modular.core.util.FrontPage; -import com.foreverwin.modular.core.util.CommonMethods; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; -import org.springframework.web.bind.annotation.RequestMapping; +import com.foreverwin.mesnac.anomaly.model.AbnormalMessage; +import com.foreverwin.mesnac.anomaly.service.AbnormalMessageService; +import com.foreverwin.modular.core.util.FrontPage; +import com.foreverwin.modular.core.util.R; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; -import com.foreverwin.mesnac.anomaly.service.AbnormalMessageService; -import com.foreverwin.mesnac.anomaly.model.AbnormalMessage; import java.util.List; /** * * @author Philip - * @since 2021-07-20 + * @since 2021-07-21 */ @RestController @RequestMapping("/Z-ABNORMAL-MESSAGE") @@ -78,6 +76,7 @@ public class AbnormalMessageController { .or().like(AbnormalMessage::getUpUserGroup, frontPage.getGlobalQuery()) .or().like(AbnormalMessage::getUpUser, frontPage.getGlobalQuery()) .or().like(AbnormalMessage::getUpMessageType, frontPage.getGlobalQuery()) + .or().like(AbnormalMessage::getGrade, frontPage.getGlobalQuery()) .or().like(AbnormalMessage::getAbnormalNode, frontPage.getGlobalQuery()) .or().like(AbnormalMessage::getStatus, frontPage.getGlobalQuery()) .or().like(AbnormalMessage::getCreatedUser, frontPage.getGlobalQuery()) diff --git a/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/mapper/AbnormalMessageMapper.java b/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/mapper/AbnormalMessageMapper.java index f92c89cc..2fabbdc7 100644 --- a/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/mapper/AbnormalMessageMapper.java +++ b/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/mapper/AbnormalMessageMapper.java @@ -10,7 +10,7 @@ import org.springframework.stereotype.Repository; *

* * @author Philip - * @since 2021-07-20 + * @since 2021-07-21 */ @Repository public interface AbnormalMessageMapper extends BaseMapper { diff --git a/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/model/AbnormalMessage.java b/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/model/AbnormalMessage.java index 9d71a4ad..9edc276f 100644 --- a/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/model/AbnormalMessage.java +++ b/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/model/AbnormalMessage.java @@ -15,7 +15,7 @@ import java.time.LocalDateTime; *

* * @author Philip - * @since 2021-07-20 + * @since 2021-07-21 */ @TableName("Z_ABNORMAL_MESSAGE") @@ -84,6 +84,11 @@ public class AbnormalMessage extends Model { */ @TableField("UP_DATE_TIME") private LocalDateTime upDateTime; + /** + * 等级 + */ + @TableField("GRADE") + private String grade; /** * 消息触发时间 */ @@ -217,6 +222,14 @@ public class AbnormalMessage extends Model { this.upDateTime = upDateTime; } + public String getGrade() { + return grade; + } + + public void setGrade(String grade) { + this.grade = grade; + } + public LocalDateTime getResponseDateTime() { return responseDateTime; } @@ -297,6 +310,8 @@ public static final String UP_MESSAGE_TYPE = "UP_MESSAGE_TYPE"; public static final String UP_DATE_TIME = "UP_DATE_TIME"; +public static final String GRADE = "GRADE"; + public static final String RESPONSE_DATE_TIME = "RESPONSE_DATE_TIME"; public static final String ABNORMAL_NODE = "ABNORMAL_NODE"; @@ -332,6 +347,7 @@ public static final String MODIFIED_DATE_TIME = "MODIFIED_DATE_TIME"; ", upUser = " + upUser + ", upMessageType = " + upMessageType + ", upDateTime = " + upDateTime + + ", grade = " + grade + ", responseDateTime = " + responseDateTime + ", abnormalNode = " + abnormalNode + ", status = " + status + diff --git a/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/service/AbnormalMessageService.java b/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/service/AbnormalMessageService.java index 370683d0..1f386ee7 100644 --- a/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/service/AbnormalMessageService.java +++ b/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/service/AbnormalMessageService.java @@ -13,7 +13,7 @@ import java.util.List; *

* * @author Philip - * @since 2021-07-20 + * @since 2021-07-21 */ public interface AbnormalMessageService extends IService { 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 29302e8a..536d7dca 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 @@ -14,9 +14,11 @@ 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.common.util.StringUtil; +import com.foreverwin.mesnac.meapi.dto.ShopOrderDto; import com.foreverwin.mesnac.meapi.mapper.*; import com.foreverwin.mesnac.meapi.model.*; import com.foreverwin.mesnac.meapi.service.*; +import com.foreverwin.mesnac.meapi.util.StringUtils; import com.foreverwin.modular.core.exception.BaseException; import com.foreverwin.modular.core.exception.BusinessException; import com.foreverwin.modular.core.util.CommonMethods; @@ -102,6 +104,21 @@ public class AbnormalBillServiceImpl extends ServiceImpl selectPage(FrontPage frontPage, AbnormalBill abnormalBill) { QueryWrapper queryWrapper = new QueryWrapper<>(); @@ -566,6 +583,8 @@ public class AbnormalBillServiceImpl extends ServiceImpl sendUsersList = nwaUserService.checkUserGroup(abnormalBill.getReportSendUserGroup()); String site = CommonMethods.getSite(); String user = CommonMethods.getUser(); + String locale = LocaleContextHolder.getLocale().getLanguage(); + LocalDateTime now = LocalDateTime.now(); AbnormalMessage abnormalMessage = new AbnormalMessage(); //发送消息的主键 String handle = UUID.randomUUID().toString(); abnormalMessage.setHandle(handle); + //站点 abnormalMessage.setSite(site); + //异常单 abnormalMessage.setAbnormalBillBo(abnormalBill.getHandle()); + //异常类型 abnormalMessage.setType(abnormalBill.getType()); //根据异常的类型找到消息的类型 switch (abnormalMessage.getType()){ @@ -753,19 +777,83 @@ public class AbnormalBillServiceImpl extends ServiceImpl messageTypeQueryWrapper = new QueryWrapper(); + messageTypeQueryWrapper.setEntity(messageTypeEntity); + MessageType messageType = messageTypeMapper.selectOne(messageTypeQueryWrapper); + if(messageType == null){ + throw new BaseException("异常提报时找不到要发送的消息类型"); + } + //格式化消息 + String body = messageType.getBody(); + //替换消息类型中的参数 + Map messageMap = new HashMap<>(); + //根据车间找到对应车间的描述 + WorkCenter workCenter = workCenterMapper.findWorkCenterDescriptionByWorkCenter(site, abnormalBill.getWorkCenter(), locale); + //根据资源找到对应的产线的描述 + WorkCenter line = workCenterMapper.findWorkCenterDescriptionByResrce(HandleEnum.RESOURCE.getHandle(site, abnormalBill.getResrce()), locale); + //项目号 + ShopOrderDto projectNo = shopOrderMapper.findByShopOrderBo(HandleEnum.SHOP_ORDER.getHandle(site, abnormalBill.getShopOrder())); + //物料 + Item _item = itemMapper.selectById(locale, abnormalBill.getItemBo()); + String item = _item.getItem() + "/" + _item.getDescription(); + + messageMap.put("WORKCENTER",workCenter.getDescription()); + messageMap.put("WORKCENTER_LIN",line.getDescription()); + messageMap.put("PROJECT",projectNo.getItemNumber()); + messageMap.put("SHOPORDER",abnormalBill.getWorkCenter()); + messageMap.put("ITEM",item); + String message = StringUtils.format(body, messageMap); + //得到要发送的消息 + abnormalMessage.setContent(message); + //得到升级的用户组 +// List _upSendUserGroups = Arrays.asList(abnormalMessage.getSendUserGroup().split(",")); +// for(int i = 0; i < _upSendUserGroups.size(); i++){ +// _upSendUserGroups.set(i,_upSendUserGroups.get(i)+"_UP"); +// } +// List upSendUserGroups = userGroupMapper.getUserGroupListByGroups(site, _upSendUserGroups); +// if(upSendUserGroups != null && upSendUserGroups.size() > 0){ +// abnormalMessage.setUpUserGroup(upSendUserGroups.get(0).getUserGroup()); +// } + //得到升级的用户组 + abnormalMessage.setUpUserGroup(abnormalMessage.getSendUserGroup()+"_UP"); + //得到升级的消息类型 + abnormalMessage.setUpMessageType(abnormalMessage.getMessageType()); + //得到消息触发的时间 + abnormalMessage.setResponseDateTime(now); + //得到升级的时间和等级 + UserGroup customFieldByGroup = userGroupMapper.getCustomFieldByGroup(site, abnormalMessage.getSendUserGroup()); + abnormalMessage.setUpDateTime(abnormalMessage.getResponseDateTime().plusMinutes(Integer.parseInt(customFieldByGroup.getMessageNoticeTime()))); + abnormalMessage.setGrade(customFieldByGroup.getMessageNoticeLevel()); + //得到异常节点 + abnormalMessage.setAbnormalNode(Constants.ABNORMAL_MESSAGE_REPORT); + //设置状态 + if(Constants.ABNORMAL_MESSAGE_REPORT.equals(abnormalMessage.getAbnormalNode())){ + abnormalMessage.setStatus("Y"); + }else{ + abnormalMessage.setStatus("N"); + } + + abnormalMessage.setCreatedUser(user); + abnormalMessage.setCreatedDateTime(now); + abnormalMessage.setModifiedUser(user); + abnormalMessage.setModifiedDateTime(now); + return false; } diff --git a/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/service/impl/AbnormalMessageServiceImpl.java b/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/service/impl/AbnormalMessageServiceImpl.java index 56763e9a..8eda8ebf 100644 --- a/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/service/impl/AbnormalMessageServiceImpl.java +++ b/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/service/impl/AbnormalMessageServiceImpl.java @@ -18,7 +18,7 @@ import java.util.List; *

* * @author Philip - * @since 2021-07-20 + * @since 2021-07-21 */ @Service @Transactional(rollbackFor = Exception.class) diff --git a/anomaly/src/main/resources/mapper/AbnormalBillMapper.xml b/anomaly/src/main/resources/mapper/AbnormalBillMapper.xml index b730633d..d9987bbc 100644 --- a/anomaly/src/main/resources/mapper/AbnormalBillMapper.xml +++ b/anomaly/src/main/resources/mapper/AbnormalBillMapper.xml @@ -917,7 +917,7 @@ Z_ABNORMAL_BILL ZAB INNER JOIN Z_ABNORMAL_BILL_DISPOSE ZABD ON ZABD.ABNORMAL_BILL_BO = ZAB.HANDLE INNER JOIN RESRCE R ON R.RESRCE = ZAB.RESRCE AND R.SITE = ZAB.SITE - LEFT JOIN WORK_CENTER_T WCT ON WCT.WORK_CENTER_BO = ('WORKCENTERBO:' || ZAB.SITE || ',' || ZAB.WORK_CENTER) AND WCT.LOCALE =#{language} + LEFT JOIN WORK_CENTER_T WCT ON WCT.WORK_CENTER_BO = ('WorkCenterBO:' || ZAB.SITE || ',' || ZAB.WORK_CENTER) AND WCT.LOCALE =#{language} LEFT JOIN Z_NWA_USER ZNU ON ZNU.USER_NAME = ZAB.CREATED_USER AND ZNU.SITE = ZAB.SITE LEFT JOIN Z_NWA_USER ZNU2 ON ZNU2.USER_NAME = ZAB.RESPONSE_USER AND ZNU2.SITE = ZAB.SITE LEFT JOIN Z_NWA_USER ZNU3 ON ZNU3.USER_NAME = ZABD.RESOLVE_USER AND ZNU3.SITE = ZAB.SITE diff --git a/anomaly/src/main/resources/mapper/AbnormalMessageMapper.xml b/anomaly/src/main/resources/mapper/AbnormalMessageMapper.xml index de4ec653..345bbf1c 100644 --- a/anomaly/src/main/resources/mapper/AbnormalMessageMapper.xml +++ b/anomaly/src/main/resources/mapper/AbnormalMessageMapper.xml @@ -16,6 +16,7 @@ + @@ -27,7 +28,7 @@ - HANDLE, SITE, ABNORMAL_BILL_BO, TYPE, MESSAGE_TYPE, SEND_USER_GROUP, SEND_USER, CONTENT, UP_USER_GROUP, UP_USER, UP_MESSAGE_TYPE, UP_DATE_TIME, RESPONSE_DATE_TIME, ABNORMAL_NODE, STATUS, CREATED_USER, CREATED_DATE_TIME, MODIFIED_USER, MODIFIED_DATE_TIME + HANDLE, SITE, ABNORMAL_BILL_BO, TYPE, MESSAGE_TYPE, SEND_USER_GROUP, SEND_USER, CONTENT, UP_USER_GROUP, UP_USER, UP_MESSAGE_TYPE, UP_DATE_TIME, GRADE, RESPONSE_DATE_TIME, ABNORMAL_NODE, STATUS, CREATED_USER, CREATED_DATE_TIME, MODIFIED_USER, MODIFIED_DATE_TIME @@ -73,6 +74,7 @@ AND UP_USER=#{ew.entity.upUser} AND UP_MESSAGE_TYPE=#{ew.entity.upMessageType} AND UP_DATE_TIME=#{ew.entity.upDateTime} + AND GRADE=#{ew.entity.grade} AND RESPONSE_DATE_TIME=#{ew.entity.responseDateTime} AND ABNORMAL_NODE=#{ew.entity.abnormalNode} AND STATUS=#{ew.entity.status} @@ -102,6 +104,7 @@ AND UP_USER=#{ew.entity.upUser} AND UP_MESSAGE_TYPE=#{ew.entity.upMessageType} AND UP_DATE_TIME=#{ew.entity.upDateTime} + AND GRADE=#{ew.entity.grade} AND RESPONSE_DATE_TIME=#{ew.entity.responseDateTime} AND ABNORMAL_NODE=#{ew.entity.abnormalNode} AND STATUS=#{ew.entity.status} @@ -139,6 +142,7 @@ AND UP_USER=#{ew.entity.upUser} AND UP_MESSAGE_TYPE=#{ew.entity.upMessageType} AND UP_DATE_TIME=#{ew.entity.upDateTime} + AND GRADE=#{ew.entity.grade} AND RESPONSE_DATE_TIME=#{ew.entity.responseDateTime} AND ABNORMAL_NODE=#{ew.entity.abnormalNode} AND STATUS=#{ew.entity.status} @@ -176,6 +180,7 @@ AND UP_USER=#{ew.entity.upUser} AND UP_MESSAGE_TYPE=#{ew.entity.upMessageType} AND UP_DATE_TIME=#{ew.entity.upDateTime} + AND GRADE=#{ew.entity.grade} AND RESPONSE_DATE_TIME=#{ew.entity.responseDateTime} AND ABNORMAL_NODE=#{ew.entity.abnormalNode} AND STATUS=#{ew.entity.status} @@ -213,6 +218,7 @@ AND UP_USER=#{ew.entity.upUser} AND UP_MESSAGE_TYPE=#{ew.entity.upMessageType} AND UP_DATE_TIME=#{ew.entity.upDateTime} + AND GRADE=#{ew.entity.grade} AND RESPONSE_DATE_TIME=#{ew.entity.responseDateTime} AND ABNORMAL_NODE=#{ew.entity.abnormalNode} AND STATUS=#{ew.entity.status} @@ -250,6 +256,7 @@ AND UP_USER=#{ew.entity.upUser} AND UP_MESSAGE_TYPE=#{ew.entity.upMessageType} AND UP_DATE_TIME=#{ew.entity.upDateTime} + AND GRADE=#{ew.entity.grade} AND RESPONSE_DATE_TIME=#{ew.entity.responseDateTime} AND ABNORMAL_NODE=#{ew.entity.abnormalNode} AND STATUS=#{ew.entity.status} @@ -287,6 +294,7 @@ AND UP_USER=#{ew.entity.upUser} AND UP_MESSAGE_TYPE=#{ew.entity.upMessageType} AND UP_DATE_TIME=#{ew.entity.upDateTime} + AND GRADE=#{ew.entity.grade} AND RESPONSE_DATE_TIME=#{ew.entity.responseDateTime} AND ABNORMAL_NODE=#{ew.entity.abnormalNode} AND STATUS=#{ew.entity.status} @@ -320,6 +328,7 @@ UP_USER, UP_MESSAGE_TYPE, UP_DATE_TIME, + GRADE, RESPONSE_DATE_TIME, ABNORMAL_NODE, STATUS, @@ -341,6 +350,7 @@ #{upUser}, #{upMessageType}, #{upDateTime}, + #{grade}, #{responseDateTime}, #{abnormalNode}, #{status}, @@ -369,6 +379,7 @@ #{upUser}, #{upMessageType}, #{upDateTime}, + #{grade}, #{responseDateTime}, #{abnormalNode}, #{status}, @@ -393,6 +404,7 @@ UP_USER=#{et.upUser}, UP_MESSAGE_TYPE=#{et.upMessageType}, UP_DATE_TIME=#{et.upDateTime}, + GRADE=#{et.grade}, RESPONSE_DATE_TIME=#{et.responseDateTime}, ABNORMAL_NODE=#{et.abnormalNode}, STATUS=#{et.status}, @@ -417,6 +429,7 @@ UP_USER=#{et.upUser}, UP_MESSAGE_TYPE=#{et.upMessageType}, UP_DATE_TIME=#{et.upDateTime}, + GRADE=#{et.grade}, RESPONSE_DATE_TIME=#{et.responseDateTime}, ABNORMAL_NODE=#{et.abnormalNode}, STATUS=#{et.status}, @@ -441,6 +454,7 @@ UP_USER=#{et.upUser}, UP_MESSAGE_TYPE=#{et.upMessageType}, UP_DATE_TIME=#{et.upDateTime}, + GRADE=#{et.grade}, RESPONSE_DATE_TIME=#{et.responseDateTime}, ABNORMAL_NODE=#{et.abnormalNode}, STATUS=#{et.status}, @@ -464,6 +478,7 @@ AND UP_USER=#{ew.entity.upUser} AND UP_MESSAGE_TYPE=#{ew.entity.upMessageType} AND UP_DATE_TIME=#{ew.entity.upDateTime} + AND GRADE=#{ew.entity.grade} AND RESPONSE_DATE_TIME=#{ew.entity.responseDateTime} AND ABNORMAL_NODE=#{ew.entity.abnormalNode} AND STATUS=#{ew.entity.status} @@ -518,6 +533,7 @@ AND UP_USER=#{ew.entity.upUser} AND UP_MESSAGE_TYPE=#{ew.entity.upMessageType} AND UP_DATE_TIME=#{ew.entity.upDateTime} + AND GRADE=#{ew.entity.grade} AND RESPONSE_DATE_TIME=#{ew.entity.responseDateTime} AND ABNORMAL_NODE=#{ew.entity.abnormalNode} AND STATUS=#{ew.entity.status} 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 2b491fea..f93f31cd 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 @@ -140,4 +140,13 @@ public interface Constants { String ABNORMAL_MESSAGE_OTHER = "OTYC";//其他异常消息类型 String ABNORMAL_MESSAGE_RESOURCE = "RSYC";//设备异常消息类型 + /** + * 异常节点 + */ + String ABNORMAL_MESSAGE_REPORT = "REPORT";//异常上报 + String ABNORMAL_MESSAGE_RESPONSE = "RESPONSE";//响应 + String ABNORMAL_MESSAGE_PROGRAM_CONFIRM = "PROGRAM_CONFIRM";//方案确认 + String ABNORMAL_MESSAGE_CORRECTION_CONFIRM = "CORRECTION_CONFIRM";//纠防确认 + String ABNORMAL_MESSAGE_CANCEL = "CANCEL";//取消 + }