chenshudong 4 ヶ月 前
コミット
52882181fa

+ 4 - 4
airport-admin/src/main/java/com/sundot/airport/web/controller/attendance/AttendancePostRecordController.java

@@ -125,12 +125,12 @@ public class AttendancePostRecordController extends BaseController {
125 125
         Long currentUserId = SecurityUtils.getUserId();
126 126
         // 计算当前时间对应的班次日期
127 127
 //        Date queryDate = determineShiftDate();
128
-        Date queryDate = attendancePostRecordService.selectMaxDateByUserId(currentUserId);
128
+        Date queryDate = attendancePostRecordService.selectMaxDateByUserId(currentUserId, null);
129 129
         if (queryDate == null) {
130 130
             queryDate = DateUtils.getNowDate();
131 131
         }
132 132
         // 先获取当前用户今天的记录,取出班次信息
133
-        List<AttendancePostRecord> userRecords = attendancePostRecordService.selectTodayRecordsByUserId(currentUserId, queryDate);
133
+        List<AttendancePostRecord> userRecords = attendancePostRecordService.selectTodayRecordsByUserId(currentUserId, null, queryDate);
134 134
 
135 135
         if (userRecords.isEmpty()) {
136 136
             return AjaxResult.success(new ArrayList<>());
@@ -1095,11 +1095,11 @@ public class AttendancePostRecordController extends BaseController {
1095 1095
         try {
1096 1096
             // 获取当前班次日期
1097 1097
 //            Date shiftDate = determineShiftDate();
1098
-            Date shiftDate = attendancePostRecordService.selectMaxDateByUserId(userId);
1098
+            Date shiftDate = attendancePostRecordService.selectMaxDateByUserId(null, userId);
1099 1099
             if (shiftDate == null) {
1100 1100
                 shiftDate = DateUtils.getNowDate();
1101 1101
             }
1102
-            List<AttendancePostRecord> userRecords = attendancePostRecordService.selectTodayRecordsByUserId(userId, shiftDate);
1102
+            List<AttendancePostRecord> userRecords = attendancePostRecordService.selectTodayRecordsByUserId(null, userId, shiftDate);
1103 1103
 
1104 1104
             // 检查是否有已锁定且在当前班次周期内的记录
1105 1105
 //            return userRecords.stream()

+ 7 - 5
airport-attendance/src/main/java/com/sundot/airport/attendance/mapper/AttendancePostRecordMapper.java

@@ -64,11 +64,12 @@ public interface AttendancePostRecordMapper {
64 64
     /**
65 65
      * 查询指定用户当天的上岗记录
66 66
      *
67
-     * @param userId 用户ID
68
-     * @param today  当天日期
67
+     * @param createBy 创建人
68
+     * @param userId   用户ID
69
+     * @param today    当天日期
69 70
      * @return 上岗记录集合
70 71
      */
71
-    public List<AttendancePostRecord> selectTodayRecordsByUserId(@Param("userId") Long userId, @Param("today") Date today);
72
+    public List<AttendancePostRecord> selectTodayRecordsByUserId(@Param("createBy") Long createBy, @Param("userId") Long userId, @Param("today") Date today);
72 73
 
73 74
     /**
74 75
      * 查询指定班次代码当天的上岗记录
@@ -140,8 +141,9 @@ public interface AttendancePostRecordMapper {
140 141
     /**
141 142
      * 查询指定用户最近的上岗记录的考勤日期
142 143
      *
143
-     * @param userId 用户ID
144
+     * @param createBy 创建人
145
+     * @param userId   用户ID
144 146
      * @return 考勤日期
145 147
      */
146
-    public Date selectMaxDateByUserId(@Param("userId") Long userId);
148
+    public Date selectMaxDateByUserId(@Param("createBy") Long createBy, @Param("userId") Long userId);
147 149
 }

+ 7 - 5
airport-attendance/src/main/java/com/sundot/airport/attendance/service/IAttendancePostRecordService.java

@@ -65,11 +65,12 @@ public interface IAttendancePostRecordService {
65 65
     /**
66 66
      * 查询指定用户当天的上岗记录
67 67
      *
68
-     * @param userId 用户ID
69
-     * @param today  当天日期
68
+     * @param createBy 创建人
69
+     * @param userId   用户ID
70
+     * @param today    当天日期
70 71
      * @return 上岗记录集合
71 72
      */
72
-    public List<AttendancePostRecord> selectTodayRecordsByUserId(Long userId, Date today);
73
+    public List<AttendancePostRecord> selectTodayRecordsByUserId(Long createBy, Long userId, Date today);
73 74
 
74 75
     /**
75 76
      * 查询指定班次代码当天的上岗记录
@@ -143,8 +144,9 @@ public interface IAttendancePostRecordService {
143 144
     /**
144 145
      * 查询指定用户最近的上岗记录的考勤日期
145 146
      *
146
-     * @param userId 用户ID
147
+     * @param createBy 创建人
148
+     * @param userId   用户ID
147 149
      * @return 考勤日期
148 150
      */
149
-    public Date selectMaxDateByUserId(Long userId);
151
+    public Date selectMaxDateByUserId(Long createBy, Long userId);
150 152
 }

+ 9 - 7
airport-attendance/src/main/java/com/sundot/airport/attendance/service/impl/AttendancePostRecordServiceImpl.java

@@ -112,13 +112,14 @@ public class AttendancePostRecordServiceImpl implements IAttendancePostRecordSer
112 112
     /**
113 113
      * 查询指定用户当天的上岗记录
114 114
      *
115
-     * @param userId 用户ID
116
-     * @param today  当天日期
115
+     * @param createBy 创建人
116
+     * @param userId   用户ID
117
+     * @param today    当天日期
117 118
      * @return 上岗记录集合
118 119
      */
119 120
     @Override
120
-    public List<AttendancePostRecord> selectTodayRecordsByUserId(Long userId, Date today) {
121
-        return attendancePostRecordMapper.selectTodayRecordsByUserId(userId, today);
121
+    public List<AttendancePostRecord> selectTodayRecordsByUserId(Long createBy, Long userId, Date today) {
122
+        return attendancePostRecordMapper.selectTodayRecordsByUserId(createBy, userId, today);
122 123
     }
123 124
 
124 125
     /**
@@ -270,11 +271,12 @@ public class AttendancePostRecordServiceImpl implements IAttendancePostRecordSer
270 271
     /**
271 272
      * 查询指定用户最近的上岗记录的考勤日期
272 273
      *
273
-     * @param userId 用户ID
274
+     * @param createBy 创建人
275
+     * @param userId   用户ID
274 276
      * @return 考勤日期
275 277
      */
276 278
     @Override
277
-    public Date selectMaxDateByUserId(Long userId) {
278
-        return attendancePostRecordMapper.selectMaxDateByUserId(userId);
279
+    public Date selectMaxDateByUserId(Long createBy, Long userId) {
280
+        return attendancePostRecordMapper.selectMaxDateByUserId(createBy, userId);
279 281
     }
280 282
 }

+ 17 - 3
airport-attendance/src/main/resources/mapper/attendance/AttendancePostRecordMapper.xml

@@ -298,8 +298,15 @@
298 298
     <select id="selectTodayRecordsByUserId" resultMap="AttendancePostRecordResult">
299 299
         <include refid="selectAttendancePostRecordVo"/>
300 300
         <where>
301
-            user_id = #{userId}
302
-            AND DATE(attendance_date) = DATE(#{today})
301
+            <if test="createBy != null">
302
+                and create_by=#{createBy}
303
+            </if>
304
+            <if test="userId != null">
305
+                and user_id=#{userId}
306
+            </if>
307
+            <if test="today != null">
308
+                AND DATE(attendance_date) = DATE(#{today})
309
+            </if>
303 310
         </where>
304 311
         ORDER BY check_in_time
305 312
     </select>
@@ -412,6 +419,13 @@
412 419
     <select id="selectMaxDateByUserId" resultType="java.util.Date">
413 420
         select max(attendance_date) attendance_date
414 421
         from attendance_post_record
415
-        where user_id = #{userId}
422
+        <where>
423
+            <if test="createBy != null">
424
+                and create_by=#{createBy}
425
+            </if>
426
+            <if test="userId != null">
427
+                and user_id=#{userId}
428
+            </if>
429
+        </where>
416 430
     </select>
417 431
 </mapper>