From 4e08228935a5c636da5281c47cf65ce91bc02a65 Mon Sep 17 00:00:00 2001
From: guoshilong <123456>
Date: Wed, 06 Dec 2023 16:39:55 +0800
Subject: [PATCH] 告警处理
---
skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/alarmRule/service/AlarmRecordService.java | 2 +
skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/alarmRule/mapper/AlarmRecordMapper.java | 4 ++
skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/alarmRule/service/impl/AlarmRecordServiceImpl.java | 35 +++++++++++++++++
skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/alarmRule/controller/AlarmRecordController.java | 12 ++++++
skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/alarmRule/mapper/AlarmRecordMapper.xml | 22 +++++++++++
skjcmanager/skjcmanager-service-api/skjcmanager-alerts-api/src/main/java/cn/gistack/alerts/alarmRule/entity/AlarmRecord.java | 5 ++
6 files changed, 80 insertions(+), 0 deletions(-)
diff --git a/skjcmanager/skjcmanager-service-api/skjcmanager-alerts-api/src/main/java/cn/gistack/alerts/alarmRule/entity/AlarmRecord.java b/skjcmanager/skjcmanager-service-api/skjcmanager-alerts-api/src/main/java/cn/gistack/alerts/alarmRule/entity/AlarmRecord.java
index c8b5170..fb828a3 100644
--- a/skjcmanager/skjcmanager-service-api/skjcmanager-alerts-api/src/main/java/cn/gistack/alerts/alarmRule/entity/AlarmRecord.java
+++ b/skjcmanager/skjcmanager-service-api/skjcmanager-alerts-api/src/main/java/cn/gistack/alerts/alarmRule/entity/AlarmRecord.java
@@ -47,4 +47,9 @@
* 临时编号-每次任务执行都不一样
*/
private String tempCode;
+
+ /**
+ * 任务id
+ */
+ private String taskId;
}
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/alarmRule/controller/AlarmRecordController.java b/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/alarmRule/controller/AlarmRecordController.java
index 73e1f3d..154fa90 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/alarmRule/controller/AlarmRecordController.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/alarmRule/controller/AlarmRecordController.java
@@ -64,6 +64,18 @@
}
/**
+ * 添加
+ *
+ * @param alarmRecord
+ * @return
+ */
+ @ApiOperation(value="告警记录-修改状态", notes="告警记录-修改状态")
+ @PostMapping(value = "/updateStatus")
+ public R updateStatus(@RequestBody AlarmRecord alarmRecord) {
+ return R.data(alarmRecordService.updateStatus(alarmRecord));
+ }
+
+ /**
* 编辑
*
* @param alarmRecord
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/alarmRule/mapper/AlarmRecordMapper.java b/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/alarmRule/mapper/AlarmRecordMapper.java
index d8f5b33..b8c111d 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/alarmRule/mapper/AlarmRecordMapper.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/alarmRule/mapper/AlarmRecordMapper.java
@@ -26,6 +26,8 @@
*/
List<AlarmRecordVO> selectAlarmRecordPage(IPage<AlarmRecordVO> page,@Param("alarmRecord") AlarmRecordVO alarmRecord);
+ AlarmRecordVO getVODetail(@Param("id") Long id);
+
/**
* 查询告警统计数据-按三大类
* @param alarmRecord
@@ -54,4 +56,6 @@
* @return
*/
List<AlarmRule> listAlarmRule(@Param("alarmRecord") AlarmRecordVO alarmRecord);
+
+
}
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/alarmRule/mapper/AlarmRecordMapper.xml b/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/alarmRule/mapper/AlarmRecordMapper.xml
index 4b03116..dab7adb 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/alarmRule/mapper/AlarmRecordMapper.xml
+++ b/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/alarmRule/mapper/AlarmRecordMapper.xml
@@ -47,6 +47,28 @@
order by sar.id desc
</select>
+ <select id="getVODetail" resultType="cn.gistack.alerts.alarmRule.vo.AlarmRecordVO">
+ select
+ sar.*,
+ sar1.type,sar1.alarm_rule_type as alarmRuleType,sar1.create_alarm_type as createAlarmType,sar1.rule_name as ruleName,
+ a."name" as reservoirName,a."res_reg_code" as resRegCode,a."eng_scal" as engScal,
+ case when b."ad_grad" = 4 THEN b."ad_name"
+ ELSE NULL END AS townName,
+ case when b."ad_grad" = 3 THEN b."ad_name"
+ when c."ad_grad" = 3 THEN C."ad_name"
+ END AS countyName,
+ case when b."ad_grad" = 2 THEN b."ad_name"
+ when c."ad_grad" = 2 THEN c."ad_name"
+ ELSE d."ad_name" END AS cityName
+ from YWXT.sm_alarm_record sar
+ left join YWXT.sm_alarm_rule sar1 on sar.alarm_rule_id = sar1.id and sar1.is_deleted = 0
+ left join SJZT_MD."att_res_base" a on a."guid" = sar.reservoir_number
+ left join SJZT_MD."att_ad_base" b on b."guid" = a."interior_ad_guid"
+ LEFT JOIN SJZT_MD."att_ad_base" c ON b."p_ad_code" = c."guid"
+ LEFT JOIN SJZT_MD."att_ad_base" d ON c."p_ad_code" = d."guid"
+ where sar.is_deleted = 0 and sar.id = #{id}
+ </select>
+
<!--按行政区code 查询下级行政区-->
<select id="getAdNameList" resultType="java.lang.String">
select "ad_name" from SJZT_MD."att_ad_base" where "p_ad_code" = #{adCode} order by "guid"
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/alarmRule/service/AlarmRecordService.java b/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/alarmRule/service/AlarmRecordService.java
index a3ab5a7..b44e7b6 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/alarmRule/service/AlarmRecordService.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/alarmRule/service/AlarmRecordService.java
@@ -33,4 +33,6 @@
* @return
*/
Object statisticAlarmRecord(AlarmRecordVO alarmRecord);
+
+ Boolean updateStatus(AlarmRecord alarmRecord);
}
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/alarmRule/service/impl/AlarmRecordServiceImpl.java b/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/alarmRule/service/impl/AlarmRecordServiceImpl.java
index fc98fa7..c35758c 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/alarmRule/service/impl/AlarmRecordServiceImpl.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-alerts/src/main/java/cn/gistack/alerts/alarmRule/service/impl/AlarmRecordServiceImpl.java
@@ -9,12 +9,16 @@
import cn.gistack.alerts.alarmRule.vo.StatisticAlarmRecord;
import cn.gistack.alerts.sms.vo.Temp;
import cn.gistack.sm.intelligentCall.entity.Scene;
+import cn.gistack.sm.patrol.feign.PatrolTaskClient;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.springblade.core.mp.base.BaseServiceImpl;
import org.springblade.core.secure.utils.AuthUtil;
+import org.springblade.core.tool.utils.DateUtil;
+import org.springblade.core.tool.utils.StringUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList;
import java.util.HashMap;
@@ -32,6 +36,9 @@
@Autowired
private AlarmRuleService alarmRuleService;
+
+ @Autowired
+ private PatrolTaskClient patrolTaskClient;
/**
* 自定义分页列表查询
@@ -111,4 +118,32 @@
// 返回数据
return objects;
}
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public Boolean updateStatus(AlarmRecord alarmRecord) {
+
+ AlarmRecordVO vo = baseMapper.getVODetail(alarmRecord.getId());
+ String processDefinitionId = "c2d5326e-e27b-11ed-a04e-00ff0b362ee4";
+
+ //日常巡查
+ String taskType = "1641037874390999041";
+ String title = StringUtil.format("{}{}巡查",
+ vo.getReservoirName(),vo.getAlarmRuleType());
+
+ String tm = DateUtil.format(vo.getCreateTime(),"MM月dd日HH时mm分");
+
+ //杨树堰水库在20231206 080005时近1h水位陡降
+ String content = StringUtil.format("{}在{}时{}",
+ vo.getReservoirName(),tm,vo.getRuleName());
+
+ //创建新任务
+ String taskId = patrolTaskClient.createTask(processDefinitionId, taskType, title, content, vo.getReservoirNumber());
+
+ //更新状态
+ alarmRecord.setTaskId(taskId);
+ boolean b = updateById(alarmRecord);
+
+ return b;
+ }
}
--
Gitblit v1.9.3