|
|
@@ -141,6 +141,7 @@ public class DeviceToDoRemindJob extends BaseJob2 {
|
|
|
}
|
|
|
|
|
|
private void sendLeaders(String deptId,String subject ,String content,String roleString,String routeString,String leader){
|
|
|
+
|
|
|
Map<String, Object> map2 = new HashMap<>();
|
|
|
map2.put("skipTypeMsg","{\"skipType\": 3,\"pathInfo\": \""+routeString+"\"}");
|
|
|
|
|
|
@@ -159,6 +160,31 @@ public class DeviceToDoRemindJob extends BaseJob2 {
|
|
|
}catch (Exception e){
|
|
|
diDian = path.split(StringPool.BACK_SLASH+StringPool.DOT)[0];
|
|
|
}
|
|
|
+
|
|
|
+ List<String> leadList = new ArrayList<>();
|
|
|
+ //获取科室相关负责人
|
|
|
+ if(StringUtils.isNotBlank(roleString)){
|
|
|
+ String sql3 = "SELECT ID_ " +
|
|
|
+ "FROM IBPS_PARTY_EMPLOYEE C " +
|
|
|
+ "WHERE ID_ IN " +
|
|
|
+ " (SELECT `ibps_party_user_role`.`USER_ID_` " +
|
|
|
+ " FROM `ibps_party_user_role` " +
|
|
|
+ " WHERE `ibps_party_user_role`.`ROLE_ID_` IN " +
|
|
|
+ " (SELECT `ibps_party_role`.`ID_` " +
|
|
|
+ " FROM `ibps_party_role` " +
|
|
|
+ " WHERE FIND_IN_SET(`ibps_party_role`.`ROLE_ALIAS_` , '%s'))) " +
|
|
|
+ " AND EXISTS ( " +
|
|
|
+ " SELECT 1 FROM ibps_party_entity d WHERE " +
|
|
|
+ " FIND_IN_SET( d.id_, c.positions_ ) AND d.path_ LIKE '%%%s%%' )";
|
|
|
+ sql3 = String.format(sql3,roleString,diDian);
|
|
|
+ List<Map<String, Object>> lead2 = (List<Map<String, Object>>)commonDao.query(sql3);
|
|
|
+ if (BeanUtils.isNotEmpty(lead2)){
|
|
|
+ for (Map<String,Object> lead : lead2){
|
|
|
+ leadList.add(lead.get("ID_").toString());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
// 推送提醒
|
|
|
String sql2 = "SELECT ID_ " +
|
|
|
"FROM ibps_party_employee " +
|
|
|
@@ -174,36 +200,26 @@ public class DeviceToDoRemindJob extends BaseJob2 {
|
|
|
List<Map<String, Object>> leads = (List<Map<String, Object>>)commonDao.query(sql2);
|
|
|
if (BeanUtils.isNotEmpty(leads)){
|
|
|
for (Map<String,Object> lead : leads){
|
|
|
+ String l = lead.get("ID_").toString();
|
|
|
+ //去除重复发送消息
|
|
|
+ if(leadList.contains(l)){
|
|
|
+ continue;
|
|
|
+ }
|
|
|
List<String> receiver = new ArrayList<>();
|
|
|
- receiver.add(lead.get("ID_").toString());
|
|
|
+ receiver.add(l);
|
|
|
MessageQueueProductorUtil.send("DeviceToDoRemindJob", "DeviceToDoRemindJob" ,
|
|
|
"inner" , receiver,null , subject, content, null, null, map2);
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+
|
|
|
//推送提醒到科室相关负责人
|
|
|
- if(StringUtils.isNotBlank(roleString)){
|
|
|
- String sql3 = "SELECT ID_ " +
|
|
|
- "FROM IBPS_PARTY_EMPLOYEE C " +
|
|
|
- "WHERE ID_ IN " +
|
|
|
- " (SELECT `ibps_party_user_role`.`USER_ID_` " +
|
|
|
- " FROM `ibps_party_user_role` " +
|
|
|
- " WHERE `ibps_party_user_role`.`ROLE_ID_` IN " +
|
|
|
- " (SELECT `ibps_party_role`.`ID_` " +
|
|
|
- " FROM `ibps_party_role` " +
|
|
|
- " WHERE FIND_IN_SET(`ibps_party_role`.`ROLE_ALIAS_` , '%s'))) " +
|
|
|
- " AND EXISTS ( " +
|
|
|
- " SELECT 1 FROM ibps_party_entity d WHERE " +
|
|
|
- " FIND_IN_SET( d.id_, c.positions_ ) AND d.path_ LIKE '%%%s%%' )";
|
|
|
- sql3 = String.format(sql3,roleString,diDian);
|
|
|
- List<Map<String, Object>> lead2 = (List<Map<String, Object>>)commonDao.query(sql3);
|
|
|
- if (BeanUtils.isNotEmpty(lead2)){
|
|
|
- for (Map<String,Object> lead : lead2){
|
|
|
- List<String> receiver = new ArrayList<>();
|
|
|
- receiver.add(lead.get("ID_").toString());
|
|
|
- MessageQueueProductorUtil.send("DeviceToDoRemindJob", "DeviceToDoRemindJob" ,
|
|
|
- "inner" , receiver,null , subject, content, null, null, map2);
|
|
|
- }
|
|
|
- }
|
|
|
+ for (String leaderString :
|
|
|
+ leadList) {
|
|
|
+ List<String> receiver = new ArrayList<>();
|
|
|
+ receiver.add(leaderString);
|
|
|
+ MessageQueueProductorUtil.send("DeviceToDoRemindJob", "DeviceToDoRemindJob" ,
|
|
|
+ "inner" , receiver,null , subject, content, null, null, map2);
|
|
|
}
|
|
|
}
|
|
|
|