diff --git a/src/main/java/com/zhgd/xmgl/modules/worker/controller/WorkerAttendancePresenceController.java b/src/main/java/com/zhgd/xmgl/modules/worker/controller/WorkerAttendancePresenceController.java index 8107ca7ba..61d359736 100644 --- a/src/main/java/com/zhgd/xmgl/modules/worker/controller/WorkerAttendancePresenceController.java +++ b/src/main/java/com/zhgd/xmgl/modules/worker/controller/WorkerAttendancePresenceController.java @@ -44,4 +44,15 @@ public class WorkerAttendancePresenceController { return Result.ok(); } + @ApiOperation(value = "劳务在场零点清空功能", notes = "劳务在场零点清空功能", httpMethod = "POST") + @ApiImplicitParams({ + @ApiImplicitParam(name = "projectSn", value = "项目sn", paramType = "body", required = true, dataType = "String"), + }) + @PostMapping(value = "/updateWorkerAttendanceZero") + public Result updateWorkerAttendanceZero(@ApiIgnore @RequestBody HashMap paramMap) { + workerAttendancePresenceService.updateWorkerAttendanceZero(paramMap); + return Result.ok(); + } + + } diff --git a/src/main/java/com/zhgd/xmgl/modules/worker/service/IWorkerAttendancePresenceService.java b/src/main/java/com/zhgd/xmgl/modules/worker/service/IWorkerAttendancePresenceService.java index d53207f37..9674f0aaf 100644 --- a/src/main/java/com/zhgd/xmgl/modules/worker/service/IWorkerAttendancePresenceService.java +++ b/src/main/java/com/zhgd/xmgl/modules/worker/service/IWorkerAttendancePresenceService.java @@ -4,6 +4,8 @@ import com.baomidou.mybatisplus.extension.service.IService; import com.zhgd.xmgl.modules.worker.entity.WorkerAttendance; import com.zhgd.xmgl.modules.worker.entity.WorkerAttendancePresence; +import java.util.HashMap; + /** * @Description: 考勤当前在场的人 * @author: pds @@ -20,4 +22,6 @@ public interface IWorkerAttendancePresenceService extends IService paramMap); } diff --git a/src/main/java/com/zhgd/xmgl/modules/worker/service/impl/WorkerAttendancePresenceServiceImpl.java b/src/main/java/com/zhgd/xmgl/modules/worker/service/impl/WorkerAttendancePresenceServiceImpl.java index fab64e635..6f896e8a6 100644 --- a/src/main/java/com/zhgd/xmgl/modules/worker/service/impl/WorkerAttendancePresenceServiceImpl.java +++ b/src/main/java/com/zhgd/xmgl/modules/worker/service/impl/WorkerAttendancePresenceServiceImpl.java @@ -1,22 +1,27 @@ package com.zhgd.xmgl.modules.worker.service.impl; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.zhgd.xmgl.modules.project.entity.Project; +import com.zhgd.xmgl.modules.project.mapper.ProjectMapper; import com.zhgd.xmgl.modules.worker.entity.WorkerAttendance; import com.zhgd.xmgl.modules.worker.entity.WorkerAttendancePresence; import com.zhgd.xmgl.modules.worker.mapper.WorkerAttendancePresenceMapper; import com.zhgd.xmgl.modules.worker.service.IWorkerAttendancePresenceService; +import org.apache.commons.collections.MapUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; - import java.text.SimpleDateFormat; import java.util.Date; +import java.util.HashMap; +import java.util.List; /** * @Description: 考勤当前在场的人 * @author: pds - * @date: 2020-09-25 + * @date: 2020-09-25 * @version: V1.0 */ @Service @@ -24,13 +29,17 @@ public class WorkerAttendancePresenceServiceImpl extends ServiceImpl queryWrapper = new QueryWrapper<>(); queryWrapper.lambda().eq(WorkerAttendancePresence::getPersonSn, workerAttendance.getPersonSn()) .eq(WorkerAttendancePresence::getProjectSn, workerAttendance.getProjectSn()); @@ -51,5 +60,17 @@ public class WorkerAttendancePresenceServiceImpl extends ServiceImpl paramMap) { + String projectSn1 = MapUtils.getString(paramMap, "projectSn"); + List projects = projectMapper.selectList(new LambdaQueryWrapper() + .eq(Project::getEnableWorkerAttendanceZero, 1) + .eq(Project::getProjectSn, projectSn1) + ); + for (Project project : projects) { + workerAttendancePresenceService.addNowAllWorkerAttendancePresence(project.getProjectSn()); + } + } + } diff --git a/src/main/java/com/zhgd/xmgl/task/ProjectTask.java b/src/main/java/com/zhgd/xmgl/task/ProjectTask.java index 541027508..a8406f464 100644 --- a/src/main/java/com/zhgd/xmgl/task/ProjectTask.java +++ b/src/main/java/com/zhgd/xmgl/task/ProjectTask.java @@ -69,9 +69,6 @@ public class ProjectTask { AsyncCommon asyncCommon; public static Map sendcodecount = new HashMap<>(); - @Autowired - private IWorkerAttendancePresenceService workerAttendancePresenceService; - /** * 定时清除无效的校验码 */ @@ -276,22 +273,5 @@ public class ProjectTask { workerAttendancePresenceMapper.deleteAttendancePresence(); } - /** - * 劳务在场零点清空功能 - */ - @Scheduled(cron = "0 20 0 * * ?") - @SchedulerLock(name = "updateWorkerAttendanceZero", lockAtMostFor = 1000 * 60 * 30, lockAtLeastFor = 1000 * 60 * 3) - @RequestMapping("updateWorkerAttendanceZero") - public void updateWorkerAttendanceZero() { - List projects = projectMapper.selectList(new LambdaQueryWrapper() - .eq(Project::getEnableWorkerAttendanceZero, 1)); - for (Project project : projects) { - String projectSn = project.getProjectSn(); - workerAttendancePresenceMapper.delete(new LambdaQueryWrapper() - .eq(WorkerAttendancePresence::getProjectSn, projectSn)); - workerAttendancePresenceService.addNowAllWorkerAttendancePresence(projectSn); - } - } - } diff --git a/src/main/java/com/zhgd/xmgl/task/WorkerTask.java b/src/main/java/com/zhgd/xmgl/task/WorkerTask.java index 77b69ac67..52654ba6c 100644 --- a/src/main/java/com/zhgd/xmgl/task/WorkerTask.java +++ b/src/main/java/com/zhgd/xmgl/task/WorkerTask.java @@ -7,15 +7,18 @@ import com.zhgd.xmgl.modules.basicdata.entity.SystemUser; import com.zhgd.xmgl.modules.basicdata.mapper.SystemLogoConfigMapper; import com.zhgd.xmgl.modules.basicdata.mapper.SystemUserMapper; import com.zhgd.xmgl.modules.basicdata.service.INoticeService; +import com.zhgd.xmgl.modules.project.entity.Project; import com.zhgd.xmgl.modules.project.entity.ProjectExternalSystemService; import com.zhgd.xmgl.modules.project.mapper.ProjectExternalSystemServiceMapper; import com.zhgd.xmgl.modules.project.mapper.ProjectMapper; import com.zhgd.xmgl.modules.project.service.IProjectUfaceConfigService; import com.zhgd.xmgl.modules.worker.entity.WorkerBlacklist; import com.zhgd.xmgl.modules.worker.entity.WorkerInfo; +import com.zhgd.xmgl.modules.worker.mapper.WorkerAttendancePresenceMapper; import com.zhgd.xmgl.modules.worker.mapper.WorkerBlacklistMapper; import com.zhgd.xmgl.modules.worker.mapper.WorkerCertificateMapper; import com.zhgd.xmgl.modules.worker.mapper.WorkerInfoMapper; +import com.zhgd.xmgl.modules.worker.service.IWorkerAttendancePresenceService; import com.zhgd.xmgl.modules.worker.service.IWorkerCertificateService; import com.zhgd.xmgl.util.ElecardUtil; import lombok.extern.slf4j.Slf4j; @@ -55,6 +58,9 @@ public class WorkerTask { @Autowired private SystemLogoConfigMapper systemLogoConfigMapper; + @Autowired + private IWorkerAttendancePresenceService workerAttendancePresenceService; + @Autowired private INoticeService noticeService; @Autowired @@ -66,6 +72,9 @@ public class WorkerTask { @Autowired private WorkerBlacklistMapper workerBlacklistMapper; + @Autowired + private WorkerAttendancePresenceMapper workerAttendancePresenceMapper; + /** * 定时修改用户码状态 */ @@ -255,4 +264,19 @@ public class WorkerTask { } } + /** + * 劳务在场零点清空功能 + */ + @Scheduled(cron = "0 10 0 * * ?") + @SchedulerLock(name = "updateWorkerAttendanceZero", lockAtMostFor = 1000 * 60 * 30, lockAtLeastFor = 1000 * 60 * 3) + @RequestMapping("updateWorkerAttendanceZero") + public void updateWorkerAttendanceZero() { + List projects = projectMapper.selectList(new LambdaQueryWrapper() + .eq(Project::getEnableWorkerAttendanceZero, 1)); + for (Project project : projects) { + String projectSn = project.getProjectSn(); + workerAttendancePresenceService.addNowAllWorkerAttendancePresence(projectSn); + } + } + }