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

Merge remote-tracking branch 'origin/master'

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