|
|
|
@ -290,7 +290,6 @@ public class AbnormalBillServiceImpl extends ServiceImpl<AbnormalBillMapper, Abn
|
|
|
|
|
this.saveOrUpdate(abnormalBill);
|
|
|
|
|
abnormalBillDisposeService.saveOrUpdate(abnormalBillDispose);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//发送消息
|
|
|
|
|
if(Constants.NEW.equals(abnormalBill.getStatus())){
|
|
|
|
|
this.anomalyCreatedAndSendMessage(abnormalBill,null);
|
|
|
|
@ -492,10 +491,6 @@ public class AbnormalBillServiceImpl extends ServiceImpl<AbnormalBillMapper, Abn
|
|
|
|
|
LocalDateTime now = LocalDateTime.now();
|
|
|
|
|
abnormalBillDispose.setHandle(HandleEnum.ABNORMAL_BILL_DISPOSE.getHandle(site,abnormalBill.getAbnormalNo()));
|
|
|
|
|
|
|
|
|
|
// AbnormalBill abnormalBill1 = abnormalBillMapper.selectById(HandleEnum.ABNORMAL_BILL.getHandle(site, abnormalBill.getAbnormalNo()));
|
|
|
|
|
// if("true".equals(abnormalBill1.getProgram())){
|
|
|
|
|
// throw BusinessException.build("该异常单已经方案确认");
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
|
|
if(!StringUtil.isBlank(abnormalBillDispose.getRouterBo())){
|
|
|
|
|
//分割该工艺路线
|
|
|
|
@ -668,7 +663,6 @@ public class AbnormalBillServiceImpl extends ServiceImpl<AbnormalBillMapper, Abn
|
|
|
|
|
abnormalBill.setMessageType(Constants.ABNORMAL_MESSAGE_OTHER);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//如果前台传过来的异常单为空的话,则抛出一个异常
|
|
|
|
|
if(StringUtil.isBlank(abnormalBill.getAbnormalNo())) {
|
|
|
|
|
throw BusinessException.build("异常单号不存在");
|
|
|
|
@ -683,22 +677,6 @@ public class AbnormalBillServiceImpl extends ServiceImpl<AbnormalBillMapper, Abn
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 取消异常提报的更新
|
|
|
|
|
*/
|
|
|
|
|
//更新的时候,判断该异常单的状态是否为新建,如果为新建,则可以修改,否则就不能进行修改
|
|
|
|
|
// AbnormalBill abnormalBill1 = abnormalBillMapper.selectById(abnormalBill.getHandle());
|
|
|
|
|
// if(abnormalBill1 != null){
|
|
|
|
|
// if(!"N".equals(abnormalBill1.getStatus()) && StringUtil.isBlank(abnormalBillDispose.getClosedUser())){
|
|
|
|
|
// throw BusinessException.build("该异常单已经被人处理,不能进行更新");
|
|
|
|
|
// }
|
|
|
|
|
// message = "更新成功";
|
|
|
|
|
// }else{
|
|
|
|
|
// message = "保存成功";
|
|
|
|
|
// }
|
|
|
|
|
// abnormalBillDispose.setClosedUser(null);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//设置异常单详细表的handle和abnormalBillBo
|
|
|
|
|
abnormalBillDispose.setAbnormalBillBo(abnormalBill.getHandle());
|
|
|
|
|
abnormalBillDispose.setHandle(HandleEnum.ABNORMAL_BILL_DISPOSE.getHandle(site,abnormalBill.getAbnormalNo()));
|
|
|
|
@ -756,29 +734,6 @@ public class AbnormalBillServiceImpl extends ServiceImpl<AbnormalBillMapper, Abn
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// }else if(!StringUtil.isBlank(abnormalBill.getSfc()) && Constants.ABNORMAL_RESRCE.equals(abnormalBill.getType())){
|
|
|
|
|
// AbnormalBill abnormalBill2 = new AbnormalBill();
|
|
|
|
|
// abnormalBill2.setType(abnormalBill.getType());
|
|
|
|
|
// abnormalBill2.setSfc(abnormalBill.getSfc());
|
|
|
|
|
// abnormalBill2.setStatus(Constants.NEW);
|
|
|
|
|
// List<AbnormalBill> 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<AbnormalBillMapper, Abn
|
|
|
|
|
abnormalMessage.setSite(site);
|
|
|
|
|
//异常单
|
|
|
|
|
abnormalMessage.setObjectBo(abnormalBill.getHandle());
|
|
|
|
|
//异常类型
|
|
|
|
|
abnormalMessage.setType(abnormalBill.getType());
|
|
|
|
|
|
|
|
|
|
abnormalMessage.setMessageType(abnormalBill.getMessageType());
|
|
|
|
|
// //根据异常的类型找到消息的类型
|
|
|
|
|
//设置类型
|
|
|
|
|
abnormalMessage.setType(abnormalBill.getMessageType());
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//设置发送的用户组
|
|
|
|
|
//找到对应的消息类型
|
|
|
|
|
MessageType messageType = this.findMessageTypeByStatusAndUserGroup(abnormalMessage, abnormalBill, abnormalBillDispose);
|
|
|
|
|
//设置消息类型
|
|
|
|
|
abnormalMessage.setMessageType(messageType.getMessageType());
|
|
|
|
|
//格式化消息
|
|
|
|
|
String message = this.formatMessage(abnormalBill, abnormalMessage.getMessageType(), site);
|
|
|
|
|
//设置发送的用户组和异常节点
|
|
|
|
|
switch (abnormalBill.getStatus()){
|
|
|
|
|
//新建
|
|
|
|
|
case Constants.NEW:
|
|
|
|
@ -1071,18 +1028,24 @@ public class AbnormalBillServiceImpl extends ServiceImpl<AbnormalBillMapper, Abn
|
|
|
|
|
|
|
|
|
|
//响应中,设置响应超时的用户的发送的用户组为提报时要升级的用户组
|
|
|
|
|
case Constants.RESPONSE:
|
|
|
|
|
QueryWrapper<Message> 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<Message> wrapper = new QueryWrapper<>();
|
|
|
|
|
// wrapper.setEntity(abnormalMessage1);
|
|
|
|
|
List<Message> 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<AbnormalBillMapper, Abn
|
|
|
|
|
messageTypeUpdateWrapper.eq("OBJECT_BO",abnormalMessage.getObjectBo());
|
|
|
|
|
messageService.update(abnormalMessage2,messageTypeUpdateWrapper);
|
|
|
|
|
break;
|
|
|
|
|
|
|
|
|
|
default:
|
|
|
|
|
abnormalMessage.setSendUser(abnormalBillDispose.getResolveSendUserGroup());
|
|
|
|
|
abnormalMessage.setNode(Constants.ABNORMAL_MESSAGE_CANCEL);
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//格式化消息
|
|
|
|
|
String message = this.formatMessage(abnormalBill, abnormalMessage.getMessageType(), site);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//得到消息触发的时间
|
|
|
|
|
abnormalMessage.setResponseDateTime(now);
|
|
|
|
@ -1125,7 +1084,15 @@ public class AbnormalBillServiceImpl extends ServiceImpl<AbnormalBillMapper, Abn
|
|
|
|
|
//得到要发送的消息
|
|
|
|
|
abnormalMessage.setContent(message);
|
|
|
|
|
|
|
|
|
|
//得到升级的用户组
|
|
|
|
|
//设置状态,新建是N,响应为N,纠防确认是N,方案确认是Y,取消是Y,N为可以升级,Y为不可以升级
|
|
|
|
|
if(Constants.ABNORMAL_MESSAGE_RESPONSE.equals(abnormalMessage.getNode()) ||
|
|
|
|
|
Constants.ABNORMAL_MESSAGE_REPORT.equals(abnormalMessage.getNode())){
|
|
|
|
|
abnormalMessage.setStatus("N");
|
|
|
|
|
}else{
|
|
|
|
|
abnormalMessage.setStatus("Y");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//得到升级的用户组、升级的时间和等级
|
|
|
|
|
//新建有、响应没有、纠防确认有、方案确认没有、取消没有、关闭没有
|
|
|
|
|
if(Constants.NEW.equals(abnormalBill.getStatus()) || Constants.CORRECTION_CONFIRM.equals(abnormalBill.getStatus())){
|
|
|
|
|
abnormalMessage.setUpUserGroup(abnormalMessage.getSendUserGroup()+"_SJ");
|
|
|
|
@ -1134,28 +1101,24 @@ public class AbnormalBillServiceImpl extends ServiceImpl<AbnormalBillMapper, Abn
|
|
|
|
|
if(customFieldByGroup != null && !StringUtil.isBlank(customFieldByGroup.getMessageNoticeTime())){
|
|
|
|
|
abnormalMessage.setUpDateTime(abnormalMessage.getResponseDateTime().plusMinutes(Integer.parseInt(customFieldByGroup.getMessageNoticeTime())));
|
|
|
|
|
}else{
|
|
|
|
|
abnormalMessage.setStatus("Y");
|
|
|
|
|
throw new BaseException("该用户组没有维护升级的时间,请维护。");
|
|
|
|
|
}
|
|
|
|
|
if(customFieldByGroup != null && !StringUtil.isBlank(customFieldByGroup.getMessageNoticeLevel())){
|
|
|
|
|
|
|
|
|
|
if(!StringUtil.isBlank(customFieldByGroup.getMessageNoticeLevel())){
|
|
|
|
|
abnormalMessage.setGrade(Double.parseDouble(customFieldByGroup.getMessageNoticeLevel()));
|
|
|
|
|
}else{
|
|
|
|
|
throw new BaseException("该用户组没有维护升级的等级,请维护。");
|
|
|
|
|
}
|
|
|
|
|
MessageType messageTypeUp = messageTypeMapper.findMessageTypeByUserGroup(site, abnormalMessage.getUpUserGroup());
|
|
|
|
|
//得到升级的消息类型
|
|
|
|
|
abnormalMessage.setUpMessageType(abnormalMessage.getMessageType());
|
|
|
|
|
abnormalMessage.setUpMessageType(messageTypeUp.getMessageType());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//设置状态,新建是Y,响应为N,纠防确认是N,方案确认是Y,取消是Y
|
|
|
|
|
if(Constants.ABNORMAL_MESSAGE_RESPONSE.equals(abnormalMessage.getNode()) ||
|
|
|
|
|
Constants.ABNORMAL_MESSAGE_CORRECTION_CONFIRM.equals(abnormalMessage.getNode())){
|
|
|
|
|
abnormalMessage.setStatus("N");
|
|
|
|
|
}else{
|
|
|
|
|
abnormalMessage.setStatus("Y");
|
|
|
|
|
}
|
|
|
|
|
abnormalMessage.setCreatedUser(user);
|
|
|
|
|
abnormalMessage.setCreatedDateTime(now);
|
|
|
|
|
abnormalMessage.setModifiedUser(user);
|
|
|
|
|
abnormalMessage.setModifiedDateTime(now);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//发送消息
|
|
|
|
|
if(!Constants.ABNORMAL_MESSAGE_RESPONSE.equals(abnormalMessage.getNode())){
|
|
|
|
|
List<NwaUser> nwaUsers = nwaUserService.checkUserGroup(site,abnormalMessage.getSendUserGroup());
|
|
|
|
@ -1167,7 +1130,7 @@ public class AbnormalBillServiceImpl extends ServiceImpl<AbnormalBillMapper, Abn
|
|
|
|
|
throw new BaseException("消息发送失败,发送的用户组下面的自定义数据没有维护");
|
|
|
|
|
}
|
|
|
|
|
StringBuilder sendUsers = new StringBuilder();
|
|
|
|
|
for (int i = 0; i < customFieldByUserId.size(); i++) {
|
|
|
|
|
for (int i = 0; i < Objects.requireNonNull(customFieldByUserId).size(); i++) {
|
|
|
|
|
if(i == (customFieldByUserId.size() - 1)){
|
|
|
|
|
sendUsers.append(customFieldByUserId.get(i));
|
|
|
|
|
}else{
|
|
|
|
@ -1182,7 +1145,6 @@ public class AbnormalBillServiceImpl extends ServiceImpl<AbnormalBillMapper, Abn
|
|
|
|
|
@Override
|
|
|
|
|
public String formatMessage(AbnormalBill abnormalBill,String messageType, String site) {
|
|
|
|
|
//找到消息内容
|
|
|
|
|
String locale = LocaleContextHolder.getLocale().getLanguage();
|
|
|
|
|
MessageType messageTypeEntity = new MessageType();
|
|
|
|
|
messageTypeEntity.setSite(site);
|
|
|
|
|
messageTypeEntity.setMessageType(messageType);
|
|
|
|
@ -1192,98 +1154,101 @@ public class AbnormalBillServiceImpl extends ServiceImpl<AbnormalBillMapper, Abn
|
|
|
|
|
if(sendMessageType == null){
|
|
|
|
|
throw new BaseException("异常提报时找不到要发送的消息类型");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//查处所有要替换的消息内容
|
|
|
|
|
AbnormalBillDisposeDto messageContent = abnormalBillDisposeMapper.findAllByAbnormalNo(abnormalBill, locale);
|
|
|
|
|
//格式化消息
|
|
|
|
|
//找到要替换的消息
|
|
|
|
|
Map<String, String> replaceMessage = abnormalBillMapper.findReplaceMessageByAbnoraml(abnormalBill);
|
|
|
|
|
String messageBody = sendMessageType.getBody();
|
|
|
|
|
//替换消息类型中的参数
|
|
|
|
|
Map<String, String> 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<String> 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<String> 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<String> 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<String, String> 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<String> 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<String> 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<String> 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<AbnormalBillMapper, Abn
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public MessageType findMessageTypeByStatusAndUserGroup(Message message, AbnormalBill abnormalBill, AbnormalBillDispose abnormalBillDispose) {
|
|
|
|
|
String status = abnormalBill.getStatus();
|
|
|
|
|
String site = CommonMethods.getSite();
|
|
|
|
|
String userGroup = null;
|
|
|
|
|
//根据异常单的状态找到对应的用户组
|
|
|
|
|
switch (status){
|
|
|
|
|
case Constants.NEW:
|
|
|
|
|
userGroup = abnormalBill.getReportSendUserGroup();
|
|
|
|
|
break;
|
|
|
|
|
case Constants.PROGRAM_CONFIRM:
|
|
|
|
|
userGroup = abnormalBillDispose.getResolveSendUserGroup();
|
|
|
|
|
break;
|
|
|
|
|
case Constants.CORRECTION_CONFIRM:
|
|
|
|
|
userGroup = abnormalBillDispose.getDutySendUserGroup();
|
|
|
|
|
break;
|
|
|
|
|
case Constants.CANCEL:
|
|
|
|
|
userGroup = abnormalBill.getCancelSendUserGroup();
|
|
|
|
|
break;
|
|
|
|
|
default:
|
|
|
|
|
}
|
|
|
|
|
//如果异常单的状态为关闭或者响应中,则直接返回true,因为这两个状态不需要发送消息
|
|
|
|
|
if(Constants.RESPONSE.equals(status) || Constants.SHUT_DOWN.equals(status)){
|
|
|
|
|
return null;
|
|
|
|
|
}
|
|
|
|
|
if(StringUtils.isBlank(userGroup)){
|
|
|
|
|
throw new BaseException("消息发送失败,找不到对应的用户组");
|
|
|
|
|
}else{
|
|
|
|
|
MessageType type = null;
|
|
|
|
|
try{
|
|
|
|
|
type = messageTypeMapper.findMessageTypeByUserGroup(site, userGroup);
|
|
|
|
|
}catch (Exception e){
|
|
|
|
|
throw new BaseException("根据发送的用户组找到有可能找到多个对应的消息类型,请检查。"+e.getMessage());
|
|
|
|
|
}
|
|
|
|
|
if(type == null){
|
|
|
|
|
throw new BaseException("根据发送的用户组找不到对应的消息类型,请维护。");
|
|
|
|
|
}else{
|
|
|
|
|
return type;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public Map<String, String> jgProductionIsScrap(String abnormalNo, String site, String sfc) {
|
|
|
|
|
//查询该sfc在质量异常异常方案是否是报废,如果是,则大于1
|
|
|
|
|