From f84ade0111459419f657ccb58744264f0f927c03 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B5=B5=E5=98=89=E4=BC=9F?= <1724121454@qq.com> Date: Thu, 19 Aug 2021 15:04:21 +0800 Subject: [PATCH] =?UTF-8?q?=E5=BC=82=E5=B8=B8=E5=8F=91=E9=80=81=E6=B6=88?= =?UTF-8?q?=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../anomaly/dto/AbnormalBillDisposeDto.java | 20 ++ .../mesnac/anomaly/model/AbnormalBill.java | 4 +- .../service/impl/AbnormalBillServiceImpl.java | 87 ++++--- .../service/impl/AnomalyJobServiceImpl.java | 4 +- .../mapper/AbnormalBillDisposeMapper.xml | 18 +- .../mesnac/common/enums/AnomalyConstant.java | 221 ++++++++++++++++++ .../mesnac/common/util/ActiveMQUtil.java | 2 +- .../mesnac/meapi/util/StringUtils.java | 9 +- 8 files changed, 309 insertions(+), 56 deletions(-) create mode 100644 common/src/main/java/com/foreverwin/mesnac/common/enums/AnomalyConstant.java diff --git a/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/dto/AbnormalBillDisposeDto.java b/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/dto/AbnormalBillDisposeDto.java index fbfe96c5..49678564 100644 --- a/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/dto/AbnormalBillDisposeDto.java +++ b/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/dto/AbnormalBillDisposeDto.java @@ -185,6 +185,10 @@ public class AbnormalBillDisposeDto extends AbnormalBillDispose { */ private String ncCodeDescription; + private String workCenterDescription; + + private String shutDown; + public String getAbnormalNo() { return abnormalNo; } @@ -464,4 +468,20 @@ public class AbnormalBillDisposeDto extends AbnormalBillDispose { public void setProgram(String program) { this.program = program; } + + public String getWorkCenterDescription() { + return workCenterDescription; + } + + public void setWorkCenterDescription(String workCenterDescription) { + this.workCenterDescription = workCenterDescription; + } + + public String getShutDown() { + return shutDown; + } + + public void setShutDown(String shutDown) { + this.shutDown = shutDown; + } } diff --git a/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/model/AbnormalBill.java b/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/model/AbnormalBill.java index 5f53504a..b3ea9369 100644 --- a/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/model/AbnormalBill.java +++ b/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/model/AbnormalBill.java @@ -236,6 +236,8 @@ public class AbnormalBill extends Model { + + public String getHandle() { return handle; } @@ -580,7 +582,7 @@ public class AbnormalBill extends Model { this.fileNum = fileNum; } - public static final String HANDLE = "HANDLE"; +public static final String HANDLE = "HANDLE"; public static final String SITE = "SITE"; 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 c337e4fe..395a4be0 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 @@ -10,6 +10,7 @@ import com.foreverwin.mesnac.anomaly.mapper.AbnormalBillDisposeMapper; import com.foreverwin.mesnac.anomaly.mapper.AbnormalBillMapper; import com.foreverwin.mesnac.anomaly.model.*; import com.foreverwin.mesnac.anomaly.service.*; +import com.foreverwin.mesnac.common.enums.AnomalyConstant; import com.foreverwin.mesnac.common.constant.Constants; import com.foreverwin.mesnac.common.dto.ScrapDto; import com.foreverwin.mesnac.common.dto.UsrDto; @@ -439,8 +440,9 @@ public class AbnormalBillServiceImpl extends ServiceImpl messageMap = new HashMap<>(); - //根据车间找到对应车间的描述 -// WorkCenter workCenter = workCenterMapper.findWorkCenterDescriptionByWorkCenter(site, abnormalBill.getWorkCenter(), locale); -// //根据资源找到对应的产线的描述 -// WorkCenter line = null; -// if(StringUtil.isBlank(abnormalBill.getResrce())){ -// 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 = ""; -// if(_item != null){ -// item = _item.getItem() + "/" + _item.getDescription(); -// } -// if(workCenter != null && !StringUtil.isBlank(workCenter.getDescription())){ -// messageMap.put("WORKCENTER",workCenter.getDescription()); -// } -// if(line != null && !StringUtil.isBlank(line.getDescription())){ -// messageMap.put("WORKCENTER_LIN",line.getDescription()); -// } -// if(projectNo != null && !StringUtil.isBlank(projectNo.getItemNumber())){ -// messageMap.put("PROJECT",projectNo.getItemNumber()); -// } -// if(!StringUtil.isBlank(abnormalBill.getWorkCenter())){ -// messageMap.put("SHOPORDER",abnormalBill.getWorkCenter()); -// } -// messageMap.put("ITEM",item); - + messageMap.put("abnormalNo",messageContent.getAbnormalNo()); + messageMap.put("status", AnomalyConstant.Status.msg(messageContent.getStatus())); + messageMap.put("item",messageContent.getItem()); + messageMap.put("description",messageContent.getItemDescription()); + messageMap.put("type",AnomalyConstant.Type.msg(messageContent.getType())); + messageMap.put("sfc",messageContent.getSfc()); + messageMap.put("shopOrder",messageContent.getShopOrder()); + messageMap.put("workCenter",messageContent.getWorkCenterDescription()); + messageMap.put("resrce",messageContent.getResrceDescription()); + messageMap.put("workOrder",messageContent.getWorkOrder()); + messageMap.put("pbDescription",messageContent.getPbDescription()); + messageMap.put("ncQty",messageContent.getNcQty()); + messageMap.put("pbGrade",messageContent.getPbGrade()); + messageMap.put("pbUser",messageContent.getPbUser()); + messageMap.put("pbQty",messageContent.getPbQty()); + messageMap.put("discover",AnomalyConstant.Discover.msg(messageContent.getDiscover())); + messageMap.put("entityLocation",messageContent.getEntityLocation()); + messageMap.put("reportFrom",AnomalyConstant.ReportFrom.msg(messageContent.getReportFrom())); + messageMap.put("operation",messageContent.getOperation()); + messageMap.put("reportSendUserGroup",messageContent.getReportSendUserGroup()); + if(StringUtil.isBlank(messageContent.getNcCode()) || "/,".equals(messageContent.getNcCode())){ + messageMap.put("ncCode",""); + }else{ + String ncCode = messageContent.getNcCode().substring(0,messageContent.getNcCode().length() - 1); + messageMap.put("ncCode",ncCode); + } + if(StringUtil.isBlank(messageContent.getNcCodeDescription()) || "/,".equals(messageContent.getNcCodeDescription())){ + messageMap.put("ncCodeDescription",""); + }else{ + String ncCodeDescription = messageContent.getNcCodeDescription().substring(0,messageContent.getNcCodeDescription().length() - 1); + messageMap.put("ncCodeDescription",ncCodeDescription); + } + messageMap.put("shutDown",AnomalyConstant.ShutDown.msg(messageContent.getShutDown())); //格式化之后的消息 - return StringUtils.format(body, messageMap); + return StringUtils.format(messageBody, messageMap); } @Override diff --git a/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/service/impl/AnomalyJobServiceImpl.java b/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/service/impl/AnomalyJobServiceImpl.java index 72df1bc8..de4f6dc2 100644 --- a/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/service/impl/AnomalyJobServiceImpl.java +++ b/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/service/impl/AnomalyJobServiceImpl.java @@ -61,6 +61,7 @@ public class AnomalyJobServiceImpl implements AnomalyJobService { QueryWrapper abnormalMessageQueryWrapper = new QueryWrapper<>(); abnormalMessageQueryWrapper.eq("STATUS","N"); abnormalMessageQueryWrapper.lt("UP_DATE_TIME",now); + AbnormalBill abnormalBill = new AbnormalBill(); List abnormalMessages = messageMapper.selectList(abnormalMessageQueryWrapper); for(Message _abnormalMessage : abnormalMessages){ String uuid = UUID.randomUUID().toString(); @@ -89,8 +90,7 @@ public class AnomalyJobServiceImpl implements AnomalyJobService { abnormalMessage.setUpUser(null); } - AbnormalBill abnormalBill = abnormalBillMapper.selectById(abnormalMessage.getObjectBo()); - + abnormalBill.setHandle(abnormalMessage.getMessageType()); String message = abnormalBillService.formatMessage(abnormalBill,abnormalMessage.getMessageType(),site); abnormalMessage.setContent(message+",It's Job send"); diff --git a/anomaly/src/main/resources/mapper/AbnormalBillDisposeMapper.xml b/anomaly/src/main/resources/mapper/AbnormalBillDisposeMapper.xml index 19332a02..6d142464 100644 --- a/anomaly/src/main/resources/mapper/AbnormalBillDisposeMapper.xml +++ b/anomaly/src/main/resources/mapper/AbnormalBillDisposeMapper.xml @@ -71,6 +71,8 @@ + + @@ -703,27 +705,34 @@ SELECT ZAB.ABNORMAL_NO ABNORMAL_NO ,ZAB.STATUS STATUS,I.ITEM ITEM,IT.DESCRIPTION ITEM_DESCRIPTION, ZAB."TYPE" "TYPE" ,ZAB.SFC SFC,ZAB.MESSAGE_TYPE MESSAGE_TYPE,ZAB.SHOP_ORDER SHOP_ORDER, ZAB.WORK_CENTER WORK_CENTER,ZAB.RESRCE RESRCE, WORKORDER.VALUE WORK_ORDER,ITEMNUMBER.VALUE ITEM_NUMBER, - PRODUCTCATEGORY.VALUE PRODUCT_CATEGORY,listagg(NG.DESCRIPTION || '/'||NCT.DESCRIPTION || ',') within GROUP(ORDER BY zab.ABNORMAL_NO) NC_CODE_DESCRIPTION, + PRODUCTCATEGORY.VALUE PRODUCT_CATEGORY, + listagg(NG.DESCRIPTION || '/'||NCT.DESCRIPTION || ',') within GROUP(ORDER BY zab.ABNORMAL_NO) NC_CODE_DESCRIPTION, ZAB.PB_DESCRIPTION PB_DESCRIPTION ,ZAB.NC_QTY NC_QTY, ZAB.PB_GRADE PB_GRADE ,NWA.FULL_NAME PB_USER ,ZAB.PB_QTY PB_QTY ,ZAB.DISCOVER DISCOVER , NWA2.FULL_NAME INSPECTOR ,ZAB.ENTITY_LOCATION ENTITY_LOCATION ,ZAB.REPORT_FROM REPORT_FROM ,SUBSTR(ZAB.OBJECT_BO,INSTR(ZAB.OBJECT_BO,',')+1) OBJECT_BO, ZAB.PB_PHOTOSHOP PB_PHOTOSHOP,ZABD.DUTY_CAUSE_DESCRIPTION DUTY_CAUSE_DESCRIPTION,ZABD.DUTY_CAUSE_TYPE DUTY_CAUSE_TYPE,ZABD.DUTY_DEPART DUTY_DEPART, ZABD.DUTY_SEND_USER_GROUP DUTY_SEND_USER_GROUP,ZABD.DUTY_TYPE DUTY_TYPE,ZABD.PRINCIPAL_USER PRINCIPAL_USER,ZABD.ABNORMAL_METHOD ABNORMAL_METHOD, R.ROUTER ROUTER,ZABD.RESOLVE_SHOP_ORDER RESOLVE_SHOP_ORDER,ZABD.RESOLVE_REMARK RESOLVE_REMARK,ZABD.RESOLVE_SEND_USER_GROUP RESOLVE_SEND_USER_GROUP, - ZABD.ABNORMAL_REASON ABNORMAL_REASON,ZABD.BEFORE_MEASURE BEFORE_MEASURE,"MAP".VALUE "MAP",listagg(ZANC.NC_CODE_GROUP || '/'||ZANC.NC_CODE || ',') within GROUP(ORDER BY zab.ABNORMAL_NO) NC_CODE, + ZABD.ABNORMAL_REASON ABNORMAL_REASON,ZABD.BEFORE_MEASURE BEFORE_MEASURE,"MAP".VALUE "MAP", + listagg(ZANC.NC_CODE_GROUP || '/'||ZANC.NC_CODE || ',') within GROUP(ORDER BY zab.ABNORMAL_NO) NC_CODE, ZABD.ROUTER_BO ROUTER_BO,ZAB.OPERATION OPERATION,I.HANDLE ITEM_BO,ZAB.REPORT_SEND_USER_GROUP REPORT_SEND_USER_GROUP, - ZAB.CORRECTION CORRECTION,ZAB.PROGRAM PROGRAM + ZAB.CORRECTION CORRECTION,ZAB.PROGRAM PROGRAM,WCT.DESCRIPTION WORK_CENTER_DESCRIPTION,ZAB.SHUT_DOWN SHUT_DOWN, + RS.DESCRIPTION RESRCE_DESCRIPTION,OT.DESCRIPTION OPERATION_DESCRIPTION FROM Z_ABNORMAL_BILL ZAB LEFT JOIN Z_ABNORMAL_BILL_DISPOSE ZABD ON ZAB.HANDLE = ZABD.ABNORMAL_BILL_BO INNER JOIN ITEM I ON I.HANDLE = ZAB.ITEM_BO LEFT JOIN ITEM_T IT ON IT.ITEM_BO = I.HANDLE AND IT.LOCALE = #{locale} INNER JOIN SHOP_ORDER SO ON SO.SHOP_ORDER = ZAB.SHOP_ORDER AND SO.SITE = ZAB.SITE + INNER JOIN RESRCE RS ON RS.RESRCE = ZAB.RESRCE AND RS.SITE = ZAB.SITE + INNER JOIN OPERATION O ON O.OPERATION = ZAB.OPERATION AND O.SITE = ZAB.SITE AND O.CURRENT_REVISION = 'true' + LEFT JOIN OPERATION_T OT ON O.HANDLE = OT.OPERATION_BO AND OT.LOCALE = #{locale} LEFT JOIN CUSTOM_FIELDS WORKORDER ON WORKORDER.HANDLE = SO.HANDLE AND WORKORDER."ATTRIBUTE" = 'WORK_ORDER' LEFT JOIN CUSTOM_FIELDS ITEMNUMBER ON ITEMNUMBER.HANDLE = SO.HANDLE AND ITEMNUMBER."ATTRIBUTE" = 'ITEM_NUMBER' LEFT JOIN CUSTOM_FIELDS PRODUCTCATEGORY ON PRODUCTCATEGORY.HANDLE = SO.HANDLE AND PRODUCTCATEGORY."ATTRIBUTE" = 'PRODUCT_CATEGORY' LEFT JOIN CUSTOM_FIELDS "MAP" ON "MAP".HANDLE = SO.HANDLE AND "MAP"."ATTRIBUTE" = 'MAP' LEFT JOIN Z_ABNORMAL_NC_CODE ZANC ON ZAB.HANDLE = ZANC.ABNORMAL_BILL_BO LEFT JOIN NC_CODE_T NCT ON ('NCCodeBO:' || ZAB.SITE || ',' || ZANC.NC_CODE) = NCT.NC_CODE_BO AND NCT.LOCALE = #{locale} + LEFT JOIN WORK_CENTER_T WCT ON ('WorkCenterBO:' || ZAB.SITE || ',' || ZAB.WORK_CENTER) = WCT.WORK_CENTER_BO AND WCT.LOCALE = #{locale} LEFT JOIN Z_NWA_USER NWA ON NWA.USER_NAME = ZAB.PB_USER AND NWA.SITE = ZAB.SITE LEFT JOIN Z_NWA_USER NWA2 ON NWA2.USER_NAME = ZAB.INSPECTOR AND NWA2.SITE = ZAB.SITE LEFT JOIN NC_GROUP NG ON NG.NC_GROUP = ZANC.NC_CODE_GROUP AND NG.SITE = ZAB.SITE @@ -749,7 +758,8 @@ ZABD.DUTY_SEND_USER_GROUP ,ZABD.DUTY_TYPE ,ZABD.PRINCIPAL_USER ,ZABD.ABNORMAL_METHOD , R.ROUTER ,ZABD.RESOLVE_SHOP_ORDER ,ZABD.RESOLVE_REMARK ,ZABD.RESOLVE_SEND_USER_GROUP , ZABD.ABNORMAL_REASON ,ZABD.BEFORE_MEASURE ,"MAP".VALUE,ZABD.ROUTER_BO,ZAB.OPERATION,I.HANDLE, - ZAB.REPORT_SEND_USER_GROUP,ZAB.CORRECTION,ZAB.PROGRAM + ZAB.REPORT_SEND_USER_GROUP,ZAB.CORRECTION,ZAB.PROGRAM,WCT.DESCRIPTION,ZAB.SHUT_DOWN,RS.DESCRIPTION, + OT.DESCRIPTION diff --git a/common/src/main/java/com/foreverwin/mesnac/common/enums/AnomalyConstant.java b/common/src/main/java/com/foreverwin/mesnac/common/enums/AnomalyConstant.java new file mode 100644 index 00000000..7238ad3f --- /dev/null +++ b/common/src/main/java/com/foreverwin/mesnac/common/enums/AnomalyConstant.java @@ -0,0 +1,221 @@ +package com.foreverwin.mesnac.common.enums; + +/** + * @Description TODO + * @Author zhaojiawei + * @Since 2021-08-19 + */ +public enum AnomalyConstant { + ; + public enum Status { + STATUS1("N","新建"), + STATUS2("X","响应中"), + STATUS3("F","方案确认"), + STATUS4("J","纠防确认"), + STATUS5("Q","取消"), + STATUS6("G","关闭"); + + private String code; + private String msg; + + Status(String code, String msg) { + this.code = code; + this.msg = msg; + } + + public static String msg(String code) { + Status[] statuses = values(); + for (Status status : statuses) { + if (status.getCode().equals(code)) { + return status.getMsg(); + } + } + return ""; + } + + public String getCode() { + return code; + } + + public void setCode(String code) { + this.code = code; + } + + public String getMsg() { + return msg; + } + + public void setMsg(String msg) { + this.msg = msg; + } + } + + public enum Type{ + Type1("Q","其他"), + Type2("Z","质量"), + Type3("S","设备"); + + private String code; + private String msg; + + Type(String code, String msg) { + this.code = code; + this.msg = msg; + } + + public static String msg(String code) { + Type[] types = values(); + for (Type type : types) { + if (type.getCode().equals(code)) { + return type.getMsg(); + } + } + return ""; + } + + public String getCode() { + return code; + } + + public void setCode(String code) { + this.code = code; + } + + public String getMsg() { + return msg; + } + + public void setMsg(String msg) { + this.msg = msg; + } + } + + public enum Discover{ + Discover1("Z","自制"), + Discover2("W","外协"), + Discover3("D","到货"), + Discover4("K","客户"); + + + private String code; + private String msg; + + Discover(String code, String msg) { + this.code = code; + this.msg = msg; + } + + public static String msg(String code) { + Discover[] discovers = values(); + for (Discover discover : discovers) { + if (discover.getCode().equals(code)) { + return discover.getMsg(); + } + } + return ""; + } + + public String getCode() { + return code; + } + + public void setCode(String code) { + this.code = code; + } + + public String getMsg() { + return msg; + } + + public void setMsg(String msg) { + this.msg = msg; + } + } + + public enum ReportFrom{ + ReportFrom1("B","自报"), + ReportFrom2("J","质检"), + ReportFrom3("R","设备人员"), + ReportFrom4("Z","设备自动"), + ReportFrom5("C","维修自查"), + ReportFrom6("Y","工艺"); + + + + private String code; + private String msg; + + ReportFrom(String code, String msg) { + this.code = code; + this.msg = msg; + } + + public static String msg(String code) { + ReportFrom[] reportFroms = values(); + for (ReportFrom reportFrom : reportFroms) { + if (reportFrom.getCode().equals(code)) { + return reportFrom.getMsg(); + } + } + return ""; + } + + public String getCode() { + return code; + } + + public void setCode(String code) { + this.code = code; + } + + public String getMsg() { + return msg; + } + + public void setMsg(String msg) { + this.msg = msg; + } + } + + public enum ShutDown{ + ShutDown1("Y","是"), + ShutDown2("N","否"); + + + + private String code; + private String msg; + + ShutDown(String code, String msg) { + this.code = code; + this.msg = msg; + } + + public static String msg(String code) { + ShutDown[] shutDowns = values(); + for (ShutDown shutDown : shutDowns) { + if (shutDown.getCode().equals(code)) { + return shutDown.getMsg(); + } + } + return ""; + } + + public String getCode() { + return code; + } + + public void setCode(String code) { + this.code = code; + } + + public String getMsg() { + return msg; + } + + public void setMsg(String msg) { + this.msg = msg; + } + } + +} diff --git a/common/src/main/java/com/foreverwin/mesnac/common/util/ActiveMQUtil.java b/common/src/main/java/com/foreverwin/mesnac/common/util/ActiveMQUtil.java index 04886140..b0fd6a6f 100644 --- a/common/src/main/java/com/foreverwin/mesnac/common/util/ActiveMQUtil.java +++ b/common/src/main/java/com/foreverwin/mesnac/common/util/ActiveMQUtil.java @@ -21,7 +21,7 @@ public class ActiveMQUtil { String queue = "send.weChat.notice"; JSONObject jsonObject = new JSONObject(); try{ - jsonObject.put("TO_USER", user); + jsonObject.put("TO_USER", "@all"); jsonObject.put("CONTENT",text); // defaultJmsTemplate.getJmsTemplate().setReceiveTimeout(TimeUnit.SECONDS.toMillis(3)); defaultJmsTemplate.convertAndSend(queue, jsonObject.toString()); diff --git a/meapi/src/main/java/com/foreverwin/mesnac/meapi/util/StringUtils.java b/meapi/src/main/java/com/foreverwin/mesnac/meapi/util/StringUtils.java index 8376cc76..ce2e5b9f 100644 --- a/meapi/src/main/java/com/foreverwin/mesnac/meapi/util/StringUtils.java +++ b/meapi/src/main/java/com/foreverwin/mesnac/meapi/util/StringUtils.java @@ -203,9 +203,16 @@ public class StringUtils { String key = map.getKey(); String value = map.getValue(); + + String keyStr = '#' + key + '#'; if (message.contains(keyStr)) { - message = message.replace(keyStr, value); + if(StringUtils.isEmpty(value)){ + message = message.replace(keyStr, ""); + }else { + message = message.replace(keyStr, value); + } + } } return message;