|
@@ -87,24 +87,24 @@
|
|
<result property="reserveNum" column="reserve_num_"/>
|
|
<result property="reserveNum" column="reserve_num_"/>
|
|
</resultMap>
|
|
</resultMap>
|
|
<select id="queryChildrenStatistics" resultMap="ChildrenStatisticsDtoMap">
|
|
<select id="queryChildrenStatistics" resultMap="ChildrenStatisticsDtoMap">
|
|
- SELECT o.name_ organ_name_,co.name_ cooperation_organ_name_,mg.name_ music_group_name_,COUNT(sr.user_id_)
|
|
|
|
- normal_num_,
|
|
|
|
- COUNT(CASE WHEN cdr.is_reserve_ = 1 THEN 1 ELSE NULL END) 'reserve_num_',
|
|
|
|
- COUNT(CASE WHEN cdr.is_reserve_ = 0 THEN 1 ELSE NULL END) 'no_reserve_num_'
|
|
|
|
|
|
+ SELECT o.name_ organ_name_,co.name_ cooperation_organ_name_,mg.name_ music_group_name_,COUNT(sr.user_id_) normal_num_,
|
|
|
|
+ COUNT(DISTINCT CASE WHEN cdr.is_reserve_ = 1 THEN 1 ELSE NULL END) 'reserve_num_',
|
|
|
|
+ COUNT(DISTINCT CASE WHEN cdr.is_reserve_ = 0 THEN 1 ELSE NULL END) 'no_reserve_num_'
|
|
FROM children_day_reserve cdr
|
|
FROM children_day_reserve cdr
|
|
LEFT JOIN music_group mg ON mg.id_ = cdr.music_group_id_
|
|
LEFT JOIN music_group mg ON mg.id_ = cdr.music_group_id_
|
|
- LEFT JOIN student_registration sr ON sr.music_group_id_ = cdr.music_group_id_ AND sr.music_group_status_ =
|
|
|
|
- 'NORMAL'
|
|
|
|
|
|
+ LEFT JOIN student_registration sr ON sr.music_group_id_ = cdr.music_group_id_ AND sr.music_group_status_ = 'NORMAL' AND cdr.user_id_ = sr.user_id_
|
|
LEFT JOIN cooperation_organ co ON co.id_ = cdr.cooperation_organ_id_
|
|
LEFT JOIN cooperation_organ co ON co.id_ = cdr.cooperation_organ_id_
|
|
LEFT JOIN organization o ON o.id_ = cdr.organ_id_
|
|
LEFT JOIN organization o ON o.id_ = cdr.organ_id_
|
|
<include refid="queryChildrenStatisticsSql"/>
|
|
<include refid="queryChildrenStatisticsSql"/>
|
|
GROUP BY cdr.music_group_id_
|
|
GROUP BY cdr.music_group_id_
|
|
|
|
+ ORDER BY cdr.id_ DESC
|
|
|
|
+ <include refid="global.limit"/>
|
|
</select>
|
|
</select>
|
|
- <select id="countChildrenStatistics" resultType="java.lang.Integer">
|
|
|
|
- SELECT COUNT(cdr.id_)
|
|
|
|
|
|
+ <select id="countChildrenStatistics" resultType="int">
|
|
|
|
+ SELECT COUNT(c.id_) FROM (SELECT COUNT(cdr.id_) id_
|
|
FROM children_day_reserve cdr
|
|
FROM children_day_reserve cdr
|
|
<include refid="queryChildrenStatisticsSql"/>
|
|
<include refid="queryChildrenStatisticsSql"/>
|
|
- GROUP BY cdr.music_group_id_
|
|
|
|
|
|
+ GROUP BY cdr.music_group_id_) c
|
|
</select>
|
|
</select>
|
|
<sql id="queryChildrenStatisticsSql">
|
|
<sql id="queryChildrenStatisticsSql">
|
|
<where>
|
|
<where>
|
|
@@ -125,4 +125,40 @@
|
|
FROM children_day_reserve
|
|
FROM children_day_reserve
|
|
WHERE user_id_ = #{userId}
|
|
WHERE user_id_ = #{userId}
|
|
</select>
|
|
</select>
|
|
|
|
+
|
|
|
|
+ <resultMap id="ChildrenStatisticsDetailDtoMap" type="com.ym.mec.biz.dal.dto.ChildrenStatisticsDetailDto">
|
|
|
|
+ <result property="username" column="username_"/>
|
|
|
|
+ <result property="userId" column="user_id_"/>
|
|
|
|
+ <result property="isReserve" column="is_reserve_"/>
|
|
|
|
+ <result property="phone" column="phone_"/>
|
|
|
|
+ </resultMap>
|
|
|
|
+ <select id="countChildrenStatisticsDetail" resultType="int">
|
|
|
|
+ SELECT COUNT(cdr.id_) FROM children_day_reserve cdr
|
|
|
|
+ LEFT JOIN sys_user su ON su.id_ = cdr.user_id_
|
|
|
|
+ <include refid="queryChildrenStatisticsDetailSql"/>
|
|
|
|
+ </select>
|
|
|
|
+ <select id="queryChildrenStatisticsDetail" resultMap="ChildrenStatisticsDetailDtoMap">
|
|
|
|
+ SELECT su.username_,su.phone_,cdr.user_id_,cdr.is_reserve_
|
|
|
|
+ FROM children_day_reserve cdr
|
|
|
|
+ LEFT JOIN sys_user su ON su.id_ = cdr.user_id_
|
|
|
|
+ <include refid="queryChildrenStatisticsDetailSql"/>
|
|
|
|
+ ORDER BY cdr.create_time_ DESC
|
|
|
|
+ <include refid="global.limit"/>
|
|
|
|
+ </select>
|
|
|
|
+ <sql id="queryChildrenStatisticsDetailSql">
|
|
|
|
+ <where>
|
|
|
|
+ <if test="search != null and search != ''">
|
|
|
|
+ AND (cdr.user_id_ = #{search} OR su.username_ LIKE CONCAT('%',#{search},'%') OR su.phone_ LIKE CONCAT('%',#{search},'%'))
|
|
|
|
+ </if>
|
|
|
|
+ <if test="isReserve != null">
|
|
|
|
+ AND cdr.is_reserve_ = #{isReserve}
|
|
|
|
+ </if>
|
|
|
|
+ <if test="musicGroupId != null and musicGroupId != ''">
|
|
|
|
+ AND cdr.music_group_id_ = #{musicGroupId}
|
|
|
|
+ </if>
|
|
|
|
+ <if test="musicGroupId == null">
|
|
|
|
+ AND cdr.music_group_id_ IS NULL
|
|
|
|
+ </if>
|
|
|
|
+ </where>
|
|
|
|
+ </sql>
|
|
</mapper>
|
|
</mapper>
|