|
@@ -83,6 +83,8 @@
|
|
|
<result property="buyVip1Num" column="buy_vip1_num_"/>
|
|
|
<result property="buyVip2Amount" column="buy_vip2_amount_"/>
|
|
|
<result property="buyVip2Num" column="buy_vip2_num_"/>
|
|
|
+ <result property="gradePrice" column="grade_price_"/>
|
|
|
+ <result property="theoryPrice" column="theory_price_"/>
|
|
|
<result property="totalAmount" column="total_amount_"/>
|
|
|
<result property="cooperationOrganName" column="cooperation_organ_name_"/>
|
|
|
<result property="instrumentalMusicNum" column="instrumental_music_num_"/>
|
|
@@ -99,8 +101,8 @@
|
|
|
<select id="queryChildrenStatistics" resultMap="ChildrenStatisticsDtoMap">
|
|
|
SELECT o.name_ organ_name_,co.name_ cooperation_organ_name_,mg.name_ music_group_name_,cdr.organ_id_,
|
|
|
cdr.cooperation_organ_id_,cdr.music_group_id_,
|
|
|
- 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_',
|
|
|
+ COUNT(DISTINCT cdrr.user_id_) 'reserve_num_',
|
|
|
+ COUNT(DISTINCT cdrn.user_id_) 'no_reserve_num_',
|
|
|
COUNT(CASE WHEN cdd.grade_price_ > 0 THEN 1 ELSE NULL END) 'instrumental_music_num_',
|
|
|
COUNT(CASE WHEN cdd.theory_price_ > 0 THEN 1 ELSE NULL END) 'music_theory_num_',
|
|
|
COUNT(CASE WHEN cdd.vip_1v1_price_ > 0 THEN 1 ELSE NULL END) 'buy_vip1_num_',
|
|
@@ -109,14 +111,20 @@
|
|
|
SUM(cdd.vip_1v2_price_) 'buy_vip2_amount_',
|
|
|
COUNT(CASE WHEN cdd.theory_course_price_ > 0 THEN 1 ELSE NULL END) 'buy_music_theory_num_',
|
|
|
SUM(cdd.theory_course_price_) 'buy_music_theory_amount_',
|
|
|
+ SUM(cdd.grade_price_) 'grade_price_',
|
|
|
+ SUM(cdd.theory_price_) 'theory_price_',
|
|
|
SUM(cdd.total_amount_) 'total_amount_'
|
|
|
FROM children_day_reserve cdr
|
|
|
LEFT JOIN children_day_degree_info cdd ON cdr.id_ = cdd.reserve_id_
|
|
|
LEFT JOIN music_group mg ON mg.id_ = cdr.music_group_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 (SELECT * FROM children_day_reserve cdr WHERE cdr.is_reserve_ = 1
|
|
|
+ <include refid="queryChildrenStatisticsSql1"/>) cdrr ON cdrr.id_ = cdr.id_
|
|
|
+ LEFT JOIN (SELECT * FROM children_day_reserve cdr WHERE cdr.is_reserve_ = 0
|
|
|
+ <include refid="queryChildrenStatisticsSql1"/>) cdrn ON cdrn.id_ = cdr.id_
|
|
|
<include refid="queryChildrenStatisticsSql"/>
|
|
|
- GROUP BY cdr.music_group_id_
|
|
|
+ GROUP BY cdr.music_group_id_,cdr.cooperation_organ_id_,cdr.organ_id_
|
|
|
ORDER BY cdr.id_ DESC
|
|
|
<include refid="global.limit"/>
|
|
|
</select>
|
|
@@ -124,7 +132,7 @@
|
|
|
SELECT COUNT(c.id_) FROM (SELECT COUNT(cdr.id_) id_
|
|
|
FROM children_day_reserve cdr
|
|
|
<include refid="queryChildrenStatisticsSql"/>
|
|
|
- GROUP BY cdr.music_group_id_) c
|
|
|
+ GROUP BY cdr.music_group_id_,cdr.cooperation_organ_id_,cdr.organ_id_) c
|
|
|
</select>
|
|
|
|
|
|
<select id="childrenStatistics" resultMap="ChildrenStatisticsDtoMap">
|
|
@@ -136,6 +144,8 @@
|
|
|
SUM(cdd.vip_1v2_price_) 'buy_vip2_amount_',
|
|
|
SUM(CASE WHEN cdd.theory_course_price_ > 0 THEN 1 ELSE NULL END) 'buy_music_theory_num_',
|
|
|
SUM(cdd.theory_course_price_) 'buy_music_theory_amount_',
|
|
|
+ SUM(cdd.grade_price_) 'grade_price_',
|
|
|
+ SUM(cdd.theory_price_) 'theory_price_',
|
|
|
SUM(cdd.total_amount_) 'total_amount_'
|
|
|
FROM children_day_reserve cdr
|
|
|
LEFT JOIN children_day_degree_info cdd ON cdr.id_ = cdd.reserve_id_
|
|
@@ -157,6 +167,17 @@
|
|
|
</if>
|
|
|
</where>
|
|
|
</sql>
|
|
|
+ <sql id="queryChildrenStatisticsSql1">
|
|
|
+ <if test="cooperationId != null">
|
|
|
+ AND cdr.cooperation_organ_id_ = #{cooperationId}
|
|
|
+ </if>
|
|
|
+ <if test="musicGroupId != null and musicGroupId != ''">
|
|
|
+ AND cdr.music_group_id_ = #{musicGroupId}
|
|
|
+ </if>
|
|
|
+ <if test="organId != null">
|
|
|
+ AND FIND_IN_SET(cdr.organ_id_,#{organId})
|
|
|
+ </if>
|
|
|
+ </sql>
|
|
|
|
|
|
<select id="getByUserId" resultMap="ChildrenDayReserve">
|
|
|
SELECT *
|
|
@@ -276,7 +297,7 @@
|
|
|
AND (cdd.vip_1v1_price_ > 0 OR cdd.vip_1v2_price_ > 0)
|
|
|
</if>
|
|
|
<if test="vipFlag == 0">
|
|
|
- AND (cdd.vip_1v1_price_ <= 0 OR cdd.vip_1v2_price_ <= 0)
|
|
|
+ AND cdd.vip_1v1_price_ <= 0 AND cdd.vip_1v2_price_ <= 0
|
|
|
</if>
|
|
|
</if>
|
|
|
<if test="theoryPriceFlag != null">
|