| | |
| | | add("res_nm"); |
| | | add("video_name"); |
| | | }}; |
| | | |
| | | |
| | | /** |
| | | * 42 水位超防洪高水位告警处理 |
| | | */ |
| | | public static List<String> topLevOfFloAlertList = new ArrayList<String>() |
| | | {{ |
| | | add("town_nm"); |
| | | add("res_nm"); |
| | | add("rz"); |
| | | add("over_des_wtr_level"); |
| | | add("diff_dam"); |
| | | add("drp_24"); |
| | | add("flpr_high_stag"); |
| | | }}; |
| | | } |
| | |
| | | */ |
| | | public static final String alarm_video_offline_api = "/services/1234567890ABCDEFGHIJKLMN/wmst_not_online_list/api?pageNo=1&pageSize=9999"; |
| | | |
| | | /** |
| | | * 42. 超防洪高水位告警 |
| | | */ |
| | | public static final String over_flpr_rz_warn_api = "/services/1234567890ABCDEFGHIJKLMN/over_flpr_rz/warn"; |
| | | |
| | | } |
| | |
| | | } |
| | | return map; |
| | | } |
| | | |
| | | /** |
| | | * 策略42 站内信----- 超防洪高水位告警 |
| | | * |
| | | * @param alarmRule 告警规则 |
| | | * @param alarmRuleDetail 告警规则详情 |
| | | * @param ztData 中台数据 |
| | | * @param columnList 需要展示的数据字段 |
| | | * @param flag 是否显示日期 |
| | | * @param adCode 行政区划 |
| | | * @param isSendStation 是否站内信 |
| | | * @param uuid 随机生成id |
| | | * @return |
| | | */ |
| | | public void topLevOfFloAlertHandleStation(AlarmRule alarmRule, |
| | | AlarmRuleDetail alarmRuleDetail, |
| | | JSONArray data, |
| | | List<String> columnList, |
| | | boolean flag, |
| | | String adCode, |
| | | boolean isSendStation, |
| | | String uuid, |
| | | String isDay |
| | | ) { |
| | | SmsRequestTemplate smsRequestTemplate |
| | | = noticeHandle.getSendSmsTemplate(data, alarmRule, alarmRuleDetail, columnList, flag, adCode, uuid, isSendStation); |
| | | // 拼接后面内容 |
| | | if (smsRequestTemplate.getPersonVOList().size() > 0) { |
| | | for (List<String> list : smsRequestTemplate.getTemplateContent()) { |
| | | String remark = StringUtil.format("水位:{}\n防洪高水位:{}米\n超防洪高水位:{}米\n", |
| | | list.get(9), list.get(13), String.format("%.2f", Double.valueOf(list.get(9).replace("米", "")) - Double.valueOf(list.get(13))) |
| | | ); |
| | | list.remove(13); |
| | | System.out.println(remark); |
| | | // 依次添加行政责任人,主管部门责任人,技术责任人,巡查责任人信息(姓名,联系电话) |
| | | noticeHandle.addWaterMoreDesignPatrolTechnologyInfo(list, "1,2,4,5"); |
| | | // 拼接市县水利部人员姓名及联系方式 |
| | | noticeHandle.addCityCountyBusinessPersonInfo(list); |
| | | // 保存告警记录信息 |
| | | AlarmRecord alarmRecord = noticeHandle.saveAlarmRecord(list, alarmRule, uuid,remark); |
| | | if (null != alarmRecord) { |
| | | list.add(alarmRecord.getId().toString()); |
| | | } |
| | | } |
| | | |
| | | //如果参数是day,表示是每天生成告警,不需要发信息 |
| | | if (isDay.equals("day")) return; |
| | | // 保存站内信记录信息 |
| | | noticeHandle.saveInStationInfo(smsRequestTemplate, alarmRule); |
| | | } |
| | | } |
| | | } |
| | |
| | | return "视频信息缺失告警"; |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 策略42: 水位防洪高水位告警 |
| | | * |
| | | * @param arg1 |
| | | * @param arg2 |
| | | * @return |
| | | */ |
| | | public String topLevOfFloAlertHandle(String arg1, String arg2) { |
| | | String adCode = null; |
| | | String uuid = UUID.randomUUID().toString(); |
| | | // 查询当前策略对应的告警规则信息 |
| | | AlarmRule alarmRule = alarmRuleService.getOne(new QueryWrapper<AlarmRule>().eq("rule_name", arg1)); |
| | | // 调用中台服务接口查询数据 |
| | | JSONArray ztData = noticeHandle.getZtData("", ZtApiUrlConstant.over_flpr_rz_warn_api); |
| | | // 获取告警规则详情,判断告警类型(短信,电话,站内信) |
| | | if (null != alarmRule) { |
| | | // 查询告警详情信息 |
| | | List<AlarmRuleDetail> alarmRuleDetailList = alarmRuleDetailService.list(new QueryWrapper<AlarmRuleDetail>().eq("alarm_rule_id", alarmRule.getId())); |
| | | if (alarmRuleDetailList.size() > 0) { |
| | | // 遍历 |
| | | for (AlarmRuleDetail alarmRuleDetail : alarmRuleDetailList) { |
| | | if (alarmRuleDetail.getAlarmMode().equals("站内信")) { |
| | | asyncNoticeHandle.topLevOfFloAlertHandleStation(alarmRule, alarmRuleDetail, ztData, ZtApiDataColumnConstant.topLevOfFloAlertList, true, adCode, true, uuid,arg2); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | // 返回 |
| | | return "水位防洪高水位告警"; |
| | | } |
| | | |
| | | private JSONArray filterData(JSONArray ztData, String level) { |
| | | |
| | | JSONArray array = new JSONArray(); |
| | |
| | | strategyMap.put("damSafetySlOver10Handle",(arg1,arg2)->noticeStrategyImpl.damSafetySlOver10Handle(arg1,arg2)); |
| | | //41 视频信息接收不到 |
| | | strategyMap.put("videoOfflineHandle",(arg1,arg2)->noticeStrategyImpl.videoOfflineHandle(arg1,arg2)); |
| | | //42 水位-超防洪高水位告警 |
| | | strategyMap.put("topLevOfFloAlertHandle",(arg1,arg2)->noticeStrategyImpl.topLevOfFloAlertHandle(arg1,arg2)); |
| | | } |
| | | |
| | | /** |