Commit 7d593584 authored by 廖旭伟's avatar 廖旭伟

Merge remote-tracking branch 'origin/master'

parents c1cb347d c5722674
...@@ -30,7 +30,6 @@ import java.util.stream.Collectors; ...@@ -30,7 +30,6 @@ import java.util.stream.Collectors;
@Slf4j @Slf4j
public class FixWorkOtherAttendance extends AttendanceWorkAbstract { public class FixWorkOtherAttendance extends AttendanceWorkAbstract {
private AttendanceGroupFixedworkService attendanceGroupFixedworkService; private AttendanceGroupFixedworkService attendanceGroupFixedworkService;
private AttendanceClassService attendanceClassService; private AttendanceClassService attendanceClassService;
...@@ -51,7 +50,6 @@ public class FixWorkOtherAttendance extends AttendanceWorkAbstract { ...@@ -51,7 +50,6 @@ public class FixWorkOtherAttendance extends AttendanceWorkAbstract {
private AttendanceRecordDetailService attendanceRecordDetailService; private AttendanceRecordDetailService attendanceRecordDetailService;
private Map<Long, AttendanceClassDetailEntity> classDetailEntityMap; private Map<Long, AttendanceClassDetailEntity> classDetailEntityMap;
public FixWorkOtherAttendance(int type) { public FixWorkOtherAttendance(int type) {
...@@ -126,7 +124,6 @@ public class FixWorkOtherAttendance extends AttendanceWorkAbstract { ...@@ -126,7 +124,6 @@ public class FixWorkOtherAttendance extends AttendanceWorkAbstract {
DateTime dateTime = DateUtil.parseDate(curDateStr); DateTime dateTime = DateUtil.parseDate(curDateStr);
DateTime start = DateUtil.parseDate(DateUtil.formatDate(f.getStartTime())); DateTime start = DateUtil.parseDate(DateUtil.formatDate(f.getStartTime()));
DateTime end = DateUtil.parseDate(DateUtil.formatDate(f.getEndTime())); DateTime end = DateUtil.parseDate(DateUtil.formatDate(f.getEndTime()));
boolean in = DateUtil.isIn(dateTime, start, end); boolean in = DateUtil.isIn(dateTime, start, end);
return in; return in;
}).collect(Collectors.toList()); }).collect(Collectors.toList());
...@@ -184,7 +181,6 @@ public class FixWorkOtherAttendance extends AttendanceWorkAbstract { ...@@ -184,7 +181,6 @@ public class FixWorkOtherAttendance extends AttendanceWorkAbstract {
} }
} }
} }
//获取班次信息 //获取班次信息
AttendanceClassEntity attendanceClassEntity = classEntityMap.get(weekClassId); AttendanceClassEntity attendanceClassEntity = classEntityMap.get(weekClassId);
if (ObjectUtils.isEmpty(attendanceClassEntity)) { if (ObjectUtils.isEmpty(attendanceClassEntity)) {
...@@ -193,7 +189,6 @@ public class FixWorkOtherAttendance extends AttendanceWorkAbstract { ...@@ -193,7 +189,6 @@ public class FixWorkOtherAttendance extends AttendanceWorkAbstract {
} }
List<AttendanceRecordHikEntity> recordHikEntities = commonData.getRecordHikEntities(); List<AttendanceRecordHikEntity> recordHikEntities = commonData.getRecordHikEntities();
List<AttendanceClassDetailEntity> attendanceClassDetailEntities = attendanceClassEntity.getAttendanceClassDetailList(); List<AttendanceClassDetailEntity> attendanceClassDetailEntities = attendanceClassEntity.getAttendanceClassDetailList();
Integer orderNum = 0; Integer orderNum = 0;
for (AttendanceClassDetailEntity classDetailEntity : attendanceClassDetailEntities) { for (AttendanceClassDetailEntity classDetailEntity : attendanceClassDetailEntities) {
orderNum++; orderNum++;
...@@ -205,7 +200,6 @@ public class FixWorkOtherAttendance extends AttendanceWorkAbstract { ...@@ -205,7 +200,6 @@ public class FixWorkOtherAttendance extends AttendanceWorkAbstract {
recordDetailEntity.setOrderNum(orderNum); recordDetailEntity.setOrderNum(orderNum);
commonData.getDetailEntityList().add(recordDetailEntity); commonData.getDetailEntityList().add(recordDetailEntity);
} }
if (!ObjectUtils.isEmpty(recordHikEntities)) { if (!ObjectUtils.isEmpty(recordHikEntities)) {
//针对当天的考勤记录进行计算与判断 //针对当天的考勤记录进行计算与判断
//获取当前班的多个班次,一个班次为一个上下班时间段 //获取当前班的多个班次,一个班次为一个上下班时间段
...@@ -231,7 +225,6 @@ public class FixWorkOtherAttendance extends AttendanceWorkAbstract { ...@@ -231,7 +225,6 @@ public class FixWorkOtherAttendance extends AttendanceWorkAbstract {
//判断在上班与下班区间访问内 在上班的最后时间 与下班的开始时间 //判断在上班与下班区间访问内 在上班的最后时间 与下班的开始时间
boolean goOffBetweenTime = DateUtil.isIn(curDateTime, goWorkDateAfter, offWorkDateBefore); boolean goOffBetweenTime = DateUtil.isIn(curDateTime, goWorkDateAfter, offWorkDateBefore);
boolean updateCheck = false; boolean updateCheck = false;
if (goInTime) { if (goInTime) {
//如果是上班打卡区间范围,判断是否迟到 //如果是上班打卡区间范围,判断是否迟到
for (AttendanceRecordDetailEntity attendanceRecordDetailEntity : commonData.getDetailEntityList()) { for (AttendanceRecordDetailEntity attendanceRecordDetailEntity : commonData.getDetailEntityList()) {
...@@ -293,12 +286,10 @@ public class FixWorkOtherAttendance extends AttendanceWorkAbstract { ...@@ -293,12 +286,10 @@ public class FixWorkOtherAttendance extends AttendanceWorkAbstract {
commonData.getAttendanceRecordEntity().setClassId(attendanceClassDetailEntity == null ? 0L : attendanceClassDetailEntity.getClassId()); commonData.getAttendanceRecordEntity().setClassId(attendanceClassDetailEntity == null ? 0L : attendanceClassDetailEntity.getClassId());
commonData.getAttendanceRecordEntity().setClassName(attendanceClassDetailEntity == null ? "" : attendanceClassDetailEntity.getClassName()); commonData.getAttendanceRecordEntity().setClassName(attendanceClassDetailEntity == null ? "" : attendanceClassDetailEntity.getClassName());
} }
//todo 判断当日当前人员是否存在请假,有请假则重新计算考勤 并根据时间段 更新详细记录中的请假状态 //todo 判断当日当前人员是否存在请假,有请假则重新计算考勤 并根据时间段 更新详细记录中的请假状态
if (isLeave) { if (isLeave) {
//查看请假时间段,是否为跨天记录 //查看请假时间段,是否为跨天记录
for (AttendanceLeaveRecordEntity leaveRecord : leaveRecords) { for (AttendanceLeaveRecordEntity leaveRecord : leaveRecords) {
// AttendanceLeaveRecordEntity leaveRecord = leaveRecords.get(0);
long between = DateUtil.between(leaveRecord.getStartTime(), leaveRecord.getEndTime(), DateUnit.DAY); long between = DateUtil.between(leaveRecord.getStartTime(), leaveRecord.getEndTime(), DateUnit.DAY);
if (between > 0) { if (between > 0) {
//跨天 判断当前日期是否在全天,没在 就 //跨天 判断当前日期是否在全天,没在 就
...@@ -311,7 +302,6 @@ public class FixWorkOtherAttendance extends AttendanceWorkAbstract { ...@@ -311,7 +302,6 @@ public class FixWorkOtherAttendance extends AttendanceWorkAbstract {
//最后一天 //最后一天
calLeaveDate(commonData, DateUtil.parseDateTime(commonData.getDateStr() + " 00:00:00"), leaveRecord.getEndTime()); calLeaveDate(commonData, DateUtil.parseDateTime(commonData.getDateStr() + " 00:00:00"), leaveRecord.getEndTime());
} }
} else if (between == 0) { } else if (between == 0) {
calLeaveDate(commonData, leaveRecord.getStartTime(), leaveRecord.getEndTime()); calLeaveDate(commonData, leaveRecord.getStartTime(), leaveRecord.getEndTime());
} else { } else {
...@@ -335,14 +325,12 @@ public class FixWorkOtherAttendance extends AttendanceWorkAbstract { ...@@ -335,14 +325,12 @@ public class FixWorkOtherAttendance extends AttendanceWorkAbstract {
//当日 请假开始时间 //当日 请假开始时间
//修改当日记录集 //修改当日记录集
List<AttendanceRecordDetailEntity> detailEntityList = commonData.getDetailEntityList(); List<AttendanceRecordDetailEntity> detailEntityList = commonData.getDetailEntityList();
for (AttendanceRecordDetailEntity detail : detailEntityList) { for (AttendanceRecordDetailEntity detail : detailEntityList) {
Integer goWorkResult = detail.getGoWorkResult(); Integer goWorkResult = detail.getGoWorkResult();
Integer offWorkResult = detail.getOffWorkResult(); Integer offWorkResult = detail.getOffWorkResult();
Date goWorkDate = detail.getGoWorkDate(); Date goWorkDate = detail.getGoWorkDate();
Date offWorkDate = detail.getOffWorkDate(); Date offWorkDate = detail.getOffWorkDate();
AttendanceClassDetailEntity attendanceClassDetailEntity = classDetailEntityMap.get(detail.getShiftsId()); AttendanceClassDetailEntity attendanceClassDetailEntity = classDetailEntityMap.get(detail.getShiftsId());
if (GoWorkResultEnum.请假.getValue() < goWorkResult) { if (GoWorkResultEnum.请假.getValue() < goWorkResult) {
//判断 异常记录是否在请假时间段内 如果缺卡是没有goWorkDate的 //判断 异常记录是否在请假时间段内 如果缺卡是没有goWorkDate的
if (ObjectUtils.isEmpty(goWorkDate)) { if (ObjectUtils.isEmpty(goWorkDate)) {
...@@ -368,14 +356,11 @@ public class FixWorkOtherAttendance extends AttendanceWorkAbstract { ...@@ -368,14 +356,11 @@ public class FixWorkOtherAttendance extends AttendanceWorkAbstract {
} }
if (GoWorkResultEnum.请假.getValue() < offWorkResult) { if (GoWorkResultEnum.请假.getValue() < offWorkResult) {
//判断 异常记录是否在请假时间段内 //判断 异常记录是否在请假时间段内
// DateUtil.between()
if (ObjectUtils.isEmpty(offWorkDate)) { if (ObjectUtils.isEmpty(offWorkDate)) {
Date offWorkDate1 = attendanceClassDetailEntity.getOffWorkDate(); Date offWorkDate1 = attendanceClassDetailEntity.getOffWorkDate();
if (attendanceClassDetailEntity.getOffWorkDateBefore() > 0) { if (attendanceClassDetailEntity.getOffWorkDateBefore() > 0) {
offWorkDate1 = DateUtil.offsetMinute(offWorkDate1, -attendanceClassDetailEntity.getOffWorkDateBefore()); offWorkDate1 = DateUtil.offsetMinute(offWorkDate1, -attendanceClassDetailEntity.getOffWorkDateBefore());
} }
boolean in = DateUtil.isIn(offWorkDate1, DateUtil.parse(DateUtil.format(startLeaveTime, "HH:mm:ss"), "HH:mm:ss"), boolean in = DateUtil.isIn(offWorkDate1, DateUtil.parse(DateUtil.format(startLeaveTime, "HH:mm:ss"), "HH:mm:ss"),
DateUtil.parse(DateUtil.format(endLeaveTime, "HH:mm:ss"), "HH:mm:ss")); DateUtil.parse(DateUtil.format(endLeaveTime, "HH:mm:ss"), "HH:mm:ss"));
if (in) { if (in) {
...@@ -496,8 +481,6 @@ public class FixWorkOtherAttendance extends AttendanceWorkAbstract { ...@@ -496,8 +481,6 @@ public class FixWorkOtherAttendance extends AttendanceWorkAbstract {
AttendanceRecordErrorEntity attendanceRecordErrorEntity = errorService.selectOne(errorQuery, context); AttendanceRecordErrorEntity attendanceRecordErrorEntity = errorService.selectOne(errorQuery, context);
if (ObjectUtils.isEmpty(attendanceRecordErrorEntity)) { if (ObjectUtils.isEmpty(attendanceRecordErrorEntity)) {
errorService.save(errorEntity, context); errorService.save(errorEntity, context);
} else {
//log.info("异常记录已存在,不添加");
} }
} }
} }
...@@ -538,15 +521,12 @@ public class FixWorkOtherAttendance extends AttendanceWorkAbstract { ...@@ -538,15 +521,12 @@ public class FixWorkOtherAttendance extends AttendanceWorkAbstract {
public static void main(String[] args) { public static void main(String[] args) {
/* String date = "2021-05-01 09:00:00"; /* String date = "2021-05-01 09:00:00";
String endDate = "2021-05-02 18:00:00"; String endDate = "2021-05-02 18:00:00";
long between = DateUtil.between(DateUtil.parseDate(date), DateUtil.parseDate(endDate), DateUnit.DAY); long between = DateUtil.between(DateUtil.parseDate(date), DateUtil.parseDate(endDate), DateUnit.DAY);
System.out.println(between); System.out.println(between);
String curDateStr = "2024-01-05"; String curDateStr = "2024-01-05";
DateTime dateTime = DateUtil.parseDate(curDateStr); DateTime dateTime = DateUtil.parseDate(curDateStr);
DateTime start = DateUtil.parseDate("2024-01-05 18:45:15"); DateTime start = DateUtil.parseDate("2024-01-05 18:45:15");
DateTime end = DateUtil.parseDate("2024-01-05 08:45:15"); DateTime end = DateUtil.parseDate("2024-01-05 08:45:15");
boolean in = DateUtil.isIn(dateTime, start, end); boolean in = DateUtil.isIn(dateTime, start, end);
System.out.println(in);*/ System.out.println(in);*/
System.out.println(GoWorkResultEnum.getEnumMap().keySet()); System.out.println(GoWorkResultEnum.getEnumMap().keySet());
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment