COUNT(((t.AUTHENTICATED_TYPE='0' and t.AUTHENTICATED_FLAG = '1') or (t.AUTHENTICATED_TYPE='1' and t.AUTHENTICATED_FLAG = '0' AND t.HistoryCount > 0)) OR NULL) residentCount,
COUNT((t.AUTHENTICATED_TYPE='1' and t.AUTHENTICATED_FLAG = '1') OR NULL) partyCount
FROM (
user.DEPT_ID gridId,
COUNT(user.ID) AS registerCount,
COUNT((user.AUTHENTICATED_TYPE = '0' AND user.AUTHENTICATED_FLAG = '1') OR (user.AUTHENTICATED_TYPE = '1' AND user.AUTHENTICATED_FLAG = '0' AND user.HistoryCount > 0) OR NULL) AS residentCount ,
COUNT((user.AUTHENTICATED_TYPE = '1' AND user.AUTHENTICATED_FLAG = '1') OR NULL) AS partyCount
FROM
(
select newuu.ID,newuu.AUTHENTICATED_TYPE,newuu.AUTHENTICATED_FLAG,newuu.HistoryCount,newuu.DEPT_ID from (
SELECT MAX( CREATED_TIME ) AS CREATED_TIME, USER_ID
FROM esua_epdc_user.epdc_user_authenticate_history
WHERE DEL_FLAG = '0' AND AUTHENTICATED_TYPE IN ( '0', '1' )
esua_epdc_user.epdc_user_authenticate_history
WHERE
DEL_FLAG = '0'
AND AUTHENTICATED_TYPE IN ( '0', '1' )
<iftest="endTime != ''">
and DATE_FORMAT(CREATED_TIME,'%Y-%m-%d') <= #{endTime}
</if>
GROUP BY USER_ID
) MAXHIS ON MAXHIS.USER_ID = uu.ID
LEFT JOIN esua_epdc_user.epdc_user_authenticate_history HISTORY ON HISTORY.USER_ID = MAXHIS.USER_ID AND HISTORY.CREATED_TIME = MAXHIS.CREATED_TIME AND HISTORY.DEL_FLAG = '0'
LEFT JOIN (
AND USER_ID = uu.ID
ORDER BY
CREATED_TIME DESC,
id
LIMIT 1
) AS AUTHENTICATED_TYPE,
(
SELECT
count(id) AS HistoryCount,
USER_ID
AUTHENTICATED_FLAG
FROM
esua_epdc_user.epdc_user_authenticate_history
WHERE
DEL_FLAG = '0'
AND AUTHENTICATED_TYPE IN ( '0', '1' )
AND AUTHENTICATED_FLAG= '1'
<iftest="endTime != ''">
and DATE_FORMAT(CREATED_TIME,'%Y-%m-%d') <= #{endTime}
</if>
GROUP BY USER_ID
) HISCOUNT ON HISCOUNT.USER_ID = uu.ID
LEFT JOIN (
SELECT MIN( CREATED_TIME ) AS CREATED_TIME,
USER_ID FROM esua_epdc_user.epdc_user_grid_relation
AND USER_ID = uu.ID
ORDER BY
CREATED_TIME DESC ,
id
LIMIT 1
) AS AUTHENTICATED_FLAG,
(
SELECT
count( id ) AS HistoryCount
FROM
esua_epdc_user.epdc_user_authenticate_history
WHERE
DEL_FLAG = '0'
GROUP BY
USER_ID
) MINRELA ON MINRELA.USER_ID = uu.ID
LEFT JOIN esua_epdc_user.epdc_user_grid_relation RELATION ON RELATION.USER_ID = MINRELA.USER_ID AND RELATION.DEL_FLAG = '0' AND MINRELA.CREATED_TIME = RELATION.CREATED_TIME
WHERE
uu.DEL_FLAG = '0'
AND AUTHENTICATED_TYPE IN ( '0', '1' )
AND AUTHENTICATED_FLAG = '1'
<iftest="endTime != ''">
and DATE_FORMAT(CREATED_TIME,'%Y-%m-%d') <= #{endTime}
</if>
AND USER_ID = uu.ID
) AS HistoryCount,
ifnull(if(uu.DEPT_ID = 0, NULL, uu.DEPT_ID), (
SELECT GRID_ID FROM esua_epdc_user.epdc_user_grid_relation
WHERE DEL_FLAG = '0' AND USER_ID = uu.ID
ORDER BY
CREATED_TIME,
id
LIMIT 1
)) AS DEPT_ID
FROM
esua_epdc_user.epdc_user uu ) newuu
where newuu.DEL_FLAG = '0'
<iftest="gridIdList != null and gridIdList.size() > 0">
AND ifnull(if(uu.DEPT_ID = 0,null,uu.DEPT_ID),RELATION.Grid_id) in <includerefid="foreachGridIdList"></include>
AND newuu.DEPT_ID in <includerefid="foreachGridIdList"></include>
</if>
<iftest="startTime != null and endTime != null and endTime != ''">
AND DATE_FORMAT(uu.CREATED_TIME,'%Y-%m-%d') BETWEEN #{startTime} AND #{endTime}
AND DATE_FORMAT(newuu.CREATED_TIME,'%Y-%m-%d') BETWEEN #{startTime} AND #{endTime}
</if>
) t
GROUP BY t.DEPT_ID
) user
GROUP BY user.DEPT_ID
</select>
<selectid="selectCountGridWorkOrNot"
@ -540,67 +561,97 @@
left join
(
SELECT
t0.id,
t0.`name` streetName,
count(uu.id) userTotal,
count((HISTORY.AUTHENTICATED_TYPE='1' and HISTORY.AUTHENTICATED_FLAG = '1') or null ) AS partyCount
t0.ID as DEPT_ID,
COUNT(user.ID) AS userTotal,
COUNT((user.AUTHENTICATED_TYPE = '1' AND user.AUTHENTICATED_FLAG = '1') OR NULL) AS partyCount
FROM (
SELECT
DISTINCT uu.ID,
(
SELECT
AUTHENTICATED_TYPE
FROM
esua_epdc_user.epdc_user uu
LEFT JOIN (
SELECT MIN( CREATED_TIME ) AS CREATED_TIME,
USER_ID FROM esua_epdc_user.epdc_user_grid_relation
esua_epdc_user.epdc_user_authenticate_history
WHERE
DEL_FLAG = '0'
GROUP BY
USER_ID
) MINRELA
ON MINRELA.USER_ID = uu.ID
LEFT JOIN esua_epdc_user.epdc_user_grid_relation RELATION ON RELATION.USER_ID = MINRELA.USER_ID AND RELATION.DEL_FLAG = '0' AND MINRELA.CREATED_TIME = RELATION.CREATED_TIME
inner JOIN
AND AUTHENTICATED_TYPE IN ( '0', '1' )
<iftest="operationEndTime != null and operationEndTime != ''">
and DATE_FORMAT(CREATED_TIME,'%Y-%m-%d') <=#{operationEndTime}
</if>
<iftest="endTime != null and endTime != ''">
and DATE_FORMAT(CREATED_TIME,'%Y-%m-%d') <=#{endTime}
</if>
AND USER_ID = uu.ID
ORDER BY
CREATED_TIME DESC,
id
LIMIT 1
) AS AUTHENTICATED_TYPE,
(
SELECT
ad.id,
ad.`name`,
ad.pid
AUTHENTICATED_FLAG
FROM
esua_epdc_admin.sys_dept ad
esua_epdc_user.epdc_user_authenticate_history
WHERE
ad.id IN <includerefid="foreachAllDeptIdsShow"></include>
AND ad.del_flag = 0
) t0
ON find_in_set(t0.id, IFNULL(if(uu.ALL_DEPT_IDS = '',null,uu.ALL_DEPT_IDS),RELATION.ALL_DEPT_IDS))
LEFT JOIN (
SELECT MAX( CREATED_TIME ) AS CREATED_TIME, USER_ID
FROM esua_epdc_user.epdc_user_authenticate_history
WHERE DEL_FLAG = '0' AND AUTHENTICATED_TYPE IN ( '0', '1' )
DEL_FLAG = '0'
AND AUTHENTICATED_TYPE IN ( '0', '1' )
<iftest="operationEndTime != null and operationEndTime != ''">
AND DATE_FORMAT(CREATED_TIME,'%Y-%m-%d') <=#{operationEndTime}
and DATE_FORMAT(CREATED_TIME,'%Y-%m-%d') <=#{operationEndTime}
</if>
<iftest="endTime != ''">
<iftest="endTime != null and endTime != ''">
and DATE_FORMAT(CREATED_TIME,'%Y-%m-%d') <=#{endTime}
</if>
GROUP BY USER_ID
) MAXHIS ON MAXHIS.USER_ID = uu.ID
LEFT JOIN esua_epdc_user.epdc_user_authenticate_history HISTORY ON HISTORY.USER_ID = MAXHIS.USER_ID AND HISTORY.CREATED_TIME = MAXHIS.CREATED_TIME AND HISTORY.DEL_FLAG = '0'
AND USER_ID = uu.ID
ORDER BY
CREATED_TIME DESC ,
id
LIMIT 1
) AS AUTHENTICATED_FLAG,
ifnull(if(uu.DEPT_ID = 0, NULL, uu.DEPT_ID), (
SELECT GRID_ID FROM esua_epdc_user.epdc_user_grid_relation
LEFT JOIN (SELECT MIN( CREATED_TIME ) AS CREATED_TIME, USER_ID FROM esua_epdc_user.epdc_user_grid_relation WHERE DEL_FLAG = '0' GROUP BY USER_ID ) MINRELA ON MINRELA.USER_ID = uu.ID
LEFT JOIN esua_epdc_user.epdc_user_grid_relation RELATION ON RELATION.USER_ID = MINRELA.USER_ID AND RELATION.DEL_FLAG = '0' AND MINRELA.CREATED_TIME = RELATION.CREATED_TIME
LEFT JOIN esua_epdc_admin.sys_dept ad ON IFNULL(if(uu.DEPT_ID = 0,null,uu.DEPT_ID),RELATION.GRID_ID) = ad.ID AND ad.type_key = 'grid_party'
<includerefid="joinCommunityStreet"></include>
LEFT JOIN (
SELECT MAX( CREATED_TIME ) AS CREATED_TIME, USER_ID
FROM esua_epdc_user.epdc_user_authenticate_history
WHERE DEL_FLAG = '0' AND AUTHENTICATED_TYPE IN ( '0', '1' )
epdc_user_authenticate_history
WHERE
DEL_FLAG = '0'
AND AUTHENTICATED_TYPE IN ( '0', '1' )
<iftest="endTime != ''">
and DATE_FORMAT(CREATED_TIME,'%Y-%m-%d') <= #{endTime}
</if>
GROUP BY USER_ID
) MAXHIS ON MAXHIS.USER_ID = uu.ID
LEFT JOIN esua_epdc_user.epdc_user_authenticate_history HISTORY ON HISTORY.USER_ID = MAXHIS.USER_ID AND HISTORY.CREATED_TIME = MAXHIS.CREATED_TIME AND HISTORY.DEL_FLAG = '0'
AND USER_ID = uu.ID
ORDER BY
CREATED_TIME DESC,
id
LIMIT 1
) AS AUTHENTICATED_TYPE,
(
SELECT
AUTHENTICATED_FLAG
FROM
epdc_user_authenticate_history
WHERE
DEL_FLAG = '0'
AND AUTHENTICATED_TYPE IN ( '0', '1' )
<iftest="endTime != ''">
and DATE_FORMAT(CREATED_TIME,'%Y-%m-%d') <= #{endTime}
</if>
AND USER_ID = uu.ID
ORDER BY
CREATED_TIME DESC ,
id
LIMIT 1
) AS AUTHENTICATED_FLAG,
ifnull(if(uu.DEPT_ID = 0, NULL, uu.DEPT_ID), (
SELECT GRID_ID FROM epdc_user_grid_relation
WHERE DEL_FLAG = '0' AND USER_ID = uu.ID
ORDER BY
CREATED_TIME,
id
LIMIT 1
)) AS DEPT_ID
FROM
epdc_user uu
) newuu
LEFT JOIN esua_epdc_admin.sys_dept ad ON newuu.DEPT_ID = ad.ID AND ad.type_key = 'grid_party'
<includerefid="joinCommunityStreet"></include>
WHERE uu.DEL_FLAG = '0'
WHERE newuu.DEL_FLAG = '0'
<choose>
<whentest="gridId != null and gridId != ''">AND ad2.ID = #{gridId}</when>
<otherwise>
@ -1005,12 +1084,11 @@
</otherwise>
</choose>
<iftest="startTime != null and endTime != null and endTime != ''">
AND DATE_FORMAT(uu.CREATED_TIME,'%Y-%m-%d') BETWEEN #{startTime} AND #{endTime}
AND DATE_FORMAT(newuu.CREATED_TIME,'%Y-%m-%d') BETWEEN #{startTime} AND #{endTime}
</if>
AND ad2.id is NOT NULL
AND ad.id IS NOT NULL
) t GROUP BY t.streetId
) t1
<choose>
@ -1047,39 +1125,63 @@
COUNT( (t.AUTHENTICATED_TYPE!='1' or t.AUTHENTICATED_FLAG != '1' and t.age <= 50 AND t.age > 0 ) OR NULL ) youngCount
FROM (
select
newuu.ID userId,
newuu.AUTHENTICATED_TYPE,
newuu.AUTHENTICATED_FLAG,
newuu.HistoryCount,
newuu.DEPT_ID,
newuu.SEX,
newuu.age,
ad2.`name` streetName,
ad2.id streetId
from
(
SELECT
uu.ID AS userId,
DISTINCT uu.ID,
uu.DEL_FLAG,
uu.CREATED_TIME,
CASE WHEN uu.SEX is null or uu.SEX != '0' AND uu.SEX != '1' THEN '2' ELSE uu.SEX END AS SEX,
LEFT JOIN (SELECT MIN( CREATED_TIME ) AS CREATED_TIME, USER_ID FROM esua_epdc_user.epdc_user_grid_relation WHERE DEL_FLAG = '0' GROUP BY USER_ID ) MINRELA ON MINRELA.USER_ID = uu.ID
LEFT JOIN esua_epdc_user.epdc_user_grid_relation RELATION ON RELATION.USER_ID = MINRELA.USER_ID AND RELATION.DEL_FLAG = '0' AND MINRELA.CREATED_TIME = RELATION.CREATED_TIME
LEFT JOIN esua_epdc_admin.sys_dept ad ON IFNULL(if(uu.DEPT_ID = 0,null,uu.DEPT_ID),RELATION.GRID_ID) = ad.ID AND ad.type_key = 'grid_party'
<includerefid="joinCommunityStreet"></include>
LEFT JOIN (
SELECT MAX( CREATED_TIME ) AS CREATED_TIME, USER_ID
FROM esua_epdc_user.epdc_user_authenticate_history
WHERE DEL_FLAG = '0' AND AUTHENTICATED_TYPE IN ( '0', '1' )
epdc_user_authenticate_history
WHERE
DEL_FLAG = '0'
AND AUTHENTICATED_TYPE IN ( '0', '1' )
<iftest="endTime != ''">
and DATE_FORMAT(CREATED_TIME,'%Y-%m-%d') <= #{endTime}
</if>
GROUP BY USER_ID
) MAXHIS ON MAXHIS.USER_ID = uu.ID
LEFT JOIN esua_epdc_user.epdc_user_authenticate_history HISTORY ON HISTORY.USER_ID = MAXHIS.USER_ID AND HISTORY.CREATED_TIME = MAXHIS.CREATED_TIME AND HISTORY.DEL_FLAG = '0'
LEFT JOIN (
AND USER_ID = uu.ID
ORDER BY
CREATED_TIME DESC,
id
LIMIT 1
) AS AUTHENTICATED_TYPE,
(
SELECT
count(id) AS HistoryCount,
USER_ID
AUTHENTICATED_FLAG
FROM
esua_epdc_user.epdc_user_authenticate_history
epdc_user_authenticate_history
WHERE
DEL_FLAG = '0'
AND AUTHENTICATED_TYPE IN ( '0', '1' )
<iftest="endTime != ''">
and DATE_FORMAT(CREATED_TIME,'%Y-%m-%d') <= #{endTime}
</if>
AND USER_ID = uu.ID
ORDER BY
CREATED_TIME DESC ,
id
LIMIT 1
) AS AUTHENTICATED_FLAG,
(
SELECT
count( id ) AS HistoryCount
FROM
epdc_user_authenticate_history
WHERE
DEL_FLAG = '0'
AND AUTHENTICATED_TYPE IN ( '0', '1' )
@ -1087,9 +1189,28 @@
<iftest="endTime != ''">
and DATE_FORMAT(CREATED_TIME,'%Y-%m-%d') <= #{endTime}
</if>
GROUP BY USER_ID
) HISCOUNT ON HISCOUNT.USER_ID = uu.ID
WHERE uu.DEL_FLAG = '0'
AND USER_ID = uu.ID
) AS HistoryCount,
ifnull(if(uu.DEPT_ID = 0, NULL, uu.DEPT_ID), (
SELECT GRID_ID FROM epdc_user_grid_relation
WHERE DEL_FLAG = '0' AND USER_ID = uu.ID
ORDER BY
CREATED_TIME,
id
LIMIT 1
)) AS DEPT_ID
FROM
epdc_user uu
) newuu
LEFT JOIN esua_epdc_admin.sys_dept ad ON newuu.DEPT_ID = ad.ID AND ad.type_key = 'grid_party'
<includerefid="joinCommunityStreet"></include>
where
newuu.DEL_FLAG = '0'
<iftest="startTime != null and endTime != null and endTime != ''">
AND DATE_FORMAT(newuu.CREATED_TIME,'%Y-%m-%d') BETWEEN #{startTime} AND #{endTime}
</if>
AND ad2.id is NOT NULL
AND ad.id IS NOT NULL
<choose>
<whentest="gridId != null and gridId != ''">AND ad2.ID = #{gridId}</when>
<otherwise>
@ -1099,12 +1220,6 @@
</if>
</otherwise>
</choose>
<iftest="startTime != null and endTime != null and endTime != ''">
AND DATE_FORMAT(uu.CREATED_TIME,'%Y-%m-%d') BETWEEN #{startTime} AND #{endTime}