From 4c049f38e12ac1789d42479e493a43b704d78c07 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: Tue, 11 Oct 2022 15:25:41 +0900 Subject: [PATCH] =?UTF-8?q?=EB=B9=84=ED=96=89=EC=9D=B4=EB=A0=A5(=EC=83=81?= =?UTF-8?q?=EC=84=B8)=ED=8E=98=EC=9D=B4=EC=A7=95=20=EC=9E=91=EC=97=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../hstry/controller/AnlsHstryController.java | 8 +- .../anls/hstry/service/AnlsHstryService.java | 39 +++++--- .../ctr/CtrCntrlQueryRepository.java | 89 +++++++++++++++++-- 3 files changed, 117 insertions(+), 19 deletions(-) diff --git a/src/main/java/com/palnet/biz/api/anls/hstry/controller/AnlsHstryController.java b/src/main/java/com/palnet/biz/api/anls/hstry/controller/AnlsHstryController.java index 1c87612..6f09bce 100644 --- a/src/main/java/com/palnet/biz/api/anls/hstry/controller/AnlsHstryController.java +++ b/src/main/java/com/palnet/biz/api/anls/hstry/controller/AnlsHstryController.java @@ -92,10 +92,10 @@ public class AnlsHstryController { @ApiOperation(value = "비행 이력 데이터") @Tag(name = "비행 이력 현황", description = "비행 이력 현황 관련 API") @ApiImplicitParam(name = "id",value = "관제ID", dataTypeClass = String.class) - public ResponseEntity log(@PathVariable String id) { - List result = null; + public ResponseEntity log(AnlsHstryRqModel rq) { + ComnPagingRs result = null; try { - result = service.hstryList(id); + result = service.hstryList(rq); } catch (Exception e) { log.error("IGNORE : {}", e); @@ -103,7 +103,7 @@ public class AnlsHstryController { .body(new ErrorResponse("Server Error", "-1")); } - return ResponseEntity.ok().body(new SuccessResponse(result)); + return ResponseEntity.ok().body(new SuccessResponse<>(result)); } diff --git a/src/main/java/com/palnet/biz/api/anls/hstry/service/AnlsHstryService.java b/src/main/java/com/palnet/biz/api/anls/hstry/service/AnlsHstryService.java index 3727c4e..0742a67 100644 --- a/src/main/java/com/palnet/biz/api/anls/hstry/service/AnlsHstryService.java +++ b/src/main/java/com/palnet/biz/api/anls/hstry/service/AnlsHstryService.java @@ -6,6 +6,7 @@ import java.util.Date; import java.util.List; import java.util.Optional; +import com.palnet.biz.api.comn.model.ComnPagingModel; import com.palnet.biz.api.comn.model.ComnPagingRs; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -67,23 +68,28 @@ public class AnlsHstryService { //비행이력현황 list public ComnPagingRs list(AnlsHstryGroupModel rq){ Integer cstmrSno = jwtTokenUtil.getCstmrSnoByToken(); - - + List groupAuth = jwtTokenUtil.getGroupAuthByToken(); + String appAuth = jwtTokenUtil.getUserAuthByToken(); ComnPagingRs response = new ComnPagingRs<>(); - - Pageable pageable = PageRequest.of(rq.getPage()-1, rq.getRecord()); + if("USER".equals(appAuth) || "ROLE_USER".equals(appAuth)) { + + } PageImpl result = query.listCntrlBasRs(rq, pageable); long total = query.countCntrlBasRs(rq, cstmrSno); - long totalPage = total % rq.getRecord() > 0 ? (total/rq.getRecord()) + 1 : total/rq.getRecord(); - response.setItems(result.getContent()); response.setTotal(total); - response.setPage(rq.getPage()); response.setTotalPage(totalPage); + + + + + + response.setPage(rq.getPage()); + return response; } @@ -107,10 +113,23 @@ public class AnlsHstryService { } - public List hstryList(String cntrlId) { + public ComnPagingRs hstryList(AnlsHstryRqModel rq) { + + ComnPagingRs response = new ComnPagingRs<>(); + + Pageable pageable = PageRequest.of(rq.getPage()-1, rq.getRecord()); - List resultList = query.listCntrlHstry(cntrlId); + PageImpl result = query.listCntrlHstryPage(rq.getCntrlId(), pageable); - return resultList; + long total = query.listCntrlHstryCount(rq.getCntrlId()); + + long totalPage = total % rq.getRecord() > 0 ? (total/rq.getRecord()) + 1 : total/rq.getRecord(); + + response.setItems(result.getContent()); + response.setTotal(total); + response.setPage(rq.getPage()); + response.setTotalPage(totalPage); + + 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 a873ca4..2cc19d2 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 @@ -564,7 +564,7 @@ public List cntrlBasNormalList(AnlsHstryRqModel rq, String idntf * @param id * @return */ - public List listCntrlHstry(String id){ + public PageImpl listCntrlHstryPage(String id, Pageable pageable){ QCtrCntrlBas qCntrlBasEntity = QCtrCntrlBas.ctrCntrlBas; QCtrCntrlHstry qCtrCntrHstry = QCtrCntrlHstry.ctrCntrlHstry; @@ -572,7 +572,7 @@ public List cntrlBasNormalList(AnlsHstryRqModel rq, String idntf BooleanBuilder builder = new BooleanBuilder(); builder.and(qCtrCntrHstry.cntrlId.eq(id)); - List resultList = query.select(Projections.bean(AnlsHstryDetailModel.class , + List result = query.select(Projections.bean(AnlsHstryDetailModel.class , qCtrCntrHstry.cntrlId , qCtrCntrHstry.hstrySno , qCtrCntrHstry.trmnlId , @@ -598,12 +598,91 @@ public List cntrlBasNormalList(AnlsHstryRqModel rq, String idntf .on(qCntrlBasEntity.cntrlId.eq(qCtrCntrHstry.cntrlId)) .where(builder) .orderBy(qCtrCntrHstry.srvrRcvDt.asc()) + .offset(pageable.getOffset()) + .limit(pageable.getPageSize()) .fetch(); - return resultList; + return new PageImpl<>(result, pageable, result.size()); + } +public List listCntrlHstry(String id){ + + QCtrCntrlBas qCntrlBasEntity = QCtrCntrlBas.ctrCntrlBas; + QCtrCntrlHstry qCtrCntrHstry = QCtrCntrlHstry.ctrCntrlHstry; + + BooleanBuilder builder = new BooleanBuilder(); + builder.and(qCtrCntrHstry.cntrlId.eq(id)); + + List result = query.select(Projections.bean(AnlsHstryDetailModel.class , + qCtrCntrHstry.cntrlId , + qCtrCntrHstry.hstrySno , + qCtrCntrHstry.trmnlId , + qCtrCntrHstry.mssgTypeCd , + qCtrCntrHstry.statusCd , + qCtrCntrHstry.lat, + qCtrCntrHstry.lon , + qCtrCntrHstry.speed , + qCtrCntrHstry.speedType , + qCtrCntrHstry.heading , + qCtrCntrHstry.elev , + qCtrCntrHstry.elevType , + qCtrCntrHstry.mvDstnc , + qCtrCntrHstry.mvDstncType , + qCtrCntrHstry.bttrLvl, + qCtrCntrHstry.bttrVltg, + qCtrCntrHstry.trmnlRcvDt , + qCtrCntrHstry.srvrRcvDt, + qCntrlBasEntity.idntfNum + )) + .from(qCntrlBasEntity) + .leftJoin(qCtrCntrHstry) + .on(qCntrlBasEntity.cntrlId.eq(qCtrCntrHstry.cntrlId)) + .where(builder) + .orderBy(qCtrCntrHstry.srvrRcvDt.asc()) + .fetch(); + + return result; + } + public long listCntrlHstryCount(String id){ + + QCtrCntrlBas qCntrlBasEntity = QCtrCntrlBas.ctrCntrlBas; + QCtrCntrlHstry qCtrCntrHstry = QCtrCntrlHstry.ctrCntrlHstry; + + BooleanBuilder builder = new BooleanBuilder(); + builder.and(qCtrCntrHstry.cntrlId.eq(id)); + + List resultList = query.select(Projections.bean(AnlsHstryDetailModel.class , + qCtrCntrHstry.cntrlId , + qCtrCntrHstry.hstrySno , + qCtrCntrHstry.trmnlId , + qCtrCntrHstry.mssgTypeCd , + qCtrCntrHstry.statusCd , + qCtrCntrHstry.lat, + qCtrCntrHstry.lon , + qCtrCntrHstry.speed , + qCtrCntrHstry.speedType , + qCtrCntrHstry.heading , + qCtrCntrHstry.elev , + qCtrCntrHstry.elevType , + qCtrCntrHstry.mvDstnc , + qCtrCntrHstry.mvDstncType , + qCtrCntrHstry.bttrLvl, + qCtrCntrHstry.bttrVltg, + qCtrCntrHstry.trmnlRcvDt , + qCtrCntrHstry.srvrRcvDt, + qCntrlBasEntity.idntfNum + )) + .from(qCntrlBasEntity) + .leftJoin(qCtrCntrHstry) + .on(qCntrlBasEntity.cntrlId.eq(qCtrCntrHstry.cntrlId)) + .where(builder) + .orderBy(qCtrCntrHstry.srvrRcvDt.asc()) + .fetch(); + long cnt = 0; + for(AnlsHstryDetailModel list : resultList) { + cnt ++; + } + return cnt; } - - public List listCntrlHstryArea() { QCtrCntrlHstryArea qCtrCntrHstryArea = QCtrCntrlHstryArea.ctrCntrlHstryArea;