Browse Source

비행이력현황 페이징 작업

Test
qkr7828(박재우) 2 years ago
parent
commit
bce7f033bf
  1. 48
      src/main/java/com/palnet/biz/api/anls/hstry/service/AnlsHstryService.java
  2. 68
      src/main/java/com/palnet/biz/jpa/repository/ctr/CtrCntrlQueryRepository.java

48
src/main/java/com/palnet/biz/api/anls/hstry/service/AnlsHstryService.java

@ -83,7 +83,7 @@ public class AnlsHstryService {
List<JwtGroupModel> groupAuthList = jwtTokenUtil.getGroupAuthByToken();
String groupAuth = null;
String appAuth = jwtTokenUtil.getUserAuthByToken();
List<AnlsHstryModel>resultList = new ArrayList<>();
PageImpl<AnlsHstryModel>resultList;
ComnPagingRs<AnlsHstryModel> response = new ComnPagingRs<>();
Pageable pageable = PageRequest.of(rq.getPage()-1, rq.getRecord());
@ -94,56 +94,30 @@ public class AnlsHstryService {
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;
// }
// return 0;
// };
// Collections.sort(resultList, comparator);
List<ComIdntfBas> idntfList = comIdntBasRepository.findIdntfNumber(cstmrSno);
List<FltPlanBas> basResult = fltPlanBasRepository.findByPlanSno(cstmrSno);
List<FltPlanPilot> pilotList = fltPlanPilotRepository.findByPlanSno(cstmrSno);
List<FltPlanBas> pilotResult = new ArrayList<>();
for(FltPlanPilot list : pilotList) {
pilotResult = fltPlanBasRepository.findBasList(list.getPlanSno());
}
resultList = query.cntrlBasNormalHstryList(rq, idntfList, basResult, pilotResult);
resultList = query.cntrlBasNormalHstryList(rq, pageable, idntfList, basResult, pilotResult);
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());
long total = query.cntrlBasNormalHstryCount(rq, idntfList, basResult, pilotResult);
long totalPage = total % rq.getRecord() > 0 ? total/rq.getRecord() + 1 : total/rq.getRecord();
response.setItems(resultList.getContent());
response.setTotal(total);
response.setTotalPage(totalPage);
response.setPage(rq.getPage());
return response;
}
}
PageImpl<AnlsHstryModel> result = query.listCntrlBasRs(rq, pageable);
long total = query.countCntrlBasRs(rq, cstmrSno);

68
src/main/java/com/palnet/biz/jpa/repository/ctr/CtrCntrlQueryRepository.java

@ -259,7 +259,7 @@ public class CtrCntrlQueryRepository{
return result;
}
public List<AnlsHstryModel> cntrlBasNormalHstryList(AnlsHstryGroupModel rq, List<ComIdntfBas> idntfList, List<FltPlanBas> basResult, List<FltPlanBas> pilotResult){
public PageImpl<AnlsHstryModel> cntrlBasNormalHstryList(AnlsHstryGroupModel rq, Pageable pageable, List<ComIdntfBas> idntfList, List<FltPlanBas> basResult, List<FltPlanBas> pilotResult){
QCtrCntrlBas qCntrlBasEntity = QCtrCntrlBas.ctrCntrlBas;
QCtrCntrlHstryArea qCntrlHstryAreaEntity = QCtrCntrlHstryArea.ctrCntrlHstryArea;
@ -293,7 +293,7 @@ public List<AnlsHstryModel> cntrlBasNormalHstryList(AnlsHstryGroupModel rq, List
builder.and(qCntrlBasEntity.idntfNum.like("%" + rq.getSearch1() + "%"));
}
ArrayList<AnlsHstryModel> result = new ArrayList<AnlsHstryModel>();
List<AnlsHstryModel> result = new ArrayList<>();
List<AnlsHstryModel> queryList = query.select(Projections.bean(AnlsHstryModel.class ,
qCntrlBasEntity.cntrlId,
@ -340,6 +340,8 @@ public List<AnlsHstryModel> cntrlBasNormalHstryList(AnlsHstryGroupModel rq, List
.or(basBuilder)
.or(pilotBuilder)))
.orderBy(qCntrlBasEntity.cntrlStDt.asc())
.offset(pageable.getOffset())
.limit(pageable.getPageSize())
.fetch();
for(AnlsHstryModel model: queryList) {
@ -370,7 +372,7 @@ public List<AnlsHstryModel> cntrlBasNormalHstryList(AnlsHstryGroupModel rq, List
return result;
return new PageImpl<>(result, pageable, result.size());
}
public List<AnlsHstryModel> cntrlBasNormalList(AnlsHstryRqModel rq, String idntfNum){
@ -465,14 +467,17 @@ public List<AnlsHstryModel> cntrlBasNormalHstryList(AnlsHstryGroupModel rq, List
return result;
}
public List<AnlsHstryModel> cntrlBasNormalPlanHstryList(AnlsHstryGroupModel rq, int planSno){
public long cntrlBasNormalHstryCount(AnlsHstryGroupModel rq, List<ComIdntfBas> idntfList, List<FltPlanBas> basResult, List<FltPlanBas> pilotResult){
QCtrCntrlBas qCntrlBasEntity = QCtrCntrlBas.ctrCntrlBas;
QCtrCntrlHstryArea qCntrlHstryAreaEntity = QCtrCntrlHstryArea.ctrCntrlHstryArea;
QFltPlanCtrCntrlRel qFltPlanCtrCntrlRelEntity = QFltPlanCtrCntrlRel.fltPlanCtrCntrlRel;
QFltPlanBas qFltPlanBasEntity = QFltPlanBas.fltPlanBas;
BooleanBuilder builder = new BooleanBuilder();
BooleanBuilder idntfBuilder = new BooleanBuilder();
BooleanBuilder basBuilder = new BooleanBuilder();
BooleanBuilder pilotBuilder = new BooleanBuilder();
Calendar end = Calendar.getInstance();
end.setTime(DateUtils.stringToDate(rq.getEndDate()));
@ -481,15 +486,24 @@ public List<AnlsHstryModel> cntrlBasNormalHstryList(AnlsHstryGroupModel rq, List
builder.and(qCntrlBasEntity.cntrlStDt.after(DateUtils.stringToDate(rq.getStDate())));
builder.and(qCntrlBasEntity.cntrlEndDt.before(endDate));
builder.and(qFltPlanCtrCntrlRelEntity.planSno.eq(planSno));
builder.and(qCntrlBasEntity.statusCd.eq("99"));
for(ComIdntfBas list : idntfList) {
idntfBuilder.and(qCntrlBasEntity.idntfNum.eq(list.getIdntfNum()));
}
for(FltPlanBas list : basResult) {
basBuilder.and(qFltPlanCtrCntrlRelEntity.planSno.eq(list.getPlanSno()));
}
for(FltPlanBas list : pilotResult) {
pilotBuilder.and(qFltPlanCtrCntrlRelEntity.planSno.eq(list.getPlanSno()));
}
if(!StringUtils.isEmpty(rq.getSearch1())) {
builder.and(qCntrlBasEntity.idntfNum.like("%" + rq.getSearch1() + "%"));
}
ArrayList<AnlsHstryModel> result = new ArrayList<AnlsHstryModel>();
List<AnlsHstryModel> queryList = query.select(Projections.bean(AnlsHstryModel.class ,
long result = query.select(Projections.bean(AnlsHstryModel.class ,
qCntrlBasEntity.cntrlId,
qCntrlBasEntity.idntfNum,
qCntrlBasEntity.statusCd,
@ -526,37 +540,15 @@ public List<AnlsHstryModel> cntrlBasNormalHstryList(AnlsHstryGroupModel rq, List
.on(qCntrlHstryAreaEntity.actnType.eq("01"))
.leftJoin(qFltPlanCtrCntrlRelEntity)
.on(qCntrlBasEntity.cntrlId.eq(qFltPlanCtrCntrlRelEntity.cntrlId))
.where(builder)
.leftJoin(qFltPlanBasEntity)
.on(qFltPlanCtrCntrlRelEntity.planSno.eq(qFltPlanBasEntity.planSno))
.where((builder)
.and(
(idntfBuilder)
.or(basBuilder)
.or(pilotBuilder)))
.orderBy(qCntrlBasEntity.cntrlStDt.asc())
.fetch();
for(AnlsHstryModel model: queryList) {
String addr = "";
if(!StringUtils.isEmpty(model.getArea1())) {
addr = addr + " " + model.getArea1();
}
if(!StringUtils.isEmpty(model.getArea2())) {
addr = addr + " " + model.getArea2();
}
if(!StringUtils.isEmpty(model.getArea3())) {
addr = addr + " " + model.getArea3();
}
if(!StringUtils.isEmpty(model.getLandNm())) {
addr = addr + " " + model.getLandNm();
}
if(!StringUtils.isEmpty(model.getLandNum())) {
addr = addr + " " + model.getLandNum();
}
model.setStArea(addr);
result.add(model);
}
.fetchCount();
return result;
}

Loading…
Cancel
Save