From 534be798cfd15beb4f1d9715eeeb739a3e775e32 Mon Sep 17 00:00:00 2001
From: guoshilong <123456>
Date: Mon, 07 Aug 2023 15:32:30 +0800
Subject: [PATCH] 大坝安全监测统计接口
---
skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/service/IAlarmGetService.java | 5
skjcmanager/skjcmanager-service-api/skjcmanager-nky-api/src/main/java/cn/gistack/nky/vo/AlarmGetVO.java | 11 +
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/damSecurity/mapper/DamSecurityMapper.xml | 172 +++++++++++++++++++++
skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/rabbitmq/MyRabbitReceiver.java | 4
skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/mapper/AlarmGetMapper.java | 5
skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/service/impl/AlarmGetServiceImpl.java | 6
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/damSecurity/controller/DamSecurityController.java | 48 +++++
skjcmanager/skjcmanager-service-api/skjcmanager-nky-api/src/main/java/cn/gistack/nky/fegin/INkyClientFallback.java | 9 +
skjcmanager/skjcmanager-service-api/skjcmanager-nky-api/src/main/java/cn/gistack/nky/entity/AlarmGet.java | 14 +
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/damSecurity/service/IDamSecurityService.java | 13 +
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/damSecurity/vo/DamStationStatistics.java | 90 +++++++++++
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/damSecurity/mapper/DamSecurityMapper.java | 9 +
skjcmanager/skjcmanager-service/skjcmanager-sm/pom.xml | 5
skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/mapper/AlarmGetMapper.xml | 37 ++++
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/damSecurity/service/impl/DamSecurityServiceImpl.java | 17 ++
skjcmanager/skjcmanager-service-api/skjcmanager-nky-api/src/main/java/cn/gistack/nky/fegin/INkyClient.java | 13 +
skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/feign/NkyClientImpl.java | 11 +
17 files changed, 459 insertions(+), 10 deletions(-)
diff --git a/skjcmanager/skjcmanager-service-api/skjcmanager-nky-api/src/main/java/cn/gistack/nky/entity/AlarmGet.java b/skjcmanager/skjcmanager-service-api/skjcmanager-nky-api/src/main/java/cn/gistack/nky/entity/AlarmGet.java
index 1c4dfb9..d9ce7f2 100644
--- a/skjcmanager/skjcmanager-service-api/skjcmanager-nky-api/src/main/java/cn/gistack/nky/entity/AlarmGet.java
+++ b/skjcmanager/skjcmanager-service-api/skjcmanager-nky-api/src/main/java/cn/gistack/nky/entity/AlarmGet.java
@@ -38,8 +38,9 @@
private String pointId;
/**
- * 物理量id
+ * 物理量id type,1:渗压,2:渗流,3:X位移,4:Y位移,5:Z位移
*/
+
private String type;
/**
@@ -93,17 +94,22 @@
* 正向阈值
*/
@TableField(value = "forward",typeHandler = FastjsonTypeHandler.class)
- private Object forward;
+ private String forward;
/**
* 反向阈值
*/
@TableField(value = "\"REVERSE\"",typeHandler = FastjsonTypeHandler.class)
- private Object reverse;
+ private String reverse;
/**
* 系数阈值
*/
@TableField(value = "ratio",typeHandler = FastjsonTypeHandler.class)
- private Object ratio;
+ private String ratio;
+
+ /**
+ * 处置状态(1、已处置;2、未处置)
+ */
+ private String status;
}
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 7443973..ba6876c 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
@@ -1,9 +1,15 @@
package cn.gistack.nky.fegin;
+import cn.gistack.nky.entity.AlarmGet;
+import cn.gistack.nky.vo.AlarmGetVO;
import org.apache.ibatis.annotations.Param;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam;
+
+import java.util.List;
@FeignClient(
value = "blade-nky",
@@ -26,6 +32,10 @@
String GET_BATCH_DATA = API_PREFIX + "getBatchData";
//异常查询
String ALARM_GET_DATA = API_PREFIX + "alarmGetData";
+
+ //预警详情
+ String GET_ALARM_DETAIL = API_PREFIX + "getAlarmDetail";
+
/**
* 获取arima预测结果
@@ -65,4 +75,7 @@
@GetMapping(ALARM_GET_DATA)
void alarmGetData(@RequestParam("type") String type);
+
+ @PostMapping(GET_ALARM_DETAIL)
+ List<AlarmGetVO> getAlarmDetail(@RequestBody AlarmGetVO alarmGet);
}
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 f79295f..f5c4605 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
@@ -1,6 +1,10 @@
package cn.gistack.nky.fegin;
+import cn.gistack.nky.entity.AlarmGet;
+import cn.gistack.nky.vo.AlarmGetVO;
import org.springframework.stereotype.Component;
+
+import java.util.List;
@Component
public class INkyClientFallback implements INkyClient{
@@ -35,4 +39,9 @@
public void alarmGetData(String type) {
}
+
+ @Override
+ public List<AlarmGetVO> getAlarmDetail(AlarmGetVO alarmGet) {
+ return null;
+ }
}
diff --git a/skjcmanager/skjcmanager-service-api/skjcmanager-nky-api/src/main/java/cn/gistack/nky/vo/AlarmGetVO.java b/skjcmanager/skjcmanager-service-api/skjcmanager-nky-api/src/main/java/cn/gistack/nky/vo/AlarmGetVO.java
new file mode 100644
index 0000000..1f902ed
--- /dev/null
+++ b/skjcmanager/skjcmanager-service-api/skjcmanager-nky-api/src/main/java/cn/gistack/nky/vo/AlarmGetVO.java
@@ -0,0 +1,11 @@
+package cn.gistack.nky.vo;
+
+import cn.gistack.nky.entity.AlarmGet;
+import lombok.Data;
+
+@Data
+public class AlarmGetVO extends AlarmGet {
+
+ private String [] dateRange;
+
+}
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 6fa2030..8582a3a 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
@@ -1,16 +1,21 @@
package cn.gistack.nky.feign;
+import cn.gistack.nky.entity.AlarmGet;
import cn.gistack.nky.fegin.INkyClient;
import cn.gistack.nky.service.IAlarmGetService;
import cn.gistack.nky.service.IArimaPredictService;
import cn.gistack.nky.service.IHstPredictService;
import cn.gistack.nky.service.INkyService;
+import cn.gistack.nky.vo.AlarmGetVO;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springblade.core.tenant.annotation.NonDS;
import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RestController;
import springfox.documentation.annotations.ApiIgnore;
+
+import java.util.List;
@NonDS
@ApiIgnore
@@ -60,4 +65,10 @@
public void alarmGetData(String type) {
alarmGetService.alarmGetData(type);
}
+
+ @Override
+ @PostMapping(GET_ALARM_DETAIL)
+ public List<AlarmGetVO> getAlarmDetail(AlarmGetVO alarmGet) {
+ return alarmGetService.getAlarmDetail(alarmGet);
+ }
}
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/mapper/AlarmGetMapper.java b/skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/mapper/AlarmGetMapper.java
index 1f5817f..7c47513 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/mapper/AlarmGetMapper.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/mapper/AlarmGetMapper.java
@@ -1,7 +1,12 @@
package cn.gistack.nky.mapper;
import cn.gistack.nky.entity.AlarmGet;
+import cn.gistack.nky.vo.AlarmGetVO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
public interface AlarmGetMapper extends BaseMapper<AlarmGet> {
+ List<AlarmGetVO> getAlarmDetail(@Param("vo") AlarmGetVO alarmGet);
}
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/mapper/AlarmGetMapper.xml b/skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/mapper/AlarmGetMapper.xml
index 4e4f0b5..f662770 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/mapper/AlarmGetMapper.xml
+++ b/skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/mapper/AlarmGetMapper.xml
@@ -2,4 +2,41 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="cn.gistack.nky.mapper.AlarmGetMapper">
+ <resultMap id="vo" type="cn.gistack.nky.vo.AlarmGetVO">
+ <id column="id" property="id"/>
+ <result property="damId" column="dam_id"/>
+ <result property="type" column="type"/>
+ <result property="status" column="status"/>
+ <result property="baojingzhi" column="baojingzhi"/>
+ <result property="createTime" column="create_time"/>
+ <result property="desc" column="desc"/>
+ <result property="level" column="level"/>
+ <result property="originId" column="origin_id"/>
+ <result property="pointId" column="point_id"/>
+ <result property="value" column="value"/>
+ <result property="time" column="time"/>
+ <result property="taskCategory" column="task_category"/>
+ <result property="forward" column="forward" typeHandler="com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler"/>
+ <result property="reverse" column="reverse" typeHandler="com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler"/>
+ <result property="ratio" column="ratio" typeHandler="com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler"/>
+ </resultMap>
+
+
+ <select id="getAlarmDetail" resultMap="vo">
+ SELECT * FROM NKY_ALARM_GET
+ WHERE 1=1
+ <if test="vo.dateRange !=null and vo.dateRange.length > 0">
+ AND time >= #{vo.daterange[0]} AND time <= #{vo.daterange[1]}
+ </if>
+ <if test="vo.level != null and vo.level !='' ">
+ AND level = #{vo.level}
+ </if>
+ <if test="vo.status != null and vo.status !='' ">
+ AND status = #{vo.status}
+ </if>
+ <if test="vo.type != null and vo.type !='' ">
+ AND type = #{vo.type}
+ </if>
+ AND dam_id = #{vo.damId}
+ </select>
</mapper>
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/rabbitmq/MyRabbitReceiver.java b/skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/rabbitmq/MyRabbitReceiver.java
index d296231..66fdbfe 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/rabbitmq/MyRabbitReceiver.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/rabbitmq/MyRabbitReceiver.java
@@ -21,11 +21,9 @@
@RabbitListener(queues = "alarm")
public void processMessage(Message message) {
-
+ System.out.println("收到消息"+new String(message.getBody()));
AlarmGet alarmGet = JSONObject.parseObject(new String(message.getBody()), AlarmGet.class);
alarmGetService.save(alarmGet);
-
- System.out.println("收到消息"+new String(message.getBody()));
}
}
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/service/IAlarmGetService.java b/skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/service/IAlarmGetService.java
index 66cd336..15a9e83 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/service/IAlarmGetService.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/service/IAlarmGetService.java
@@ -1,10 +1,15 @@
package cn.gistack.nky.service;
import cn.gistack.nky.entity.AlarmGet;
+import cn.gistack.nky.vo.AlarmGetVO;
import com.baomidou.mybatisplus.extension.service.IService;
+
+import java.util.List;
public interface IAlarmGetService extends IService<AlarmGet> {
void batchData(String type);
void alarmGetData(String type);
+
+ List<AlarmGetVO> getAlarmDetail(AlarmGetVO alarmGet);
}
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/service/impl/AlarmGetServiceImpl.java b/skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/service/impl/AlarmGetServiceImpl.java
index ef60fa5..21f0850 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/service/impl/AlarmGetServiceImpl.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-nky/src/main/java/cn/gistack/nky/service/impl/AlarmGetServiceImpl.java
@@ -9,6 +9,7 @@
import cn.gistack.nky.service.IAlarmGetService;
import cn.gistack.nky.service.INkyService;
import cn.gistack.nky.service.IZtApiService;
+import cn.gistack.nky.vo.AlarmGetVO;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import lombok.AllArgsConstructor;
import org.springframework.stereotype.Service;
@@ -49,6 +50,11 @@
}
+ @Override
+ public List<AlarmGetVO> getAlarmDetail(AlarmGetVO alarmGet) {
+ return baseMapper.getAlarmDetail(alarmGet);
+ }
+
/**
* 获取水库集
*
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/pom.xml b/skjcmanager/skjcmanager-service/skjcmanager-sm/pom.xml
index fa04945..47470d3 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-sm/pom.xml
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/pom.xml
@@ -60,6 +60,11 @@
<artifactId>skjcmanager-alerts-api</artifactId>
<version>3.0.1.RELEASE</version>
</dependency>
+ <dependency>
+ <groupId>cn.gistack</groupId>
+ <artifactId>skjcmanager-nky-api</artifactId>
+ <version>3.0.1.RELEASE</version>
+ </dependency>
</dependencies>
<build>
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/damSecurity/controller/DamSecurityController.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/damSecurity/controller/DamSecurityController.java
index ca0ebd5..aa6e030 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/damSecurity/controller/DamSecurityController.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/damSecurity/controller/DamSecurityController.java
@@ -1,8 +1,13 @@
package cn.gistack.sm.damSecurity.controller;
+import cn.gistack.nky.entity.AlarmGet;
+import cn.gistack.nky.fegin.INkyClient;
+import cn.gistack.nky.vo.AlarmGetVO;
import cn.gistack.sm.damSecurity.service.IDamSecurityService;
import cn.gistack.sm.damSecurity.vo.DamSecurityStatistics;
+import cn.gistack.sm.damSecurity.vo.DamStationStatistics;
import cn.gistack.sm.exam.entity.ExamPlan;
+import cn.gistack.sm.patrol.vo.PatrolTaskVO;
import com.baomidou.mybatisplus.core.metadata.IPage;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@@ -12,6 +17,7 @@
import org.springblade.core.mp.support.Condition;
import org.springblade.core.mp.support.Query;
import org.springblade.core.tool.api.R;
+import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@@ -22,10 +28,12 @@
@Api(tags = "大坝安全统计")
@RestController
@RequestMapping("/damSecurity/damSecurity")
-@AllArgsConstructor
public class DamSecurityController extends BladeController {
- private final IDamSecurityService damSecurityService;
+ @Autowired
+ private IDamSecurityService damSecurityService;
+ @Autowired
+ private INkyClient nkyClient;
/**
* 大坝安全监测状况统计
@@ -51,4 +59,40 @@
return R.data(list);
}
+ /**
+ * 大坝安全监测表格
+ * @param damStationStatistics
+ * @return
+ */
+ @ApiOperation(value = "大坝安全统计-大坝安全监测表格", notes = "大坝安全统计-大坝安全监测表格")
+ @GetMapping(value = "/tableResCount")
+ public R tableResCount(DamStationStatistics damStationStatistics,Query query) {
+ IPage<DamStationStatistics> page = damSecurityService.tableResCountPage(damStationStatistics,Condition.getPage(query));
+ return R.data(page);
+ }
+
+ /**
+ * 大坝安全监测预警详情
+ * @param alarmGet
+ * @return
+ */
+ @ApiOperation(value = "大坝安全统计-大坝安全监测预警详情", notes = "大坝安全统计-大坝安全监测预警详情")
+ @GetMapping(value = "/alarmDetail")
+ public R alarmDetail(AlarmGetVO alarmGet){
+ List<AlarmGetVO> list = nkyClient.getAlarmDetail(alarmGet);
+ return R.data(list);
+ }
+
+ /**
+ * 大坝安全监测预警异常统计
+ * @param damStationStatistics
+ * @return
+ */
+ @ApiOperation(value = "大坝安全统计-大坝安全监测预警异常统计", notes = "大坝安全统计-大坝安全监测预警异常统计")
+ @GetMapping(value = "/alarmResCount")
+ public R alarmResCount(DamStationStatistics damStationStatistics){
+ List<DamStationStatistics> list = damSecurityService.alarmResCount(damStationStatistics);
+ return R.data(list);
+ }
+
}
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/damSecurity/mapper/DamSecurityMapper.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/damSecurity/mapper/DamSecurityMapper.java
index 944fcc7..40de187 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/damSecurity/mapper/DamSecurityMapper.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/damSecurity/mapper/DamSecurityMapper.java
@@ -1,6 +1,8 @@
package cn.gistack.sm.damSecurity.mapper;
import cn.gistack.sm.damSecurity.vo.DamSecurityStatistics;
+import cn.gistack.sm.damSecurity.vo.DamStationStatistics;
+import com.baomidou.mybatisplus.core.metadata.IPage;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
@@ -9,8 +11,13 @@
@Repository
public interface DamSecurityMapper {
-
DamSecurityStatistics getSingleRegionCount(@Param("dam") DamSecurityStatistics damSecurityStatistics);
List<DamSecurityStatistics> listRegionCount(@Param("dam") DamSecurityStatistics damSecurityStatistics);
+
+ List<DamStationStatistics> tableResCount(@Param("dam") DamStationStatistics damStationStatistics);
+
+ List<DamStationStatistics> tableResCountPage(@Param("dam")DamStationStatistics damStationStatistics, IPage<DamStationStatistics> page);
+
+ List<DamStationStatistics> alarmResCount(@Param("dam") DamStationStatistics damStationStatistics);
}
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/damSecurity/mapper/DamSecurityMapper.xml b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/damSecurity/mapper/DamSecurityMapper.xml
index 64c2387..ee45489 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/damSecurity/mapper/DamSecurityMapper.xml
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/damSecurity/mapper/DamSecurityMapper.xml
@@ -186,4 +186,176 @@
)
</select>
+ <select id="tableResCount" resultType="cn.gistack.sm.damSecurity.vo.DamStationStatistics">
+
+ SELECT info."guid",info."name",info."eng_scal",info."town_ad_code",info."town_ad_name",info."county_ad_code",info."county_ad_name",info."city_ad_code",info."city_ad_name",
+ (info.wy+info.sy+info.sl) total,(info.wy+info.sy+info.sl-info.errorNum) normalNum,info.errorNum FROM
+ (
+ SELECT baseRes.*,ifnull(wy.wyStation,0) wy ,ifnull(sy.syStation,0) sy,ifnull(sl.slStation,0) sl,ifnull(alarm.errorNum,0) errorNum FROM
+ (
+ SELECT
+ a."guid",
+ a."name",
+ a."eng_scal",
+ case when b."ad_grad" = 4 THEN b."ad_code" ELSE NULL END AS "town_ad_code",
+ case when b."ad_grad" = 4 THEN b."ad_name" ELSE NULL END AS "town_ad_name",
+ case when b."ad_grad" = 4 THEN b."order_id" ELSE NULL END AS "town_order_id",
+ case when b."ad_grad" = 3 THEN b."ad_code" when c."ad_grad" = 3 THEN c."ad_code" END AS "county_ad_code",
+ case when b."ad_grad" = 3 THEN b."ad_name" when c."ad_grad" = 3 THEN C."ad_name" END AS "county_ad_name",
+ case when b."ad_grad" = 3 THEN b."order_id" when c."ad_grad" = 3 THEN C."order_id" END AS "county_order_id",
+ case when b."ad_grad" = 2 THEN b."ad_code" when c."ad_grad" = 2 THEN c."ad_code" ELSE d."ad_code" END AS "city_ad_code",
+ 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 "city_ad_name",
+ case when b."ad_grad" = 2 THEN b."order_id" when c."ad_grad" = 2 THEN c."order_id" ELSE d."order_id" END AS "city_order_id",
+ case when b."ad_grad" = 1 THEN b."ad_code" when c."ad_grad" = 1 THEN c."ad_code" when d."ad_grad" = 1 THEN d."ad_code" ELSE e."ad_code" END AS "province_ad_code",
+ case when b."ad_grad" = 1 THEN b."ad_name" when c."ad_grad" = 1 THEN c."ad_name" when d."ad_grad" = 1 THEN d."ad_name" ELSE e."ad_name" END AS "province_ad_name",
+ case when b."ad_grad" = 1 THEN b."order_id" when c."ad_grad" = 1 THEN c."order_id" when d."ad_grad" = 1 THEN d."order_id" ELSE e."order_id" END AS "province_order_id"
+ FROM sjzt_md."att_res_base" a
+ LEFT JOIN (
+ SELECT "res_cd","sys_resource" FROM (SELECT b."guid" as "res_cd",'sy' as "sys_resource" FROM sjzt_ods."dsm_spg_pztb" a LEFT JOIN SJZT_MD."att_res_base" b on a."rscd" = b."res_reg_code"
+ UNION
+ SELECT b."guid" as "res_cd", 'sy' as "sys_resource" FROM sjzt_ods."dsm_spg_spprmp" a LEFT JOIN SJZT_MD."att_res_base" b on a."rscd" = b."res_reg_code") WHERE "res_cd" is not null) f ON a."guid" = f."res_cd"
+ LEFT JOIN (
+ SELECT "res_cd", "sys_resource" FROM (SELECT b."guid" as "res_cd", 'sl' as "sys_resource" FROM sjzt_ods."dsm_spg_spqnmp" a LEFT JOIN SJZT_MD."att_res_base" b on a."rscd" = b."res_reg_code" group by b."guid") WHERE "res_cd" is not null) G on a."guid" = g."res_cd"
+ LEFT JOIN (SELECT "res_cd", "sys_resource" FROM (SELECT b."guid" as "res_cd", 'wy' as "sys_resource" FROM (SELECT "station_code" from sjzt_md."att_mqtt_calc_data" group by "station_code") a LEFT JOIN SJZT_MD."att_res_base" b on substr(a."station_code",0,length(a."station_code")-2) = b."guid" group by b."guid") WHERE "res_cd" is not null) h ON a."guid" = h."res_cd"
+ LEFT JOIN sjzt_md."att_ad_base" b ON a."interior_ad_guid" = b."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"
+ LEFT JOIN sjzt_md."att_ad_base" e ON d."p_ad_code" = e."guid"
+ where (f."res_cd" is not null OR g."res_cd" is not null OR h."res_cd" is not null)
+ ) baseRes
+ LEFT JOIN (
+ SELECT "res_cd",COUNT(*) wyStation
+ FROM ( SELECT b."guid" as "res_cd",'wy' as "sys_resource"
+ FROM (SELECT "station_code" from sjzt_md."att_mqtt_calc_data" group by "station_code") a LEFT JOIN SJZT_MD."att_res_base" b on substr(a."station_code",0,length(a."station_code")-2) = b."guid" )
+ GROUP BY "res_cd"
+ ) wy ON wy."res_cd" = baseRes."guid"
+ LEFT JOIN(
+ SELECT "res_cd", COUNT(*) syStation
+ FROM( SELECT b."guid" as "res_cd",'sy' as "sys_resource"
+ FROM sjzt_ods."dsm_spg_spprmp" a LEFT JOIN SJZT_MD."att_res_base" b on a."rscd" = b."res_reg_code")
+ GROUP BY "res_cd"
+ ) sy ON sy."res_cd" = baseRes."guid"
+ LEFT JOIN (
+ SELECT "res_cd",COUNT(*) slStation
+ FROM ( SELECT b."guid" as "res_cd",'sl' as "sys_resource"
+ FROM sjzt_ods."dsm_spg_spqnmp" a LEFT JOIN SJZT_MD."att_res_base" b on a."rscd" = b."res_reg_code" group by b."guid" )
+ GROUP BY "res_cd"
+ ) sl ON sl."res_cd" = baseRes."guid"
+ LEFT JOIN ( SELECT DAM_ID ,COUNT(*) errorNum FROM YWXT.NKY_ALARM_GET GROUP BY "DAM_ID" ) alarm ON alarm.DAM_ID = baseRes."guid"
+ LEFT JOIN SJZT_MD."att_ad_base" town ON town."guid" = "town_ad_code"
+ LEFT JOIN SJZT_MD."att_ad_base" county ON county."guid" = town."p_ad_code"
+ LEFT JOIN SJZT_MD."att_ad_base" city ON city."guid" = county."p_ad_code"
+ LEFT JOIN SJZT_MD."att_ad_base" province ON province."guid" = city."p_ad_code"
+ WHERE 1=1
+ <!--这里加条件-->
+ <if test="dam.adCode != null and dam.adCode !='' ">
+ AND (province."ad_code" = #{dam.adCode} or city."ad_code" =#{dam.adCode}or county."ad_code" = #{dam.adCode} )
+ </if>
+ ) info
+
+ </select>
+ <select id="tableResCountPage" resultType="cn.gistack.sm.damSecurity.vo.DamStationStatistics">
+
+ SELECT
+ info."guid" AS resCd,
+ info."name" AS resName,
+ info."eng_scal" AS engScal,
+ info."town_ad_code" AS townCode,
+ info."town_ad_name" AS townName,
+ info."county_ad_code" AS countyCode,
+ info."county_ad_name" AS countyName ,
+ info."city_ad_code" AS cityCode,
+ info."city_ad_name" AS cityName,
+ (info.wy+info.sy+info.sl) AS total,
+ (info.wy+info.sy+info.sl-info.errorNum) AS normalNum,
+ info.errorNum AS errorNum
+ FROM
+ (
+ SELECT baseRes.*,ifnull(wy.wyStation,0) wy ,ifnull(sy.syStation,0) sy,ifnull(sl.slStation,0) sl,ifnull(alarm.errorNum,0) errorNum FROM
+ (
+ SELECT
+ a."guid",
+ a."name",
+ a."eng_scal",
+ case when b."ad_grad" = 4 THEN b."ad_code" ELSE NULL END AS "town_ad_code",
+ case when b."ad_grad" = 4 THEN b."ad_name" ELSE NULL END AS "town_ad_name",
+ case when b."ad_grad" = 4 THEN b."order_id" ELSE NULL END AS "town_order_id",
+ case when b."ad_grad" = 3 THEN b."ad_code" when c."ad_grad" = 3 THEN c."ad_code" END AS "county_ad_code",
+ case when b."ad_grad" = 3 THEN b."ad_name" when c."ad_grad" = 3 THEN C."ad_name" END AS "county_ad_name",
+ case when b."ad_grad" = 3 THEN b."order_id" when c."ad_grad" = 3 THEN C."order_id" END AS "county_order_id",
+ case when b."ad_grad" = 2 THEN b."ad_code" when c."ad_grad" = 2 THEN c."ad_code" ELSE d."ad_code" END AS "city_ad_code",
+ 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 "city_ad_name",
+ case when b."ad_grad" = 2 THEN b."order_id" when c."ad_grad" = 2 THEN c."order_id" ELSE d."order_id" END AS "city_order_id",
+ case when b."ad_grad" = 1 THEN b."ad_code" when c."ad_grad" = 1 THEN c."ad_code" when d."ad_grad" = 1 THEN d."ad_code" ELSE e."ad_code" END AS "province_ad_code",
+ case when b."ad_grad" = 1 THEN b."ad_name" when c."ad_grad" = 1 THEN c."ad_name" when d."ad_grad" = 1 THEN d."ad_name" ELSE e."ad_name" END AS "province_ad_name",
+ case when b."ad_grad" = 1 THEN b."order_id" when c."ad_grad" = 1 THEN c."order_id" when d."ad_grad" = 1 THEN d."order_id" ELSE e."order_id" END AS "province_order_id"
+ FROM sjzt_md."att_res_base" a
+ LEFT JOIN (
+ SELECT "res_cd","sys_resource" FROM (SELECT b."guid" as "res_cd",'sy' as "sys_resource" FROM sjzt_ods."dsm_spg_pztb" a LEFT JOIN SJZT_MD."att_res_base" b on a."rscd" = b."res_reg_code"
+ UNION
+ SELECT b."guid" as "res_cd", 'sy' as "sys_resource" FROM sjzt_ods."dsm_spg_spprmp" a LEFT JOIN SJZT_MD."att_res_base" b on a."rscd" = b."res_reg_code") WHERE "res_cd" is not null) f ON a."guid" = f."res_cd"
+ LEFT JOIN (
+ SELECT "res_cd", "sys_resource" FROM (SELECT b."guid" as "res_cd", 'sl' as "sys_resource" FROM sjzt_ods."dsm_spg_spqnmp" a LEFT JOIN SJZT_MD."att_res_base" b on a."rscd" = b."res_reg_code" group by b."guid") WHERE "res_cd" is not null) G on a."guid" = g."res_cd"
+ LEFT JOIN (SELECT "res_cd", "sys_resource" FROM (SELECT b."guid" as "res_cd", 'wy' as "sys_resource" FROM (SELECT "station_code" from sjzt_md."att_mqtt_calc_data" group by "station_code") a LEFT JOIN SJZT_MD."att_res_base" b on substr(a."station_code",0,length(a."station_code")-2) = b."guid" group by b."guid") WHERE "res_cd" is not null) h ON a."guid" = h."res_cd"
+ LEFT JOIN sjzt_md."att_ad_base" b ON a."interior_ad_guid" = b."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"
+ LEFT JOIN sjzt_md."att_ad_base" e ON d."p_ad_code" = e."guid"
+ where (f."res_cd" is not null OR g."res_cd" is not null OR h."res_cd" is not null)
+ ) baseRes
+ LEFT JOIN (
+ SELECT "res_cd",COUNT(*) wyStation
+ FROM ( SELECT b."guid" as "res_cd",'wy' as "sys_resource"
+ FROM (SELECT "station_code" from sjzt_md."att_mqtt_calc_data" group by "station_code") a LEFT JOIN SJZT_MD."att_res_base" b on substr(a."station_code",0,length(a."station_code")-2) = b."guid" )
+ GROUP BY "res_cd"
+ ) wy ON wy."res_cd" = baseRes."guid"
+ LEFT JOIN(
+ SELECT "res_cd", COUNT(*) syStation
+ FROM( SELECT b."guid" as "res_cd",'sy' as "sys_resource"
+ FROM sjzt_ods."dsm_spg_spprmp" a LEFT JOIN SJZT_MD."att_res_base" b on a."rscd" = b."res_reg_code")
+ GROUP BY "res_cd"
+ ) sy ON sy."res_cd" = baseRes."guid"
+ LEFT JOIN (
+ SELECT "res_cd",COUNT(*) slStation
+ FROM ( SELECT b."guid" as "res_cd",'sl' as "sys_resource"
+ FROM sjzt_ods."dsm_spg_spqnmp" a LEFT JOIN SJZT_MD."att_res_base" b on a."rscd" = b."res_reg_code" group by b."guid" )
+ GROUP BY "res_cd"
+ ) sl ON sl."res_cd" = baseRes."guid"
+ LEFT JOIN ( SELECT DAM_ID ,COUNT(*) errorNum FROM NKY_ALARM_GET GROUP BY "DAM_ID" ) alarm ON alarm.DAM_ID = baseRes."guid"
+ LEFT JOIN SJZT_MD."att_ad_base" town ON town."guid" = "town_ad_code"
+ LEFT JOIN SJZT_MD."att_ad_base" county ON county."guid" = town."p_ad_code"
+ LEFT JOIN SJZT_MD."att_ad_base" city ON city."guid" = county."p_ad_code"
+ LEFT JOIN SJZT_MD."att_ad_base" province ON province."guid" = city."p_ad_code"
+ WHERE 1=1
+ <!--这里加条件-->
+ <if test="dam.adCode != null and dam.adCode !='' ">
+ AND (province."ad_code" = #{dam.adCode} or city."ad_code" =#{dam.adCode}or county."ad_code" = #{dam.adCode} )
+ </if>
+
+ <if test="dam.resName != null and dam.resName !='' ">
+ AND "name" LIKE CONCAT('%',#{dam.resName},'%')
+ </if>
+
+ ) info
+
+ </select>
+ <select id="alarmResCount" resultType="cn.gistack.sm.damSecurity.vo.DamStationStatistics">
+ SELECT
+ arb."center_long" AS longitude,
+ arb."center_lat" AS latitude,
+ resCd
+ FROM
+ (
+ SELECT NAG.dam_id resCd,count(*) FROM YWXT.NKY_ALARM_GET NAG GROUP BY NAG.dam_id
+ ) baseAlarm
+ LEFT JOIN SJZT_MD."att_res_base" arb ON arb."guid" = baseAlarm.resCd
+ LEFT JOIN SJZT_MD."att_ad_base" town ON town."guid" = arb."interior_ad_guid"
+ LEFT JOIN SJZT_MD."att_ad_base" county ON county."guid" = town."p_ad_code"
+ LEFT JOIN SJZT_MD."att_ad_base" city ON city."guid" = county."p_ad_code"
+ LEFT JOIN SJZT_MD."att_ad_base" province ON province."guid" = city."p_ad_code"
+ WHERE 1=1
+ <if test="dam.adCode != null and dam.adCode !='' ">
+ AND (province."ad_code" =#{dam.adCode} or city."ad_code" = #{dam.adCode} or county."ad_code" = #{dam.adCode})
+ </if>
+ </select>
</mapper>
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/damSecurity/service/IDamSecurityService.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/damSecurity/service/IDamSecurityService.java
index 2a73bed..0d9a517 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/damSecurity/service/IDamSecurityService.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/damSecurity/service/IDamSecurityService.java
@@ -1,6 +1,8 @@
package cn.gistack.sm.damSecurity.service;
import cn.gistack.sm.damSecurity.vo.DamSecurityStatistics;
+import cn.gistack.sm.damSecurity.vo.DamStationStatistics;
+import com.baomidou.mybatisplus.core.metadata.IPage;
import java.util.List;
@@ -18,4 +20,15 @@
* @return
*/
List<DamSecurityStatistics> listRegionCount(DamSecurityStatistics damSecurityStatistics);
+
+ List<DamStationStatistics> tableResCount(DamStationStatistics damStationStatistics);
+
+ IPage<DamStationStatistics> tableResCountPage(DamStationStatistics damStationStatistics, IPage<DamStationStatistics> page);
+
+ /**
+ * 统计预警水库列表(传回经纬度,用于首页显示)
+ * @param damStationStatistics
+ * @return
+ */
+ List<DamStationStatistics> alarmResCount(DamStationStatistics damStationStatistics);
}
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/damSecurity/service/impl/DamSecurityServiceImpl.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/damSecurity/service/impl/DamSecurityServiceImpl.java
index baf182a..1a6845b 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/damSecurity/service/impl/DamSecurityServiceImpl.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/damSecurity/service/impl/DamSecurityServiceImpl.java
@@ -3,6 +3,8 @@
import cn.gistack.sm.damSecurity.mapper.DamSecurityMapper;
import cn.gistack.sm.damSecurity.service.IDamSecurityService;
import cn.gistack.sm.damSecurity.vo.DamSecurityStatistics;
+import cn.gistack.sm.damSecurity.vo.DamStationStatistics;
+import com.baomidou.mybatisplus.core.metadata.IPage;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -23,4 +25,19 @@
public List<DamSecurityStatistics> listRegionCount(DamSecurityStatistics damSecurityStatistics) {
return damSecurityMapper.listRegionCount(damSecurityStatistics);
}
+
+ @Override
+ public List<DamStationStatistics> tableResCount(DamStationStatistics damStationStatistics) {
+ return damSecurityMapper.tableResCount(damStationStatistics);
+ }
+
+ @Override
+ public IPage<DamStationStatistics> tableResCountPage(DamStationStatistics damStationStatistics, IPage<DamStationStatistics> page) {
+ return page.setRecords(damSecurityMapper.tableResCountPage(damStationStatistics,page));
+ }
+
+ @Override
+ public List<DamStationStatistics> alarmResCount(DamStationStatistics damStationStatistics) {
+ return damSecurityMapper.alarmResCount(damStationStatistics);
+ }
}
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/damSecurity/vo/DamStationStatistics.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/damSecurity/vo/DamStationStatistics.java
new file mode 100644
index 0000000..9461ca4
--- /dev/null
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/damSecurity/vo/DamStationStatistics.java
@@ -0,0 +1,90 @@
+package cn.gistack.sm.damSecurity.vo;
+
+import lombok.Data;
+
+/**
+ * 大坝测站数量统计
+ */
+@Data
+public class DamStationStatistics {
+
+ /**
+ * 水库id
+ */
+ private String resCd;
+
+ /**
+ * 水库名称
+ */
+ private String resName;
+
+ /**
+ * 地市
+ */
+ private String cityName;
+
+ /**
+ * 市编码
+ */
+ private String cityCode;
+
+ /**
+ * 区县
+ */
+ private String countyName;
+
+ /**
+ * 区县编码
+ */
+ private String countyCode;
+
+ /**
+ * 镇编码
+ */
+ private String townCode;
+
+ /**
+ * 镇名
+ */
+ private String townName;
+
+ /**
+ * 工程规模
+ */
+ private String engScal;
+
+ /**
+ * 时间
+ */
+ private String time;
+
+ /**
+ * 测点数量
+ */
+ private Integer total;
+
+ /**
+ * 正常测点数量
+ */
+ private Integer normalNum;
+
+ /**
+ * 异常测点数量
+ */
+ private Integer errorNum;
+
+ /**
+ * 行政区划编码
+ */
+ private String adCode;
+
+ /**
+ * 经度
+ */
+ private String longitude;
+
+ /**
+ * 纬度
+ */
+ private String latitude;
+}
--
Gitblit v1.9.3