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.

159 lines
6.1 KiB

<?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.group.GroupDataDao">
<!-- 查询网格下的小组总数,状态为 “approved” -->
<select id="selectGridGroupTotal" resultType="com.epmet.dto.group.result.GridGroupTotalResultDTO" parameterType="com.epmet.dto.group.form.GridGroupTotalFormDTO">
SELECT
grid_id AS gridId,
COUNT(*) AS gridGroupTotal
FROM
resi_group
WHERE
DEL_FLAG = 0
AND state = #{state}
AND customer_id = #{customerId}
AND DATE_FORMAT(created_time,'%Y%m%d') <![CDATA[ <= ]]> #{dateId}
GROUP BY
grid_id
</select>
<!-- 查询网格下的小组成员总数 , 人员状态不为 “removed” -->
<select id="selectGridGroupPeopleTotal" parameterType="com.epmet.dto.group.form.GridGroupPeopleTotalFormDTO" resultType="com.epmet.dto.group.result.GridGroupPeopleTotalResultDTO">
SELECT
rg.grid_id AS gridId,
COUNT(rgm.id) AS gridGroupPeopleTotal
FROM
resi_group rg
LEFT JOIN resi_group_member rgm ON rgm.resi_group_id = rg.id
WHERE
rg.DEL_FLAG = 0
AND rg.state = #{state}
AND rg.customer_id = #{customerId}
AND rgm.status != #{status}
AND DATE_FORMAT(rgm.created_time,'%Y%m%d') <![CDATA[ <= ]]> #{dateId}
GROUP BY rg.grid_id
</select>
<!-- 查询每个小组的人数 -->
<select id="selectEveryGroupPeopleCount" parameterType="com.epmet.dto.group.form.GridGroupPeopleFormDTO" resultType="com.epmet.dto.group.result.GridGroupPeopleResultDTO">
SELECT
rg.grid_id AS gridId,
rg.id AS groupId,
rg.group_name AS groupName,
COUNT( rgm.id ) AS groupCount
FROM
resi_group rg
LEFT JOIN resi_group_member rgm ON rgm.resi_group_id = rg.id
WHERE
rg.DEL_FLAG = 0
AND rg.state = #{state}
AND rg.customer_id = #{customerId}
AND rgm.STATUS != #{status}
AND DATE_FORMAT(rgm.created_time,'%Y%m%d') <![CDATA[ <= ]]> #{dateId}
GROUP BY
rgm.resi_group_id
</select>
<!-- 查询网格下的小组日增数 -->
<select id="selectGroupIncr" resultType="com.epmet.dto.group.result.GroupIncrResultDTO" parameterType="com.epmet.dto.group.form.GroupIncrFormDTO">
SELECT
COUNT(*) AS groupIncr,
grid_id AS gridId
FROM
resi_group
WHERE
state = #{state}
AND customer_id = #{customerId}
AND DATE_FORMAT( CREATED_TIME, '%Y%m%d' ) = #{dateId}
GROUP BY
grid_id
</select>
5 years ago
<!-- 机关下——所有网格内的小组数量 -->
<select id="getAgencyGroupTotalCount" resultType="com.epmet.dto.group.result.AgencyGroupTotalCountResultDTO">
SELECT
grid_id AS gridId,
COUNT(*) AS gridGroupCount
FROM
resi_group
WHERE
DEL_FLAG = 0
AND state = 'approved'
AND customer_id = #{customerId}
AND DATE_FORMAT(created_time,'%Y%m%d') <![CDATA[ <= ]]> #{dateId}
5 years ago
GROUP BY
grid_id
</select>
<!-- 查询机关下的网格内小组成员总数 , 人员状态不为 “removed” -->
<select id="selectAgencyGridGroupPeopleTotal" resultType="com.epmet.dto.group.result.AgencyGridGroupPeopleTotalResultDTO">
SELECT
rg.grid_id AS gridId,
COUNT(rgm.id) AS gridGroupPeopleTotal
FROM
resi_group rg
LEFT JOIN resi_group_member rgm ON rgm.resi_group_id = rg.id
WHERE
rg.DEL_FLAG = 0
AND rg.state = 'approved'
AND rg.customer_id = #{customerId}
5 years ago
AND rgm.status != 'removed'
AND DATE_FORMAT(rgm.created_time,'%Y%m%d') <![CDATA[ <= ]]> #{dateId}
5 years ago
GROUP BY rg.grid_id
</select>
<!-- 查询机关下每个小组的人数 -->
<select id="selectAgencyEveryGroupPeopleCount" resultType="com.epmet.dto.group.result.AgencyGridGroupPeopleResultDTO">
SELECT
rg.grid_id AS gridId,
rg.id AS groupId,
COUNT( rgm.id ) AS groupCount
FROM
resi_group rg
LEFT JOIN resi_group_member rgm ON rgm.resi_group_id = rg.id
WHERE
rg.DEL_FLAG = 0
AND rg.state = 'approved'
AND rg.customer_id = #{customerId}
5 years ago
AND rgm.STATUS != 'removed'
AND DATE_FORMAT(rgm.created_time,'%Y%m%d') <![CDATA[ <= ]]> #{dateId}
5 years ago
GROUP BY
rgm.resi_group_id
</select>
<!-- 查询机关下的小组日增数 -->
<select id="selectAgencyGroupIncr" resultType="com.epmet.dto.group.result.AgencyGroupIncrResultDTO">
SELECT
COUNT(*) AS groupIncr,
grid_id AS gridId
FROM
resi_group
WHERE
state = 'approved'
AND customer_id = #{customerId}
AND DATE_FORMAT( CREATED_TIME, '%Y%m%d' ) = #{dateId}
5 years ago
GROUP BY
grid_id
</select>
<select id="getAgencyGrid" resultType="com.epmet.dto.group.result.GroupPeopleCountResultDTO">
<foreach collection="gridIds" item="gridId" separator=" UNION ALL ">
SELECT
rg.id AS groupId,
COUNT( rgm.id ) AS groupCount
FROM
resi_group rg
LEFT JOIN resi_group_member rgm ON rgm.resi_group_id = rg.id
WHERE
rg.DEL_FLAG = 0
AND rg.state = 'approved'
AND rg.grid_id = #{gridId}
AND rgm.STATUS != 'removed'
GROUP BY
rgm.resi_group_id
</foreach>
</select>
</mapper>