From 2c75ced8e5a2da598a5161de5cfc65de9891b672 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?lkd9125=28=EC=9D=B4=EA=B2=BD=EB=8F=84=29?= Date: Thu, 16 Nov 2023 10:21:43 +0900 Subject: [PATCH] =?UTF-8?q?=EC=9D=BC=EC=9D=BC=20=EB=B9=84=EC=A0=95?= =?UTF-8?q?=EC=83=81=EC=83=81=ED=99=A9,=20=EB=B9=84=ED=96=89=ED=86=B5?= =?UTF-8?q?=EA=B3=84=20RS=20=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dash/controller/MainDashController.java | 8 +-- .../dash/model/MainDashPlanNumStcsModel.java | 24 +++++++++ .../dash/model/MainDashWarnNumStcsModel.java | 25 +++++++++ .../main/dash/service/MainDashService.java | 52 +++++++++---------- .../ctr/CtrCntrlWarnLogQueryRepository.java | 9 ++-- .../flt/FltPlanQueryRepository.java | 9 ++-- 6 files changed, 89 insertions(+), 38 deletions(-) create mode 100644 pav-server/src/main/java/com/palnet/biz/api/main/dash/model/MainDashPlanNumStcsModel.java create mode 100644 pav-server/src/main/java/com/palnet/biz/api/main/dash/model/MainDashWarnNumStcsModel.java diff --git a/pav-server/src/main/java/com/palnet/biz/api/main/dash/controller/MainDashController.java b/pav-server/src/main/java/com/palnet/biz/api/main/dash/controller/MainDashController.java index a811e73f..fb7364e6 100644 --- a/pav-server/src/main/java/com/palnet/biz/api/main/dash/controller/MainDashController.java +++ b/pav-server/src/main/java/com/palnet/biz/api/main/dash/controller/MainDashController.java @@ -344,7 +344,7 @@ public class MainDashController { }) public ResponseEntity currentFlightWarn(@RequestParam(required = false) String groupId){ - List result = new ArrayList<>(); + List result = new ArrayList<>(); try { result = service.currentFlightWarn(groupId); @@ -354,7 +354,7 @@ public class MainDashController { .body(new ErrorResponse("Server Error", "-1")); } - return ResponseEntity.ok().body(new SuccessResponse>(result)); + return ResponseEntity.ok().body(new SuccessResponse>(result)); } @GetMapping("/current/flight-plan") @@ -366,7 +366,7 @@ public class MainDashController { public ResponseEntity currentFlightPlan(@RequestParam(required = false) String groupId){ log.warn("groupId => {}", groupId); - List result = new ArrayList<>(); + List result = new ArrayList<>(); try { result = service.currentFlightPlan(groupId); } catch (Exception e){ @@ -377,7 +377,7 @@ public class MainDashController { - return ResponseEntity.ok().body(new SuccessResponse>(result)); + return ResponseEntity.ok().body(new SuccessResponse>(result)); } diff --git a/pav-server/src/main/java/com/palnet/biz/api/main/dash/model/MainDashPlanNumStcsModel.java b/pav-server/src/main/java/com/palnet/biz/api/main/dash/model/MainDashPlanNumStcsModel.java new file mode 100644 index 00000000..c5b4e8e6 --- /dev/null +++ b/pav-server/src/main/java/com/palnet/biz/api/main/dash/model/MainDashPlanNumStcsModel.java @@ -0,0 +1,24 @@ +package com.palnet.biz.api.main.dash.model; + +import io.swagger.annotations.ApiParam; +import lombok.Data; + +@Data +public class MainDashPlanNumStcsModel { + + @ApiParam(value = "구분",example = "전일(어제), 금일(오늘), 명일(내일)") + private String dateType = ""; + + @ApiParam(value = "제출",example = "전일(어제), 금일(오늘), 명일(내일) 비행계획서 목록") + private int plan = 0; + + @ApiParam(value = "승인",example = "전일(어제), 금일(오늘), 명일(내일) 비행승인 목록") + private int aprvn = 0; + + @ApiParam(value = "합계",example = "전일(어제), 금일(오늘), 명일(내일) 합계") + private int count = 0; + + @ApiParam(value = "비고",example = "전일(어제), 금일(오늘), 명일(내일) 비고") + private double note = 0; + +} diff --git a/pav-server/src/main/java/com/palnet/biz/api/main/dash/model/MainDashWarnNumStcsModel.java b/pav-server/src/main/java/com/palnet/biz/api/main/dash/model/MainDashWarnNumStcsModel.java new file mode 100644 index 00000000..491831fd --- /dev/null +++ b/pav-server/src/main/java/com/palnet/biz/api/main/dash/model/MainDashWarnNumStcsModel.java @@ -0,0 +1,25 @@ +package com.palnet.biz.api.main.dash.model; + +import io.swagger.annotations.ApiParam; +import lombok.Data; + +@Data +public class MainDashWarnNumStcsModel { + @ApiParam(value = "구분",example = "전일(어제), 금일(오늘), 명일(내일)") + private String dateType = ""; + + @ApiParam(value = "경로이탈",example = "전일(어제), 금일(오늘), 명일(내일) 경로이탈") + private int plan = 0; + + @ApiParam(value = "고도이탈",example = "전일(어제), 금일(오늘), 명일(내일) 고도이탈") + private int altitude = 0; + + @ApiParam(value = "충돌",example = "전일(어제), 금일(오늘), 명일(내일) 충돌") + private int crash = 0; + + @ApiParam(value = "합계",example = "전일(어제), 금일(오늘), 명일(내일) 합계") + private int count = 0; + + @ApiParam(value = "비고",example = "전일(어제), 금일(오늘), 명일(내일) 비고") + private double note = 0; +} diff --git a/pav-server/src/main/java/com/palnet/biz/api/main/dash/service/MainDashService.java b/pav-server/src/main/java/com/palnet/biz/api/main/dash/service/MainDashService.java index 60c956a9..bd84b4ac 100644 --- a/pav-server/src/main/java/com/palnet/biz/api/main/dash/service/MainDashService.java +++ b/pav-server/src/main/java/com/palnet/biz/api/main/dash/service/MainDashService.java @@ -278,25 +278,25 @@ public class MainDashService { - public List currentFlightPlan(String groupId){ - final int sumCount = 2; // 2번은 합계 + public List currentFlightPlan(String groupId){ boolean authCheck = mainStatisticsService.authCheck(groupId); - String[] dateCate = {"-2", "-1", "0", "1"}; // 2일전, 전일, 금일, 명일 + String[] dateCate = {"beforeYesterday", "yesterday", "today", "tomorrow"}; // 2일전, 전일, 금일, 명일 - List result = new ArrayList<>(); + List result = new ArrayList<>(); for(String cate : dateCate){ List fltPlanBas = fltPlanQueryRepository.currentFlightStcs(groupId, authCheck, cate); - int count = fltPlanBas.size(); - int aprvnCount = (int)fltPlanBas.stream().filter(value -> value.getAprvlYn().equals("Y")).count(); - - List stcsValues = Arrays.asList(count, aprvnCount, aprvnCount); - - MainCurrentStcsModel node = new MainCurrentStcsModel(); - node.setStcsValues(stcsValues); + int plan = fltPlanBas.size(); + int aprvnCount = (int)fltPlanBas.stream().filter(value -> value.getAprvlYn().equals("Y")).count(); + + MainDashPlanNumStcsModel node = new MainDashPlanNumStcsModel(); + node.setDateType(cate); + node.setPlan(plan); + node.setCount(aprvnCount); // 합계는 승인된 계획서를 합계로 침. + node.setAprvn(aprvnCount); result.add(node); } @@ -305,8 +305,8 @@ public class MainDashService { if(i == 0) continue;; - int prevSum = result.get(i-1).getStcsValues().get(sumCount); // 전날 합계 [기준] - int sum = result.get(i).getStcsValues().get(sumCount); // 합계 + int prevSum = result.get(i-1).getCount(); // 전날 합계 [기준] + int sum = result.get(i).getCount(); // 합계 double percent = 0; @@ -314,7 +314,7 @@ public class MainDashService { percent = ((sum - prevSum) / (double) prevSum) * 100; } - result.get(i).setPercent(percent); + result.get(i).setNote(percent); } result.remove(0); @@ -325,15 +325,13 @@ public class MainDashService { - public List currentFlightWarn(String groupId){ - final int sumCount = 3; // 3번은 합계 - + public List currentFlightWarn(String groupId){ boolean authCheck = mainStatisticsService.authCheck(groupId); - String[] dateCate = {"-2", "-1", "0", "1"}; + String[] dateCate = {"beforeYesterday", "yesterday", "today", "tomorrow"}; // 2일전, 전일, 금일, 명일 - List result = new ArrayList<>(); + List result = new ArrayList<>(); for(String cate : dateCate){ List cntrlWarnLogs = ctrCntrlWarnLogQueryRepository.currentStcs(groupId, authCheck, cate); @@ -344,10 +342,12 @@ public class MainDashService { int altitude = (int)cntrlWarnLogs.stream().filter(value -> value.getWarnType().equals(WarnType.ALTITUDE.getValue())).count(); int crash = (int)cntrlWarnLogs.stream().filter(value -> value.getWarnType().equals(WarnType.CRASH.getValue())).count(); - List stcsValues = Arrays.asList(plan, altitude, crash, count); - - MainCurrentStcsModel node = new MainCurrentStcsModel(); - node.setStcsValues(stcsValues); + MainDashWarnNumStcsModel node = new MainDashWarnNumStcsModel(); + node.setDateType(cate); + node.setPlan(plan); + node.setAltitude(altitude); + node.setCrash(crash); + node.setCount(count); result.add(node); } @@ -356,8 +356,8 @@ public class MainDashService { if(i == 0) continue;; - int prevSum = result.get(i-1).getStcsValues().get(sumCount); // 전날 합계 [기준] - int sum = result.get(i).getStcsValues().get(sumCount); // 합계 + int prevSum = result.get(i-1).getCount(); // 전날 합계 [기준] + int sum = result.get(i).getCount(); // 합계 double percent = 0; @@ -365,7 +365,7 @@ public class MainDashService { percent = ((sum - prevSum) / (double) prevSum) * 100; } - result.get(i).setPercent(percent); + result.get(i).setNote(percent); } result.remove(0); diff --git a/pav-server/src/main/java/com/palnet/biz/jpa/repository/ctr/CtrCntrlWarnLogQueryRepository.java b/pav-server/src/main/java/com/palnet/biz/jpa/repository/ctr/CtrCntrlWarnLogQueryRepository.java index 80390046..d7964ddd 100644 --- a/pav-server/src/main/java/com/palnet/biz/jpa/repository/ctr/CtrCntrlWarnLogQueryRepository.java +++ b/pav-server/src/main/java/com/palnet/biz/jpa/repository/ctr/CtrCntrlWarnLogQueryRepository.java @@ -325,8 +325,9 @@ public class CtrCntrlWarnLogQueryRepository { String dateFormat = "%Y-%m-%d"; BooleanExpression dateExpression = null; + switch (cate){ - case "-2" : + case "beforeYesterday" : dateExpression = Expressions.stringTemplate("DATE_FORMAT({0}, {1})", qCtrCntrlWarnLog.createDt, dateFormat) .eq(LocalDate.now().minusDays(2).toString()); @@ -334,7 +335,7 @@ public class CtrCntrlWarnLogQueryRepository { builder.and(dateExpression); break; - case "-1": + case "yesterday": dateExpression = Expressions.stringTemplate("DATE_FORMAT({0}, {1})", qCtrCntrlWarnLog.createDt, dateFormat) .eq(LocalDate.now().minusDays(1).toString()); @@ -342,14 +343,14 @@ public class CtrCntrlWarnLogQueryRepository { builder.and(dateExpression); break; - case "0": + case "today": dateExpression = Expressions.stringTemplate("DATE_FORMAT({0}, {1})", qCtrCntrlWarnLog.createDt, dateFormat) .eq(LocalDate.now().toString()); builder.and(dateExpression); break; - case "1": + case "tomorrow": dateExpression = Expressions.stringTemplate("DATE_FORMAT({0}, {1})", qCtrCntrlWarnLog.createDt, dateFormat) .eq(LocalDate.now().plusDays(1).toString()); diff --git a/pav-server/src/main/java/com/palnet/biz/jpa/repository/flt/FltPlanQueryRepository.java b/pav-server/src/main/java/com/palnet/biz/jpa/repository/flt/FltPlanQueryRepository.java index d9dcd45c..50fde2ca 100644 --- a/pav-server/src/main/java/com/palnet/biz/jpa/repository/flt/FltPlanQueryRepository.java +++ b/pav-server/src/main/java/com/palnet/biz/jpa/repository/flt/FltPlanQueryRepository.java @@ -1881,8 +1881,9 @@ public class FltPlanQueryRepository { if(authCheck) builder.and(qFltPlanBas.cstmrSno.eq(jwtTokenUtil.getCstmrSnoByToken())); BooleanExpression dateExpression = null; + switch (cate){ - case "-2" : + case "beforeYesterday" : dateExpression = Expressions.stringTemplate("DATE_FORMAT({0}, {1})", qFltPlanBas.createDt, "%Y-%m-%d") .eq(LocalDate.now().minusDays(2).toString()); @@ -1890,7 +1891,7 @@ public class FltPlanQueryRepository { builder.and(dateExpression); break; - case "-1": + case "yesterday": dateExpression = Expressions.stringTemplate("DATE_FORMAT({0}, {1})", qFltPlanBas.createDt, "%Y-%m-%d") .eq(LocalDate.now().minusDays(1).toString()); @@ -1898,14 +1899,14 @@ public class FltPlanQueryRepository { builder.and(dateExpression); break; - case "0": + case "today": dateExpression = Expressions.stringTemplate("DATE_FORMAT({0}, {1})", qFltPlanBas.createDt, "%Y-%m-%d") .eq(LocalDate.now().toString()); builder.and(dateExpression); break; - case "1": + case "tomorrow": dateExpression = Expressions.stringTemplate("DATE_FORMAT({0}, {1})", qFltPlanBas.createDt, "%Y-%m-%d") .eq(LocalDate.now().plusDays(1).toString());