This commit is contained in:
zt
2025-09-03 15:39:13 +08:00
parent a929225ed5
commit 8c412d033b
5 changed files with 32 additions and 6 deletions

View File

@ -13,13 +13,13 @@ spring.boot.admin.client:
--- # snail-job 配置
snail-job:
enabled: false
enabled: true
# 需要在 SnailJob 后台组管理创建对应名称的组,然后创建任务的时候选择对应的组,才能正确分派任务
group: "ruoyi_group"
# SnailJob 接入验证令牌 详见 script/sql/ry_job.sql `sj_group_config` 表
token: "SJ_cKqBTPzCsWA3VyuCfFoccmuIEGXjr5KT"
server:
host: 192.168.110.119
host: 127.0.0.1
port: 17888
# 命名空间UUID 详见 script/sql/ry_job.sql `sj_namespace`表`unique_id`字段
namespace: ${spring.profiles.active}

View File

@ -108,6 +108,11 @@
<artifactId>ruoyi-common-doc</artifactId>
</dependency>
<dependency>
<groupId>org.dromara</groupId>
<artifactId>ruoyi-common-job</artifactId>
</dependency>
<dependency>
<groupId>org.dromara</groupId>
<artifactId>ruoyi-common-mybatis</artifactId>

View File

@ -2,6 +2,7 @@ package org.dromara.job.attendance;
import cn.hutool.core.date.DateUtil;
import com.aizuda.snailjob.client.job.core.annotation.JobExecutor;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import jakarta.annotation.Resource;
@ -31,7 +32,7 @@ import java.time.LocalTime;
import java.util.*;
@Slf4j
//@Component
@Component
public class AttendanceJob {
@Resource
@ -54,6 +55,7 @@ public class AttendanceJob {
// @Scheduled(cron = "0 0/10 * * * ?")
@JobExecutor(name = "clockInMiss")
public void clockInMiss() {
log.info("执行定时任务:上班缺卡记录生成");
@ -165,6 +167,7 @@ public class AttendanceJob {
}
// @Scheduled(cron = "0 0/10 * * * ?")
@JobExecutor(name = "clockOutMiss")
public void clockOutMiss() {
log.info("执行定时任务:下班缺卡记录生成");

View File

@ -1,17 +1,20 @@
package org.dromara.project.controller.app;
import cn.hutool.core.collection.CollectionUtil;
import jakarta.annotation.Resource;
import jakarta.validation.constraints.NotNull;
import org.dromara.common.core.domain.R;
import org.dromara.common.satoken.utils.LoginHelper;
import org.dromara.common.web.core.BaseController;
import org.dromara.contractor.service.ISubConstructionUserService;
import org.dromara.project.domain.BusProjectPunchrange;
import org.dromara.project.domain.dto.attendance.BusAttendancePunchCardByFaceReq;
import org.dromara.project.domain.vo.BusAttendanceRuleVo;
import org.dromara.project.domain.vo.BusAttendanceVo;
import org.dromara.project.domain.vo.BusMonthAttendanceVo;
import org.dromara.project.service.IBusAttendanceRuleService;
import org.dromara.project.service.IBusAttendanceService;
import org.dromara.project.service.IBusProjectPunchrangeService;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
@ -36,6 +39,10 @@ public class BusAttendanceAppController extends BaseController {
@Resource
private IBusAttendanceRuleService attendanceRuleService;
@Resource
private IBusProjectPunchrangeService projectPunchrangeService;
/**
* 人脸坐标打卡
*/
@ -62,11 +69,22 @@ public class BusAttendanceAppController extends BaseController {
return R.ok(attendanceService.getPunchRangeByProjectIdAndUserId(projectId, userId));
}
/**
* 查询项目考勤范围规则
*/
@GetMapping("/punchRangeInfoList/{projectId}")
public R<List<BusProjectPunchrange>> infoList(@NotNull @PathVariable("projectId") Long projectId) {
List<BusProjectPunchrange> list = projectPunchrangeService.lambdaQuery().eq(BusProjectPunchrange::getProjectId, projectId).list();
return R.ok(list);
}
/**
* 判断是否在打卡范围内
*/
@GetMapping("/checkInRange")
public R<Boolean> checkInRange(BusAttendancePunchCardByFaceReq req) {
@PostMapping("/checkInRange")
public R<Boolean> checkInRange(@RequestBody BusAttendancePunchCardByFaceReq req) {
return R.ok(attendanceService.checkInRange(req));
}

View File

@ -70,7 +70,7 @@ public class QltQualityInspectionCreateReq implements Serializable {
/**
* 整改人
*/
private Long corrector_id;
private Long correctorId;
/**
* 回复期限日期