|
@@ -9,6 +9,7 @@
|
|
|
<resultMap type="com.ym.mec.biz.dal.entity.IndexBaseMonthData" id="IndexBaseMonthData">
|
|
|
<result column="id_" property="id" />
|
|
|
<result column="month_" property="month" />
|
|
|
+ <result column="month_" property="monthStr" />
|
|
|
<result column="organ_id_" property="organId" />
|
|
|
<result column="total_num_" property="totalNum" />
|
|
|
<result column="activate_num_" property="activateNum" />
|
|
@@ -1329,6 +1330,94 @@
|
|
|
</if>
|
|
|
GROUP BY DATE_FORMAT(spo.pay_time_,'%Y-%m-%d')
|
|
|
</select>
|
|
|
+ <select id="getTotalAmountDataWithTimelyDetails" resultMap="IndexBaseMonthData">
|
|
|
+ SELECT spo.organ_id_,SUM(CASE WHEN spo.actual_amount_ IS NULL THEN 0 ELSE spo.actual_amount_ END +
|
|
|
+ CASE WHEN spo.balance_payment_amount_ IS NULL THEN 0 ELSE spo.balance_payment_amount_ END) total_num_,
|
|
|
+ SUM(CASE WHEN spo.actual_amount_ IS NULL THEN 0 ELSE spo.actual_amount_ END +
|
|
|
+ CASE WHEN spo.balance_payment_amount_ IS NULL THEN 0 ELSE spo.balance_payment_amount_ END) activate_num_,
|
|
|
+ SUM(CASE WHEN spo.actual_amount_ IS NULL THEN 0 ELSE spo.actual_amount_ END +
|
|
|
+ CASE WHEN spo.balance_payment_amount_ IS NULL THEN 0 ELSE spo.balance_payment_amount_ END) percent_,DATE_FORMAT(spo.pay_time_,'%Y-%m-%d') month_
|
|
|
+ FROM student_payment_order spo
|
|
|
+ WHERE spo.status_ = 'SUCCESS' AND DATE_FORMAT(spo.pay_time_,'%Y-%m-%d') BETWEEN #{startDate} AND #{endDate}
|
|
|
+ <if test="orderType != null">
|
|
|
+ AND FIND_IN_SET(spo.type_,#{orderType})
|
|
|
+ </if>
|
|
|
+ <if test="notOrderType != null">
|
|
|
+ AND spo.type_ NOT IN
|
|
|
+ <foreach collection="notOrderType" open="(" close=")" item="item" separator=",">
|
|
|
+ #{item}
|
|
|
+ </foreach>
|
|
|
+ </if>
|
|
|
+ <if test="organIds!=null and organIds.size()>0">
|
|
|
+ AND spo.organ_id_ IN
|
|
|
+ <foreach collection="organIds" item="organId" open="(" close=")" separator=",">
|
|
|
+ #{organId}
|
|
|
+ </foreach>
|
|
|
+ </if>
|
|
|
+ GROUP BY DATE_FORMAT(spo.pay_time_,'%Y-%m-%d')
|
|
|
+ </select>
|
|
|
+
|
|
|
+ <select id="getVipAmountDataWithTimelyDetails" resultMap="IndexBaseMonthData">
|
|
|
+ SELECT organ_id_,SUM(c.total_num_) total_num_,SUM(c.total_num_) activate_num_,SUM(c.total_num_) percent_,month_ FROM (
|
|
|
+ SELECT spo.organ_id_,SUM(CASE WHEN spod.price_ IS NULL THEN 0 ELSE spod.price_ END) total_num_,DATE_FORMAT(spo.pay_time_,'%Y-%m-%d') month_
|
|
|
+ FROM student_payment_order spo
|
|
|
+ LEFT JOIN student_payment_order_detail spod ON spo.id_ = spod.payment_order_id_
|
|
|
+ WHERE spo.status_ = 'SUCCESS' AND DATE_FORMAT(spo.pay_time_,'%Y-%m-%d') BETWEEN #{startDate} AND #{endDate}
|
|
|
+ AND spo.type_ = 'DEGREE' AND spod.type_ IN ('THEORY_COURSE','VIP')
|
|
|
+ <if test="organIds!=null and organIds.size()>0">
|
|
|
+ AND spo.organ_id_ IN
|
|
|
+ <foreach collection="organIds" item="organId" open="(" close=")" separator=",">
|
|
|
+ #{organId}
|
|
|
+ </foreach>
|
|
|
+ </if>
|
|
|
+ GROUP BY DATE_FORMAT(spo.pay_time_,'%Y-%m-%d')
|
|
|
+ UNION
|
|
|
+ SELECT spo.organ_id_,SUM(CASE WHEN spo.actual_amount_ IS NULL THEN 0 ELSE spo.actual_amount_ END +
|
|
|
+ CASE WHEN spo.balance_payment_amount_ IS NULL THEN 0 ELSE spo.balance_payment_amount_ END) total_num_
|
|
|
+ ,DATE_FORMAT(spo.pay_time_,'%Y-%m-%d') month_
|
|
|
+ FROM student_payment_order spo
|
|
|
+ WHERE spo.status_ = 'SUCCESS' AND DATE_FORMAT(spo.pay_time_,'%Y-%m-%d') BETWEEN #{startDate} AND #{endDate}
|
|
|
+ AND spo.type_ = 'SMALL_CLASS_TO_BUY'
|
|
|
+ <if test="organIds!=null and organIds.size()>0">
|
|
|
+ AND spo.organ_id_ IN
|
|
|
+ <foreach collection="organIds" item="organId" open="(" close=")" separator=",">
|
|
|
+ #{organId}
|
|
|
+ </foreach>
|
|
|
+ </if>
|
|
|
+ GROUP BY DATE_FORMAT(spo.pay_time_,'%Y-%m-%d')
|
|
|
+ )c GROUP BY DATE_FORMAT(c.month_,'%Y-%m-%d')
|
|
|
+ </select>
|
|
|
+
|
|
|
+ <select id="getOtherAmountDataWithTimelyDetails" resultMap="IndexBaseMonthData">
|
|
|
+ SELECT organ_id_,SUM(c.total_num_) total_num_,month_ FROM (
|
|
|
+ SELECT spo.organ_id_,SUM(CASE WHEN spo.actual_amount_ IS NULL THEN 0 ELSE spo.actual_amount_ END +
|
|
|
+ CASE WHEN spo.balance_payment_amount_ IS NULL THEN 0 ELSE spo.balance_payment_amount_ END) total_num_
|
|
|
+ ,DATE_FORMAT(spo.pay_time_,'%Y-%m-%d') month_
|
|
|
+ FROM student_payment_order spo
|
|
|
+ WHERE spo.status_ = 'SUCCESS' AND DATE_FORMAT(spo.pay_time_,'%Y-%m-%d') BETWEEN #{startDate} AND #{endDate}
|
|
|
+ AND spo.type_ NOT IN ('APPLY','RENEW','PRACTICE_GROUP_BUY','PRACTICE_GROUP_RENEW','SMALL_CLASS_TO_BUY','DEGREE')
|
|
|
+ <if test="organIds!=null and organIds.size()>0">
|
|
|
+ AND spo.organ_id_ IN
|
|
|
+ <foreach collection="organIds" item="organId" open="(" close=")" separator=",">
|
|
|
+ #{organId}
|
|
|
+ </foreach>
|
|
|
+ </if>
|
|
|
+ GROUP BY DATE_FORMAT(spo.pay_time_,'%Y-%m-%d')
|
|
|
+ UNION
|
|
|
+ SELECT spo.organ_id_,SUM(CASE WHEN spod.price_ IS NULL THEN 0 ELSE spod.price_ END) total_num_,DATE_FORMAT(spo.pay_time_,'%Y-%m-%d') month_
|
|
|
+ FROM student_payment_order spo
|
|
|
+ LEFT JOIN student_payment_order_detail spod ON spo.id_ = spod.payment_order_id_
|
|
|
+ WHERE spo.status_ = 'SUCCESS' AND DATE_FORMAT(spo.pay_time_,'%Y-%m-%d') BETWEEN #{startDate} AND #{endDate}
|
|
|
+ AND spo.type_ = 'DEGREE' AND spod.type_ = 'DEGREE_REGISTRATION'
|
|
|
+ <if test="organIds!=null and organIds.size()>0">
|
|
|
+ AND spo.organ_id_ IN
|
|
|
+ <foreach collection="organIds" item="organId" open="(" close=")" separator=",">
|
|
|
+ #{organId}
|
|
|
+ </foreach>
|
|
|
+ </if>
|
|
|
+ GROUP BY DATE_FORMAT(spo.pay_time_,'%Y-%m-%d')
|
|
|
+ )c GROUP BY DATE_FORMAT(c.month_,'%Y-%m-%d')
|
|
|
+ </select>
|
|
|
|
|
|
<sql id="queryTeacherServeInfoCondition">
|
|
|
<where>
|