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; } 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 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); } 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" 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); } 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; } }