Przeglądaj źródła

云教练作业优化

zouxuan 3 lat temu
rodzic
commit
77ecdc55a9

+ 8 - 1
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/StudentExtracurricularExercisesSituationDao.java

@@ -152,5 +152,12 @@ public interface StudentExtracurricularExercisesSituationDao extends BaseDAO<Lon
      * @param teacherId
      * @return
      */
-    int countWaitCreateHomeworkNum(Integer teacherId);
+    int countWaitCreateHomeworkNum(@Param("teacherId") Integer teacherId, @Param("serverType") String serverType);
+
+    /**
+     *
+     * @param teacherId
+     * @return
+     */
+    int countWaitCreateHomeworkNum1(Integer teacherId);
 }

+ 5 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentExtracurricularExercisesSituationServiceImpl.java

@@ -540,6 +540,10 @@ public class StudentExtracurricularExercisesSituationServiceImpl extends BaseSer
 		if (sysUser == null) {
 			throw new BizException("用户信息获取失败");
 		}
-		return studentExtracurricularExercisesSituationDao.countWaitCreateHomeworkNum(sysUser.getId());
+		int exerciseNum = studentExtracurricularExercisesSituationDao.countWaitCreateHomeworkNum(sysUser.getId(), "EXERCISE");
+		if(exerciseNum > 0){
+			return exerciseNum;
+		}
+		return studentExtracurricularExercisesSituationDao.countWaitCreateHomeworkNum1(sysUser.getId());
 	}
 }

+ 17 - 0
mec-biz/src/main/resources/config/mybatis/StudentExtracurricularExercisesSituationMapper.xml

@@ -721,6 +721,7 @@
 		</foreach>
 		GROUP BY sees.monday_
 	</select>
+
 	<select id="queryCourseIdByClassDate" resultType="java.lang.Long">
 		SELECT DISTINCT csts.course_schedule_id_ FROM course_schedule_teacher_salary csts
 		LEFT JOIN course_schedule cs ON cs.id_ = csts.course_schedule_id_
@@ -728,8 +729,24 @@
 		WHERE csts.user_id_ = #{teacherId} AND cs.class_date_ BETWEEN #{firstDayOfMonth} AND #{lastDayOfMonth}
 		AND FIND_IN_SET(cs.id_,se.course_ids_) AND se.serve_type_ = 'HOMEWORK'
 	</select>
+
 	<select id="countWaitCreateHomeworkNum" resultType="java.lang.Integer">
 		SELECT COUNT(id_) FROM student_extracurricular_exercises_situation_ WHERE teacher_id_ = #{teacherId}
 		AND expect_exercises_num_ > actual_exercises_num_ AND DATE_FORMAT(NOW(), '%Y-%m-%d') BETWEEN monday_ AND sunday_
+		AND server_type_ = 'EXERCISE'
+	</select>
+	<select id="countWaitCreateHomeworkNum1" resultType="java.lang.Integer">
+		SELECT SUM(t.num_) FROM (
+		SELECT COUNT(se.id_) num_ FROM student_extracurricular_exercises_situation_ se
+		LEFT JOIN course_schedule cs ON FIND_IN_SET(cs.id_,se.course_ids_)
+		WHERE se.teacher_id_ = #{teacherId}
+		AND se.expect_exercises_num_ > se.actual_exercises_num_ AND DATE_FORMAT(NOW(), '%Y-%m-%d') BETWEEN se.monday_ AND se.sunday_
+		AND se.serve_type_ = 'HOMEWORK' AND cs.group_type_ = 'MUSIC' AND cs.class_date_ = DATE_FORMAT(NOW(), '%Y-%m-%d')
+		UNION ALL
+		SELECT COUNT(se.id_) num_ FROM student_extracurricular_exercises_situation_ se
+		LEFT JOIN course_schedule cs ON FIND_IN_SET(cs.id_,se.course_ids_)
+		WHERE se.teacher_id_ = #{teacherId}
+		AND se.expect_exercises_num_ > se.actual_exercises_num_ AND DATE_FORMAT(NOW(), '%Y-%m-%d') BETWEEN se.monday_ AND se.sunday_
+		AND se.serve_type_ = 'HOMEWORK' AND cs.group_type_ != 'MUSIC' AND cs.class_date_ &lt;= DATE_FORMAT(NOW(), '%Y-%m-%d'))t
 	</select>
 </mapper>