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
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' )
<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 (
SELECT
count(id) AS HistoryCount,
USER_ID
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
WHERE
uu.DEL_FLAG = '0'
<iftest="gridIdList != null and gridIdList.size() > 0">
AND uu.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}
count((HISTORY.AUTHENTICATED_TYPE='1' and HISTORY.AUTHENTICATED_FLAG = '1') or null ) AS partyCount
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
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
(
SELECT
ad.id,
ad.`name`,
ad.pid
FROM
esua_epdc_admin.sys_dept ad
WHERE
ad.id IN <includerefid="foreachAllDeptIdsShow"></include>
AND ad.del_flag = 0
SELECT
ad.id,
ad.`name`,
ad.pid
FROM
esua_epdc_admin.sys_dept ad
WHERE
ad.id IN <includerefid="foreachAllDeptIdsShow"></include>
AND ad.del_flag = 0
) t0
LEFT JOIN esua_epdc_user.epdc_user uu ON find_in_set(t0.id, uu.ALL_DEPT_IDS)
AND uu.DEL_FLAG = '0'
ON find_in_set(t0.id, IFNULL(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' )
<iftest="operationEndTime != null and operationEndTime != ''">
AND DATE_FORMAT(CREATED_TIME,'%Y-%m-%d') <= #{operationEndTime}
</if>
<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'
where uu.DEL_FLAG = '0'
<iftest="operationStartTime != null and operationEndTime != null and operationEndTime != ''">
AND uu.CREATED_TIME BETWEEN #{operationStartTime} AND #{operationEndTime}
AND DATE_FORMAT(uu.CREATED_TIME,'%Y-%m-%d') BETWEEN #{operationStartTime} AND #{operationEndTime}
</if>
<iftest="endTime != null and endTime != ''">
and uu.CREATED_TIME <=#{endTime}
and DATE_FORMAT(uu.CREATED_TIME,'%Y-%m-%d')<=#{endTime}
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(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' )
<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'
WHERE uu.DEL_FLAG = '0'
<choose>
<whentest="gridId != null and gridId != ''">AND ad2.ID = #{gridId}</when>
<otherwise>
<iftest="deptIdList != null and deptIdList.size() > 0">
count( (t.AUTHENTICATED_TYPE!='1' or t.AUTHENTICATED_FLAG != '1' and t.SEX = '1') OR NULL ) maleCount,
count( (t.AUTHENTICATED_TYPE!='1' or t.AUTHENTICATED_FLAG != '1' and t.SEX = '0') OR NULL ) femaleCount,
count( (t.AUTHENTICATED_TYPE!='1' or t.AUTHENTICATED_FLAG != '1' and t.SEX = '2') OR NULL ) unknownSexCount,
COUNT( (t.AUTHENTICATED_TYPE='1' and t.AUTHENTICATED_FLAG = '1') OR NULL ) partyMemberCount,
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' or t.AUTHENTICATED_FLAG != '1' and t.age > 50) OR NULL ) oldCount,
COUNT( (t.AUTHENTICATED_TYPE!='1' or t.AUTHENTICATED_FLAG != '1' and t.age <= 50 AND t.age > 0 ) OR NULL ) youngCount
FROM (
SELECT
uu.ID AS userId,
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(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' )
<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 (
SELECT
count(id) AS HistoryCount,
USER_ID
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
WHERE uu.DEL_FLAG = '0'
<choose>
<whentest="gridId != null and gridId != ''">AND ad2.ID = #{gridId}</when>
<otherwise>
<iftest="deptIdList != null and deptIdList.size() > 0">
and DATE_FORMAT(CREATED_TIME,'%Y-%m-%d') <= #{endTime}
</if>
GROUP BY USER_ID
) MAXHIS ON MAXHIS.USER_ID = eu.ID
LEFT JOIN 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 DATE_FORMAT(CREATED_TIME,'%Y-%m-%d') <= #{endTime}
</if>
GROUP BY USER_ID
) MAXHIS ON MAXHIS.USER_ID = u.ID
LEFT JOIN 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 (
SELECT
count(id) AS HistoryCount,
USER_ID
FROM
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 = u.ID
where
u.del_flag = '0'
<iftest="startTime != '' and endTime != ''">and DATE_FORMAT(u.CREATED_TIME,'%Y-%m-%d') between #{startTime} and #{endTime}</if>
<!--<if test="state != '' and state != null">and u.state = #{state}</if>-->
<iftest="realName != '' and realName != null">and u.real_name like '%${realName}%'</if>
<iftest="nickname != '' and nickname != null">and u.NICKNAME like '%${nickname}%'</if>
<iftest="mobile != '' and mobile != null">and u.mobile like '%${mobile}%'</if>
<iftest="identityNo != '' and identityNo != null">and u.identity_no like '%${identityNo}%'</if>
<iftest="streetId != '' and streetId != null">
AND (find_in_set(#{streetId},u.PARENT_DEPT_IDS)
OR find_in_set(#{streetId},u.ALL_DEPT_IDS))
</if>
<iftest="communityId != '' and communityId != null">
AND (find_in_set(#{communityId},u.PARENT_DEPT_IDS)
and ((HISTORY.AUTHENTICATED_TYPE='0' and HISTORY.AUTHENTICATED_FLAG = '1') or (HISTORY.AUTHENTICATED_TYPE='1' and HISTORY.AUTHENTICATED_FLAG = '0' AND HISCOUNT.HistoryCount > 0))
and DATE_FORMAT(CREATED_TIME,'%Y-%m-%d') <= #{endTime}
</if>
GROUP BY USER_ID
) MAXHIS ON MAXHIS.USER_ID = u.ID
LEFT JOIN 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 (
SELECT MIN( ug.CREATED_TIME ) AS CREATED_TIME,
ug.USER_ID FROM epdc_user_grid_relation ug
WHERE
ug.DEL_FLAG = '0'
GROUP BY USER_ID
) MINRELA ON MINRELA.USER_ID = u.ID
LEFT JOIN 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 u.del_flag = '0'
<iftest="startTime != '' and endTime != ''">and DATE_FORMAT(u.CREATED_TIME,'%Y-%m-%d') between #{startTime} and #{endTime}</if>
<iftest="realName != '' and realName != null">and u.real_name like '%${realName}%'</if>
<iftest="nickname != '' and nickname != null">and u.NICKNAME like '%${nickname}%'</if>
<iftest="mobile != '' and mobile != null">and u.mobile like '%${mobile}%'</if>
<iftest="identityNo != '' and identityNo != null">and u.identity_no like '%${identityNo}%'</if>
and DATE_FORMAT(CREATED_TIME,'%Y-%m-%d') <= #{endTime}
</if>
GROUP BY USER_ID
) MAXHIS ON MAXHIS.USER_ID = u.ID
LEFT JOIN 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 (
SELECT MIN( ug.CREATED_TIME ) AS CREATED_TIME,
ug.USER_ID FROM epdc_user_grid_relation ug
WHERE
ug.DEL_FLAG = '0'
GROUP BY USER_ID
) MINRELA ON MINRELA.USER_ID = u.ID
LEFT JOIN 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 u.del_flag = '0'
<iftest="startTime != '' and endTime != ''">and DATE_FORMAT(u.CREATED_TIME,'%Y-%m-%d') between #{startTime} and #{endTime}</if>
<iftest="realName != '' and realName != null">and u.real_name like '%${realName}%'</if>
<iftest="nickname != '' and nickname != null">and u.NICKNAME like '%${nickname}%'</if>
<iftest="mobile != '' and mobile != null">and u.mobile like '%${mobile}%'</if>
<iftest="identityNo != '' and identityNo != null">and u.identity_no like '%${identityNo}%'</if>
and DATE_FORMAT(CREATED_TIME,'%Y-%m-%d') <= #{endTime}
</if>
GROUP BY USER_ID
) MAXHIS ON MAXHIS.USER_ID = u.ID
LEFT JOIN 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 (
SELECT MIN( ug.CREATED_TIME ) AS CREATED_TIME,
ug.USER_ID FROM epdc_user_grid_relation ug
WHERE
ug.DEL_FLAG = '0'
GROUP BY USER_ID
) MINRELA ON MINRELA.USER_ID = u.ID
LEFT JOIN 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 u.del_flag = '0'
<iftest="startTime != '' and endTime != ''">and DATE_FORMAT(u.CREATED_TIME,'%Y-%m-%d') between #{startTime} and #{endTime}</if>
<iftest="realName != '' and realName != null">and u.real_name like '%${realName}%'</if>
<iftest="nickname != '' and nickname != null">and u.NICKNAME like '%${nickname}%'</if>
<iftest="mobile != '' and mobile != null">and u.mobile like '%${mobile}%'</if>
<iftest="identityNo != '' and identityNo != null">and u.identity_no like '%${identityNo}%'</if>
<iftest="startTime != '' and endTime != ''">and u.CREATED_TIME between #{startTime} and #{endTime}</if>
<iftest="realName != '' and realName != null">and u.real_name like '%${realName}%'</if>
<iftest="mobile != '' and mobile != null">and u.mobile like '%${mobile}%'</if>
<iftest="streetId != '' and streetId != null">
AND (find_in_set(#{streetId},u.PARENT_DEPT_IDS)
OR find_in_set(#{streetId},u.ALL_DEPT_IDS))
</if>
<iftest="communityId != '' and communityId != null">
AND (find_in_set(#{communityId},u.PARENT_DEPT_IDS)
OR find_in_set(#{communityId},u.ALL_DEPT_IDS))
</if>
<iftest="gridId != '' and gridId != null">
and find_in_set(#{gridId},u.ALL_DEPT_IDS)
</if>
ORDER BY
u.register_time desc-->
SELECT
u.id,
u.REAL_NAME,
u.NICKNAME,
u.MOBILE,
u.REGISTER_TIME,
u.CREATED_TIME,
u.UPDATED_TIME,
IDENTITY_NO,
u.ADDRESS,
STATE,
PARTY_FLAG,
RELATION.ALL_DEPT_NAMES,
u.FACE_IMG
FROM
epdc_user u
LEFT JOIN (
SELECT
MAX( CREATED_TIME ) AS CREATED_TIME,
USER_ID
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>
GROUP BY USER_ID
) MAXHIS ON MAXHIS.USER_ID = u.ID
LEFT JOIN 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 (
SELECT MIN( ug.CREATED_TIME ) AS CREATED_TIME,
ug.USER_ID FROM epdc_user_grid_relation ug
WHERE
ug.DEL_FLAG = '0'
GROUP BY USER_ID
) MINRELA ON MINRELA.USER_ID = u.ID
LEFT JOIN 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 u.del_flag = '0'
<iftest="startTime != '' and endTime != ''">and DATE_FORMAT(u.CREATED_TIME,'%Y-%m-%d') between #{startTime} and #{endTime}</if>
<iftest="realName != '' and realName != null">and u.real_name like '%${realName}%'</if>
<iftest="nickname != '' and nickname != null">and u.NICKNAME like '%${nickname}%'</if>
<iftest="mobile != '' and mobile != null">and u.mobile like '%${mobile}%'</if>
<iftest="identityNo != '' and identityNo != null">and u.identity_no like '%${identityNo}%'</if>