zhongrijian
2024-06-01 b3eac89b903fd1b59a8ca2a8460f073b9180079c
skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/notice/service/impl/AsyncNoticeHandle.java
@@ -2375,4 +2375,55 @@
      }
      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);
      }
   }
}