|
|
|
<?xml version="1.0" encoding="UTF-8"?>
|
|
|
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
|
|
|
|
|
|
|
<mapper namespace="com.epmet.dao.user.UserDao">
|
|
|
|
|
|
|
|
<!-- 查询注册用户的总量与增量 传参:注册用户or参与用户 | 网格Id集合 | 时间参数 格式[yyyy-MM-dd 00:00:00] -->
|
|
|
|
<select id="selectResiTotalAndIncrByLevel" resultType="com.epmet.dto.user.result.CommonTotalAndIncCountResultDTO">
|
|
|
|
SELECT
|
|
|
|
count( DISTINCT USER_ID ) AS total,
|
|
|
|
(
|
|
|
|
SELECT
|
|
|
|
count( DISTINCT USER_ID )
|
|
|
|
FROM
|
|
|
|
REGISTER_RELATION
|
|
|
|
WHERE
|
|
|
|
DEL_FLAG = '0'
|
|
|
|
<choose>
|
|
|
|
<!-- 参与用户 -->
|
|
|
|
<when test='regOrPartiFlag == "parti"'>
|
|
|
|
AND (
|
|
|
|
( FIRST_REGISTER = '1' AND REGISTER = '1' AND PARTICIPATION = '1' )
|
|
|
|
OR ( FIRST_REGISTER = '0' AND REGISTER = '0' AND PARTICIPATION = '1' )
|
|
|
|
)
|
|
|
|
</when>
|
|
|
|
<!-- 默认查注册用户 -->
|
|
|
|
<otherwise>
|
|
|
|
AND FIRST_REGISTER = '1'
|
|
|
|
</otherwise>
|
|
|
|
</choose>
|
|
|
|
|
|
|
|
<choose>
|
|
|
|
<when test='null == gridIds or gridIds.size == 0'>
|
|
|
|
AND GRID_ID = ''
|
|
|
|
</when>
|
|
|
|
<otherwise>
|
|
|
|
<foreach collection="gridIds" item="gridId" index="index" open="AND ( " separator=" OR " close=")">
|
|
|
|
GRID_ID = #{gridId}
|
|
|
|
</foreach>
|
|
|
|
</otherwise>
|
|
|
|
</choose>
|
|
|
|
|
|
|
|
<choose>
|
|
|
|
<!-- 不为空,默认查询创建时间在 昨天的增量 -->
|
|
|
|
<when test='null != targetDate'>
|
|
|
|
and DATE_FORMAT(CREATED_TIME,"%Y-%m-%d") = DATE_FORMAT(#{targetDate},"%Y-%m-%d")
|
|
|
|
</when>
|
|
|
|
<!-- 为空,默认查询昨天的增量 -->
|
|
|
|
<otherwise>
|
|
|
|
and DATE_FORMAT(CREATED_TIME,"%Y-%m-%d") = DATE_FORMAT( DATE_SUB( CURDATE( ), INTERVAL 1 DAY ),"%Y-%m-%d")
|
|
|
|
</otherwise>
|
|
|
|
</choose>
|
|
|
|
) AS incr
|
|
|
|
FROM
|
|
|
|
REGISTER_RELATION
|
|
|
|
WHERE
|
|
|
|
DEL_FLAG = '0'
|
|
|
|
<choose>
|
|
|
|
<!-- 参与用户 -->
|
|
|
|
<when test='regOrPartiFlag == "parti"'>
|
|
|
|
AND (
|
|
|
|
( FIRST_REGISTER = '1' AND REGISTER = '1' AND PARTICIPATION = '1' )
|
|
|
|
OR ( FIRST_REGISTER = '0' AND REGISTER = '0' AND PARTICIPATION = '1' )
|
|
|
|
)
|
|
|
|
</when>
|
|
|
|
<!-- 默认查注册用户 -->
|
|
|
|
<otherwise>
|
|
|
|
AND FIRST_REGISTER = '1'
|
|
|
|
</otherwise>
|
|
|
|
</choose>
|
|
|
|
<choose>
|
|
|
|
<when test='null == gridIds or gridIds.size == 0'>
|
|
|
|
AND GRID_ID = ''
|
|
|
|
</when>
|
|
|
|
<otherwise>
|
|
|
|
<foreach collection="gridIds" item="gridId" index="index" open="AND ( " separator=" OR " close=")">
|
|
|
|
GRID_ID = #{gridId}
|
|
|
|
</foreach>
|
|
|
|
</otherwise>
|
|
|
|
</choose>
|
|
|
|
<choose>
|
|
|
|
<!-- 不为空,包含传进来的这一天 -->
|
|
|
|
<when test="null != targetDate">
|
|
|
|
and DATE_FORMAT(CREATED_TIME,"%Y-%m-%d") <![CDATA[<=]]> DATE_FORMAT(#{targetDate},"%Y-%m-%d")
|
|
|
|
</when>
|
|
|
|
<!-- 为空,默认截止到昨天 -->
|
|
|
|
<otherwise>
|
|
|
|
and DATE_FORMAT(CREATED_TIME,"%Y-%m-%d") <![CDATA[<=]]> DATE_FORMAT(DATE_SUB( CURDATE( ), INTERVAL 1 DAY ),"%Y-%m-%d")
|
|
|
|
</otherwise>
|
|
|
|
</choose>
|
|
|
|
|
|
|
|
</select>
|
|
|
|
|
|
|
|
<!-- 查询指定网格范围下单位时间内新增的注册/参与用户Id 传参:注册用户or参与用户 | 网格Id集合 | 时间参数 格式[yyyy-MM-dd 00:00:00]-->
|
|
|
|
<select id="selectIncrUserIds" resultType="string">
|
|
|
|
SELECT DISTINCT
|
|
|
|
USER_ID
|
|
|
|
FROM
|
|
|
|
REGISTER_RELATION
|
|
|
|
WHERE
|
|
|
|
DEL_FLAG = '0'
|
|
|
|
<choose>
|
|
|
|
<!-- 参与用户 -->
|
|
|
|
<when test='regOrPartiFlag == "parti"'>
|
|
|
|
AND (
|
|
|
|
( FIRST_REGISTER = '1' AND REGISTER = '1' AND PARTICIPATION = '1' )
|
|
|
|
OR ( FIRST_REGISTER = '0' AND REGISTER = '0' AND PARTICIPATION = '1' )
|
|
|
|
)
|
|
|
|
</when>
|
|
|
|
<!-- 默认查注册用户 -->
|
|
|
|
<otherwise>
|
|
|
|
AND FIRST_REGISTER = '1'
|
|
|
|
</otherwise>
|
|
|
|
</choose>
|
|
|
|
|
|
|
|
<choose>
|
|
|
|
<when test='null == gridIds or gridIds.size == 0'>
|
|
|
|
AND GRID_ID = ''
|
|
|
|
</when>
|
|
|
|
<otherwise>
|
|
|
|
<foreach collection="gridIds" item="gridId" index="index" open="AND ( " separator=" OR " close=")">
|
|
|
|
GRID_ID = #{gridId}
|
|
|
|
</foreach>
|
|
|
|
</otherwise>
|
|
|
|
</choose>
|
|
|
|
|
|
|
|
<choose>
|
|
|
|
<when test='null != targetDate'>
|
|
|
|
and DATE_FORMAT(CREATED_TIME,"%Y-%m-%d") = DATE_FORMAT(#{targetDate},"%Y-%m-%d")
|
|
|
|
</when>
|
|
|
|
<otherwise>
|
|
|
|
and DATE_FORMAT(CREATED_TIME,"%Y-%m-%d") = DATE_FORMAT(DATE_SUB( CURDATE( ), INTERVAL 1 DAY ),"%Y-%m-%d")
|
|
|
|
</otherwise>
|
|
|
|
</choose>
|
|
|
|
</select>
|
|
|
|
|
|
|
|
<!-- 查询指定网格范围下截至指定位时间累计的注册用户Id 传参:注册用户or参与用户 | 网格Id集合 | 时间参数 格式[yyyy-MM-dd 00:00:00]-->
|
|
|
|
<select id="selectTotalUserIds" resultType="string">
|
|
|
|
SELECT DISTINCT
|
|
|
|
USER_ID
|
|
|
|
FROM
|
|
|
|
REGISTER_RELATION
|
|
|
|
WHERE
|
|
|
|
DEL_FLAG = '0'
|
|
|
|
<choose>
|
|
|
|
<!-- 参与用户 -->
|
|
|
|
<when test='regOrPartiFlag == "parti"'>
|
|
|
|
AND (
|
|
|
|
( FIRST_REGISTER = '1' AND REGISTER = '1' AND PARTICIPATION = '1' )
|
|
|
|
OR ( FIRST_REGISTER = '0' AND REGISTER = '0' AND PARTICIPATION = '1' )
|
|
|
|
)
|
|
|
|
</when>
|
|
|
|
<!-- 默认查注册用户 -->
|
|
|
|
<otherwise>
|
|
|
|
AND FIRST_REGISTER = '1'
|
|
|
|
</otherwise>
|
|
|
|
</choose>
|
|
|
|
|
|
|
|
<choose>
|
|
|
|
<when test='null == gridIds or gridIds.size == 0'>
|
|
|
|
AND GRID_ID = ''
|
|
|
|
</when>
|
|
|
|
<otherwise>
|
|
|
|
<foreach collection="gridIds" item="gridId" index="index" open="AND ( " separator=" OR " close=")">
|
|
|
|
GRID_ID = #{gridId}
|
|
|
|
</foreach>
|
|
|
|
</otherwise>
|
|
|
|
</choose>
|
|
|
|
|
|
|
|
<choose>
|
|
|
|
<when test='targetDate != null'>
|
|
|
|
and DATE_FORMAT(CREATED_TIME,"%Y-%m-%d") <![CDATA[<=]]> DATE_FORMAT(#{targetDate},"%Y-%m-%d")
|
|
|
|
</when>
|
|
|
|
<otherwise>
|
|
|
|
and DATE_FORMAT(CREATED_TIME,"%Y-%m-%d") <![CDATA[<=]]> DATE_FORMAT(DATE_SUB( CURDATE( ), INTERVAL 1 DAY ),"%Y-%m-%d")
|
|
|
|
</otherwise>
|
|
|
|
</choose>
|
|
|
|
</select>
|
|
|
|
|
|
|
|
<!-- 查询党员的总量与增量 传参:用户Id集合(不用传注册or参与标识,用户Id会根据不同的flag范围不同) | 时间参数 格式[yyyy-MM-dd 00:00:00]-->
|
|
|
|
<select id="selectPartyTotalAndIncr" resultType="com.epmet.dto.user.result.CommonTotalAndIncCountResultDTO">
|
|
|
|
SELECT
|
|
|
|
count( DISTINCT urole.USER_ID ) AS total,
|
|
|
|
(
|
|
|
|
SELECT
|
|
|
|
count( DISTINCT urole.USER_ID)
|
|
|
|
FROM
|
|
|
|
USER_ROLE urole
|
|
|
|
LEFT JOIN EPMET_ROLE erole ON urole.ROLE_ID = erole.ID
|
|
|
|
AND erole.DEL_FLAG = '0'
|
|
|
|
WHERE
|
|
|
|
urole.DEL_FLAG = '0'
|
|
|
|
<foreach collection="incrUserIds" item="incrUserId" index="index" open="AND ( " separator=" OR " close=")">
|
|
|
|
urole.USER_ID = #{incrUserId}
|
|
|
|
</foreach>
|
|
|
|
<choose>
|
|
|
|
<when test='null != targetDate'>
|
|
|
|
and DATE_FORMAT(urole.CREATED_TIME,"%Y-%m-%d") = DATE_FORMAT(#{targetDate},"%Y-%m-%d")
|
|
|
|
</when>
|
|
|
|
<otherwise>
|
|
|
|
and DATE_FORMAT(urole.CREATED_TIME,"%Y-%m-%d") = DATE_FORMAT(DATE_SUB( CURDATE( ), INTERVAL 1 DAY ),"%Y-%m-%d")
|
|
|
|
</otherwise>
|
|
|
|
</choose>
|
|
|
|
|
|
|
|
AND erole.ROLE_NAME = '党员'
|
|
|
|
) AS incr
|
|
|
|
FROM
|
|
|
|
USER_ROLE urole
|
|
|
|
LEFT JOIN EPMET_ROLE erole ON urole.ROLE_ID = erole.ID
|
|
|
|
AND erole.DEL_FLAG = '0'
|
|
|
|
WHERE
|
|
|
|
urole.DEL_FLAG = '0'
|
|
|
|
|
|
|
|
|
|
|
|
<choose>
|
|
|
|
<when test='null == userIds or userIds.size == 0'>
|
|
|
|
AND urole.USER_ID = ''
|
|
|
|
</when>
|
|
|
|
<otherwise>
|
|
|
|
<foreach collection="userIds" item="userId" index="index" open="AND ( " separator=" OR " close=")">
|
|
|
|
urole.USER_ID = #{userId}
|
|
|
|
</foreach>
|
|
|
|
</otherwise>
|
|
|
|
</choose>
|
|
|
|
|
|
|
|
|
|
|
|
<choose>
|
|
|
|
<when test='null != targetDate'>
|
|
|
|
and DATE_FORMAT( urole.CREATED_TIME,"%Y-%m-%d") <![CDATA[<=]]> DATE_FORMAT(#{targetDate},"%Y-%m-%d")
|
|
|
|
</when>
|
|
|
|
<otherwise>
|
|
|
|
and DATE_FORMAT(urole.CREATED_TIME,"%Y-%m-%d") <![CDATA[<=]]> DATE_FORMAT(DATE_SUB( CURDATE( ), INTERVAL 1 DAY ),"%Y-%m-%d")
|
|
|
|
</otherwise>
|
|
|
|
</choose>
|
|
|
|
AND erole.ROLE_NAME = '党员'
|
|
|
|
</select>
|
|
|
|
|
|
|
|
<!-- 查询热心居民的总量与增量 传参:用户Id集合(不用传注册or参与标识,用户Id会根据不同的flag范围不同) | 网格Id集合(与用户Id集合同理) | 时间参数 格式[yyyy-MM-dd 00:00:00] -->
|
|
|
|
<select id="selectWarmTotalAndIncr" resultType="com.epmet.dto.user.result.CommonTotalAndIncCountResultDTO">
|
|
|
|
SELECT
|
|
|
|
count( DISTINCT urole.USER_ID ) AS total,
|
|
|
|
(
|
|
|
|
SELECT
|
|
|
|
count( DISTINCT urole.USER_ID )
|
|
|
|
FROM
|
|
|
|
USER_ROLE urole
|
|
|
|
LEFT JOIN EPMET_ROLE erole ON urole.ROLE_ID = erole.ID
|
|
|
|
AND erole.DEL_FLAG = '0'
|
|
|
|
WHERE
|
|
|
|
urole.DEL_FLAG = '0'
|
|
|
|
<foreach collection="incrUserIds" item="incrUserId" index="index" open="AND ( " separator=" OR " close=")">
|
|
|
|
urole.USER_ID = #{incrUserId}
|
|
|
|
</foreach>
|
|
|
|
|
|
|
|
<choose>
|
|
|
|
<when test='null == gridIds or gridIds.size == 0'>
|
|
|
|
AND urole.GRID_ID = ''
|
|
|
|
</when>
|
|
|
|
<otherwise>
|
|
|
|
<foreach collection="gridIds" item="gridId" index="index" open="AND ( " separator=" OR " close=")">
|
|
|
|
urole.GRID_ID = #{gridId}
|
|
|
|
</foreach>
|
|
|
|
</otherwise>
|
|
|
|
</choose>
|
|
|
|
|
|
|
|
|
|
|
|
<choose>
|
|
|
|
<when test='null != targetDate'>
|
|
|
|
and DATE_FORMAT(urole.CREATED_TIME,"%Y-%m-%d")=DATE_FORMAT(#{targetDate},"%Y-%m-%d")
|
|
|
|
</when>
|
|
|
|
<otherwise>
|
|
|
|
and DATE_FORMAT(urole.CREATED_TIME,"%Y-%m-%d")=DATE_FORMAT(DATE_SUB( CURDATE( ), INTERVAL 1 DAY ),"%Y-%m-%d")
|
|
|
|
</otherwise>
|
|
|
|
</choose>
|
|
|
|
AND erole.ROLE_NAME = '热心居民'
|
|
|
|
) AS incr
|
|
|
|
FROM
|
|
|
|
USER_ROLE urole
|
|
|
|
LEFT JOIN EPMET_ROLE erole ON urole.ROLE_ID = erole.ID
|
|
|
|
AND erole.DEL_FLAG = '0'
|
|
|
|
WHERE
|
|
|
|
urole.DEL_FLAG = '0'
|
|
|
|
<choose>
|
|
|
|
<when test='null == gridIds or gridIds.size == 0'>
|
|
|
|
AND urole.GRID_ID = ''
|
|
|
|
</when>
|
|
|
|
<otherwise>
|
|
|
|
<foreach collection="gridIds" item="gridId" index="index" open="AND ( " separator=" OR " close=")">
|
|
|
|
urole.GRID_ID = #{gridId}
|
|
|
|
</foreach>
|
|
|
|
</otherwise>
|
|
|
|
</choose>
|
|
|
|
<foreach collection="userIds" item="userId" index="index" open="AND ( " separator=" OR " close=")">
|
|
|
|
urole.USER_ID = #{userId}
|
|
|
|
</foreach>
|
|
|
|
<choose>
|
|
|
|
<when test='null != targetDate'>
|
|
|
|
and DATE_FORMAT(urole.CREATED_TIME,"%Y-%m-%d") <![CDATA[<=]]> DATE_FORMAT(#{targetDate},"%Y-%m-%d")
|
|
|
|
</when>
|
|
|
|
<otherwise>
|
|
|
|
and DATE_FORMAT(urole.CREATED_TIME,"%Y-%m-%d") <![CDATA[<=]]> DATE_FORMAT(DATE_SUB( CURDATE( ), INTERVAL 1 DAY ),"%Y-%m-%d")
|
|
|
|
</otherwise>
|
|
|
|
</choose>
|
|
|
|
AND erole.ROLE_NAME = '热心居民';
|
|
|
|
|
|
|
|
</select>
|
|
|
|
|
|
|
|
<!-- 查询指定时间范围内网格新增的注册/参与用户Id 传参:注册用户or参与用户 | 网格Id集合 | 时间区间 -->
|
|
|
|
<select id="selectIncrUserIdsWithinTimeRange" resultType="string">
|
|
|
|
SELECT DISTINCT
|
|
|
|
USER_ID
|
|
|
|
FROM
|
|
|
|
REGISTER_RELATION
|
|
|
|
WHERE
|
|
|
|
DEL_FLAG = '0'
|
|
|
|
<choose>
|
|
|
|
<!-- 参与用户 -->
|
|
|
|
<when test='regOrPartiFlag == "parti"'>
|
|
|
|
AND (
|
|
|
|
( FIRST_REGISTER = '1' AND REGISTER = '1' AND PARTICIPATION = '1' )
|
|
|
|
OR ( FIRST_REGISTER = '0' AND REGISTER = '0' AND PARTICIPATION = '1' )
|
|
|
|
)
|
|
|
|
</when>
|
|
|
|
<!-- 默认查注册用户 -->
|
|
|
|
<otherwise>
|
|
|
|
AND FIRST_REGISTER = '1'
|
|
|
|
</otherwise>
|
|
|
|
</choose>
|
|
|
|
|
|
|
|
<choose>
|
|
|
|
<when test='null == gridIds or gridIds.size == 0'>
|
|
|
|
AND GRID_ID = ''
|
|
|
|
</when>
|
|
|
|
<otherwise>
|
|
|
|
<foreach collection="gridIds" item="gridId" index="index" open="AND ( " separator=" OR " close=")">
|
|
|
|
GRID_ID = #{gridId}
|
|
|
|
</foreach>
|
|
|
|
</otherwise>
|
|
|
|
</choose>
|
|
|
|
AND CREATED_TIME <![CDATA[>=]]> DATE_FORMAT(#{startDate},"%Y-%m-%d")
|
|
|
|
AND CREATED_TIME <![CDATA[<=]]> DATE_FORMAT(#{endDate},"%Y-%m-%d")
|
|
|
|
</select>
|
|
|
|
|
|
|
|
<!-- 查询指定时间范围内居民增量 传参:注册用户or参与用户 | 网格Id集合 | 时间区间-->
|
|
|
|
<select id="selectResiIncrWithinTimeRange" resultType="integer">
|
|
|
|
SELECT
|
|
|
|
count( distinct USER_ID)
|
|
|
|
FROM
|
|
|
|
REGISTER_RELATION
|
|
|
|
WHERE
|
|
|
|
DEL_FLAG = '0'
|
|
|
|
<choose>
|
|
|
|
<!-- 参与用户 -->
|
|
|
|
<when test='regOrPartiFlag == "parti"'>
|
|
|
|
AND (
|
|
|
|
( FIRST_REGISTER = '1' AND REGISTER = '1' AND PARTICIPATION = '1' )
|
|
|
|
OR ( FIRST_REGISTER = '0' AND REGISTER = '0' AND PARTICIPATION = '1' )
|
|
|
|
)
|
|
|
|
</when>
|
|
|
|
<!-- 默认查注册用户 -->
|
|
|
|
<otherwise>
|
|
|
|
AND FIRST_REGISTER = '1'
|
|
|
|
</otherwise>
|
|
|
|
</choose>
|
|
|
|
|
|
|
|
<choose>
|
|
|
|
<when test='null == gridIds or gridIds.size == 0'>
|
|
|
|
AND GRID_ID = ''
|
|
|
|
</when>
|
|
|
|
<otherwise>
|
|
|
|
<foreach collection="gridIds" item="gridId" index="index" open="AND ( " separator=" OR " close=")">
|
|
|
|
GRID_ID = #{gridId}
|
|
|
|
</foreach>
|
|
|
|
</otherwise>
|
|
|
|
</choose>
|
|
|
|
AND CREATED_TIME <![CDATA[>=]]> DATE_FORMAT(#{startDate},"%Y-%m-%d")
|
|
|
|
AND CREATED_TIME <![CDATA[<=]]> DATE_FORMAT(#{endDate},"%Y-%m-%d")
|
|
|
|
</select>
|
|
|
|
|
|
|
|
<!-- 查询指定时间范围内党员的增量 传参:用户Id集合 | 时间区间 -->
|
|
|
|
<select id="selectPartyIncrWithinTimeRange" resultType="integer">
|
|
|
|
SELECT
|
|
|
|
count( DISTINCT urole.USER_ID)
|
|
|
|
FROM
|
|
|
|
USER_ROLE urole
|
|
|
|
LEFT JOIN EPMET_ROLE erole ON urole.ROLE_ID = erole.ID
|
|
|
|
AND erole.DEL_FLAG = '0'
|
|
|
|
WHERE
|
|
|
|
urole.DEL_FLAG = '0'
|
|
|
|
<choose>
|
|
|
|
<when test='null == incrUserIds or incrUserIds.size == 0'>
|
|
|
|
AND urole.USER_ID = ''
|
|
|
|
</when>
|
|
|
|
<otherwise>
|
|
|
|
<foreach collection="incrUserIds" item="incrUserId" index="index" open="AND ( " separator=" OR " close=")">
|
|
|
|
urole.USER_ID = #{incrUserId}
|
|
|
|
</foreach>
|
|
|
|
</otherwise>
|
|
|
|
</choose>
|
|
|
|
AND urole.CREATED_TIME <![CDATA[>=]]> DATE_FORMAT(#{startDate},"%Y-%m-%d")
|
|
|
|
AND urole.CREATED_TIME <![CDATA[<=]]> DATE_FORMAT(#{endDate},"%Y-%m-%d")
|
|
|
|
AND erole.ROLE_NAME = '党员'
|
|
|
|
</select>
|
|
|
|
|
|
|
|
<!-- 查询指定时间范围内热心居民的增量 传参:用户Id集合 | 网格Id集合 | 时间区间 -->
|
|
|
|
<select id="selectWarmIncrWithinTimeRange" resultType="integer">
|
|
|
|
SELECT
|
|
|
|
count( DISTINCT urole.USER_ID)
|
|
|
|
FROM
|
|
|
|
USER_ROLE urole
|
|
|
|
LEFT JOIN EPMET_ROLE erole ON urole.ROLE_ID = erole.ID
|
|
|
|
AND erole.DEL_FLAG = '0'
|
|
|
|
WHERE
|
|
|
|
urole.DEL_FLAG = '0'
|
|
|
|
<foreach collection="incrUserIds" item="incrUserId" index="index" open="AND ( " separator=" OR " close=")">
|
|
|
|
urole.USER_ID = #{incrUserId}
|
|
|
|
</foreach>
|
|
|
|
<choose>
|
|
|
|
<when test='null == gridIds or gridIds.size == 0'>
|
|
|
|
AND GRID_ID = ''
|
|
|
|
</when>
|
|
|
|
<otherwise>
|
|
|
|
<foreach collection="gridIds" item="gridId" index="index" open="AND ( " separator=" OR " close=")">
|
|
|
|
GRID_ID = #{gridId}
|
|
|
|
</foreach>
|
|
|
|
</otherwise>
|
|
|
|
</choose>
|
|
|
|
AND urole.CREATED_TIME <![CDATA[>=]]> DATE_FORMAT(#{startDate},"%Y-%m-%d")
|
|
|
|
AND urole.CREATED_TIME <![CDATA[<=]]> DATE_FORMAT(#{endDate},"%Y-%m-%d")
|
|
|
|
AND erole.ROLE_NAME = '热心居民'
|
|
|
|
</select>
|
|
|
|
|
|
|
|
<!-- 查询用户是不是党员 -->
|
|
|
|
<select id="selectUserIsParty" resultType="com.epmet.dto.extract.result.UserPartyResultDTO">
|
|
|
|
SELECT ur.user_id AS userId,
|
|
|
|
er.role_name AS roleName
|
|
|
|
FROM user_role ur
|
|
|
|
LEFT JOIN epmet_role er ON er.id = ur.role_id
|
|
|
|
WHERE ur.del_flag = 0
|
|
|
|
AND er.del_flag = 0
|
|
|
|
AND
|
|
|
|
(
|
|
|
|
<foreach collection="userIds" item="item" separator=" OR ">
|
|
|
|
ur.user_id = #{item}
|
|
|
|
</foreach>
|
|
|
|
)
|
|
|
|
</select>
|
|
|
|
|
|
|
|
<select id="selectPartymembersByCustomerId" resultType="string">
|
|
|
|
SELECT
|
|
|
|
DISTINCT
|
|
|
|
role.USER_ID
|
|
|
|
FROM
|
|
|
|
USER_ROLE role
|
|
|
|
LEFT JOIN EPMET_ROLE rolename
|
|
|
|
ON role.ROLE_ID = rolename.ID AND rolename.DEL_FLAG = '0'
|
|
|
|
WHERE
|
|
|
|
role.DEL_FLAG = '0'
|
|
|
|
AND
|
|
|
|
role.CUSTOMER_ID = #{customerId}
|
|
|
|
AND
|
|
|
|
rolename.ROLE_KEY = 'partymember'
|
|
|
|
</select>
|
|
|
|
|
|
|
|
<select id="selectWarmHeartedByCustomerId" resultType="com.epmet.dto.extract.form.GridHeartedFormDTO">
|
|
|
|
SELECT
|
|
|
|
DISTINCT
|
|
|
|
role.USER_ID,
|
|
|
|
role.GRID_ID
|
|
|
|
FROM
|
|
|
|
USER_ROLE role
|
|
|
|
LEFT JOIN EPMET_ROLE rolename
|
|
|
|
ON role.ROLE_ID = rolename.ID AND rolename.DEL_FLAG = '0'
|
|
|
|
WHERE
|
|
|
|
role.DEL_FLAG = '0'
|
|
|
|
AND
|
|
|
|
role.CUSTOMER_ID = #{customerId}
|
|
|
|
AND
|
|
|
|
rolename.ROLE_KEY = 'warmhearted'
|
|
|
|
</select>
|
|
|
|
|
|
|
|
<!-- 查询当前网格下,首次注册的用户ids -->
|
|
|
|
|
|
|
|
|
|
|
|
<select id="selectGridRegUserIds" parameterType="map" resultType="java.lang.String">
|
|
|
|
SELECT DISTINCT
|
|
|
|
USER_ID
|
|
|
|
FROM
|
|
|
|
register_relation rr
|
|
|
|
WHERE
|
|
|
|
rr.DEL_FLAG = '0'
|
|
|
|
AND rr.CUSTOMER_ID =#{customerId}
|
|
|
|
and rr.GRID_ID=#{gridId}
|
|
|
|
AND rr.FIRST_REGISTER = '1'
|
|
|
|
</select>
|
|
|
|
|
|
|
|
<!-- 获取客户下的网格注册居民 -->
|
|
|
|
<select id="selectRegisteredUserByCustomerId" resultType="com.epmet.entity.evaluationindex.screen.ScreenPartyUserRankDataEntity">
|
|
|
|
SELECT
|
|
|
|
register.CUSTOMER_ID,
|
|
|
|
register.GRID_ID,
|
|
|
|
register.USER_ID,
|
|
|
|
IFNULL(base.SURNAME,resi.SURNAME) AS surname,
|
|
|
|
IFNULL(base.NAME,resi.NAME) AS name,
|
|
|
|
IFNULL(base.REAl_NAME,concat(resi.SURNAME,resi.NAME)) AS userName,
|
|
|
|
0 AS partyFlag,
|
|
|
|
0 AS POINT_TOTAL,
|
|
|
|
0 AS INDEX_SCORE
|
|
|
|
FROM
|
|
|
|
REGISTER_RELATION register
|
|
|
|
LEFT JOIN USER_BASE_INFO base ON register.USER_ID = base.USER_ID
|
|
|
|
AND base.DEL_FLAG = '0'
|
|
|
|
LEFT JOIN USER_RESI_INFO resi ON register.USER_ID = resi.USER_ID
|
|
|
|
AND resi.DEL_FLAG = '0'
|
|
|
|
WHERE
|
|
|
|
register.DEL_FLAG = '0'
|
|
|
|
AND register.CUSTOMER_ID = #{customerId}
|
|
|
|
AND register.FIRST_REGISTER = '1'
|
|
|
|
</select>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<select id="selectScreenProjectData" resultType="com.epmet.dto.screen.ScreenProjectDataDTO">
|
|
|
|
SELECT
|
|
|
|
CONCAT( STREET, '-', SURNAME, CASE WHEN GENDER = '1' THEN '先生' WHEN GENDER = '2' THEN '女士' ELSE '先生/女士' END ) AS linkName,
|
|
|
|
MOBILE AS linkMobile,
|
|
|
|
USER_ID as topicId
|
|
|
|
FROM
|
|
|
|
user_base_info
|
|
|
|
WHERE
|
|
|
|
del_flag = '0'
|
|
|
|
<foreach collection="list" item="project" open="AND (" separator=" OR " close=")">
|
|
|
|
user_id = #{project.linkName}
|
|
|
|
</foreach>
|
|
|
|
</select>
|
|
|
|
</mapper>
|