Browse Source

Merge remote-tracking branch 'origin/master' into feature/MasterGroup_mess

feature/dangjian
李鹏飞 6 years ago
parent
commit
3eeae6769d
  1. 503
      esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/resources/mapper/user/UserAnalysisDao.xml
  2. 5
      esua-epdc/epdc-module/epdc-api/epdc-api-client/src/main/java/com/elink/esua/epdc/dto/result/EpdcAppAuthorizationDTO.java
  3. 3
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/AppUserServiceImpl.java
  4. 4
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/controller/PartyMembersController.java
  5. 8
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/controller/UserController.java
  6. 2
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/PartyMembersService.java
  7. 3
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/UserService.java
  8. 13
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/impl/PartyMembersServiceImpl.java
  9. 57
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/impl/UserServiceImpl.java
  10. 86
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/resources/mapper/PartyMembersDao.xml
  11. 645
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/resources/mapper/UserDao.xml

503
esua-epdc/epdc-module/epdc-analysis/epdc-analysis-server/src/main/resources/mapper/user/UserAnalysisDao.xml

@ -381,61 +381,82 @@
) t
GROUP BY t.DEPT_ID-->
SELECT
t.DEPT_ID gridId, COUNT( t.ID ) registerCount,
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 (
SELECT
uu.ID, ifnull(if(uu.DEPT_ID = 0,null,uu.DEPT_ID),RELATION.Grid_id) DEPT_ID, uu.STATE, uu.PARTY_FLAG,
HISTORY.AUTHENTICATED_TYPE,HISTORY.AUTHENTICATED_FLAG,HISCOUNT.HistoryCount
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
esua_epdc_user.epdc_user uu
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' )
(
select newuu.ID,newuu.AUTHENTICATED_TYPE,newuu.AUTHENTICATED_FLAG,newuu.HistoryCount,newuu.DEPT_ID from (
SELECT
DISTINCT uu.ID,uu.DEL_FLAG,uu.CREATED_TIME,
(
SELECT
AUTHENTICATED_TYPE
FROM
esua_epdc_user.epdc_user_authenticate_history
WHERE
DEL_FLAG = '0'
AND AUTHENTICATED_TYPE IN ( '0', '1' )
<if test="endTime != ''">
and DATE_FORMAT(CREATED_TIME,'%Y-%m-%d') &lt;= #{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'
<if test="endTime != ''">
and DATE_FORMAT(CREATED_TIME,'%Y-%m-%d') &lt;= #{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
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 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'
AND AUTHENTICATED_TYPE IN ( '0', '1' )
AND AUTHENTICATED_FLAG = '1'
<if test="endTime != ''">
and DATE_FORMAT(CREATED_TIME,'%Y-%m-%d') &lt;= #{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'
<if test="gridIdList != null and gridIdList.size() > 0">
AND ifnull(if(uu.DEPT_ID = 0,null,uu.DEPT_ID),RELATION.Grid_id) in <include refid="foreachGridIdList"></include>
AND newuu.DEPT_ID in <include refid="foreachGridIdList"></include>
</if>
<if test="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>
<select id="selectCountGridWorkOrNot"
@ -526,37 +547,6 @@
(ifnull(tab.userTotal,0) - ifnull(tab.partyCount,0)) as registerCount,
ifnull(tab.partyCount,0) as partyCount
from
(
SELECT
ad.id,
ad.`name`,
ad.pid
FROM
esua_epdc_admin.sys_dept ad
WHERE
ad.id IN <include refid="foreachAllDeptIdsShow"></include>
AND ad.del_flag = 0
) tt
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
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,
@ -567,40 +557,101 @@
WHERE
ad.id IN <include refid="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' )
<if test="operationEndTime != null and operationEndTime != ''">
AND DATE_FORMAT(CREATED_TIME,'%Y-%m-%d') &lt;= #{operationEndTime}
</if>
<if test="endTime != ''">
and DATE_FORMAT(CREATED_TIME,'%Y-%m-%d') &lt;= #{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'
AND IFNULL(if(uu.dept_id=0,null,uu.dept_id),RELATION.GRID_ID) IN
<foreach collection="deptIdList" index="index" item="deptId" open="(" separator="," close=")">
#{deptId}
</foreach>
<if test="operationStartTime != null and operationEndTime != null and operationEndTime != ''">
AND DATE_FORMAT(uu.CREATED_TIME,'%Y-%m-%d') BETWEEN #{operationStartTime} AND #{operationEndTime}
</if>
<if test="endTime != null and endTime != ''">
and DATE_FORMAT(uu.CREATED_TIME,'%Y-%m-%d') &lt;=#{endTime}
</if>
GROUP BY
t0.id
ORDER BY
t0.id ASC) tab
on tt.id = tab.id
ORDER BY
tt.id ASC
) tt
left join
(
SELECT
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_authenticate_history
WHERE
DEL_FLAG = '0'
AND AUTHENTICATED_TYPE IN ( '0', '1' )
<if test="operationEndTime != null and operationEndTime != ''">
and DATE_FORMAT(CREATED_TIME,'%Y-%m-%d') &lt;=#{operationEndTime}
</if>
<if test="endTime != null and endTime != ''">
and DATE_FORMAT(CREATED_TIME,'%Y-%m-%d') &lt;=#{endTime}
</if>
AND USER_ID = uu.ID
ORDER BY
CREATED_TIME DESC,
id
LIMIT 1
) AS AUTHENTICATED_TYPE,
(
SELECT
AUTHENTICATED_FLAG
FROM
esua_epdc_user.epdc_user_authenticate_history
WHERE
DEL_FLAG = '0'
AND AUTHENTICATED_TYPE IN ( '0', '1' )
<if test="operationEndTime != null and operationEndTime != ''">
and DATE_FORMAT(CREATED_TIME,'%Y-%m-%d') &lt;=#{operationEndTime}
</if>
<if test="endTime != null and endTime != ''">
and DATE_FORMAT(CREATED_TIME,'%Y-%m-%d') &lt;=#{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 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,
ifnull(if(uu.ALL_DEPT_IDS = '', NULL, uu.ALL_DEPT_IDS), (
SELECT ALL_DEPT_IDS 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 ALL_DEPT_IDS
FROM
esua_epdc_user.epdc_user uu
where uu.DEL_FLAG = '0'
<if test="operationStartTime != null and operationEndTime != null and operationEndTime != ''">
AND DATE_FORMAT(uu.CREATED_TIME,'%Y-%m-%d') BETWEEN #{operationStartTime} AND #{operationEndTime}
</if>
<if test="endTime != null and endTime != ''">
and DATE_FORMAT(uu.CREATED_TIME,'%Y-%m-%d') &lt;=#{endTime}
</if>
) user
inner JOIN
(
SELECT
ad.id,
ad.`name`,
ad.pid
FROM
esua_epdc_admin.sys_dept ad
WHERE
ad.id IN <include refid="foreachAllDeptIdsShow"></include>
AND ad.del_flag = 0
) t0 on find_in_set(t0.id, user.ALL_DEPT_IDS)
where user.dept_id IN
<foreach collection="deptIdList" index="index" item="deptId" open="(" separator="," close=")">
#{deptId}
</foreach>
GROUP BY t0.id
) tab on tt.id = tab.DEPT_ID
ORDER BY tt.id ASC
</select>
<select id="selectExportunAuthorizedCount" resultType="com.elink.esua.epdc.dto.user.result.ExportOperationDataResultDTO">
@ -954,64 +1005,91 @@
t1.*,
t1.oldCount / t1.partyMemberCount oldPercent,
t1.youngCount / t1.partyMemberCount youngPercent
FROM (
SELECT
t.streetName, t.streetId,
count( (t.AUTHENTICATED_TYPE='1' and t.AUTHENTICATED_FLAG = '1' and t.SEX = '1') OR NULL ) maleCount,
count( (t.AUTHENTICATED_TYPE='1' and t.AUTHENTICATED_FLAG = '1' and t.SEX = '0') OR NULL ) femaleCount,
count( (t.AUTHENTICATED_TYPE='1' and 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='1' and t.AUTHENTICATED_FLAG = '0' ) or null ) partyAuthFailureCount,
COUNT( (t.AUTHENTICATED_TYPE='1' and t.AUTHENTICATED_FLAG = '1' and t.age > 50) OR NULL ) oldCount,
COUNT( (t.AUTHENTICATED_TYPE='1' and t.AUTHENTICATED_FLAG = '1' and t.age &lt;= 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,
uu.STATE, uu.PARTY_FLAG, uu.DEPT_ID,
IFNULL( TIMESTAMPDIFF( YEAR, uu.BIRTHDAY, CURDATE()), 0 ) age,
ad2.`name` streetName, ad2.id streetId,
HISTORY.AUTHENTICATED_TYPE,
HISTORY.AUTHENTICATED_FLAG
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
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'
<include refid="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' )
<if test="endTime != ''">
and DATE_FORMAT(CREATED_TIME,'%Y-%m-%d') &lt;= #{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'
FROM (
SELECT
t.streetName, t.streetId,
count( (t.AUTHENTICATED_TYPE='1' and t.AUTHENTICATED_FLAG = '1' and t.SEX = '1') OR NULL ) maleCount,
count( (t.AUTHENTICATED_TYPE='1' and t.AUTHENTICATED_FLAG = '1' and t.SEX = '0') OR NULL ) femaleCount,
count( (t.AUTHENTICATED_TYPE='1' and 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='1' and t.AUTHENTICATED_FLAG = '0' ) or null ) partyAuthFailureCount,
COUNT( (t.AUTHENTICATED_TYPE='1' and t.AUTHENTICATED_FLAG = '1' and t.age > 50) OR NULL ) oldCount,
COUNT( (t.AUTHENTICATED_TYPE='1' and t.AUTHENTICATED_FLAG = '1' and t.age &lt;= 50 AND t.age > 0 ) OR NULL )
youngCount
FROM (
select newuu.userId,newuu.SEX,newuu.age,ad2.`name` streetName,
ad2.id streetId,newuu.AUTHENTICATED_TYPE,newuu.AUTHENTICATED_FLAG,newuu.DEPT_ID
from (
SELECT
DISTINCT uu.ID userId,uu.CREATED_TIME,uu.DEL_FLAG,
CASE WHEN uu.SEX is null or uu.SEX != '0' AND uu.SEX != '1' THEN '2' ELSE uu.SEX END AS SEX,
IFNULL( TIMESTAMPDIFF( YEAR, uu.BIRTHDAY, CURDATE()), 0 ) age,
(
SELECT
AUTHENTICATED_TYPE
FROM
epdc_user_authenticate_history
WHERE
DEL_FLAG = '0'
AND AUTHENTICATED_TYPE IN ( '0', '1' )
<if test="endTime != ''">
and DATE_FORMAT(CREATED_TIME,'%Y-%m-%d') &lt;= #{endTime}
</if>
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' )
<if test="endTime != ''">
and DATE_FORMAT(CREATED_TIME,'%Y-%m-%d') &lt;= #{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'
<include refid="joinCommunityStreet"></include>
WHERE uu.DEL_FLAG = '0'
<choose>
<when test="gridId != null and gridId != ''">AND ad2.ID = #{gridId}</when>
<otherwise>
<if test="deptIdList != null and deptIdList.size() > 0">
AND ad2.ID in
<foreach collection="deptIdList" item="deptId" open="(" separator="," close=")">#{deptId}</foreach>
</if>
</otherwise>
</choose>
<if test="startTime != null and endTime != null and endTime != ''">
AND DATE_FORMAT(uu.CREATED_TIME,'%Y-%m-%d') BETWEEN #{startTime} AND #{endTime}
WHERE newuu.DEL_FLAG = '0'
<choose>
<when test="gridId != null and gridId != ''">AND ad2.ID = #{gridId}</when>
<otherwise>
<if test="deptIdList != null and deptIdList.size() > 0">
AND ad2.ID in
<foreach collection="deptIdList" item="deptId" open="(" separator="," close=")">#{deptId}</foreach>
</if>
AND ad2.id is NOT NULL
AND ad.id IS NOT NULL
</otherwise>
</choose>
<if test="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
) t GROUP BY t.streetId
) t GROUP BY t.streetId
) t1
<choose>
<when test='category != null and category == "0"'> order by t1.oldCount desc </when>
@ -1047,49 +1125,92 @@
COUNT( (t.AUTHENTICATED_TYPE!='1' or t.AUTHENTICATED_FLAG != '1' and t.age &lt;= 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,
CASE WHEN uu.SEX is null or uu.SEX != '0' AND uu.SEX != '1' THEN '2' ELSE uu.SEX END AS SEX,
uu.STATE, uu.PARTY_FLAG, uu.DEPT_ID,
IFNULL( TIMESTAMPDIFF( YEAR, uu.BIRTHDAY, CURDATE()), 0 ) age,
ad2.`name` streetName, ad2.id streetId,
HISTORY.AUTHENTICATED_TYPE,
HISTORY.AUTHENTICATED_FLAG,
HISCOUNT.HistoryCount
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
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'
<include refid="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' )
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,
IFNULL( TIMESTAMPDIFF( YEAR, uu.BIRTHDAY, CURDATE()), 0 ) age,
(
SELECT
AUTHENTICATED_TYPE
FROM
epdc_user_authenticate_history
WHERE
DEL_FLAG = '0'
AND AUTHENTICATED_TYPE IN ( '0', '1' )
<if test="endTime != ''">
and DATE_FORMAT(CREATED_TIME,'%Y-%m-%d') &lt;= #{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' )
AND AUTHENTICATED_FLAG= '1'
<if test="endTime != ''">
and DATE_FORMAT(CREATED_TIME,'%Y-%m-%d') &lt;= #{endTime}
</if>
GROUP BY USER_ID
) HISCOUNT ON HISCOUNT.USER_ID = uu.ID
WHERE uu.DEL_FLAG = '0'
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' )
AND AUTHENTICATED_FLAG = '1'
<if test="endTime != ''">
and DATE_FORMAT(CREATED_TIME,'%Y-%m-%d') &lt;= #{endTime}
</if>
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'
<include refid="joinCommunityStreet"></include>
where
newuu.DEL_FLAG = '0'
<if test="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>
<when test="gridId != null and gridId != ''">AND ad2.ID = #{gridId}</when>
<otherwise>
@ -1099,12 +1220,6 @@
</if>
</otherwise>
</choose>
<if test="startTime != null and endTime != null and endTime != ''">
AND DATE_FORMAT(uu.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

5
esua-epdc/epdc-module/epdc-api/epdc-api-client/src/main/java/com/elink/esua/epdc/dto/result/EpdcAppAuthorizationDTO.java

@ -44,6 +44,11 @@ public class EpdcAppAuthorizationDTO implements Serializable {
*/
private String grid;
/**
* 网格id
*/
private Long gridId;
/**
* 0成功 1党员认证失败

3
esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/AppUserServiceImpl.java

@ -291,8 +291,9 @@ public class AppUserServiceImpl implements AppUserService {
TokenDto tokenDto = ConvertUtils.sourceToTarget(userDto, TokenDto.class);
String state = userDto.getState();
authorization = this.packageEpdcAppAuthorization(tokenDto, userDto.getGrid(), state);
authorization = this.packageEpdcAppAuthorization(tokenDto, userDto.getGrid(), state);
authorization.setGridId(userDto.getGridId());
Result result = new Result().ok(authorization);
// 已注册,未完善信息
if (AppUserStatesEnum.STATE_INFORMATION_NOT_PASSED.value().equals(state)) {

4
esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/controller/PartyMembersController.java

@ -158,9 +158,9 @@ public class PartyMembersController {
* @date 2019/12/29 14:43
*/
@GetMapping("hasAuthenticationexport")
@DataFilter(tableAlias = "eu", prefix = "AND", isPendingCreator = false)
// @DataFilter(tableAlias = "eu", prefix = "AND", isPendingCreator = false)
public void hasAuthenticationexport(@RequestParam Map<String, Object> params, HttpServletResponse response) throws Exception {
ExcelUtils.exportExcelToTarget(response, "已认证党员", partyMembersService.exportHasMoudle(params), PartyMembersExcel.class);
ExcelUtils.exportExcelToTarget(response, "已认证党员", partyMembersService.optimizeHasAuthenticationPartyExport(params), PartyMembersExcel.class);
}
/***

8
esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/controller/UserController.java

@ -183,9 +183,9 @@ public class UserController {
}
@GetMapping("export")
@DataFilter(tableAlias = "u", isPendingCreator = false, deptId = "DEPT_ID", prefix = "AND")
public void export(@RequestParam Map<String, Object> params, HttpServletResponse response) throws Exception {
List<UserDTO> list = userService.list(params);
// List<UserDTO> list = userService.list(params);
List<UserDTO> list = userService.authenticatedpageExport(params);
String auditState = (String) params.get("state");
// 状态(0-未审核,1-审核通过,2-审核未通过)
String fileName = null;
@ -226,9 +226,9 @@ public class UserController {
* @date 2020/3/18 15:59
*/
@GetMapping("unauthorizedexport")
@DataFilter(tableAlias = "ug", isPendingCreator = false, deptId = "GRID_ID", prefix = "AND")
// @DataFilter(tableAlias = "ug", isPendingCreator = false, deptId = "GRID_ID", prefix = "AND")
public void unauthorizedExport(@RequestParam Map<String, Object> params, HttpServletResponse response) throws Exception {
List<UserDTO> list = userService.list(params);
List<UserDTO> list = userService.listExportUn(params);
ExcelUtils.exportExcelToTarget(response, "未认证居民", list, UserExcel.class);
}

2
esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/PartyMembersService.java

@ -121,6 +121,8 @@ public interface PartyMembersService extends BaseService<PartyMembersEntity> {
*/
Result<PageData<PartyMembersDTO>> optimizeHasAuthenticationPartyPage(Map<String, Object> params);
List<PartyMembersDTO> optimizeHasAuthenticationPartyExport(Map<String, Object> params);
/***
* 通过身份证校验此党员是否被认证
* @param IdentityNo

3
esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/UserService.java

@ -55,6 +55,7 @@ public interface UserService extends BaseService<UserEntity> {
PageData<UserDTO> waitPartyPage(Map<String, Object> params);
List<UserDTO> list(Map<String, Object> params);
List<UserDTO> listExportUn(Map<String, Object> params);
/**
*
@ -407,4 +408,6 @@ public interface UserService extends BaseService<UserEntity> {
*/
PageData<UserDTO> authenticatedpage(Map<String, Object> params);
List<UserDTO> authenticatedpageExport(Map<String, Object> params);
}

13
esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/impl/PartyMembersServiceImpl.java

@ -518,6 +518,19 @@ public class PartyMembersServiceImpl extends BaseServiceImpl<PartyMembersDao, Pa
return new Result<PageData<PartyMembersDTO>>().ok(new PageData<>(new ArrayList<>(), NumConstant.ZERO));
}
}
@Override
public List<PartyMembersDTO> optimizeHasAuthenticationPartyExport(Map<String, Object> params) {
params.put("deptIdList", SecurityUser.getUser().getDeptIdList());
// IPage<String> page = getPage(params);
List<String> userIds = baseDao.optimizeHasAuthenticationPartyPage(params);
if (userIds.size() > 0) {
List<PartyMembersDTO> partyMembersDTOList = baseDao.optimizeHasAuthenticationPartyPageInfo(userIds);
return partyMembersDTOList;
} else {
return new ArrayList<PartyMembersDTO>();
}
}
@Override

57
esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/impl/UserServiceImpl.java

@ -170,6 +170,19 @@ public class UserServiceImpl extends BaseServiceImpl<UserDao, UserEntity> implem
return this.baseDao.selectAuthenticatedListUserDto(params);
}
}
@Override
public List<UserDTO> listExportUn(Map<String, Object> params) {
String[] paramKeys = new String[]{"streetId", "communityId", "gridId", "realName", "identityNo", "startTime", "endTime", "nickname", "mobile"};
if (AppUserUtils.isDefaultQuery(params, paramKeys)) {
List<UserDTO> userDtoList = Lists.newArrayList();
return userDtoList;
}
this.verifyParams(params);
// 查询当前用户所具有的的数据权限
params.put("deptIdList",SecurityUser.getUser().getDeptIdList());
List<UserDTO> userDtoList = this.baseDao.selectListUserDtoByList(params);
return userDtoList;
}
@Override
public List<UserDTO> listOfWaitParty(Map<String, Object> params) {
@ -190,10 +203,13 @@ public class UserServiceImpl extends BaseServiceImpl<UserDao, UserEntity> implem
public UserDTO get(String id) {
UserEntity entity = baseDao.selectById(id);
UserDTO resultDTO = ConvertUtils.sourceToTarget(entity, UserDTO.class);
resultDTO.setTotalSubmitNum(userAuthenticateHistoryDao.countAuthenticateHistory(id, null));
Integer submitNum = userAuthenticateHistoryDao.countAuthenticateHistory(id, null);
resultDTO.setTotalSubmitNum(submitNum == null ? 0 : submitNum);
//0 未通过1通过
resultDTO.setTotalFailNum(userAuthenticateHistoryDao.countAuthenticateHistory(id, NumConstant.ZERO_STR));
resultDTO.setTotalPassSubmitNum(userAuthenticateHistoryDao.countAuthenticateHistory(id, NumConstant.ONE_STR));
Integer failNum = userAuthenticateHistoryDao.countAuthenticateHistory(id, NumConstant.ZERO_STR);
resultDTO.setTotalFailNum(failNum == null ? 0 : failNum);
Integer passSubmitNum = userAuthenticateHistoryDao.countAuthenticateHistory(id, NumConstant.ONE_STR);
resultDTO.setTotalPassSubmitNum(passSubmitNum == null ? 0 : passSubmitNum);
return resultDTO;
}
@ -378,7 +394,7 @@ public class UserServiceImpl extends BaseServiceImpl<UserDao, UserEntity> implem
AppUserStatesEnum.STATE_INFORMATION_PASSED.value().equals(userState) ?
YesOrNoEnum.YES.value() : YesOrNoEnum.NO.value());
// 新维护的 认证类别(0-居民认证,1-党员认证,2-志愿者认证)
userAuthenticateHistoryEntity.setAuthenticatedType(YesOrNoEnum.YES.equals(partyFlag)
userAuthenticateHistoryEntity.setAuthenticatedType(YesOrNoEnum.YES.value().equals(partyFlag)
? AuthenticatedConsant.partyAuth : AuthenticatedConsant.userAuth);
userAuthenticateHistoryDao.insert(userAuthenticateHistoryEntity);
}
@ -767,6 +783,12 @@ public class UserServiceImpl extends BaseServiceImpl<UserDao, UserEntity> implem
userAuthenticateHistoryEntity.setAddress(completeAppUser.getAddress());
userAuthenticateHistoryEntity.setAuthenticatedType(userAuthTypeEnum.value());
userAuthenticateHistoryEntity.setAuthenticatedFlag(yesOrNoEnum.value());
if("1".equals(userAuthTypeEnum.value())){
Date now = new Date();
now.setTime(new Date().getTime() + 1000);
userAuthenticateHistoryEntity.setCreatedTime(now);
userAuthenticateHistoryEntity.setUpdatedTime(now);
}
if (StringUtils.isNotEmpty(remark)) {
userAuthenticateHistoryEntity.setRemark(remark);
}
@ -1582,6 +1604,33 @@ public class UserServiceImpl extends BaseServiceImpl<UserDao, UserEntity> implem
}
}
@Override
public List<UserDTO> authenticatedpageExport(Map<String, Object> params) {
String[] paramKeys = new String[]{"streetId", "communityId", "gridId", "realName", "identityNo", "startTime", "endTime", "nickname", "mobile"};
if (AppUserUtils.isDefaultQuery(params, paramKeys)) {
List<UserDTO> userDtoList = Lists.newArrayList();
return userDtoList;
}
this.verifyParams(params);
// 查询当前用户所具有的的数据权限
params.put("deptIdList",SecurityUser.getUser().getDeptIdList());
if (NumConstant.ONE_STR.equals(params.get("state").toString())) {
// 待认证
List<UserDTO> userDtoList = this.baseDao.selectWaitAuthenticatedListUserDto(params);
return userDtoList;
} else if (NumConstant.THREE_STR.equals(params.get("state").toString())){
// 已认证
List<UserDTO> userDtoList = this.baseDao.selectAuthenticatedListUserDtoByList(params);
return userDtoList;
} else {
// 认证失败
List<UserDTO> userDtoList = this.baseDao.selectFaildAuthenticatedListUserDto(params);
return userDtoList;
}
}
/**
* 用户信息校验

86
esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/resources/mapper/PartyMembersDao.xml

@ -156,7 +156,7 @@
<!--已认证党员分页-->
<select id="optimizeHasAuthenticationPartyPage" resultType="String">
SELECT
<!--SELECT
eu.ID
FROM
epdc_user eu
@ -197,8 +197,88 @@
#{deptId}
</foreach>
and (HISTORY.AUTHENTICATED_TYPE='1' and HISTORY.AUTHENTICATED_FLAG = '1')
ORDER BY eu.REGISTER_TIME DESC
ORDER BY eu.REGISTER_TIME DESC -->
SELECT
user.ID
FROM
(
SELECT
DISTINCT uu.ID,
uu.REGISTER_TIME,
(
SELECT
AUTHENTICATED_TYPE
FROM
epdc_user_authenticate_history
WHERE
DEL_FLAG = '0'
AND AUTHENTICATED_TYPE IN ( '0', '1' )
<if test="endTime != ''">
and DATE_FORMAT(CREATED_TIME,'%Y-%m-%d') &lt;= #{endTime}
</if>
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' )
<if test="endTime != ''">
and DATE_FORMAT(CREATED_TIME,'%Y-%m-%d') &lt;= #{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' )
AND AUTHENTICATED_FLAG = '1'
<if test="endTime != ''">
and DATE_FORMAT(CREATED_TIME,'%Y-%m-%d') &lt;= #{endTime}
</if>
AND USER_ID = uu.ID
) AS HistoryCount -- 统计
FROM
epdc_user uu
where uu.DEL_FLAG = '0'
<if test="realName != null and realName != '' ">and uu.REAL_NAME like '%${realName}%'</if>
<if test="mobile != null and mobile != '' ">and uu.MOBILE like '%${mobile}%'</if>
<if test="identityNo != null and identityNo != '' ">and uu.IDENTITY_NO like '%${identityNo}%'</if>
<if test="registFlag != null and registFlag != '' ">and uu.REGIST_FLAG = #{registFlag}</if>
<if test="startTime != null and startTime != '' ">and DATE_FORMAT(uu.CREATED_TIME,'%Y-%m-%d') >= #{startTime}</if>
<if test="endTime != null and endTime != '' "> <![CDATA[ and DATE_FORMAT(uu.CREATED_TIME,'%Y-%m-%d') <= ]]> #{endTime}</if>
<if test="streetId != '' and streetId != null">
AND (find_in_set(#{streetId},uu.PARENT_DEPT_IDS) OR find_in_set(#{streetId},uu.ALL_DEPT_IDS))
</if>
<if test="communityId != '' and communityId != null">
AND (find_in_set(#{communityId},uu.PARENT_DEPT_IDS) OR find_in_set(#{communityId},uu.ALL_DEPT_IDS))
</if>
<if test="gridId != '' and gridId != null">
and (uu.dept_id = #{gridId} OR find_in_set(#{gridId},uu.ALL_DEPT_IDS))
</if>
AND uu.DEPT_ID IN
<foreach collection="deptIdList" index="index" item="deptId" open="(" separator="," close=")">
#{deptId}
</foreach>
) user
where
user.AUTHENTICATED_TYPE='1' and user.AUTHENTICATED_FLAG = '1'
ORDER BY user.REGISTER_TIME DESC
</select>
<!--已认证党员填充数据-->

645
esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/resources/mapper/UserDao.xml

@ -543,24 +543,43 @@
</select>
<select id="selectAuthenticatedListUserDtoByList" resultType="com.elink.esua.epdc.dto.UserDTO">
SELECT
u.id,
USER.DEPT_ID,
USER.ID,
USER.REAL_NAME,
USER.NICKNAME,
USER.MOBILE,
USER.REGISTER_TIME,
USER.CREATED_TIME,
USER.UPDATED_TIME,
USER.IDENTITY_NO,
USER.ADDRESS,
USER.STATE,
USER.PARTY_FLAG,
USER.ALL_DEPT_NAMES,
USER.FACE_IMG,
USER.PARENT_DEPT_IDS,
USER.ALL_DEPT_IDS
FROM
(
SELECT DISTINCT
u.ID,
u.REAL_NAME,
u.NICKNAME,
u.MOBILE,
u.REGISTER_TIME,
u.CREATED_TIME,
IDENTITY_NO,
u.UPDATED_TIME,
u.IDENTITY_NO,
u.ADDRESS,
STATE,
PARTY_FLAG,
u.STATE,
u.PARTY_FLAG,
u.ALL_DEPT_NAMES,
u.FACE_IMG
FROM
epdc_user u
LEFT JOIN (
u.FACE_IMG,
u.PARENT_DEPT_IDS,
u.ALL_DEPT_IDS,
(
SELECT
MAX( CREATED_TIME ) AS CREATED_TIME,
USER_ID
AUTHENTICATED_TYPE
FROM
epdc_user_authenticate_history
WHERE
@ -569,114 +588,122 @@
<if test="endTime != ''">
and DATE_FORMAT(CREATED_TIME,'%Y-%m-%d') &lt;= #{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 (
AND USER_ID = u.ID
ORDER BY
CREATED_TIME DESC,
id
LIMIT 1
) AS AUTHENTICATED_TYPE,-- 认证类型
(
SELECT
count(id) AS HistoryCount,
USER_ID
AUTHENTICATED_FLAG
FROM
epdc_user_authenticate_history
WHERE
DEL_FLAG = '0'
AND AUTHENTICATED_TYPE IN ( '0', '1' )
AND AUTHENTICATED_FLAG= '1'
<if test="endTime != ''">
and DATE_FORMAT(CREATED_TIME,'%Y-%m-%d') &lt;= #{endTime}
</if>
GROUP BY
USER_ID
) HISCOUNT ON HISCOUNT.USER_ID = u.ID
where
u.del_flag = '0'
<if test="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>-->
<if test="realName != '' and realName != null">and u.real_name like '%${realName}%'</if>
<if test="nickname != '' and nickname != null">and u.NICKNAME like '%${nickname}%'</if>
<if test="mobile != '' and mobile != null">and u.mobile like '%${mobile}%'</if>
<if test="identityNo != '' and identityNo != null">and u.identity_no like '%${identityNo}%'</if>
<if test="streetId != '' and streetId != null">
AND (find_in_set(#{streetId},u.PARENT_DEPT_IDS)
OR find_in_set(#{streetId},u.ALL_DEPT_IDS))
</if>
<if test="communityId != '' and communityId != null">
AND (find_in_set(#{communityId},u.PARENT_DEPT_IDS)
OR find_in_set(#{communityId},u.ALL_DEPT_IDS))
AND USER_ID = u.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' )
AND AUTHENTICATED_FLAG = '1'
<if test="endTime != ''">
and DATE_FORMAT(CREATED_TIME,'%Y-%m-%d') &lt;= #{endTime}
</if>
<if test="gridId != '' and gridId != null">
AND
find_in_set(#{gridId},u.ALL_DEPT_IDS)
AND USER_ID = u.ID
) AS HistoryCount,-- 统计
ifnull(
IF
( u.DEPT_ID = 0, NULL, u.DEPT_ID ),
( SELECT GRID_ID FROM epdc_user_grid_relation WHERE DEL_FLAG = '0' AND USER_ID = u.ID ORDER BY CREATED_TIME, id LIMIT 1 )
) AS DEPT_ID
FROM
epdc_user u
WHERE
u.DEL_FLAG = '0'
<if test="startTime != '' and endTime != ''">
AND DATE_FORMAT( u.CREATED_TIME, '%Y-%m-%d' ) BETWEEN #{startTime} and #{endTime}
</if>
AND u.DEPT_ID IN
) USER
WHERE
USER.DEPT_ID IN
<foreach collection="deptIdList" index="index" item="deptId" open="(" separator="," close=")">
#{deptId}
</foreach>
and ((HISTORY.AUTHENTICATED_TYPE='0' and HISTORY.AUTHENTICATED_FLAG = '1') or (HISTORY.AUTHENTICATED_TYPE='1' and HISTORY.AUTHENTICATED_FLAG = '0' AND HISCOUNT.HistoryCount > 0))
ORDER BY
u.register_time desc
</select>
<select id="selectWaitAuthenticatedListUserDto" resultType="com.elink.esua.epdc.dto.UserDTO">
<!--SELECT
u.id,
u.REAL_NAME,
u.NICKNAME,
u.MOBILE,
u.REGISTER_TIME,
u.CREATED_TIME,
IDENTITY_NO,
ADDRESS,
STATE,
PARTY_FLAG,
u.ALL_DEPT_NAMES,
u.FACE_IMG
FROM
epdc_user u
where
u.del_flag = '0'
and (u.IDENTITY_NO is null or u.IDENTITY_NO = '')
<if test="startTime != '' and endTime != ''">and u.CREATED_TIME between #{startTime} and #{endTime}</if>
<if test="state != '' and state != null">and u.state = #{state}</if>
<if test="realName != '' and realName != null">and u.real_name like '%${realName}%'</if>
<if test="nickname != '' and nickname != null">and u.NICKNAME like '%${nickname}%'</if>
<if test="mobile != '' and mobile != null">and u.mobile like '%${mobile}%'</if>
<if test="identityNo != '' and identityNo != null">and u.identity_no like '%${identityNo}%'</if>
<if test="partyFlag != '' and partyFlag != null">and u.party_flag = #{partyFlag}</if>
<if test="realName != '' and realName != null">and USER.real_name like '%${realName}%'</if>
<if test="nickname != '' and nickname != null">and USER.NICKNAME like '%${nickname}%'</if>
<if test="mobile != '' and mobile != null">and USER.mobile like '%${mobile}%'</if>
<if test="identityNo != '' and identityNo != null">and USER.identity_no like '%${identityNo}%'</if>
<if test="streetId != '' and streetId != null">
AND (find_in_set(#{streetId},u.PARENT_DEPT_IDS)
OR find_in_set(#{streetId},u.ALL_DEPT_IDS))
AND (find_in_set(#{streetId},USER.PARENT_DEPT_IDS)
OR find_in_set(#{streetId},USER.ALL_DEPT_IDS))
</if>
<if test="communityId != '' and communityId != null">
AND (find_in_set(#{communityId},u.PARENT_DEPT_IDS)
OR find_in_set(#{communityId},u.ALL_DEPT_IDS))
AND (find_in_set(#{communityId},USER.PARENT_DEPT_IDS)
OR find_in_set(#{communityId},USER.ALL_DEPT_IDS))
</if>
<if test="gridId != '' and gridId != null">
AND
find_in_set(#{gridId},u.ALL_DEPT_IDS)
AND find_in_set(#{gridId},USER.ALL_DEPT_IDS)
</if>
AND (
( USER.AUTHENTICATED_TYPE = '0' AND USER.AUTHENTICATED_FLAG = '1' )
OR ( USER.AUTHENTICATED_TYPE = '1' AND USER.AUTHENTICATED_FLAG = '0' AND USER.HistoryCount > 0 )
)
ORDER BY
u.register_time desc-->
USER.register_time DESC
</select>
<select id="selectWaitAuthenticatedListUserDto" resultType="com.elink.esua.epdc.dto.UserDTO">
SELECT
u.id,
user.DEPT_ID,
user.ID,
user.REAL_NAME,
user.NICKNAME,
user.MOBILE,
user.REGISTER_TIME,
user.CREATED_TIME,
user.UPDATED_TIME,
user.IDENTITY_NO,
user.ADDRESS,
user.STATE,
user.PARTY_FLAG,
user.ALL_DEPT_NAMES,
user.FACE_IMG,
user.PARENT_DEPT_IDS,
user.ALL_DEPT_IDS
FROM (SELECT
DISTINCT
u.ID,
u.REAL_NAME,
u.NICKNAME,
u.MOBILE,
u.REGISTER_TIME,
u.CREATED_TIME,
u.UPDATED_TIME,
IDENTITY_NO,
u.IDENTITY_NO,
u.ADDRESS,
STATE,
PARTY_FLAG,
IFNULL(u.ALL_DEPT_NAMES,RELATION.ALL_DEPT_NAMES) ALL_DEPT_NAMES,
u.FACE_IMG
FROM
epdc_user u
LEFT JOIN (
u.STATE,
u.PARTY_FLAG,
u.ALL_DEPT_NAMES,
u.FACE_IMG,
u.PARENT_DEPT_IDS,
u.ALL_DEPT_IDS,
(
SELECT
MAX( CREATED_TIME ) AS CREATED_TIME,
USER_ID
AUTHENTICATED_TYPE
FROM
epdc_user_authenticate_history
WHERE
@ -685,112 +712,165 @@
<if test="endTime != ''">
and DATE_FORMAT(CREATED_TIME,'%Y-%m-%d') &lt;= #{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
AND USER_ID = u.ID
ORDER BY
CREATED_TIME DESC,
id
LIMIT 1
) AS AUTHENTICATED_TYPE, -- 认证类型
(
SELECT
AUTHENTICATED_FLAG
FROM
epdc_user_authenticate_history
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'
<if test="startTime != '' and endTime != ''">and DATE_FORMAT(u.CREATED_TIME,'%Y-%m-%d') between #{startTime} and #{endTime}</if>
<if test="realName != '' and realName != null">and u.real_name like '%${realName}%'</if>
<if test="nickname != '' and nickname != null">and u.NICKNAME like '%${nickname}%'</if>
<if test="mobile != '' and mobile != null">and u.mobile like '%${mobile}%'</if>
<if test="identityNo != '' and identityNo != null">and u.identity_no like '%${identityNo}%'</if>
AND IFNULL(if(u.dept_id = 0 ,null,u.dept_id),RELATION.GRID_ID) IN
DEL_FLAG = '0'
AND AUTHENTICATED_TYPE IN ( '0', '1' )
<if test="endTime != ''">
and DATE_FORMAT(CREATED_TIME,'%Y-%m-%d') &lt;= #{endTime}
</if>
AND USER_ID = u.ID
ORDER BY
CREATED_TIME DESC ,
id
LIMIT 1
) AS AUTHENTICATED_FLAG, -- 认证标识
ifnull(if(u.DEPT_ID = 0, NULL, u.DEPT_ID), (
SELECT GRID_ID FROM epdc_user_grid_relation
WHERE DEL_FLAG = '0' AND USER_ID = u.ID
ORDER BY
CREATED_TIME,
id
LIMIT 1
)) AS DEPT_ID
FROM
epdc_user u
where u.DEL_FLAG = '0'
<if test="startTime != '' and endTime != ''">
and DATE_FORMAT(u.CREATED_TIME,'%Y-%m-%d') between #{startTime} and #{endTime}
</if>
) user
where user.DEPT_ID IN
<foreach collection="deptIdList" index="index" item="deptId" open="(" separator="," close=")">
#{deptId}
</foreach>
<if test="realName != '' and realName != null">and user.real_name like '%${realName}%'</if>
<if test="nickname != '' and nickname != null">and user.NICKNAME like '%${nickname}%'</if>
<if test="mobile != '' and mobile != null">and user.mobile like '%${mobile}%'</if>
<if test="identityNo != '' and identityNo != null">and user.identity_no like '%${identityNo}%'</if>
<if test="streetId != '' and streetId != null">
AND (find_in_set(#{streetId},IFNULL(if(u.PARENT_DEPT_IDS = '',null,u.PARENT_DEPT_IDS),RELATION.PARENT_DEPT_IDS))
OR find_in_set(#{streetId},IFNULL(if(u.ALL_DEPT_IDS = '',null,u.ALL_DEPT_IDS),RELATION.ALL_DEPT_IDS)))
AND (find_in_set(#{streetId},user.PARENT_DEPT_IDS)
OR find_in_set(#{streetId},user.ALL_DEPT_IDS ))
</if>
<if test="communityId != '' and communityId != null">
AND (find_in_set(#{communityId},IFNULL(if(u.PARENT_DEPT_IDS = '',null,u.PARENT_DEPT_IDS),RELATION.PARENT_DEPT_IDS))
OR find_in_set(#{communityId},IFNULL(if(u.ALL_DEPT_IDS = '',null,u.ALL_DEPT_IDS),RELATION.ALL_DEPT_IDS)))
AND (find_in_set(#{communityId},user.PARENT_DEPT_IDS)
OR find_in_set(#{communityId},user.ALL_DEPT_IDS))
</if>
<if test="gridId != '' and gridId != null">
and (IFNULL(if(u.dept_id=0,null,u.dept_id),RELATION.GRID_ID) = #{gridId}
OR find_in_set(#{gridId},IFNULL(if(u.ALL_DEPT_IDS = '',null,u.ALL_DEPT_IDS),RELATION.ALL_DEPT_IDS)))
and (user.DEPT_ID = #{gridId}
OR find_in_set(#{gridId},user.ALL_DEPT_IDS))
</if>
and HISTORY.AUTHENTICATED_TYPE='0' and HISTORY.AUTHENTICATED_FLAG = '2'
GROUP BY u.ID
ORDER BY u.register_time desc
AND user.AUTHENTICATED_TYPE = '0'
AND user.AUTHENTICATED_FLAG = '2'
ORDER BY
user.register_time DESC
</select>
<select id="selectListUserDtoByList" resultType="com.elink.esua.epdc.dto.UserDTO">
SELECT
u.id,
user.DEPT_ID,
user.id,
user.REAL_NAME,
user.NICKNAME,
user.MOBILE,
user.REGISTER_TIME,
user.CREATED_TIME,
user.UPDATED_TIME,
user.IDENTITY_NO,
user.ADDRESS,
user.STATE,
user.PARTY_FLAG,
user.ALL_DEPT_NAMES,
user.FACE_IMG,
user.ALL_DEPT_IDS,
user.PARENT_DEPT_IDS
FROM (SELECT
DISTINCT
u.ID,
u.REAL_NAME,
u.NICKNAME,
u.MOBILE,
u.REGISTER_TIME,
u.CREATED_TIME,
u.UPDATED_TIME,
IDENTITY_NO,
u.IDENTITY_NO,
u.ADDRESS,
STATE,
PARTY_FLAG,
IFNULL(u.ALL_DEPT_NAMES,RELATION.ALL_DEPT_NAMES) ALL_DEPT_NAMES,
u.FACE_IMG
u.STATE,
u.PARTY_FLAG,
u.ALL_DEPT_NAMES ALL_DEPT_NAMES,
u.FACE_IMG,
u.ALL_DEPT_IDS,
u.PARENT_DEPT_IDS,
(
SELECT
AUTHENTICATED_TYPE
FROM
epdc_user_authenticate_history
WHERE
DEL_FLAG = '0'
AND AUTHENTICATED_TYPE IN ( '0', '1' )
<if test="endTime != ''">
and DATE_FORMAT(CREATED_TIME,'%Y-%m-%d') &lt;= #{endTime}
</if>
AND USER_ID = u.ID
ORDER BY
CREATED_TIME DESC,
id
LIMIT 1
) AS AUTHENTICATED_TYPE, -- 认证类型
ifnull(if(u.DEPT_ID = 0, NULL, u.DEPT_ID), (
SELECT GRID_ID FROM epdc_user_grid_relation
WHERE DEL_FLAG = '0' AND USER_ID = u.ID
ORDER BY
CREATED_TIME,
id
LIMIT 1
)) AS DEPT_ID
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' )
<if test="endTime != ''">
and DATE_FORMAT(CREATED_TIME,'%Y-%m-%d') &lt;= #{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'
<if test="startTime != '' and endTime != ''">and DATE_FORMAT(u.CREATED_TIME,'%Y-%m-%d') between #{startTime} and #{endTime}</if>
<if test="realName != '' and realName != null">and u.real_name like '%${realName}%'</if>
<if test="nickname != '' and nickname != null">and u.NICKNAME like '%${nickname}%'</if>
<if test="mobile != '' and mobile != null">and u.mobile like '%${mobile}%'</if>
<if test="identityNo != '' and identityNo != null">and u.identity_no like '%${identityNo}%'</if>
AND IFNULL(if(u.dept_id=0,null,u.dept_id),RELATION.GRID_ID) IN
where u.DEL_FLAG = '0'
<if test="startTime != '' and endTime != ''">and DATE_FORMAT(u.CREATED_TIME,'%Y-%m-%d') between #{startTime} and
#{endTime}
</if>) user
where user.DEPT_ID in
<foreach collection="deptIdList" index="index" item="deptId" open="(" separator="," close=")">
#{deptId}
</foreach>
and user.AUTHENTICATED_TYPE is null
<if test="realName != '' and realName != null">and user.real_name like '%${realName}%'</if>
<if test="nickname != '' and nickname != null">and user.NICKNAME like '%${nickname}%'</if>
<if test="mobile != '' and mobile != null">and user.mobile like '%${mobile}%'</if>
<if test="identityNo != '' and identityNo != null">and user.identity_no like '%${identityNo}%'</if>
<if test="streetId != '' and streetId != null">
AND (find_in_set(#{streetId},IFNULL(if(u.PARENT_DEPT_IDS = '',null,u.PARENT_DEPT_IDS),RELATION.PARENT_DEPT_IDS))
OR find_in_set(#{streetId},IFNULL(if(u.ALL_DEPT_IDS = '',null,u.ALL_DEPT_IDS),RELATION.ALL_DEPT_IDS)))
AND (find_in_set(#{streetId},user.PARENT_DEPT_IDS)
OR find_in_set(#{streetId},user.ALL_DEPT_IDS ))
</if>
<if test="communityId != '' and communityId != null">
AND (find_in_set(#{communityId},IFNULL(if(u.PARENT_DEPT_IDS = '',null,u.PARENT_DEPT_IDS),RELATION.PARENT_DEPT_IDS))
OR find_in_set(#{communityId},IFNULL(if(u.ALL_DEPT_IDS = '',null,u.ALL_DEPT_IDS),RELATION.ALL_DEPT_IDS)))
AND (find_in_set(#{communityId},user.PARENT_DEPT_IDS)
OR find_in_set(#{communityId},user.ALL_DEPT_IDS))
</if>
<if test="gridId != '' and gridId != null">
and (IFNULL(if(u.dept_id=0,null,u.dept_id),RELATION.GRID_ID) = #{gridId}
OR find_in_set(#{gridId},IFNULL(if(u.ALL_DEPT_IDS = '',null,u.ALL_DEPT_IDS),RELATION.ALL_DEPT_IDS)))
and (user.DEPT_ID = #{gridId}
OR find_in_set(#{gridId},user.ALL_DEPT_IDS))
</if>
and HISTORY.id is null
GROUP BY u.ID
ORDER BY u.register_time desc
ORDER BY user.register_time desc
</select>
<select id="selectFaildAuthenticatedListUserDto" resultType="com.elink.esua.epdc.dto.UserDTO">
SELECT
<!-- SELECT
u.id,
u.REAL_NAME,
u.NICKNAME,
@ -853,7 +933,124 @@
</if>
and HISTORY.AUTHENTICATED_TYPE='0' and HISTORY.AUTHENTICATED_FLAG = '0'
GROUP BY u.ID
ORDER BY u.register_time desc
ORDER BY u.register_time desc -->
SELECT
USER.id,
USER.REAL_NAME,
USER.NICKNAME,
USER.MOBILE,
USER.REGISTER_TIME,
USER.CREATED_TIME,
USER.UPDATED_TIME,
USER.IDENTITY_NO,
USER.ADDRESS,
USER.STATE,
USER.PARTY_FLAG,
USER.ALL_DEPT_NAMES,
USER.FACE_IMG
FROM
(
SELECT DISTINCT
uu.ID,
uu.REAL_NAME,
uu.NICKNAME,
uu.MOBILE,
uu.REGISTER_TIME,
uu.CREATED_TIME,
uu.UPDATED_TIME,
uu.IDENTITY_NO,
uu.ADDRESS,
uu.STATE,
uu.PARTY_FLAG,
uu.ALL_DEPT_NAMES,
uu.PARENT_DEPT_IDS,
uu.ALL_DEPT_IDS,
uu.FACE_IMG,
uu.DEL_FLAG,
(
SELECT
AUTHENTICATED_TYPE
FROM
epdc_user_authenticate_history
WHERE
DEL_FLAG = '0'
AND AUTHENTICATED_TYPE IN ( '0', '1' )
<if test="endTime != ''">
and DATE_FORMAT(CREATED_TIME,'%Y-%m-%d') &lt;= #{endTime}
</if>
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' )
<if test="endTime != ''">
and DATE_FORMAT(CREATED_TIME,'%Y-%m-%d') &lt;= #{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' )
AND AUTHENTICATED_FLAG = '1'
<if test="endTime != ''">
and DATE_FORMAT(CREATED_TIME,'%Y-%m-%d') &lt;= #{endTime}
</if>
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
WHERE
uu.DEL_FLAG = '0'
<if test="startTime != '' and endTime != ''">and DATE_FORMAT(uu.CREATED_TIME,'%Y-%m-%d') between #{startTime} and #{endTime}</if>
<if test="realName != '' and realName != null">and uu.real_name like '%${realName}%'</if>
<if test="nickname != '' and nickname != null">and uu.NICKNAME like '%${nickname}%'</if>
<if test="mobile != '' and mobile != null">and uu.mobile like '%${mobile}%'</if>
<if test="identityNo != '' and identityNo != null">and uu.identity_no like '%${identityNo}%'</if>
AND uu.dept_id IN
<foreach collection="deptIdList" index="index" item="deptId" open="(" separator="," close=")">
#{deptId}
</foreach>
) USER
where USER.del_flag = '0'
<if test="streetId != '' and streetId != null">
AND (find_in_set(#{streetId},USER.PARENT_DEPT_IDS)
OR find_in_set(#{streetId},USER.ALL_DEPT_IDS))
</if>
<if test="communityId != '' and communityId != null">
AND (find_in_set(#{communityId},USER.PARENT_DEPT_IDS)
OR find_in_set(#{communityId},USER.ALL_DEPT_IDS))
</if>
<if test="gridId != '' and gridId != null">
and (USER.DEPT_ID = #{gridId}
OR find_in_set(#{gridId},USER.ALL_DEPT_IDS))
</if>
and USER.AUTHENTICATED_TYPE='0' and USER.AUTHENTICATED_FLAG = '0'
GROUP BY USER.ID
ORDER BY USER.register_time desc
</select>
<select id="selectListOfWaitPartyUserDto" resultType="com.elink.esua.epdc.dto.UserDTO">
@ -893,7 +1090,7 @@
</if>
ORDER BY
u.register_time desc-->
SELECT
<!-- SELECT
u.id,
u.REAL_NAME,
u.NICKNAME,
@ -956,6 +1153,128 @@
</if>
and HISTORY.AUTHENTICATED_TYPE='1' and HISTORY.AUTHENTICATED_FLAG = '0'
GROUP BY u.ID
ORDER BY u.register_time desc
ORDER BY u.register_time desc -->
SELECT
user.DEPT_ID,
user.id,
user.REAL_NAME,
user.NICKNAME,
user.MOBILE,
user.REGISTER_TIME,
user.CREATED_TIME,
user.UPDATED_TIME,
user.IDENTITY_NO,
user.ADDRESS,
user.STATE,
user.PARTY_FLAG,
user.ALL_DEPT_IDS,
user.PARENT_DEPT_IDS,
user.ALL_DEPT_NAMES,
user.FACE_IMG
FROM (
SELECT
DISTINCT uu.ID,
uu.REAL_NAME,
uu.NICKNAME,
uu.MOBILE,
uu.REGISTER_TIME,
uu.CREATED_TIME,
uu.UPDATED_TIME,
uu.IDENTITY_NO,
uu.ADDRESS,
uu.STATE,
uu.PARTY_FLAG,
uu.ALL_DEPT_IDS,
uu.PARENT_DEPT_IDS,
IFNULL(uu.ALL_DEPT_NAMES,"") ALL_DEPT_NAMES,
uu.FACE_IMG,
uu.DEL_FLAG,
(
SELECT
AUTHENTICATED_TYPE
FROM
epdc_user_authenticate_history
WHERE
DEL_FLAG = '0'
AND AUTHENTICATED_TYPE IN ( '0', '1' )
<if test="endTime != ''">
and DATE_FORMAT(CREATED_TIME,'%Y-%m-%d') &lt;= #{endTime}
</if>
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' )
<if test="endTime != ''">
and DATE_FORMAT(CREATED_TIME,'%Y-%m-%d') &lt;= #{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' )
AND AUTHENTICATED_FLAG = '1'
<if test="endTime != ''">
and DATE_FORMAT(CREATED_TIME,'%Y-%m-%d') &lt;= #{endTime}
</if>
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
where uu.DEL_FLAG = '0'
<if test="startTime != '' and endTime != ''">and DATE_FORMAT(uu.CREATED_TIME,'%Y-%m-%d') between #{startTime} and #{endTime}</if>
<if test="realName != '' and realName != null">and uu.real_name like '%${realName}%'</if>
<if test="nickname != '' and nickname != null">and uu.NICKNAME like '%${nickname}%'</if>
<if test="mobile != '' and mobile != null">and uu.mobile like '%${mobile}%'</if>
<if test="identityNo != '' and identityNo != null">and uu.identity_no like '%${identityNo}%'</if>
) user
where user.DEL_FLAG = '0'
AND user.dept_id IN
<foreach collection="deptIdList" index="index" item="deptId" open="(" separator="," close=")">
#{deptId}
</foreach>
<if test="streetId != '' and streetId != null">
AND (find_in_set(#{streetId},user.PARENT_DEPT_IDS)
OR find_in_set(#{streetId},user.ALL_DEPT_IDS ))
</if>
<if test="communityId != '' and communityId != null">
AND (find_in_set(#{communityId},user.PARENT_DEPT_IDS)
OR find_in_set(#{communityId},user.ALL_DEPT_IDS))
</if>
<if test="gridId != '' and gridId != null">
and (user.DEPT_ID = #{gridId}
OR find_in_set(#{gridId},user.ALL_DEPT_IDS ))
</if>
and user.AUTHENTICATED_TYPE='1' and user.AUTHENTICATED_FLAG = '0'
GROUP BY user.ID
ORDER BY user.register_time desc
</select>
</mapper>

Loading…
Cancel
Save