|
|
|
@ -80,6 +80,8 @@ public class AnlsHstryService {
|
|
|
|
|
//비행이력현황 list
|
|
|
|
|
public ComnPagingRs<AnlsHstryModel> list(AnlsHstryGroupModel rq){ |
|
|
|
|
Integer cstmrSno = jwtTokenUtil.getCstmrSnoByToken(); |
|
|
|
|
List<JwtGroupModel> groupAuthList = jwtTokenUtil.getGroupAuthByToken(); |
|
|
|
|
String groupAuth = null; |
|
|
|
|
String appAuth = jwtTokenUtil.getUserAuthByToken(); |
|
|
|
|
List<AnlsHstryModel>resultList = new ArrayList<>(); |
|
|
|
|
|
|
|
|
@ -87,40 +89,53 @@ public class AnlsHstryService {
|
|
|
|
|
Pageable pageable = PageRequest.of(rq.getPage()-1, rq.getRecord()); |
|
|
|
|
|
|
|
|
|
if("USER".equals(appAuth) || "ROLE_USER".equals(appAuth)) { |
|
|
|
|
if("NORMAL".equals(rq.getGroupId())) { |
|
|
|
|
List<ComIdntfBas> idntfList = comIdntBasRepository.findIdntfNumber(cstmrSno); /* App 권한이 유저이면서 group 권한도 모두 NORMAL인 ID인 경우 본인이 생성한 기체만 조회 */ |
|
|
|
|
if (idntfList.size() > 0) { |
|
|
|
|
for (ComIdntfBas list : idntfList) { |
|
|
|
|
List<AnlsHstryModel> results = query.cntrlBasNormalHstryList(rq, list.getIdntfNum()); |
|
|
|
|
if (results.size() > 0) { |
|
|
|
|
resultList.addAll(results); |
|
|
|
|
for(JwtGroupModel list : groupAuthList) { |
|
|
|
|
if(list.getGroupId().equals(rq.getGroupId())) { |
|
|
|
|
groupAuth = list.getGroupAuthCd(); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
if("NORMAL".equals(groupAuth)) { |
|
|
|
|
List<ComIdntfBas> idntfList = comIdntBasRepository.findIdntfNumber(cstmrSno); /* App 권한이 유저이면서 group 권한도 모두 NORMAL인 ID인 경우 본인이 생성한 기체만 조회 */ |
|
|
|
|
if (idntfList.size() > 0) { |
|
|
|
|
for (ComIdntfBas list : idntfList) { |
|
|
|
|
List<AnlsHstryModel> results = query.cntrlBasNormalHstryList(rq, list.getIdntfNum()); |
|
|
|
|
if (results.size() > 0) { |
|
|
|
|
resultList.addAll(results); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
List<FltPlanBas> basResult = fltPlanBasRepository.findByPlanSno(cstmrSno); /* App 권한이 유저이면서 group 권한도 모두 |
|
|
|
|
NORMAL인 ID인 경우 cstmrSno로 비행계획서 조회 */ |
|
|
|
|
for (FltPlanBas list : basResult) { |
|
|
|
|
resultList.addAll(query.cntrlBasNormalPlanHstryList(rq, list.getPlanSno())); |
|
|
|
|
} |
|
|
|
|
List<FltPlanPilot> pilotResult = fltPlanPilotRepository.findByPlanSno(cstmrSno); /* App 권한이 유저이면서 group 권한도 |
|
|
|
|
모두 NORMAL인 ID인 경우 cstmrSno로 조종사 조회 */ |
|
|
|
|
|
|
|
|
|
for (FltPlanPilot list : pilotResult) { |
|
|
|
|
resultList.addAll(query.cntrlBasNormalPlanHstryList(rq, list.getPlanSno())); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
Comparator<AnlsHstryModel> comparator = (o1, o2) -> { |
|
|
|
|
if (DateUtils.diffSecond(o1.getCntrlStDt(), o2.getCntrlStDt()) < 0) { |
|
|
|
|
return 1; |
|
|
|
|
} else if(DateUtils.diffSecond(o1.getCntrlStDt(), o2.getCntrlStDt()) > 0) { |
|
|
|
|
return -1; |
|
|
|
|
List<FltPlanBas> basResult = fltPlanBasRepository.findByPlanSno(cstmrSno); /* App 권한이 유저이면서 group 권한도 모두 |
|
|
|
|
NORMAL인 ID인 경우 cstmrSno로 비행계획서 조회 */ |
|
|
|
|
for (FltPlanBas list : basResult) { |
|
|
|
|
resultList.addAll(query.cntrlBasNormalPlanHstryList(rq, list.getPlanSno())); |
|
|
|
|
} |
|
|
|
|
return 0; |
|
|
|
|
}; |
|
|
|
|
Collections.sort(resultList, comparator); |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
}else { |
|
|
|
|
List<FltPlanPilot> pilotResult = fltPlanPilotRepository.findByPlanSno(cstmrSno); /* App 권한이 유저이면서 group 권한도 |
|
|
|
|
모두 NORMAL인 ID인 경우 cstmrSno로 조종사 조회 */ |
|
|
|
|
|
|
|
|
|
for (FltPlanPilot list : pilotResult) { |
|
|
|
|
resultList.addAll(query.cntrlBasNormalPlanHstryList(rq, list.getPlanSno())); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
Comparator<AnlsHstryModel> comparator = (o1, o2) -> { |
|
|
|
|
if (DateUtils.diffSecond(o1.getCntrlStDt(), o2.getCntrlStDt()) < 0) { |
|
|
|
|
return 1; |
|
|
|
|
} else if(DateUtils.diffSecond(o1.getCntrlStDt(), o2.getCntrlStDt()) > 0) { |
|
|
|
|
return -1; |
|
|
|
|
} |
|
|
|
|
return 0; |
|
|
|
|
}; |
|
|
|
|
Collections.sort(resultList, comparator); |
|
|
|
|
|
|
|
|
|
long totalPage = resultList.size() % rq.getRecord() > 0 ? (resultList.size()/rq.getRecord()) + 1 : resultList.size()/rq.getRecord(); |
|
|
|
|
PageImpl<AnlsHstryModel> result = new PageImpl<>(resultList, pageable, resultList.size()); |
|
|
|
|
response.setItems(result.getContent()); |
|
|
|
|
response.setTotal(resultList.size()); |
|
|
|
|
response.setTotalPage(totalPage); |
|
|
|
|
response.setPage(rq.getPage()); |
|
|
|
|
|
|
|
|
|
return response; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
PageImpl<AnlsHstryModel> result = query.listCntrlBasRs(rq, pageable); |
|
|
|
|
|
|
|
|
|
long total = query.countCntrlBasRs(rq, cstmrSno); |
|
|
|
@ -129,7 +144,6 @@ public class AnlsHstryService {
|
|
|
|
|
response.setTotal(total); |
|
|
|
|
response.setTotalPage(totalPage); |
|
|
|
|
response.setPage(rq.getPage()); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
return response; |
|
|
|
|
} |
|
|
|
|