diff --git a/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/mapper/AbnormalBillMapper.java b/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/mapper/AbnormalBillMapper.java index 2aa13ba8..b182a4e6 100644 --- a/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/mapper/AbnormalBillMapper.java +++ b/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/mapper/AbnormalBillMapper.java @@ -46,5 +46,5 @@ public interface AbnormalBillMapper extends BaseMapper { IPage getAbnormalByConditional(IPage page, @Param("paramMap")Map paramMap,@Param("keyword")String keyword); - + Map findReplaceMessageByAbnoraml(@Param("abnormalBill")AbnormalBill abnormalBill); } \ No newline at end of file diff --git a/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/service/AbnormalBillService.java b/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/service/AbnormalBillService.java index 20f596bc..22e9496c 100644 --- a/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/service/AbnormalBillService.java +++ b/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/service/AbnormalBillService.java @@ -7,7 +7,9 @@ import com.foreverwin.mesnac.anomaly.dto.AbnormalBillDto; import com.foreverwin.mesnac.anomaly.model.AbnormalBill; import com.foreverwin.mesnac.anomaly.model.AbnormalBillDispose; import com.foreverwin.mesnac.anomaly.model.UploadPictures; +import com.foreverwin.mesnac.common.model.Message; import com.foreverwin.mesnac.meapi.dto.SfcDto; +import com.foreverwin.mesnac.meapi.model.MessageType; import com.foreverwin.modular.core.util.FrontPage; import java.util.HashMap; @@ -152,4 +154,12 @@ public interface AbnormalBillService extends IService { * */ void batchRepair(SfcDto sfcDto); + /** + * 根据异常单的状态和对应的用户组找到对应的消息类型 + * @param message + * @param abnormalBill + * @param abnormalBillDispose + */ + MessageType findMessageTypeByStatusAndUserGroup(Message message, AbnormalBill abnormalBill, AbnormalBillDispose abnormalBillDispose); + } \ 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 c9630539..411d56f5 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 @@ -290,7 +290,6 @@ public class AbnormalBillServiceImpl extends ServiceImpl abnormalBills = this.selectList(abnormalBill2); -// if(abnormalBills.size() > 0 && !"更新成功".equals(message)){ -// throw BusinessException.build("设备异常有未处理完成的sfc"); -// }else if(abnormalBills.size() > 1){ -// throw BusinessException.build("设备异常有未处理完成的sfc"); -// } -// } -// if(StringUtil.isBlank(abnormalBill.getResrce())){ -// throw BusinessException.build("设备编号不能为空"); -// } -// if(!StringUtil.isBlank(abnormalBill.getMessageType())){ -// NcGroup messageType = ncGroupMapper.selectById(HandleEnum.NC_GROUP.getHandle(site, abnormalBill.getMessageType())); -// if(messageType == null){ -// throw BusinessException.build("该消息类型不存在"); -// } -// } - - //判断设备异常提交的设备是否正确 if(!StringUtil.isBlank(abnormalBill.getResrce()) && Constants.ABNORMAL_RESRCE.equals(abnormalBill.getType())){ Resrce resrce = resrceMapper.selectById(HandleEnum.RESOURCE.getHandle(site, abnormalBill.getResrce())); @@ -1054,14 +1009,16 @@ public class AbnormalBillServiceImpl extends ServiceImpl wrapper = new QueryWrapper<>(); + Message abnormalMessage1 = new Message(); abnormalMessage1.setSite(site); abnormalMessage1.setObjectBo(abnormalBill.getHandle()); abnormalMessage1.setNode(Constants.ABNORMAL_MESSAGE_REPORT); - wrapper.setEntity(abnormalMessage1); - Message _abnormalMessage = messageMapper.selectOne(wrapper); - abnormalMessage.setUpUserGroup(_abnormalMessage.getUpUserGroup()); - abnormalMessage.setUpMessageType(_abnormalMessage.getUpMessageType()); - abnormalMessage.setGrade(_abnormalMessage.getGrade()); - abnormalMessage.setUpDateTime(_abnormalMessage.getUpDateTime()); - abnormalMessage.setNode(Constants.ABNORMAL_MESSAGE_RESPONSE); +// QueryWrapper wrapper = new QueryWrapper<>(); +// wrapper.setEntity(abnormalMessage1); + List messages = messageService.selectList(abnormalMessage1); +// Message _abnormalMessage = messageMapper.selectOne(wrapper); + if(messages.size() > 0){ + abnormalMessage.setUpUserGroup(messages.get(0).getUpUserGroup()); + abnormalMessage.setUpMessageType(messages.get(0).getUpMessageType()); + abnormalMessage.setGrade(messages.get(0).getGrade()); + abnormalMessage.setUpDateTime(messages.get(0).getUpDateTime()); + abnormalMessage.setNode(Constants.ABNORMAL_MESSAGE_RESPONSE); + }else{ + throw new BaseException("发送消息时,异常响应报错"); + } break; //纠纷确认 @@ -1109,15 +1072,11 @@ public class AbnormalBillServiceImpl extends ServiceImpl nwaUsers = nwaUserService.checkUserGroup(site,abnormalMessage.getSendUserGroup()); @@ -1167,7 +1130,7 @@ public class AbnormalBillServiceImpl extends ServiceImpl replaceMessage = abnormalBillMapper.findReplaceMessageByAbnoraml(abnormalBill); String messageBody = sendMessageType.getBody(); - //替换消息类型中的参数 - Map messageMap = new HashMap<>(); - messageMap.put("ABNORMAL_NO",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("SHOP_ORDER",messageContent.getShopOrder()); - messageMap.put("WORK_CENTER",messageContent.getWorkCenterDescription()); - messageMap.put("RESRCE",messageContent.getResrceDescription()); - messageMap.put("WORK_ORDER",messageContent.getWorkOrder()); - messageMap.put("PB_DESCRIPTION",messageContent.getPbDescription()); - messageMap.put("NC_QTY",messageContent.getNcQty()); - messageMap.put("PB_GRADE",messageContent.getPbGrade()); - messageMap.put("PB_USER",messageContent.getPbUser()); - messageMap.put("PB_QTY",messageContent.getPbQty()); - messageMap.put("DISCOVER",AnomalyConstant.Discover.msg(messageContent.getDiscover())); - messageMap.put("ENTITY_LOCATION",messageContent.getEntityLocation()); - messageMap.put("REPORT_FROM",AnomalyConstant.ReportFrom.msg(messageContent.getReportFrom())); - messageMap.put("OPERATION",messageContent.getOperationDescription()); -// messageMap.put("reportSendUserGroup",messageContent.getReportSendUserGroup()); - if(StringUtil.isBlank(messageContent.getNcCode()) || "/,".equals(messageContent.getNcCode())){ - messageMap.put("NC_CODE",""); - }else{ - String ncCode = messageContent.getNcCode().substring(0,messageContent.getNcCode().length() - 1); - messageMap.put("NC_CODE",ncCode); - } - if(StringUtil.isBlank(messageContent.getNcCodeDescription()) || "/,".equals(messageContent.getNcCodeDescription())){ - messageMap.put("NC_CODE_DESCRIPTION",""); - }else{ - String ncCodeDescription = messageContent.getNcCodeDescription().substring(0,messageContent.getNcCodeDescription().length() - 1); - messageMap.put("NC_CODE_DESCRIPTION",ncCodeDescription); - } - messageMap.put("SHUT_DOWN",AnomalyConstant.ShutDown.msg(messageContent.getShutDown())); - - //判断该异常单的状态是否是纠防确认 - if(Constants.CORRECTION_CONFIRM.equals(messageContent.getStatus()) || Constants.SHUT_DOWN.equals(messageContent.getStatus())){ - - DataField dataField = new DataField(); - dataField.setSite(site); - //原因分类 - String dutyCauseType = messageContent.getDutyCauseType(); - if(!StringUtil.isBlank(dutyCauseType)){ - List dutyCauseTypeList = Arrays.asList(dutyCauseType.split(",")); - dataField.setDataField("REASON_CATEGORY"); - dataField.setDataValue(dutyCauseTypeList); - String dutyCauseTypeDescription = dataFieldListMapper.findDataFieldListByDataField(dataField, locale); - messageMap.put("DUTY_CAUSE_TYPE",dutyCauseTypeDescription); - }else{ - messageMap.put("DUTY_CAUSE_TYPE",""); - } - //责任部门 - String dutyDepart = messageContent.getDutyDepart(); - if(!StringUtil.isBlank(dutyDepart)){ - List dutyDepartList = Arrays.asList(dutyDepart.split(",")); - dataField.setDataField("RESPONSIBILITY_DEPARTMENT"); - dataField.setDataValue(dutyDepartList); - String dutyDepartDescription = dataFieldListMapper.findDataFieldListByDataField(dataField, locale); - messageMap.put("DUTY_DEPART",dutyDepartDescription); - }else{ - messageMap.put("DUTY_DEPART",""); - } - //责任分类 - String dutyType = messageContent.getDutyType(); - if(!StringUtil.isBlank(dutyType)){ - List dutyTypeList = Arrays.asList(dutyType.split(",")); - dataField.setDataField("RESPONSIBILITY_TYPE"); - dataField.setDataValue(dutyTypeList); - String dutyDepartDescription = dataFieldListMapper.findDataFieldListByDataField(dataField, locale); - messageMap.put("DUTY_TYPE",dutyDepartDescription); - }else{ - messageMap.put("DUTY_TYPE",""); - } - messageMap.put("PRINCIPAI_USER",messageContent.getPrincipalUser()); - messageMap.put("DUTY_CAUSE_DESCRIPTION",messageContent.getDutyCauseDescription()); - } + //格式化之后的消息 + return StringUtils.format(messageBody, replaceMessage); + //查处所有要替换的消息内容 + // AbnormalBillDisposeDto messageContent = abnormalBillDisposeMapper.findAllByAbnormalNo(abnormalBill, locale); +// //格式化消息 +// String messageBody = sendMessageType.getBody(); +// //替换消息类型中的参数 +// Map messageMap = new HashMap<>(); +// messageMap.put("ABNORMAL_NO",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("SHOP_ORDER",messageContent.getShopOrder()); +// messageMap.put("WORK_CENTER",messageContent.getWorkCenterDescription()); +// messageMap.put("RESRCE",messageContent.getResrceDescription()); +// messageMap.put("WORK_ORDER",messageContent.getWorkOrder()); +// messageMap.put("PB_DESCRIPTION",messageContent.getPbDescription()); +// messageMap.put("NC_QTY",messageContent.getNcQty()); +// messageMap.put("PB_GRADE",messageContent.getPbGrade()); +// messageMap.put("PB_USER",messageContent.getPbUser()); +// messageMap.put("PB_QTY",messageContent.getPbQty()); +// messageMap.put("DISCOVER",AnomalyConstant.Discover.msg(messageContent.getDiscover())); +// messageMap.put("ENTITY_LOCATION",messageContent.getEntityLocation()); +// messageMap.put("REPORT_FROM",AnomalyConstant.ReportFrom.msg(messageContent.getReportFrom())); +// messageMap.put("OPERATION",messageContent.getOperationDescription()); +//// messageMap.put("reportSendUserGroup",messageContent.getReportSendUserGroup()); +// if(StringUtil.isBlank(messageContent.getNcCode()) || "/,".equals(messageContent.getNcCode())){ +// messageMap.put("NC_CODE",""); +// }else{ +// String ncCode = messageContent.getNcCode().substring(0,messageContent.getNcCode().length() - 1); +// messageMap.put("NC_CODE",ncCode); +// } +// if(StringUtil.isBlank(messageContent.getNcCodeDescription()) || "/,".equals(messageContent.getNcCodeDescription())){ +// messageMap.put("NC_CODE_DESCRIPTION",""); +// }else{ +// String ncCodeDescription = messageContent.getNcCodeDescription().substring(0,messageContent.getNcCodeDescription().length() - 1); +// messageMap.put("NC_CODE_DESCRIPTION",ncCodeDescription); +// } +// messageMap.put("SHUT_DOWN",AnomalyConstant.ShutDown.msg(messageContent.getShutDown())); +// +// //判断该异常单的状态是否是纠防确认 +// if(Constants.CORRECTION_CONFIRM.equals(messageContent.getStatus()) || Constants.SHUT_DOWN.equals(messageContent.getStatus())){ +// +// DataField dataField = new DataField(); +// dataField.setSite(site); +// //原因分类 +// String dutyCauseType = messageContent.getDutyCauseType(); +// if(!StringUtil.isBlank(dutyCauseType)){ +// List dutyCauseTypeList = Arrays.asList(dutyCauseType.split(",")); +// dataField.setDataField("REASON_CATEGORY"); +// dataField.setDataValue(dutyCauseTypeList); +// String dutyCauseTypeDescription = dataFieldListMapper.findDataFieldListByDataField(dataField, locale); +// messageMap.put("DUTY_CAUSE_TYPE",dutyCauseTypeDescription); +// }else{ +// messageMap.put("DUTY_CAUSE_TYPE",""); +// } +// //责任部门 +// String dutyDepart = messageContent.getDutyDepart(); +// if(!StringUtil.isBlank(dutyDepart)){ +// List dutyDepartList = Arrays.asList(dutyDepart.split(",")); +// dataField.setDataField("RESPONSIBILITY_DEPARTMENT"); +// dataField.setDataValue(dutyDepartList); +// String dutyDepartDescription = dataFieldListMapper.findDataFieldListByDataField(dataField, locale); +// messageMap.put("DUTY_DEPART",dutyDepartDescription); +// }else{ +// messageMap.put("DUTY_DEPART",""); +// } +// //责任分类 +// String dutyType = messageContent.getDutyType(); +// if(!StringUtil.isBlank(dutyType)){ +// List dutyTypeList = Arrays.asList(dutyType.split(",")); +// dataField.setDataField("RESPONSIBILITY_TYPE"); +// dataField.setDataValue(dutyTypeList); +// String dutyDepartDescription = dataFieldListMapper.findDataFieldListByDataField(dataField, locale); +// messageMap.put("DUTY_TYPE",dutyDepartDescription); +// }else{ +// messageMap.put("DUTY_TYPE",""); +// } +// messageMap.put("PRINCIPAI_USER",messageContent.getPrincipalUser()); +// messageMap.put("DUTY_CAUSE_DESCRIPTION",messageContent.getDutyCauseDescription()); +// } +// +// if(Constants.PROGRAM_CONFIRM.equals(messageContent.getStatus()) || Constants.SHUT_DOWN.equals(messageContent.getStatus())){ +// messageMap.put("ABNORMAL_METHOD",AnomalyConstant.AnomalyMethod.msg(messageContent.getAbnormalMethod())); +// messageMap.put("RESOLVE_REMAKR",messageContent.getResolveRemark()); +// messageMap.put("ROUTER",messageContent.getRouterDescription()); +// messageMap.put("RESOLVE_SHOP_ORDER",messageContent.getResolveShopOrder()); +// } - if(Constants.PROGRAM_CONFIRM.equals(messageContent.getStatus()) || Constants.SHUT_DOWN.equals(messageContent.getStatus())){ - messageMap.put("ABNORMAL_METHOD",AnomalyConstant.AnomalyMethod.msg(messageContent.getAbnormalMethod())); - messageMap.put("RESOLVE_REMAKR",messageContent.getResolveRemark()); - messageMap.put("ROUTER",messageContent.getRouterDescription()); - messageMap.put("RESOLVE_SHOP_ORDER",messageContent.getResolveShopOrder()); - } - //格式化之后的消息 - return StringUtils.format(messageBody, messageMap); } @Override @@ -1374,6 +1339,51 @@ public class AbnormalBillServiceImpl extends ServiceImpl jgProductionIsScrap(String abnormalNo, String site, String sfc) { //查询该sfc在质量异常异常方案是否是报废,如果是,则大于1 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 f123edfe..55f8c408 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 @@ -5,6 +5,7 @@ import com.foreverwin.mesnac.anomaly.mapper.AbnormalBillMapper; import com.foreverwin.mesnac.anomaly.model.AbnormalBill; import com.foreverwin.mesnac.anomaly.service.AbnormalBillService; import com.foreverwin.mesnac.anomaly.service.AnomalyJobService; +import com.foreverwin.mesnac.common.constant.Constants; import com.foreverwin.mesnac.common.mapper.MessageMapper; import com.foreverwin.mesnac.common.model.Message; import com.foreverwin.mesnac.common.service.MessageService; @@ -61,7 +62,7 @@ public class AnomalyJobServiceImpl implements AnomalyJobService { QueryWrapper abnormalMessageQueryWrapper = new QueryWrapper<>(); abnormalMessageQueryWrapper.eq("STATUS","N"); abnormalMessageQueryWrapper.lt("UP_DATE_TIME",now); - AbnormalBill abnormalBill = new AbnormalBill(); +// AbnormalBill abnormalBill = new AbnormalBill(); List abnormalMessages = messageMapper.selectList(abnormalMessageQueryWrapper); for(Message _abnormalMessage : abnormalMessages){ String uuid = UUID.randomUUID().toString(); @@ -90,10 +91,8 @@ public class AnomalyJobServiceImpl implements AnomalyJobService { abnormalMessage.setUpUser(null); } - abnormalBill.setHandle(abnormalMessage.getObjectBo()); - String message = abnormalBillService.formatMessage(abnormalBill,abnormalMessage.getMessageType(),site); + AbnormalBill abnormalBill = abnormalBillMapper.selectById(abnormalMessage.getObjectBo()); - abnormalMessage.setContent(message+",It's Job send"); //设置UP_DATE_TIME、UP_MESSAGE_TYPE、GRADE、RESPONSE_DATE_TIME、ABNORMAL_NODE、STATUS abnormalMessage.setUpMessageType(null); @@ -105,6 +104,16 @@ public class AnomalyJobServiceImpl implements AnomalyJobService { abnormalMessage.setStatus("Y"); _abnormalMessage.setStatus("Y"); + String message = abnormalBillService.formatMessage(abnormalBill,abnormalMessage.getMessageType(),site); + + abnormalMessage.setContent(message); + //根据异常消息的节点来判断所处的状态 + if(Constants.ABNORMAL_MESSAGE_REPORT.equals(abnormalMessage.getNode())){ + abnormalMessage.setContent(message+",现已超时未响应"); + }else if(Constants.ABNORMAL_MESSAGE_RESPONSE.equals(abnormalMessage.getNode())){ + abnormalMessage.setContent(message+",现已响应超时"); + }; + //设置时间 abnormalMessage.setCreatedUser(user); abnormalMessage.setCreatedDateTime(now); diff --git a/anomaly/src/main/resources/mapper/AbnormalBillMapper.xml b/anomaly/src/main/resources/mapper/AbnormalBillMapper.xml index 322a4c12..2e25aa4d 100644 --- a/anomaly/src/main/resources/mapper/AbnormalBillMapper.xml +++ b/anomaly/src/main/resources/mapper/AbnormalBillMapper.xml @@ -1219,4 +1219,34 @@ ORDER BY zab.CREATED_DATE_TIME DESC + + diff --git a/common/src/main/java/com/foreverwin/mesnac/common/mapper/MessageMapper.java b/common/src/main/java/com/foreverwin/mesnac/common/mapper/MessageMapper.java index e59ec6d2..7f64c0db 100644 --- a/common/src/main/java/com/foreverwin/mesnac/common/mapper/MessageMapper.java +++ b/common/src/main/java/com/foreverwin/mesnac/common/mapper/MessageMapper.java @@ -1,7 +1,7 @@ package com.foreverwin.mesnac.common.mapper; -import com.foreverwin.mesnac.common.model.Message; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.foreverwin.mesnac.common.model.Message; import org.springframework.stereotype.Repository; /** 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 c8a7a193..5494da00 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 @@ -41,4 +41,6 @@ public interface AnomalyService { void anomalyReveseRepairShutDown(String abnormalNo); + + } diff --git a/meapi/src/main/java/com/foreverwin/mesnac/meapi/mapper/MessageTypeMapper.java b/meapi/src/main/java/com/foreverwin/mesnac/meapi/mapper/MessageTypeMapper.java index 8d1ba4e4..e216ed24 100644 --- a/meapi/src/main/java/com/foreverwin/mesnac/meapi/mapper/MessageTypeMapper.java +++ b/meapi/src/main/java/com/foreverwin/mesnac/meapi/mapper/MessageTypeMapper.java @@ -1,7 +1,8 @@ package com.foreverwin.mesnac.meapi.mapper; -import com.foreverwin.mesnac.meapi.model.MessageType; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.foreverwin.mesnac.meapi.model.MessageType; +import org.apache.ibatis.annotations.Param; import org.springframework.stereotype.Repository; /** @@ -15,4 +16,11 @@ import org.springframework.stereotype.Repository; @Repository public interface MessageTypeMapper extends BaseMapper { + /** + * 根据用户组去找消息类型 + * @param userGroup + * @param site + * @return + */ + MessageType findMessageTypeByUserGroup(@Param("site")String site, @Param("userGroup") String userGroup); } \ No newline at end of file diff --git a/meapi/src/main/resources/mapper/MessageTypeMapper.xml b/meapi/src/main/resources/mapper/MessageTypeMapper.xml index 938315c4..6602238c 100644 --- a/meapi/src/main/resources/mapper/MessageTypeMapper.xml +++ b/meapi/src/main/resources/mapper/MessageTypeMapper.xml @@ -441,4 +441,11 @@ +