From 2a8d438cc26d05b7518c68ea7d5a1b6a7df5a419 Mon Sep 17 00:00:00 2001
From: guoshilong <123456>
Date: Sat, 20 Jan 2024 10:49:35 +0800
Subject: [PATCH] 巡查任务结束后,更新大坝任务状态或白蚁任务状态

---
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/service/impl/PatrolTaskServiceImpl.java        |   13 ++
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/IWaterDataTermitesService.java         |   10 ++
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/controller/WaterDataTermitesController.java    |   37 +++++++
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/mapper/WaterDataTermitesMapper.java            |   14 ++
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/entity/WaterDataTermites.java                  |  135 +++++++++++++++++++++++++++
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/impl/WaterDataTermitesServiceImpl.java |   30 ++++++
 skjcmanager/skjcmanager-service-api/skjcmanager-nky-api/src/main/java/cn/gistack/nky/fegin/INkyClient.java                       |    5 +
 skjcmanager/skjcmanager-service-api/skjcmanager-nky-api/src/main/java/cn/gistack/nky/fegin/INkyClientFallback.java               |    5 +
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/mapper/WaterDataTermitesMapper.xml             |    9 +
 skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/feign/NkyClientImpl.java                            |   16 +++
 10 files changed, 274 insertions(+), 0 deletions(-)

diff --git a/skjcmanager/skjcmanager-service-api/skjcmanager-nky-api/src/main/java/cn/gistack/nky/fegin/INkyClient.java b/skjcmanager/skjcmanager-service-api/skjcmanager-nky-api/src/main/java/cn/gistack/nky/fegin/INkyClient.java
index 6c1ff06..6f77baf 100644
--- a/skjcmanager/skjcmanager-service-api/skjcmanager-nky-api/src/main/java/cn/gistack/nky/fegin/INkyClient.java
+++ b/skjcmanager/skjcmanager-service-api/skjcmanager-nky-api/src/main/java/cn/gistack/nky/fegin/INkyClient.java
@@ -42,6 +42,8 @@
 
 	String UPDATE_ALARM_GET_STATUS= API_PREFIX + "updateAlarmGetStatus";
 
+	String FINISH_TASK = API_PREFIX + "finishTask";
+
 	/**
 	 * 获取arima预测结果
 	 * @param type
@@ -92,4 +94,7 @@
 
 	@PostMapping(UPDATE_ALARM_GET_STATUS)
 	Boolean updateStatus(@RequestBody AlarmGet alarmGet);
+
+	@GetMapping(FINISH_TASK)
+	Boolean finishTask(@RequestParam("taskId") String taskId);
 }
diff --git a/skjcmanager/skjcmanager-service-api/skjcmanager-nky-api/src/main/java/cn/gistack/nky/fegin/INkyClientFallback.java b/skjcmanager/skjcmanager-service-api/skjcmanager-nky-api/src/main/java/cn/gistack/nky/fegin/INkyClientFallback.java
index 39f57ab..736f71a 100644
--- a/skjcmanager/skjcmanager-service-api/skjcmanager-nky-api/src/main/java/cn/gistack/nky/fegin/INkyClientFallback.java
+++ b/skjcmanager/skjcmanager-service-api/skjcmanager-nky-api/src/main/java/cn/gistack/nky/fegin/INkyClientFallback.java
@@ -61,5 +61,10 @@
 		return null;
 	}
 
+	@Override
+	public Boolean finishTask(String taskId) {
+		return null;
+	}
+
 
 }
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 8fc7d7c..1f26bf3 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
@@ -9,6 +9,7 @@
 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;
@@ -138,4 +139,19 @@
 	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;
+	}
 }
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/service/impl/PatrolTaskServiceImpl.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/service/impl/PatrolTaskServiceImpl.java
index 4f2e3de..1c83161 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/service/impl/PatrolTaskServiceImpl.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/service/impl/PatrolTaskServiceImpl.java
@@ -5,6 +5,7 @@
 import cn.gistack.flow.core.feign.IFlowClient;
 import cn.gistack.flow.core.utils.FlowUtil;
 import cn.gistack.flow.core.utils.TaskUtil;
+import cn.gistack.nky.fegin.INkyClient;
 import cn.gistack.sm.patrol.entity.PatrolRecord;
 import cn.gistack.sm.patrol.entity.PatrolReport;
 import cn.gistack.sm.patrol.entity.PatrolTask;
@@ -18,6 +19,7 @@
 import cn.gistack.sm.patrol.vo.PatrolTaskReport;
 import cn.gistack.sm.patrol.vo.PatrolTaskVO;
 import cn.gistack.sm.patrol.vo.TaskStatusCount;
+import cn.gistack.sm.sjztmd.service.IWaterDataTermitesService;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import lombok.AllArgsConstructor;
 import org.springblade.core.log.exception.ServiceException;
@@ -46,6 +48,8 @@
 	private final IFlowClient flowClient;
 	private final IPatrolRecordService patrolRecordService;
 	private final IPatrolReportService patrolReportService;
+	private final INkyClient nkyClient;
+	private final IWaterDataTermitesService waterDataTermitesService;
 
 	/**
 	 * 自定义分页查询
@@ -160,6 +164,15 @@
 			//保存上报
 			//停用
 //			saveReport(patrolTask);
+
+
+			//查监测预警表,看是否有这个任务,有的话修改任务状态
+			Boolean finishDamTask = nkyClient.finishTask(patrolTask.getId().toString());
+			if (!finishDamTask){
+				//查白蚁表,看是否有这个任务,有的话修改任务状态
+				Boolean finishTermitesTask = waterDataTermitesService.finishTask(patrolTask.getId().toString());
+			}
+
 			return baseMapper.updateById(patrolTask) >0;
 		}else {
 			return  false;
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/controller/WaterDataTermitesController.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/controller/WaterDataTermitesController.java
new file mode 100644
index 0000000..2ff918d
--- /dev/null
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/controller/WaterDataTermitesController.java
@@ -0,0 +1,37 @@
+package cn.gistack.sm.sjztmd.controller;
+
+import cn.gistack.nky.entity.AlarmGet;
+import cn.gistack.sm.sjztmd.entity.WaterDataTermites;
+import cn.gistack.sm.sjztmd.service.IWaterDataTermitesService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.AllArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.springblade.core.tool.api.R;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+@Slf4j
+@Api(tags = "白蚁监测数据")
+@RestController
+@RequestMapping("/sjztmd/waterDataTermites")
+@AllArgsConstructor
+public class WaterDataTermitesController {
+
+	private final IWaterDataTermitesService waterDataTermitesService;
+
+	/**
+	 * 状态修改
+	 * @param waterDataTermites
+	 * @return
+	 */
+	@PostMapping("/updateStatus")
+	@ApiOperation(value = "白蚁-状态修改", notes = "白蚁-白蚁状态修改")
+	public R updateStatus(WaterDataTermites waterDataTermites){
+		return R.data(waterDataTermitesService.updateStatus(waterDataTermites));
+	}
+
+
+
+}
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/entity/WaterDataTermites.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/entity/WaterDataTermites.java
new file mode 100644
index 0000000..cb74f2c
--- /dev/null
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/entity/WaterDataTermites.java
@@ -0,0 +1,135 @@
+package cn.gistack.sm.sjztmd.entity;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * 白蚁数据监测实体类
+ *
+ * @author Chill
+ */
+@Data
+@TableName("\"water_data_termites\"")
+@ApiModel(value = "行政区划对象", description = "行政区划对象")
+public class WaterDataTermites implements Serializable {
+
+	private static final long serialVersionUID = 1L;
+
+	/**
+	 * 主键
+	 */
+	@JsonSerialize(using = ToStringSerializer.class)
+	@ApiModelProperty(value = "主键")
+	@TableField("\"id\"")
+	@TableId("\"id\"")
+	private Integer id;
+
+	/**
+	 * 中心站地址
+	 */
+	@ApiModelProperty(value = "中心站地址")
+	@TableField("\"station_id\"")
+	private Integer stationId;
+
+	/**
+	 *
+	 * 站点名称
+	 */
+	@ApiModelProperty(value = "站点名称")
+	@TableField("\"station_name\"")
+	private String stationName;
+
+	/**
+	 * 设备id
+	 */
+	@JsonSerialize(using = ToStringSerializer.class)
+	@ApiModelProperty(value = "设备id")
+	@TableField("\"device_id\"")
+	private Integer deviceId;
+
+	/**
+	 * 设备名称
+	 */
+	@JsonSerialize(using = ToStringSerializer.class)
+	@ApiModelProperty(value = "设备名称")
+	@TableField("\"device_name\"")
+	private String deviceName;
+
+	/**
+	 * 设备编码
+	 */
+	@ApiModelProperty(value = "设备编码")
+	@TableField("\"mn_no\"")
+	private String mnNo;
+
+	/**
+	 * 白蚁蚁情状态,有白蚁入侵为1
+	 */
+	@ApiModelProperty(value = "白蚁蚁情状态,有白蚁入侵为1")
+	@TableField("\"status\"")
+	private Integer status;
+
+	/**
+	 * 白蚁设备电量
+	 */
+	@ApiModelProperty(value = "白蚁设备电量")
+	@TableField("\"electricity\"")
+	private Integer electricity;
+
+	/**
+	 * 白蚁设备安装的点位顺序
+	 */
+	@ApiModelProperty(value = "白蚁设备安装的点位顺序")
+	@TableField("\"order\"")
+	private Integer order;
+
+	/**
+	 * 创建时间
+	 */
+	@ApiModelProperty(value = "创建时间")
+	@TableField("\"created_at\"")
+	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+	private Date createdAt;
+
+	/**
+	 * 观测时间
+	 */
+	@ApiModelProperty(value = "观测时间")
+	@TableField("\"ob_time\"")
+	private String obTime;
+
+	/**
+	 * 观测时间2
+	 */
+	@ApiModelProperty(value = "观测时间2")
+	@TableField("\"ob_date\"")
+	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+	private Date obDate;
+
+	/**
+	 * 处置状态(1、已处置;2、未处置;9、处理中)
+	 */
+	@ApiModelProperty(value = "处置状态(1、已处置;2、未处置;9、处理中)")
+	@TableField("\"task_status\"")
+	private String taskStatus;
+
+	/**
+	 * 任务id
+	 */
+	@ApiModelProperty(value = "任务id")
+	@TableField("\"task_id\"")
+	private String taskId;
+}
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/mapper/WaterDataTermitesMapper.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/mapper/WaterDataTermitesMapper.java
new file mode 100644
index 0000000..6126872
--- /dev/null
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/mapper/WaterDataTermitesMapper.java
@@ -0,0 +1,14 @@
+package cn.gistack.sm.sjztmd.mapper;
+
+import cn.gistack.sm.sjztmd.entity.TbResStagCapDisc;
+import cn.gistack.sm.sjztmd.entity.WaterDataTermites;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+
+public interface WaterDataTermitesMapper extends BaseMapper<WaterDataTermites> {
+
+    WaterDataTermites getByTaskId(@Param("taskId") String taskId);
+}
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/mapper/WaterDataTermitesMapper.xml b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/mapper/WaterDataTermitesMapper.xml
new file mode 100644
index 0000000..e991975
--- /dev/null
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/mapper/WaterDataTermitesMapper.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
+<mapper namespace="cn.gistack.sm.sjztmd.mapper.WaterDataTermitesMapper">
+    <!--namespace根据自己需要创建的的mapper的路径和名称填写-->
+
+    <select id="getByTaskId" resultType="cn.gistack.sm.sjztmd.entity.WaterDataTermites">
+        SELECT "id","task_status","task_id" FROM SJZT_ODS."water_data_termites" WHERE "task_id" = #{taskId}
+    </select>
+</mapper>
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/IWaterDataTermitesService.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/IWaterDataTermitesService.java
new file mode 100644
index 0000000..5e2c982
--- /dev/null
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/IWaterDataTermitesService.java
@@ -0,0 +1,10 @@
+package cn.gistack.sm.sjztmd.service;
+
+import cn.gistack.sm.sjztmd.entity.WaterDataTermites;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+public interface IWaterDataTermitesService extends IService<WaterDataTermites> {
+	Boolean updateStatus(WaterDataTermites waterDataTermites);
+
+	Boolean finishTask(String taskId);
+}
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/impl/WaterDataTermitesServiceImpl.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/impl/WaterDataTermitesServiceImpl.java
new file mode 100644
index 0000000..960afb2
--- /dev/null
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/impl/WaterDataTermitesServiceImpl.java
@@ -0,0 +1,30 @@
+package cn.gistack.sm.sjztmd.service.impl;
+
+import cn.gistack.nky.entity.AlarmGet;
+import cn.gistack.sm.sjztmd.entity.WaterDataTermites;
+import cn.gistack.sm.sjztmd.mapper.WaterDataTermitesMapper;
+import cn.gistack.sm.sjztmd.service.IWaterDataTermitesService;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+@Service
+public class WaterDataTermitesServiceImpl extends ServiceImpl<WaterDataTermitesMapper,WaterDataTermites> implements IWaterDataTermitesService {
+	@Override
+	public Boolean updateStatus(WaterDataTermites waterDataTermites) {
+		return updateById(waterDataTermites);
+	}
+
+	@Override
+	public Boolean finishTask(String taskId) {
+
+		WaterDataTermites waterDataTermites = baseMapper.getByTaskId(taskId);
+		if (waterDataTermites != null){
+			//设置预警为已处理
+			waterDataTermites.setTaskStatus("1");
+			Boolean aBoolean = updateStatus(waterDataTermites);
+			return  aBoolean;
+		}
+		return false;
+	}
+}

--
Gitblit v1.9.3