forked from rongchao/epmet-cloud-rizhao
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
324 lines
11 KiB
324 lines
11 KiB
5 years ago
|
<?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( * ) AS total,
|
||
|
(
|
||
|
SELECT
|
||
|
count( * )
|
||
|
FROM
|
||
|
REGISTER_RELATION
|
||
|
WHERE
|
||
|
DEL_FLAG = '0'
|
||
|
<choose>
|
||
|
<!-- 参与用户 -->
|
||
|
<when test='regOrPatiFlag = "parti"'>
|
||
|
AND PARTICIPATION = '1'
|
||
|
</when>
|
||
|
<!-- 默认查注册用户 -->
|
||
|
<otherwise>
|
||
|
AND REGISTER = '1'
|
||
|
</otherwise>
|
||
|
</choose>
|
||
|
|
||
|
<foreach collection="gridIds" item="gridId" index="index" open="AND ( " separator=" OR " close=")">
|
||
|
GRID_ID = #{gridId}
|
||
|
</foreach>
|
||
|
|
||
|
<choose>
|
||
|
<when test="null != targetDate">
|
||
|
AND CREATED_TIME <![CDATA[>=]]> #{targetDate} AND CREATED_TIME <![CDATA[<]]> DATE_SUB( #{targetDate}, INTERVAL - 1 DAY)
|
||
|
</when>
|
||
|
<otherwise>
|
||
|
AND CREATED_TIME <![CDATA[<]]> CURDATE( ) AND CREATED_TIME <![CDATA[>=]]> DATE_SUB( CURDATE( ), INTERVAL 1 DAY )
|
||
|
</otherwise>
|
||
|
</choose>
|
||
|
) AS incr
|
||
|
FROM
|
||
|
REGISTER_RELATION
|
||
|
WHERE
|
||
|
DEL_FLAG = '0'
|
||
|
AND REGISTER = '1'
|
||
|
<foreach collection="gridIds" item="gridId" index="index" open="AND ( " separator=" OR " close=")">
|
||
|
GRID_ID = #{gridId}
|
||
|
</foreach>
|
||
|
<choose>
|
||
|
<when test="null != targetDate">
|
||
|
AND CREATED_TIME <![CDATA[<]]> DATE_SUB( #{targetDate}, INTERVAL - 1 DAY )
|
||
|
</when>
|
||
|
<otherwise>
|
||
|
AND CREATED_TIME <![CDATA[<]]> CURDATE( )
|
||
|
</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='regOrPatiFlag = "parti"'>
|
||
|
AND PARTICIPATION = '1'
|
||
|
</when>
|
||
|
<!-- 默认查注册用户 -->
|
||
|
<otherwise>
|
||
|
AND REGISTER = '1'
|
||
|
</otherwise>
|
||
|
</choose>
|
||
|
<foreach collection="gridIds" item="gridId" index="index" open="AND ( " separator=" OR " close=")">
|
||
|
GRID_ID = #{gridId}
|
||
|
</foreach>
|
||
|
|
||
|
<choose>
|
||
|
<when test="null != targetDate">
|
||
|
AND CREATED_TIME <![CDATA[>=]]> #{targetDate} AND CREATED_TIME <![CDATA[<]]> DATE_SUB( #{targetDate}, INTERVAL - 1 DAY)
|
||
|
</when>
|
||
|
<otherwise>
|
||
|
AND CREATED_TIME <![CDATA[<]]> CURDATE( ) AND CREATED_TIME <![CDATA[>=]]> DATE_SUB( CURDATE( ), INTERVAL 1 DAY )
|
||
|
</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='regOrPatiFlag = "parti"'>
|
||
|
AND PARTICIPATION = '1'
|
||
|
</when>
|
||
|
<!-- 默认查注册用户 -->
|
||
|
<otherwise>
|
||
|
AND REGISTER = '1'
|
||
|
</otherwise>
|
||
|
</choose>
|
||
|
<foreach collection="gridIds" item="gridId" index="index" open="AND ( " separator=" OR " close=")">
|
||
|
GRID_ID = #{gridId}
|
||
|
</foreach>
|
||
|
|
||
|
<choose>
|
||
|
<when test="null != targetDate">
|
||
|
AND CREATED_TIME <![CDATA[<]]> DATE_SUB( #{targetDate}, INTERVAL - 1 DAY )
|
||
|
</when>
|
||
|
<otherwise>
|
||
|
AND CREATED_TIME <![CDATA[<]]> CURDATE( )
|
||
|
</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( 1 ) AS total,
|
||
|
(
|
||
|
SELECT
|
||
|
count( 1 )
|
||
|
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 urole.CREATED_TIME <![CDATA[>=]]> #{targetDate} AND urole.CREATED_TIME <![CDATA[<]]> DATE_SUB( #{targetDate}, INTERVAL - 1 DAY)
|
||
|
</when>
|
||
|
<otherwise>
|
||
|
AND urole.CREATED_TIME <![CDATA[<]]> CURDATE( ) AND urole.CREATED_TIME <![CDATA[>=]]> DATE_SUB( CURDATE( ), INTERVAL 1 DAY )
|
||
|
</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'
|
||
|
<foreach collection="userIds" item="userId" index="index" open="AND ( " separator=" OR " close=")">
|
||
|
urole.USER_ID = #{userId}
|
||
|
</foreach>
|
||
|
<choose>
|
||
|
<when test="null != targetDate">
|
||
|
AND urole.CREATED_TIME <![CDATA[<]]> DATE_SUB( #{targetDate}, INTERVAL - 1 DAY )
|
||
|
</when>
|
||
|
<otherwise>
|
||
|
AND urole.CREATED_TIME <![CDATA[<]]> CURDATE( )
|
||
|
</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( 1 ) AS total,
|
||
|
(
|
||
|
SELECT
|
||
|
count( 1 )
|
||
|
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>
|
||
|
<foreach collection="gridIds" item="gridId" index="index" open="AND ( " separator=" OR " close=")">
|
||
|
urole.GRID_ID = #{gridId}
|
||
|
</foreach>
|
||
|
|
||
|
<choose>
|
||
|
<when test="null != targetDate">
|
||
|
AND urole.CREATED_TIME <![CDATA[>=]]> #{targetDate} AND urole.CREATED_TIME <![CDATA[<]]> DATE_SUB( #{targetDate}, INTERVAL - 1 DAY)
|
||
|
</when>
|
||
|
<otherwise>
|
||
|
AND urole.CREATED_TIME <![CDATA[<]]> CURDATE( ) AND urole.CREATED_TIME <![CDATA[>=]]> DATE_SUB( CURDATE( ), INTERVAL 1 DAY )
|
||
|
</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'
|
||
|
<foreach collection="gridIds" item="gridId" index="index" open="AND ( " separator=" OR " close=")">
|
||
|
urole.GRID_ID = #{gridId}
|
||
|
</foreach>
|
||
|
<foreach collection="userIds" item="userId" index="index" open="AND ( " separator=" OR " close=")">
|
||
|
urole.USER_ID = #{userId}
|
||
|
</foreach>
|
||
|
<choose>
|
||
|
<when test="null != targetDate">
|
||
|
AND urole.CREATED_TIME <![CDATA[<]]> DATE_SUB( #{targetDate}, INTERVAL - 1 DAY )
|
||
|
</when>
|
||
|
<otherwise>
|
||
|
AND urole.CREATED_TIME <![CDATA[<]]> CURDATE( )
|
||
|
</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='regOrPatiFlag = "parti"'>
|
||
|
AND PARTICIPATION = '1'
|
||
|
</when>
|
||
|
<!-- 默认查注册用户 -->
|
||
|
<otherwise>
|
||
|
AND REGISTER = '1'
|
||
|
</otherwise>
|
||
|
</choose>
|
||
|
<foreach collection="gridIds" item="gridId" index="index" open="AND ( " separator=" OR " close=")">
|
||
|
GRID_ID = #{gridId}
|
||
|
</foreach>
|
||
|
|
||
|
AND CREATED_TIME <![CDATA[>=]]> #{startDate} AND CREATED_TIME <![CDATA[<]]> DATE_SUB( #{endDate}, INTERVAL - 1 DAY)
|
||
|
</select>
|
||
|
|
||
|
<!-- 查询指定时间范围内居民增量 传参:注册用户or参与用户 | 网格Id集合 | 时间区间-->
|
||
|
<select id="selectResiIncrWithinTimeRange" resultType="integer">
|
||
|
SELECT
|
||
|
count( * )
|
||
|
FROM
|
||
|
REGISTER_RELATION
|
||
|
WHERE
|
||
|
DEL_FLAG = '0'
|
||
|
<choose>
|
||
|
<!-- 参与用户 -->
|
||
|
<when test='regOrPatiFlag = "parti"'>
|
||
|
AND PARTICIPATION = '1'
|
||
|
</when>
|
||
|
<!-- 默认查注册用户 -->
|
||
|
<otherwise>
|
||
|
AND REGISTER = '1'
|
||
|
</otherwise>
|
||
|
</choose>
|
||
|
|
||
|
<foreach collection="gridIds" item="gridId" index="index" open="AND ( " separator=" OR " close=")">
|
||
|
GRID_ID = #{gridId}
|
||
|
</foreach>
|
||
|
|
||
|
|
||
|
AND CREATED_TIME <![CDATA[>=]]> #{startDate} AND CREATED_TIME <![CDATA[<]]> DATE_SUB( #{endDate}, INTERVAL - 1 DAY)
|
||
|
|
||
|
</select>
|
||
|
|
||
|
<!-- 查询指定时间范围内党员的增量 传参:用户Id集合 | 时间区间 -->
|
||
|
<select id="selectPartyIncrWithinTimeRange" resultType="integer">
|
||
|
SELECT
|
||
|
count( 1 )
|
||
|
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>
|
||
|
|
||
|
AND urole.CREATED_TIME <![CDATA[>=]]> #{startDate} AND urole.CREATED_TIME <![CDATA[<]]> DATE_SUB( #{endDate}, INTERVAL - 1 DAY)
|
||
|
AND erole.ROLE_NAME = '党员'
|
||
|
</select>
|
||
|
|
||
|
<!-- 查询指定时间范围内热心居民的增量 传参:用户Id集合 | 网格Id集合 | 时间区间 -->
|
||
|
<select id="selectWarmIncrWithinTimeRange" resultType="integer">
|
||
|
SELECT
|
||
|
count( 1 )
|
||
|
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>
|
||
|
<foreach collection="gridIds" item="gridId" index="index" open="AND ( " separator=" OR " close=")">
|
||
|
urole.GRID_ID = #{gridId}
|
||
|
</foreach>
|
||
|
|
||
|
<choose>
|
||
|
<when test="null != targetDate">
|
||
|
AND urole.CREATED_TIME <![CDATA[>=]]> #{targetDate} AND urole.CREATED_TIME <![CDATA[<]]> DATE_SUB( #{targetDate}, INTERVAL - 1 DAY)
|
||
|
</when>
|
||
|
<otherwise>
|
||
|
AND urole.CREATED_TIME <![CDATA[<]]> CURDATE( ) AND urole.CREATED_TIME <![CDATA[>=]]> DATE_SUB( CURDATE( ), INTERVAL 1 DAY )
|
||
|
</otherwise>
|
||
|
</choose>
|
||
|
AND erole.ROLE_NAME = '热心居民'
|
||
|
</select>
|
||
|
</mapper>
|