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

[task-1913]七院冰箱监控改进项

szjbdgzl пре 1 година
родитељ
комит
31efc3e707

+ 51 - 11
ibps-provider-root/modules/provider-platform/src/main/java/com/lc/ibps/platform/plan/job/BinXiangJob.java

@@ -49,6 +49,13 @@ public class BinXiangJob extends AbstractJob {
         String sql ="SELECT bing_xiang_id_,COUNT(id_) total FROM t_dsfbxwdjl " +
                 " WHERE (CONVERT(wen_du_,SIGNED) > CONVERT(wen_du_shang_xian,SIGNED) OR  CONVERT(wen_du_,SIGNED) < CONVERT(wen_du_xia_xian_,SIGNED) )" +
                 " AND DATE(cai_ji_shi_jian_)= CURDATE() GROUP BY bing_xiang_id_ HAVING total >='%s'";
+        if ("16".equals(startTime)){
+            sql = "SELECT bing_xiang_id_,COUNT(id_) total FROM t_dsfbxwdjl " +
+                    " WHERE (CONVERT(wen_du_,SIGNED) > CONVERT(wen_du_shang_xian,SIGNED) OR  CONVERT(wen_du_,SIGNED) < CONVERT(wen_du_xia_xian_,SIGNED) ) " +
+                    " AND DATE(cai_ji_shi_jian_)=DATE_SUB(CURDATE(),INTERVAL 1 DAY) GROUP BY bing_xiang_id_ HAVING total >='%s'";
+            // 凌晨更新失控数据
+            addNoCollectData();
+        }
         sql = String.format(sql,uncontrolTimes);
         logger.warn("checkUncontrolSql: {}",sql);
         List<Map<String, Object>> bx = (List<Map<String, Object>>) commonDao.query(sql);
@@ -66,6 +73,11 @@ public class BinXiangJob extends AbstractJob {
         String bxSql = "select a.*,e.she_bei_bian_hao_,e.dept_id_ from (select *from t_dsfbxwdjl where bing_xiang_id_='%s' " +
                 " and DATE(cai_ji_shi_jian_)=CURRENT_DATE AND HOUR(cai_ji_shi_jian_)>='%s' ORDER BY cai_ji_shi_jian_)a, " +
                 " equip_relation e where a.cai_ji_qi_ming_ch=e.bx_bian_hao_";
+        if ("16".equals(startTime)){
+            bxSql = "select a.*,e.she_bei_bian_hao_,e.dept_id_ from (select *from t_dsfbxwdjl where bing_xiang_id_='%s' " +
+                    " and DATE(cai_ji_shi_jian_)=DATE_SUB(CURDATE(),INTERVAL 1 DAY) AND HOUR(cai_ji_shi_jian_)>='%s' ORDER BY cai_ji_shi_jian_)a, " +
+                    " equip_relation e where a.cai_ji_qi_ming_ch=e.bx_bian_hao_";
+        }
         bxSql = String.format(bxSql,bxMap.get("bing_xiang_id_"),startTime);
         logger.warn("outOfControlJudgeSql: {}",bxSql);
         List<Map<String, Object>> list = (List<Map<String, Object>>) commonDao.query(bxSql);
@@ -96,25 +108,53 @@ public class BinXiangJob extends AbstractJob {
     }
 
     private void addWenDuSkData(String sheBeiBianHao,String deptId , String beiZhu , String uncontrolTimes , String caiJiShiJian) throws Exception {
+        Map<String,Object> map = commonDao.queryOne("select location FROM v_facs  where type='02-冰箱温度监控' LIMIT 1");
+        String diDian = StringUtil.defaultString(map.get("location").toString(),"");
         String roomSql = " select v.deviceNo1,v.location,v.area,v.roomName,v.roomId FROM v_facs v where v.type='02-冰箱温度监控' and v.deviceNo1='%s' limit 1";
         roomSql = String.format(roomSql,sheBeiBianHao);
         Map<String,Object> room = commonDao.queryOne(roomSql);
+        Map<String,Object> data = new HashMap<>();
+        data.put("id_", UniqueIdUtil.getId());
+        data.put("create_time_", new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()));
+        data.put("bian_zhi_shi_jian", new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()));
+        data.put("fa_xian_shi_jian_", caiJiShiJian);
+        data.put("bian_zhi_bu_men_", deptId);
         if (BeanUtils.isNotEmpty(room)){
-            Map<String,Object> data = new HashMap<>();
-            data.put("id_", UniqueIdUtil.getId());
-            data.put("create_time_", new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()));
-            data.put("bian_zhi_shi_jian", new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()));
-            data.put("fa_xian_shi_jian_", caiJiShiJian);
-            data.put("bian_zhi_bu_men_", deptId);
-            data.put("di_dian_", room.get("location"));
             data.put("fa_sheng_qu_yu_", room.get("area"));
             data.put("fang_jian_id_", room.get("roomId"));
             data.put("fang_jian_", room.get("roomName"));
-            data.put("jie_guo_", "是");
-            data.put("qing_kuang_", "原设备编号为:"+sheBeiBianHao+"的设备连续"+uncontrolTimes+"个时间点温度失控,\n失控记录:\n"+beiZhu);
-            data.put("shi_fou_guo_shen_", "待分析处理");
-            commonDao.execute(this.buildInsertSql(data,"t_sshjskycljlb"));
         }
+        data.put("di_dian_", diDian);
+        data.put("jie_guo_", "是");
+        data.put("qing_kuang_", "原设备编号为:"+sheBeiBianHao+"的设备连续"+uncontrolTimes+"个时间点温度失控,\n失控记录:\n"+beiZhu);
+        data.put("shi_fou_guo_shen_", "待分析处理");
+        commonDao.execute(this.buildInsertSql(data,"t_sshjskycljlb"));
+    }
+
+
+    private void addNoCollectData() throws Exception {
+        Map<String,Object> map = commonDao.queryOne("select location FROM v_facs  where type='02-冰箱温度监控' LIMIT 1");
+        String diDian = StringUtil.defaultString(map.get("location").toString(),"");
+        String Sql = " select *from equip_relation where bx_bian_hao_ not in (select cai_ji_qi_ming_ch from t_dsfbxwdjl " +
+                " where date(cai_ji_shi_jian_)=date_sub(curdate(),interval 1 day) group by cai_ji_qi_ming_ch) ";
+        List<Map<String, Object>> list = (List<Map<String, Object>>) commonDao.query(Sql);
+        String beiZhu = "以下设备未获取到温度采集数据:";
+        Map<String,Object> data = new HashMap<>();
+        if (BeanUtils.isNotEmpty(list)){
+            for (Map<String,Object> equip : list){
+                beiZhu = beiZhu + "\n采集器名称:"+equip.get("bx_bian_hao_")+",原设备编号:"+equip.get("she_bei_bian_hao_");
+                data.put("bian_zhi_bu_men_", equip.get("dept_id_"));
+            }
+        }
+        data.put("id_", UniqueIdUtil.getId());
+        data.put("create_time_", new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()));
+        data.put("bian_zhi_shi_jian", new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()));
+        data.put("di_dian_", diDian);
+        data.put("jie_guo_", "是");
+        data.put("qing_kuang_", beiZhu + "\n 请检查采集器配置或采集数据!");
+        data.put("shi_fou_guo_shen_", "待分析处理");
+        commonDao.execute(this.buildInsertSql(data,"t_sshjskycljlb"));
+        logger.warn("addNoCollectData");
     }
 
     private void startFlowStep() {