From e1b3255819f40ae429458a3e117348f7d65e7d4d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?lkd9125=28=EC=9D=B4=EA=B2=BD=EB=8F=84=29?= Date: Fri, 10 Nov 2023 18:10:44 +0900 Subject: [PATCH] =?UTF-8?q?=EB=B9=84=EC=A0=95=EC=83=81=EC=83=81=ED=99=A9?= =?UTF-8?q?=20=EC=83=81=EB=8B=A8=20=EA=B3=A0=EC=A0=95=EB=8D=B0=EC=9D=B4?= =?UTF-8?q?=ED=84=B0=20=EB=85=84,=EC=9B=94,=EC=9D=BC=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ctr/CtrCntrlQueryRepository.java | 71 ++++++++++++++++++- 1 file changed, 70 insertions(+), 1 deletion(-) diff --git a/pav-server/src/main/java/com/palnet/biz/jpa/repository/ctr/CtrCntrlQueryRepository.java b/pav-server/src/main/java/com/palnet/biz/jpa/repository/ctr/CtrCntrlQueryRepository.java index 1c1624f..2ed78ab 100644 --- a/pav-server/src/main/java/com/palnet/biz/jpa/repository/ctr/CtrCntrlQueryRepository.java +++ b/pav-server/src/main/java/com/palnet/biz/jpa/repository/ctr/CtrCntrlQueryRepository.java @@ -1880,7 +1880,7 @@ public List listCntrlHstry(String id){ } return result; - } + } private String getFltTimeDay(String idntfNum){ QCtrCntrlBas qCtrCntrlBas = QCtrCntrlBas.ctrCntrlBas; @@ -2466,6 +2466,14 @@ public List listCntrlHstry(String id){ if(queryResult.size() > 0){ result = queryResult.get(0); + + String idntfNum = result.getName(); + + result.setYear(getWarnYear(idntfNum, cate)); + result.setMonth(getWarnMonth(idntfNum, cate)); + result.setDay(getWarnDay(idntfNum, cate)); + + } else { FlightStaticStcsModel node = new FlightStaticStcsModel(); node.setName("-"); @@ -2478,6 +2486,67 @@ public List listCntrlHstry(String id){ } + private String getWarnDay(String idntfNum, String cate){ + QCtrCntrlWarnLog bas = QCtrCntrlWarnLog.ctrCntrlWarnLog; + + BooleanBuilder builder = new BooleanBuilder(); + builder.and(bas.idntfNum.eq(idntfNum)); + builder.and(bas.createDt.eq(LocalDate.now().atStartOfDay().atZone(ZoneId.of("Asia/Seoul")).toInstant())); + builder.and(bas.warnType.eq(cate)); + + return query + .select( + Projections.bean(String.class, + bas.cntrlId.countDistinct() // 결과 객체의 프로퍼티 이름을 지정 + ) + ) + .from(bas) + .where(builder) + .fetchOne(); + } + + private String getWarnMonth(String idntfNum, String cate){ + QCtrCntrlWarnLog bas = QCtrCntrlWarnLog.ctrCntrlWarnLog; + + BooleanBuilder builder = new BooleanBuilder(); + builder.and(bas.idntfNum.eq(idntfNum)); + builder.and(bas.warnType.eq(cate)); + builder.and(bas.createDt.goe(LocalDate.now().minusMonths(1).atStartOfDay().atZone(ZoneId.of("Asia/Seoul")).toInstant())); + builder.and(bas.createDt.loe(LocalDate.now().atStartOfDay().atZone(ZoneId.of("Asia/Seoul")).toInstant())); + + return query + .select( + Projections.bean(String.class, + bas.cntrlId.countDistinct() // 결과 객체의 프로퍼티 이름을 지정 + ) + ) + .from(bas) + .where(builder) + .fetchOne(); + } + + private String getWarnYear(String idntfNum, String cate){ + QCtrCntrlWarnLog bas = QCtrCntrlWarnLog.ctrCntrlWarnLog; + + BooleanBuilder builder = new BooleanBuilder(); + builder.and(bas.idntfNum.eq(idntfNum)); + builder.and(bas.warnType.eq(cate)); + builder.and(bas.createDt.goe(LocalDate.now().minusYears(1).atStartOfDay().atZone(ZoneId.of("Asia/Seoul")).toInstant())); + builder.and(bas.createDt.loe(LocalDate.now().atStartOfDay().atZone(ZoneId.of("Asia/Seoul")).toInstant())); + + return query + .select( + Projections.bean(String.class, + bas.cntrlId.countDistinct() // 결과 객체의 프로퍼티 이름을 지정 + ) + ) + .from(bas) + .where(builder) + .fetchOne(); + } + + + /** * 비정상상황 카테고리 경로이탈 * @param date