From 56f9e4bc47c53efcfab40ca75adf8c13ca334ae2 Mon Sep 17 00:00:00 2001
From: yxm <zhp1521624>
Date: Thu, 04 Jul 2024 11:53:26 +0800
Subject: [PATCH] 堤防水库危害统计v20240704
---
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/ITbResAndDykeAllService.java | 14 ++
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/mapper/TbResAndDykeAllMapper.xml | 136 +++++++++++++++++++++++++++
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/impl/TbResAndDykeAllServiceImpl.java | 28 +++++
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/mapper/TbResAndDykeAllMapper.java | 13 ++
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/vo/ResAndDykeAll.java | 55 +++++++++++
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/controller/TbResAndDykeController.java | 34 ++++++
6 files changed, 280 insertions(+), 0 deletions(-)
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/controller/TbResAndDykeController.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/controller/TbResAndDykeController.java
new file mode 100644
index 0000000..d74b8ea
--- /dev/null
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/controller/TbResAndDykeController.java
@@ -0,0 +1,34 @@
+package cn.gistack.sm.sjztmd.controller;
+
+
+import cn.gistack.sm.sjztmd.service.ITbResAndDykeAllService;
+import cn.gistack.sm.sjztmd.vo.ResAndDykeAll;
+import io.swagger.annotations.Api;
+import lombok.AllArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.springblade.core.boot.ctrl.BladeController;
+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;
+
+import java.util.List;
+
+@Slf4j
+@Api(tags = "水库堤防统计")
+@RestController
+@RequestMapping("/sjztmd/resAndDkyeAll")
+@AllArgsConstructor
+public class TbResAndDykeController extends BladeController {
+
+ @Autowired
+ private ITbResAndDykeAllService tbProjectAllService;
+
+ @GetMapping("/getStatistics")
+ public R getStatistics(String code){
+ List<ResAndDykeAll> list = tbProjectAllService.getStatisticsTable(code);
+ return R.data(list);
+ }
+
+}
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/mapper/TbResAndDykeAllMapper.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/mapper/TbResAndDykeAllMapper.java
new file mode 100644
index 0000000..93a1f3f
--- /dev/null
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/mapper/TbResAndDykeAllMapper.java
@@ -0,0 +1,13 @@
+package cn.gistack.sm.sjztmd.mapper;
+
+import cn.gistack.sm.sjztmd.entity.TbProject;
+import cn.gistack.sm.sjztmd.vo.ResAndDykeAll;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+
+import java.util.List;
+
+@Mapper
+public interface TbResAndDykeAllMapper extends BaseMapper<TbProject> {
+ List<ResAndDykeAll> getStatisticsTable(String code);
+}
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/mapper/TbResAndDykeAllMapper.xml b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/mapper/TbResAndDykeAllMapper.xml
new file mode 100644
index 0000000..d13daa4
--- /dev/null
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/mapper/TbResAndDykeAllMapper.xml
@@ -0,0 +1,136 @@
+<?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.TbResAndDykeAllMapper">
+
+ <select id="getStatisticsTable" resultType="cn.gistack.sm.sjztmd.vo.ResAndDykeAll">
+ SELECT
+ a.*,
+ att."p_ad_code" pcode,
+ att."p_ad_name" pname,
+ att."ad_grad" adGrad,
+ ROUND(IFNULL(b.lengthSum, 0) / 1000, 3) AS lengthSum,
+ ROUND(IFNULL(b.levelOneLengthOne, 0) / 1000, 3) AS levelOneLengthOne,
+ ROUND(IFNULL(b.levelOneLengthTwo, 0) / 1000, 3) AS levelOneLengthTwo,
+ ROUND(IFNULL(b.levelOneLengthThree, 0) / 1000, 3) AS levelOneLengthThree,
+ ROUND(IFNULL(b.levelTwoLengthOne, 0) / 1000, 3) AS levelTwoLengthOne,
+ ROUND(IFNULL(b.levelTwoLengthTwo, 0) / 1000, 3) AS levelTwoLengthTwo,
+ ROUND(IFNULL(b.levelTwoLengthThree, 0) / 1000, 3) AS levelTwoLengthThree,
+ ROUND(IFNULL(b.levelThreeLengthOne, 0) / 1000, 3) AS levelThreeLengthOne,
+ ROUND(IFNULL(b.levelThreeLengthTwo, 0) / 1000, 3) AS levelThreeLengthTwo,
+ ROUND(IFNULL(b.levelThreeLengthThree, 0) / 1000, 3) AS levelThreeLengthThree,
+ ROUND(IFNULL(b.levelFourLengthOne, 0) / 1000, 3) AS levelFourLengthOne,
+ ROUND(IFNULL(b.levelFourLengthTwo, 0) / 1000, 3) AS levelFourLengthTwo,
+ ROUND(IFNULL(b.levelFourLengthThree, 0) / 1000, 3) AS levelFourLengthThree,
+ ROUND(IFNULL(b.levelFiveLengthOne, 0) / 1000, 3) AS levelFiveLengthOne,
+ ROUND(IFNULL(b.levelFiveLengthTwo, 0) / 1000, 3) AS levelFiveLengthTwo,
+ ROUND(IFNULL(b.levelFiveLengthThree, 0) / 1000, 3) AS levelFiveLengthThree
+ FROM
+ (
+ SELECT
+ a."ad_code" CODE,
+ a."ad_name" NAME,
+ count( b."danger_level" ) AS resNum,
+ sum( CASE WHEN b."eng_scal" = '大(1)型' AND b."danger_level" = '1' THEN 1 ELSE 0 END ) AS bigOneNum,
+ sum( CASE WHEN b."eng_scal" = '大(1)型' AND b."danger_level" = '2' THEN 1 ELSE 0 END ) AS bigTwoNum,
+ sum( CASE WHEN b."eng_scal" = '大(1)型' AND b."danger_level" = '3' THEN 1 ELSE 0 END ) AS bigThreeNum,
+ sum( CASE WHEN b."eng_scal" = '大(2)型' AND b."danger_level" = '1' THEN 1 ELSE 0 END ) AS bigtOneNum,
+ sum( CASE WHEN b."eng_scal" = '大(2)型' AND b."danger_level" = '2' THEN 1 ELSE 0 END ) AS bigtTwoNum,
+ sum( CASE WHEN b."eng_scal" = '大(2)型' AND b."danger_level" = '3' THEN 1 ELSE 0 END ) AS bigtThreeNum,
+ sum( CASE WHEN b."eng_scal" = '中型' AND b."danger_level" = '1' THEN 1 ELSE 0 END ) AS midOneNum,
+ sum( CASE WHEN b."eng_scal" = '中型' AND b."danger_level" = '2' THEN 1 ELSE 0 END ) AS midTwoNum,
+ sum( CASE WHEN b."eng_scal" = '中型' AND b."danger_level" = '3' THEN 1 ELSE 0 END ) AS midThreeNum,
+ sum( CASE WHEN b."eng_scal" = '小(1)型' AND b."danger_level" = '1' THEN 1 ELSE 0 END ) AS smallOneNum,
+ sum( CASE WHEN b."eng_scal" = '小(1)型' AND b."danger_level" = '2' THEN 1 ELSE 0 END ) AS smallTwoNum,
+ sum( CASE WHEN b."eng_scal" = '小(1)型' AND b."danger_level" = '3' THEN 1 ELSE 0 END ) AS smallThreeNum,
+ sum( CASE WHEN b."eng_scal" = '小(2)型' AND b."danger_level" = '1' THEN 1 ELSE 0 END ) AS smalltOneNum,
+ sum( CASE WHEN b."eng_scal" = '小(2)型' AND b."danger_level" = '2' THEN 1 ELSE 0 END ) AS smalltTwoNum,
+ sum( CASE WHEN b."eng_scal" = '小(2)型' AND b."danger_level" = '3' THEN 1 ELSE 0 END ) AS smalltThreeNum
+ FROM
+ YWXT."att_ad_base" a
+ LEFT JOIN (
+ SELECT
+ c."danger_level",
+ a."eng_scal",
+ e."guid" AS countyCode,
+ f."guid" AS cityCode,
+ g."guid" AS provinceCode
+ FROM
+ "SJZT_MD"."att_res_base" a
+ RIGHT JOIN ( SELECT * FROM "SJZT_MD"."tb_res_general_investigation_state" WHERE "danger_level" <![CDATA[<>]]> '0' AND "check_state" = '3' ) c ON a."guid" = c."res_guid"
+ LEFT JOIN YWXT."att_ad_base" d ON d."ad_code" = a."interior_ad_guid"
+ LEFT JOIN YWXT."att_ad_base" e ON d."p_ad_code" = e."ad_code"
+ LEFT JOIN YWXT."att_ad_base" f ON e."p_ad_code" = f."ad_code"
+ LEFT JOIN YWXT."att_ad_base" g ON f."p_ad_code" = g."ad_code"
+ ) b ON ((
+ b.countyCode = a."guid"
+ )
+ OR ( b.cityCode = a."guid" )
+ OR ( b.provinceCode = a."guid" ))
+
+ GROUP BY
+ a."ad_code",
+ a."ad_name"
+ ) a
+ LEFT JOIN (
+ SELECT
+ a."ad_code" CODE,
+ a."ad_name" NAME,
+ sum( b."danger_length" ) AS lengthSum,
+ sum( CASE WHEN b."dyke_level" = '1级' AND b."danger_level" = '1' THEN b."danger_length" ELSE 0 END ) AS levelOneLengthOne,
+ sum( CASE WHEN b."dyke_level" = '1级' AND b."danger_level" = '2' THEN b."danger_length" ELSE 0 END ) AS levelOneLengthTwo,
+ sum( CASE WHEN b."dyke_level" = '1级' AND b."danger_level" = '3' THEN b."danger_length" ELSE 0 END ) AS levelOneLengthThree,
+ sum( CASE WHEN b."dyke_level" = '2级' AND b."danger_level" = '1' THEN b."danger_length" ELSE 0 END ) AS levelTwoLengthOne,
+ sum( CASE WHEN b."dyke_level" = '2级' AND b."danger_level" = '2' THEN b."danger_length" ELSE 0 END ) AS levelTwoLengthTwo,
+ sum( CASE WHEN b."dyke_level" = '2级' AND b."danger_level" = '3' THEN b."danger_length" ELSE 0 END ) AS levelTwoLengthThree,
+ sum( CASE WHEN b."dyke_level" = '3级' AND b."danger_level" = '1' THEN b."danger_length" ELSE 0 END ) AS levelThreeLengthOne,
+ sum( CASE WHEN b."dyke_level" = '3级' AND b."danger_level" = '2' THEN b."danger_length" ELSE 0 END ) AS levelThreeLengthTwo,
+ sum( CASE WHEN b."dyke_level" = '3级' AND b."danger_level" = '3' THEN b."danger_length" ELSE 0 END ) AS levelThreeLengthThree,
+ sum( CASE WHEN b."dyke_level" = '4级' AND b."danger_level" = '1' THEN b."danger_length" ELSE 0 END ) AS levelFourLengthOne,
+ sum( CASE WHEN b."dyke_level" = '4级' AND b."danger_level" = '2' THEN b."danger_length" ELSE 0 END ) AS levelFourLengthTwo,
+ sum( CASE WHEN b."dyke_level" = '4级' AND b."danger_level" = '3' THEN b."danger_length" ELSE 0 END ) AS levelFourLengthThree,
+ sum( CASE WHEN b."dyke_level" = '5级' AND b."danger_level" = '1' THEN b."danger_length" ELSE 0 END ) AS levelFiveLengthOne,
+ sum( CASE WHEN b."dyke_level" = '5级' AND b."danger_level" = '2' THEN b."danger_length" ELSE 0 END ) AS levelFiveLengthTwo,
+ sum( CASE WHEN b."dyke_level" = '5级' AND b."danger_level" = '3' THEN b."danger_length" ELSE 0 END ) AS levelFiveLengthThree
+ FROM
+ YWXT."att_ad_base" a
+ RIGHT JOIN (
+ SELECT
+ a."dyke_level",
+ c."danger_level",
+ c."danger_length",
+ d."guid" AS countyCode,
+ e."guid" AS cityCode,
+ f."guid" AS provinceCode
+ FROM
+ "SJZT_MD"."tb_res_dyke" a
+ RIGHT JOIN (
+ SELECT
+ a.*
+ FROM
+ SJZT_MD."tb_dyke_unit_danger" a
+ LEFT JOIN SJZT_MD."tb_dyke_investigation_state" b ON a."dyke_id" = b."dyke_guid"
+ WHERE
+ a."danger_level" <![CDATA[<>]]> '0'
+ AND b."check_state" = '3'
+ ) c ON a."guid" = c."dyke_id"
+ LEFT JOIN YWXT."att_ad_base" d ON d."ad_code" = a."ad_code"
+ LEFT JOIN YWXT."att_ad_base" e ON d."p_ad_code" = e."ad_code"
+ LEFT JOIN YWXT."att_ad_base" f ON e."p_ad_code" = f."ad_code"
+ ) b ON ((
+ b.countyCode = a."guid"
+ )
+ OR ( b.cityCode = a."guid" )
+ OR ( b.provinceCode = a."guid" ))
+
+ GROUP BY
+ a."ad_code",
+ a."ad_name"
+ ) b ON a.CODE = b.CODE
+ left join YWXT."att_ad_base" att on a.CODE = att."guid"
+ where att."p_ad_code"= #{code}
+
+
+
+ </select>
+</mapper>
+
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/ITbResAndDykeAllService.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/ITbResAndDykeAllService.java
new file mode 100644
index 0000000..7d08b84
--- /dev/null
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/ITbResAndDykeAllService.java
@@ -0,0 +1,14 @@
+package cn.gistack.sm.sjztmd.service;
+
+import cn.gistack.sm.sjztmd.entity.TbProject;
+
+import cn.gistack.sm.sjztmd.vo.ResAndDykeAll;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+import java.util.List;
+
+
+public interface ITbResAndDykeAllService extends IService<TbProject> {
+
+ List<ResAndDykeAll> getStatisticsTable(String code);
+}
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/impl/TbResAndDykeAllServiceImpl.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/impl/TbResAndDykeAllServiceImpl.java
new file mode 100644
index 0000000..6658d93
--- /dev/null
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/impl/TbResAndDykeAllServiceImpl.java
@@ -0,0 +1,28 @@
+package cn.gistack.sm.sjztmd.service.impl;
+
+import cn.gistack.sm.sjztmd.entity.TbProject;
+import cn.gistack.sm.sjztmd.mapper.TbResAndDykeAllMapper;
+import cn.gistack.sm.sjztmd.service.ITbResAndDykeAllService;
+
+import cn.gistack.sm.sjztmd.vo.ResAndDykeAll;
+import com.baomidou.dynamic.datasource.annotation.DS;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.List;
+
+@Service
+@DS("zt")
+@Transactional(rollbackFor = Exception.class)
+public class TbResAndDykeAllServiceImpl extends ServiceImpl<TbResAndDykeAllMapper,TbProject> implements ITbResAndDykeAllService {
+
+ @Autowired
+ private TbResAndDykeAllMapper tbResAndDykeAllMapper;
+
+ @Override
+ public List<ResAndDykeAll> getStatisticsTable(String code) {
+ return tbResAndDykeAllMapper.getStatisticsTable(code) ;
+ }
+}
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/vo/ResAndDykeAll.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/vo/ResAndDykeAll.java
new file mode 100644
index 0000000..0456e13
--- /dev/null
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/vo/ResAndDykeAll.java
@@ -0,0 +1,55 @@
+package cn.gistack.sm.sjztmd.vo;
+
+import lombok.Data;
+
+@Data
+public class ResAndDykeAll {
+
+ private String code;
+
+ private String name;
+
+ private String pcode;
+
+ private String pname;
+
+ private String adGrad;
+
+ private int resNum;
+
+ private int bigOneNum;
+ private int bigTwoNum;
+ private int bigThreeNum;
+ private int bigtOneNum;
+ private int bigtTwoNum;
+ private int bigtThreeNum;
+ private int midOneNum;
+ private int midTwoNum;
+ private int midThreeNum;
+ private int smallOneNum;
+ private int smallTwoNum;
+ private int smallThreeNum;
+ private int smalltOneNum;
+ private int smalltTwoNum;
+ private int smalltThreeNum;
+
+ private double lengthSum;
+ private double levelOneLengthOne;
+ private double levelOneLengthTwo;
+ private double levelOneLengthThree;
+ private double levelTwoLengthOne;
+ private double levelTwoLengthTwo;
+ private double levelTwoLengthThree;
+ private double levelThreeLengthOne;
+ private double levelThreeLengthTwo;
+ private double levelThreeLengthThree;
+ private double levelFourLengthOne;
+ private double levelFourLengthTwo;
+ private double levelFourLengthThree;
+ private double levelFiveLengthOne;
+ private double levelFiveLengthTwo;
+ private double levelFiveLengthThree;
+
+
+
+}
--
Gitblit v1.9.3