Commit 323061b0 authored by 赵啸非's avatar 赵啸非

修改请假计算考勤

parent bf74e50e
......@@ -430,7 +430,39 @@ public class AttendanceRecordErrorServiceImpl extends AbstractCRUDServiceImpl<At
//当天
// 1.判断异常时间与请假开始时间那个大。
int compare = DateUtil.compare(entity.getErrorDateTime(), leaveRecord.getStartTime());
int compare1 = DateUtil.compare(entity.getErrorDateTime(), leaveRecord.getEndTime());
int compare2 = DateUtil.compare(entity.getErrorDateTime(), leaveRecord.getEndTime());
boolean in = DateUtil.isIn(goOffDateTime, leaveRecord.getStartTime(), leaveRecord.getEndTime());
if (in) {
//上班打卡时间在请假时间范围内,迟到分钟按照请假结束时间与异常时间做差值
long tempLate = DateUtil.between(leaveRecord.getEndTime(), entity.getErrorDateTime(), DateUnit.MINUTE, false);
if (tempLate > 0L) {
lateMinList.add(tempLate);
}
} else {
//不包含,则要多个判断
//1.请假开始时间 大于上班时间时候
int rightBig = DateUtil.compare(goOffDateTime, leaveRecord.getStartTime());
long leftRange = 0L;
if (rightBig <= 0) {
//多段值 左段值
leftRange = DateUtil.between(goOffDateTime, leaveRecord.getStartTime(), DateUnit.MINUTE, false);
}
//右段值
long leftRange1 = 0;
int rightBig1 = DateUtil.compare(leaveRecord.getEndTime(), entity.getErrorDateTime());
if (rightBig1 < 0) {
leftRange1 = DateUtil.between(leaveRecord.getEndTime(), entity.getErrorDateTime(), DateUnit.MINUTE, false);
}
leftRange = leftRange + leftRange1;
if(leftRange>0){
lateMinList.add(leftRange);
}
}
/*
if (compare < 0) {
//异常时间小于请假结束时间,迟到则计算异常时间与班次班次班时间还有前置时间差值
long tempLate = DateUtil.between(goOffDateTime, entity.getErrorDateTime(), DateUnit.MINUTE, false);
......@@ -444,7 +476,7 @@ public class AttendanceRecordErrorServiceImpl extends AbstractCRUDServiceImpl<At
if (tempLate > 0L) {
lateMinList.add(tempLate);
}
}
}*/
}
......@@ -458,7 +490,7 @@ public class AttendanceRecordErrorServiceImpl extends AbstractCRUDServiceImpl<At
} else {
lateMin = DateUtil.between(entity.getErrorDateTime(), entity.getGoOffDateTime(), DateUnit.MINUTE);
}
}else{
} else {
lateMin = DateUtil.between(entity.getErrorDateTime(), entity.getGoOffDateTime(), DateUnit.MINUTE);
}
......
......@@ -77,7 +77,7 @@ public class AttendanceRecordServiceImpl extends AbstractCRUDServiceImpl<Attenda
@Override
protected void updateAfter(AttendanceRecordEntity entity, Context context) throws AppException {
if (!ObjectUtils.isEmpty(entity.getAttendanceRecordDetailList())) {
if (!ObjectUtils.isEmpty(entity)&&!ObjectUtils.isEmpty(entity.getAttendanceRecordDetailList())) {
Long[] attendanceRecordDetailIds = attendanceRecordDetailService.find(new AttendanceRecordDetailQuery().recordId(entity.getId())).stream().map(AttendanceRecordDetailEntity::getId).toArray(Long[]::new);
attendanceRecordDetailService.remove(attendanceRecordDetailIds, context);
entity.getAttendanceRecordDetailList().stream().peek(item -> {
......
......@@ -560,7 +560,7 @@ public class FixWorkOtherAttendance extends AttendanceWorkAbstract {
if (ObjectUtils.isEmpty(attendanceRecordErrorEntity)) {
errorService.save(errorEntity, context);
}else {
log.info("异常记录已存在,不添加");
//log.info("异常记录已存在,不添加");
}
}
}
......
......@@ -37,8 +37,8 @@ POST {{baseUrl}}/attendance/record/hik/addAttendanceRecord
Content-Type: application/json
{
"attendanceDateStart": "2024-07-08",
"attendanceDateEnd": "2024-07-10"
"attendanceDateStart": "2024-07-01",
"attendanceDateEnd": "2024-07-31"
}
###海康考勤打卡记录计算1
......@@ -78,8 +78,8 @@ POST {{baseUrl}}/attendance/stat/summary
Content-Type: application/json
{
"summaryTimeStart": "2024-03-01",
"summaryTimeEnd": "2024-03-31"
"summaryTimeStart": "2024-07-01",
"summaryTimeEnd": "2024-07-31"
}
......
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