skjcmanager/skjcmanager-service-api/skjcmanager-nky-api/src/main/java/cn/gistack/nky/vo/AlarmGetVO.java
@@ -11,4 +11,26 @@ private String typeName; private String reservoirName; private String basGuids; private String engScal; private String labels; private String adCode; private String provinceCode; private String provinceName; private String cityCode; private String cityName; private String countyCode; private String countyName; } skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/damSecurity/controller/DamSecurityController.java
@@ -5,6 +5,7 @@ import cn.gistack.nky.vo.AlarmGetVO; import cn.gistack.nky.vo.PageVO; import cn.gistack.sm.damSecurity.service.IDamSecurityService; import cn.gistack.sm.damSecurity.vo.DamMonitor; import cn.gistack.sm.damSecurity.vo.DamSecurityStatistics; import cn.gistack.sm.damSecurity.vo.DamStationStatistics; import cn.gistack.sm.damSecurity.vo.DamStatisticsRes; @@ -60,16 +61,28 @@ /** * 监测预警分布 * @param damSecurityStatistics * @param damMonitor * @return */ @GetMapping(value = "/listRegionCountMonitor") public R listRegionCountMonitor(DamSecurityStatistics damSecurityStatistics){ List<DamSecurityStatistics> list = damSecurityService.listRegionCountMonitor(damSecurityStatistics); public R listRegionCountMonitor(DamMonitor damMonitor){ List<DamMonitor> list = damSecurityService.listRegionCountMonitor(damMonitor); return R.data(list); } /** * 监测预警分布表格 * @param alarmGet * @param query * @return */ @GetMapping(value = "/pageMonitor") public R pageMonitor(AlarmGetVO alarmGet,Query query){ IPage<AlarmGetVO> page = damSecurityService.pageMonitor(alarmGet,Condition.getPage(query)); return R.data(page); } /** * 大坝安全监测表格 * @param damStationStatistics * @return skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/damSecurity/mapper/DamSecurityMapper.java
@@ -1,8 +1,7 @@ package cn.gistack.sm.damSecurity.mapper; import cn.gistack.sm.damSecurity.vo.DamSecurityStatistics; import cn.gistack.sm.damSecurity.vo.DamStationStatistics; import cn.gistack.sm.damSecurity.vo.DamStatisticsRes; import cn.gistack.nky.vo.AlarmGetVO; import cn.gistack.sm.damSecurity.vo.*; import com.baomidou.mybatisplus.core.metadata.IPage; import org.apache.ibatis.annotations.Param; import org.springframework.stereotype.Repository; @@ -35,5 +34,11 @@ List<DamStationStatistics> getSlList(@Param("adCode") String adCode, @Param("status") String status); List<DamStationStatistics> getWyList(@Param("adCode") String adCode, @Param("status") String status); List<DamSecurityStatistics> listRegionCountMonitor(@Param("dam") DamSecurityStatistics damSecurityStatistics); List<DamSecurityStatistics> listRegionCountMonitor(@Param("dam") DamMonitor damMonitor); List<DamMonitor> getRegionList(@Param("dam") DamMonitor damMonitor); List<LevelPo> getLevelList(@Param("dam") DamMonitor damMonitor); List<AlarmGetVO> pageMonitor(@Param("page") IPage<AlarmGetVO> page, @Param("vo") AlarmGetVO alarmGet); } skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/damSecurity/mapper/DamSecurityMapper.xml
@@ -1137,6 +1137,184 @@ </choose> ) </select> <select id="getRegionList" resultType="cn.gistack.sm.damSecurity.vo.DamMonitor"> SELECT aab."ad_name" adName , aab."guid" adCode from SJZT_MD."att_ad_base" aab where <choose> <when test="dam.adCode != null and dam.adCode !='' "> "p_ad_code" = #{dam.adCode} </when> <otherwise> "ad_grad" = 2 </otherwise> </choose> </select> <select id="getLevelList" resultType="cn.gistack.sm.damSecurity.vo.LevelPo"> SELECT COUNT(*) AS num ,level FROM NKY_ALARM_GET NAG LEFT JOIN SJZT_MD."att_res_base" arb ON arb."guid" = NAG.DAM_ID left join SJZT_MD."att_ad_base" b on arb."interior_ad_guid" = b."ad_code" left join SJZT_MD."att_ad_base" c on b."p_ad_code" = c."ad_code" left join SJZT_MD."att_ad_base" d on c."p_ad_code" = d."ad_code" LEFT JOIN SJZT_MD."rel_res_bas_loc" rrbl ON rrbl."res_guid" = NAG.DAM_ID LEFT JOIN SJZT_MD."att_bas_base" abb ON abb."code" = rrbl."bas_guid" LEFT JOIN SJZT_MD."att_bas_base" pabb ON abb."p_code" = pabb."code" where 1=1 AND (d."ad_code" = #{dam.adCode} or c."ad_code" = #{dam.adCode} or b."ad_code" = #{dam.adCode}) <if test="dam.startTime != null and dam.startTime != ''"> AND DATE_FORMAT(time,'%Y-%m-%d') >= #{dam.startTime} </if> <if test="dam.endTime != null and dam.endTime !='' "> AND DATE_FORMAT(time,'%Y-%m-%d') <= #{dam.endTime} </if> <if test="dam.engScal != null and dam.engScal !='' "> AND arb."eng_scal" = #{dam.engScal} </if> <if test="dam.type != null and dam.type != '' and dam.type != 3"> AND NAG.type = #{dam.type} </if> <if test="dam.type != null and dam.type != '' and dam.type == 3"> AND (NAG.type = 3 or NAG.type = 4 or NAG.type = 5) </if> <if test="dam.labels != null and dam.labels != '' "> AND( 1!=1 <foreach collection="dam.labels.split(',')" item="item" open="" separator="" close="" index="index"> OR #{item} in (arb."label") </foreach> ) </if> <if test="dam.basGuids != null and dam.basGuids !='' "> AND( abb."code" in <foreach collection="dam.basGuids.split(',')" item="item" index="index" open="(" separator="," close=")"> #{item} </foreach> or pabb."code" in <foreach collection="dam.basGuids.split(',')" item="item" index="index" open="(" separator="," close=")"> #{item} </foreach> ) </if> GROUP BY LEVEL ORDER BY level ASC </select> <select id="pageMonitor" resultType="cn.gistack.nky.vo.AlarmGetVO"> SELECT NAG.ID, NAG.DAM_ID, NAG.POINT_ID, NAG.TYPE, ( CASE WHEN NAG.TYPE=1 THEN '渗压' WHEN NAG.TYPE=2 THEN '渗流' WHEN (NAG.TYPE=3 OR NAG.TYPE=4 OR NAG.TYPE=5) THEN '位移' END) AS typeName, NAG.TIME, NAG.VALUE, NAG."DESC", NAG.CREATE_TIME, NAG.TASK_CATEGORY, NAG.LEVEL, NAG.BAOJINGZHI, NAG.ORIGIN_ID, NAG.FORWARD, NAG."REVERSE", NAG.RATIO, NAG.STATUS, province."guid" as provinceCode, province."ad_name" as provinceName, city."guid" as cityCode, city."ad_name" as cityName, county."guid" as countyCode, county."ad_name" as countyName, arb."name" as reservoirName FROM NKY_ALARM_GET NAG LEFT JOIN SJZT_MD."att_res_base" arb ON arb."guid" = NAG.DAM_ID 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" LEFT JOIN SJZT_MD."rel_res_bas_loc" rrbl ON rrbl."res_guid" = NAG.DAM_ID LEFT JOIN SJZT_MD."att_bas_base" abb ON abb."code" = rrbl."bas_guid" LEFT JOIN SJZT_MD."att_bas_base" pabb ON abb."p_code" = pabb."code" WHERE 1=1 <if test=" vo.adCode != null and vo.adCode !='' "> AND (province."ad_code" =#{vo.adCode} or city."ad_code" = #{vo.adCode} or county."ad_code" = #{vo.adCode}) </if> <if test="vo.startTime != null and vo.startTime != ''"> AND DATE_FORMAT(NAG.time,'%Y-%m-%d') >= #{vo.startTime} </if> <if test="vo.endTime != null and vo.endTime !='' "> AND DATE_FORMAT(NAG.time,'%Y-%m-%d') <= #{vo.endTime} </if> <if test="vo.level != null and vo.level !='' "> AND NAG.level = #{vo.level} </if> <if test="vo.status != null and vo.status !='' "> AND NAG.status = #{vo.status} </if> <if test="vo.type != null and vo.type !='' and vo.type == 1 "> AND NAG.type = #{vo.type} </if> <if test="vo.type != null and vo.type !='' and vo.type == 2"> AND NAG.type = #{vo.type} </if> <if test="vo.type != null and vo.type !='' and vo.type == 3"> AND (NAG.type = '3' or NAG.type = '4' or NAG.type = '5') </if> <if test="vo.pointId != null and vo.pointId !='' "> AND NAG.POINT_id = #{vo.pointId} </if> <if test="vo.basGuids != null and vo.basGuids !='' "> AND( abb."code" in <foreach collection="vo.basGuids.split(',')" item="item" index="index" open="(" separator="," close=")"> #{item} </foreach> or pabb."code" in <foreach collection="vo.basGuids.split(',')" item="item" index="index" open="(" separator="," close=")"> #{item} </foreach> ) </if> <if test="vo.labels != null and vo.labels != '' "> AND( 1!=1 <foreach collection="vo.labels.split(',')" item="item" open="" separator="" close="" index="index"> OR #{item} in (arb."label") </foreach> ) </if> <if test="vo.engScal != null and vo.engScal !='' "> AND arb."eng_scal" = #{vo.engScal} </if> </select> skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/damSecurity/service/IDamSecurityService.java
@@ -1,5 +1,7 @@ package cn.gistack.sm.damSecurity.service; import cn.gistack.nky.vo.AlarmGetVO; import cn.gistack.sm.damSecurity.vo.DamMonitor; import cn.gistack.sm.damSecurity.vo.DamSecurityStatistics; import cn.gistack.sm.damSecurity.vo.DamStationStatistics; import cn.gistack.sm.damSecurity.vo.DamStatisticsRes; @@ -53,5 +55,13 @@ */ List<DamStationStatistics> damResInfoCountMap(HashMap<String,String> obj); List<DamSecurityStatistics> listRegionCountMonitor(DamSecurityStatistics damSecurityStatistics); List<DamMonitor> listRegionCountMonitor(DamMonitor damMonitor); /** * 监测预警列表 * @param alarmGet * @param page * @return */ IPage<AlarmGetVO> pageMonitor(AlarmGetVO alarmGet, IPage<AlarmGetVO> page); } skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/damSecurity/service/impl/DamSecurityServiceImpl.java
@@ -1,10 +1,9 @@ package cn.gistack.sm.damSecurity.service.impl; import cn.gistack.nky.vo.AlarmGetVO; 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 cn.gistack.sm.damSecurity.vo.DamStatisticsRes; import cn.gistack.sm.damSecurity.vo.*; import com.baomidou.mybatisplus.core.metadata.IPage; import org.springblade.core.tool.utils.ObjectUtil; import org.springframework.beans.factory.annotation.Autowired; @@ -98,7 +97,26 @@ } @Override public List<DamSecurityStatistics> listRegionCountMonitor(DamSecurityStatistics damSecurityStatistics) { return damSecurityMapper.listRegionCountMonitor(damSecurityStatistics); public List<DamMonitor> listRegionCountMonitor(DamMonitor damMonitor) { List<DamMonitor> regionList = getRegionList(damMonitor); regionList.forEach(region ->{ damMonitor.setAdCode(region.getAdCode()); List<LevelPo> levelPoList = damSecurityMapper.getLevelList(damMonitor); region.setLevelList(levelPoList); }); return regionList; } @Override public IPage<AlarmGetVO> pageMonitor(AlarmGetVO alarmGet, IPage<AlarmGetVO> page) { List<AlarmGetVO> list = damSecurityMapper.pageMonitor(page,alarmGet); return page.setRecords(list); } public List<DamMonitor> getRegionList(DamMonitor damMonitor){ return damSecurityMapper.getRegionList(damMonitor); } } skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/damSecurity/vo/DamMonitor.java
New file @@ -0,0 +1,33 @@ package cn.gistack.sm.damSecurity.vo; import lombok.Data; import java.util.List; @Data public class DamMonitor { private List<LevelPo> levelList; //行政区编码 private String adCode; //行政区名 private String adName; //===========查询条件============= //流域 private String basGuids; //标签 private String labels; //工程规模 private String engScal; private String startTime; private String endTime; private String type; } skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/damSecurity/vo/LevelPo.java
New file @@ -0,0 +1,16 @@ package cn.gistack.sm.damSecurity.vo; import lombok.Data; @Data public class LevelPo { /** * 预警等级 */ private String level; /** * 数量 */ private Integer num; }