zouyu
2 天以前 2ea3b36a810adcb639f4d3c72c860f722f601927
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
package com.ruoyi.inspect.controller;
 
import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.common.core.domain.Result;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.inspect.dto.StaffAttendanceDTO;
import com.ruoyi.inspect.pojo.StaffAttendanceTrackingRecord;
import com.ruoyi.inspect.service.StaffAttendanceTrackingRecordService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.apache.commons.lang3.ObjectUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.format.annotation.DateTimeFormat;
import org.springframework.web.bind.annotation.*;
 
import java.time.LocalDateTime;
import java.util.Arrays;
 
/**
 * 绩效管理-人员考勤接口
 */
@Api(value = "绩效管理-人员考勤接口")
@RestController
@RequestMapping("/staff/attendance")
public class StaffAttendanceController {
 
    @Autowired
    private StaffAttendanceTrackingRecordService trackingRecordService;
 
    @ApiOperation("查询人员打卡记录")
    @GetMapping("/getClockInRecord")
    public Result getClockInRecord(StaffAttendanceDTO staffAttendanceDTO){
        return Result.success(trackingRecordService.getClockInRecord(staffAttendanceDTO));
    }
 
    @ApiOperation("分页查询考勤记录")
    @GetMapping("/pageAttendanceRecord")
    public Result pageAttendanceRecord(Page<StaffAttendanceTrackingRecord> page, StaffAttendanceDTO staffAttendanceDTO){
        return Result.success(trackingRecordService.pageAttendanceRecord(page,staffAttendanceDTO));
    }
 
    @ApiOperation("校验选择的考勤时间是否存在同一人员的考勤记录,没有则返回人员当天的班次信息")
    @GetMapping("/checkDutyDate")
    public Result checkDutyDate(StaffAttendanceDTO staffAttendanceDTO){
        return Result.success(trackingRecordService.checkDutyDate(staffAttendanceDTO));
    }
 
    @ApiOperation("保存或更新考勤记录")
    @PostMapping("/saveOrUpdateStaffAttendanceTrackingRecord")
    public Result saveStaffAttendanceTrackingRecord(@RequestBody StaffAttendanceDTO staffAttendanceDTO){
        return Result.success(trackingRecordService.saveOrUpdateRecord(staffAttendanceDTO));
    }
 
    @ApiOperation("删除考勤记录")
    @DeleteMapping("/removeStaffAttendanceTrackingRecord")
    public Result removeStaffAttendanceTrackingRecord(@RequestBody StaffAttendanceDTO staffAttendanceDTO){
        return Result.success(trackingRecordService.removeByIds(Arrays.asList(staffAttendanceDTO.getWorkDataId(),staffAttendanceDTO.getOffWorkDataId())));
    }
 
    @ApiOperation("同步考勤记录")
    @GetMapping("/syncAttendanceRecord")
    public Result syncAttendanceRecord(@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") LocalDateTime startDate,@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") LocalDateTime endDate){
        return Result.success(trackingRecordService.syncAttendanceRecord(startDate,endDate));
    }
 
    @ApiOperation("修改进出记录状态")
    @PostMapping("/changeEnableReport")
    public Result changeEnableReport(@RequestBody StaffAttendanceDTO staffAttendanceDTO){
        if(ObjectUtils.isEmpty(staffAttendanceDTO.getId())){
            throw new RuntimeException("传参异常,主键ID不能为空!");
        }
        StaffAttendanceTrackingRecord trackingRecord = new StaffAttendanceTrackingRecord();
        trackingRecord.setId(staffAttendanceDTO.getId());
        trackingRecord.setEnableReport(staffAttendanceDTO.getEnableReport());
        return Result.success(trackingRecordService.updateById(trackingRecord));
    }
 
}