guoshilong
2024-04-09 45992c87647bf954f9363aa3cbeec68f466458d9
skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/notice/service/impl/NoticeStrategyImpl.java
@@ -6,10 +6,15 @@
import cn.gistack.alerts.alarmRule.service.AlarmRuleService;
import cn.gistack.alerts.notice.constant.ZtApiDataColumnConstant;
import cn.gistack.alerts.notice.constant.ZtApiUrlConstant;
import cn.gistack.resource.feign.ITextualResearchAttachClient;
import cn.gistack.resource.vo.AlertTextualResearchAttachVO;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import java.util.List;
import java.util.UUID;
@@ -34,7 +39,8 @@
   @Autowired
   private AsyncNoticeHandle asyncNoticeHandle;
   @Autowired
   private ITextualResearchAttachClient textualResearchAttachClient;
   /**
@@ -64,14 +70,14 @@
      // 调用中台服务接口查询数据
      JSONArray ztData = noticeHandle.getZtData("", ZtApiUrlConstant.no_z_last_api_all);
      // 获取告警规则详情,判断告警类型(短信,电话,站内信)
      if (null!=alarmRule) {
      if (null != alarmRule) {
         // 查询告警详情信息
         List<AlarmRuleDetail> alarmRuleDetailList = alarmRuleDetailService.list(new QueryWrapper<AlarmRuleDetail>().eq("alarm_rule_id", alarmRule.getId()));
         if (alarmRuleDetailList.size()>0){
         if (alarmRuleDetailList.size() > 0) {
            // 遍历
            for (AlarmRuleDetail alarmRuleDetail : alarmRuleDetailList) {
               if (alarmRuleDetail.getAlarmMode().equals("短信")) {
                  asyncNoticeHandle.waterInfoNotHandle(alarmRule, alarmRuleDetail, ztData,ZtApiDataColumnConstant.waterInfoNotList,false, adCode, false);
                  asyncNoticeHandle.waterInfoNotHandle(alarmRule, alarmRuleDetail, ztData, ZtApiDataColumnConstant.waterInfoNotList, false, adCode, false);
               }
            }
         }
@@ -95,14 +101,14 @@
      // 调用中台服务接口查询数据
      JSONArray ztData = noticeHandle.getZtData("", ZtApiUrlConstant.res_z_not_normal_api);
      // 获取告警规则详情,判断告警类型(短信,电话,站内信)
      if (null!=alarmRule) {
      if (null != alarmRule) {
         // 查询告警详情信息
         List<AlarmRuleDetail> alarmRuleDetailList = alarmRuleDetailService.list(new QueryWrapper<AlarmRuleDetail>().eq("alarm_rule_id", alarmRule.getId()));
         if (alarmRuleDetailList.size()>0){
         if (alarmRuleDetailList.size() > 0) {
            // 遍历
            for (AlarmRuleDetail alarmRuleDetail : alarmRuleDetailList) {
               if (alarmRuleDetail.getAlarmMode().equals("短信")) {
                  asyncNoticeHandle.waterInfoNotHandle(alarmRule, alarmRuleDetail, ztData,ZtApiDataColumnConstant.waterDataExcList,false, adCode, false);
                  asyncNoticeHandle.waterInfoNotHandle(alarmRule, alarmRuleDetail, ztData, ZtApiDataColumnConstant.waterDataExcList, false, adCode, false);
               }
            }
         }
@@ -126,14 +132,14 @@
      // 调用中台服务接口查询数据
      JSONArray ztData = noticeHandle.getZtData("", ZtApiUrlConstant.res_diff_dead_z_api);
      // 获取告警规则详情,判断告警类型(短信,电话,站内信)
      if (null!=alarmRule) {
      if (null != alarmRule) {
         // 查询告警详情信息
         List<AlarmRuleDetail> alarmRuleDetailList = alarmRuleDetailService.list(new QueryWrapper<AlarmRuleDetail>().eq("alarm_rule_id", alarmRule.getId()));
         if (alarmRuleDetailList.size()>0){
         if (alarmRuleDetailList.size() > 0) {
            // 遍历
            for (AlarmRuleDetail alarmRuleDetail : alarmRuleDetailList) {
               if (alarmRuleDetail.getAlarmMode().equals("短信")) {
                  asyncNoticeHandle.waterLessDeadHandle(alarmRule, alarmRuleDetail, ztData,ZtApiDataColumnConstant.waterLessDeadList,true, adCode, false);
                  asyncNoticeHandle.waterLessDeadHandle(alarmRule, alarmRuleDetail, ztData, ZtApiDataColumnConstant.waterLessDeadList, true, adCode, false);
               }
            }
         }
@@ -141,7 +147,6 @@
      // 返回
      return "水位超低于死水位";
   }
   /**
@@ -170,21 +175,20 @@
      // 调用中台服务接口查询数据
      JSONArray ztData = noticeHandle.getZtData("", ZtApiUrlConstant.res_z_is_warn_over_flse_api);
      // 获取告警规则详情,判断告警类型(短信,电话,站内信)
      if (null!=alarmRule) {
      if (null != alarmRule) {
         // 查询告警详情信息
         List<AlarmRuleDetail> alarmRuleDetailList = alarmRuleDetailService.list(new QueryWrapper<AlarmRuleDetail>().eq("alarm_rule_id", alarmRule.getId()));
         if (alarmRuleDetailList.size()>0){
         if (alarmRuleDetailList.size() > 0) {
            // 遍历
            for (AlarmRuleDetail alarmRuleDetail : alarmRuleDetailList) {
               if (alarmRuleDetail.getAlarmMode().equals("站内信")) {
                  asyncNoticeHandle.waterComeOverHandle(alarmRule, alarmRuleDetail, ztData,ZtApiDataColumnConstant.waterComeOverList,true, adCode, true);
                  asyncNoticeHandle.waterComeOverHandle(alarmRule, alarmRuleDetail, ztData, ZtApiDataColumnConstant.waterComeOverList, true, adCode, true);
               }
            }
         }
      }
      return "水位接近汛限告警";
   }
   /**
@@ -201,14 +205,14 @@
      // 调用中台服务接口查询数据
      JSONArray ztData = noticeHandle.getZtData("", ZtApiUrlConstant.over_z_res_api);
      // 获取告警规则详情,判断告警类型(短信,电话,站内信)
      if (null!=alarmRule) {
      if (null != alarmRule) {
         // 查询告警详情信息
         List<AlarmRuleDetail> alarmRuleDetailList = alarmRuleDetailService.list(new QueryWrapper<AlarmRuleDetail>().eq("alarm_rule_id", alarmRule.getId()));
         if (alarmRuleDetailList.size()>0){
         if (alarmRuleDetailList.size() > 0) {
            // 遍历
            for (AlarmRuleDetail alarmRuleDetail : alarmRuleDetailList) {
               if (alarmRuleDetail.getAlarmMode().equals("短信")) {
                  asyncNoticeHandle.waterFirstOverHandle(alarmRule, alarmRuleDetail, ztData,ZtApiDataColumnConstant.waterFirstOverList,true, adCode, true);
                  asyncNoticeHandle.waterFirstOverHandle(alarmRule, alarmRuleDetail, ztData, ZtApiDataColumnConstant.waterFirstOverList, true, adCode, true);
               }
            }
         }
@@ -234,16 +238,16 @@
      // 调用中台服务接口查询数据
      JSONArray ztData = noticeHandle.getZtData("", ZtApiUrlConstant.res_over_z_small_over_api);
      // 获取告警规则详情,判断告警类型(短信,电话,站内信)
      if (null!=alarmRule) {
      if (null != alarmRule) {
         // 查询告警详情信息
         List<AlarmRuleDetail> alarmRuleDetailList = alarmRuleDetailService.list(new QueryWrapper<AlarmRuleDetail>().eq("alarm_rule_id", alarmRule.getId()));
         if (alarmRuleDetailList.size()>0){
         if (alarmRuleDetailList.size() > 0) {
            // 遍历
            if (alarmRuleDetailList.get(0).getAlarmMode().equals("短信")) {
               asyncNoticeHandle.waterSmallScaleOverHandle1(alarmRule, alarmRuleDetailList.get(0), ztData,ZtApiDataColumnConstant.waterSmallScaleOverList,true, adCode, false,uuid);
               asyncNoticeHandle.waterSmallScaleOverHandle1(alarmRule, alarmRuleDetailList.get(0), ztData, ZtApiDataColumnConstant.waterSmallScaleOverList, true, adCode, false, uuid);
            }
            if (alarmRuleDetailList.get(1).getAlarmMode().equals("短信")) {
               asyncNoticeHandle.waterSmallScaleOverHandle2(alarmRule, alarmRuleDetailList.get(1), ztData,ZtApiDataColumnConstant.waterSmallScaleOverList,true, adCode, false,uuid);
               asyncNoticeHandle.waterSmallScaleOverHandle2(alarmRule, alarmRuleDetailList.get(1), ztData, ZtApiDataColumnConstant.waterSmallScaleOverList, true, adCode, false, uuid);
            }
         }
      }
@@ -267,16 +271,16 @@
      // 调用中台服务接口查询数据
      JSONArray ztData = noticeHandle.getZtData("", ZtApiUrlConstant.res_over_z_big_over_api);
      // 获取告警规则详情,判断告警类型(短信,电话,站内信)
      if (null!=alarmRule) {
      if (null != alarmRule) {
         // 查询告警详情信息
         List<AlarmRuleDetail> alarmRuleDetailList = alarmRuleDetailService.list(new QueryWrapper<AlarmRuleDetail>().eq("alarm_rule_id", alarmRule.getId()));
         if (alarmRuleDetailList.size()>0){
         if (alarmRuleDetailList.size() > 0) {
            // 遍历
            if (alarmRuleDetailList.get(0).getAlarmMode().equals("短信")) {
               asyncNoticeHandle.waterBigScaleOverHandle1(alarmRule, alarmRuleDetailList.get(0), ztData,ZtApiDataColumnConstant.waterBigScaleOverList1,true, adCode, false,uuid);
               asyncNoticeHandle.waterBigScaleOverHandle1(alarmRule, alarmRuleDetailList.get(0), ztData, ZtApiDataColumnConstant.waterBigScaleOverList1, true, adCode, false, uuid);
            }
            if (alarmRuleDetailList.get(1).getAlarmMode().equals("短信")) {
               asyncNoticeHandle.waterBigScaleOverHandle2(alarmRule, alarmRuleDetailList.get(1), ztData,ZtApiDataColumnConstant.waterBigScaleOverList2,true, adCode, false,uuid);
               asyncNoticeHandle.waterBigScaleOverHandle2(alarmRule, alarmRuleDetailList.get(1), ztData, ZtApiDataColumnConstant.waterBigScaleOverList2, true, adCode, false, uuid);
            }
         }
      }
@@ -299,20 +303,20 @@
      // 调用中台服务接口查询数据
      JSONArray ztData = noticeHandle.getZtData("", ZtApiUrlConstant.res_over_des_is_warn_api);
      // 获取告警规则详情,判断告警类型(短信,电话,站内信)
      if (null!=alarmRule) {
      if (null != alarmRule) {
         // 查询告警详情信息
         List<AlarmRuleDetail> alarmRuleDetailList = alarmRuleDetailService.list(new QueryWrapper<AlarmRuleDetail>().eq("alarm_rule_id", alarmRule.getId()));
         if (alarmRuleDetailList.size()>0){
         if (alarmRuleDetailList.size() > 0) {
            // 遍历
            for (AlarmRuleDetail alarmRuleDetail : alarmRuleDetailList) {
               if (alarmRuleDetail.getAlarmMode().equals("短信")) {
                  asyncNoticeHandle.waterComeDesignHandleBySms(alarmRule, alarmRuleDetail, ztData,ZtApiDataColumnConstant.waterComeDesignList1,true, adCode, false,uuid);
                  asyncNoticeHandle.waterComeDesignHandleBySms(alarmRule, alarmRuleDetail, ztData, ZtApiDataColumnConstant.waterComeDesignList1, true, adCode, false, uuid);
               }
//               if (alarmRuleDetail.getAlarmMode().equals("电话")) {
//                  asyncNoticeHandle.outCallHandleCall(alarmRule, alarmRuleDetail, ztData,ZtApiDataColumnConstant.waterComeDesignList2,true, adCode, false,uuid);
//               }
               if (alarmRuleDetail.getAlarmMode().equals("站内信")) {
                  asyncNoticeHandle.waterComeDesignHandleStation(alarmRule, alarmRuleDetail, ztData,ZtApiDataColumnConstant.waterComeDesignList3,true, adCode, true,uuid);
                  asyncNoticeHandle.waterComeDesignHandleStation(alarmRule, alarmRuleDetail, ztData, ZtApiDataColumnConstant.waterComeDesignList3, true, adCode, true, uuid);
               }
            }
         }
@@ -335,14 +339,14 @@
      // 调用中台服务接口查询数据
      JSONArray ztData = noticeHandle.getZtData("", ZtApiUrlConstant.over_des_rz_warn_api);
      // 获取告警规则详情,判断告警类型(短信,电话,站内信)
      if (null!=alarmRule) {
      if (null != alarmRule) {
         // 查询告警详情信息
         List<AlarmRuleDetail> alarmRuleDetailList = alarmRuleDetailService.list(new QueryWrapper<AlarmRuleDetail>().eq("alarm_rule_id", alarmRule.getId()));
         if (alarmRuleDetailList.size()>0){
         if (alarmRuleDetailList.size() > 0) {
            // 遍历
            for (AlarmRuleDetail alarmRuleDetail : alarmRuleDetailList) {
               if (alarmRuleDetail.getAlarmMode().equals("短信")) {
                  asyncNoticeHandle.waterMoreDesignHandle(alarmRule, alarmRuleDetail, ztData,ZtApiDataColumnConstant.waterMoreDesignList,true, adCode, false,uuid);
                  asyncNoticeHandle.waterMoreDesignHandle(alarmRule, alarmRuleDetail, ztData, ZtApiDataColumnConstant.waterMoreDesignList, true, adCode, false, uuid);
               }
//               if (alarmRuleDetail.getAlarmMode().equals("电话")) {
//                  asyncNoticeHandle.outCallHandleCall(alarmRule, alarmRuleDetail, ztData,ZtApiDataColumnConstant.waterMoreDesignList,true, adCode, false,uuid);
@@ -369,14 +373,14 @@
      // 调用中台服务接口查询数据
      JSONArray ztData = noticeHandle.getZtData("", ZtApiUrlConstant.res_over_chec_api);
      // 获取告警规则详情,判断告警类型(短信,电话,站内信)
      if (null!=alarmRule) {
      if (null != alarmRule) {
         // 查询告警详情信息
         List<AlarmRuleDetail> alarmRuleDetailList = alarmRuleDetailService.list(new QueryWrapper<AlarmRuleDetail>().eq("alarm_rule_id", alarmRule.getId()));
         if (alarmRuleDetailList.size()>0){
         if (alarmRuleDetailList.size() > 0) {
            // 遍历
            for (AlarmRuleDetail alarmRuleDetail : alarmRuleDetailList) {
               if (alarmRuleDetail.getAlarmMode().equals("短信")) {
                  asyncNoticeHandle.waterMoreCheckHandle(alarmRule, alarmRuleDetail, ztData,ZtApiDataColumnConstant.waterMoreCheckList,true, adCode, false,uuid);
                  asyncNoticeHandle.waterMoreCheckHandle(alarmRule, alarmRuleDetail, ztData, ZtApiDataColumnConstant.waterMoreCheckList, true, adCode, false, uuid);
               }
//               if (alarmRuleDetail.getAlarmMode().equals("电话")) {
//                  asyncNoticeHandle.outCallHandleCall(alarmRule, alarmRuleDetail, ztData,ZtApiDataColumnConstant.waterMoreCheckList,true, adCode, false,uuid);
@@ -403,14 +407,14 @@
      // 调用中台服务接口查询数据
      JSONArray ztData = noticeHandle.getZtData("", ZtApiUrlConstant.res_z_diff_up_api);
      // 获取告警规则详情,判断告警类型(短信,电话,站内信)
      if (null!=alarmRule) {
      if (null != alarmRule) {
         // 查询告警详情信息
         List<AlarmRuleDetail> alarmRuleDetailList = alarmRuleDetailService.list(new QueryWrapper<AlarmRuleDetail>().eq("alarm_rule_id", alarmRule.getId()));
         if (alarmRuleDetailList.size()>0){
         if (alarmRuleDetailList.size() > 0) {
            // 遍历
            for (AlarmRuleDetail alarmRuleDetail : alarmRuleDetailList) {
               if (alarmRuleDetail.getAlarmMode().equals("短信")) {
                  asyncNoticeHandle.waterComeOneHourUpHandle(alarmRule, alarmRuleDetail, ztData,ZtApiDataColumnConstant.waterComeOneHourUpList,true, adCode, false,uuid);
                  asyncNoticeHandle.waterComeOneHourUpHandle(alarmRule, alarmRuleDetail, ztData, ZtApiDataColumnConstant.waterComeOneHourUpList, true, adCode, false, uuid);
               }
            }
         }
@@ -434,14 +438,14 @@
      // 调用中台服务接口查询数据
      JSONArray ztData = noticeHandle.getZtData("", ZtApiUrlConstant.res_z_diff_down_api);
      // 获取告警规则详情,判断告警类型(短信,电话,站内信)
      if (null!=alarmRule) {
      if (null != alarmRule) {
         // 查询告警详情信息
         List<AlarmRuleDetail> alarmRuleDetailList = alarmRuleDetailService.list(new QueryWrapper<AlarmRuleDetail>().eq("alarm_rule_id", alarmRule.getId()));
         if (alarmRuleDetailList.size()>0){
         if (alarmRuleDetailList.size() > 0) {
            // 遍历
            for (AlarmRuleDetail alarmRuleDetail : alarmRuleDetailList) {
               if (alarmRuleDetail.getAlarmMode().equals("短信")) {
                  asyncNoticeHandle.waterComeOneHourDownHandle(alarmRule, alarmRuleDetail, ztData,ZtApiDataColumnConstant.waterComeOneHourDownList,true, adCode, false,uuid);
                  asyncNoticeHandle.waterComeOneHourDownHandle(alarmRule, alarmRuleDetail, ztData, ZtApiDataColumnConstant.waterComeOneHourDownList, true, adCode, false, uuid);
               }
            }
         }
@@ -477,14 +481,14 @@
      // 调用中台服务接口查询数据
      JSONArray ztData = noticeHandle.getZtData("", ZtApiUrlConstant.alarm_rain_dy_api);
      // 获取告警规则详情,判断告警类型(短信,电话,站内信)
      if (null!=alarmRule) {
      if (null != alarmRule) {
         // 查询告警详情信息
         List<AlarmRuleDetail> alarmRuleDetailList = alarmRuleDetailService.list(new QueryWrapper<AlarmRuleDetail>().eq("alarm_rule_id", alarmRule.getId()));
         if (alarmRuleDetailList.size()>0){
         if (alarmRuleDetailList.size() > 0) {
            // 遍历
            for (AlarmRuleDetail alarmRuleDetail : alarmRuleDetailList) {
               if (alarmRuleDetail.getAlarmMode().equals("短信")) {
                  asyncNoticeHandle.alreadyHeavyRainHandle(alarmRule, alarmRuleDetail, ztData,ZtApiDataColumnConstant.alreadyHeavyRainList,true, adCode, false);
                  asyncNoticeHandle.alreadyHeavyRainHandle(alarmRule, alarmRuleDetail, ztData, ZtApiDataColumnConstant.alreadyHeavyRainList, true, adCode, false);
               }
            }
         }
@@ -508,14 +512,14 @@
      // 调用中台服务接口查询数据
      JSONArray ztData = noticeHandle.getZtData("", ZtApiUrlConstant.alarm_rain_by_api);
      // 获取告警规则详情,判断告警类型(短信,电话,站内信)
      if (null!=alarmRule) {
      if (null != alarmRule) {
         // 查询告警详情信息
         List<AlarmRuleDetail> alarmRuleDetailList = alarmRuleDetailService.list(new QueryWrapper<AlarmRuleDetail>().eq("alarm_rule_id", alarmRule.getId()));
         if (alarmRuleDetailList.size()>0){
         if (alarmRuleDetailList.size() > 0) {
            // 遍历
            for (AlarmRuleDetail alarmRuleDetail : alarmRuleDetailList) {
               if (alarmRuleDetail.getAlarmMode().equals("短信")) {
                  asyncNoticeHandle.alreadyRainstormHandle(alarmRule, alarmRuleDetail, ztData,ZtApiDataColumnConstant.alreadyRainstormList,true, adCode, false);
                  asyncNoticeHandle.alreadyRainstormHandle(alarmRule, alarmRuleDetail, ztData, ZtApiDataColumnConstant.alreadyRainstormList, true, adCode, false);
               }
            }
         }
@@ -552,14 +556,14 @@
      // 调用中台服务接口查询数据
      JSONArray ztData = noticeHandle.getZtData("", ZtApiUrlConstant.alarm_rain_6_over_api);
      // 获取告警规则详情,判断告警类型(短信,电话,站内信)
      if (null!=alarmRule) {
      if (null != alarmRule) {
         // 查询告警详情信息
         List<AlarmRuleDetail> alarmRuleDetailList = alarmRuleDetailService.list(new QueryWrapper<AlarmRuleDetail>().eq("alarm_rule_id", alarmRule.getId()));
         if (alarmRuleDetailList.size()>0){
         if (alarmRuleDetailList.size() > 0) {
            // 遍历
            for (AlarmRuleDetail alarmRuleDetail : alarmRuleDetailList) {
               if (alarmRuleDetail.getAlarmMode().equals("短信")) {
                  asyncNoticeHandle.sixHourRainHandle(alarmRule, alarmRuleDetail, ztData,ZtApiDataColumnConstant.sixHourRainList,true, adCode, false,uuid);
                  asyncNoticeHandle.sixHourRainHandle(alarmRule, alarmRuleDetail, ztData, ZtApiDataColumnConstant.sixHourRainList, true, adCode, false, uuid);
               }
//               if (alarmRuleDetail.getAlarmMode().equals("电话")) {
//                  asyncNoticeHandle.outCallHandleCall(alarmRule, alarmRuleDetail, ztData,ZtApiDataColumnConstant.sixHourRainList,true, adCode, false,uuid);
@@ -588,14 +592,14 @@
      // 调用中台服务接口查询数据
      JSONArray ztData = noticeHandle.getZtData("", ZtApiUrlConstant.alarm_db_api);
      // 获取告警规则详情,判断告警类型(短信,电话,站内信)
      if (null!=alarmRule) {
      if (null != alarmRule) {
         // 查询告警详情信息
         List<AlarmRuleDetail> alarmRuleDetailList = alarmRuleDetailService.list(new QueryWrapper<AlarmRuleDetail>().eq("alarm_rule_id", alarmRule.getId()));
         if (alarmRuleDetailList.size()>0){
         if (alarmRuleDetailList.size() > 0) {
            // 遍历
            for (AlarmRuleDetail alarmRuleDetail : alarmRuleDetailList) {
               if (alarmRuleDetail.getAlarmMode().equals("短信")) {
                  asyncNoticeHandle.damSafetyHandle(alarmRule, alarmRuleDetail, ztData,ZtApiDataColumnConstant.damSafetyList,true, adCode, false,uuid);
                  asyncNoticeHandle.damSafetyHandle(alarmRule, alarmRuleDetail, ztData, ZtApiDataColumnConstant.damSafetyList, true, adCode, false, uuid);
               }
            }
         }
@@ -620,14 +624,14 @@
      // 调用中台服务接口查询数据
      JSONArray ztData = noticeHandle.getZtData("?is_alarm=1", ZtApiUrlConstant.alarm_db_sy_api);
      // 获取告警规则详情,判断告警类型(短信,电话,站内信)
      if (null!=alarmRule) {
      if (null != alarmRule) {
         // 查询告警详情信息
         List<AlarmRuleDetail> alarmRuleDetailList = alarmRuleDetailService.list(new QueryWrapper<AlarmRuleDetail>().eq("alarm_rule_id", alarmRule.getId()));
         if (alarmRuleDetailList.size()>0){
         if (alarmRuleDetailList.size() > 0) {
            // 遍历
            for (AlarmRuleDetail alarmRuleDetail : alarmRuleDetailList) {
               if (alarmRuleDetail.getAlarmMode().equals("站内信")) {
                  asyncNoticeHandle.damSafetySyHandle(alarmRule, alarmRuleDetail, ztData,ZtApiDataColumnConstant.damSafetySyList,true, adCode, true,uuid);
                  asyncNoticeHandle.damSafetySyHandle(alarmRule, alarmRuleDetail, ztData, ZtApiDataColumnConstant.damSafetySyList, true, adCode, true, uuid);
               }
            }
         }
@@ -647,19 +651,19 @@
      //String adCode = "420607000000";
      String uuid = UUID.randomUUID().toString();
      String adCode = null;
      // 查询当前策略对应的告警规则信息
      // 查询当前策略对应的告警规则信息,根据名称获取告警信息
      AlarmRule alarmRule = alarmRuleService.getOne(new QueryWrapper<AlarmRule>().eq("rule_name", arg1));
      // 调用中台服务接口查询数据
      JSONArray ztData = noticeHandle.getZtData("", ZtApiUrlConstant.alarm_db_sy_none_api);
      // 获取告警规则详情,判断告警类型(短信,电话,站内信)
      if (null!=alarmRule) {
      if (null != alarmRule) {
         // 查询告警详情信息
         List<AlarmRuleDetail> alarmRuleDetailList = alarmRuleDetailService.list(new QueryWrapper<AlarmRuleDetail>().eq("alarm_rule_id", alarmRule.getId()));
         if (alarmRuleDetailList.size()>0){
         if (alarmRuleDetailList.size() > 0) {
            // 遍历
            for (AlarmRuleDetail alarmRuleDetail : alarmRuleDetailList) {
               if (alarmRuleDetail.getAlarmMode().equals("短信")) {
                  asyncNoticeHandle.damSafetyHandle(alarmRule, alarmRuleDetail, ztData,ZtApiDataColumnConstant.damSafetyList,true, adCode, false,uuid);
                  asyncNoticeHandle.damSafetyHandle(alarmRule, alarmRuleDetail, ztData, ZtApiDataColumnConstant.damSafetyList, true, adCode, false, uuid);
               }
            }
         }
@@ -684,14 +688,14 @@
      // 调用中台服务接口查询数据
      JSONArray ztData = noticeHandle.getZtData("", ZtApiUrlConstant.alarm_db_sl_none_api);
      // 获取告警规则详情,判断告警类型(短信,电话,站内信)
      if (null!=alarmRule) {
      if (null != alarmRule) {
         // 查询告警详情信息
         List<AlarmRuleDetail> alarmRuleDetailList = alarmRuleDetailService.list(new QueryWrapper<AlarmRuleDetail>().eq("alarm_rule_id", alarmRule.getId()));
         if (alarmRuleDetailList.size()>0){
         if (alarmRuleDetailList.size() > 0) {
            // 遍历
            for (AlarmRuleDetail alarmRuleDetail : alarmRuleDetailList) {
               if (alarmRuleDetail.getAlarmMode().equals("短信")) {
                  asyncNoticeHandle.damSafetyHandle(alarmRule, alarmRuleDetail, ztData,ZtApiDataColumnConstant.damSafetyList,true, adCode, false,uuid);
                  asyncNoticeHandle.damSafetyHandle(alarmRule, alarmRuleDetail, ztData, ZtApiDataColumnConstant.damSafetyList, true, adCode, false, uuid);
               }
            }
         }
@@ -716,14 +720,14 @@
      // 调用中台服务接口查询数据
      JSONArray ztData = noticeHandle.getZtData("", ZtApiUrlConstant.alarm_db_wy_none_api);
      // 获取告警规则详情,判断告警类型(短信,电话,站内信)
      if (null!=alarmRule) {
      if (null != alarmRule) {
         // 查询告警详情信息
         List<AlarmRuleDetail> alarmRuleDetailList = alarmRuleDetailService.list(new QueryWrapper<AlarmRuleDetail>().eq("alarm_rule_id", alarmRule.getId()));
         if (alarmRuleDetailList.size()>0){
         if (alarmRuleDetailList.size() > 0) {
            // 遍历
            for (AlarmRuleDetail alarmRuleDetail : alarmRuleDetailList) {
               if (alarmRuleDetail.getAlarmMode().equals("短信")) {
                  asyncNoticeHandle.damSafetyHandle(alarmRule, alarmRuleDetail, ztData,ZtApiDataColumnConstant.damSafetyList,true, adCode, false,uuid);
                  asyncNoticeHandle.damSafetyHandle(alarmRule, alarmRuleDetail, ztData, ZtApiDataColumnConstant.damSafetyList, true, adCode, false, uuid);
               }
            }
         }
@@ -732,4 +736,512 @@
      return "大坝安全监测告警";
   }
   /**
    * 策略24:渗压基础数据缺失
    *
    * @param arg1
    * @param arg2
    * @return
    */
   public String damSafetySyDataMissingHandle(String arg1, String arg2) {
      String uuid = UUID.randomUUID().toString();
      String adCode = null;
      // 查询当前策略对应的告警规则信息
      AlarmRule alarmRule = alarmRuleService.getOne(new QueryWrapper<AlarmRule>().eq("rule_name", arg1));
      //调用本地服务获取数据
      List<AlertTextualResearchAttachVO> syDataMissing = textualResearchAttachClient.getSyDataMissing();
      JSONArray data = JSON.parseArray(JSON.toJSONString(syDataMissing));
      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.damSafetySyDataMissingHandle(alarmRule, alarmRuleDetail, data, ZtApiDataColumnConstant.syDataMissingList, true, adCode, true, uuid);
               }
            }
         }
      }
      return "大坝安全监测渗压资料缺失告警";
   }
   /**
    * 策略25:变形基础数据缺失
    *
    * @param arg1
    * @param arg2
    * @return
    */
   public String damSafetyBxDataMissingHandle(String arg1, String arg2) {
      String uuid = UUID.randomUUID().toString();
      String adCode = null;
      // 查询当前策略对应的告警规则信息
      AlarmRule alarmRule = alarmRuleService.getOne(new QueryWrapper<AlarmRule>().eq("rule_name", arg1));
      //调用本地服务获取数据
      List<AlertTextualResearchAttachVO> syDataMissing = textualResearchAttachClient.getBxDataMissing();
      JSONArray data = JSON.parseArray(JSON.toJSONString(syDataMissing));
      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.damSafetySyDataMissingHandle(alarmRule, alarmRuleDetail, data, ZtApiDataColumnConstant.bxDataMissingList, true, adCode, true, uuid);
               }
            }
         }
      }
      return "大坝安全监测变形资料缺失告警";
   }
   /**
    * 策略26:水位低于管底高程
    *
    * @param arg1
    * @param arg2
    * @return
    */
   public String damSafetySyLessThenPipeHandle(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.alarm_db_sy_less_or_higher_api);
      JSONArray array = lessOrHigher(ztData, "less");
      // 获取告警规则详情,判断告警类型(短信,电话,站内信)
      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.damSafetySyLessThenPipeHandleSms(alarmRule, alarmRuleDetail, array, ZtApiDataColumnConstant.syLessThenPipe, true, adCode, false, uuid);
               }
               if (alarmRuleDetail.getAlarmMode().equals("站内信")) {
                  asyncNoticeHandle.damSafetySyLessThenPipeHandleStation(alarmRule, alarmRuleDetail, array, ZtApiDataColumnConstant.syLessThenPipe, true, adCode, true, uuid);
               }
            }
         }
      }
      return "水位低于管底高程告警";
   }
   /**
    * 策略27:水位高于管口高程
    *
    * @param arg1
    * @param arg2
    * @return
    */
   public String damSafetySyHigherThenNozzleHandle(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.alarm_db_sy_less_or_higher_api);
      JSONArray array = lessOrHigher(ztData, "higher");
      // 获取告警规则详情,判断告警类型(短信,电话,站内信)
      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.damSafetySyHigherThenNozzleHandleSms(alarmRule, alarmRuleDetail, array,ZtApiDataColumnConstant.syHigherThenNozzle,true, adCode, false,uuid);
//               }
               if (alarmRuleDetail.getAlarmMode().equals("站内信")) {
                  asyncNoticeHandle.damSafetySyHigherThenNozzleHandleStation(alarmRule, alarmRuleDetail, array, ZtApiDataColumnConstant.syHigherThenNozzle, true, adCode, true, uuid);
               }
            }
         }
      }
      return "水位高于管口高程告警";
   }
   /**
    * 策略28:水位高于坝顶高程
    *
    * @param arg1
    * @param arg2
    * @return
    */
   public String damSafetySyHigherThenBdElevationHandle(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.alarm_db_sy_higher_then_bdElevation_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.damSafetySyHigherThenBdElevationHandleSms(alarmRule, alarmRuleDetail, ztData, ZtApiDataColumnConstant.syHigherThenBdElevation, true, adCode, false, uuid);
               }
               if (alarmRuleDetail.getAlarmMode().equals("站内信")) {
                  asyncNoticeHandle.damSafetySyHigherThenBdElevationHandleStation(alarmRule, alarmRuleDetail, ztData, ZtApiDataColumnConstant.syHigherThenBdElevation, true, adCode, true, uuid);
               }
            }
         }
      }
      return "水位高于坝顶高程告警";
   }
   /**
    * 水位高于库水位告警
    *
    * @param arg1
    * @param arg2
    * @return
    */
   public String damSafetySyHigherThenWaterLevelHandle(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.alarm_db_sy_higher_then_water_level_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.damSafetySyHigherThenWaterLevelHandleSms(alarmRule, alarmRuleDetail, ztData, ZtApiDataColumnConstant.syHigherThenWaterLevel, true, adCode, false, uuid);
               }
               if (alarmRuleDetail.getAlarmMode().equals("站内信")) {
                  asyncNoticeHandle.damSafetySyHigherThenWaterLevelHandleStation(alarmRule, alarmRuleDetail, ztData, ZtApiDataColumnConstant.syHigherThenWaterLevel, true, adCode, true, uuid);
               }
            }
         }
      }
      return "水位高于库水位告警";
   }
   /**
    * 水位长期不变,五日变幅小于5cm,十日变幅大于5cm小于8cm,三十日变幅大于8cm小于10cm
    *
    * @param arg1
    * @param arg2
    * @return
    */
   public String damSafetySyYellowChangeHandle(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.alarm_db_sy_rz_change_api);
      JSONArray data = changeRange(ztData, "1");
      // 获取告警规则详情,判断告警类型(短信,电话,站内信)
      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.damSafetySyYellowChangeHandleSms(alarmRule, alarmRuleDetail, data, ZtApiDataColumnConstant.syYellowRzChange, true, adCode, false, uuid);
               }
               if (alarmRuleDetail.getAlarmMode().equals("站内信")) {
                  asyncNoticeHandle.damSafetySyYellowChangeHandleStation(alarmRule, alarmRuleDetail, data, ZtApiDataColumnConstant.syYellowRzChange, true, adCode, true, uuid);
               }
            }
         }
      }
      return "水位五日变幅小于5cm,十日变幅大于5cm小于8cm,三十日变幅大于8cm小于10cm告警";
   }
   /**
    * 渗压水位一日变幅大于0.5米小于1米,五日变幅大于1米小于2米,十日变幅大于2米小于5米,三十日变幅大于5米小于10米
    *
    * @param arg1
    * @param arg2
    * @return
    */
   public String damSafetySyOrangeChangeHandle(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.alarm_db_sy_rz_change_api);
      JSONArray data = changeRange(ztData, "2");
      // 获取告警规则详情,判断告警类型(短信,电话,站内信)
      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.damSafetySyOrangeChangeHandleSms(alarmRule, alarmRuleDetail, data, ZtApiDataColumnConstant.syOrangeRzChange, true, adCode, false, uuid);
               }
               if (alarmRuleDetail.getAlarmMode().equals("站内信")) {
                  asyncNoticeHandle.damSafetySyOrangeChangeHandleStation(alarmRule, alarmRuleDetail, data, ZtApiDataColumnConstant.syOrangeRzChange, true, adCode, true, uuid);
               }
            }
         }
      }
      return "水位一日变幅大于0.5米小于1米,五日变幅大于1米小于2米,十日变幅大于2米小于5米,三十日变幅大于5米小于10米告警";
   }
   /**
    * 渗压水位一日变幅大于1米小于2米,五日变幅大于2米小于5米,十日变幅大于5米小于10米,三十日变幅大于10米
    *
    * @param arg1
    * @param arg2
    * @return
    */
   public String damSafetySyRedChangeHandle(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.alarm_db_sy_rz_change_api);
      JSONArray data = changeRange(ztData, "3");
      // 获取告警规则详情,判断告警类型(短信,电话,站内信)
      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.damSafetySyRedChangeHandleSms(alarmRule, alarmRuleDetail, data, ZtApiDataColumnConstant.syRedRzChange, true, adCode, false, uuid);
               }
               if (alarmRuleDetail.getAlarmMode().equals("站内信")) {
                  asyncNoticeHandle.damSafetySyRedChangeHandleStation(alarmRule, alarmRuleDetail, data, ZtApiDataColumnConstant.syRedRzChange, true, adCode, true, uuid);
               }
            }
         }
      }
      return "水位一日变幅大于0.5米小于1米,五日变幅大于1米小于2米,十日变幅大于2米小于5米,三十日变幅大于5米小于10米告警";
   }
   /**
    * 近1h水位陡降
    *
    * @param arg1
    * @param arg2
    * @return
    */
   public String damSafetySyRz1hChangeHandle(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.alarm_db_sy_rz_1h_change_api);
      JSONArray data = judgeType(ztData);
      // 获取告警规则详情,判断告警类型(短信,电话,站内信)
      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.damSafetySyRz1hChangeHandleSms(alarmRule, alarmRuleDetail, data, ZtApiDataColumnConstant.syRz1hChange, true, adCode, false, uuid);
               }
               if (alarmRuleDetail.getAlarmMode().equals("站内信")) {
                  asyncNoticeHandle.damSafetySyRz1hChangeHandleStation(alarmRule, alarmRuleDetail, data, ZtApiDataColumnConstant.syRz1hChange, true, adCode, true, uuid);
               }
            }
         }
      }
      return "近1h水位陡降告警";
   }
   private JSONArray judgeType(JSONArray ztData) {
      JSONArray array = new JSONArray();
      for (int i = 0; i < ztData.size(); i++) {
         JSONObject jsonObject = ztData.getJSONObject(i);
         Double syVal = jsonObject.getDouble("sy_val");
         Double leadVal = jsonObject.getDouble("lead_val");
         String type = "";
         if (syVal > leadVal) {
            //当前水位大于1h
            type = "陡升";
         } else {
            type = "陡降";
         }
         jsonObject.put("type", type);
         array.add(jsonObject);
      }
      return array;
   }
   /**
    * 根据数据过滤不同程度的变幅
    *
    * @param ztData
    * @param level  1黄、2橙、3红
    * @return
    */
   private JSONArray changeRange(JSONArray ztData, String level) {
      JSONArray array = new JSONArray();
      for (int i = 0; i < ztData.size(); i++) {
         JSONObject jsonObject = ztData.getJSONObject(i);
         String dataLevel = jsonObject.getString("level");
         //一日变幅
         Double diff2 = jsonObject.getDouble("diff_2");
         //五日变幅
         Double diff5 = jsonObject.getDouble("diff_5");
         //十日变幅
         Double diff10 = jsonObject.getDouble("diff_10");
         //三十日变幅
         Double diff30 = jsonObject.getDouble("diff_30");
         String dayNum = "";
         String diffVal = "";
         if (dataLevel.equals(level)) {
            if (level.equals("1")) {
               //水位长期不变,五日变幅小于5cm,十日变幅大于5cm小于8cm,三十日变幅大于8cm小于10cm
               if (diff5 < 0.05) {
                  dayNum = "五";
                  diffVal = diff5.toString();
               } else if (0.05 < diff10 && diff10 < 0.08) {
                  dayNum = "十";
                  diffVal = diff10.toString();
               } else if (0.08 < diff30 && diff30 < 0.1) {
                  dayNum = "三十";
                  diffVal = diff30.toString();
               }
            } else if (level.equals("2")) {
               //渗压水位一日变幅大于0.5米小于1米,五日变幅大于1米小于2米,十日变幅大于2米小于5米,三十日变幅大于5米小于10米
               if (0.5 < diff2 && diff2 < 1) {
                  dayNum = "一";
                  diffVal = diff2.toString();
               } else if (1 < diff5 && diff5 < 2) {
                  dayNum = "五";
                  diffVal = diff5.toString();
               } else if (2 < diff10 && diff10 < 5) {
                  dayNum = "十";
                  diffVal = diff10.toString();
               } else if (5 < diff30 && diff30 < 10) {
                  dayNum = "三十";
                  diffVal = diff30.toString();
               }
            } else if (level.equals("3")) {
               //渗压水位一日变幅大于1米小于2米,五日变幅大于2米小于5米,十日变幅大于5米小于10米,三十日变幅大于10米
               if (1 < diff2 && diff2 < 2) {
                  dayNum = "一";
                  diffVal = diff2.toString();
               } else if (2 < diff5 && diff5 < 5) {
                  dayNum = "五";
                  diffVal = diff5.toString();
               } else if (5 < diff10 && diff10 < 10) {
                  dayNum = "十";
                  diffVal = diff10.toString();
               } else if (10 < diff30) {
                  dayNum = "三十";
                  diffVal = diff30.toString();
               }
            }
            jsonObject.put("dayNum", dayNum);
            if (diffVal.equals("0.0")) {
               diffVal = "0";
            }
            jsonObject.put("diff_val", diffVal);
            array.add(jsonObject);
         }
      }
      return array;
   }
   /**
    * 过滤低于管底高程数据或高于管口高程数据
    *
    * @param ztData
    * @param flag
    * @return
    */
   private JSONArray lessOrHigher(JSONArray ztData, String flag) {
      JSONArray array = new JSONArray();
      for (int i = 0; i < ztData.size(); i++) {
         JSONObject jsonObject = ztData.getJSONObject(i);
         //获取低于管底高程数据min_value < tbbtel  即 min_value - tbbtel <0  即diff_tbb_val <0
         if (flag == "less") {
            Double differ = jsonObject.getDouble("diff_tbb_val");
            if (differ < 0) {
               //加进一个绝对值方便展示
               jsonObject.put("diff_tbb_val_abs", Math.abs(differ));
               array.add(jsonObject);
            }
         } else if (flag == "higher") {
            //获取高于管口高程数据,即 max_value > tbttel 即 max_value - tbttel >0 即 diff_tbt_val >0
            Double differ = jsonObject.getDouble("diff_tbt_val");
            if (differ > 0) {
               array.add(jsonObject);
            }
         }
      }
      return array;
   }
}