Deveolpment Study🗂️/Spring Framework
리스트에서 seq뽑아 새로운 로직수행 후 list에 담아 출력하기.
bompeach
2024. 1. 29. 10:32
//전체휴가현황리스트
List<VacationApplyVo> list = vacationService.findAllVacationApplyList(vacationApplyVo);
//model.addAttribute("list", list);
for(VacationApplyVo vo : list) {
int seq = vo.getSeq();
//사용일 구하는 로직에 seq담기
float appDate = vacationService.findAppDateFromVacation(seq);
vo.setAppDate(appDate);
}
model.addAttribute("list", list);
기존 list에 내가 새로 만든 appDate를 추가하려고함.
list를 먼저구하고, 반복문으로 list의 seq들을 뽑아내서 vacationService.findAppDateFromVacation에 넣어준다. 로직 돌면서 각 리스트의 appDate를 구한다.
appDate변수를 사용하기 위해 출력용인 appDate변수를 VO에 추가해줌.
/** [출력용] 사용일 */
Float appDate;
.
.
그럼 로그인유저의 사용일자를 result에 담아서 출력하려면?
두개의 seq가 필요하다. 로그인유저seq와 휴가신청목록seq.
public ResponseEntity<?> getApplyList(@AuthUser AccntVo authUser){
if(authUser == null || authUser.getSeq() == null) {
return ResponseEntity.badRequest().body(ErrorCode.ACCESS_DENIDED.getErrorMessage());
}
//이부분부터보면됨
List<VacationApplyVo> result = vacationService.findVacationApplyList(VacationApplyVo.builder().applyAccntSeq(authUser.getSeq()).build());
for(VacationApplyVo vo : result) {
vo.setApplyAccntName(authUser.getName());
vo.setApplyAccntCentral(authUser.getCentral());
if(authUser.getCentralDeptSeq() != authUser.getTeamDeptSeq()) {
vo.setApplyAccntTeam(authUser.getTeam());
}
//+ 나의휴가신청내역(신청일수)
int applyAccntSeq = authUser.getSeq(); //로그인유저seq
int seq = vo.getSeq(); //휴가신청목록seq
float appDate = vacationService.findMyAppDateFromVacation(applyAccntSeq, seq); // 개인 휴가 사용일 계산
vo.setAppDate(appDate);
}
return ResponseEntity.ok(result);
}
그럼 나의 휴가사용일( appDate )가 result에 잘 담겨서 출력된다.