From 91e2a286bb5b72172bb2e2d5f96be03439c51f72 Mon Sep 17 00:00:00 2001
From: linwe <872216996@qq.com>
Date: Fri, 08 Dec 2023 10:46:24 +0800
Subject: [PATCH] 驾驶舱代码
---
src/main/java/org/springblade/modules/house/mapper/HouseholdMapper.xml | 79 +++++++++++++++++++++++++++++++++++++++
1 files changed, 79 insertions(+), 0 deletions(-)
diff --git a/src/main/java/org/springblade/modules/house/mapper/HouseholdMapper.xml b/src/main/java/org/springblade/modules/house/mapper/HouseholdMapper.xml
index 2cd2896..b60cee6 100644
--- a/src/main/java/org/springblade/modules/house/mapper/HouseholdMapper.xml
+++ b/src/main/java/org/springblade/modules/house/mapper/HouseholdMapper.xml
@@ -236,4 +236,83 @@
</select>
+ <select id="getHouseHoldStatistics" resultType="java.util.Map">
+
+ SELECT
+ a.gender,
+ count( a.gender ) numbers
+ FROM
+ (
+ SELECT
+ CASE
+
+ WHEN
+ jh.gender = 1 THEN
+ '男'
+ WHEN jh.gender = 0 THEN
+ '女' ELSE '未知'
+ END AS gender
+ FROM
+ jczz_household jh
+ LEFT JOIN jczz_doorplate_address jda ON jh.house_code = jda.address_code
+ WHERE
+ jda.nei_code = #{code}
+ AND jh.is_deleted = 0
+ <if test="userId != null">
+ AND EXISTS (
+ SELECT
+ *
+ FROM
+ jczz_grid jg
+ LEFT JOIN jczz_gridman jgm ON jg.id = jgm.grid_id
+ LEFT JOIN jczz_grid_range jgr ON jgr.grid_id = jg.id
+ WHERE
+ jgm.user_id = #{userId}
+ AND jh.house_code = jgr.house_code
+ AND jg.is_deleted = 0
+ )
+ </if>
+ ) a
+ GROUP BY
+ a.gender
+ </select>
+ <select id="getHouseHoldStatisticsAge" resultType="java.util.Map">
+
+ select
+ case
+ when TIMESTAMPDIFF(YEAR,STR_TO_DATE(substr(id_card,7,8),'%Y%m%d'),sysdate()) <![CDATA[ >= ]]> 0 and TIMESTAMPDIFF(YEAR,STR_TO_DATE(substr(id_card,7,8),'%Y%m%d'),sysdate()) <![CDATA[ <= ]]> 3 then '0~3岁'
+ when TIMESTAMPDIFF(YEAR,STR_TO_DATE(substr(id_card,7,8),'%Y%m%d'),sysdate()) <![CDATA[ >= ]]> 4 and TIMESTAMPDIFF(YEAR,STR_TO_DATE(substr(id_card,7,8),'%Y%m%d'),sysdate()) <![CDATA[ <= ]]> 17 then '4~17岁'
+ when TIMESTAMPDIFF(YEAR,STR_TO_DATE(substr(id_card,7,8),'%Y%m%d'),sysdate()) <![CDATA[ >= ]]> 18 and TIMESTAMPDIFF(YEAR,STR_TO_DATE(substr(id_card,7,8),'%Y%m%d'),sysdate()) <![CDATA[ <= ]]> 39 then '18~39岁'
+ when TIMESTAMPDIFF(YEAR,STR_TO_DATE(substr(id_card,7,8),'%Y%m%d'),sysdate()) <![CDATA[ >= ]]> 40 and TIMESTAMPDIFF(YEAR,STR_TO_DATE(substr(id_card,7,8),'%Y%m%d'),sysdate()) <![CDATA[ <= ]]> 59 then '40~59岁'
+ when TIMESTAMPDIFF(YEAR,STR_TO_DATE(substr(id_card,7,8),'%Y%m%d'),sysdate()) <![CDATA[ >= ]]> 60 and TIMESTAMPDIFF(YEAR,STR_TO_DATE(substr(id_card,7,8),'%Y%m%d'),sysdate()) <![CDATA[ <= ]]> 79 then '60~79岁'
+ when TIMESTAMPDIFF(YEAR,STR_TO_DATE(substr(id_card,7,8),'%Y%m%d'),sysdate()) <![CDATA[ > ]]> 80 then '80岁以上'
+ ELSE '无身份信息'
+ END AS age,
+ count(1) as number FROM
+ jczz_household jh
+ LEFT JOIN jczz_doorplate_address jda ON jh.house_code = jda.address_code
+ WHERE
+ jda.nei_code = #{code}
+ AND jh.is_deleted = 0
+ GROUP BY
+ age
+ <if test="userId != null">
+ AND EXISTS (
+ SELECT
+ *
+ FROM
+ jczz_grid jg
+ LEFT JOIN jczz_gridman jgm ON jg.id = jgm.grid_id
+ LEFT JOIN jczz_grid_range jgr ON jgr.grid_id = jg.id
+ WHERE
+ jgm.user_id = #{userId}
+ AND jh.house_code = jgr.house_code
+ AND jg.is_deleted = 0
+ )
+ </if>
+ ORDER BY
+ age
+ </select>
+
+
</mapper>
--
Gitblit v1.9.3