增加worker_month_attendance统计考勤时是否忽略员工打卡时的“进/出”方向标识,1忽略0不忽略
This commit is contained in:
parent
38342059c9
commit
5429de0196
@ -76,4 +76,9 @@ public class ProjectConfig implements Serializable {
|
|||||||
private java.lang.Integer workTicketBindCamera;
|
private java.lang.Integer workTicketBindCamera;
|
||||||
@ApiModelProperty(value = "1开启人脸录入时的人脸检测识别功能0不开启")
|
@ApiModelProperty(value = "1开启人脸录入时的人脸检测识别功能0不开启")
|
||||||
private java.lang.Integer enableWorkerFaceCheck;
|
private java.lang.Integer enableWorkerFaceCheck;
|
||||||
|
/**
|
||||||
|
* worker_month_attendance统计考勤时是否忽略员工打卡时的“进/出”方向标识,1忽略0不忽略
|
||||||
|
*/
|
||||||
|
@ApiModelProperty(value = "worker_month_attendance统计考勤时是否忽略员工打卡时的“进/出”方向标识,1忽略0不忽略")
|
||||||
|
private java.lang.Integer ignoreWorkerMonthAttendanceInOut;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -2,6 +2,7 @@ package com.zhgd.xmgl.modules.worker.service.impl;
|
|||||||
|
|
||||||
import cn.hutool.core.collection.CollUtil;
|
import cn.hutool.core.collection.CollUtil;
|
||||||
import cn.hutool.core.util.ObjectUtil;
|
import cn.hutool.core.util.ObjectUtil;
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
@ -10,7 +11,9 @@ import com.zhgd.jeecg.common.mybatis.EntityMap;
|
|||||||
import com.zhgd.xmgl.modules.basicdata.service.impl.SystemUserServiceImpl;
|
import com.zhgd.xmgl.modules.basicdata.service.impl.SystemUserServiceImpl;
|
||||||
import com.zhgd.xmgl.modules.govtapi.GovtOpenApiService;
|
import com.zhgd.xmgl.modules.govtapi.GovtOpenApiService;
|
||||||
import com.zhgd.xmgl.modules.project.entity.Project;
|
import com.zhgd.xmgl.modules.project.entity.Project;
|
||||||
|
import com.zhgd.xmgl.modules.project.entity.ProjectConfig;
|
||||||
import com.zhgd.xmgl.modules.project.mapper.ProjectMapper;
|
import com.zhgd.xmgl.modules.project.mapper.ProjectMapper;
|
||||||
|
import com.zhgd.xmgl.modules.project.service.IProjectConfigService;
|
||||||
import com.zhgd.xmgl.modules.worker.entity.WorkerAttendanceRule;
|
import com.zhgd.xmgl.modules.worker.entity.WorkerAttendanceRule;
|
||||||
import com.zhgd.xmgl.modules.worker.entity.WorkerInfo;
|
import com.zhgd.xmgl.modules.worker.entity.WorkerInfo;
|
||||||
import com.zhgd.xmgl.modules.worker.entity.WorkerMonthAttendanceDuration;
|
import com.zhgd.xmgl.modules.worker.entity.WorkerMonthAttendanceDuration;
|
||||||
@ -21,7 +24,6 @@ import com.zhgd.xmgl.util.DateUtils;
|
|||||||
import com.zhgd.xmgl.util.EnvironmentUtil;
|
import com.zhgd.xmgl.util.EnvironmentUtil;
|
||||||
import com.zhgd.xmgl.util.JxlExcelUtils;
|
import com.zhgd.xmgl.util.JxlExcelUtils;
|
||||||
import com.zhgd.xmgl.util.ReflectUtils;
|
import com.zhgd.xmgl.util.ReflectUtils;
|
||||||
import lombok.extern.log4j.Log4j;
|
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.apache.commons.collections.MapUtils;
|
import org.apache.commons.collections.MapUtils;
|
||||||
import org.apache.commons.lang.math.NumberUtils;
|
import org.apache.commons.lang.math.NumberUtils;
|
||||||
@ -529,6 +531,9 @@ public class WorkerMonthAttendanceStatisticsServiceImpl extends ServiceImpl<Work
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Lazy
|
||||||
|
@Autowired
|
||||||
|
private IProjectConfigService projectConfigService;
|
||||||
|
|
||||||
//判断考勤情况
|
//判断考勤情况
|
||||||
public Map<String, Integer> getWorkerAttendanceType(String personSn, Long workerAttendanceRuleId, String passTime) {
|
public Map<String, Integer> getWorkerAttendanceType(String personSn, Long workerAttendanceRuleId, String passTime) {
|
||||||
@ -562,11 +567,14 @@ public class WorkerMonthAttendanceStatisticsServiceImpl extends ServiceImpl<Work
|
|||||||
//结果集按时间DESC
|
//结果集按时间DESC
|
||||||
List<EntityMap> list = workerAttendanceMapper.selectOneWorkerAttendance(param);
|
List<EntityMap> list = workerAttendanceMapper.selectOneWorkerAttendance(param);
|
||||||
if (list != null && !list.isEmpty()) {
|
if (list != null && !list.isEmpty()) {
|
||||||
|
ProjectConfig config = projectConfigService.getOne(new LambdaQueryWrapper<ProjectConfig>()
|
||||||
|
.eq(ProjectConfig::getProjectSn, list.get(0).get("projectSn")));
|
||||||
|
boolean ignoreInOut = config != null && Objects.equals(config.getIgnoreWorkerMonthAttendanceInOut(), 1);
|
||||||
String maxTime = null;
|
String maxTime = null;
|
||||||
for (int i = 0; i < list.size(); i++) {
|
for (int i = 0; i < list.size(); i++) {
|
||||||
EntityMap map = list.get(i);
|
EntityMap map = list.get(i);
|
||||||
//2:出
|
//2:出
|
||||||
if (map.get("passType") != null && map.get("createTime") != null && NumberUtils.toInt(map.get("passType").toString()) == 2) {
|
if (map.get("createTime") != null && (ignoreInOut || (map.get("passType") != null && NumberUtils.toInt(map.get("passType").toString()) == 2))) {
|
||||||
maxTime = map.get("createTime").toString();
|
maxTime = map.get("createTime").toString();
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@ -575,9 +583,11 @@ public class WorkerMonthAttendanceStatisticsServiceImpl extends ServiceImpl<Work
|
|||||||
for (int i = (list.size() - 1); i >= 0; i--) {
|
for (int i = (list.size() - 1); i >= 0; i--) {
|
||||||
Map<String, Object> map = list.get(i);
|
Map<String, Object> map = list.get(i);
|
||||||
//1:进
|
//1:进
|
||||||
if (map.get("passType") != null && map.get("createTime") != null && NumberUtils.toInt(map.get("passType").toString()) == 1) {
|
if (map.get("createTime") != null && (ignoreInOut || (map.get("passType") != null && NumberUtils.toInt(map.get("passType").toString()) == 1))) {
|
||||||
minTime = map.get("createTime").toString();
|
if (!Objects.equals(maxTime, map.get("createTime").toString())) {
|
||||||
break;
|
minTime = map.get("createTime").toString();
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
String startTimes = null;
|
String startTimes = null;
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user