Browse Source

首页异常数据调整

zouxuan 2 years ago
parent
commit
684e261e0f

+ 7 - 4
mec-biz/src/main/resources/config/mybatis/IndexBaseMonthDataMapper.xml

@@ -834,7 +834,10 @@
 			COUNT(DISTINCT mgpc.music_group_id_,mgpcd.user_id_)
 		FROM
 		music_group_payment_calender_detail mgpcd
-		LEFT JOIN music_group_payment_student_course_detail mgpsc ON mgpsc.music_group_payment_calender_id_ = mgpcd.music_group_payment_calender_id_ and mgpcd.user_id_ = mgpsc.user_id_
+		<if test="hasCourse != null">
+			LEFT JOIN (select user_id_,SUM(used_course_minutes_) used_course_minutes_,music_group_payment_calender_id_ from music_group_payment_student_course_detail group by music_group_payment_calender_id_,user_id_) mgpsc
+			ON mgpsc.music_group_payment_calender_id_ = mgpcd.music_group_payment_calender_id_ and mgpcd.user_id_ = mgpsc.user_id_
+		</if>
 		LEFT JOIN music_group_payment_calender mgpc ON mgpcd.music_group_payment_calender_id_ = mgpc.id_
 		LEFT JOIN music_group mg ON mgpc.music_group_id_ = mg.id_
 		LEFT JOIN student_registration sr ON sr.music_group_id_ = mgpc.music_group_id_ AND mgpcd.user_id_ = sr.user_id_
@@ -1062,7 +1065,7 @@
 		LEFT JOIN course_schedule_student_payment cssp ON cssp.course_schedule_id_ = cs.id_
 		LEFT JOIN student_attendance sa ON sa.course_schedule_id_ = cssp.course_schedule_id_ AND cssp.user_id_ = sa.user_id_
 		WHERE ta.teacher_id_ = cs.actual_teacher_id_ and cs.tenant_id_ = #{tenantId}
-		AND cs.status_ = 'OVER' AND cs.del_flag_ = 0 AND cs.class_date_ >= '2021-02-01' AND cs.pre_course_flag_ = 0
+		AND cs.status_ = 'OVER' AND cs.del_flag_ = 0 AND cs.class_date_ >= #{startTime} AND cs.pre_course_flag_ = 0
 		AND (((ta.sign_in_status_ = 0 OR ta.sign_in_status_ IS NULL OR ta.sign_out_status_ = 0 OR ta.sign_out_status_ IS NULL) AND ta.dispose_content_ IS NULL) OR (sa.id_ IS NULL OR (sa.status_ = 'TRUANT' AND sa.visit_flag_ = 0)))
 		AND ((ta.sign_in_status_ IS NULL AND ta.sign_out_status_ IS NOT NULL) OR (ta.sign_out_status_ IS NULL AND ta.sign_in_status_ IS NOT NULL) OR (ta.sign_out_status_ IS NOT NULL AND ta.sign_in_status_ IS NOT NULL))
 		AND (cs.new_course_id_ IS NULL OR cs.new_course_id_=cs.id_) AND cssp.id_ IS NOT NULL
@@ -1086,7 +1089,7 @@
 		SELECT COUNT(DISTINCT cs.id_) FROM course_schedule cs
 		LEFT JOIN teacher_attendance ta ON ta.course_schedule_id_ = cs.id_
 		WHERE ta.teacher_id_ = cs.actual_teacher_id_ and cs.tenant_id_ = #{tenantId}
-		AND cs.status_ = 'OVER' AND cs.del_flag_ = 0 AND cs.class_date_>='2021-02-01' AND cs.pre_course_flag_ = 0
+		AND cs.status_ = 'OVER' AND cs.del_flag_ = 0 AND cs.class_date_>=#{startTime} AND cs.pre_course_flag_ = 0
 		AND ta.sign_in_time_ IS NULL AND ta.sign_out_time_ IS NULL AND ta.dispose_content_ IS NULL
 		AND (cs.new_course_id_ IS NULL OR cs.new_course_id_ = cs.id_)
 		AND EXISTS (SELECT id_ FROM course_schedule_teacher_salary WHERE cs.id_=course_schedule_id_ AND settlement_time_ IS NULL)
@@ -1111,7 +1114,7 @@
 		FROM course_schedule cs
 		LEFT JOIN teacher_attendance ta ON ta.course_schedule_id_ = cs.id_
 		WHERE ta.teacher_id_ = cs.actual_teacher_id_ and cs.tenant_id_ = #{tenantId}
-		AND cs.status_ = 'OVER' AND cs.del_flag_ = 0 AND cs.class_date_>='2021-02-01' AND cs.pre_course_flag_ = 0
+		AND cs.status_ = 'OVER' AND cs.del_flag_ = 0 AND cs.class_date_>=#{startTime} AND cs.pre_course_flag_ = 0
 		AND ta.sign_in_time_ IS NULL AND ta.sign_out_time_ IS NULL AND ta.dispose_content_ IS NULL
 		AND (cs.new_course_id_ IS NULL OR cs.new_course_id_ = cs.id_)
 		AND EXISTS (SELECT id_ FROM course_schedule_teacher_salary WHERE cs.id_=course_schedule_id_ AND settlement_time_ IS NULL)

+ 35 - 32
mec-biz/src/main/resources/config/mybatis/MusicGroupPaymentCalenderDetailMapper.xml

@@ -385,6 +385,40 @@
 		SELECT user_id_ FROM music_group_payment_calender_detail WHERE music_group_payment_calender_id_ = #{calenderId} AND payment_status_ = 'NON_PAYMENT'
 	</select>
 
+	<select id="queryArrearageStudents" resultMap="MusicArrearageStudentDto">
+		SELECT
+		mgpcd.user_id_,
+		mgpc.current_total_amount_ no_payment_amount_,
+		su.username_ student_name_,
+		organ.name_ organ_name_,
+		co.name_ cooperation_name_,
+		mgpc.music_group_id_,
+		mg.name_ music_group_name_,
+		edu.real_name_ edu_teacher_name_,
+		MAX( sub.name_ ) subject_name_,
+		su.gender_ gender_,
+		sut.name_ parent_name_,
+		su.phone_ phone_
+		FROM
+		music_group_payment_calender_detail mgpcd
+		<if test="hasCourse != null">
+			LEFT JOIN (select user_id_,SUM(used_course_minutes_) used_course_minutes_,music_group_payment_calender_id_ from music_group_payment_student_course_detail group by music_group_payment_calender_id_,user_id_) mgpsc
+			ON mgpsc.music_group_payment_calender_id_ = mgpcd.music_group_payment_calender_id_ and mgpcd.user_id_ = mgpsc.user_id_
+		</if>
+		LEFT JOIN music_group_payment_calender mgpc ON mgpcd.music_group_payment_calender_id_ = mgpc.id_
+		LEFT JOIN music_group mg ON mgpc.music_group_id_ = mg.id_
+		LEFT JOIN student_registration sr ON sr.music_group_id_ = mgpc.music_group_id_ AND mgpcd.user_id_ = sr.user_id_
+		LEFT JOIN sys_user su ON mgpcd.user_id_ = su.id_
+		LEFT JOIN sys_user_tsign sut ON sut.user_id_ = su.id_
+		LEFT JOIN sys_user edu ON edu.id_ = mg.educational_teacher_id_
+		LEFT JOIN organization organ ON organ.id_ = mg.organ_id_
+		LEFT JOIN `subject` sub ON sr.actual_subject_id_ = sub.id_
+		LEFT JOIN cooperation_organ co ON mg.cooperation_organ_id_ = co.id_
+		<include refid="queryArrearageStudentsCondition"/>
+		GROUP BY
+		mgpc.music_group_id_,mgpcd.user_id_
+		<include refid="global.limit" />
+	</select>
 	<select id="queryNoPaymentAndNotZeroStudent" resultType="java.util.Map">
 		SELECT mgpcd.user_id_ 'key',su.phone_ 'value' FROM music_group_payment_calender_detail mgpcd
 		LEFT JOIN sys_user su ON su.id_ = mgpcd.user_id_
@@ -396,6 +430,7 @@
 			</foreach>
 		</if>
     </select>
+
 	<select id="queryNoPaymentTotalAmount" resultType="java.util.Map">
 		SELECT mgpcd.user_id_ 'key',SUM(mgpc.current_total_amount_) 'value' FROM music_group_payment_calender_detail mgpcd
 		LEFT JOIN music_group_payment_calender mgpc ON mgpcd.music_group_payment_calender_id_ = mgpc.id_
@@ -471,38 +506,6 @@
 		</where>
 	</sql>
 
-    <select id="queryArrearageStudents" resultMap="MusicArrearageStudentDto">
-		SELECT
-			mgpcd.user_id_,
-			mgpc.current_total_amount_ no_payment_amount_,
-			su.username_ student_name_,
-			organ.name_ organ_name_,
-			co.name_ cooperation_name_,
-		    mgpc.music_group_id_,
-			mg.name_ music_group_name_,
-			edu.real_name_ edu_teacher_name_,
-			MAX( sub.name_ ) subject_name_,
-			su.gender_ gender_,
-			sut.name_ parent_name_,
-			su.phone_ phone_
-		FROM
-			music_group_payment_calender_detail mgpcd
-			LEFT JOIN music_group_payment_student_course_detail mgpsc ON mgpsc.music_group_payment_calender_id_ = mgpcd.music_group_payment_calender_id_ and mgpcd.user_id_ = mgpsc.user_id_
-			LEFT JOIN music_group_payment_calender mgpc ON mgpcd.music_group_payment_calender_id_ = mgpc.id_
-			LEFT JOIN music_group mg ON mgpc.music_group_id_ = mg.id_
-			LEFT JOIN student_registration sr ON sr.music_group_id_ = mgpc.music_group_id_ AND mgpcd.user_id_ = sr.user_id_
-			LEFT JOIN sys_user su ON mgpcd.user_id_ = su.id_
-			LEFT JOIN sys_user_tsign sut ON sut.user_id_ = su.id_
-			LEFT JOIN sys_user edu ON edu.id_ = mg.educational_teacher_id_
-			LEFT JOIN organization organ ON organ.id_ = mg.organ_id_
-			LEFT JOIN `subject` sub ON sr.actual_subject_id_ = sub.id_
-			LEFT JOIN cooperation_organ co ON mg.cooperation_organ_id_ = co.id_
-		<include refid="queryArrearageStudentsCondition"/>
-		GROUP BY
-			mgpc.music_group_id_,mgpcd.user_id_
-		<include refid="global.limit" />
-	</select>
-
 	<select id="countArrearageStudents" resultType="int">
 		SELECT
 			COUNT(DISTINCT mgpc.music_group_id_,mgpcd.user_id_)