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";//取消
+
}