Procházet zdrojové kódy

请假人数查询调整、学生考勤只查询在读学生

dzx před 1 rokem
rodič
revize
f1969f4895

+ 2 - 0
src/main/java/com/xjrsoft/module/attendance/controller/StudentStatisticsController.java

@@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.github.yulichang.wrapper.MPJLambdaWrapper;
+import com.xjrsoft.common.enums.ArchivesStatusEnum;
 import com.xjrsoft.common.model.result.RT;
 import com.xjrsoft.common.page.ConventPage;
 import com.xjrsoft.common.page.PageOutput;
@@ -147,6 +148,7 @@ public class StudentStatisticsController {
                 .like(StrUtil.isNotEmpty(dto.getCredentialNumber()), User::getCredentialNumber, dto.getCredentialNumber())
                 .eq(StrUtil.isNotEmpty(dto.getStduyStatus()), BaseStudentSchoolRoll::getStduyStatus, dto.getStduyStatus())
                 .eq(ObjectUtil.isNotNull(dto.getClassId()), BaseStudentSchoolRoll::getClassId, dto.getClassId())
+                .eq(BaseStudentSchoolRoll::getArchivesStatus, ArchivesStatusEnum.FB2901.getCode())
                 .selectAs(BaseClass::getName, StudentStatisticsPageVo::getClassName)
                 .select("t3.name", StudentStatisticsPageVo::getTeacherName)
                 .selectAs(User::getName, StudentStatisticsPageVo::getStudentName)

+ 1 - 1
src/main/java/com/xjrsoft/module/student/service/impl/StudentLeaveServiceImpl.java

@@ -98,7 +98,7 @@ public class StudentLeaveServiceImpl extends MPJBaseServiceImpl<StudentLeaveMapp
         List<StudentLeave> leaveList = this.baseMapper.getLeaveList(startTime, endTime);
         Map<Long, StudentLeave> result = new HashMap<>();
         for (StudentLeave studentLeave : leaveList) {
-            result.put(studentLeave.getStudentUserId(), studentLeave);
+            result.put(studentLeave.getClassId(), studentLeave);
         }
         return result;
     }

+ 14 - 14
src/main/resources/mapper/student/StudentLeaveMapper.xml

@@ -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>