yxm
2024-07-04 56f9e4bc47c53efcfab40ca75adf8c13ca334ae2
堤防水库危害统计v20240704
6 files added
280 ■■■■■ changed files
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/controller/TbResAndDykeController.java 34 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/mapper/TbResAndDykeAllMapper.java 13 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/mapper/TbResAndDykeAllMapper.xml 136 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/ITbResAndDykeAllService.java 14 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/impl/TbResAndDykeAllServiceImpl.java 28 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/vo/ResAndDykeAll.java 55 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/controller/TbResAndDykeController.java
New file
@@ -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);
    }
}
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/mapper/TbResAndDykeAllMapper.java
New file
@@ -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);
}
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/mapper/TbResAndDykeAllMapper.xml
New file
@@ -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>
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/ITbResAndDykeAllService.java
New file
@@ -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);
}
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/service/impl/TbResAndDykeAllServiceImpl.java
New file
@@ -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) ;
    }
}
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/vo/ResAndDykeAll.java
New file
@@ -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;
}