From 0513a476797ef78f15a1fabb9c8e045e618b5122 Mon Sep 17 00:00:00 2001
From: guoshilong <123456>
Date: Wed, 03 Apr 2024 10:21:49 +0800
Subject: [PATCH] 普查统计表格返回总公里数和危害公里数
---
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/mapper/TbResGeneralInvestigationMapper.xml | 60 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 59 insertions(+), 1 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 f1bc63a..42ee2a0 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
@@ -480,7 +480,65 @@
and tdis."tb_year" = #{params.tbYear}
</if>
and tdis."check_state" = 2
- )checkDykeNum
+ )checkDykeNum,
+
+
+ IFNULL(
+ (
+ SELECT
+ SUM(CASE WHEN trd."dyke_length" THEN trd."dyke_length" ELSE 0 END)
+ 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 (county."ad_code" = aab."guid" or city."ad_code" = aab."guid" or province."ad_code" = aab."guid")
+ ),0) AS dykeTotalLength,
+
+
+ IFNULL((
+ SELECT
+ SUM(CASE WHEN trd.dangerLength THEN trd.dangerLength ELSE 0 END)
+ FROM (
+ SELECT
+ tdis."guid",
+ tdis."dyke_guid",
+ trd."ad_code",
+ trd."dyke_level",
+ trd."dyke_length",
+ tdi.dangerLength
+ FROM SJZT_MD."tb_dyke_investigation_state" tdis
+ LEFT JOIN SJZT_MD."tb_res_dyke" trd on trd."guid" = tdis."dyke_guid"
+ LEFT JOIN (
+ SELECT
+ TEMP1."tb_state_id",
+ TEMP1."unit",
+ TEMP1.dangerLength/temp1.num as dangerLength
+ FROM (
+ SELECT
+ tdi."tb_state_id",
+ tdi."dyke_guid",
+ tdi."unit",
+ count(*) as num,
+ SUM(CASE WHEN (tdi."danger_length") THEN tdi."danger_length" ELSE 0 END) AS dangerLength
+ from sjzt_md."tb_dyke_investigation" tdi
+ where 1=1
+ <if test="params.tbYear != null and params.tbYear != ''">
+ AND tdi."tb_year" = #{params.tbYear}
+ </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)
+ ) 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 (county."ad_code" = aab."guid" or city."ad_code" = aab."guid" or province."ad_code" = aab."guid")
+ ),0) AS dangerTotalLength
+
+
+
FROM YWXT."att_ad_base" aab
LEFT JOIN YWXT."att_ad_base" paab ON paab."guid" = aab."p_ad_code"
where
--
Gitblit v1.9.3