guoshilong
2024-04-10 c0cc0778ae520c614e2adde9eb48d3f56529edc8
skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/notice/service/impl/AsyncNoticeHandle.java
@@ -1591,4 +1591,381 @@
         noticeHandle.saveInStationInfo(smsRequestTemplate,alarmRule);
      }
   }
   /**
    * 策略34 短信-----变形值大于20mm小于50mm
    * @param alarmRule 告警规则
    * @param alarmRuleDetail 告警规则详情
    * @param data 中台数据
    * @param columnList 需要展示的数据字段
    * @param flag 是否显示日期
    * @param adCode 行政区划
    * @param isSendStation 是否站内信
    * @param uuid 随机生成id
    * @return
    */
   public Map<String, Object> damSafetyWyOver2Less5HandleSms(AlarmRule alarmRule, AlarmRuleDetail alarmRuleDetail, JSONArray data, List<String> columnList, boolean flag, String adCode, boolean isSendStation, String uuid) {
      Map<String, Object> map = new HashMap<>();
      // 只发短信,将发短信信息组装好
      SmsRequestTemplate smsRequestTemplate
         = noticeHandle.getSendSmsTemplate(data,alarmRule,alarmRuleDetail,columnList ,flag,adCode,uuid,isSendStation);
      // 拼接后面内容
      if (smsRequestTemplate.getPersonVOList().size() > 0) {
         for (List<String> list : smsRequestTemplate.getTemplateContent()) {
            // 依次添加行巡查责任人,技术责任人信息(姓名)
            noticeHandle.addPatrolTechnologyInfo(list,false);
            // 拼接市县水利部人员姓名及联系方式
            noticeHandle.addCityCountyBusinessPersonInfo(list);
            // 保存告警记录信息
            AlarmRecord alarmRecord = noticeHandle.saveAlarmRecord(list, alarmRule, uuid);
            if (null != alarmRecord) {
               list.add(alarmRecord.getId().toString());
            }
         }
         map = smsService.sendSignMsg(smsRequestTemplate);
         // 调用短信服务
         return map;
      }
      return map;
   }
   /**
    * 策略34 站内信----- 变形值大于20mm小于50mm
    * @param alarmRule 告警规则
    * @param alarmRuleDetail 告警规则详情
    * @param data 中台数据
    * @param columnList 需要展示的数据字段
    * @param flag 是否显示日期
    * @param adCode 行政区划
    * @param isSendStation 是否站内信
    * @param uuid 随机生成id
    * @return
    */
   public void damSafetyWyOver2Less5HandleStation(AlarmRule alarmRule, AlarmRuleDetail alarmRuleDetail, JSONArray data, List<String> columnList, boolean flag, String adCode, boolean isSendStation, String uuid) {
      SmsRequestTemplate smsRequestTemplate
         = noticeHandle.getSendSmsTemplate(data, alarmRule, alarmRuleDetail, columnList, flag, adCode, uuid, isSendStation);
      // 拼接后面内容
      if (smsRequestTemplate.getPersonVOList().size() > 0) {
         for (List<String> list : smsRequestTemplate.getTemplateContent()) {
            // 依次添加行巡查责任人,技术责任人信息(姓名)
            noticeHandle.addPatrolTechnologyInfo(list,false);
            // 拼接市县水利部人员姓名及联系方式
            noticeHandle.addCityCountyBusinessPersonInfo(list);
            // 保存告警记录信息
            AlarmRecord alarmRecord = noticeHandle.saveAlarmRecord(list, alarmRule, uuid);
            if (null != alarmRecord) {
               list.add(alarmRecord.getId().toString());
            }
         }
         // 保存站内信记录信息
         noticeHandle.saveInStationInfo(smsRequestTemplate,alarmRule);
      }
   }
   /**
    * 策略35 短信-----变形值大于50mm小于100mm
    * @param alarmRule 告警规则
    * @param alarmRuleDetail 告警规则详情
    * @param data 中台数据
    * @param columnList 需要展示的数据字段
    * @param flag 是否显示日期
    * @param adCode 行政区划
    * @param isSendStation 是否站内信
    * @param uuid 随机生成id
    * @return
    */
   public Map<String, Object> damSafetyWyOver5Less10HandleSms(AlarmRule alarmRule, AlarmRuleDetail alarmRuleDetail, JSONArray data, List<String> columnList, boolean flag, String adCode, boolean isSendStation, String uuid) {
      Map<String, Object> map = new HashMap<>();
      // 只发短信,将发短信信息组装好
      SmsRequestTemplate smsRequestTemplate
         = noticeHandle.getSendSmsTemplate(data,alarmRule,alarmRuleDetail,columnList ,flag,adCode,uuid,isSendStation);
      // 拼接后面内容
      if (smsRequestTemplate.getPersonVOList().size() > 0) {
         for (List<String> list : smsRequestTemplate.getTemplateContent()) {
            // 依次添加行巡查责任人,技术责任人信息(姓名)
            noticeHandle.addPatrolTechnologyInfo(list,false);
            // 拼接市县水利部人员姓名及联系方式
            noticeHandle.addCityCountyBusinessPersonInfo(list);
            // 保存告警记录信息
            AlarmRecord alarmRecord = noticeHandle.saveAlarmRecord(list, alarmRule, uuid);
            if (null != alarmRecord) {
               list.add(alarmRecord.getId().toString());
            }
         }
         map = smsService.sendSignMsg(smsRequestTemplate);
         // 调用短信服务
         return map;
      }
      return map;
   }
   /**
    * 策略34 站内信----- 变形值大于50mm小于100mm
    * @param alarmRule 告警规则
    * @param alarmRuleDetail 告警规则详情
    * @param data 中台数据
    * @param columnList 需要展示的数据字段
    * @param flag 是否显示日期
    * @param adCode 行政区划
    * @param isSendStation 是否站内信
    * @param uuid 随机生成id
    * @return
    */
   public void damSafetyWyOver5Less10HandleStation(AlarmRule alarmRule, AlarmRuleDetail alarmRuleDetail, JSONArray data, List<String> columnList, boolean flag, String adCode, boolean isSendStation, String uuid) {
      SmsRequestTemplate smsRequestTemplate
         = noticeHandle.getSendSmsTemplate(data, alarmRule, alarmRuleDetail, columnList, flag, adCode, uuid, isSendStation);
      // 拼接后面内容
      if (smsRequestTemplate.getPersonVOList().size() > 0) {
         for (List<String> list : smsRequestTemplate.getTemplateContent()) {
            // 依次添加行巡查责任人,技术责任人信息(姓名)
            noticeHandle.addPatrolTechnologyInfo(list,false);
            // 拼接市县水利部人员姓名及联系方式
            noticeHandle.addCityCountyBusinessPersonInfo(list);
            // 保存告警记录信息
            AlarmRecord alarmRecord = noticeHandle.saveAlarmRecord(list, alarmRule, uuid);
            if (null != alarmRecord) {
               list.add(alarmRecord.getId().toString());
            }
         }
         // 保存站内信记录信息
         noticeHandle.saveInStationInfo(smsRequestTemplate,alarmRule);
      }
   }
   /**
    * 策略34 短信-----变形值大于100mm
    * @param alarmRule 告警规则
    * @param alarmRuleDetail 告警规则详情
    * @param data 中台数据
    * @param columnList 需要展示的数据字段
    * @param flag 是否显示日期
    * @param adCode 行政区划
    * @param isSendStation 是否站内信
    * @param uuid 随机生成id
    * @return
    */
   public Map<String, Object> damSafetyWyOver10HandleSms(AlarmRule alarmRule, AlarmRuleDetail alarmRuleDetail, JSONArray data, List<String> columnList, boolean flag, String adCode, boolean isSendStation, String uuid) {
      Map<String, Object> map = new HashMap<>();
      // 只发短信,将发短信信息组装好
      SmsRequestTemplate smsRequestTemplate
         = noticeHandle.getSendSmsTemplate(data,alarmRule,alarmRuleDetail,columnList ,flag,adCode,uuid,isSendStation);
      // 拼接后面内容
      if (smsRequestTemplate.getPersonVOList().size() > 0) {
         for (List<String> list : smsRequestTemplate.getTemplateContent()) {
            // 依次添加行巡查责任人,技术责任人信息(姓名)
            noticeHandle.addPatrolTechnologyInfo(list,false);
            // 拼接市县水利部人员姓名及联系方式
            noticeHandle.addCityCountyBusinessPersonInfo(list);
            // 保存告警记录信息
            AlarmRecord alarmRecord = noticeHandle.saveAlarmRecord(list, alarmRule, uuid);
            if (null != alarmRecord) {
               list.add(alarmRecord.getId().toString());
            }
         }
         map = smsService.sendSignMsg(smsRequestTemplate);
         // 调用短信服务
         return map;
      }
      return map;
   }
   /**
    * 策略34 站内信----- 变形值大于100mm
    * @param alarmRule 告警规则
    * @param alarmRuleDetail 告警规则详情
    * @param data 中台数据
    * @param columnList 需要展示的数据字段
    * @param flag 是否显示日期
    * @param adCode 行政区划
    * @param isSendStation 是否站内信
    * @param uuid 随机生成id
    * @return
    */
   public void damSafetyWyOver10HandleStation(AlarmRule alarmRule, AlarmRuleDetail alarmRuleDetail, JSONArray data, List<String> columnList, boolean flag, String adCode, boolean isSendStation, String uuid) {
      SmsRequestTemplate smsRequestTemplate
         = noticeHandle.getSendSmsTemplate(data, alarmRule, alarmRuleDetail, columnList, flag, adCode, uuid, isSendStation);
      // 拼接后面内容
      if (smsRequestTemplate.getPersonVOList().size() > 0) {
         for (List<String> list : smsRequestTemplate.getTemplateContent()) {
            // 依次添加行巡查责任人,技术责任人信息(姓名)
            noticeHandle.addPatrolTechnologyInfo(list,false);
            // 拼接市县水利部人员姓名及联系方式
            noticeHandle.addCityCountyBusinessPersonInfo(list);
            // 保存告警记录信息
            AlarmRecord alarmRecord = noticeHandle.saveAlarmRecord(list, alarmRule, uuid);
            if (null != alarmRecord) {
               list.add(alarmRecord.getId().toString());
            }
         }
         // 保存站内信记录信息
         noticeHandle.saveInStationInfo(smsRequestTemplate,alarmRule);
      }
   }
   /**
    * 策略34 短信-----近1h变形值大于10cm以上
    * @param alarmRule 告警规则
    * @param alarmRuleDetail 告警规则详情
    * @param data 中台数据
    * @param columnList 需要展示的数据字段
    * @param flag 是否显示日期
    * @param adCode 行政区划
    * @param isSendStation 是否站内信
    * @param uuid 随机生成id
    * @return
    */
   public Map<String, Object> damSafetyWy1hChangeOver10HandleSms(AlarmRule alarmRule, AlarmRuleDetail alarmRuleDetail, JSONArray data, List<String> columnList, boolean flag, String adCode, boolean isSendStation, String uuid) {
      Map<String, Object> map = new HashMap<>();
      // 只发短信,将发短信信息组装好
      SmsRequestTemplate smsRequestTemplate
         = noticeHandle.getSendSmsTemplate(data,alarmRule,alarmRuleDetail,columnList ,flag,adCode,uuid,isSendStation);
      // 拼接后面内容
      if (smsRequestTemplate.getPersonVOList().size() > 0) {
         for (List<String> list : smsRequestTemplate.getTemplateContent()) {
            // 依次添加行巡查责任人,技术责任人信息(姓名)
            noticeHandle.addPatrolTechnologyInfo(list,false);
            // 拼接市县水利部人员姓名及联系方式
            noticeHandle.addCityCountyBusinessPersonInfo(list);
            // 保存告警记录信息
            AlarmRecord alarmRecord = noticeHandle.saveAlarmRecord(list, alarmRule, uuid);
            if (null != alarmRecord) {
               list.add(alarmRecord.getId().toString());
            }
         }
         map = smsService.sendSignMsg(smsRequestTemplate);
         // 调用短信服务
         return map;
      }
      return map;
   }
   /**
    * 策略34 站内信----- 近1h变形值大于10cm以上
    * @param alarmRule 告警规则
    * @param alarmRuleDetail 告警规则详情
    * @param data 中台数据
    * @param columnList 需要展示的数据字段
    * @param flag 是否显示日期
    * @param adCode 行政区划
    * @param isSendStation 是否站内信
    * @param uuid 随机生成id
    * @return
    */
   public void damSafetyWy1hChangeOver10HandleStation(AlarmRule alarmRule, AlarmRuleDetail alarmRuleDetail, JSONArray data, List<String> columnList, boolean flag, String adCode, boolean isSendStation, String uuid) {
      SmsRequestTemplate smsRequestTemplate
         = noticeHandle.getSendSmsTemplate(data, alarmRule, alarmRuleDetail, columnList, flag, adCode, uuid, isSendStation);
      // 拼接后面内容
      if (smsRequestTemplate.getPersonVOList().size() > 0) {
         for (List<String> list : smsRequestTemplate.getTemplateContent()) {
            // 依次添加行巡查责任人,技术责任人信息(姓名)
            noticeHandle.addPatrolTechnologyInfo(list,false);
            // 拼接市县水利部人员姓名及联系方式
            noticeHandle.addCityCountyBusinessPersonInfo(list);
            // 保存告警记录信息
            AlarmRecord alarmRecord = noticeHandle.saveAlarmRecord(list, alarmRule, uuid);
            if (null != alarmRecord) {
               list.add(alarmRecord.getId().toString());
            }
         }
         // 保存站内信记录信息
         noticeHandle.saveInStationInfo(smsRequestTemplate,alarmRule);
      }
   }
   /**
    * 策略34 短信-----渗流值
    * @param alarmRule 告警规则
    * @param alarmRuleDetail 告警规则详情
    * @param data 中台数据
    * @param columnList 需要展示的数据字段
    * @param flag 是否显示日期
    * @param adCode 行政区划
    * @param isSendStation 是否站内信
    * @param uuid 随机生成id
    * @return
    */
   public Map<String, Object> damSafetySlOverLessHandleSms(AlarmRule alarmRule, AlarmRuleDetail alarmRuleDetail, JSONArray data, List<String> columnList, boolean flag, String adCode, boolean isSendStation, String uuid) {
      Map<String, Object> map = new HashMap<>();
      // 只发短信,将发短信信息组装好
      SmsRequestTemplate smsRequestTemplate
         = noticeHandle.getSendSmsTemplate(data,alarmRule,alarmRuleDetail,columnList ,flag,adCode,uuid,isSendStation);
      // 拼接后面内容
      if (smsRequestTemplate.getPersonVOList().size() > 0) {
         for (List<String> list : smsRequestTemplate.getTemplateContent()) {
            // 依次添加行巡查责任人,技术责任人信息(姓名)
            noticeHandle.addPatrolTechnologyInfo(list,false);
            // 拼接市县水利部人员姓名及联系方式
            noticeHandle.addCityCountyBusinessPersonInfo(list);
            // 保存告警记录信息
            AlarmRecord alarmRecord = noticeHandle.saveAlarmRecord(list, alarmRule, uuid);
            if (null != alarmRecord) {
               list.add(alarmRecord.getId().toString());
            }
         }
         map = smsService.sendSignMsg(smsRequestTemplate);
         // 调用短信服务
         return map;
      }
      return map;
   }
   /**
    * 策略34 站内信----- 渗流值
    * @param alarmRule 告警规则
    * @param alarmRuleDetail 告警规则详情
    * @param data 中台数据
    * @param columnList 需要展示的数据字段
    * @param flag 是否显示日期
    * @param adCode 行政区划
    * @param isSendStation 是否站内信
    * @param uuid 随机生成id
    * @return
    */
   public void damSafetySlOverLessHandleStation(AlarmRule alarmRule, AlarmRuleDetail alarmRuleDetail, JSONArray data, List<String> columnList, boolean flag, String adCode, boolean isSendStation, String uuid) {
      SmsRequestTemplate smsRequestTemplate
         = noticeHandle.getSendSmsTemplate(data, alarmRule, alarmRuleDetail, columnList, flag, adCode, uuid, isSendStation);
      // 拼接后面内容
      if (smsRequestTemplate.getPersonVOList().size() > 0) {
         for (List<String> list : smsRequestTemplate.getTemplateContent()) {
            // 依次添加行巡查责任人,技术责任人信息(姓名)
            noticeHandle.addPatrolTechnologyInfo(list,false);
            // 拼接市县水利部人员姓名及联系方式
            noticeHandle.addCityCountyBusinessPersonInfo(list);
            // 保存告警记录信息
            AlarmRecord alarmRecord = noticeHandle.saveAlarmRecord(list, alarmRule, uuid);
            if (null != alarmRecord) {
               list.add(alarmRecord.getId().toString());
            }
         }
         // 保存站内信记录信息
         noticeHandle.saveInStationInfo(smsRequestTemplate,alarmRule);
      }
   }
}