From 7aba2ee31d0990bbcbb5e7cf3c6903e86162c59e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?dhji=28=EC=A7=80=EB=8C=80=ED=95=9C=29?= Date: Tue, 26 Sep 2023 17:55:55 +0900 Subject: [PATCH] =?UTF-8?q?code=20enum=20=EC=B2=98=EB=A6=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../bas/laanc/model/BasLaancArcrftModel.java | 5 +- .../bas/laanc/model/BasLaancAreaModel.java | 3 +- .../api/bas/laanc/model/BasLaancPlanRq.java | 13 +++-- .../bas/laanc/model/BasLaancValidatedRs.java | 7 ++- .../api/bas/laanc/service/BasLaancMapper.java | 2 +- .../bas/laanc/service/BasLaancService.java | 24 ++++++++- .../palnet/biz/jpa/entity/FltPlanArcrft.java | 11 +++- .../palnet/biz/jpa/entity/FltPlanArea.java | 6 ++- .../com/palnet/biz/jpa/entity/FltPlanBas.java | 12 ++++- .../converter/ArcrftTypeCdConverter.java | 38 +++++++++++++ .../converter/ArcrftWghtCdConverter.java | 38 +++++++++++++ .../entity/converter/FltMethodConverter.java | 38 +++++++++++++ .../entity/converter/FltPurposeConverter.java | 38 +++++++++++++ .../entity/converter/FltTypeConverter.java | 38 +++++++++++++ .../biz/jpa/entity/type/ArcrftTypeCd.java | 42 +++++++++++++++ .../biz/jpa/entity/type/ArcrftWghtCd.java | 45 ++++++++++++++++ .../palnet/biz/jpa/entity/type/FltMethod.java | 49 +++++++++++++++++ .../biz/jpa/entity/type/FltPurpose.java | 54 +++++++++++++++++++ .../palnet/biz/jpa/entity/type/FltType.java | 40 ++++++++++++++ 19 files changed, 489 insertions(+), 14 deletions(-) create mode 100644 pav-server/src/main/java/com/palnet/biz/jpa/entity/converter/ArcrftTypeCdConverter.java create mode 100644 pav-server/src/main/java/com/palnet/biz/jpa/entity/converter/ArcrftWghtCdConverter.java create mode 100644 pav-server/src/main/java/com/palnet/biz/jpa/entity/converter/FltMethodConverter.java create mode 100644 pav-server/src/main/java/com/palnet/biz/jpa/entity/converter/FltPurposeConverter.java create mode 100644 pav-server/src/main/java/com/palnet/biz/jpa/entity/converter/FltTypeConverter.java create mode 100644 pav-server/src/main/java/com/palnet/biz/jpa/entity/type/ArcrftTypeCd.java create mode 100644 pav-server/src/main/java/com/palnet/biz/jpa/entity/type/ArcrftWghtCd.java create mode 100644 pav-server/src/main/java/com/palnet/biz/jpa/entity/type/FltMethod.java create mode 100644 pav-server/src/main/java/com/palnet/biz/jpa/entity/type/FltPurpose.java create mode 100644 pav-server/src/main/java/com/palnet/biz/jpa/entity/type/FltType.java diff --git a/pav-server/src/main/java/com/palnet/biz/api/bas/laanc/model/BasLaancArcrftModel.java b/pav-server/src/main/java/com/palnet/biz/api/bas/laanc/model/BasLaancArcrftModel.java index 8ef957d8..6cd865f1 100644 --- a/pav-server/src/main/java/com/palnet/biz/api/bas/laanc/model/BasLaancArcrftModel.java +++ b/pav-server/src/main/java/com/palnet/biz/api/bas/laanc/model/BasLaancArcrftModel.java @@ -2,6 +2,8 @@ package com.palnet.biz.api.bas.laanc.model; import com.fasterxml.jackson.databind.annotation.JsonSerialize; import com.palnet.biz.config.convert.InstantDateStrSerializer; +import com.palnet.biz.jpa.entity.type.ArcrftTypeCd; +import com.palnet.biz.jpa.entity.type.ArcrftWghtCd; import lombok.Data; import java.time.Instant; @@ -14,7 +16,7 @@ public class BasLaancArcrftModel { private String idntfNum; private String groupNm; private String prdctNum; - private String arcrftTypeCd; + private ArcrftTypeCd arcrftTypeCd; private String arcrftModelNm; private String prdctCmpnNm; @JsonSerialize(using = InstantDateStrSerializer.class) @@ -41,4 +43,5 @@ public class BasLaancArcrftModel { @JsonSerialize(using = InstantDateStrSerializer.class) private Instant insuranceExperiod; private String corporationNm; + private ArcrftWghtCd arcrftWghtCd; // 기체 무게 코드 ---- } diff --git a/pav-server/src/main/java/com/palnet/biz/api/bas/laanc/model/BasLaancAreaModel.java b/pav-server/src/main/java/com/palnet/biz/api/bas/laanc/model/BasLaancAreaModel.java index c1522b79..d5136f80 100644 --- a/pav-server/src/main/java/com/palnet/biz/api/bas/laanc/model/BasLaancAreaModel.java +++ b/pav-server/src/main/java/com/palnet/biz/api/bas/laanc/model/BasLaancAreaModel.java @@ -1,5 +1,6 @@ package com.palnet.biz.api.bas.laanc.model; +import com.palnet.biz.jpa.entity.type.FltMethod; import lombok.Data; import java.time.Instant; @@ -10,7 +11,7 @@ public class BasLaancAreaModel { private Integer planAreaSno; private Integer planSno; private String areaType; - private String fltMethod; + private FltMethod fltMethod; private Integer bufferZone; private String fltElev; private String createUserId; diff --git a/pav-server/src/main/java/com/palnet/biz/api/bas/laanc/model/BasLaancPlanRq.java b/pav-server/src/main/java/com/palnet/biz/api/bas/laanc/model/BasLaancPlanRq.java index 6f45e252..82c9c81f 100644 --- a/pav-server/src/main/java/com/palnet/biz/api/bas/laanc/model/BasLaancPlanRq.java +++ b/pav-server/src/main/java/com/palnet/biz/api/bas/laanc/model/BasLaancPlanRq.java @@ -1,6 +1,8 @@ package com.palnet.biz.api.bas.laanc.model; import com.palnet.biz.api.acnt.cstmr.model.AnctCstmrTermsModel; +import com.palnet.biz.jpa.entity.type.FltPurpose; +import com.palnet.biz.jpa.entity.type.FltType; import lombok.Data; import java.time.Instant; @@ -10,13 +12,14 @@ import java.util.List; public class BasLaancPlanRq { private Integer planSno; private Integer cstmrSno; + private String memberName; - private Instant schFltStDt; - private Instant schFltEndDt; - private String fltPurpose; + private FltType fltType; // 비행유형 - 상업/비상업 ---- + private Instant schFltStDt; // 시작일시 + private Instant schFltEndDt; // 종료일시 + private FltPurpose fltPurpose; // 비행목적 ----- - private String corpRegYn; - private String serviceType; + private String serviceType; // 고정 private String docState = "R"; private List areaList; diff --git a/pav-server/src/main/java/com/palnet/biz/api/bas/laanc/model/BasLaancValidatedRs.java b/pav-server/src/main/java/com/palnet/biz/api/bas/laanc/model/BasLaancValidatedRs.java index 28d1bdea..b6a2cabc 100644 --- a/pav-server/src/main/java/com/palnet/biz/api/bas/laanc/model/BasLaancValidatedRs.java +++ b/pav-server/src/main/java/com/palnet/biz/api/bas/laanc/model/BasLaancValidatedRs.java @@ -28,9 +28,12 @@ public class BasLaancValidatedRs { private String arcrftDuplicatedYn; // 기체 중복여부 private String planAreaDuplicatdYn; // 비행계획서비행구역 중복여부 private String evaluatedTargetAreaYn; // 평가대상지역여부 - 공역과 겹칠때만 - private String flightAreaYn; // LAANC 기준 비행가능여부 + private String flightAreaYn; // 비행가능여부 - 비행가능 "Y" - private String corpRegYn; // 기업(사업자)가입여부 + private String commercialYn; // 상업적/비상업적 구분 - 비상업 "N" + private String arcrftWeightYn; // 항공기중량여부 - 25kg 이하 "Y" + private String elevYn; // 고도여부 - 150m 이하 "Y" + private String corpRegYn; // 사업자 여부 public boolean isValid() { return "Y".equals(pilotQlfcYn) diff --git a/pav-server/src/main/java/com/palnet/biz/api/bas/laanc/service/BasLaancMapper.java b/pav-server/src/main/java/com/palnet/biz/api/bas/laanc/service/BasLaancMapper.java index 022a7232..7b41fc95 100644 --- a/pav-server/src/main/java/com/palnet/biz/api/bas/laanc/service/BasLaancMapper.java +++ b/pav-server/src/main/java/com/palnet/biz/api/bas/laanc/service/BasLaancMapper.java @@ -24,7 +24,7 @@ import org.mapstruct.factory.Mappers; public interface BasLaancMapper { BasLaancMapper MAPPER = Mappers.getMapper(BasLaancMapper.class); - FltPlanBas mergeToEntity(@MappingTarget FltPlanBas rq1, FltPlanBas rq2); + void mergeToEntity(@MappingTarget FltPlanBas rq1, FltPlanBas rq2); @Mapping(source = "updateUserId", target = "updateUserId", ignore = true) @Mapping(source = "updateDt", target = "updateDt", ignore = true) diff --git a/pav-server/src/main/java/com/palnet/biz/api/bas/laanc/service/BasLaancService.java b/pav-server/src/main/java/com/palnet/biz/api/bas/laanc/service/BasLaancService.java index ad3e6a32..d8d7adaf 100644 --- a/pav-server/src/main/java/com/palnet/biz/api/bas/laanc/service/BasLaancService.java +++ b/pav-server/src/main/java/com/palnet/biz/api/bas/laanc/service/BasLaancService.java @@ -65,9 +65,12 @@ public class BasLaancService { // LAANC 검증 public BasLaancValidatedRs validationLaanc(BasLaancPlanRq rq) { - BasLaancValidatedRs basLaancValidatedRs = this.validationPlanAreaAndArcrftAndAirspace(rq); + BasLaancValidatedRs basLaancValidatedRs = new BasLaancValidatedRs(); + basLaancValidatedRs.setCommercialYn("COMMERCIAL".equals(rq.getFltType()) ? "Y" : "N"); +// basLaancValidatedRs.set + ; // TODO 조종사 자격 및 기체보험 확인 PilotValidRq pilotValidRq = PilotValidRq.builder() .pilotci("조종사CI") @@ -83,6 +86,24 @@ public class BasLaancService { basLaancValidatedRs.setArcrftInsuranceYn(pilotValidRs.getArcrftinsuranceyn()); } +// BasLaancValidatedRs basLaancValidatedRs = this.validationPlanAreaAndArcrftAndAirspace(rq); + + +// // TODO 조종사 자격 및 기체보험 확인 +// PilotValidRq pilotValidRq = PilotValidRq.builder() +// .pilotci("조종사CI") +// .declarationnum("기체신고번호") +// .build(); +// +// PilotValidRs pilotValidRs = tsService.callPilotValid(pilotValidRq); +// if (pilotValidRs == null) { +// basLaancValidatedRs.setPilotQlfcYn("N"); +// basLaancValidatedRs.setArcrftInsuranceYn("N"); +// } else { +// basLaancValidatedRs.setPilotQlfcYn(pilotValidRs.getPilotcredentialyn()); +// basLaancValidatedRs.setArcrftInsuranceYn(pilotValidRs.getArcrftinsuranceyn()); +// } + return basLaancValidatedRs; } @@ -106,6 +127,7 @@ public class BasLaancService { BasLaancMapper.MAPPER.mergeToEntity(fltPlanBas, rqFltPlanBas); fltPlanBas.setDelYn("N"); fltPlanBas.setAprvlYn("Y"); + fltPlanBas.setAprvlDt(Instant.now()); fltPlanBas.setCreateUserId(userId); fltPlanBas.setUpdateUserId(userId); diff --git a/pav-server/src/main/java/com/palnet/biz/jpa/entity/FltPlanArcrft.java b/pav-server/src/main/java/com/palnet/biz/jpa/entity/FltPlanArcrft.java index 691bcca0..d581de3b 100644 --- a/pav-server/src/main/java/com/palnet/biz/jpa/entity/FltPlanArcrft.java +++ b/pav-server/src/main/java/com/palnet/biz/jpa/entity/FltPlanArcrft.java @@ -1,5 +1,9 @@ package com.palnet.biz.jpa.entity; +import com.palnet.biz.jpa.entity.converter.ArcrftTypeCdConverter; +import com.palnet.biz.jpa.entity.converter.ArcrftWghtCdConverter; +import com.palnet.biz.jpa.entity.type.ArcrftTypeCd; +import com.palnet.biz.jpa.entity.type.ArcrftWghtCd; import lombok.Data; import org.hibernate.annotations.CreationTimestamp; import org.hibernate.annotations.UpdateTimestamp; @@ -32,8 +36,9 @@ public class FltPlanArcrft { @Column(name="PRDCT_NUM") private String prdctNum; + @Convert(converter = ArcrftTypeCdConverter.class) @Column(name="ARCRFT_TYPE_CD") - private String arcrftTypeCd; + private ArcrftTypeCd arcrftTypeCd; @Column(name="ARCRFT_MODEL_NM") private String arcrftModelNm; @@ -56,6 +61,10 @@ public class FltPlanArcrft { @Column(name="ARCRFT_WGHT") private double arcrftWght; + @Convert(converter = ArcrftWghtCdConverter.class) + @Column(name="ARCRFT_WGHT_CD") + private ArcrftWghtCd arcrftWghtCd; + @Column(name="WGHT_TYPE_CD") private String wghtTypeCd; diff --git a/pav-server/src/main/java/com/palnet/biz/jpa/entity/FltPlanArea.java b/pav-server/src/main/java/com/palnet/biz/jpa/entity/FltPlanArea.java index c41b5066..70183629 100644 --- a/pav-server/src/main/java/com/palnet/biz/jpa/entity/FltPlanArea.java +++ b/pav-server/src/main/java/com/palnet/biz/jpa/entity/FltPlanArea.java @@ -1,5 +1,8 @@ package com.palnet.biz.jpa.entity; +import com.palnet.biz.jpa.entity.converter.ArcrftTypeCdConverter; +import com.palnet.biz.jpa.entity.converter.FltMethodConverter; +import com.palnet.biz.jpa.entity.type.FltMethod; import lombok.Data; import org.hibernate.annotations.CreationTimestamp; import org.hibernate.annotations.UpdateTimestamp; @@ -23,8 +26,9 @@ public class FltPlanArea { @Column(name = "AREA_TYPE") private String areaType; + @Convert(converter = FltMethodConverter.class) @Column(name = "FLT_METHOD") - private String fltMethod; + private FltMethod fltMethod; @Column(name = "BUFFER_ZONE") private Integer bufferZone; diff --git a/pav-server/src/main/java/com/palnet/biz/jpa/entity/FltPlanBas.java b/pav-server/src/main/java/com/palnet/biz/jpa/entity/FltPlanBas.java index 9f8ddbef..48f4605a 100644 --- a/pav-server/src/main/java/com/palnet/biz/jpa/entity/FltPlanBas.java +++ b/pav-server/src/main/java/com/palnet/biz/jpa/entity/FltPlanBas.java @@ -1,5 +1,10 @@ package com.palnet.biz.jpa.entity; +import com.palnet.biz.jpa.entity.converter.ArcrftTypeCdConverter; +import com.palnet.biz.jpa.entity.converter.FltPurposeConverter; +import com.palnet.biz.jpa.entity.converter.FltTypeConverter; +import com.palnet.biz.jpa.entity.type.FltPurpose; +import com.palnet.biz.jpa.entity.type.FltType; import lombok.Data; import org.hibernate.annotations.CreationTimestamp; import org.hibernate.annotations.UpdateTimestamp; @@ -50,8 +55,13 @@ public class FltPlanBas { @Column(name = "SCH_FLT_END_DT") private Instant schFltEndDt; + @Convert(converter = FltPurposeConverter.class) @Column(name = "FLT_PURPOSE") - private String fltPurpose; + private FltPurpose fltPurpose; + + @Convert(converter = FltTypeConverter.class) + @Column(name = "FLT_TYPE") + private FltType fltType; @Column(name = "APRVL_YN") private String aprvlYn; diff --git a/pav-server/src/main/java/com/palnet/biz/jpa/entity/converter/ArcrftTypeCdConverter.java b/pav-server/src/main/java/com/palnet/biz/jpa/entity/converter/ArcrftTypeCdConverter.java new file mode 100644 index 00000000..9dd6fddf --- /dev/null +++ b/pav-server/src/main/java/com/palnet/biz/jpa/entity/converter/ArcrftTypeCdConverter.java @@ -0,0 +1,38 @@ +package com.palnet.biz.jpa.entity.converter; + +import com.palnet.biz.jpa.entity.type.ArcrftTypeCd; +import org.apache.commons.lang3.StringUtils; + +import javax.persistence.AttributeConverter; +import javax.persistence.Converter; +import java.util.Objects; + +/** + * packageName : com.palnet.biz.jpa.entity.converter + * fileName : ArcrftTypeCdConverter + * author : dhji + * date : 2023-09-26(026) + * description : + * =========================================================== + * DATE AUTHOR NOTE + * ----------------------------------------------------------- + * 2023-09-26(026) dhji 최초 생성 + */ +@Converter +public class ArcrftTypeCdConverter implements AttributeConverter { + @Override + public String convertToDatabaseColumn(ArcrftTypeCd attribute) { + if (Objects.isNull(attribute)) { + return null; + } + return attribute.getCode(); + } + + @Override + public ArcrftTypeCd convertToEntityAttribute(String dbData) { + if (StringUtils.isBlank(dbData)) { + return null; + } + return ArcrftTypeCd.fromCode(dbData); + } +} diff --git a/pav-server/src/main/java/com/palnet/biz/jpa/entity/converter/ArcrftWghtCdConverter.java b/pav-server/src/main/java/com/palnet/biz/jpa/entity/converter/ArcrftWghtCdConverter.java new file mode 100644 index 00000000..ca1927e7 --- /dev/null +++ b/pav-server/src/main/java/com/palnet/biz/jpa/entity/converter/ArcrftWghtCdConverter.java @@ -0,0 +1,38 @@ +package com.palnet.biz.jpa.entity.converter; + +import com.palnet.biz.jpa.entity.type.ArcrftWghtCd; +import org.apache.commons.lang3.StringUtils; + +import javax.persistence.AttributeConverter; +import javax.persistence.Converter; +import java.util.Objects; + +/** + * packageName : com.palnet.biz.jpa.entity.converter + * fileName : ArcrftTypeCdConverter + * author : dhji + * date : 2023-09-26(026) + * description : + * =========================================================== + * DATE AUTHOR NOTE + * ----------------------------------------------------------- + * 2023-09-26(026) dhji 최초 생성 + */ +@Converter +public class ArcrftWghtCdConverter implements AttributeConverter { + @Override + public String convertToDatabaseColumn(ArcrftWghtCd attribute) { + if (Objects.isNull(attribute)) { + return null; + } + return attribute.getCode(); + } + + @Override + public ArcrftWghtCd convertToEntityAttribute(String dbData) { + if (StringUtils.isBlank(dbData)) { + return null; + } + return ArcrftWghtCd.fromCode(dbData); + } +} diff --git a/pav-server/src/main/java/com/palnet/biz/jpa/entity/converter/FltMethodConverter.java b/pav-server/src/main/java/com/palnet/biz/jpa/entity/converter/FltMethodConverter.java new file mode 100644 index 00000000..6b1ccc9a --- /dev/null +++ b/pav-server/src/main/java/com/palnet/biz/jpa/entity/converter/FltMethodConverter.java @@ -0,0 +1,38 @@ +package com.palnet.biz.jpa.entity.converter; + +import com.palnet.biz.jpa.entity.type.FltMethod; +import org.apache.commons.lang3.StringUtils; + +import javax.persistence.AttributeConverter; +import javax.persistence.Converter; +import java.util.Objects; + +/** + * packageName : com.palnet.biz.jpa.entity.converter + * fileName : ArcrftTypeCdConverter + * author : dhji + * date : 2023-09-26(026) + * description : + * =========================================================== + * DATE AUTHOR NOTE + * ----------------------------------------------------------- + * 2023-09-26(026) dhji 최초 생성 + */ +@Converter +public class FltMethodConverter implements AttributeConverter { + @Override + public String convertToDatabaseColumn(FltMethod attribute) { + if (Objects.isNull(attribute)) { + return null; + } + return attribute.getCode(); + } + + @Override + public FltMethod convertToEntityAttribute(String dbData) { + if (StringUtils.isBlank(dbData)) { + return null; + } + return FltMethod.fromCode(dbData); + } +} diff --git a/pav-server/src/main/java/com/palnet/biz/jpa/entity/converter/FltPurposeConverter.java b/pav-server/src/main/java/com/palnet/biz/jpa/entity/converter/FltPurposeConverter.java new file mode 100644 index 00000000..bc6f693d --- /dev/null +++ b/pav-server/src/main/java/com/palnet/biz/jpa/entity/converter/FltPurposeConverter.java @@ -0,0 +1,38 @@ +package com.palnet.biz.jpa.entity.converter; + +import com.palnet.biz.jpa.entity.type.FltPurpose; +import org.apache.commons.lang3.StringUtils; + +import javax.persistence.AttributeConverter; +import javax.persistence.Converter; +import java.util.Objects; + +/** + * packageName : com.palnet.biz.jpa.entity.converter + * fileName : ArcrftTypeCdConverter + * author : dhji + * date : 2023-09-26(026) + * description : + * =========================================================== + * DATE AUTHOR NOTE + * ----------------------------------------------------------- + * 2023-09-26(026) dhji 최초 생성 + */ +@Converter +public class FltPurposeConverter implements AttributeConverter { + @Override + public String convertToDatabaseColumn(FltPurpose attribute) { + if (Objects.isNull(attribute)) { + return null; + } + return attribute.getCode(); + } + + @Override + public FltPurpose convertToEntityAttribute(String dbData) { + if (StringUtils.isBlank(dbData)) { + return null; + } + return FltPurpose.fromCode(dbData); + } +} diff --git a/pav-server/src/main/java/com/palnet/biz/jpa/entity/converter/FltTypeConverter.java b/pav-server/src/main/java/com/palnet/biz/jpa/entity/converter/FltTypeConverter.java new file mode 100644 index 00000000..efe64174 --- /dev/null +++ b/pav-server/src/main/java/com/palnet/biz/jpa/entity/converter/FltTypeConverter.java @@ -0,0 +1,38 @@ +package com.palnet.biz.jpa.entity.converter; + +import com.palnet.biz.jpa.entity.type.FltType; +import org.apache.commons.lang3.StringUtils; + +import javax.persistence.AttributeConverter; +import javax.persistence.Converter; +import java.util.Objects; + +/** + * packageName : com.palnet.biz.jpa.entity.converter + * fileName : ArcrftTypeCdConverter + * author : dhji + * date : 2023-09-26(026) + * description : + * =========================================================== + * DATE AUTHOR NOTE + * ----------------------------------------------------------- + * 2023-09-26(026) dhji 최초 생성 + */ +@Converter +public class FltTypeConverter implements AttributeConverter { + @Override + public String convertToDatabaseColumn(FltType attribute) { + if (Objects.isNull(attribute)) { + return null; + } + return attribute.getCode(); + } + + @Override + public FltType convertToEntityAttribute(String dbData) { + if (StringUtils.isBlank(dbData)) { + return null; + } + return FltType.fromCode(dbData); + } +} diff --git a/pav-server/src/main/java/com/palnet/biz/jpa/entity/type/ArcrftTypeCd.java b/pav-server/src/main/java/com/palnet/biz/jpa/entity/type/ArcrftTypeCd.java new file mode 100644 index 00000000..581fe156 --- /dev/null +++ b/pav-server/src/main/java/com/palnet/biz/jpa/entity/type/ArcrftTypeCd.java @@ -0,0 +1,42 @@ +package com.palnet.biz.jpa.entity.type; + +import com.fasterxml.jackson.annotation.JsonCreator; +import lombok.Getter; + +/** + * packageName : com.palnet.biz.jpa.entity.type + * fileName : ArcrftTypeCd + * author : dhji + * date : 2023-09-26(026) + * description : + * =========================================================== + * DATE AUTHOR NOTE + * ----------------------------------------------------------- + * 2023-09-26(026) dhji 최초 생성 + */ +@Getter +public enum ArcrftTypeCd { + + UNMANNED_AIRCRAFT("11", "무인비행기"), + UNMANNED_HELICOPTER("12", "무인헬리콤터"), + UNMANNED_MULTICOPTER("13", "무인멀티콥터"), + UNMANNED_AIRSHIP("21", "무인비행선"); + + private final String code; + private final String value; + + ArcrftTypeCd(String code, String value) { + this.code = code; + this.value = value; + } + + @JsonCreator + public static ArcrftTypeCd fromCode(String code) { + for (ArcrftTypeCd arcrftTypeCd : ArcrftTypeCd.values()) { + if (arcrftTypeCd.getCode().equals(code)) { + return arcrftTypeCd; + } + } + return null; + } +} diff --git a/pav-server/src/main/java/com/palnet/biz/jpa/entity/type/ArcrftWghtCd.java b/pav-server/src/main/java/com/palnet/biz/jpa/entity/type/ArcrftWghtCd.java new file mode 100644 index 00000000..2d343ac6 --- /dev/null +++ b/pav-server/src/main/java/com/palnet/biz/jpa/entity/type/ArcrftWghtCd.java @@ -0,0 +1,45 @@ +package com.palnet.biz.jpa.entity.type; + +import com.fasterxml.jackson.annotation.JsonCreator; +import lombok.Getter; + +/** + * packageName : com.palnet.biz.jpa.entity.type + * fileName : ArcrftWghtCd + * author : dhji + * date : 2023-09-26(026) + * description : + * =========================================================== + * DATE AUTHOR NOTE + * ----------------------------------------------------------- + * 2023-09-26(026) dhji 최초 생성 + */ +@Getter +public enum ArcrftWghtCd { + + W250G_LOE("7", "최대이륙중량 250g 이하"), + W250G_W2KG("8", "최대이륙중량 250g 초과 ~ 2kg 이하"), + W2KG_W7KG("9", "최대이륙중량 2kg 초과 ~ 7kg 이하"), + W7KG_W25KG("10", "최대이륙중량 7kg 초과 ~ 25kg 이하"), + W25KG_GO("11", "최대이륙중량 25kg 초과"), + W25KG_GO_TEST("12", "최대이륙중량 25kg 초과 (시험비행)"), + ; + + private final String code; + private final String value; + + ArcrftWghtCd(String code, String value) { + this.code = code; + this.value = value; + } + + @JsonCreator + public static ArcrftWghtCd fromCode(String code) { + for (ArcrftWghtCd arcrftWghtCd : ArcrftWghtCd.values()) { + if (arcrftWghtCd.getCode().equals(code)) { + return arcrftWghtCd; + } + } + return null; + } +} diff --git a/pav-server/src/main/java/com/palnet/biz/jpa/entity/type/FltMethod.java b/pav-server/src/main/java/com/palnet/biz/jpa/entity/type/FltMethod.java new file mode 100644 index 00000000..c1fb0b7d --- /dev/null +++ b/pav-server/src/main/java/com/palnet/biz/jpa/entity/type/FltMethod.java @@ -0,0 +1,49 @@ +package com.palnet.biz.jpa.entity.type; + +import com.fasterxml.jackson.annotation.JsonCreator; +import lombok.Getter; + +/** + * packageName : com.palnet.biz.jpa.entity.type + * fileName : FltMethod + * author : dhji + * date : 2023-09-26(026) + * description : + * =========================================================== + * DATE AUTHOR NOTE + * ----------------------------------------------------------- + * 2023-09-26(026) dhji 최초 생성 + */ +@Getter +public enum FltMethod { + + CLOCK_FLIGHT("01", "시계비행"), + AUTOMATIC_FLIGHT("02", "자동비행"), + CIRCLING_FLIGHT("03", "선회비행"), + INSTRUMENTAL_FLIGHT("04", "계기비행"), + GRID_FLIGHT("05", "격자비행"), + VERTICAL_TAKEOFF_AND_LANDING_FLIGHT("06", "수직이착륙비행"), + VISIBLE_FLIGHT("07", "가시권비행"), + HAND_OPERATED_FLIGHT("08", "수동조종비행"), + FLIGHT_IN_PLACE("09", "제자리비행"), + CLUSTER_FLIGHT("10", "군집비행"), + DIRECT_INPUT("11", "직접입력"); + + private final String code; + private final String value; + + FltMethod(String code, String value) { + this.code = code; + this.value = value; + } + + @JsonCreator + public static FltMethod fromCode(String code) { + for (FltMethod fltMethod : FltMethod.values()) { + if (fltMethod.getCode().equals(code)) { + return fltMethod; + } + } + return null; + } +} diff --git a/pav-server/src/main/java/com/palnet/biz/jpa/entity/type/FltPurpose.java b/pav-server/src/main/java/com/palnet/biz/jpa/entity/type/FltPurpose.java new file mode 100644 index 00000000..14cf74d4 --- /dev/null +++ b/pav-server/src/main/java/com/palnet/biz/jpa/entity/type/FltPurpose.java @@ -0,0 +1,54 @@ +package com.palnet.biz.jpa.entity.type; + +import com.fasterxml.jackson.annotation.JsonCreator; +import lombok.Getter; + +/** + * packageName : com.palnet.biz.jpa.entity.type + * fileName : FltPurpose + * author : dhji + * date : 2023-09-26(026) + * description : + * =========================================================== + * DATE AUTHOR NOTE + * ----------------------------------------------------------- + * 2023-09-26(026) dhji 최초 생성 + */ +@Getter +public enum FltPurpose { + AIR_CONTROL("01","항공방제"), + TRAFFIC_MANAGEMENT("02","교통관리"), + LEISURE_FLIGHT("03","레저비행"), + TEST_FLIGHT("04","시험비행"), + AIR_ADVERTISING("05", "공중광고"), + EDUCATION_FLIGHT("06","교육비행"), + FLIGHT_DEMONSTRATION("07","비행시연"), + PESTICIDE_SPRAY("08","농약살포"), + FOREST_OBSERVATION("09","산림관측"), + TRANSPORTATION("10","수송"), + PHOTOGRAPHY_VIDEO_SHOOTING("11","사진/영상촬영"), + SEARCH_AND_RESCUE("12","수색구조"), + FLIGHT_TRAINING("13","비행훈련"), + FLIGHT_EDUCATION("14","비행교육"), + PILOT_FLIGHT("15","계도비행"), + AIR_SURVEYING("16","항공측량"), + FLIGHT_TEST("17","비행실기시험"); + + private final String code; + private final String value; + + FltPurpose(String code, String value) { + this.code = code; + this.value = value; + } + + @JsonCreator + public static FltPurpose fromCode(String code) { + for (FltPurpose fltPurpose : FltPurpose.values()) { + if (fltPurpose.getCode().equals(code)) { + return fltPurpose; + } + } + return null; + } +} diff --git a/pav-server/src/main/java/com/palnet/biz/jpa/entity/type/FltType.java b/pav-server/src/main/java/com/palnet/biz/jpa/entity/type/FltType.java new file mode 100644 index 00000000..b2c7725a --- /dev/null +++ b/pav-server/src/main/java/com/palnet/biz/jpa/entity/type/FltType.java @@ -0,0 +1,40 @@ +package com.palnet.biz.jpa.entity.type; + +import com.fasterxml.jackson.annotation.JsonCreator; +import lombok.Getter; + +/** + * packageName : com.palnet.biz.jpa.entity.type + * fileName : FLT_TYPE + * author : dhji + * date : 2023-09-26(026) + * description : + * =========================================================== + * DATE AUTHOR NOTE + * ----------------------------------------------------------- + * 2023-09-26(026) dhji 최초 생성 + */ +@Getter +public enum FltType { + COMMERCIAL("COMMERCIAL", "상업용"), + NON_COMMERCIAL("NON-COMMERCIAL", "상업용"); + + private final String code; + private final String value; + + + FltType(String code, String value) { + this.code = code; + this.value = value; + } + + @JsonCreator + public static FltType fromCode(String code) { + for (FltType fltType : FltType.values()) { + if (fltType.getCode().equals(code)) { + return fltType; + } + } + return null; + } +}