From ae3d52e0a2b0f0c15433466ba3235f468b1e3f2a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?qkr7828=28=EB=B0=95=EC=9E=AC=EC=9A=B0=29?= <박재우@DESKTOP-EF7ECBO> Date: Fri, 14 Oct 2022 10:27:06 +0900 Subject: [PATCH] =?UTF-8?q?Smlt=20=EB=AA=A9=EB=A1=9D=20=ED=95=84=ED=84=B0?= =?UTF-8?q?=20,=20Hstry=20=EB=AA=A9=EB=A1=9D=20=ED=95=84=ED=84=B0(hstry=20?= =?UTF-8?q?=EB=AF=B8=EC=99=84=EC=84=B1)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../anls/smlt/service/AnlsSmltService.java | 74 ++--- .../ctr/CtrCntrlQueryRepository.java | 308 +++++++++++++++++- 2 files changed, 318 insertions(+), 64 deletions(-) diff --git a/src/main/java/com/palnet/biz/api/anls/smlt/service/AnlsSmltService.java b/src/main/java/com/palnet/biz/api/anls/smlt/service/AnlsSmltService.java index 9922d54..ce8950e 100644 --- a/src/main/java/com/palnet/biz/api/anls/smlt/service/AnlsSmltService.java +++ b/src/main/java/com/palnet/biz/api/anls/smlt/service/AnlsSmltService.java @@ -68,16 +68,20 @@ public class AnlsSmltService { public ComnPagingRs list(AnlsHstryRqModel rq){ String appAuth = jwtTokenUtil.getUserAuthByToken(); List groupAuth = jwtTokenUtil.getGroupAuthByToken(); + List adminAuth = new ArrayList<>(); Integer cstmrSno = jwtTokenUtil.getCstmrSnoByToken(); ComnPagingRs response = new ComnPagingRs<>(); Pageable pageable = PageRequest.of(rq.getPage()-1, rq.getRecord()); PageImpl result; ListresultList = new ArrayList<>(); - long total = resultList.size(); - long totalPage = total % rq.getRecord() > 0 ? (total/rq.getRecord()) + 1 : total/rq.getRecord(); - if("SUPER".equals(appAuth)||"ADMIN".equals(appAuth)) { // App 권한이 수퍼 / 어드민일 경우 목록 전부 표출 + + if("SUPER".equals(appAuth)||"ADMIN".equals(appAuth)) {// App 권한이 수퍼 / 어드민일 경우 목록 전부 표출 + long total = resultList.size(); + long totalPage = total % rq.getRecord() > 0 ? (total/rq.getRecord()) + 1 : total/rq.getRecord(); + result = query.listCntrlBas(rq, pageable); + response.setItems(result.getContent()); response.setTotal(total); response.setTotalPage(totalPage); @@ -85,60 +89,36 @@ public class AnlsSmltService { return response; } - if("USER".equals(appAuth) || "ROLE_USER".equals(appAuth)) { // App 권한은 user이지만 group 권한이 LEADER / MASTER인 그룹이 있는 경우 해당 그룹의 비행 이력 목록 표출 + if("USER".equals(appAuth) || "ROLE_USER".equals(appAuth)) { for (JwtGroupModel list : groupAuth) { if("MASTER".equals(list.getGroupAuthCd()) || "LEADER".equals(list.getGroupAuthCd())) { - List results = query.cntrlBasAuthList(rq, list.getGroupId()); - if (results.size() > 0) { - resultList.addAll(results); - } + adminAuth.add(list); } } } - if ( resultList.size() < 1) { /* App 권한이 유저이면서 group 권한도 모두 NORMAL인 ID인 경우 본인이 생성한 기체만 조회 */ - List idntfList = comIdntBasRepository.findIdntfNumber(cstmrSno); - if (idntfList.size() > 0) { - for (ComIdntfBas list : idntfList) { - List results = query.cntrlBasNormalList(rq, list.getIdntfNum()); - if (results.size() > 0) { - resultList.addAll(results); - } - } - } - List basResult = fltPlanBasRepository.findByPlanSno(cstmrSno); /* App 권한이 유저이면서 group 권한도 모두 - NORMAL인 ID인 경우 cstmrSno로 비행계획서 조회 */ - for (FltPlanBas list : basResult) { - resultList.addAll(query.cntrlBasNormalPlanList(rq, list.getPlanSno())); - } - List pilotResult = fltPlanPilotRepository.findByPlanSno(cstmrSno); /* App 권한이 유저이면서 group 권한도 - 모두 NORMAL인 ID인 경우 cstmrSno로 조종사 조회 */ - - for (FltPlanPilot list : pilotResult) { - resultList.addAll(query.cntrlBasNormalPlanList(rq, list.getPlanSno())); - } - - Comparator 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); - PageImpl res = new PageImpl<>(resultList, pageable, resultList.size()); - response.setItems(res.getContent()); - response.setTotal(total); - response.setTotalPage(totalPage); - response.setPage(rq.getPage()); - } - + List idntfList = comIdntBasRepository.findIdntfNumber(cstmrSno); + List basResult = fltPlanBasRepository.findByPlanSno(cstmrSno); + List pilotList = fltPlanPilotRepository.findByPlanSno(cstmrSno); + List pilotResult = new ArrayList<>(); + for(FltPlanPilot list : pilotList) { + pilotResult = fltPlanBasRepository.findBasList(list.getPlanSno()); + } + result = query.cntrlBasNormalSmltList(rq, pageable, adminAuth, idntfList, basResult, pilotResult); // App 권한은 user이지만 group 권한이 LEADER / MASTER인 그룹이 있는 경우 해당 비행 이력 목록 표출 + // group 권한이 Normal인 경우 본인이 작성한 비행계획서의 이력 / 본인이 조종사인 기체 이력/ 본인이 등록한 기체 이력 표출 + + long total = query.cntrlBasNormalSmltCount(rq, adminAuth, idntfList, basResult, pilotResult); + + long totalPage = total % rq.getRecord() > 0 ? total/rq.getRecord() + 1 : total/rq.getRecord(); + response.setItems(result.getContent()); + response.setTotal(total); + response.setTotalPage(totalPage); + response.setPage(rq.getPage()); return response; + } /** diff --git a/src/main/java/com/palnet/biz/jpa/repository/ctr/CtrCntrlQueryRepository.java b/src/main/java/com/palnet/biz/jpa/repository/ctr/CtrCntrlQueryRepository.java index 4d34d05..b2cbc30 100644 --- a/src/main/java/com/palnet/biz/jpa/repository/ctr/CtrCntrlQueryRepository.java +++ b/src/main/java/com/palnet/biz/jpa/repository/ctr/CtrCntrlQueryRepository.java @@ -78,7 +78,9 @@ public class CtrCntrlQueryRepository{ QCtrCntrlBas qCntrlBasEntity = QCtrCntrlBas.ctrCntrlBas; QCtrCntrlHstryArea qCntrlHstryAreaEntity = QCtrCntrlHstryArea.ctrCntrlHstryArea; - + QFltPlanCtrCntrlRel qFltPlanCtrCntrlRel = QFltPlanCtrCntrlRel.fltPlanCtrCntrlRel; + QFltPlanBas qFltPlanBas = QFltPlanBas.fltPlanBas; + BooleanBuilder builder = new BooleanBuilder(); builder.and(qCntrlBasEntity.statusCd.eq("99")); @@ -88,6 +90,9 @@ public class CtrCntrlQueryRepository{ Date endDate = end.getTime(); builder.and(qCntrlBasEntity.cntrlStDt.after(DateUtils.stringToDate(rq.getStDate()))); builder.and(qCntrlBasEntity.cntrlEndDt.before(endDate)); + builder.and(qCntrlBasEntity.statusCd.eq("99")); + builder.and(qFltPlanBas.aprvlYn.eq("Y")); + if(!StringUtils.isEmpty(rq.getSearch1())) { builder.and(qCntrlBasEntity.idntfNum.like("%" + rq.getSearch1() + "%")); } @@ -129,6 +134,10 @@ public class CtrCntrlQueryRepository{ .leftJoin(qCntrlHstryAreaEntity) .on(qCntrlBasEntity.cntrlId.eq(qCntrlHstryAreaEntity.cntrlId)) .on(qCntrlHstryAreaEntity.actnType.eq("01")) + .leftJoin(qFltPlanCtrCntrlRel) + .on(qCntrlBasEntity.cntrlId.eq(qFltPlanCtrCntrlRel.cntrlId)) + .leftJoin(qFltPlanBas) + .on(qFltPlanCtrCntrlRel.planSno.eq(qFltPlanBas.planSno)) .where(builder) .orderBy(qCntrlBasEntity.cntrlStDt.asc()) .offset(pageable.getOffset()) @@ -275,18 +284,159 @@ public class CtrCntrlQueryRepository{ end.setTime(DateUtils.stringToDate(rq.getEndDate())); end.add(Calendar.DATE, 1); Date endDate = end.getTime(); + + builder.and(qFltPlanCtrCntrlRelEntity.groupId.eq(rq.getGroupId())); builder.and(qCntrlBasEntity.cntrlStDt.after(DateUtils.stringToDate(rq.getStDate()))); builder.and(qCntrlBasEntity.cntrlEndDt.before(endDate)); + builder.and(qCntrlBasEntity.statusCd.eq("99")); + builder.and(qFltPlanBasEntity.aprvlYn.eq("Y")); + + if(idntfList.size()>0) { + for(ComIdntfBas list : idntfList) { + idntfBuilder.or(qCntrlBasEntity.idntfNum.eq(list.getIdntfNum())); + } + } + if(basResult.size()>0) { + for(FltPlanBas list : basResult) { + basBuilder.or(qFltPlanCtrCntrlRelEntity.planSno.eq(list.getPlanSno())); + } + } + if(pilotResult.size()>0) { + for(FltPlanBas list : pilotResult) { + pilotBuilder.or(qFltPlanCtrCntrlRelEntity.planSno.eq(list.getPlanSno())); + } + } + if(!StringUtils.isEmpty(rq.getSearch1())) { + builder.and(qCntrlBasEntity.idntfNum.like("%" + rq.getSearch1() + "%")); + } + + List result = new ArrayList<>(); + + List queryList = query.select(Projections.bean(AnlsHstryModel.class , + qCntrlBasEntity.cntrlId, + qCntrlBasEntity.idntfNum, + qCntrlBasEntity.statusCd, + qCntrlBasEntity.objectTypeCd, + qCntrlBasEntity.flghtStDt, + qCntrlBasEntity.flghtEndDt, + qCntrlBasEntity.cntrlStDt, + qCntrlBasEntity.cntrlEndDt, + qCntrlBasEntity.ttlTime, + qCntrlBasEntity.ttlTimeType, + qCntrlBasEntity.ttlDstnc, + qCntrlBasEntity.ttlDstncType, + qCntrlBasEntity.avrgSpeed, + qCntrlBasEntity.avrgSpeedType, + qCntrlBasEntity.bttrCnsmptn, + qCntrlBasEntity.endTypeCd, + qCntrlBasEntity.createDt, + qCntrlBasEntity.updateDt, + qCntrlHstryAreaEntity.actnType, + qCntrlHstryAreaEntity.area1, + qCntrlHstryAreaEntity.area2, + qCntrlHstryAreaEntity.area3, + qCntrlHstryAreaEntity.areaNm, + qCntrlHstryAreaEntity.areaType, + qCntrlHstryAreaEntity.landNm, + qCntrlHstryAreaEntity.landNum, + qCntrlHstryAreaEntity.zipCd + + + )) + .from(qCntrlBasEntity) + .leftJoin(qCntrlHstryAreaEntity) + .on(qCntrlBasEntity.cntrlId.eq(qCntrlHstryAreaEntity.cntrlId)) + .on(qCntrlHstryAreaEntity.actnType.eq("01")) + .leftJoin(qFltPlanCtrCntrlRelEntity) + .on(qCntrlBasEntity.cntrlId.eq(qFltPlanCtrCntrlRelEntity.cntrlId)) + .leftJoin(qFltPlanBasEntity) + .on(qFltPlanCtrCntrlRelEntity.planSno.eq(qFltPlanBasEntity.planSno)) + .where((builder) + .and( + (idntfBuilder) + .or(basBuilder) + .or(pilotBuilder))) + .orderBy(qCntrlBasEntity.cntrlStDt.asc()) + .offset(pageable.getOffset()) + .limit(pageable.getPageSize()) + .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); + } + + + + return new PageImpl<>(result, pageable, result.size()); + } + public PageImpl cntrlBasNormalSmltList(AnlsHstryRqModel rq, + Pageable pageable, + List adminAuth, + List idntfList, + List basResult, + List pilotResult){ + + QCtrCntrlBas qCntrlBasEntity = QCtrCntrlBas.ctrCntrlBas; + QCtrCntrlHstryArea qCntrlHstryAreaEntity = QCtrCntrlHstryArea.ctrCntrlHstryArea; + QFltPlanCtrCntrlRel qFltPlanCtrCntrlRelEntity = QFltPlanCtrCntrlRel.fltPlanCtrCntrlRel; + QFltPlanBas qFltPlanBasEntity = QFltPlanBas.fltPlanBas; + + BooleanBuilder builder = new BooleanBuilder(); + BooleanBuilder adminBuilder = new BooleanBuilder(); + BooleanBuilder idntfBuilder = new BooleanBuilder(); + BooleanBuilder basBuilder = new BooleanBuilder(); + BooleanBuilder pilotBuilder = new BooleanBuilder(); + + Calendar end = Calendar.getInstance(); + end.setTime(DateUtils.stringToDate(rq.getEndDate())); + end.add(Calendar.DATE, 1); + Date endDate = end.getTime(); + builder.and(qCntrlBasEntity.cntrlStDt.after(DateUtils.stringToDate(rq.getStDate()))); + builder.and(qCntrlBasEntity.cntrlEndDt.before(endDate)); + builder.and(qFltPlanBasEntity.aprvlYn.eq("Y")); builder.and(qCntrlBasEntity.statusCd.eq("99")); - for(ComIdntfBas list : idntfList) { - idntfBuilder.and(qCntrlBasEntity.idntfNum.eq(list.getIdntfNum())); + + if(adminAuth.size()>0) { + for(JwtGroupModel list : adminAuth) { + adminBuilder.or(qFltPlanCtrCntrlRelEntity.groupId.eq(list.getGroupId())); + } + } + if(idntfList.size()>0) { + for(ComIdntfBas list : idntfList) { + idntfBuilder.or(qCntrlBasEntity.idntfNum.eq(list.getIdntfNum())); + } } - for(FltPlanBas list : basResult) { - basBuilder.and(qFltPlanCtrCntrlRelEntity.planSno.eq(list.getPlanSno())); + if(basResult.size()>0) { + for(FltPlanBas list : basResult) { + basBuilder.or(qFltPlanCtrCntrlRelEntity.planSno.eq(list.getPlanSno())); + } } - for(FltPlanBas list : pilotResult) { - pilotBuilder.and(qFltPlanCtrCntrlRelEntity.planSno.eq(list.getPlanSno())); + if(pilotResult.size()>0) { + for(FltPlanBas list : pilotResult) { + pilotBuilder.or(qFltPlanCtrCntrlRelEntity.planSno.eq(list.getPlanSno())); + } } if(!StringUtils.isEmpty(rq.getSearch1())) { @@ -337,11 +487,13 @@ public class CtrCntrlQueryRepository{ .where((builder) .and( (idntfBuilder) + .or(adminBuilder) .or(basBuilder) .or(pilotBuilder))) .orderBy(qCntrlBasEntity.cntrlStDt.asc()) .offset(pageable.getOffset()) .limit(pageable.getPageSize()) + .fetch(); for(AnlsHstryModel model: queryList) { @@ -374,7 +526,6 @@ public class CtrCntrlQueryRepository{ return new PageImpl<>(result, pageable, result.size()); } - public List cntrlBasNormalList(AnlsHstryRqModel rq, String idntfNum){ QCtrCntrlBas qCntrlBasEntity = QCtrCntrlBas.ctrCntrlBas; @@ -483,18 +634,27 @@ public class CtrCntrlQueryRepository{ end.setTime(DateUtils.stringToDate(rq.getEndDate())); end.add(Calendar.DATE, 1); Date endDate = end.getTime(); + + builder.and(qFltPlanCtrCntrlRelEntity.groupId.eq(rq.getGroupId())); builder.and(qCntrlBasEntity.cntrlStDt.after(DateUtils.stringToDate(rq.getStDate()))); builder.and(qCntrlBasEntity.cntrlEndDt.before(endDate)); - + builder.and(qFltPlanBasEntity.aprvlYn.eq("Y")); builder.and(qCntrlBasEntity.statusCd.eq("99")); - for(ComIdntfBas list : idntfList) { - idntfBuilder.and(qCntrlBasEntity.idntfNum.eq(list.getIdntfNum())); + + if(idntfList.size()>0) { + for(ComIdntfBas list : idntfList) { + idntfBuilder.or(qCntrlBasEntity.idntfNum.eq(list.getIdntfNum())); + } } - for(FltPlanBas list : basResult) { - basBuilder.and(qFltPlanCtrCntrlRelEntity.planSno.eq(list.getPlanSno())); + if(basResult.size()>0) { + for(FltPlanBas list : basResult) { + basBuilder.or(qFltPlanCtrCntrlRelEntity.planSno.eq(list.getPlanSno())); + } } - for(FltPlanBas list : pilotResult) { - pilotBuilder.and(qFltPlanCtrCntrlRelEntity.planSno.eq(list.getPlanSno())); + if(pilotResult.size()>0) { + for(FltPlanBas list : pilotResult) { + pilotBuilder.or(qFltPlanCtrCntrlRelEntity.planSno.eq(list.getPlanSno())); + } } if(!StringUtils.isEmpty(rq.getSearch1())) { @@ -553,7 +713,106 @@ public class CtrCntrlQueryRepository{ return result; } -public List cntrlBasNormalPlanList(AnlsHstryRqModel rq, int planSno){ + public long cntrlBasNormalSmltCount(AnlsHstryRqModel rq, List adminAuth, List idntfList, List basResult, List pilotResult){ + + QCtrCntrlBas qCntrlBasEntity = QCtrCntrlBas.ctrCntrlBas; + QCtrCntrlHstryArea qCntrlHstryAreaEntity = QCtrCntrlHstryArea.ctrCntrlHstryArea; + QFltPlanCtrCntrlRel qFltPlanCtrCntrlRelEntity = QFltPlanCtrCntrlRel.fltPlanCtrCntrlRel; + QFltPlanBas qFltPlanBasEntity = QFltPlanBas.fltPlanBas; + + BooleanBuilder builder = new BooleanBuilder(); + BooleanBuilder adminBuilder = new BooleanBuilder(); + BooleanBuilder idntfBuilder = new BooleanBuilder(); + BooleanBuilder basBuilder = new BooleanBuilder(); + BooleanBuilder pilotBuilder = new BooleanBuilder(); + + Calendar end = Calendar.getInstance(); + end.setTime(DateUtils.stringToDate(rq.getEndDate())); + end.add(Calendar.DATE, 1); + Date endDate = end.getTime(); + builder.and(qCntrlBasEntity.cntrlStDt.after(DateUtils.stringToDate(rq.getStDate()))); + builder.and(qCntrlBasEntity.cntrlEndDt.before(endDate)); + builder.and(qFltPlanBasEntity.aprvlYn.eq("Y")); + builder.and(qCntrlBasEntity.statusCd.eq("99")); + + if(adminAuth.size()>0) { + for(JwtGroupModel list : adminAuth) { + adminBuilder.or(qFltPlanCtrCntrlRelEntity.groupId.eq(list.getGroupId())); + } + } + if(idntfList.size()>0) { + for(ComIdntfBas list : idntfList) { + idntfBuilder.or(qCntrlBasEntity.idntfNum.eq(list.getIdntfNum())); + } + } + if(basResult.size()>0) { + for(FltPlanBas list : basResult) { + basBuilder.or(qFltPlanCtrCntrlRelEntity.planSno.eq(list.getPlanSno())); + } + } + if(pilotResult.size()>0) { + for(FltPlanBas list : pilotResult) { + pilotBuilder.or(qFltPlanCtrCntrlRelEntity.planSno.eq(list.getPlanSno())); + } + } + + if(!StringUtils.isEmpty(rq.getSearch1())) { + builder.and(qCntrlBasEntity.idntfNum.like("%" + rq.getSearch1() + "%")); + } + + + + long result = query.select(Projections.bean(AnlsHstryModel.class , + qCntrlBasEntity.cntrlId, + qCntrlBasEntity.idntfNum, + qCntrlBasEntity.statusCd, + qCntrlBasEntity.objectTypeCd, + qCntrlBasEntity.flghtStDt, + qCntrlBasEntity.flghtEndDt, + qCntrlBasEntity.cntrlStDt, + qCntrlBasEntity.cntrlEndDt, + qCntrlBasEntity.ttlTime, + qCntrlBasEntity.ttlTimeType, + qCntrlBasEntity.ttlDstnc, + qCntrlBasEntity.ttlDstncType, + qCntrlBasEntity.avrgSpeed, + qCntrlBasEntity.avrgSpeedType, + qCntrlBasEntity.bttrCnsmptn, + qCntrlBasEntity.endTypeCd, + qCntrlBasEntity.createDt, + qCntrlBasEntity.updateDt, + qCntrlHstryAreaEntity.actnType, + qCntrlHstryAreaEntity.area1, + qCntrlHstryAreaEntity.area2, + qCntrlHstryAreaEntity.area3, + qCntrlHstryAreaEntity.areaNm, + qCntrlHstryAreaEntity.areaType, + qCntrlHstryAreaEntity.landNm, + qCntrlHstryAreaEntity.landNum, + qCntrlHstryAreaEntity.zipCd + + + )) + .from(qCntrlBasEntity) + .leftJoin(qCntrlHstryAreaEntity) + .on(qCntrlBasEntity.cntrlId.eq(qCntrlHstryAreaEntity.cntrlId)) + .on(qCntrlHstryAreaEntity.actnType.eq("01")) + .leftJoin(qFltPlanCtrCntrlRelEntity) + .on(qCntrlBasEntity.cntrlId.eq(qFltPlanCtrCntrlRelEntity.cntrlId)) + .leftJoin(qFltPlanBasEntity) + .on(qFltPlanCtrCntrlRelEntity.planSno.eq(qFltPlanBasEntity.planSno)) + .where((builder) + .and( + (idntfBuilder) + .or(basBuilder) + .or(pilotBuilder))) + .orderBy(qCntrlBasEntity.cntrlStDt.asc()) + .fetchCount(); + + return result; + } + + public List cntrlBasNormalPlanList(AnlsHstryRqModel rq, int planSno){ QCtrCntrlBas qCntrlBasEntity = QCtrCntrlBas.ctrCntrlBas; QCtrCntrlHstryArea qCntrlHstryAreaEntity = QCtrCntrlHstryArea.ctrCntrlHstryArea; @@ -654,6 +913,8 @@ public List cntrlBasNormalPlanList(AnlsHstryRqModel rq, int plan QComIdntfBas qComIdntfBasEntity = QComIdntfBas.comIdntfBas; QComArcrftBas qComArcrftBasEntity = QComArcrftBas.comArcrftBas; QCtrCntrlHstryArea qCntrlHstryAreaEntity = QCtrCntrlHstryArea.ctrCntrlHstryArea; + QFltPlanCtrCntrlRel qFltPlanCtrCntrlRelEntity = QFltPlanCtrCntrlRel.fltPlanCtrCntrlRel; + QFltPlanBas qFltPlanBasEntity = QFltPlanBas.fltPlanBas; BooleanBuilder builder = new BooleanBuilder(); @@ -664,6 +925,8 @@ public List cntrlBasNormalPlanList(AnlsHstryRqModel rq, int plan builder.and(qComArcrftBasEntity.groupId.eq(rq.getGroupId())); builder.and(qCntrlBasEntity.cntrlStDt.goe(DateUtils.stringToDate(rq.getStDate()))); builder.and(qCntrlBasEntity.cntrlEndDt.loe(endDate)); + builder.and(qFltPlanBasEntity.aprvlYn.eq("Y")); + builder.and(qCntrlBasEntity.statusCd.eq("99")); if(!StringUtils.isEmpty(rq.getSearch1())) { builder.and(qCntrlBasEntity.idntfNum.like("%" + rq.getSearch1() + "%")); @@ -678,6 +941,10 @@ public List cntrlBasNormalPlanList(AnlsHstryRqModel rq, int plan .on(qComIdntfBasEntity.idntfNum.eq(qCntrlBasEntity.idntfNum)) .leftJoin(qCntrlHstryAreaEntity) .on(qCntrlBasEntity.cntrlId.eq(qCntrlHstryAreaEntity.cntrlId)) + .leftJoin(qFltPlanCtrCntrlRelEntity) + .on(qCntrlBasEntity.cntrlId.eq(qFltPlanCtrCntrlRelEntity.cntrlId)) + .leftJoin(qFltPlanBasEntity) + .on(qFltPlanCtrCntrlRelEntity.planSno.eq(qFltPlanBasEntity.planSno)) .where(builder) .orderBy(qCntrlBasEntity.cntrlStDt.desc()) .fetchCount(); @@ -693,6 +960,8 @@ public List cntrlBasNormalPlanList(AnlsHstryRqModel rq, int plan QComIdntfBas qComIdntfBasEntity = QComIdntfBas.comIdntfBas; QComArcrftBas qComArcrftBasEntity = QComArcrftBas.comArcrftBas; QCtrCntrlHstryArea qCntrlHstryAreaEntity = QCtrCntrlHstryArea.ctrCntrlHstryArea; + QFltPlanCtrCntrlRel qFltPlanCtrCntrlRelEntity = QFltPlanCtrCntrlRel.fltPlanCtrCntrlRel; + QFltPlanBas qFltPlanBasEntity = QFltPlanBas.fltPlanBas; BooleanBuilder builder = new BooleanBuilder(); @@ -703,7 +972,8 @@ public List cntrlBasNormalPlanList(AnlsHstryRqModel rq, int plan builder.and(qComArcrftBasEntity.groupId.eq(rq.getGroupId())); builder.and(qCntrlBasEntity.cntrlStDt.goe(DateUtils.stringToDate(rq.getStDate()))); builder.and(qCntrlBasEntity.cntrlEndDt.loe(endDate)); - + builder.and(qFltPlanBasEntity.aprvlYn.eq("Y")); + builder.and(qCntrlBasEntity.statusCd.eq("99")); if(!StringUtils.isEmpty(rq.getSearch1())) { builder.and(qCntrlBasEntity.idntfNum.like("%" + rq.getSearch1() + "%")); @@ -728,6 +998,10 @@ public List cntrlBasNormalPlanList(AnlsHstryRqModel rq, int plan .on(qComIdntfBasEntity.idntfNum.eq(qCntrlBasEntity.idntfNum)) .leftJoin(qCntrlHstryAreaEntity) .on(qCntrlBasEntity.cntrlId.eq(qCntrlHstryAreaEntity.cntrlId)) + .leftJoin(qFltPlanCtrCntrlRelEntity) + .on(qCntrlBasEntity.cntrlId.eq(qFltPlanCtrCntrlRelEntity.cntrlId)) + .leftJoin(qFltPlanBasEntity) + .on(qFltPlanCtrCntrlRelEntity.planSno.eq(qFltPlanBasEntity.planSno)) .where(builder) .orderBy(qCntrlBasEntity.cntrlStDt.desc()) .offset(pageable.getOffset())