diff --git a/http/server/server.http b/http/server/server.http index 26c3c999..b1417eac 100644 --- a/http/server/server.http +++ b/http/server/server.http @@ -35,6 +35,11 @@ Content-Type: application/json "userPswd": "palnet!234" } +> {% + const accessToken = 'palnet ' + response.body.data.accessToken + client.global.set("accessToken", accessToken) +%} + ### profile < {% request.variables.set("cstmrSno", "37") 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 714e4983..37c38e14 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 @@ -6,6 +6,7 @@ import lombok.Data; import lombok.NoArgsConstructor; import java.time.Instant; +import java.time.LocalDate; import java.util.List; import java.util.Map; @@ -20,6 +21,10 @@ public class BasDosPlanAreaRs { private Long planSno; // 문서번호 private String applyNo; + // 신청일자 + private LocalDate applyDt; + private String applyDtMonth; + private String applyDtDay; // client area id private String zoneNo; // 버퍼존(반경) @@ -34,6 +39,16 @@ public class BasDosPlanAreaRs { private Double lon; // 주소 private String addr; + private String addr1; + private String addr2; + private String addr3; + + // 세부사항 + private String dtl; + // 긴급구조기관 + private String era; + // 비고 + private String rm; // 수정일시 private Instant updateDt; // 생성일시 diff --git a/pav-server/src/main/java/com/palnet/biz/api/bas/dos/model/BasDosPlanRs.java b/pav-server/src/main/java/com/palnet/biz/api/bas/dos/model/BasDosPlanRs.java index 8782ea3d..db18c068 100644 --- a/pav-server/src/main/java/com/palnet/biz/api/bas/dos/model/BasDosPlanRs.java +++ b/pav-server/src/main/java/com/palnet/biz/api/bas/dos/model/BasDosPlanRs.java @@ -20,12 +20,18 @@ public class BasDosPlanRs { private String applyNo; // 신청일자 private LocalDate applyDt; + private String applyDtMonth; + private String applyDtDay; + // 신청자 + private String applyNm; // 제작번호 private String fbctnNo; // 예상비행시작일시 private LocalDate schFltStDt; // 예상비행종료일시 private LocalDate schFltEndDt; + // 비행목적 + private String purpose; // 수정일시 private Instant updateDt; // 생성일시 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 f3fd76d7..c5f30ae6 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 @@ -17,11 +17,11 @@ import org.locationtech.jts.geom.Coordinate; import org.locationtech.jts.geom.Geometry; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import org.springframework.util.StringUtils; -import java.util.ArrayList; -import java.util.List; -import java.util.Map; -import java.util.Optional; +import java.time.LocalDate; +import java.time.Month; +import java.util.*; import java.util.stream.Collectors; @Slf4j @@ -62,6 +62,30 @@ public class BasDosService { for (DosFltPlanBas bas : planBasList) { Long planSno = bas.getPlanSno(); String applyNo = bas.getApplyNo(); + + // 신청일시 분할 + LocalDate applyDt = bas.getApplyDt(); + String applyDtMonth = applyDt.getMonthValue() + ""; + String applyDtDay = applyDt.getDayOfMonth() + ""; + + // 비행목적 - 비행목적은 레저비행, 사진/영상촬영을 제외한 나머지 목적은 기타 로 표현 + String purpose = bas.getPurpose(); + String[] purposeTexts = {"레저비행", "사진/영상촬영"}; + if (StringUtils.hasText(purpose)) { + boolean isEtc = true; + for(String compareStr: purposeTexts){ + if(purpose.contains(compareStr)){ + isEtc = false; + break; + } + } + if(isEtc) { + purpose = "기타"; + } + + } + + List areaRsList = new ArrayList<>(); for (DosFltPlanArea area : areaList) { @@ -95,19 +119,52 @@ public class BasDosService { List> bufferCoordList = coordBuffers.stream().map(coord -> Map.of("lat", coord.y, "lon", coord.x)).collect(Collectors.toList()); + // TODO 추후 Utils 생성 + // 주소 분할 - 임시 순서대로 split + String addr = area.getAddr(); + String[] addrArr = addr.split(" "); + String addr1 = ""; + String addr2 = ""; + StringBuilder addrRest = new StringBuilder(); + for (int i = 0; i < addrArr.length; i++) { + switch (i) { + case 0: + addr1 = addrArr[i]; + break; + case 1: + addr2 = addrArr[i]; + break; + case 2: + addrRest.append(addrArr[i]); + break; + default: + addrRest.append(" ").append(addrArr[i]); + break; + } + } + String addr3 = addrRest.toString(); BasDosPlanAreaRs areaRs = BasDosPlanAreaRs.builder() .planAreaSno(area.getPlanAreaSno()) .planSno(area.getPlanSno()) .applyNo(applyNo) + .applyDt(applyDt) + .applyDtMonth(applyDtMonth) + .applyDtDay(applyDtDay) .zoneNo(area.getZoneNo()) .bufferZone(area.getBufferZone()) .fltElev(area.getFltElev()) .lat(area.getLat()) .lon(area.getLon()) - .addr(area.getAddr()) + .addr(addr) + .addr1(addr1) + .addr2(addr2) + .addr3(addr3) .approvalCd(approvalCd) .fltElevMax(fltElevMax) + .dtl(area.getDtl()) + .era(area.getEra()) + .rm(area.getRm()) .bufferCoordList(bufferCoordList) .build(); areaRsList.add(areaRs); @@ -118,13 +175,18 @@ public class BasDosService { continue; } + BasDosPlanRs basRs = BasDosPlanRs.builder() .planSno(bas.getPlanSno()) .applyNo(bas.getApplyNo()) - .applyDt(bas.getApplyDt()) + .applyDt(applyDt) + .applyDtMonth(applyDtMonth) + .applyDtDay(applyDtDay) + .applyNm(bas.getApplyNm()) .fbctnNo(bas.getFbctnNo()) .schFltStDt(bas.getSchFltStDt()) .schFltEndDt(bas.getSchFltEndDt()) + .purpose(purpose) .updateDt(bas.getUpdateDt()) .createDt(bas.getCreateDt()) .areaList(areaRsList) 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 7a024cda..38fe6f3c 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 @@ -41,6 +41,15 @@ public class DosFltPlanArea { // 주소 @Column(name = "ADDR") private String addr; + // 세부사항 + @Column(name = "DTL") + private String dtl; + // 긴급구조기관 + @Column(name = "era") + private String era; + // 비고 + @Column(name = "RM") + private String rm; // 수정일시 @Column(name = "UPDATE_DT", columnDefinition = "TIMESTAMP") private Instant updateDt;