살려줘 시리즈 1에 이어지는 내용입니다.
??? : 엑셀 데이터 정리 후에 조기 퇴근을 정리하는데 이것 좀 해줘라
SHH : 넴
4교대 기준으로 퇴근 시간이 정해져 있는데, 퇴근 시간보다 빨리 퇴근한 사람을 찾으면 되는 것
ex) 18시 퇴근 시간이면, 17~18시에 퇴근한 사람들
퇴근 시간 1시간 전에 해당하는 사람만 있으면 된다고, 그전에 퇴근한 사람은 상관 없다고 하네요
1탄에 있음으로 생략
private static List<List<ExcelHeader>> processor(ArrayList<ExcelHeader> excelHeaderDataList) {
Comparator<ExcelHeader> compare = Comparator
.comparing(ExcelHeader::getCardNumber)
.thenComparing(ExcelHeader::getIssueDate);
List<List<ExcelHeader>> groupingData = excelHeaderDataList.stream()
.filter(x -> isEarlyLeaveTime(x.getIssueTime()))
.collect(Collectors.groupingBy(ExcelHeader::getCompanyName))
.entrySet()
.stream()
.map(x -> x.getValue().stream().sorted(compare).collect(Collectors.toList()))
.collect(Collectors.toList());
return groupingData;
}
static boolean isEarlyLeaveTime(LocalTime issueTime){
List<Integer> earlyTime = Arrays.asList(6, 14, 16, 22);
return earlyTime.indexOf(issueTime.getHour()) >= 0;
}
List
를 만들어 퇴근 시간이 들어있으면 True 반납Comparator
를 사용하여 정렬 처리기존 1탄과 달라진게 있다면,
회사 별로 나누어 엑셀 파일을 떨군다는 정도?
OUTPUT 파일 한개 였다면, 지금은 회사 개수 만큼 엑셀 파일이 만들어진다
자세한 내용은 git 을 확인해 주세요