Преглед изворни кода

task6779金山的设施环境和设备维护每天的消息提醒调整为同知所有的主部门的所有人

WuYi пре 15 часа
родитељ
комит
1c48987b3b

+ 67 - 8
ibps-provider-root/modules/provider-platform/src/main/java/com/lc/ibps/platform/plan/job/DeviceToDoRemindJob.java

@@ -181,9 +181,14 @@ public class DeviceToDoRemindJob extends BaseJob2 {
                 String deptId = map.get("bian_zhi_bu_men_").toString();
                 if(preBumen == null) preBumen = deptId;
                 if(!preBumen.equals(deptId)){
-                    // 发系统消息给对应的专业组组长和安全管理小组负责人
-                    this.sendLeaders(preBumen,"%s设施环境监控提醒",content.toString(),
-                            "aqglxzfzr","/sshjgl/sshjjk/sshjkzzl");
+                    Boolean flg = getOrganization();
+                    if(flg){
+                        this.sendJinSan(preBumen, "%s设施环境监控提醒", content.toString(), "/sshjgl/sshjjk/sshjkzzl");
+                    }else {
+                        // 发系统消息给对应的专业组组长和安全管理小组负责人
+                        this.sendLeaders(preBumen, "%s设施环境监控提醒", content.toString(),
+                                "aqglxzfzr", "/sshjgl/sshjjk/sshjkzzl");
+                    }
                     preBumen = deptId;
                     content = new StringJoiner("<br />").add("您好,今天%s存在待处理的设施环境监控数据,请及时安排人员处理!详细情况如下:");
                 }
@@ -194,8 +199,14 @@ public class DeviceToDoRemindJob extends BaseJob2 {
             }
             //last one
             if(preBumen !=null){
-                // 发系统消息给对应的专业组组长和安全管理小组负责人
-                this.sendLeaders(preBumen,"%s设施环境监控提醒",content.toString(),"aqglxzfzr,hjgly","/sshjgl/sshjjk/sshjkzzl");
+                //金山的消息额外处理 发给所有主部门的相同的所有人
+                Boolean flg = getOrganization();
+                if(flg){
+                    this.sendJinSan(preBumen, "%s设施环境监控提醒", content.toString(), "/sshjgl/sshjjk/sshjkzzl");
+                }else {
+                    // 发系统消息给对应的专业组组长和安全管理小组负责人
+                    this.sendLeaders(preBumen, "%s设施环境监控提醒", content.toString(), "aqglxzfzr,hjgly", "/sshjgl/sshjjk/sshjkzzl");
+                }
             }
         }
     }
@@ -209,9 +220,15 @@ public class DeviceToDoRemindJob extends BaseJob2 {
             for (Map<String,Object> map : deptList){
                 String deptId = map.get("bian_zhi_bu_men_").toString();
                 long count = (long)map.get("total");
-                // 发系统消息给对应的专业组组长和设备管理小组负责人
-                this.sendLeaders(deptId,"%s设备维护保养提醒","您的专业组有"+count+"条待处理的设备维护保养记录,请通知相关人员及时处理!",
-                        "sbglxzfzr","/sbgls/mywh");
+                Boolean flg = getOrganization();
+                if(flg) {
+                    this.sendJinSan(deptId, "%s设备维护保养提醒", "您的专业组有" + count + "条待处理的设备维护保养记录,请通知相关人员及时处理!",
+                             "/sbgls/mywh");
+                }else {
+                    // 发系统消息给对应的专业组组长和设备管理小组负责人
+                    this.sendLeaders(deptId, "%s设备维护保养提醒", "您的专业组有" + count + "条待处理的设备维护保养记录,请通知相关人员及时处理!",
+                            "sbglxzfzr", "/sbgls/mywh");
+                }
             }
         }
     }
@@ -305,6 +322,48 @@ public class DeviceToDoRemindJob extends BaseJob2 {
     }
 
 
+    private void sendJinSan(String deptId,String subject ,String content,String routeString){
+
+        Map<String, Object> map2 = new HashMap<>();
+        map2.put("skipTypeMsg","{\"skipType\": 3,\"pathInfo\": \""+routeString+"\"}");
+        // 获取地点和专业组名称
+        String sql1 = " select r.main_pid_,r.sub_pid_,e.name_ from ibps_party_rel r join ibps_party_entity  e on r.main_pid_ = e.id_ where r.main_pid_ = '%s' and r.biz_ = 'mainPost'";
+        sql1 = String.format(sql1,deptId);
+        List<Map<String, Object>> entity = (List<Map<String, Object>>)commonDao.query(sql1);
+        if(entity == null) return;
+        String deptName = entity.get(0).get("name_").toString();
+        subject = String.format(subject,deptName);
+        content =  String.format(content,deptName);
+        List<String> leadList = new ArrayList<>();
+        // 推送提醒
+            for (Map<String,Object> lead : entity){
+                String l = lead.get("sub_pid_").toString();
+                //去除重复发送消息
+                if(leadList.contains(l)){
+                    continue;
+                }
+                List<String> receiver = new ArrayList<>();
+                receiver.add(l);
+                MessageQueueProductorUtil.send("DeviceToDoRemindJob", "DeviceToDoRemindJob" ,
+                        "inner" , receiver,null , subject, content, null, null, map2);
+            }
+
+    }
 
+    private Boolean getOrganization(){
+        Boolean fig = false;
+        String setIng = "select setting from t_ipcc where id_ = '1'";
+        List<Map<String, Object>> mapSetting = (List<Map<String, Object>>)commonDao.query(setIng);
+        String setting = mapSetting.get(0).get("setting").toString();
+        ObjectMapper mapper = new ObjectMapper();
+        try {
+            JsonNode root = mapper.readTree(setting);
+            fig = root.path("msg")
+                    .asBoolean();
+        }catch (Exception e){
+            logger.warn("获取setting失败");
+        }
+        return fig;
+    }
 
 }