Browse Source

【feat】【第二版开发】
1.修复打卡任务配置和打卡记录的时间记录、计数记录的冲突导致的显示异常

ChenYL 1 year ago
parent
commit
89cc2092c8

+ 11 - 0
src/main/java/com/punchsettle/server/pojo/punchin/PunchInWithRecordVO.java

@@ -77,4 +77,15 @@ public class PunchInWithRecordVO {
      * 打卡状态(今天)
      */
     private PunchInStatusViewEnum punchInStatus;
+
+    /**
+     * 打卡记录的次数记录
+     */
+    private Integer recordCountTrack;
+
+    /**
+     * 打卡记录的时间记录
+     */
+    private LocalTime recordTimeTrack;
+
 }

+ 6 - 2
src/main/java/com/punchsettle/server/service/manager/impl/PunchInManagerImpl.java

@@ -113,6 +113,8 @@ public class PunchInManagerImpl implements IPunchInManager {
 
         // 构建打卡记录
         List<PunchInWithRecordVO> punchInWithRecordVOS = new ArrayList<>();
+        // 初始化的时间记录
+        LocalTime initRecordTimeTrack = LocalTime.parse("00:00:00.000");
         for (PunchIn punchIn : punchIns) {
             // 一周的打卡记录容器
             List<PunchInRecordVO> weeklyRecords = new ArrayList<>();
@@ -121,6 +123,8 @@ public class PunchInManagerImpl implements IPunchInManager {
             BeanUtils.copyProperties(punchIn, punchInWithRecordVO);
             punchInWithRecordVO.setPunchInId(punchIn.getId());
             punchInWithRecordVO.setPunchInRecords(weeklyRecords);
+            punchInWithRecordVO.setRecordTimeTrack(initRecordTimeTrack);
+            punchInWithRecordVO.setRecordCountTrack(0);
             punchInWithRecordVOS.add(punchInWithRecordVO);
 
             // 打卡任务创建日期
@@ -149,8 +153,8 @@ public class PunchInManagerImpl implements IPunchInManager {
 
                 // 如果是今天的打卡记录,设置计数/计时属性
                 if (!Objects.isNull(punchInRecord) && today.isEqual(weeklyDate)) {
-                    punchInWithRecordVO.setTimeTrack(punchInRecord.getTimeTrack());
-                    punchInWithRecordVO.setCountTrack(punchInRecord.getCountTrack());
+                    punchInWithRecordVO.setRecordTimeTrack(punchInRecord.getTimeTrack());
+                    punchInWithRecordVO.setRecordCountTrack(punchInRecord.getCountTrack());
                 }
 
                 // 如果是今天设置状态控制页面显示