From e1204cf30b9a541de2fb44f23586e2376108ba1b Mon Sep 17 00:00:00 2001
From: yinzuomei <576302893@qq.com>
Date: Thu, 13 Apr 2023 11:18:35 +0800
Subject: [PATCH] =?UTF-8?q?=E5=B9=B4=E9=BE=84=E8=AE=A1=E7=AE=97=E8=B0=83?=
=?UTF-8?q?=E6=95=B4?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../main/resources/mapper/IcResiUserDao.xml | 63 ++++++++++---------
1 file changed, 33 insertions(+), 30 deletions(-)
diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/IcResiUserDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/IcResiUserDao.xml
index b3812ddf38..9b30ddb1a8 100644
--- a/epmet-user/epmet-user-server/src/main/resources/mapper/IcResiUserDao.xml
+++ b/epmet-user/epmet-user-server/src/main/resources/mapper/IcResiUserDao.xml
@@ -1558,31 +1558,35 @@
temp.CODE,
count(temp.ID) as totalResi
from (
- SELECT
- u.ID,
- YEAR(NOW())-SUBSTR(u.BIRTHDAY, 1, 4) as age,
+ select
+ temp1.id,
(
- case when u.BIRTHDAY > DATE_SUB(CURDATE(),INTERVAL 50 year) then '0'
- when u.BIRTHDAY BETWEEN DATE_SUB(CURDATE(),INTERVAL 59 year) AND DATE_SUB(CURDATE(),INTERVAL 50 year) then '1'
- when u.BIRTHDAY BETWEEN DATE_SUB(CURDATE(),INTERVAL 69 year) AND DATE_SUB(CURDATE(),INTERVAL 60 year) then '2'
- when u.BIRTHDAY BETWEEN DATE_SUB(CURDATE(),INTERVAL 79 year) AND DATE_SUB(CURDATE(),INTERVAL 70 year) then '3'
- when u.BIRTHDAY <= DATE_SUB(CURDATE(),INTERVAL 80 year) then '4'
- end
+ case when temp1.age < 50 then '0'
+ when temp1.age >= 50 and temp1.age <= 59 then '1'
+ when temp1.age >= 60 and temp1.age <= 69 then '2'
+ when temp1.age >= 70 and temp1.age <= 79 then '3'
+ when temp1.age >= 80 then '4'
+ end
) as `code`
- FROM
- ic_resi_user u
- WHERE
- u.DEL_FLAG = '0'
- AND u.CUSTOMER_ID = #{customerId}
- and u.`STATUS`='0'
- and u.BIRTHDAY is not null
- and u.BIRTHDAY !=''
-
- AND ( u.AGENCY_ID = #{orgId} OR u.PIDS LIKE concat('%',#{orgId},'%') )
-
-
- and u.GRID_ID = #{orgId}
-
+ from (
+ SELECT
+ u.ID,
+ YEAR(NOW())-SUBSTR(u.BIRTHDAY, 1, 4) as age
+ FROM
+ ic_resi_user u
+ WHERE
+ u.DEL_FLAG = '0'
+ AND u.CUSTOMER_ID = #{customerId}
+ and u.`STATUS`='0'
+ and u.BIRTHDAY is not null
+ and u.BIRTHDAY !=''
+
+ AND ( u.AGENCY_ID = #{orgId} OR u.PIDS LIKE concat('%',#{orgId},'%') )
+
+
+ and u.GRID_ID = #{orgId}
+
+ )temp1
)temp
group by temp.`code`
@@ -1601,8 +1605,7 @@
u.ID_CARD AS idCard,
u.GENDER AS gender,
( CASE WHEN u.GENDER = '1' THEN '男' WHEN u.GENDER = '2' THEN '女' ELSE '未知' END ) AS genderName,
- YEAR (
- NOW())- SUBSTR( u.BIRTHDAY, 1, 4 ) AS age,
+ YEAR (NOW())- SUBSTR( u.BIRTHDAY, 1, 4 ) AS age,
u.CULTURE AS educationCode,
'' AS educationName,
IFNULL(u.CULTURE,'')AS educationCode,
@@ -1626,19 +1629,19 @@
- and u.BIRTHDAY > DATE_SUB(CURDATE(),INTERVAL 50 year)
+ and YEAR(NOW())-SUBSTR(u.BIRTHDAY, 1, 4) < 50
- and u.BIRTHDAY BETWEEN DATE_SUB(CURDATE(),INTERVAL 59 year) AND DATE_SUB(CURDATE(),INTERVAL 50 year)
+ and YEAR(NOW())-SUBSTR(u.BIRTHDAY, 1, 4) >=50 and YEAR(NOW())-SUBSTR(u.BIRTHDAY, 1, 4) <=59
- and u.BIRTHDAY BETWEEN DATE_SUB(CURDATE(),INTERVAL 69 year) AND DATE_SUB(CURDATE(),INTERVAL 60 year)
+ and YEAR(NOW())-SUBSTR(u.BIRTHDAY, 1, 4) >= 60 and YEAR(NOW())-SUBSTR(u.BIRTHDAY, 1, 4) <= 69
- and u.BIRTHDAY BETWEEN DATE_SUB(CURDATE(),INTERVAL 79 year) AND DATE_SUB(CURDATE(),INTERVAL 70 year)
+ and YEAR(NOW())-SUBSTR(u.BIRTHDAY, 1, 4) >=70 and YEAR(NOW())-SUBSTR(u.BIRTHDAY, 1, 4) <=79
- and u.BIRTHDAY <= DATE_SUB(CURDATE(),INTERVAL 80 year)
+ and YEAR(NOW())-SUBSTR(u.BIRTHDAY, 1, 4) >=80
order by u.ID asc