pengcheng před 3 týdny
rodič
revize
b179a7a34d

+ 14 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/controller/clock/ActivityController.java

@@ -216,6 +216,20 @@ public class ActivityController extends BaseController {
         return R.ok(iClockRecordService.querySaleStatisticRecordList(bo));
     }
 
+
+    /**
+     * 将员工在指定活动下的单个打卡记录设为失效
+     */
+    @ApiOperation("设为无效打卡")
+    @Log(title = "活动打卡记录", businessType = BusinessType.UPDATE)
+    @RepeatSubmit()
+    @PostMapping("/clockRecord/updateRecordStatus/{recordId}")
+    public R<Void> updateRecordStatus(
+        @ApiParam("记录id") @NotNull @PathVariable("recordId") Long recordId) {
+        Boolean result = iClockRecordService.updateRecordStatus(recordId);
+        return toAjax(result ? 1 : 0);
+    }
+
     /**
      * 将员工在指定活动下的所有打卡设为失效
      */

+ 7 - 0
ruoyi-system/src/main/java/com/ruoyi/clock/service/IClockRecordService.java

@@ -154,6 +154,13 @@ public interface IClockRecordService {
      */
     ActivityClockStatisticVo queryActivityClockStatistic(ActivityClockRecordBo bo);
 
+    /**
+     * 设置打卡记录状态为失效
+     * @param recordId
+     * @return
+     */
+    Boolean updateRecordStatus(Long recordId);
+
     /**
      * 将某员工在指定活动下的所有打卡记录设为失效
      *

+ 8 - 0
ruoyi-system/src/main/java/com/ruoyi/clock/service/impl/ClockRecordServiceImpl.java

@@ -209,6 +209,14 @@ public class ClockRecordServiceImpl implements IClockRecordService {
         return baseMapper.queryActivityClockStatistic(bo);
     }
 
+    @Override
+    public Boolean updateRecordStatus(Long recordId) {
+        ClockRecord update = new ClockRecord();
+        update.setRecordId(recordId);
+        update.setStatus(ClockStatusEnum.EXPIRE.getCode()); // 设为失效
+        return  baseMapper.updateById(update) > 0;
+    }
+
     @Override
     public Boolean invalidateEmployeeClock(Long activityId, Long employeeId) {
         ClockRecord update = new ClockRecord();