Commit 057a07b7 authored by 赵啸非's avatar 赵啸非

修改考勤汇总

parent 6b9810b9
......@@ -86,7 +86,7 @@ public class AttendanceRecordHikServiceImpl extends AbstractCRUDServiceImpl<Atte
//对相同工号的人员进行遍历判断考勤规则.
AttendanceRecordEntity attendanceRecordEntity = new AttendanceRecordEntity();
attendanceRecordEntity.initAttrValue();
List<AttendanceRecordDetailEntity> detailEntity = new ArrayList<>();
List<AttendanceRecordDetailEntity> detailEntityList = new ArrayList<>();
for (AttendanceRecordHikEntity item : attendanceRecordHikEntities) {
//对主表的对象进行赋值
if (StringUtils.isNull(attendanceRecordEntity) || StringUtils.isEmpty(attendanceRecordEntity.getStaffName())) {
......@@ -121,21 +121,26 @@ public class AttendanceRecordHikServiceImpl extends AbstractCRUDServiceImpl<Atte
AttendanceGroupEntity attendanceGroupEntity = attendanceGroupService.selectOne(attendanceGroupQuery.id(attendanceGroupStaffEntities.get(0).getGroupId()));
attendanceRecordEntity.setAttendanceGroupId(attendanceGroupEntity.getId());
attendanceRecordEntity.setAttendanceGroupName(attendanceGroupEntity.getGroupName());
log.info("attendanceGroupEntity.getId()=={}",attendanceGroupEntity.getId());
//查询考勤组详细信息获取班次
AttendanceGroupFixedworkQuery attendanceGroupFixedworkQuery = new AttendanceGroupFixedworkQuery();
AttendanceGroupFixedworkEntity attendanceGroupFixedworkEntity = attendanceGroupFixedworkService.selectOne(attendanceGroupFixedworkQuery.groupId(attendanceGroupEntity.getId()));
AttendanceGroupFixedworkEntity attendanceGroupFixedworkEntity = attendanceGroupFixedworkService.selectOne(new AttendanceGroupFixedworkQuery()
.groupId(attendanceGroupEntity.getId()));
//判断当前考勤日期为周几
Date attendanceDate1 = attendanceDate;
String week = this.getWeek(attendanceDate1);
log.info("week:{}",week);
//通过考勤日期的星期拿到班次id.
Long weekClassId = this.getWeekClassId(attendanceGroupFixedworkEntity, week);
log.info("weekClassId:{}",weekClassId);
//weekClassId为-1 则不在考勤
if (weekClassId == -1L) {
//跳过本次循环
continue;
}
//获取班次信息
AttendanceClassEntity attendanceClassEntity = attendanceClassService.selectOne(new AttendanceClassQuery().id(weekClassId));
//AttendanceClassEntity attendanceClassEntity = attendanceClassService.selectOne(new AttendanceClassQuery().id(weekClassId));
AttendanceClassEntity attendanceClassEntity = attendanceClassService.get(weekClassId);
if(ObjectUtils.isEmpty(attendanceClassEntity)){
log.info("attendanceClassEntity is null ,weekClassId:{}",weekClassId);
continue;
......@@ -145,7 +150,7 @@ public class AttendanceRecordHikServiceImpl extends AbstractCRUDServiceImpl<Atte
AttendanceClassDetailQuery attendanceClassDetailQuery = new AttendanceClassDetailQuery();
List<AttendanceClassDetailEntity> attendanceClassDetailEntities = attendanceClassDetailService.find(attendanceClassDetailQuery.classId(attendanceClassEntity.getId()));
Integer orderNum = 0;
if (detailEntity == null || detailEntity.size() == 0) {
if (ObjectUtils.isEmpty(detailEntityList)) {
for (AttendanceClassDetailEntity classDetailEntity : attendanceClassDetailEntities) {
orderNum++;
AttendanceRecordDetailEntity recordDetailEntity = new AttendanceRecordDetailEntity();
......@@ -154,7 +159,7 @@ public class AttendanceRecordHikServiceImpl extends AbstractCRUDServiceImpl<Atte
recordDetailEntity.setGoWorkResult(GoWorkResultEnum.缺卡.getValue());
recordDetailEntity.setOffWorkResult(GoWorkResultEnum.缺卡.getValue());
recordDetailEntity.setOrderNum(orderNum);
detailEntity.add(recordDetailEntity);
detailEntityList.add(recordDetailEntity);
}
}
for (AttendanceClassDetailEntity classDetail : attendanceClassDetailEntities) {
......@@ -178,7 +183,7 @@ public class AttendanceRecordHikServiceImpl extends AbstractCRUDServiceImpl<Atte
//如果是上班打卡,判断是否迟到
boolean inTime = isInTime(sdf.parse(sdf.format(attendanceDate)), goWorkDateBefore, sdf.parse(sdf.format(classDetail.getGoWorkDate())));
if (!inTime) {
for (AttendanceRecordDetailEntity attendanceRecordDetailEntity : detailEntity) {
for (AttendanceRecordDetailEntity attendanceRecordDetailEntity : detailEntityList) {
if (attendanceRecordDetailEntity.getShiftsId().longValue() == classDetail.getId().longValue()) {
attendanceRecordDetailEntity.setGoWorkResult(GoWorkResultEnum.迟到.getValue());
attendanceRecordDetailEntity.setGoWorkDate(attendanceDate);
......@@ -186,7 +191,7 @@ public class AttendanceRecordHikServiceImpl extends AbstractCRUDServiceImpl<Atte
}
}
if (inTime) {
for (AttendanceRecordDetailEntity attendanceRecordDetailEntity : detailEntity) {
for (AttendanceRecordDetailEntity attendanceRecordDetailEntity : detailEntityList) {
if (attendanceRecordDetailEntity.getShiftsId().longValue() == classDetail.getId().longValue()) {
attendanceRecordDetailEntity.setGoWorkResult(GoWorkResultEnum.正常.getValue());
attendanceRecordDetailEntity.setGoWorkDate(attendanceDate);
......@@ -197,7 +202,7 @@ public class AttendanceRecordHikServiceImpl extends AbstractCRUDServiceImpl<Atte
if (offInTime) {
boolean inTime = isInTime(sdf.parse(sdf.format(attendanceDate)), sdf.parse(sdf.format(classDetail.getOffWorkDate())), offWorkDateAfter);
if (!inTime) {
for (AttendanceRecordDetailEntity attendanceRecordDetailEntity : detailEntity) {
for (AttendanceRecordDetailEntity attendanceRecordDetailEntity : detailEntityList) {
if (attendanceRecordDetailEntity.getShiftsId().longValue() == classDetail.getId().longValue()) {
attendanceRecordDetailEntity.setOffWorkResult(GoWorkResultEnum.早退.getValue());
attendanceRecordDetailEntity.setOffWorkDate(attendanceDate);
......@@ -205,7 +210,7 @@ public class AttendanceRecordHikServiceImpl extends AbstractCRUDServiceImpl<Atte
}
}
if (inTime) {
for (AttendanceRecordDetailEntity attendanceRecordDetailEntity : detailEntity) {
for (AttendanceRecordDetailEntity attendanceRecordDetailEntity : detailEntityList) {
if (attendanceRecordDetailEntity.getShiftsId().longValue() == classDetail.getId().longValue()) {
attendanceRecordDetailEntity.setOffWorkResult(GoWorkResultEnum.正常.getValue());
attendanceRecordDetailEntity.setOffWorkDate(attendanceDate);
......@@ -244,7 +249,7 @@ public class AttendanceRecordHikServiceImpl extends AbstractCRUDServiceImpl<Atte
AttendanceClassDetailQuery attendanceClassDetailQuery = new AttendanceClassDetailQuery();
List<AttendanceClassDetailEntity> attendanceClassDetailEntities = attendanceClassDetailService.find(attendanceClassDetailQuery.classId(attendanceClassEntity.getId()));
Integer orderNum = 0;
if (detailEntity != null || detailEntity.size() == 0) {
if (detailEntityList != null || detailEntityList.size() == 0) {
for (AttendanceClassDetailEntity classDetailEntity : attendanceClassDetailEntities) {
orderNum++;
AttendanceRecordDetailEntity recordDetailEntity = new AttendanceRecordDetailEntity();
......@@ -253,7 +258,7 @@ public class AttendanceRecordHikServiceImpl extends AbstractCRUDServiceImpl<Atte
recordDetailEntity.setGoWorkResult(GoWorkResultEnum.缺卡.getValue());
recordDetailEntity.setOffWorkResult(GoWorkResultEnum.缺卡.getValue());
recordDetailEntity.setOrderNum(orderNum);
detailEntity.add(recordDetailEntity);
detailEntityList.add(recordDetailEntity);
}
}
for (AttendanceClassDetailEntity classDetail : attendanceClassDetailEntities) {
......@@ -277,7 +282,7 @@ public class AttendanceRecordHikServiceImpl extends AbstractCRUDServiceImpl<Atte
//如果是上班打卡,判断是否迟到
boolean inTime = isInTime(sdf.parse(sdf.format(attendanceDate)), goWorkDateBefore, sdf.parse(sdf.format(classDetail.getGoWorkDate())));
if (!inTime) {
for (AttendanceRecordDetailEntity attendanceRecordDetailEntity : detailEntity) {
for (AttendanceRecordDetailEntity attendanceRecordDetailEntity : detailEntityList) {
if (attendanceRecordDetailEntity.getShiftsId().equals(classDetail.getId())) {
attendanceRecordDetailEntity.setGoWorkResult(GoWorkResultEnum.迟到.getValue());
attendanceRecordDetailEntity.setGoWorkDate(attendanceDate);
......@@ -285,7 +290,7 @@ public class AttendanceRecordHikServiceImpl extends AbstractCRUDServiceImpl<Atte
}
}
if (inTime) {
for (AttendanceRecordDetailEntity attendanceRecordDetailEntity : detailEntity) {
for (AttendanceRecordDetailEntity attendanceRecordDetailEntity : detailEntityList) {
if (attendanceRecordDetailEntity.getShiftsId().equals(classDetail.getId())) {
attendanceRecordDetailEntity.setGoWorkResult(GoWorkResultEnum.正常.getValue());
attendanceRecordDetailEntity.setGoWorkDate(attendanceDate);
......@@ -296,7 +301,7 @@ public class AttendanceRecordHikServiceImpl extends AbstractCRUDServiceImpl<Atte
if (offInTime) {
boolean inTime = isInTime(sdf.parse(sdf.format(attendanceDate)), sdf.parse(sdf.format(classDetail.getOffWorkDate())), offWorkDateAfter);
if (!inTime) {
for (AttendanceRecordDetailEntity attendanceRecordDetailEntity : detailEntity) {
for (AttendanceRecordDetailEntity attendanceRecordDetailEntity : detailEntityList) {
if (attendanceRecordDetailEntity.getShiftsId().equals(classDetail.getId())) {
attendanceRecordDetailEntity.setOffWorkResult(GoWorkResultEnum.早退.getValue());
attendanceRecordDetailEntity.setOffWorkDate(attendanceDate);
......@@ -304,7 +309,7 @@ public class AttendanceRecordHikServiceImpl extends AbstractCRUDServiceImpl<Atte
}
}
if (inTime) {
for (AttendanceRecordDetailEntity attendanceRecordDetailEntity : detailEntity) {
for (AttendanceRecordDetailEntity attendanceRecordDetailEntity : detailEntityList) {
if (attendanceRecordDetailEntity.getShiftsId().equals(classDetail.getId())) {
attendanceRecordDetailEntity.setOffWorkResult(GoWorkResultEnum.正常.getValue());
attendanceRecordDetailEntity.setOffWorkDate(attendanceDate);
......@@ -318,7 +323,7 @@ public class AttendanceRecordHikServiceImpl extends AbstractCRUDServiceImpl<Atte
}
}
List<AttendanceRecordErrorEntity> errorEntityList = new ArrayList<>();
for (AttendanceRecordDetailEntity recordDetailEntity : detailEntity) {
for (AttendanceRecordDetailEntity recordDetailEntity : detailEntityList) {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
SimpleDateFormat sdft = new SimpleDateFormat("HH:mm:ss");
Integer goWorkResult = recordDetailEntity.getGoWorkResult();
......@@ -350,7 +355,6 @@ public class AttendanceRecordHikServiceImpl extends AbstractCRUDServiceImpl<Atte
errorEntity.setErrorStatus( ErrorStatusEnum.缺卡.getValue());
}
if (GoWorkResultEnum.迟到.getValue()==recordDetailEntity.getGoWorkResult() ) {
errorEntity.setErrorStatus( ErrorStatusEnum.迟到.getValue());
}
errorEntity.setProcessStatus(0);
......@@ -391,13 +395,13 @@ public class AttendanceRecordHikServiceImpl extends AbstractCRUDServiceImpl<Atte
}
}
if (detailEntity != null && detailEntity.size() > 0) {
if (detailEntityList != null && detailEntityList.size() > 0) {
if (errorEntityList != null && errorEntityList.size() > 0) {
errorService.save(errorEntityList, context);
}
attendanceRecordEntity.setShiftsName(detailEntity.get(0).getShiftsName());
attendanceRecordEntity.setShiftsId(attendanceClassDetailService.selectOne(new AttendanceClassDetailQuery().id(detailEntity.get(0).getShiftsId())).getClassId());
attendanceRecordEntity.setAttendanceRecordDetailList(detailEntity);
attendanceRecordEntity.setShiftsName(detailEntityList.get(0).getShiftsName());
attendanceRecordEntity.setShiftsId(attendanceClassDetailService.selectOne(new AttendanceClassDetailQuery().id(detailEntityList.get(0).getShiftsId())).getClassId());
attendanceRecordEntity.setAttendanceRecordDetailList(detailEntityList);
attendanceRecordService.save(attendanceRecordEntity, context);
}
......
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