src/main/java/com/ruoyi/staff/controller/PersonalAttendanceLocationConfigController.java
@@ -10,7 +10,10 @@ import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.CollectionUtils; import org.springframework.web.bind.annotation.*; import java.util.List; /** * <p> @@ -34,10 +37,17 @@ return R.ok(personalAttendanceLocationConfigService.saveOrUpdate(personalAttendanceLocationConfig)); } @ApiOperation("分页查询打卡签到") @ApiOperation("分页查询人员打卡规则配置") @GetMapping("/listPage") public R listPage(Page page){ return R.ok(personalAttendanceLocationConfigService.page(page)); } @ApiOperation("删除人员打卡规则配置") @DeleteMapping("/del") public R del(@RequestBody List<Integer> ids) { return R.ok(personalAttendanceLocationConfigService.removeBatchByIds(ids)); } } src/main/java/com/ruoyi/staff/dto/PersonalAttendanceRecordsDto.java
@@ -9,6 +9,7 @@ import org.springframework.format.annotation.DateTimeFormat; import java.time.LocalDateTime; import java.time.LocalTime; @Data @ExcelIgnoreUnannotated @@ -33,10 +34,10 @@ //标准上班时间 @JsonFormat(pattern = "HH:mm") @DateTimeFormat(pattern = "HH:mm") private LocalDateTime startAt; private LocalTime startAt; //标准下班时间 @JsonFormat(pattern = "HH:mm") @DateTimeFormat(pattern = "HH:mm") private LocalDateTime endAt; private LocalTime endAt; } src/main/java/com/ruoyi/staff/pojo/PersonalAttendanceLocationConfig.java
@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.annotation.TableName; import java.io.Serializable; import java.time.LocalDateTime; import java.time.LocalTime; import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.annotations.ApiModel; @@ -50,10 +51,10 @@ @ApiModelProperty("上班时间") @JsonFormat(pattern = "HH:mm") @DateTimeFormat(pattern = "HH:mm") private LocalDateTime startAt; private LocalTime startAt; @ApiModelProperty("下班时间") @JsonFormat(pattern = "HH:mm") @DateTimeFormat(pattern = "HH:mm") private LocalDateTime endAt; private LocalTime endAt; } src/main/java/com/ruoyi/staff/service/impl/PersonalAttendanceRecordsServiceImpl.java
@@ -33,6 +33,7 @@ import java.math.RoundingMode; import java.time.LocalDate; import java.time.LocalDateTime; import java.time.LocalTime; import java.time.format.DateTimeFormatter; import java.util.List; @@ -98,7 +99,7 @@ throw new BaseException(String.format("打卡失败:您当前位置距离考勤点%.2f米,超出允许范围(%s米)", actualDistance, allowedRadius)); } /*判断打卡时间*/ LocalDateTime endAt = locationConfig.getEndAt(); //下班时间 LocalTime endAt = locationConfig.getEndAt(); //下班时间 // 获取考勤下班时间点 int standardHour = endAt.getHour(); int standardMinute = endAt.getMinute(); @@ -153,9 +154,9 @@ LocalDateTime actualTime = isStart ? attendanceRecord.getWorkStartAt() : attendanceRecord.getWorkEndAt(); try { // 获取考勤时间配置 LocalDateTime startAt = locationConfig.getStartAt();//上班时间 LocalDateTime endAt = locationConfig.getEndAt();//下班时间 LocalDateTime timeConfig = isStart ? startAt : endAt; LocalTime startAt = locationConfig.getStartAt();//上班时间 LocalTime endAt = locationConfig.getEndAt();//下班时间 LocalTime timeConfig = isStart ? startAt : endAt; // 解析小时和分钟 int standardHour = timeConfig.getHour(); int standardMinute = timeConfig.getMinute();