From 2f8eaa7c850445fde0cdca0e8ecddcb7e2a936a3 Mon Sep 17 00:00:00 2001
From: guoshilong <123456>
Date: Tue, 05 Mar 2024 16:01:35 +0800
Subject: [PATCH] 洪水预报接口对接

---
 skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/feign/NkyClientImpl.java |   87 +++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 87 insertions(+), 0 deletions(-)

diff --git a/skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/feign/NkyClientImpl.java b/skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/feign/NkyClientImpl.java
index 8582a3a..92bec2c 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/feign/NkyClientImpl.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/feign/NkyClientImpl.java
@@ -7,9 +7,18 @@
 import cn.gistack.nky.service.IHstPredictService;
 import cn.gistack.nky.service.INkyService;
 import cn.gistack.nky.vo.AlarmGetVO;
+import cn.gistack.nky.vo.PageVO;
+import cn.gistack.sm.patrol.feign.PatrolTaskClient;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
 import lombok.AllArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
+import org.springblade.core.mp.support.Condition;
+import org.springblade.core.mp.support.Query;
 import org.springblade.core.tenant.annotation.NonDS;
+import org.springblade.core.tool.utils.DateUtil;
+import org.springblade.core.tool.utils.StringUtil;
+import org.springframework.transaction.annotation.Transactional;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RestController;
@@ -28,6 +37,7 @@
 	private final IArimaPredictService arimaPredictService;
 	private final IHstPredictService hstPredictService;
 	private final IAlarmGetService alarmGetService;
+	private final PatrolTaskClient patrolTaskClient;
 
 
 	@Override
@@ -71,4 +81,81 @@
 	public List<AlarmGetVO> getAlarmDetail(AlarmGetVO alarmGet) {
 		return alarmGetService.getAlarmDetail(alarmGet);
 	}
+
+	@Override
+	@PostMapping(GET_ALARM_DETAIL_PAGE)
+	public PageVO<AlarmGetVO> getAlarmDetailPage(Integer current, Integer size, AlarmGetVO alarmGet,
+												 String ascs,
+												 String descs) {
+		Query query = new Query();
+		query.setCurrent(current);
+		query.setSize(size);
+		query.setAscs(ascs);
+		query.setDescs(descs);
+		IPage<AlarmGetVO> alarmDetailPage = alarmGetService.getAlarmDetailPage(Condition.getPage(query), alarmGet);
+
+		PageVO<AlarmGetVO> pageVO = new PageVO();
+
+		pageVO.setData(alarmDetailPage.getRecords());
+		pageVO.setTotal(alarmDetailPage.getTotal());
+		pageVO.setCurrent(alarmDetailPage.getCurrent());
+		pageVO.setSize(alarmDetailPage.getSize());
+
+		return pageVO;
+	}
+
+	@Override
+	@PostMapping(UPDATE_ALARM_GET)
+	@Transactional(rollbackFor = Exception.class)
+	public Boolean updateAlarmGet(AlarmGetVO alarmGet) {
+		//修改处置状态
+		AlarmGetVO byId = alarmGetService.getAlarmVO(alarmGet);
+
+		String processDefinitionId = "c2d5326e-e27b-11ed-a04e-00ff0b362ee4";
+
+		//日常巡查
+		String taskType = "1641037874390999041";
+
+		//杨树堰水库大坝预警巡查
+		String title = StringUtil.format("{}大坝预警巡查",byId.getReservoirName());
+
+		//杨树堰水库在2023-11-29 17:41:19时监测到位移GN1测点,测点值为2.37,预警等级为三级
+
+		String resNm = byId.getReservoirName();
+		String tm = DateUtil.format(byId.getTime(),"MM月dd日HH时mm分");
+		String typeName = byId.getTypeName();
+		String cdNm = byId.getCdName();
+		String value = byId.getValue();
+		String level =String.valueOf( byId.getLevel());
+
+		String content=StringUtil.format("{}在{}时监测到{}{}测点值为{},预警等级为{}级",
+			resNm,tm,typeName,cdNm,value,level);
+		String resCd = byId.getDamId();
+
+		//创建巡查任务
+		String taskId = patrolTaskClient.createTask(processDefinitionId,taskType,title,content,resCd);
+		alarmGet.setTaskId(taskId);
+		return alarmGetService.updateById(alarmGet);
+	}
+
+	@Override
+	@PostMapping(UPDATE_ALARM_GET_STATUS)
+	public Boolean updateStatus(AlarmGet alarmGet) {
+		return alarmGetService.updateById(alarmGet);
+	}
+
+	@Override
+	@GetMapping(FINISH_TASK)
+	public Boolean finishTask(String taskId) {
+
+		AlarmGet alarmGet = alarmGetService.getOne(new QueryWrapper<AlarmGet>().eq("TASK_ID", taskId));
+
+		if (alarmGet != null){
+			//设置预警为已处理
+			alarmGet.setStatus("1");
+			Boolean aBoolean = updateStatus(alarmGet);
+			return  aBoolean;
+		}
+		return false;
+	}
 }

--
Gitblit v1.9.3