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 df2fbdcc..fbc46364 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 @@ -13,6 +13,7 @@ import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; import com.palnet.biz.api.comn.response.BasicResponse; @@ -164,7 +165,7 @@ public class MainDashController { @ApiOperation(value = "김포공항, 비행실적 통계") @Tag(name = "메인화면 컨트롤러", description = "메인화면 관련 API") @ApiImplicitParam(name = "date",value = "날짜", dataTypeClass = String.class) - public ResponseEntity kacDateStatistics(String date, @PathVariable String type){ + public ResponseEntity flightStatistics(String date, @PathVariable String type){ String[] formatParam = null; @@ -194,7 +195,7 @@ public class MainDashController { @ApiOperation(value = "김포공항, 비행승인 통계") @Tag(name = "메인화면 컨트롤러", description = "메인화면 관련 API") @ApiImplicitParam(name = "date",value = "날짜", dataTypeClass = String.class) - public ResponseEntity kacPlanAllowStatistics(String date ,@PathVariable String type){ + public ResponseEntity planAllowStatistics(String date ,@PathVariable String type){ String[] formatParam = null; @@ -209,7 +210,38 @@ public class MainDashController { List result = null; try { - result = service.mainKacStcsPlanAllow(date,formatParam); + result = service.mainStcsPlanAllow(date,formatParam); + } catch (Exception e) { + + log.error("IGNORE : {}", e); + return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR) + .body(new ErrorResponse("Server Error", "-1")); + } + + return ResponseEntity.ok().body(new SuccessResponse>(result)); + } + + @GetMapping("/stcs/drone-flight/date/{type}") + @ApiOperation(value = "김포공항, 드론별 비행 통계") + @Tag(name = "메인화면 컨트롤러", description = "메인화면 관련 API") + @ApiImplicitParam(name = "date",value = "날짜", dataTypeClass = String.class) + public ResponseEntity droneFlightStatistics(String date, @RequestParam(required = true) String idntfNum, @PathVariable String type){ + log.info("idntfNum -> {}", idntfNum); + + String[] formatParam = null; + + try { + if(date == null) date = ""; + formatParam = service.paramCheck(date,type); + } catch (NumberFormatException e) { + return ResponseEntity.status(HttpStatus.OK) + .body(new ErrorResponse(RSErrorCode.ER_PARAM)); + } + + List result = null; + + try { + result = service.mainStcsDroneFlight(date,idntfNum,formatParam); } catch (Exception e) { log.error("IGNORE : {}", e); 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 e0c2cfe7..d3c25815 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 @@ -104,7 +104,7 @@ public class MainDashService { */ public List mainKacDashStcsDay(String date, String[] formatParam){ - List resultList = query.mainKacDashStcsDay(date, formatParam); + List resultList = query.mainStcsFlight(date, null, formatParam); return resultList; } @@ -114,9 +114,23 @@ public class MainDashService { * @param yyyymm * @return */ - public List mainKacStcsPlanAllow(String date, String[] formatParam){ + public List mainStcsPlanAllow(String date, String[] formatParam){ - List resultList = fltPlanQueryRepository.mainKacStcsPlanAllow(date, formatParam); + List resultList = fltPlanQueryRepository.mainStcsPlanAllow(date, formatParam); + + return resultList; + } + + /** + * 드론별 비행실적 리스트 + * @param idntfNum + * @param date + * @param formatParam + * @return + */ + public List mainStcsDroneFlight(String date, String idntfNum, String[] formatParam){ + + List resultList = query.mainStcsFlight(date, idntfNum, formatParam); return resultList; } @@ -187,9 +201,4 @@ public class MainDashService { return result; } - - - - - } 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 e23ffb13..c8a97873 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 @@ -1,5 +1,19 @@ package com.palnet.biz.jpa.repository.ctr; +import java.time.Duration; +import java.time.Instant; +import java.util.ArrayList; +import java.util.Calendar; +import java.util.Date; +import java.util.List; + +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.cache.annotation.Cacheable; +import org.springframework.data.domain.PageImpl; +import org.springframework.data.domain.Pageable; +import org.springframework.stereotype.Repository; + import com.palnet.biz.api.acnt.jwt.model.JwtGroupModel; import com.palnet.biz.api.acnt.jwt.utils.JwtTokenUtil; import com.palnet.biz.api.anls.hstry.model.AnlsHstryDetailModel; @@ -13,7 +27,22 @@ import com.palnet.biz.api.ctr.cntrl.model.CtrCntrlEndModel; import com.palnet.biz.api.ctr.cntrl.model.CtrCntrlGroupArcrftModel; import com.palnet.biz.api.ctr.cntrl.model.CtrCntrlGroupModel; import com.palnet.biz.api.main.dash.model.MainDashStcsModel; -import com.palnet.biz.jpa.entity.*; +import com.palnet.biz.jpa.entity.ComArcrftBas; +import com.palnet.biz.jpa.entity.ComIdntfBas; +import com.palnet.biz.jpa.entity.CtrCntrlHstry; +import com.palnet.biz.jpa.entity.CtrCntrlHstryArea; +import com.palnet.biz.jpa.entity.FltPlanArea; +import com.palnet.biz.jpa.entity.FltPlanBas; +import com.palnet.biz.jpa.entity.QComArcrftBas; +import com.palnet.biz.jpa.entity.QComIdntfBas; +import com.palnet.biz.jpa.entity.QCtrCntrlBas; +import com.palnet.biz.jpa.entity.QCtrCntrlHstry; +import com.palnet.biz.jpa.entity.QCtrCntrlHstryArea; +import com.palnet.biz.jpa.entity.QFltPlanArea; +import com.palnet.biz.jpa.entity.QFltPlanBas; +import com.palnet.biz.jpa.entity.QFltPlanCtrCntrlRel; +import com.palnet.biz.jpa.entity.QPtyCstmrGroup; +import com.palnet.biz.jpa.entity.QPtyGroupBas; import com.palnet.comn.model.GPHistoryModel; import com.palnet.comn.utils.DateUtils; import com.palnet.comn.utils.InstantUtils; @@ -24,22 +53,9 @@ import com.querydsl.core.types.dsl.Expressions; import com.querydsl.core.types.dsl.StringTemplate; import com.querydsl.jpa.JPAExpressions; import com.querydsl.jpa.impl.JPAQueryFactory; + import lombok.RequiredArgsConstructor; import lombok.extern.log4j.Log4j2; -import org.apache.commons.lang3.StringUtils; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.cache.annotation.Cacheable; -import org.springframework.data.domain.PageImpl; -import org.springframework.data.domain.Pageable; -import org.springframework.stereotype.Repository; - -import java.text.SimpleDateFormat; -import java.time.Duration; -import java.time.Instant; -import java.util.ArrayList; -import java.util.Calendar; -import java.util.Date; -import java.util.List; @Log4j2 @Repository @@ -1672,11 +1688,11 @@ public List listCntrlHstry(String id){ } /** - * 김포공항, 날짜별 통계 API + * 김포공항, 비행실적 통계 API * @param yyyymm * @return */ - public List mainKacDashStcsDay(String date, String[] formatParam){ + public List mainStcsFlight(String date, String idntfNum, String[] formatParam){ QCtrCntrlBas bas = QCtrCntrlBas.ctrCntrlBas; StringTemplate formattedDate = Expressions.stringTemplate( @@ -1692,6 +1708,9 @@ public List listCntrlHstry(String id){ BooleanBuilder builder = new BooleanBuilder(); builder.and(bas.statusCd.eq("99")); if(date != null && date.length() > 0) builder.and(formattedDate.eq(date)); + if(idntfNum != null) builder.and(bas.idntfNum.eq(idntfNum)); + + log.info("builder -> {}", builder); List result = query .select( 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 dcc31f3f..4a6e053a 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 @@ -672,7 +672,7 @@ public class FltPlanQueryRepository { * @param date * @return */ - public List mainKacStcsPlanAllow(String date, String[] formatParam){ + public List mainStcsPlanAllow(String date, String[] formatParam){ QFltPlanBas bas = QFltPlanBas.fltPlanBas;