From 419ced6843926331fab49683e014eec6097b4375 Mon Sep 17 00:00:00 2001
From: guoshilong <123456>
Date: Thu, 21 Mar 2024 15:44:34 +0800
Subject: [PATCH] 普查柱状图统计接口
---
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sjztmd/mapper/TbResGeneralInvestigationMapper.xml | 118 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 118 insertions(+), 0 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 2223c3d..50228f1 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
@@ -34,4 +34,122 @@
</select>
+ <select id="getCountyStatisticsBar" resultType="cn.gistack.sm.sjztmd.statisticsVO.StatisticsBar">
+
+ SELECT
+ arb."guid" 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"
+ left join
+ (
+ SELECT TRGI."tb_state_id",TRGI."res_guid",
+ SUM(CASE WHEN (trgi."investigation_variety" = '白蚁' and trgi."hazard_rating" != '无危害') THEN 1 ELSE 0 END) AS termiteNum,
+ SUM(CASE WHEN (trgi."investigation_variety" != '白蚁' and trgi."hazard_rating" != '无危害') THEN 1 ELSE 0 END) AS otherNum
+ 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(province."ad_code",city."ad_code",county."ad_code",town."ad_code") LIKE CONCAT('%',#{params.adCode},'%')
+ </if>
+ </select>
+ <select id="getCityStatisticsBar" resultType="cn.gistack.sm.sjztmd.statisticsVO.StatisticsBar">
+ SELECT
+ aab."guid" code,
+ aab."ad_name" name,
+ CASE WHEN resTmp.resNum THEN resTmp.resNum ELSE 0 END AS resNum,
+ CASE WHEN resTmp.dangerNum THEN resTmp.dangerNum ELSE 0 END AS dangerNum
+ FROM YWXT."att_ad_base" aab
+ LEFT JOIN (
+ SELECT
+ COUNT(*) resNum,
+ county."guid" adCode,
+ county."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"
+
+ ) 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"
+
+ ) 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,
+ aab."ad_name" name,
+ CASE WHEN resTmp.resNum THEN resTmp.resNum ELSE 0 END AS resNum,
+ 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"
+
+ ) 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"
+
+ ) 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>
</mapper>
--
Gitblit v1.9.3