Browse Source

教师考勤查询

dzx 6 months ago
parent
commit
e4d0cf7bbd

+ 2 - 1
src/main/java/com/xjrsoft/module/job/AttendanceRecordTask.java

@@ -171,7 +171,8 @@ public class AttendanceRecordTask {
             }
             TeacherOutInRecordDto outInDto = new TeacherOutInRecordDto();
             outInDto.setQueryDate(startTime.toLocalDate());
-            outInDto.setRecordTime(endTime);
+            outInDto.setEndTime(endTime);
+            outInDto.setStartTime(startTime);
             outInDto.setStatus(OutInStatusEnum.enter.getCode());
             outInDto.setUserId(record.getUserId());
             List<TeacherOutInRecord> outInRecords = teacherOutInRecordService.getListByParam(outInDto);

+ 6 - 0
src/main/java/com/xjrsoft/module/outint/dto/TeacherOutInRecordDto.java

@@ -40,4 +40,10 @@ public class TeacherOutInRecordDto implements Serializable {
     @ApiModelProperty("查询日期")
     private LocalDate queryDate;
 
+    @ApiModelProperty("海康记录时间")
+    private LocalDateTime startTime;
+
+    @ApiModelProperty("海康记录时间")
+    private LocalDateTime endTime;
+
 }

+ 2 - 1
src/main/resources/mapper/attendance/AttendanceRuleDetailsMapper.xml

@@ -34,7 +34,8 @@
         INNER JOIN attendance_user_relation t3 ON t1.id = t3.attendance_rule_category_id
         INNER JOIN xjr_user t4 ON t3.user_id = t4.id
         INNER JOIN base_teacher t5 ON t4.id = t5.user_id
-        WHERE t1.delete_mark = 0 AND t2.delete_mark = 0 AND NOW() BETWEEN start_date AND end_date
+        WHERE t1.delete_mark = 0 AND t2.delete_mark = 0 and t3.delete_mark = 0
+        AND NOW() BETWEEN start_date AND end_date
         AND t2.date_type = #{dayOfWeek}
         <if test="userIds != null and !userIds.isEmpty()">
             and t5.user_id in

+ 1 - 1
src/main/resources/mapper/outin/TeacherOutInRecordMapper.xml

@@ -6,7 +6,7 @@
     <select id="getListByParam" parameterType="com.xjrsoft.module.outint.dto.TeacherOutInRecordDto" resultType="com.xjrsoft.module.outint.entity.TeacherOutInRecord">
         SELECT * FROM teacher_out_in_record
         WHERE delete_mark = 0
-        AND #{dto.recordTime} >= record_time
+        AND record_time between #{dto.startTime} and #{dto.endTime}
         AND status = #{dto.status}
         AND DATE_FORMAT(record_time, '%Y-%m-%d') = #{dto.queryDate}
         AND user_id = #{dto.userId}

+ 6 - 1
src/test/java/com/xjrsoft/module/job/AttendanceRecordTaskTest.java

@@ -99,6 +99,10 @@ class AttendanceRecordTaskTest {
         List<TeacherAttendanceRecord> insertList = new ArrayList<>();
         for (User user : teacherList) {
 
+            if(14954825256773L == user.getId()){
+                System.out.println(user.getName());
+            }
+
             TeacherAttendanceRecord record = new TeacherAttendanceRecord();
             record.setCreateDate(LocalDateTime.now());
             record.setUserId(user.getId());
@@ -166,7 +170,8 @@ class AttendanceRecordTaskTest {
             }
             TeacherOutInRecordDto outInDto = new TeacherOutInRecordDto();
             outInDto.setQueryDate(startTime.toLocalDate());
-            outInDto.setRecordTime(endTime);
+            outInDto.setEndTime(endTime);
+            outInDto.setStartTime(startTime);
             outInDto.setStatus(OutInStatusEnum.enter.getCode());
             outInDto.setUserId(record.getUserId());
             List<TeacherOutInRecord> outInRecords = teacherOutInRecordService.getListByParam(outInDto);