Browse Source

refactor: data-ctr entity type 구성

pull/6/head^2
지대한 8 months ago
parent
commit
27272e80e1
  1. 61
      data/ctr/src/main/java/kr/co/palnet/kac/data/ctr/model/CtrCntrlBas.java
  2. 64
      data/ctr/src/main/java/kr/co/palnet/kac/data/ctr/model/CtrCntrlHstry.java
  3. 58
      data/ctr/src/main/java/kr/co/palnet/kac/data/ctr/model/CtrCntrlHstryArea.java
  4. 26
      data/ctr/src/main/java/kr/co/palnet/kac/data/ctr/model/CtrCntrlWarnLog.java

61
data/ctr/src/main/java/kr/co/palnet/kac/data/ctr/model/CtrCntrlBas.java

@ -1,100 +1,99 @@
package kr.co.palnet.kac.data.ctr.model;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.Id;
import jakarta.persistence.Table;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import jakarta.persistence.*;
import lombok.*;
import java.time.Instant;
import java.util.List;
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
@ToString(exclude = {"ctrCntrlHstryList"})
@Entity
@Table(name = "CTR_CNTRL_BAS")
public class CtrCntrlBas {
// 관제ID
@Id
@Column(name = "CNTRL_ID")
@Column(name = "CNTRL_ID", length = 60)
private String cntrlId;
// 식별번호
@Column(name = "IDNTF_NUM")
@Column(name = "IDNTF_NUM", length = 30, nullable = false)
private String idntfNum;
// 상태코드
@Column(name = "STATUS_CD")
@Column(name = "STATUS_CD", length = 20, nullable = false)
private String statusCd;
// 처리상태여부
@Column(name = "PROC_STATUS_YN")
@Column(name = "PROC_STATUS_YN", columnDefinition = "char(1) default 'N'", nullable = false)
private String procStatusYn;
// 물체타입코드
@Column(name = "OBJECT_TYPE_CD")
@Column(name = "OBJECT_TYPE_CD", length = 20, nullable = false)
private String objectTypeCd;
// 비행시작일시
@Column(name = "FLGHT_ST_DT", columnDefinition = "TIMESTAMP")
@Column(name = "FLGHT_ST_DT", columnDefinition = "datetime(6)")
private Instant flghtStDt;
// 비행종료일시
@Column(name = "FLGHT_END_DT", columnDefinition = "TIMESTAMP")
@Column(name = "FLGHT_END_DT", columnDefinition = "datetime(6)")
private Instant flghtEndDt;
// 관제시작일시
@Column(name = "CNTRL_ST_DT", columnDefinition = "TIMESTAMP")
@Column(name = "CNTRL_ST_DT", columnDefinition = "datetime(6)", nullable = false)
private Instant cntrlStDt;
// 관제종료일시
@Column(name = "CNTRL_END_DT", columnDefinition = "TIMESTAMP")
@Column(name = "CNTRL_END_DT", columnDefinition = "datetime(6)")
private Instant cntrlEndDt;
// 총비행시간
@Column(name = "TTL_TIME")
private Double ttlTime = 0.0;
@Column(name = "TTL_TIME", columnDefinition = "double default 0.0")
private Double ttlTime;
// 총비행시간단위
@Column(name = "TTL_TIME_TYPE")
@Column(name = "TTL_TIME_TYPE", length = 20)
private String ttlTimeType;
// 총비행거리
@Column(name = "TTL_DSTNC")
private Double ttlDstnc = 0.0;
@Column(name = "TTL_DSTNC", columnDefinition = "double default 0.0")
private Double ttlDstnc;
// 총비행거리단위
@Column(name = "TTL_DSTNC_TYPE")
@Column(name = "TTL_DSTNC_TYPE", length = 20)
private String ttlDstncType;
// 평균속도
@Column(name = "AVRG_SPEED")
private Double avrgSpeed = 0.0;
@Column(name = "AVRG_SPEED", columnDefinition = "double default 0.0")
private Double avrgSpeed;
// 평균속도단위
@Column(name = "AVRG_SPEED_TYPE")
@Column(name = "AVRG_SPEED_TYPE", length = 20)
private String avrgSpeedType;
// 배터리소모량
@Column(name = "BTTR_CNSMPTN")
private Double bttrCnsmptn = 0.0;
@Column(name = "BTTR_CNSMPTN", columnDefinition = "double default 0.0")
private Double bttrCnsmptn;
// 종료타입코드
@Column(name = "END_TYPE_CD")
@Column(name = "END_TYPE_CD", length = 20)
private String endTypeCd;
// 생성일시
@Column(name = "CREATE_DT", columnDefinition = "TIMESTAMP")
@Column(name = "CREATE_DT", columnDefinition = "datetime", updatable = false, nullable = false)
private Instant createDt;
// 수정일시
@Column(name = "UPDATE_DT", columnDefinition = "TIMESTAMP")
@Column(name = "UPDATE_DT", columnDefinition = "datetime", nullable = false)
private Instant updateDt;
@OneToMany(mappedBy = "ctrCntrlBas", fetch = FetchType.LAZY)
private List<CtrCntrlHstry> ctrCntrlHstryList;
}

64
data/ctr/src/main/java/kr/co/palnet/kac/data/ctr/model/CtrCntrlHstry.java

@ -1,18 +1,17 @@
package kr.co.palnet.kac.data.ctr.model;
import jakarta.persistence.*;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.*;
import java.time.Instant;
import java.util.List;
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
@ToString(exclude = {"ctrCntrlHstryAreaList", "ctrCntrlBas"})
@Entity
@Table(name = "CTR_CNTRL_HSTRY")
public class CtrCntrlHstry {
@ -20,96 +19,105 @@ public class CtrCntrlHstry {
// 이력일련번호
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "HSTRY_SNO")
private int hstrySno;
@Column(name = "HSTRY_SNO", columnDefinition = "int unsigned")
private Long hstrySno;
// 관제ID
@Column(name = "CNTRL_ID")
@Column(name = "CNTRL_ID", length = 60, nullable = false)
private String cntrlId;
// 터미널ID
@Column(name = "TRMNL_ID")
@Column(name = "TRMNL_ID", length = 100, nullable = false)
private String trmnlId;
// 메시지코드
@Column(name = "MSSG_TYPE_CD")
@Column(name = "MSSG_TYPE_CD", length = 20, nullable = false)
private String mssgTypeCd;
// 상태코드
@Column(name = "STATUS_CD")
@Column(name = "STATUS_CD", length = 20)
private String statusCd;
// 위도
@Column(name = "LAT")
@Column(name = "LAT", columnDefinition = "double(18,10)", nullable = false)
private Double lat;
// 경도
@Column(name = "LON")
@Column(name = "LON", columnDefinition = "double(18,10)", nullable = false)
private Double lon;
// 속도
@Column(name = "SPEED")
@Column(name = "SPEED", columnDefinition = "double")
private Double speed;
// 속도단위
@Column(name = "SPEED_TYPE")
@Column(name = "SPEED_TYPE", length = 20)
private String speedType;
// 방향
@Column(name = "HEADING")
@Column(name = "HEADING", columnDefinition = "double")
private Double heading;
// 고도단위
@Column(name = "ELEV_TYPE")
@Column(name = "ELEV_TYPE", length = 20)
private String elevType;
// 고도
@Column(name = "ELEV")
@Column(name = "ELEV", columnDefinition = "double")
private Double elev;
// 이동거리
@Column(name = "MV_DSTNC")
@Column(name = "MV_DSTNC", columnDefinition = "double")
private Double mvDstnc;
// 이동거리단위
@Column(name = "MV_DSTNC_TYPE")
@Column(name = "MV_DSTNC_TYPE", length = 20)
private String mvDstncType;
// 배터리잔량
@Column(name = "BTTR_LVL")
@Column(name = "BTTR_LVL", columnDefinition = "double")
private Double bttrLvl;
// 배터리전압
@Column(name = "BTTR_VLTG")
@Column(name = "BTTR_VLTG", columnDefinition = "double")
private Double bttrVltg;
// 단말기수신시간
@Column(name = "TRMNL_RCV_DT", columnDefinition = "TIMESTAMP")
@Column(name = "TRMNL_RCV_DT", columnDefinition = "datetime(6)")
private Instant trmnlRcvDt;
// 서버수신시간
@Column(name = "SRVR_RCV_DT", columnDefinition = "TIMESTAMP")
@Column(name = "SRVR_RCV_DT", columnDefinition = "datetime(6)", nullable = false)
private Instant srvrRcvDt;
// 환경센서 필드
// 일산화탄소
@Column(name = "SENSOR_CO")
@Column(name = "SENSOR_CO", columnDefinition = "double")
private Double sensorCo;
// 아황산가스
@Column(name = "SENSOR_SO2")
@Column(name = "SENSOR_SO2", columnDefinition = "double")
private Double sensorSo2;
// 이산화질소
@Column(name = "SENSOR_NO2")
@Column(name = "SENSOR_NO2", columnDefinition = "double")
private Double sensorNo2;
// 오존
@Column(name = "SENSOR_O3")
@Column(name = "SENSOR_O3", columnDefinition = "double")
private Double sensorO3;
// 미세먼지
@Column(name = "SENSOR_DUST")
@Column(name = "SENSOR_DUST", columnDefinition = "double")
private Double sensorDust;
@JoinColumn(
name = "CNTRL_ID", insertable = false, updatable = false,
foreignKey = @ForeignKey(name = "FK_CTR_CNTRL_HSTRY_CTR_CNTRL_BAS")
)
@ManyToOne(fetch = FetchType.LAZY)
private CtrCntrlBas ctrCntrlBas;
@OneToMany(mappedBy = "ctrCntrlHstry", fetch = FetchType.LAZY)
private List<CtrCntrlHstryArea> ctrCntrlHstryAreaList;
}

58
data/ctr/src/main/java/kr/co/palnet/kac/data/ctr/model/CtrCntrlHstryArea.java

@ -1,10 +1,7 @@
package kr.co.palnet.kac.data.ctr.model;
import jakarta.persistence.*;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.*;
import java.time.Instant;
@ -13,6 +10,7 @@ import java.time.Instant;
@NoArgsConstructor
@AllArgsConstructor
@Builder
@ToString(exclude = {"ctrCntrlHstry"})
@Entity
@Table(name = "CTR_CNTRL_HSTRY_AREA")
public class CtrCntrlHstryArea {
@ -20,71 +18,79 @@ public class CtrCntrlHstryArea {
// 이력지역일련번호
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "HSTRY_AREA_SNO")
private int hstryAreaSno;
@Column(name = "HSTRY_AREA_SNO", columnDefinition = "int unsigned")
private Long hstryAreaSno;
// 이력일련번호
@Column(name = "HSTRY_SNO", columnDefinition = "int unsigned", nullable = false)
private int hstrySno;
// 관제ID
@Column(name = "CNTRL_ID")
@Column(name = "CNTRL_ID", length = 60, nullable = false)
private String cntrlId;
// 행동구분
@Column(name = "ACTN_TYPE")
@Column(name = "ACTN_TYPE", length = 20, nullable = false)
private String actnType;
// 처리여부
@Column(name = "PRCS_YN")
@Column(name = "PRCS_YN", columnDefinition = "char(1) default 'N'", nullable = false)
private String prcsYn;
// 이력일련번호
@Column(name = "HSTRY_SNO")
private int hstrySno;
// 위도
@Column(name = "LAT")
private double lat;
@Column(name = "LAT", columnDefinition = "double(18,10)")
private Double lat;
// 경도
@Column(name = "LON")
private double lon;
@Column(name = "LON", columnDefinition = "double(18,10)")
private Double lon;
// 시도명
@Column(name = "AREA1")
@Column(name = "AREA1", length = 20)
private String area1;
// 시군구명
@Column(name = "AREA2")
@Column(name = "AREA2", length = 20)
private String area2;
// 읍면동명
@Column(name = "AREA3")
@Column(name = "AREA3", length = 20)
private String area3;
// 우편번호
@Column(name = "ZIP_CD")
@Column(name = "ZIP_CD", length = 6)
private String zipCd;
// 도로명
@Column(name = "LAND_NM")
@Column(name = "LAND_NM", length = 30)
private String landNm;
// 도로번호
@Column(name = "LAND_NUM")
@Column(name = "LAND_NUM", length = 10)
private String landNum;
// 지역타입
@Column(name = "AREA_TYPE")
@Column(name = "AREA_TYPE", length = 20)
private String areaType;
// 지역명
@Column(name = "AREA_NM")
@Column(name = "AREA_NM", length = 100)
private String areaNm;
// 등록일시
@Column(name = "CREATE_DT", columnDefinition = "TIMESTAMP")
@Column(name = "CREATE_DT", columnDefinition = "datetime", updatable = false, nullable = false)
private Instant createDt;
// 수정일시
@Column(name = "UPDATE_DT", columnDefinition = "TIMESTAMP")
@Column(name = "UPDATE_DT", columnDefinition = "datetime", nullable = false)
private Instant updateDt;
@JoinColumn(
name = "HSTRY_SNO", updatable = false, insertable = false,
foreignKey = @ForeignKey(name = "FK_CTR_CNTRL_HSTRY_AREA_CTR_CNTRL_HSTRY")
)
@ManyToOne(fetch = FetchType.LAZY)
private CtrCntrlHstry ctrCntrlHstry;
}

26
data/ctr/src/main/java/kr/co/palnet/kac/data/ctr/model/CtrCntrlWarnLog.java

@ -19,43 +19,43 @@ public class CtrCntrlWarnLog {
// 로그일련번호
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "WARN_LOG_SNO")
@Column(name = "WARN_LOG_SNO", columnDefinition = "int unsigned")
private Integer warnLogSno;
// 관제ID
@Column(name = "CNTRL_ID")
@Column(name = "CNTRL_ID", length = 60, nullable = false)
private String cntrlId;
// 상황종류
@Column(name = "WARN_TYPE")
@Column(name = "WARN_TYPE", length = 30, nullable = false)
private String warnType;
// 식별번호
@Column(name = "IDNTF_NUM")
@Column(name = "IDNTF_NUM", length = 30, nullable = false)
private String idntfNum;
// 발생시간
@Column(name = "OCCUR_DT")
@Column(name = "OCCUR_DT", columnDefinition = "datetime(6)", nullable = false)
private Instant occurDt;
// 위도
@Column(name = "LAT")
private double lat;
@Column(name = "LAT", columnDefinition = "double(18,10)")
private Double lat;
// 경도
@Column(name = "LON")
private double lon;
@Column(name = "LON", columnDefinition = "double(18,10)")
private Double lon;
// 고도
@Column(name = "ELEV")
private double elev;
@Column(name = "ELEV", columnDefinition = "double")
private Double elev;
// 등록일자
@Column(name = "CREATE_DT")
@Column(name = "CREATE_DT", columnDefinition = "datetime", updatable = false, nullable = false)
private Instant createDt;
// 등록사용자ID
@Column(name = "CREATE_USER_ID")
@Column(name = "CREATE_USER_ID", length = 30, updatable = false, nullable = false)
private String createUserId;
}

Loading…
Cancel
Save