zhangk
2024-06-26 723bfb3eda20ad768eb2efb1aedc08d5b82b2318
Merge branch 'jtdev' of https://hbsl-code.gistack.cn/hbwri/manager into develop_zk
3 files modified
100 ■■■■ changed files
skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/notice/service/impl/NoticeHandle.java 25 ●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/notice/service/impl/NoticeStrategyImpl.java 71 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/notice/strategy/NoticeStrategyContext.java 4 ●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/notice/service/impl/NoticeHandle.java
@@ -598,10 +598,10 @@
            .eq("temp_code", uuid)
            .eq("alarm_rule_id", alarmRule.getId())
            .eq("reservoir_number", list.get(1))
            .eq("alarm_survey_station_code",list.get(0))
//            .eq("alarm_survey_station_code",list.get(0))
        );
        if (null != alarmRecord) {
        if (null!=alarmRecord) {
            //删除测值
            list.remove(3);
            // 删除测站编号
@@ -619,19 +619,8 @@
            alarm.setMonitorData(list.get(3));
            //删除测值
            list.remove(3);
            //一个水库同个规则中保存一次处理--Shit mountain code
            AlarmRecord alarmRecord2 = alarmRecordService.getOne(new QueryWrapper<AlarmRecord>()
                .eq("alarm_rule_id", alarmRule.getId())
                .eq("reservoir_number", list.get(1))
                .gt("create_time", DateUtil.format(new Date(),"yyyy-MM-dd"))
            );
            boolean save = true;
            if (null == alarmRecord2) {
                // 新增
                save = alarmRecordService.save(alarm);
            }
            // 新增
            boolean save = alarmRecordService.save(alarm);
            // 删除测站编号
            list.remove(0);
            if (save) {
@@ -644,12 +633,12 @@
    public AlarmRecord saveAlarmRecord(List<String> list, AlarmRule alarmRule, String uuid, String remark) {
        AlarmRecord alarmRecord = alarmRecordService.getOne(new QueryWrapper<AlarmRecord>()
            .eq("temp_code", uuid)
                .eq("temp_code", uuid)
                .eq("alarm_rule_id", alarmRule.getId())
                .eq("reservoir_number", list.get(1))
                .eq("alarm_survey_station_code",list.get(0))
//            .eq("alarm_survey_station_code",list.get(0))
        );
        if (null != alarmRecord) {
        if (null!=alarmRecord) {
            //删除测值
            list.remove(3);
            // 删除测站编号
skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/notice/service/impl/NoticeStrategyImpl.java
@@ -259,6 +259,40 @@
        return "水位小幅超汛限告警";
    }
    /**
     * 策略7.1: 水位小幅超汛限告警2--水位高于汛限水位20cm
     *
     * @param arg1
     * @param arg2
     * @return
     */
    public String waterSmallScaleOver20Handle(String arg1, String arg2) {
//        String adCode = "421303000000";
        String adCode = null;
        String uuid = UUID.randomUUID().toString();
        // 查询当前策略对应的告警规则信息
        AlarmRule alarmRule = alarmRuleService.getOne(new QueryWrapper<AlarmRule>().eq("rule_name", arg1));
        // 调用中台服务接口查询数据
        JSONArray ztData = noticeHandle.getZtData("", ZtApiUrlConstant.res_over_z_small_over_api);
        // 获取告警规则详情,判断告警类型(短信,电话,站内信)
        if (null != alarmRule) {
            // 查询告警详情信息
            List<AlarmRuleDetail> alarmRuleDetailList = alarmRuleDetailService.list(new QueryWrapper<AlarmRuleDetail>().eq("alarm_rule_id", alarmRule.getId()));
            if (alarmRuleDetailList.size() > 0) {
                // 遍历
                if (alarmRuleDetailList.get(0).getAlarmMode().equals("短信")) {
                    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);
                }
            }
        }
        // 返回
        return "水位小幅超汛限告警";
    }
    /**
     * 策略8: 水位大幅超汛限告警
     *
@@ -570,7 +604,7 @@
                // 遍历
                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, false, adCode, false, uuid);
                    }
//                    if (alarmRuleDetail.getAlarmMode().equals("电话")) {
//                        asyncNoticeHandle.outCallHandleCall(alarmRule, alarmRuleDetail, ztData,ZtApiDataColumnConstant.sixHourRainList,true, adCode, false,uuid);
@@ -582,6 +616,41 @@
        return "6小时降雨告警";
    }
    /**
     * 策略18: 6小时降雨告警
     *
     * @param arg1
     * @param arg2
     * @return
     */
    public String sixHourRainHandle2(String arg1, String arg2) {
        //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_rain_6_over_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.sixHourRainHandle(alarmRule, alarmRuleDetail, ztData, ZtApiDataColumnConstant.sixHourRainList, false, adCode, false, uuid);
                    }
                    if (alarmRuleDetail.getAlarmMode().equals("电话")) {
                        asyncNoticeHandle.outCallHandleCall(alarmRule, alarmRuleDetail, ztData,ZtApiDataColumnConstant.sixHourRainList,false, adCode, false,uuid);
                    }
                }
            }
        }
        // 返回
        return "6小时降雨告警";
    }
    /**
     * 策略19: 大坝安全监测告警-数据缺失
skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/notice/strategy/NoticeStrategyContext.java
@@ -50,6 +50,8 @@
        strategyMap.put("waterFirstOverHandle", (arg1, arg2) -> noticeStrategyImpl.waterFirstOverHandle(arg1, arg2));
        //7
        strategyMap.put("waterSmallScaleOverHandle", (arg1, arg2) -> noticeStrategyImpl.waterSmallScaleOverHandle(arg1, arg2));
        //7.1
        strategyMap.put("waterSmallScaleOver20Handle", (arg1, arg2) -> noticeStrategyImpl.waterSmallScaleOver20Handle(arg1, arg2));
        //8
        strategyMap.put("waterBigScaleOverHandle", (arg1, arg2) -> noticeStrategyImpl.waterBigScaleOverHandle(arg1, arg2));
        //9
@@ -72,6 +74,8 @@
        strategyMap.put("twoHourRainHandle", (arg1, arg2) -> noticeStrategyImpl.twoHourRainHandle(arg1, arg2));
        //18 6小时降雨告警
        strategyMap.put("sixHourRainHandle", (arg1, arg2) -> noticeStrategyImpl.sixHourRainHandle(arg1, arg2));
        //18 6小时降雨告警2
        strategyMap.put("sixHourRainHandle2", (arg1, arg2) -> noticeStrategyImpl.sixHourRainHandle2(arg1, arg2));
        //19 大坝安全监测告警-数据缺失
        strategyMap.put("damSafetyHandle", (arg1, arg2) -> noticeStrategyImpl.damSafetyHandle(arg1, arg2));
        //20 大坝安全监测告警-渗压管水位