فهرست منبع

学员小课统计

zouxuan 3 سال پیش
والد
کامیت
cc6e4ef348
1فایلهای تغییر یافته به همراه8 افزوده شده و 29 حذف شده
  1. 8 29
      mec-biz/src/main/resources/config/mybatis/StudentStatisticsMapper.xml

+ 8 - 29
mec-biz/src/main/resources/config/mybatis/StudentStatisticsMapper.xml

@@ -195,19 +195,14 @@
 					AND ss.over_course_num_ > 0 AND (ss.sub_course_num_ > 0 OR ss.no_schedule_num_ > 0) AND ss.lately_year_course_consumer_ <= 0
 				</if>
 				<if test="studentStatus == 'LOST'">
-					AND ss.over_course_num_ > 0 AND ss.sub_course_num_ &lt;= 0 AND ss.no_schedule_num_ &lt;= 0
+					AND ss.over_course_num_ > 0 AND ss.sub_course_num_ &lt;= 0 AND ss.no_schedule_num_ &lt;= 0 AND suca.course_balance_ &lt;= 0
 				</if>
 				<if test="studentStatus == 'PAUSE'">
 					AND suca.course_balance_ > 0 AND ss.sub_course_num_ &lt;= 0 AND ss.no_schedule_num_ &lt;= 0
 				</if>
 			</if>
 			<if test="studentStatus == null or studentStatus == ''">
-				<if test="groupType == 'PRACTICE'">
-					AND (ss.over_course_num_ > 0 OR ss.sub_course_num_ > 0 OR ss.no_schedule_num_ > 0 OR suca.course_balance_ > 0)
-				</if>
-				<if test="groupType != 'PRACTICE'">
-					AND (ss.over_course_num_ > 0 OR ss.sub_course_num_ > 0 OR ss.no_schedule_num_ > 0)
-				</if>
+				AND (ss.over_course_num_ > 0 OR ss.sub_course_num_ > 0 OR ss.no_schedule_num_ > 0 OR suca.course_balance_ > 0)
 			</if>
 			<if test="feedbackType != null and feedbackType != ''">
 				AND ss.last_visit_status_ = #{feedbackType}
@@ -253,25 +248,19 @@
 	<select id="countStatistics" resultType="java.lang.Integer">
 		SELECT COUNT(sbi.id_) FROM student_basic_info sbi
 		LEFT JOIN student_statistics ss ON ss.user_id_ = sbi.user_id_
-		<if test="groupType != 'PRACTICE'">
-			LEFT JOIN sys_user_cash_account suca ON sbi.user_id_ = suca.user_id_
-		</if>
+		LEFT JOIN sys_user_cash_account suca ON sbi.user_id_ = suca.user_id_
 		<include refid="queryStatisticsSql"/>
 	</select>
 	<select id="queryStatistics" resultMap="StudentStatisticsDto">
 		SELECT *,ss.not_start_course_fee_ + ss.no_course_fee_ preCourseFee,
 		CASE WHEN (ss.no_schedule_num_ > 0 OR ss.sub_course_num_ > 0) AND (ss.lately_year_course_consumer_ > 0 OR ss.over_course_num_ &lt;= 0) THEN '在读'
 		WHEN ss.over_course_num_ > 0 AND (ss.sub_course_num_ > 0 OR ss.no_schedule_num_ > 0) AND ss.lately_year_course_consumer_ &lt;= 0 THEN '沉睡'
-		WHEN ss.over_course_num_ > 0 AND ss.sub_course_num_ &lt;= 0 AND ss.no_schedule_num_ &lt;= 0 THEN '流失'
+		WHEN ss.over_course_num_ > 0 AND ss.sub_course_num_ &lt;= 0 AND ss.no_schedule_num_ &lt;= 0 AND suca.course_balance_ &lt;= 0 THEN '流失'
 		WHEN suca.course_balance_ > 0 AND ss.sub_course_num_ &lt;= 0 AND ss.no_schedule_num_ &lt;= 0 THEN '暂停' ELSE '其他' END student_status_
-		<if test="groupType != 'PRACTICE'">
-			,suca.course_balance_
-		</if>
+		,suca.course_balance_
 		FROM student_basic_info sbi
 		LEFT JOIN student_statistics ss ON ss.user_id_ = sbi.user_id_
-		<if test="groupType != 'PRACTICE'">
-			LEFT JOIN sys_user_cash_account suca ON sbi.user_id_ = suca.user_id_
-		</if>
+		LEFT JOIN sys_user_cash_account suca ON sbi.user_id_ = suca.user_id_
 		<include refid="queryStatisticsSql"/>
 		<include refid="global.limit"/>
 	</select>
@@ -294,12 +283,7 @@
 		COUNT(CASE WHEN ss.over_course_num_ > 0 AND (ss.sub_course_num_ > 0 OR ss.no_schedule_num_ > 0) AND ss.lately_year_course_consumer_ &lt;= 0 AND ss.no_schedule_num_ &lt;= 0 THEN 1 ELSE NULL END) 'sleepStudentNoNotSchedule',
 		COUNT(CASE WHEN (ss.no_schedule_num_ > 0 OR ss.sub_course_num_ > 0) AND (ss.lately_year_course_consumer_ > 0 OR ss.over_course_num_ &lt;= 0) THEN 1 ELSE NULL END) 'normalStudentNum',
 		COUNT(CASE WHEN ((ss.no_schedule_num_ > 0 OR ss.sub_course_num_ > 0) AND (ss.lately_year_course_consumer_ > 0 OR ss.over_course_num_ &lt;= 0)) AND ss.normal_group_num_ > 0 THEN 1 ELSE NULL END) 'normalStudentHasNormalGroupNum',
-		<if test="groupType == 'PRACTICE'">
-			COUNT(CASE WHEN ss.no_schedule_num_ &lt;= 0 AND ss.sub_course_num_ &lt;= 0 AND ss.over_course_num_ > 0 THEN 1 ELSE NULL END) 'hasCourseBalanceAndNotSubCourseNum',
-		</if>
-		<if test="groupType != 'PRACTICE'">
-			COUNT(CASE WHEN suca.course_balance_ > 0 AND ss.sub_course_num_ &lt;= 0 AND ss.no_schedule_num_ &lt;= 0 THEN 1 ELSE NULL END) 'hasCourseBalanceAndNotSubCourseNum',
-		</if>
+		COUNT(CASE WHEN suca.course_balance_ > 0 AND ss.sub_course_num_ &lt;= 0 AND ss.no_schedule_num_ &lt;= 0 THEN 1 ELSE NULL END) 'hasCourseBalanceAndNotSubCourseNum',
 		COUNT(CASE WHEN ((ss.no_schedule_num_ > 0 OR ss.sub_course_num_ > 0) AND (ss.lately_year_course_consumer_ > 0 OR ss.over_course_num_ &lt;= 0)) AND ss.no_schedule_num_ > 0 THEN 1 ELSE NULL END) 'normalStudentHasNoScheduleNum',
 		COUNT(CASE WHEN (ss.no_schedule_num_ + ss.sub_course_num_) &lt; 4 THEN 1 ELSE NULL END) 'waitRenewNum',
 		SUM(ss.sub_course_num_) 'subCourseNum',
@@ -308,12 +292,7 @@
 		LEFT JOIN sys_user_cash_account suca ON ss.user_id_ = suca.user_id_
 		LEFT JOIN student_basic_info sbi ON ss.user_id_ = sbi.user_id_
 		WHERE ss.group_type_ = #{groupType}
-		<if test="groupType != 'PRACTICE'">
-			AND (ss.over_course_num_ > 0 OR ss.sub_course_num_ > 0 OR ss.no_schedule_num_ > 0 OR suca.course_balance_ > 0)
-		</if>
-		<if test="groupType == 'PRACTICE'">
-			AND (ss.over_course_num_ > 0 OR ss.sub_course_num_ > 0 OR ss.no_schedule_num_ > 0)
-		</if>
+		AND (ss.over_course_num_ > 0 OR ss.sub_course_num_ > 0 OR ss.no_schedule_num_ > 0 OR suca.course_balance_ > 0)
 		<if test="organIdList != null and organIdList.size > 0">
 			AND sbi.organ_id_ IN
 			<foreach collection="organIdList" item="organId" open="(" close=")" separator=",">