diff --git a/pav-server/src/main/java/com/palnet/biz/api/bas/dos/model/BasDosPlanAreaRs.java b/pav-server/src/main/java/com/palnet/biz/api/bas/dos/model/BasDosPlanAreaRs.java index eb17af28..4c26d4c5 100644 --- a/pav-server/src/main/java/com/palnet/biz/api/bas/dos/model/BasDosPlanAreaRs.java +++ b/pav-server/src/main/java/com/palnet/biz/api/bas/dos/model/BasDosPlanAreaRs.java @@ -56,6 +56,8 @@ public class BasDosPlanAreaRs { private String reviewedReason; // 요청반경 private Long reqRadius; + // 요청고도 + private Long reqElev; // 허용반경 private Long allowRadius; // 장애물제한표면 diff --git a/pav-server/src/main/java/com/palnet/biz/api/bas/dos/model/BasDosUpdatePlanRq.java b/pav-server/src/main/java/com/palnet/biz/api/bas/dos/model/BasDosUpdatePlanRq.java index 69fc76da..9e4c346d 100644 --- a/pav-server/src/main/java/com/palnet/biz/api/bas/dos/model/BasDosUpdatePlanRq.java +++ b/pav-server/src/main/java/com/palnet/biz/api/bas/dos/model/BasDosUpdatePlanRq.java @@ -18,6 +18,8 @@ public class BasDosUpdatePlanRq { private Long reqRadius; // 고도 private Double fltElev; + // 요청고도 + private Long reqElev; // 세부사항 private String dtl; // 긴급구조기관 diff --git a/pav-server/src/main/java/com/palnet/biz/api/bas/dos/service/BasDosService.java b/pav-server/src/main/java/com/palnet/biz/api/bas/dos/service/BasDosService.java index 6a700458..82bdecf9 100644 --- a/pav-server/src/main/java/com/palnet/biz/api/bas/dos/service/BasDosService.java +++ b/pav-server/src/main/java/com/palnet/biz/api/bas/dos/service/BasDosService.java @@ -255,6 +255,7 @@ public class BasDosService { .addr3(addr3) .approvalCd(approvalCd.getCode()) .fltElevMax(fltElevMax) + .reqElev(area.getReqElev()) .dtl(area.getDtl()) .era(area.getEra()) .rm(area.getRm()) @@ -338,6 +339,7 @@ public class BasDosService { DosFltPlanArea area = optional.get(); area.setFltElev(planRq.getFltElev()); + area.setReqElev(planRq.getReqElev()); area.setReqRadius(planRq.getReqRadius()); area.setDtl(planRq.getDtl()); area.setEra(planRq.getEra()); diff --git a/pav-server/src/main/java/com/palnet/biz/api/external/service/DronOneStopService.java b/pav-server/src/main/java/com/palnet/biz/api/external/service/DronOneStopService.java index 8609ea52..198ab8d1 100644 --- a/pav-server/src/main/java/com/palnet/biz/api/external/service/DronOneStopService.java +++ b/pav-server/src/main/java/com/palnet/biz/api/external/service/DronOneStopService.java @@ -25,7 +25,6 @@ import java.time.Instant; import java.util.ArrayList; import java.util.HashMap; import java.util.List; -import java.util.Objects; import java.util.stream.Collectors; @Slf4j @@ -120,6 +119,10 @@ public class DronOneStopService { Coordinate centerCoordinate = new Coordinate(area.getLon(), area.getLat()); DosApprovalResult approvalResult = getApprovalResult(area.getRadius(), area.getElev(), centerCoordinate); ApprovalCd saveApprovalCd = approvalResult.getApprovalCd(); + Double fltElevMax = approvalResult.getFltElevMax(); + // fltElevMax를 Long 타입으로 reqElev라는 변수로 10의 자리로 표현 +// Long reqElev = fltElevMax != null ? (long) (Math.floor(fltElevMax / 10.0) * 10) : null; + Long reqElev = fltElevMax != null ? (long) Math.floor(fltElevMax) : null; // 검토결과 - approvalCd가 비대상일 경우 검토불필요 그외 대기 ReviewedType reviewedType = saveApprovalCd == ApprovalCd.UNTARGETED_AREA ? ReviewedType.UNNECESSARY : ReviewedType.WAIT; @@ -137,13 +140,14 @@ public class DronOneStopService { .reqRadius(approvalResult.getReqRadius()) .limitZone(approvalResult.getLimitZone()) .reviewedType(reviewedType) + .reqElev(reqElev) .updateDt(Instant.now()) .createDt(Instant.now()) .build(); DosFltPlanArea saveDosFltPlanArea = dosFltPlanAreaRepository.save(dosFltPlanAreaInsert); // 비행 목적이 특정 문구(수색구조, 인명구조, 시설정검 등)인 경우 승인 처리 - if(PASS_PURPOSES.contains(fltaply.getPrps())) { + if (PASS_PURPOSES.contains(fltaply.getPrps())) { saveApprovalCd = ApprovalCd.APPROVAL; } @@ -152,7 +156,7 @@ public class DronOneStopService { .planSno(saveDosFltPlanArea.getPlanSno()) .planAreaSno(saveDosFltPlanArea.getPlanAreaSno()) .approvalCd(saveApprovalCd.getCode()) - .fltElevMax(approvalResult.getFltElevMax()) + .fltElevMax(fltElevMax) .updateDt(Instant.now()) .createDt(Instant.now()) .build(); diff --git a/pav-server/src/main/java/com/palnet/biz/jpa/entity/DosFltPlanArea.java b/pav-server/src/main/java/com/palnet/biz/jpa/entity/DosFltPlanArea.java index 77f488ad..50c257c3 100644 --- a/pav-server/src/main/java/com/palnet/biz/jpa/entity/DosFltPlanArea.java +++ b/pav-server/src/main/java/com/palnet/biz/jpa/entity/DosFltPlanArea.java @@ -68,6 +68,9 @@ public class DosFltPlanArea { // 장애물 제한 표면 @Column(name = "LIMIT_ZONE") private String limitZone; + // 요청고도 + @Column(name = "REQ_ELEV") + private Long reqElev; // 수정일시 @Column(name = "UPDATE_DT", columnDefinition = "TIMESTAMP") private Instant updateDt;