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));
|
}
|
|
}
|