|
|
@@ -4,25 +4,25 @@
|
|
|
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
|
|
<mapper namespace="com.xjrsoft.module.student.mapper.StudentLeaveMapper">
|
|
|
<select id="getLeaveCount" resultType="java.lang.Long">
|
|
|
- SELECT COUNT(*) FROM student_leave t1
|
|
|
+ SELECT COUNT(*) as count FROM student_leave t1
|
|
|
INNER JOIN xjr_user t2 ON t1.student_user_id = t2.id
|
|
|
WHERE t1.status = 1 AND t2.delete_mark = 0
|
|
|
AND (
|
|
|
- (start_date BETWEEN #{startTime} and #{endTime})
|
|
|
- OR (end_date BETWEEN #{startTime} and #{endTime})
|
|
|
- OR (start_date > #{startTime} and #{endTime} > end_date)
|
|
|
- OR (#{startTime} > start_date and end_date > #{endTime})
|
|
|
+ (start_date BETWEEN DATE_FORMAT(#{startTime}, '%Y-%m-%d') and DATE_FORMAT(#{endTime}, '%Y-%m-%d'))
|
|
|
+ OR (end_date BETWEEN DATE_FORMAT(#{startTime}, '%Y-%m-%d') and DATE_FORMAT(#{endTime}, '%Y-%m-%d'))
|
|
|
+ OR (start_date > DATE_FORMAT(#{startTime}, '%Y-%m-%d') and DATE_FORMAT(#{endTime}, '%Y-%m-%d') > end_date)
|
|
|
+ OR (DATE_FORMAT(#{startTime}, '%Y-%m-%d') > start_date and end_date > DATE_FORMAT(#{endTime}, '%Y-%m-%d'))
|
|
|
)
|
|
|
</select>
|
|
|
<select id="getClassLeaveCount" resultType="com.xjrsoft.module.outint.vo.IdCountVo">
|
|
|
- SELECT t1.class_id as id, COUNT(*) FROM student_leave t1
|
|
|
+ SELECT t1.class_id as id, COUNT(*) as count FROM student_leave t1
|
|
|
INNER JOIN xjr_user t2 ON t1.student_user_id = t2.id
|
|
|
WHERE t1.status = 1 AND t2.delete_mark = 0
|
|
|
AND (
|
|
|
- (start_date BETWEEN #{startTime} and #{endTime})
|
|
|
- OR (end_date BETWEEN #{startTime} and #{endTime})
|
|
|
- OR (start_date > #{startTime} and #{endTime} > end_date)
|
|
|
- OR (#{startTime} > start_date and end_date > #{endTime})
|
|
|
+ (start_date BETWEEN DATE_FORMAT(#{startTime}, '%Y-%m-%d') and DATE_FORMAT(#{endTime}, '%Y-%m-%d'))
|
|
|
+ OR (end_date BETWEEN DATE_FORMAT(#{startTime}, '%Y-%m-%d') and DATE_FORMAT(#{endTime}, '%Y-%m-%d'))
|
|
|
+ OR (start_date > DATE_FORMAT(#{startTime}, '%Y-%m-%d') and DATE_FORMAT(#{endTime}, '%Y-%m-%d') > end_date)
|
|
|
+ OR (DATE_FORMAT(#{startTime}, '%Y-%m-%d') > start_date and end_date > DATE_FORMAT(#{endTime}, '%Y-%m-%d'))
|
|
|
) group by t1.class_id
|
|
|
</select>
|
|
|
<select id="getLeaveList" resultType="com.xjrsoft.module.student.entity.StudentLeave">
|
|
|
@@ -30,10 +30,10 @@
|
|
|
INNER JOIN xjr_user t2 ON t1.student_user_id = t2.id
|
|
|
WHERE t1.status = 1 AND t2.delete_mark = 0
|
|
|
AND (
|
|
|
- (start_date BETWEEN #{startTime} and #{endTime})
|
|
|
- OR (end_date BETWEEN #{startTime} and #{endTime})
|
|
|
- OR (start_date > #{startTime} and #{endTime} > end_date)
|
|
|
- OR (#{startTime} > start_date and end_date > #{endTime})
|
|
|
+ (start_date BETWEEN DATE_FORMAT(#{startTime}, '%Y-%m-%d') and DATE_FORMAT(#{endTime}, '%Y-%m-%d'))
|
|
|
+ OR (end_date BETWEEN DATE_FORMAT(#{startTime}, '%Y-%m-%d') and DATE_FORMAT(#{endTime}, '%Y-%m-%d'))
|
|
|
+ OR (start_date > DATE_FORMAT(#{startTime}, '%Y-%m-%d') and DATE_FORMAT(#{endTime}, '%Y-%m-%d') > end_date)
|
|
|
+ OR (DATE_FORMAT(#{startTime}, '%Y-%m-%d') > start_date and end_date > DATE_FORMAT(#{endTime}, '%Y-%m-%d'))
|
|
|
)
|
|
|
</select>
|
|
|
</mapper>
|