|
@@ -275,7 +275,7 @@
|
|
|
|
|
|
<sql id="queryCondition">
|
|
<sql id="queryCondition">
|
|
<where>
|
|
<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">
|
|
<if test="studentID != null">
|
|
and sa.user_id_ = #{studentID}
|
|
and sa.user_id_ = #{studentID}
|
|
</if>
|
|
</if>
|
|
@@ -338,7 +338,7 @@
|
|
student_attendance sa
|
|
student_attendance sa
|
|
LEFT JOIN course_schedule cs ON sa.course_schedule_id_=cs.id_
|
|
LEFT JOIN course_schedule cs ON sa.course_schedule_id_=cs.id_
|
|
WHERE
|
|
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.class_group_id_=#{classGroupId}
|
|
AND sa.user_id_ IN
|
|
AND sa.user_id_ IN
|
|
<foreach collection="userIds" item="userId" open="(" close=")" separator=",">
|
|
<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_,
|
|
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.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
|
|
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 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"/>
|
|
<include refid="findStudentAttendanceSql"/>
|
|
GROUP BY cssp.id_
|
|
GROUP BY cssp.id_
|
|
ORDER BY
|
|
ORDER BY
|
|
@@ -482,7 +483,7 @@
|
|
</select>
|
|
</select>
|
|
<sql id="findStudentAttendanceSql">
|
|
<sql id="findStudentAttendanceSql">
|
|
<where>
|
|
<where>
|
|
- cs.del_flag_ = 0
|
|
|
|
|
|
+ cs.del_flag_ = 0 AND cs.pre_course_flag_ = 0
|
|
<if test="visitFlag != null">
|
|
<if test="visitFlag != null">
|
|
<if test="visitFlag == 1">
|
|
<if test="visitFlag == 1">
|
|
AND sa.visit_flag_ = 1
|
|
AND sa.visit_flag_ = 1
|
|
@@ -596,6 +597,7 @@
|
|
</select>
|
|
</select>
|
|
<sql id="exportStudentAttendancesQueryPageSql">
|
|
<sql id="exportStudentAttendancesQueryPageSql">
|
|
<where>
|
|
<where>
|
|
|
|
+ cs.pre_course_flag_ = 0
|
|
<if test="organId != null and organId != ''">
|
|
<if test="organId != null and organId != ''">
|
|
AND FIND_IN_SET(cs.organ_id_,#{organId})
|
|
AND FIND_IN_SET(cs.organ_id_,#{organId})
|
|
</if>
|
|
</if>
|
|
@@ -650,7 +652,7 @@
|
|
<select id="getLeaveNum" resultType="java.lang.Integer">
|
|
<select id="getLeaveNum" resultType="java.lang.Integer">
|
|
SELECT COUNT(sa.id_) FROM student_attendance sa
|
|
SELECT COUNT(sa.id_) FROM student_attendance sa
|
|
LEFT JOIN course_schedule cs ON cs.id_ = sa.course_schedule_id_
|
|
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">
|
|
<if test="attendanceId != null">
|
|
AND sa.id_ != #{attendanceId}
|
|
AND sa.id_ != #{attendanceId}
|
|
</if>
|
|
</if>
|
|
@@ -658,7 +660,7 @@
|
|
<select id="queryLeaveNum" resultType="java.util.Map">
|
|
<select id="queryLeaveNum" resultType="java.util.Map">
|
|
SELECT sa.user_id_ 'key',COUNT(sa.id_) 'value' FROM student_attendance sa
|
|
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_
|
|
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
|
|
AND sa.user_id_ IN
|
|
<foreach collection="userIds" item="userId" separator="," open="(" close=")">
|
|
<foreach collection="userIds" item="userId" separator="," open="(" close=")">
|
|
#{userId}
|
|
#{userId}
|