From bfddec76b8349e076efc9ba10a6d7371a439cb1d Mon Sep 17 00:00:00 2001
From: xieb <vip_xiaobin810@163.com>
Date: Sat, 28 Sep 2024 17:45:25 +0800
Subject: [PATCH] 进度统计列表统计逻辑修改、支持季度查询

---
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/mapper/TbProjectMapper.xml |   45 ++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 42 insertions(+), 3 deletions(-)

diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/mapper/TbProjectMapper.xml b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/mapper/TbProjectMapper.xml
index 3894bda..bb8ce9a 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/mapper/TbProjectMapper.xml
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/mapper/TbProjectMapper.xml
@@ -157,7 +157,13 @@
             levelTwoLength,
             levelThreeLength,
             levelFourLength,
-            levelFiveLength
+            levelFiveLength,
+            dykeLengthAll,
+            levelOneLengthAll,
+            levelTwoLengthAll,
+            levelThreeLengthAll,
+            levelFourLengthAll,
+            levelFiveLengthAll
         FROM YWXT."att_ad_base" aab
         left join (
             SELECT
@@ -175,9 +181,12 @@
              ) arb ON ((arb.townCode = aab."guid")or(arb.countyCode = aab."guid") or (arb.cityCode = aab."guid") or (arb.provinceCode = aab."guid") )
             right join sjzt_md."tb_res_general_investigation_state" trgis on trgis."res_guid" = arb."code"
                     <!--统计待审核和已审核的-->
-                and (trgis."check_state" = 2)
+                and (trgis."check_state" >= 2)
                 <if test="params.tbYear != null and params.tbYear != ''">
                     and trgis."tb_year" = #{params.tbYear}
+                </if>
+                <if test="params.tbQuarter != null and params.tbQuarter != ''">
+                    and trgis."tb_quarter" = #{params.tbQuarter}
                 </if>
             group by aab."guid",aab."ad_name"
         )res on res."guid" = aab."guid"
@@ -247,11 +256,14 @@
                              <if test="params.tbYear != null and params.tbYear != ''">
                                  AND  tdi."tb_year" = #{params.tbYear}
                             </if>
+                            <if test="params.tbQuarter != null and params.tbQuarter != ''">
+                                and tdi."tb_quarter" = #{params.tbQuarter}
+                            </if>
                             group by tdi."tb_state_id",tdi."dyke_guid",tdi."unit"
                         )TEMP1
                     ) tdi on tdi."tb_state_id" = tdis."guid"
                     <!--统计待审核和已审核的-->
-                    where (tdis."check_state" = 1 or tdis."check_state" = 2)
+                    where (tdis."check_state" >= 2)
                 ) 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"
@@ -259,6 +271,33 @@
             )trd on ((trd.countyCode = aab."guid") or (trd.cityCode = aab."guid") or (trd.provinceCode = aab."guid"))
             group by aab."guid",aab."ad_name"
         )dyke on dyke."guid" = aab."guid"
+
+        left join (
+            SELECT
+                aab."guid",
+                aab."ad_name",
+                SUM(CASE WHEN trd."guid" is not null then trd."dyke_length" else 0 END) as dykeLengthAll,
+                SUM(CASE WHEN trd."dyke_level" = '1级' THEN trd."dyke_length" ELSE 0 END) AS levelOneLengthAll,
+                SUM(CASE WHEN trd."dyke_level" = '2级' THEN trd."dyke_length" ELSE 0 END) AS levelTwoLengthAll,
+                SUM(CASE WHEN trd."dyke_level" = '3级' THEN trd."dyke_length" ELSE 0 END)AS levelThreeLengthAll,
+                SUM(CASE WHEN trd."dyke_level" = '4级' THEN trd."dyke_length" ELSE 0 END) AS levelFourLengthAll,
+                SUM(CASE WHEN trd."dyke_level" = '5级' THEN trd."dyke_length" ELSE 0 END) AS levelFiveLengthAll
+            FROM YWXT."att_ad_base" aab
+            left join (
+                select trd."guid",
+                trd."dyke_length",
+                trd."dyke_level",
+                county."guid" as countyCode,
+                city."guid" as cityCode,
+                province."guid" as provinceCode
+                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"
+            ) trd on ((trd.countyCode = aab."guid") or (trd.cityCode = aab."guid") or (trd.provinceCode = aab."guid"))
+            group by aab."guid",aab."ad_name"
+        ) dykeAll on dykeAll."guid" = aab."guid"
+
         left join (
             SELECT
                 aab."guid",

--
Gitblit v1.9.3