bug修复

This commit is contained in:
guo 2024-04-13 17:35:21 +08:00
parent 2482c473d5
commit 05b773ce8e
5 changed files with 65 additions and 25 deletions

View File

@ -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<String, Object> paramMap) {
workerAttendancePresenceService.updateWorkerAttendanceZero(paramMap);
return Result.ok();
}
}

View File

@ -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<WorkerAttenda
* @param projectSn
*/
void addNowAllWorkerAttendancePresence(String projectSn);
void updateWorkerAttendanceZero(HashMap<String, Object> paramMap);
}

View File

@ -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<WorkerAtten
@Autowired
private WorkerAttendancePresenceMapper workerAttendancePresenceMapper;
@Autowired
private ProjectMapper projectMapper;
@Autowired
private IWorkerAttendancePresenceService workerAttendancePresenceService;
@Override
public void addWorkerAttendancePresence(WorkerAttendance workerAttendance) {
SimpleDateFormat sft = new SimpleDateFormat("yyyy-MM-dd");
String nowDay=sft.format(new Date());
String nowDay = sft.format(new Date());
//非今天考勤不计算在场
if(workerAttendance.getCreateTime().startsWith(nowDay)) {
if (workerAttendance.getCreateTime().startsWith(nowDay)) {
QueryWrapper<WorkerAttendancePresence> queryWrapper = new QueryWrapper<>();
queryWrapper.lambda().eq(WorkerAttendancePresence::getPersonSn, workerAttendance.getPersonSn())
.eq(WorkerAttendancePresence::getProjectSn, workerAttendance.getProjectSn());
@ -51,5 +60,17 @@ public class WorkerAttendancePresenceServiceImpl extends ServiceImpl<WorkerAtten
workerAttendancePresenceMapper.addNowAllPresenceWorkerAttendance(projectSn);
}
@Override
public void updateWorkerAttendanceZero(HashMap<String, Object> paramMap) {
String projectSn1 = MapUtils.getString(paramMap, "projectSn");
List<Project> projects = projectMapper.selectList(new LambdaQueryWrapper<Project>()
.eq(Project::getEnableWorkerAttendanceZero, 1)
.eq(Project::getProjectSn, projectSn1)
);
for (Project project : projects) {
workerAttendancePresenceService.addNowAllWorkerAttendancePresence(project.getProjectSn());
}
}
}

View File

@ -69,9 +69,6 @@ public class ProjectTask {
AsyncCommon asyncCommon;
public static Map<String, Integer> 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<Project> projects = projectMapper.selectList(new LambdaQueryWrapper<Project>()
.eq(Project::getEnableWorkerAttendanceZero, 1));
for (Project project : projects) {
String projectSn = project.getProjectSn();
workerAttendancePresenceMapper.delete(new LambdaQueryWrapper<WorkerAttendancePresence>()
.eq(WorkerAttendancePresence::getProjectSn, projectSn));
workerAttendancePresenceService.addNowAllWorkerAttendancePresence(projectSn);
}
}
}

View File

@ -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<Project> projects = projectMapper.selectList(new LambdaQueryWrapper<Project>()
.eq(Project::getEnableWorkerAttendanceZero, 1));
for (Project project : projects) {
String projectSn = project.getProjectSn();
workerAttendancePresenceService.addNowAllWorkerAttendancePresence(projectSn);
}
}
}