Commit ed128419 authored by 赵啸非's avatar 赵啸非

优化考勤计算

parent 2d879f6c
...@@ -43,6 +43,7 @@ import org.springframework.util.ObjectUtils; ...@@ -43,6 +43,7 @@ import org.springframework.util.ObjectUtils;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.math.RoundingMode; import java.math.RoundingMode;
import java.util.*; import java.util.*;
import java.util.stream.Collectors;
import static com.mortals.xhx.common.key.RedisKey.ATTENDANCE_STAT_TIME; import static com.mortals.xhx.common.key.RedisKey.ATTENDANCE_STAT_TIME;
import static com.mortals.xhx.common.key.RedisKey.STAFF_PERFORM_SUMMARY; import static com.mortals.xhx.common.key.RedisKey.STAFF_PERFORM_SUMMARY;
...@@ -247,6 +248,13 @@ public class AttendanceStatServiceImpl extends AbstractCRUDServiceImpl<Attendanc ...@@ -247,6 +248,13 @@ public class AttendanceStatServiceImpl extends AbstractCRUDServiceImpl<Attendanc
List<AttendanceStatEntity> updateList = new ArrayList<>(); List<AttendanceStatEntity> updateList = new ArrayList<>();
List<AttendanceStaffStatEntity> addStaffStat = new ArrayList<>(); List<AttendanceStaffStatEntity> addStaffStat = new ArrayList<>();
List<AttendanceStaffStatEntity> updateStaffStat = new ArrayList<>(); List<AttendanceStaffStatEntity> updateStaffStat = new ArrayList<>();
AttendanceRecordQuery attendanceRecordQuery = new AttendanceRecordQuery();
attendanceRecordQuery.setAttendanceDateStart(query.getSummaryTime());
attendanceRecordQuery.setAttendanceDateEnd(query.getSummaryTime());
Map<Long, AttendanceRecordEntity> staffRecordMap = recordService.find(attendanceRecordQuery).parallelStream().collect(Collectors.toMap(x -> x.getStaffId(), z -> z, (o, n) -> n));
for (VacationBalanceSummaryVo item : vacationBalanceSummaryVoList) { for (VacationBalanceSummaryVo item : vacationBalanceSummaryVoList) {
String entryDateStr = DateUtils.getStrDate(item.getEntryDate()); String entryDateStr = DateUtils.getStrDate(item.getEntryDate());
if(DateUtils.StrToDate(query.getSummaryTime()).compareTo(DateUtils.StrToDate(entryDateStr)) < 0){ if(DateUtils.StrToDate(query.getSummaryTime()).compareTo(DateUtils.StrToDate(entryDateStr)) < 0){
...@@ -314,12 +322,14 @@ public class AttendanceStatServiceImpl extends AbstractCRUDServiceImpl<Attendanc ...@@ -314,12 +322,14 @@ public class AttendanceStatServiceImpl extends AbstractCRUDServiceImpl<Attendanc
staffStat.setAttendanceSummary("正常"); staffStat.setAttendanceSummary("正常");
//todo 保存详细json信息到remark //todo 保存详细json信息到remark
AttendanceRecordQuery attendanceRecordQuery = new AttendanceRecordQuery(); /* AttendanceRecordQuery attendanceRecordQuery = new AttendanceRecordQuery();
attendanceRecordQuery.setStaffId(item.getStaffId()); attendanceRecordQuery.setStaffId(item.getStaffId());
attendanceRecordQuery.setAttendanceDateStart(query.getSummaryTime()); attendanceRecordQuery.setAttendanceDateStart(query.getSummaryTime());
attendanceRecordQuery.setAttendanceDateEnd(query.getSummaryTime()); attendanceRecordQuery.setAttendanceDateEnd(query.getSummaryTime());
AttendanceRecordEntity recordEntity = recordService.selectOne(attendanceRecordQuery); AttendanceRecordEntity recordEntity = recordService.selectOne(attendanceRecordQuery);*/
AttendanceRecordEntity recordEntity = staffRecordMap.get(item.getStaffId());
if(!ObjectUtils.isEmpty(recordEntity)){ if(!ObjectUtils.isEmpty(recordEntity)){
AttendanceRecordQuery detailQuery = new AttendanceRecordQuery(); AttendanceRecordQuery detailQuery = new AttendanceRecordQuery();
detailQuery.setStaffId(item.getStaffId()); detailQuery.setStaffId(item.getStaffId());
......
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