zouxuan 4 vuotta sitten
vanhempi
commit
61bf0369a1

+ 13 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/MusicGroupPaymentCalenderStudentDetailDao.java

@@ -4,6 +4,7 @@ import com.ym.mec.biz.dal.entity.MusicGroupPaymentCalenderStudentDetail;
 import com.ym.mec.common.dal.BaseDAO;
 import org.apache.ibatis.annotations.Param;
 
+import java.math.BigDecimal;
 import java.util.List;
 
 public interface MusicGroupPaymentCalenderStudentDetailDao extends BaseDAO<Integer, MusicGroupPaymentCalenderStudentDetail> {
@@ -31,4 +32,16 @@ public interface MusicGroupPaymentCalenderStudentDetailDao extends BaseDAO<Integ
      * @param userId
      */
     List<MusicGroupPaymentCalenderStudentDetail>  findByBatchNoAndUserId(@Param("batchNo") String batchNo, @Param("userId") Integer userId);
+
+    /**
+     * 更新学员实际的缴费金额
+     * @param courseType
+     * @param batchNo
+     * @param studentIds
+     * @param courseCurrentPrice
+     */
+    void updateByCourseType(@Param("courseType") String courseType,
+                            @Param("batchNo") String batchNo,
+                            @Param("studentIds") List<Integer> studentIds,
+                            @Param("courseCurrentPrice") BigDecimal courseCurrentPrice);
 }

+ 10 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/MusicGroupPaymentStudentCourseDetailDao.java

@@ -103,4 +103,14 @@ public interface MusicGroupPaymentStudentCourseDetailDao extends BaseDAO<Long, M
     List<StudentSubTotalCourseTimesDto> queryStudentSubTotalCourseTimes(@Param("musicGroupId") String musicGroupId);
 
     List<MusicGroupPaymentStudentCourseDetail> findByCalenderAndUserId(@Param("calenderId") Long calenderId, @Param("userId") Integer userId);
+
+    /**
+     * 更新学员实际缴费金额
+     * @param courseType
+     * @param musicGroupPaymentCalenderIds
+     * @param courseCurrentPrice
+     */
+    void updateByCourseType(@Param("courseType") String courseType,
+                            @Param("musicGroupPaymentCalenderIds") String musicGroupPaymentCalenderIds,
+                            @Param("courseCurrentPrice") BigDecimal courseCurrentPrice);
 }

+ 42 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupPaymentCalenderDetailServiceImpl.java

@@ -56,6 +56,9 @@ public class MusicGroupPaymentCalenderDetailServiceImpl extends BaseServiceImpl<
 	
 	@Autowired
 	private MusicGroupPaymentStudentCourseDetailDao musicGroupPaymentStudentCourseDetailDao;
+
+	@Autowired
+	private MusicGroupPaymentCalenderStudentDetailDao musicGroupPaymentCalenderStudentDetailDao;
 	
 	@Autowired
 	private MusicGroupDao musicGroupDao;
@@ -106,6 +109,44 @@ public class MusicGroupPaymentCalenderDetailServiceImpl extends BaseServiceImpl<
 //				throw new BizException("修改失败:存在未开启缴费的学员");
 //			}
 //		}
+		if(expectAmount.doubleValue() > 0){
+			BigDecimal totalAmount = calender.getPaymentAmount().add(calender.getMemberPaymentAmount());
+			BigDecimal subExpectAmount = expectAmount;
+			if(calender.getPaymentType() == MusicGroupPaymentCalender.PaymentType.SPAN_GROUP_CLASS_ADJUST){
+				List<MusicGroupPaymentCalenderStudentDetail> studentDetails = musicGroupPaymentCalenderStudentDetailDao.findByBatchNoAndUserId(calender.getBatchNo(), calenderDetails.get(0).getUserId());
+				if(studentDetails.size() == 0){
+					throw new BizException("修改失败:缴费项目数据异常");
+				}
+				List<Integer> studentIds = calenderDetails.stream().map(e -> e.getUserId()).collect(Collectors.toList());
+				for (int i = 0; i < studentDetails.size(); i++) {
+					MusicGroupPaymentCalenderStudentDetail studentDetail = studentDetails.get(i);
+					if(i == studentDetails.size() - 1){
+						musicGroupPaymentCalenderStudentDetailDao.updateByCourseType(studentDetail.getCourseType(),calender.getBatchNo(),studentIds,subExpectAmount);
+					}else {
+						BigDecimal divide = studentDetail.getCourseCurrentPrice().divide(totalAmount, BigDecimal.ROUND_DOWN);
+						BigDecimal courseAmount = divide.multiply(expectAmount).setScale(0, BigDecimal.ROUND_DOWN);
+						subExpectAmount = expectAmount.subtract(courseAmount);
+						musicGroupPaymentCalenderStudentDetailDao.updateByCourseType(studentDetail.getCourseType(),calender.getBatchNo(),studentIds,courseAmount);
+					}
+				}
+			}else {
+				List<MusicGroupPaymentCalenderCourseSettings> courseSettingsList = musicGroupPaymentCalenderCourseSettingsDao.getWithPaymentCalender(calender.getId());
+				if(courseSettingsList.size() == 0){
+					throw new BizException("修改失败:缴费项目数据异常");
+				}
+				for (int i = 0; i < courseSettingsList.size(); i++) {
+					MusicGroupPaymentCalenderCourseSettings courseSettings = courseSettingsList.get(i);
+					if(i == courseSettingsList.size() - 1){
+						musicGroupPaymentStudentCourseDetailDao.updateByCourseType(courseSettings.getCourseType().getCode(),ids,subExpectAmount);
+					}else {
+						BigDecimal divide = courseSettings.getCourseCurrentPrice().divide(totalAmount, BigDecimal.ROUND_DOWN);
+						BigDecimal courseAmount = divide.multiply(expectAmount).setScale(0, BigDecimal.ROUND_DOWN);
+						subExpectAmount = expectAmount.subtract(courseAmount);
+						musicGroupPaymentStudentCourseDetailDao.updateByCourseType(courseSettings.getCourseType().getCode(),ids,courseAmount);
+					}
+				}
+			}
+		}
 		//为了解决学员欠费数量的问题,只要学员没有缴费就可以修改金额
 		Set<Integer> studentIds = new HashSet<>();
 		for (MusicGroupPaymentCalenderDetail e : calenderDetails) {
@@ -115,6 +156,7 @@ public class MusicGroupPaymentCalenderDetailServiceImpl extends BaseServiceImpl<
 			e.setUpdateTime(date);
 			e.setExpectAmount(expectAmount);
 			e.setExpectMemberAmount(expectMemberAmount);
+
 			if(expectAmount.doubleValue() > 0 || expectMemberAmount.doubleValue() > 0){
 				if((e.getOpen() != null && e.getOpen() == 1) || calender.getStatus() == PaymentCalenderStatusEnum.OPEN){
 					studentIds.add(e.getUserId());

+ 5 - 5
mec-biz/src/main/resources/config/mybatis/ClassGroupMapper.xml

@@ -270,7 +270,7 @@
         LEFT JOIN class_group cg ON cg.id_ = cgtm.class_group_id_
         LEFT JOIN teacher t ON t.id_ = cgtm.user_id_
         LEFT JOIN course_schedule cs ON (FIND_IN_SET(cs.class_group_id_,cg.id_) AND CONCAT(cs.class_date_,' ',cs.start_class_time_) > NOW())
-        WHERE cgtm.user_id_ = #{search} AND cg.del_flag_ = 0 AND cg.group_type_ = 'MUSIC'
+        WHERE cgtm.user_id_ = #{search} AND cg.del_flag_ = 0 AND cg.group_type_ = 'MUSIC' AND cs.pre_course_flag_ = 0
         <if test="status != null">
             AND mg.status_ = #{status}
         </if>
@@ -662,7 +662,7 @@
             LEFT JOIN music_group mg ON cg.music_group_id_ = mg.id_
             LEFT JOIN school s ON mg.school_id_ = s.id_
         WHERE
-            csts.user_id_ = #{teacherId}
+            csts.user_id_ = #{teacherId} AND cs.pre_course_flag_ = 0
             AND cg.group_type_='MUSIC'
             AND cg.del_flag_ = 0
             AND cs.del_flag_ = 0
@@ -817,7 +817,7 @@
 
     <sql id="queryMusicGroupCourseScheduleSql">
         <where>
-            cs.group_type_ = 'MUSIC' AND cs.del_flag_ = 0
+            cs.group_type_ = 'MUSIC' AND cs.del_flag_ = 0 AND cs.pre_course_flag_ = 0
             <if test="startTime != null">
                 AND cs.class_date_ &gt;= #{startTime}
             </if>
@@ -832,7 +832,7 @@
 
     <sql id="queryMusicGroupCourseScheduleDetailSql">
         <where>
-            (ta.teacher_id_ = cs.actual_teacher_id_ OR ta.id_ IS NULL) AND cs.group_type_ = 'MUSIC' AND cs.del_flag_ = 0
+            (ta.teacher_id_ = cs.actual_teacher_id_ OR ta.id_ IS NULL) AND cs.group_type_ = 'MUSIC' AND cs.del_flag_ = 0 AND cs.pre_course_flag_ = 0
             <if test="classScheduleType != null">
                 AND cs.type_ = #{classScheduleType}
             </if>
@@ -1519,6 +1519,6 @@
         WHERE pg.educational_teacher_id_ = #{userId} AND cg.group_type_ = 'PRACTICE' AND cg.del_flag_ = 0
     </select>
     <select id="countCourseNum" resultType="int">
-        SELECT COUNT(id_) FROM course_schedule WHERE class_group_id_ = #{classGroupId} AND teach_mode_ = #{teachMode}
+        SELECT COUNT(id_) FROM course_schedule WHERE class_group_id_ = #{classGroupId} AND teach_mode_ = #{teachMode} AND pre_course_flag_ = 0
     </select>
 </mapper>

+ 1 - 1
mec-biz/src/main/resources/config/mybatis/EmployeeMapper.xml

@@ -294,7 +294,7 @@
         SELECT COUNT(DISTINCT cs.id_)
         FROM course_schedule_teacher_salary csts
         LEFT JOIN course_schedule cs ON cs.id_ = csts.course_schedule_id_
-        AND CONCAT(cs.class_date_,' ',cs.start_class_time_) > NOW() AND cs.del_flag_ = 0
+        AND CONCAT(cs.class_date_,' ',cs.start_class_time_) > NOW() AND cs.del_flag_ = 0 AND cs.pre_course_flag_ = 0
         WHERE csts.user_id_ = #{employeeId}
     </select>
 

+ 1 - 1
mec-biz/src/main/resources/config/mybatis/InspectionItemPlanConclusionMapper.xml

@@ -100,7 +100,7 @@
         LEFT JOIN course_schedule cs ON iipc.course_schedule_id_ = cs.id_
         LEFT JOIN class_group cg ON cg.id_=cs.class_group_id_
         LEFT JOIN sys_user su on su.id_ = iipc.teacher_id_
-        WHERE iipc.plan_id_=#{planId}
+        WHERE iipc.plan_id_=#{planId} AND cs.pre_course_flag_ = 0
         <if test="checkItem != null">
             AND iipc.check_item_ = #{checkItem}
         </if>

+ 2 - 2
mec-biz/src/main/resources/config/mybatis/MusicGroupMapper.xml

@@ -410,7 +410,7 @@
         left join music_group mg on cg.music_group_id_ = mg.id_
         where cs.group_type_ = 'MUSIC' AND cg.group_type_ = 'MUSIC'
         and DATE_FORMAT(cs.class_date_, '%Y%m' ) = DATE_FORMAT(CURDATE() , '%Y%m') and (cs.del_flag_ = 0 or cs.del_flag_
-        is null) and mg.organ_id_ not in (36,38)
+        is null) and mg.organ_id_ not in (36,38) AND cs.pre_course_flag_ = 0
         <if test="organId != null">
             AND FIND_IN_SET(mg.organ_id_,#{organId})
         </if>
@@ -616,7 +616,7 @@
         FROM course_schedule cs
                      LEFT JOIN music_group mg ON mg.id_ = cs.music_group_id_
         WHERE cs.actual_teacher_id_ = #{teacherId}
-          AND cs.group_type_ = 'MUSIC'
+          AND cs.group_type_ = 'MUSIC' AND cs.pre_course_flag_ = 0
         GROUP BY mg.id_
     </select>
     <select id="queryUserMusicInfos" resultMap="queryUserMusicGroupsMap">

+ 8 - 0
mec-biz/src/main/resources/config/mybatis/MusicGroupPaymentCalenderStudentDetailMapper.xml

@@ -116,6 +116,14 @@
 			WHERE id_ = #{item.id}
 		</foreach>
 	</update>
+	<update id="updateByCourseType">
+		UPDATE music_group_payment_calender_student_detail
+		SET course_current_price_ = #{courseCurrentPrice},update_time_ = NOW()
+		WHERE course_type_ = #{courseType} AND batch_no_ = #{batchNo} AND user_id_ IN
+		<foreach collection="studentIds" separator="," item="userId" open="(" close=")">
+			#{userId}
+		</foreach>
+	</update>
 
 	<select id="findByBatchNo" resultMap="MusicGroupPaymentCalenderStudentDetail">
 		SELECT * FROM music_group_payment_calender_student_detail where batch_no_ = #{batchNo}

+ 9 - 1
mec-biz/src/main/resources/config/mybatis/MusicGroupPaymentStudentCourseDetailMapper.xml

@@ -127,6 +127,11 @@
             WHERE id_ = #{paymentCourseDetail.id}
         </foreach>
     </update>
+    <update id="updateByCourseType">
+        UPDATE music_group_payment_student_course_detail
+        SET course_current_price_ = #{courseCurrentPrice},update_time_ = NOW()
+        WHERE course_type_ = #{courseType} AND FIND_IN_SET(music_group_payment_calender_detail_id_,#{musicGroupPaymentCalenderIds})
+    </update>
 
     <!-- 根据主键删除一条记录 -->
     <delete id="delete">
@@ -259,6 +264,9 @@
         GROUP BY mgpscd.user_id_,mgpscd.course_type_
     </select>
     <select id="findByCalenderAndUserId" resultMap="MusicGroupPaymentStudentCourseDetail">
-        SELECT * FROM music_group_payment_student_course_detail WHERE music_group_payment_calender_id_ = #{calenderId} AND user_id_ = #{userId}
+        SELECT * FROM music_group_payment_student_course_detail WHERE music_group_payment_calender_id_ = #{calenderId}
+        <if test="userId != null">
+            AND user_id_ = #{userId}
+        </if>
     </select>
 </mapper>

+ 11 - 9
mec-biz/src/main/resources/config/mybatis/StudentAttendanceMapper.xml

@@ -275,7 +275,7 @@
 
     <sql id="queryCondition">
         <where>
-            (cs.del_flag_ != 1 OR cs.del_flag_ IS NULL)
+            (cs.del_flag_ != 1 OR cs.del_flag_ IS NULL) AND cs.pre_course_flag_ = 0
             <if test="studentID != null">
                 and sa.user_id_ = #{studentID}
             </if>
@@ -338,7 +338,7 @@
             student_attendance sa
             LEFT JOIN course_schedule cs ON sa.course_schedule_id_=cs.id_
             WHERE
-            (cs.del_flag_ != 1 OR cs.del_flag_ IS NULL)
+            (cs.del_flag_ != 1 OR cs.del_flag_ IS NULL) AND cs.pre_course_flag_ = 0
             AND sa.class_group_id_=#{classGroupId}
             AND sa.user_id_ IN
             <foreach collection="userIds" item="userId" open="(" close=")" separator=",">
@@ -466,11 +466,12 @@
         cs.actual_teacher_id_ teacher_id_,cs.class_date_ ,cs.start_class_time_,cs.end_class_time_ ,cs.new_course_id_,
         CASE WHEN sa.visit_flag_ IS NULL THEN 0 ELSE sa.visit_flag_ END visitFlag,
         CASE WHEN sa.status_ IS NULL OR sa.status_ = 'TRUANT' THEN '1LEAVE' ELSE sa.status_ END status_1
-        FROM course_schedule_student_payment cssp left join course_schedule cs on cs.id_ = cssp.course_schedule_id_
-        left join student_attendance sa on cssp.course_schedule_id_ = sa.course_schedule_id_ and cssp.user_id_ = sa.user_id_
+        FROM course_schedule_student_payment cssp
+        LEFT JOIN course_schedule cs on cs.id_ = cssp.course_schedule_id_
+        LEFT JOIN student_attendance sa on cssp.course_schedule_id_ = sa.course_schedule_id_ and cssp.user_id_ = sa.user_id_
         LEFT JOIN sys_user su ON cssp.user_id_ = su.id_
-        left join sys_user tu on tu.id_ = cs.actual_teacher_id_
-        left join organization o on o.id_ = cs.organ_id_
+        LEFT JOIN sys_user tu on tu.id_ = cs.actual_teacher_id_
+        LEFT JOIN organization o on o.id_ = cs.organ_id_
         <include refid="findStudentAttendanceSql"/>
         GROUP BY cssp.id_
         ORDER BY
@@ -482,7 +483,7 @@
     </select>
     <sql id="findStudentAttendanceSql">
         <where>
-            cs.del_flag_ = 0
+            cs.del_flag_ = 0 AND cs.pre_course_flag_ = 0
             <if test="visitFlag != null">
                 <if test="visitFlag == 1">
                     AND sa.visit_flag_ = 1
@@ -596,6 +597,7 @@
     </select>
     <sql id="exportStudentAttendancesQueryPageSql">
         <where>
+                cs.pre_course_flag_ = 0
             <if test="organId != null and organId != ''">
                 AND FIND_IN_SET(cs.organ_id_,#{organId})
             </if>
@@ -650,7 +652,7 @@
     <select id="getLeaveNum" resultType="java.lang.Integer">
         SELECT COUNT(sa.id_) FROM student_attendance sa
         LEFT JOIN course_schedule cs ON cs.id_ = sa.course_schedule_id_
-        WHERE DATE_FORMAT(cs.class_date_,'%Y-%m') = #{month} AND sa.user_id_ = #{userId} AND sa.status_ = 'LEAVE'
+        WHERE DATE_FORMAT(cs.class_date_,'%Y-%m') = #{month} AND sa.user_id_ = #{userId} AND sa.status_ = 'LEAVE' AND cs.pre_course_flag_ = 0
         <if test="attendanceId != null">
             AND sa.id_ != #{attendanceId}
         </if>
@@ -658,7 +660,7 @@
     <select id="queryLeaveNum" resultType="java.util.Map">
         SELECT sa.user_id_ 'key',COUNT(sa.id_) 'value' FROM student_attendance sa
         LEFT JOIN course_schedule cs ON cs.id_ = sa.course_schedule_id_
-        WHERE sa.status_ = 'LEAVE' AND DATE_FORMAT(cs.class_date_,'%Y-%m') = #{month}
+        WHERE sa.status_ = 'LEAVE' AND DATE_FORMAT(cs.class_date_,'%Y-%m') = #{month} AND cs.pre_course_flag_ = 0
         AND sa.user_id_ IN
         <foreach collection="userIds" item="userId" separator="," open="(" close=")">
             #{userId}

+ 2 - 2
mec-biz/src/main/resources/config/mybatis/StudentCourseHomeworkMapper.xml

@@ -162,7 +162,7 @@
 
     <sql id="queryCondition">
         <where>
-            (cs.del_flag_ != 1 OR cs.del_flag_ IS NULL)
+            (cs.del_flag_ != 1 OR cs.del_flag_ IS NULL) AND cs.pre_course_flag_ = 0
             <if test="createTime != null">
                 AND DATE_FORMAT(ch.create_time_,"%Y%m%d") = DATE_FORMAT(#{createTime},"%Y%m%d")
             </if>
@@ -357,7 +357,7 @@
         LEFT JOIN course_homework ch ON ch.id_ = sch.course_homework_id_
         LEFT JOIN course_schedule cs ON cs.id_ = sch.course_schedule_id_
         LEFT JOIN sys_user su ON su.id_ = cs.actual_teacher_id_
-        WHERE sch.user_id_=#{userId}
+        WHERE sch.user_id_=#{userId} AND cs.pre_course_flag_ = 0
         AND DATE_FORMAT(class_date_, '%Y-%m')=DATE_FORMAT(#{classDate}, '%Y-%m')
         ORDER BY CONCAT(cs.class_date_,' ',cs.start_class_time_) DESC
         <include refid="global.limit"/>

+ 6 - 6
mec-biz/src/main/resources/config/mybatis/StudentManageDao.xml

@@ -279,7 +279,7 @@
 
     <sql id="studentManageCourseQueryCondition">
         <where>
-            (cs.del_flag_ != 1 OR cs.del_flag_ IS NULL)
+            (cs.del_flag_ != 1 OR cs.del_flag_ IS NULL) AND cs.pre_course_flag_ = 0
             AND cgsm.status_ != 'QUIT'
             <if test="studentId!=null">
                 and cgsm.user_id_ = #{studentId}
@@ -333,7 +333,7 @@
 
     <sql id="studentManageAttendanceQueryCondition">
         <where>
-            (cs.del_flag_ != 1 OR cs.del_flag_ IS NULL)
+            (cs.del_flag_ != 1 OR cs.del_flag_ IS NULL) AND cs.pre_course_flag_ = 0
             <if test="studentId!=null">
                 AND cssp.user_id_ = #{studentId}
             </if>
@@ -434,7 +434,7 @@
     </select>
     <sql id="studentPaymentSql">
         <where>
-            (cs.del_flag_ != 1 OR cs.del_flag_ IS NULL)
+            (cs.del_flag_ != 1 OR cs.del_flag_ IS NULL) AND cs.pre_course_flag_ = 0
             AND cs.id_ IS NOT NULL AND CONCAT(cs.class_date_,' ',cs.start_class_time_) &lt; NOW()
             <if test="classGroupType != null">
                 AND cs.type_ = #{classGroupType}
@@ -604,7 +604,7 @@
 
     <sql id="queryMusicGroupStudentsSignSql">
         <where>
-            (cs.del_flag_ != 1 OR cs.del_flag_ IS NULL)
+            (cs.del_flag_ != 1 OR cs.del_flag_ IS NULL) AND cs.pre_course_flag_ = 0
             <if test="musicGroupId != null">
                 AND sa.music_group_id_ = #{musicGroupId}
             </if>
@@ -756,7 +756,7 @@
         LEFT JOIN course_schedule_student_payment cssp1 ON su.id_ = cssp1.user_id_ AND cssp1.group_type_ = 'PRACTICE'
         LEFT JOIN class_group_student_mapper cgsm ON su.id_ = cgsm.user_id_ AND cgsm.group_type_ = 'VIP'
         LEFT JOIN sys_user_cash_account suca ON su.id_ = suca.user_id_
-        WHERE su.user_type_ LIKE '%STUDENT%'
+        WHERE su.user_type_ LIKE '%STUDENT%' AND cs.pre_course_flag_ = 0
         <if test="hasPracticeCourse != null and hasPracticeCourse == true">
             AND cssp1.id_ IS NOT NULL
         </if>
@@ -868,7 +868,7 @@
         SELECT su.id_ 'key',COUNT(DISTINCT su.id_) 'value' FROM sys_user su
         LEFT JOIN course_schedule_student_payment cssp ON cssp.user_id_ = su.id_
         LEFT JOIN course_schedule cs ON cs.id_ = cssp.course_schedule_id_
-        WHERE cs.status_ != 'OVER' AND su.id_ IN
+        WHERE cs.status_ != 'OVER' AND cs.pre_course_flag_ = 0 AND su.id_ IN
         <foreach collection="userIds" item="userId" open="(" close=")" separator=",">
             #{userId}
         </foreach>

+ 2 - 2
mec-biz/src/main/resources/config/mybatis/TeacherAttendanceMapper.xml

@@ -254,7 +254,7 @@
 
     <sql id="queryCondition">
         <where>
-            (cs.del_flag_ != 1 OR cs.del_flag_ IS NULL) AND cs.actual_teacher_id_ = ta.teacher_id_
+            (cs.del_flag_ != 1 OR cs.del_flag_ IS NULL) AND cs.actual_teacher_id_ = ta.teacher_id_ AND cs.pre_course_flag_ = 0
             <if test="teacherId != null">
                 AND cs.actual_teacher_id_ = #{teacherId}
             </if>
@@ -286,7 +286,7 @@
     </sql>
     <sql id="queryTeacherAttendancesCondition">
         <where>
-            cs.del_flag_ = 0
+            cs.del_flag_ = 0 AND cs.pre_course_flag_ = 0
             AND (cs.new_course_id_ IS NULL OR cs.new_course_id_=cs.id_)
             <if test="search != null and search != ''">
                 AND (su.id_ = #{search} OR su.real_name_ LIKE CONCAT('%',#{search},'%') OR cs.id_ = #{search} OR cs.name_ LIKE CONCAT('%',#{search},'%'))

+ 3 - 2
mec-biz/src/main/resources/config/mybatis/TeacherCourseStatisticsMapper.xml

@@ -95,7 +95,7 @@
                 ROUND( AVG( TIMESTAMPDIFF( MINUTE, start_class_time_, end_class_time_ )), 0 ) average_class_minutes_
             FROM course_schedule_teacher_salary csts
                      LEFT JOIN course_schedule cs ON cs.id_=csts.course_schedule_id_
-            WHERE cs.del_flag_ != 1
+            WHERE cs.del_flag_ != 1 AND cs.pre_course_flag_ = 0
               AND cs.class_date_ >= #{startDate} AND cs.class_date_ <= #{endDate}
               AND csts.group_type_ IN ( 'VIP', 'MUSIC', 'PRACTICE' )
             GROUP BY
@@ -113,7 +113,8 @@
         <foreach collection="userIds" item="userId" open="(" separator="," close=")">
             #{userId}
         </foreach>
-        <![CDATA[AND cs.class_date_ >= #{startDate} AND cs.class_date_ <= #{endDate} AND csts.group_type_ IN ('VIP', 'MUSIC', 'PRACTICE') AND cs.del_flag_ != 1
+        <![CDATA[AND cs.class_date_ >= #{startDate} AND cs.class_date_ <= #{endDate}
+        AND csts.group_type_ IN ('VIP', 'MUSIC', 'PRACTICE') AND cs.del_flag_ != 1 AND cs.pre_course_flag_ = 0
         GROUP BY csts.user_id_, csts.group_type_;
   ]]></select>