From 4ff6d97866376703a4349df9566a062a500444ea Mon Sep 17 00:00:00 2001
From: guoshilong <123456>
Date: Fri, 22 Mar 2024 15:14:32 +0800
Subject: [PATCH] 普查柱状图接口调整,表格接口

---
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/mapper/TbResGeneralInvestigationMapper.xml |  472 +++++++++++++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 409 insertions(+), 63 deletions(-)

diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/mapper/TbResGeneralInvestigationMapper.xml b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/mapper/TbResGeneralInvestigationMapper.xml
index 50228f1..611981c 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/mapper/TbResGeneralInvestigationMapper.xml
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/mapper/TbResGeneralInvestigationMapper.xml
@@ -2,6 +2,90 @@
 <!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.TbResGeneralInvestigationMapper">
     <!--namespace根据自己需要创建的的mapper的路径和名称填写-->
+
+    <sql id="resBase">
+        (
+        SELECT arb."code",
+                arb."name",
+                case when town."ad_grad" = 4 THEN town."ad_code" ELSE NULL END AS townCode,
+                case when town."ad_grad" = 4 THEN town."ad_name" ELSE NULL END AS townName,
+                case
+                    when town."ad_grad" = 3 THEN town."ad_code"
+                    when county."ad_grad" = 3 THEN county."ad_code" END        AS countyCode,
+                case
+                    when town."ad_grad" = 3 THEN town."ad_name"
+                    when county."ad_grad" = 3 THEN county."ad_name" END        AS countyName,
+                case
+                    when town."ad_grad" = 2 THEN town."ad_code"
+                    when county."ad_grad" = 2 THEN county."ad_code"
+                    ELSE city."ad_code" END                                    AS cityCode,
+                case
+                    when town."ad_grad" = 2 THEN town."ad_name"
+                    when county."ad_grad" = 2 THEN county."ad_name"
+                    ELSE city."ad_name" END                                    AS cityName,
+                case
+                    when town."ad_grad" = 1 THEN town."ad_code"
+                    when county."ad_grad" = 1 THEN county."ad_code"
+                    when city."ad_grad" = 1 THEN city."ad_code"
+                    ELSE province."ad_code" END                                AS provinceCode,
+                case
+                    when town."ad_grad" = 1 THEN town."ad_name"
+                    when county."ad_grad" = 1 THEN county."ad_name"
+                    when city."ad_grad" = 1 THEN city."ad_name"
+                    ELSE province."ad_name" END                                AS provinceName
+         FROM sjzt_MD."att_res_base" ARB
+                  LEFT JOIN YWXT."att_ad_base" town ON town."ad_code" = arb."interior_ad_guid"
+                  LEFT JOIN YWXT."att_ad_base" county ON county."ad_code" = town."p_ad_code"
+                  LEFT JOIN YWXT."att_ad_base" city ON city."ad_code" = county."p_ad_code"
+                  LEFT JOIN YWXT."att_ad_base" province ON province."ad_code" = city."p_ad_code"
+
+         ) arb
+    </sql>
+
+
+    <sql id="selectResByRegion">
+        SELECT arb."code",
+               arb."name",
+               case when town."ad_grad" = 4 THEN town."ad_code" ELSE NULL END AS townCode,
+               case when town."ad_grad" = 4 THEN town."ad_name" ELSE NULL END AS townName,
+               case
+                   when town."ad_grad" = 3 THEN town."ad_code"
+                   when county."ad_grad" = 3 THEN county."ad_code" END        AS countyCode,
+               case
+                   when town."ad_grad" = 3 THEN town."ad_name"
+                   when county."ad_grad" = 3 THEN county."ad_name" END        AS countyName,
+               case
+                   when town."ad_grad" = 2 THEN town."ad_code"
+                   when county."ad_grad" = 2 THEN county."ad_code"
+                   ELSE city."ad_code" END                                    AS cityCode,
+               case
+                   when town."ad_grad" = 2 THEN town."ad_name"
+                   when county."ad_grad" = 2 THEN county."ad_name"
+                   ELSE city."ad_name" END                                    AS cityName,
+               case
+                   when town."ad_grad" = 1 THEN town."ad_code"
+                   when county."ad_grad" = 1 THEN county."ad_code"
+                   when city."ad_grad" = 1 THEN city."ad_code"
+                   ELSE province."ad_code" END                                AS provinceCode,
+               case
+                   when town."ad_grad" = 1 THEN town."ad_name"
+                   when county."ad_grad" = 1 THEN county."ad_name"
+                   when city."ad_grad" = 1 THEN city."ad_name"
+                   ELSE province."ad_name" END                                AS provinceName
+        FROM sjzt_MD."att_res_base" ARB
+                 LEFT JOIN YWXT."att_ad_base" town ON town."ad_code" = arb."interior_ad_guid"
+                 LEFT JOIN YWXT."att_ad_base" county ON county."ad_code" = town."p_ad_code"
+                 LEFT JOIN YWXT."att_ad_base" city ON city."ad_code" = county."p_ad_code"
+                 LEFT JOIN YWXT."att_ad_base" province ON province."ad_code" = city."p_ad_code"
+    </sql>
+
+
+
+
+
+
+
+
     <select id="statisticsPie" resultType="cn.gistack.sm.sjztmd.statisticsVO.StatisticsPie">
 
         SELECT
@@ -9,45 +93,79 @@
             tempNum.finishNum,
             tempNum.totalNum-tempNum.finishNum as unFinishNum
         FROM(
-
                 SELECT
                     COUNT(*) totalNum,
-                    SUM(CASE WHEN trgis."check_state" = 2 THEN 1 ELSE 0 END) as finishNum
+                    SUM(CASE WHEN (trgis."check_state" = 1 or trgis."check_state" = 2) THEN 1 ELSE 0 END) as finishNum
                 from
-                    SJZT_MD."att_res_base" arb
-                LEFT JOIN SJZT_MD."tb_res_general_investigation_state" trgis ON trgis."res_guid" = arb."guid"
+                    <include refid="resBase"/>
+                LEFT JOIN SJZT_MD."tb_res_general_investigation_state" trgis ON trgis."res_guid" = arb."code" AND (trgis."check_state" = 1 or trgis."check_state" = 2)
                     <if test="params.tbYear != null and params.tbYear !=''">
                         AND trgis."tb_year" = #{params.tbYear}
                     </if>
-
-                LEFT JOIN YWXT."att_ad_base" town ON town."ad_code" = arb."interior_ad_guid"
-                LEFT JOIN YWXT."att_ad_base" county ON county."ad_code" = town."p_ad_code"
-                LEFT JOIN YWXT."att_ad_base" city ON city."ad_code" = county."p_ad_code"
-                LEFT JOIN YWXT."att_ad_base" province ON province."ad_code" = city."p_ad_code"
-
                 WHERE 1=1
                 <if test="params.adCode != null and params.adCode !=''">
-                    AND CONCAT(province."ad_code",city."ad_code",county."ad_code",town."ad_code") LIKE CONCAT('%',#{params.adCode},'%')
+                    AND CONCAT(arb.provinceCode,arb.cityCode,arb.countyCode,arb.townCode) LIKE CONCAT('%',#{params.adCode},'%')
                 </if>
-
             ) tempNum
 
+    </select>
+
+
+    <select id="getStatisticsBar" resultType="cn.gistack.sm.sjztmd.statisticsVO.StatisticsBar">
+
+        select
+                "ad_code" code,
+               "ad_name" name,
+               (
+                   SELECT COUNT(*)FROM
+                       (
+                           <include refid="selectResByRegion"/>
+                           where (town."ad_code" = aab."guid" or county."ad_code" = aab."guid" or city."ad_code" = aab."guid" or province."ad_code" = aab."guid")
+                       )res
+               ) AS resNum,
+               (
+                   SELECT COUNT(*) FROM (
+                        SELECT trgis."res_guid",tmp.totalDangerNum FROM
+                            SJZT_MD."tb_res_general_investigation_state" trgis
+                                LEFT JOIN
+                                (
+                                    SELECT TRGI."tb_state_id",TRGI."res_guid",
+                                           SUM(CASE WHEN (trgi."hazard_rating" != '无危害') THEN 1 ELSE 0 END) AS totalDangerNum
+                                    from sjzt_md."tb_res_general_investigation" trgi
+                                    where 1=1
+                                      <if test="params.tbYear != null and params.tbYear !=''">
+                                          AND TRGI."tb_year" = #{params.tbYear}
+                                      </if>
+                                    group by TRGI."tb_state_id",TRGI."res_guid"
+                                ) tmp on tmp."tb_state_id" = trgis."guid"
+                                LEFT JOIN SJZT_MD."att_res_base" arb on arb."code" = trgis."res_guid"
+                                LEFT JOIN YWXT."att_ad_base" town ON town."ad_code" = arb."interior_ad_guid"
+                                LEFT JOIN YWXT."att_ad_base" county ON county."ad_code" = town."p_ad_code"
+                                LEFT JOIN YWXT."att_ad_base" city ON city."ad_code" = county."p_ad_code"
+                                LEFT JOIN YWXT."att_ad_base" province ON province."ad_code" = city."p_ad_code"
+                        where (town."ad_code" = aab."guid" or county."ad_code" = aab."guid" or city."ad_code" = aab."guid" or province."ad_code" = aab."guid")
+                          <!--控制只有待审核和已审核数据才显示-->
+                        and (trgis."check_state" = 1 or trgis."check_state" = 2)
+                    )
+               ) dangerNum
+        FROM YWXT."att_ad_base" aab
+        where
+        <if test="params.adCode != null and params.adCode !=''">
+            "p_ad_code" = #{params.adCode}
+        </if>
 
     </select>
-    <select id="getCountyStatisticsBar" resultType="cn.gistack.sm.sjztmd.statisticsVO.StatisticsBar">
 
+
+
+    <select id="getCountyStatisticsBar" resultType="cn.gistack.sm.sjztmd.statisticsVO.StatisticsBar">
         SELECT
-                arb."guid" as code,
+                arb."code" as code,
                 arb."name" as name,
                CASE WHEN tmp.termiteNum THEN tmp.termiteNum ELSE 0 END as termiteNum,
                CASE WHEN tmp.otherNum THEN tmp.otherNum ELSE 0 END as otherNum
-        FROM SJZT_MD."att_res_base" arb
-                 LEFT JOIN YWXT."att_ad_base" town ON town."ad_code" = arb."interior_ad_guid"
-                 LEFT JOIN YWXT."att_ad_base" county ON county."ad_code" = town."p_ad_code"
-                 LEFT JOIN YWXT."att_ad_base" city ON city."ad_code" = county."p_ad_code"
-                 LEFT JOIN YWXT."att_ad_base" province ON province."ad_code" = city."p_ad_code"
-
-                 left join "SJZT_MD"."tb_res_general_investigation_state" trgis on   trgis."res_guid" = arb."code"
+        FROM <include refid="resBase"/>
+                 left join "SJZT_MD"."tb_res_general_investigation_state" trgis on   trgis."res_guid" = arb."code" and (trgis."check_state" =1 or trgis."check_state" =2)
                  left join
                  (
                      SELECT TRGI."tb_state_id",TRGI."res_guid",
@@ -62,7 +180,7 @@
                  ) tmp on tmp."tb_state_id" = trgis."guid"
         where 1=1
         <if test="params.adCode != null and params.adCode !=''">
-            AND CONCAT(province."ad_code",city."ad_code",county."ad_code",town."ad_code") LIKE CONCAT('%',#{params.adCode},'%')
+            AND CONCAT(arb.provinceCode,arb.cityCode,arb.countyCode,arb.townCode) LIKE CONCAT('%',#{params.adCode},'%')
         </if>
     </select>
     <select id="getCityStatisticsBar" resultType="cn.gistack.sm.sjztmd.statisticsVO.StatisticsBar">
@@ -75,15 +193,11 @@
              LEFT JOIN (
                     SELECT
                         COUNT(*) resNum,
-                        county."guid" adCode,
-                        county."ad_name" adName,
+                         arb.countyCode adCode,
+                         arb.countyName adName,
                         SUM( CASE WHEN tmp.totalDangerNum THEN 1 ELSE 0 END ) dangerNum
-                    FROM sjzt_MD."att_res_base" ARB
-                             LEFT JOIN YWXT."att_ad_base" town ON town."ad_code" = arb."interior_ad_guid"
-                             LEFT JOIN YWXT."att_ad_base" county ON county."ad_code" = town."p_ad_code"
-                             LEFT JOIN YWXT."att_ad_base" city ON city."ad_code" = county."p_ad_code"
-                             LEFT JOIN YWXT."att_ad_base" province ON province."ad_code" = city."p_ad_code"
-                             left join "SJZT_MD"."tb_res_general_investigation_state" trgis on arb."code" = trgis."res_guid"
+                    FROM <include refid="resBase"/>
+                             left join "SJZT_MD"."tb_res_general_investigation_state" trgis on arb."code" = trgis."res_guid" and (trgis."check_state" =1 or trgis."check_state" =2)
                              LEFT JOIN
                                  (
                                      SELECT TRGI."tb_state_id",TRGI."res_guid",
@@ -97,17 +211,18 @@
 
                                  ) tmp on tmp."tb_state_id" = trgis."guid"
                     WHERE 1=1
-                    <if test="params.adCode != null and params.adCode !=''">
-                        AND CONCAT(province."ad_code",city."ad_code",county."ad_code",town."ad_code") LIKE CONCAT('%',#{params.adCode},'%')
-                    </if>
-                    group by 	county."guid" ,county."ad_name"
-
+                <if test="params.adCode != null and params.adCode !=''">
+                    AND CONCAT(arb.provinceCode,arb.cityCode,arb.countyCode,arb.townCode) LIKE CONCAT('%',#{params.adCode},'%')
+                </if>
+                    group by 	arb.countyCode,arb.countyName
                 ) resTmp ON resTmp.adCode = aab."guid"
         where 1=1
         <if test="params.adCode != null and params.adCode !=''">
           and aab."p_ad_code" = #{params.adCode}
         </if>
     </select>
+
+
     <select id="getProvinceStatisticsBar" resultType="cn.gistack.sm.sjztmd.statisticsVO.StatisticsBar">
         SELECT
             aab."guid" code,
@@ -116,40 +231,271 @@
             CASE WHEN resTmp.dangerNum THEN resTmp.dangerNum ELSE 0 END AS dangerNum
         FROM YWXT."att_ad_base" aab
             LEFT JOIN (
-            SELECT
-            COUNT(*) resNum,
-            city."guid" adCode,
-            city."ad_name" adName,
-            SUM( CASE WHEN tmp.totalDangerNum THEN 1 ELSE 0 END ) dangerNum
-            FROM sjzt_MD."att_res_base" ARB
-            LEFT JOIN YWXT."att_ad_base" town ON town."ad_code" = arb."interior_ad_guid"
-            LEFT JOIN YWXT."att_ad_base" county ON county."ad_code" = town."p_ad_code"
-            LEFT JOIN YWXT."att_ad_base" city ON city."ad_code" = county."p_ad_code"
-            LEFT JOIN YWXT."att_ad_base" province ON province."ad_code" = city."p_ad_code"
-            left join "SJZT_MD"."tb_res_general_investigation_state" trgis on arb."code" = trgis."res_guid"
-            LEFT JOIN
-            (
-            SELECT TRGI."tb_state_id",TRGI."res_guid",
-            SUM(CASE WHEN (trgi."hazard_rating" != '无危害') THEN 1 ELSE 0 END) AS totalDangerNum
-            from sjzt_md."tb_res_general_investigation" trgi
-            where 1=1
-            <if test="params.tbYear != null and params.tbYear != ''">
-                AND TRGI."tb_year" = #{params.tbYear}
-            </if>
-            group by TRGI."tb_state_id",TRGI."res_guid"
+                SELECT
+                COUNT(*) resNum,
+                arb.cityCode adCode,
+                arb.cityName adName,
+                SUM( CASE WHEN tmp.totalDangerNum THEN 1 ELSE 0 END ) dangerNum
+                FROM <include refid="resBase"/>
 
-            ) tmp on tmp."tb_state_id" = trgis."guid"
-            WHERE 1=1
-            <if test="params.adCode != null and params.adCode !=''">
-               and CONCAT(province."ad_code",city."ad_code",county."ad_code",town."ad_code") LIKE CONCAT('%',#{params.adCode},'%')
-            </if>
-            group by 	city."guid" ,city."ad_name"
-
+                left join "SJZT_MD"."tb_res_general_investigation_state" trgis on arb."code" = trgis."res_guid" and (trgis."check_state" =1 or trgis."check_state" =2)
+                LEFT JOIN
+                (
+                    SELECT TRGI."tb_state_id",TRGI."res_guid",
+                    SUM(CASE WHEN (trgi."hazard_rating" != '无危害') THEN 1 ELSE 0 END) AS totalDangerNum
+                    from sjzt_md."tb_res_general_investigation" trgi
+                    where 1=1
+                    <if test="params.tbYear != null and params.tbYear != ''">
+                        AND TRGI."tb_year" = #{params.tbYear}
+                    </if>
+                    group by TRGI."tb_state_id",TRGI."res_guid"
+                ) tmp on tmp."tb_state_id" = trgis."guid"
+                WHERE 1=1
+                <if test="params.adCode != null and params.adCode !=''">
+                    AND CONCAT(arb.provinceCode,arb.cityCode,arb.countyCode,arb.townCode) LIKE CONCAT('%',#{params.adCode},'%')
+                </if>
+                group by 	arb.cityCode ,arb.cityName
             ) resTmp ON resTmp.adCode = aab."guid"
         where 1=1
         <if test="params.adCode != null and params.adCode !=''">
            and  aab."p_ad_code" = #{params.adCode}
         </if>
+        order by aab."guid" asc
 
     </select>
+
+    <select id="getCityStatisticsTable" resultType="cn.gistack.sm.sjztmd.statisticsVO.StatisticsTable">
+
+        SELECT
+            aab."guid" as adCode,
+            aab."ad_name" as adName,
+            ifNull(res.resNum,0 )as resNum,
+            ifNull(res.investigationResNum,0) as investigationResNum,
+            ifNull(res.resNum - res.investigationResNum,0)as unInvestigationResNum,
+            ifNull(res.checkResNum,0) as checkResNum,
+
+            ifNull(dyke.dykeNum,0 )as dykeNum,
+            ifNull(dyke.investigationDykeNum,0) as investigationDykeNum,
+            ifNull(dyke.dykeNum - dyke.investigationDykeNum,0)as unInvestigationDykeNum,
+            ifNull(dyke.checkDykeNum,0) as checkDykeNum
+        from
+            ywxt."att_ad_base" aab
+                LEFT JOIN
+            (
+                SELECT
+                    arb.countyCode adCode,
+                    arb.countyName adName,
+                    COUNT(*) AS resNum,
+                    SUM(CASE WHEN trgis."check_state" = 1 THEN 1 ELSE 0 END) investigationResNum,
+                    SUM(CASE WHEN trgis."check_state" = 2 THEN 1 ELSE 0 END) checkResNum
+                FROM
+                        <include refid="resBase"/>
+                         left join "SJZT_MD"."tb_res_general_investigation_state" trgis on arb."code" = trgis."res_guid"
+                WHERE 1=1
+                <if test="params.adCode != null and params.adCode !=''">
+                    AND CONCAT(province."ad_code",city."ad_code",county."ad_code",town."ad_code") LIKE CONCAT('%',#{params.adCode},'%')
+                </if>
+                <if test="params.tbYear != null and params.tbYear !=''">
+                    and trgis."tb_year"  = #{params.tbYear}
+                </if>
+                group by  arb.countyCode,arb.countyName
+            )res on res.adCode = aab."guid"
+                LEFT JOIN
+            (
+                SELECT
+                    trd."ad_code" adCode,
+                    trd."ad_name" adNmae,
+                    COUNT(*) AS dykeNum,
+                    SUM(CASE WHEN tdis."check_state" = 1 THEN 1 ELSE 0 END) investigationDykeNum,
+                    SUM(CASE WHEN tdis."check_state" = 2 THEN 1 ELSE 0 END) checkDykeNum
+                FROM SJZT_MD."tb_res_dyke" trd
+                         left join SJZT_MD."tb_dyke_investigation_state" tdis on trd."guid" = tdis."dyke_guid"
+                WHERE  1=1
+                    <if test="params.adGuid != null and params.adGuid !=''">
+                       and trd."ad_code" LIKE #{params.adGuid}
+                    </if>
+                    <if test="params.tbYear != null and params.tbYear !=''">
+                        and tdis."tb_year"  = #{params.tbYear}
+                    </if>
+                GROUP BY trd."ad_code",trd."ad_name"
+            )dyke on dyke.adCode = aab."guid"
+        where 1=1
+        <if test="params.adCode != null and params.adCode !=''">
+            AND aab."p_ad_code" = #{params.adCode}
+        </if>
+        order by aab."guid" asc
+    </select>
+
+    <select id="getProvinceStatisticsTable" resultType="cn.gistack.sm.sjztmd.statisticsVO.StatisticsTable">
+        SELECT
+            aab."guid" as adCode,
+            aab."ad_name" as adName,
+            ifNull(res.resNum,0 )as resNum,
+            ifNull(res.investigationResNum,0) as investigationResNum,
+            ifNull(res.resNum - res.investigationResNum,0)as unInvestigationResNum,
+            ifNull(res.checkResNum,0) as checkResNum,
+
+            ifNull(dyke.dykeNum,0 )as dykeNum,
+            ifNull(dyke.investigationDykeNum,0) as investigationDykeNum,
+            ifNull(dyke.dykeNum - dyke.investigationDykeNum,0)as unInvestigationDykeNum,
+            ifNull(dyke.checkDykeNum,0) as checkDykeNum
+        from
+            ywxt."att_ad_base" aab
+        LEFT JOIN
+        (
+            SELECT
+            arb.cityCode adCode,
+            arb.cityName adName,
+            COUNT(*) AS resNum,
+            SUM(CASE WHEN trgis."check_state" = 1 THEN 1 ELSE 0 END) investigationResNum,
+            SUM(CASE WHEN trgis."check_state" = 2 THEN 1 ELSE 0 END) checkResNum
+            FROM
+            <include refid="resBase"/>
+            left join "SJZT_MD"."tb_res_general_investigation_state" trgis on arb."code" = trgis."res_guid"
+            WHERE 1=1
+            <if test="params.adCode != null and params.adCode !=''">
+                AND CONCAT(province."ad_code",city."ad_code",county."ad_code",town."ad_code") LIKE CONCAT('%',#{params.adCode},'%')
+            </if>
+            <if test="params.tbYear != null and params.tbYear !=''">
+                and trgis."tb_year"  = #{params.tbYear}
+            </if>
+            group by  arb.cityCode, arb.cityName
+        )res on res.adCode = aab."guid"
+        LEFT JOIN
+        (
+        SELECT
+        trd."ad_code" adCode,
+        trd."ad_name" adNmae,
+        COUNT(*) AS dykeNum,
+        SUM(CASE WHEN tdis."check_state" = 1 THEN 1 ELSE 0 END) investigationDykeNum,
+        SUM(CASE WHEN tdis."check_state" = 2 THEN 1 ELSE 0 END) checkDykeNum
+        FROM SJZT_MD."tb_res_dyke" trd
+        left join SJZT_MD."tb_dyke_investigation_state" tdis on trd."guid" = tdis."dyke_guid"
+        WHERE  1=1
+        <if test="params.adGuid != null and params.adGuid !=''">
+            and trd."ad_code" LIKE #{params.adGuid}
+        </if>
+        <if test="params.tbYear != null and params.tbYear !=''">
+            and tdis."tb_year"  = #{params.tbYear}
+        </if>
+        GROUP BY trd."ad_code",trd."ad_name"
+        )dyke on dyke.adCode = aab."guid"
+        where 1=1
+        <if test="params.adCode != null and params.adCode !=''">
+            AND aab."p_ad_code" = #{params.adCode}
+        </if>
+        order by aab."guid" asc
+    </select>
+    <select id="getStatisticsTable" resultType="cn.gistack.sm.sjztmd.statisticsVO.StatisticsTable">
+
+
+
+        SELECT
+        aab."guid" adCode,
+        aab."ad_name" adName,
+        (
+        SELECT COUNT(*)
+        from(
+        <include refid="selectResByRegion"/>
+        where
+        (town."ad_code" = aab."guid" or county."ad_code" = aab."guid" or city."ad_code" = aab."guid" or province."ad_code" = aab."guid")
+        )
+        ) resNum,
+
+        (
+        SELECT COUNT(*) FROM
+        SJZT_MD."tb_res_general_investigation_state" trgis
+        LEFT JOIN sjzt_MD."att_res_base" ARB ON ARB."code" = trgis."res_guid"
+        LEFT JOIN YWXT."att_ad_base" town ON town."ad_code" = arb."interior_ad_guid"
+        LEFT JOIN YWXT."att_ad_base" county ON county."ad_code" = town."p_ad_code"
+        LEFT JOIN YWXT."att_ad_base" city ON city."ad_code" = county."p_ad_code"
+        LEFT JOIN YWXT."att_ad_base" province ON province."ad_code" = city."p_ad_code"
+
+        where 1=1
+        and (town."ad_code" = aab."guid" or county."ad_code" = aab."guid" or city."ad_code" = aab."guid" or province."ad_code" = aab."guid")
+        <if test="params.tbYear != null and params.tbYear !=''">
+            and trgis."tb_year" = 2024
+        </if>
+        and trgis."check_state" = 1
+
+        )investigationResNum,
+
+        (
+        SELECT COUNT(*) FROM
+        SJZT_MD."tb_res_general_investigation_state" trgis
+        LEFT JOIN sjzt_MD."att_res_base" ARB ON ARB."code" = trgis."res_guid"
+        LEFT JOIN YWXT."att_ad_base" town ON town."ad_code" = arb."interior_ad_guid"
+        LEFT JOIN YWXT."att_ad_base" county ON county."ad_code" = town."p_ad_code"
+        LEFT JOIN YWXT."att_ad_base" city ON city."ad_code" = county."p_ad_code"
+        LEFT JOIN YWXT."att_ad_base" province ON province."ad_code" = city."p_ad_code"
+
+        where 1=1
+        and (town."ad_code" = aab."guid" or county."ad_code" = aab."guid" or city."ad_code" = aab."guid" or province."ad_code" = aab."guid")
+        <if test="params.tbYear != null and params.tbYear !=''">
+            and trgis."tb_year" = 2024
+        </if>
+
+        and trgis."check_state" = 2
+
+        )checkResNum,
+
+        (
+        SELECT COUNT(*)
+        FROM SJZT_MD."tb_res_dyke" trd
+        LEFT JOIN YWXT."att_ad_base" county ON county."ad_code" = trd."ad_code"
+        LEFT JOIN YWXT."att_ad_base" city ON city."ad_code" = county."p_ad_code"
+        LEFT JOIN YWXT."att_ad_base" province ON province."ad_code" = city."p_ad_code"
+        where 1=1
+        and ( county."ad_code" = aab."guid" or city."ad_code" = aab."guid" or province."ad_code" = aab."guid")
+        )dykeNum,
+
+        (
+        SELECT COUNT(*) FROM
+        SJZT_MD."tb_dyke_investigation_state" tdis
+        LEFT JOIN SJZT_MD."tb_res_dyke" trd on trd."guid" = tdis."dyke_guid"
+        LEFT JOIN YWXT."att_ad_base" county ON county."ad_code" = trd."ad_code"
+        LEFT JOIN YWXT."att_ad_base" city ON city."ad_code" = county."p_ad_code"
+        LEFT JOIN YWXT."att_ad_base" province ON province."ad_code" = city."p_ad_code"
+
+        where 1=1
+        and (county."ad_code" = aab."guid" or city."ad_code" = aab."guid" or province."ad_code" = aab."guid")
+        <if test="params.tbYear != null and params.tbYear !=''">
+            and tdis."tb_year" = #{params.tbYear}
+        </if>
+        and tdis."check_state" = 1
+        )investigationDykeNum,
+
+        (
+        SELECT COUNT(*) FROM
+        SJZT_MD."tb_dyke_investigation_state" tdis
+        LEFT JOIN SJZT_MD."tb_res_dyke" trd on trd."guid" = tdis."dyke_guid"
+        LEFT JOIN YWXT."att_ad_base" county ON county."ad_code" = trd."ad_code"
+        LEFT JOIN YWXT."att_ad_base" city ON city."ad_code" = county."p_ad_code"
+        LEFT JOIN YWXT."att_ad_base" province ON province."ad_code" = city."p_ad_code"
+
+        where 1=1
+        and (county."ad_code" = aab."guid" or city."ad_code" = aab."guid" or province."ad_code" = aab."guid")
+        <if test="params.tbYear != null and params.tbYear !=''">
+            and tdis."tb_year" = #{params.tbYear}
+        </if>
+        and tdis."check_state" = 2
+        )checkDykeNum
+        FROM YWXT."att_ad_base" aab
+        where
+        <if test="params.adCode != null and params.adCode != null">
+            aab."p_ad_code" = #{params.adCode}
+        </if>
+        order by aab."guid"
+
+
+
+
+
+
+
+
+
+    </select>
+
+
 </mapper>

--
Gitblit v1.9.3