| | |
| | | public void exportStaffAttendanceRecords(HttpServletResponse response, StaffAttendanceDTO staffAttendanceDTO) { |
| | | response.reset(); |
| | | try{ |
| | | //查询人员架构 |
| | | List<User> userList = userMapper.selectUserListByPerformance(false); |
| | | List<Integer> userIdList = userList.stream().map(User::getId).collect(Collectors.toList()); |
| | | List<LocalDate> attendanceDateList = buildAttendanceDateList(staffAttendanceDTO); |
| | | //批注信息坐标信息 |
| | | List<StaffAttendanceAnnotationTextExcelData> annotationTextList = new ArrayList<>(); |
| | |
| | | //组装导出数据 |
| | | List<StaffAttendanceExcelData> excelData = new ArrayList<>(); |
| | | Map<Integer, List<PerformanceShiftMapDto>> groupByUserId = performanceShifts.stream().collect(Collectors.groupingBy(PerformanceShiftMapDto::getUserId)); |
| | | List<Integer> userIdKeys = groupByUserId.keySet().stream().sorted().collect(Collectors.toList()); |
| | | List<Integer> userIdKeys = groupByUserId.keySet().stream().sorted(Comparator.comparing(userIdList::indexOf)).collect(Collectors.toList()); |
| | | for (int i = 0; i < userIdKeys.size(); i++) { |
| | | List<PerformanceShiftMapDto> shiftMapDtos = groupByUserId.get(userIdKeys.get(i)); |
| | | StaffAttendanceExcelData attendanceExcelData = new StaffAttendanceExcelData(); |