diff --git a/src/main/java/com/kamco/cd/kamcoback/inference/InferenceResultApiController.java b/src/main/java/com/kamco/cd/kamcoback/inference/InferenceResultApiController.java index 4baee7e0..88493e20 100644 --- a/src/main/java/com/kamco/cd/kamcoback/inference/InferenceResultApiController.java +++ b/src/main/java/com/kamco/cd/kamcoback/inference/InferenceResultApiController.java @@ -1,6 +1,8 @@ package com.kamco.cd.kamcoback.inference; +import com.kamco.cd.kamcoback.inference.service.InferenceResultService; import io.swagger.v3.oas.annotations.tags.Tag; +import java.util.List; import lombok.RequiredArgsConstructor; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @@ -10,4 +12,7 @@ import org.springframework.web.bind.annotation.RestController; @RequiredArgsConstructor @RestController public class InferenceResultApiController { + + private final InferenceResultService inferenceResultService; + } diff --git a/src/main/java/com/kamco/cd/kamcoback/inference/service/InferenceResultService.java b/src/main/java/com/kamco/cd/kamcoback/inference/service/InferenceResultService.java index 8e9350fd..86a7b7d9 100644 --- a/src/main/java/com/kamco/cd/kamcoback/inference/service/InferenceResultService.java +++ b/src/main/java/com/kamco/cd/kamcoback/inference/service/InferenceResultService.java @@ -1,5 +1,6 @@ package com.kamco.cd.kamcoback.inference.service; +import com.kamco.cd.kamcoback.postgres.core.InferenceResultCoreService; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -9,4 +10,8 @@ import org.springframework.transaction.annotation.Transactional; @Transactional(readOnly = true) public class InferenceResultService { + private final InferenceResultCoreService inferenceResultCoreService; + + + } diff --git a/src/main/java/com/kamco/cd/kamcoback/postgres/core/InferenceResultCoreService.java b/src/main/java/com/kamco/cd/kamcoback/postgres/core/InferenceResultCoreService.java index 1f31009e..8384b388 100644 --- a/src/main/java/com/kamco/cd/kamcoback/postgres/core/InferenceResultCoreService.java +++ b/src/main/java/com/kamco/cd/kamcoback/postgres/core/InferenceResultCoreService.java @@ -1,6 +1,12 @@ package com.kamco.cd.kamcoback.postgres.core; +import com.kamco.cd.kamcoback.common.service.BaseCoreService; +import com.kamco.cd.kamcoback.postgres.repository.Inference.InferenceResultRepository; +import java.util.List; +import java.util.stream.Collectors; import lombok.RequiredArgsConstructor; +import org.springframework.data.domain.Page; +import org.springframework.data.domain.PageImpl; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -9,4 +15,6 @@ import org.springframework.transaction.annotation.Transactional; @Transactional(readOnly = true) public class InferenceResultCoreService { + private final InferenceResultRepository inferenceResultRepository; + } diff --git a/src/main/java/com/kamco/cd/kamcoback/postgres/entity/MapSheetLearnDataEntity.java b/src/main/java/com/kamco/cd/kamcoback/postgres/entity/MapSheetAnalDataEntity.java similarity index 77% rename from src/main/java/com/kamco/cd/kamcoback/postgres/entity/MapSheetLearnDataEntity.java rename to src/main/java/com/kamco/cd/kamcoback/postgres/entity/MapSheetAnalDataEntity.java index 01d01691..109bbd49 100644 --- a/src/main/java/com/kamco/cd/kamcoback/postgres/entity/MapSheetLearnDataEntity.java +++ b/src/main/java/com/kamco/cd/kamcoback/postgres/entity/MapSheetAnalDataEntity.java @@ -20,12 +20,12 @@ import org.hibernate.type.SqlTypes; @Getter @Setter @Entity -@Table(name = "tb_map_sheet_learn_data") -public class MapSheetLearnDataEntity { +@Table(name = "tb_map_sheet_anal_data") +public class MapSheetAnalDataEntity { @Id - @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "tb_map_sheet_learn_data_id_gen") - @SequenceGenerator(name = "tb_map_sheet_learn_data_id_gen", sequenceName = "tb_map_sheet_learn_data_data_uid", allocationSize = 1) + @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "tb_map_sheet_anal_data_id_gen") + @SequenceGenerator(name = "tb_map_sheet_anal_data_id_gen", sequenceName = "tb_map_sheet_learn_data_data_uid", allocationSize = 1) @Column(name = "data_uid", nullable = false) private Long id; @@ -66,8 +66,8 @@ public class MapSheetLearnDataEntity { @Column(name = "compare_yyyy") private Integer compareYyyy; - @Column(name = "data_yyyy") - private Integer dataYyyy; + @Column(name = "target_yyyy") + private Integer targetYyyy; @Column(name = "data_json") @JdbcTypeCode(SqlTypes.JSON) @@ -81,14 +81,6 @@ public class MapSheetLearnDataEntity { @Column(name = "data_state_dttm") private Instant dataStateDttm; - @Size(max = 255) - @Column(name = "data_title") - private String dataTitle; - - @Size(max = 255) - @Column(name = "anal_map_sheet") - private String analMapSheet; - @Column(name = "anal_strt_dttm") private Instant analStrtDttm; @@ -98,15 +90,14 @@ public class MapSheetLearnDataEntity { @Column(name = "anal_sec") private Long analSec; - @Size(max = 20) - @Column(name = "gukuin_used", length = 20) - private String gukuinUsed; - - @Column(name = "gukuin_used_dttm") - private Instant gukuinUsedDttm; - @Size(max = 20) @Column(name = "anal_state", length = 20) private String analState; + @Column(name = "anal_uid") + private Long analUid; + + @Column(name = "map_sheep_num") + private Long mapSheepNum; + } diff --git a/src/main/java/com/kamco/cd/kamcoback/postgres/entity/MapSheetLearnDataGeomEntity.java b/src/main/java/com/kamco/cd/kamcoback/postgres/entity/MapSheetAnalDataGeomEntity.java similarity index 57% rename from src/main/java/com/kamco/cd/kamcoback/postgres/entity/MapSheetLearnDataGeomEntity.java rename to src/main/java/com/kamco/cd/kamcoback/postgres/entity/MapSheetAnalDataGeomEntity.java index 4adeb38f..362d7b86 100644 --- a/src/main/java/com/kamco/cd/kamcoback/postgres/entity/MapSheetLearnDataGeomEntity.java +++ b/src/main/java/com/kamco/cd/kamcoback/postgres/entity/MapSheetAnalDataGeomEntity.java @@ -1,26 +1,26 @@ package com.kamco.cd.kamcoback.postgres.entity; -import com.fasterxml.jackson.databind.annotation.JsonDeserialize; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; -import com.kamco.cd.kamcoback.common.utils.geometry.GeometryDeserializer; -import com.kamco.cd.kamcoback.common.utils.geometry.GeometrySerializer; -import jakarta.persistence.*; +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.GeneratedValue; +import jakarta.persistence.GenerationType; +import jakarta.persistence.Id; +import jakarta.persistence.SequenceGenerator; +import jakarta.persistence.Table; import jakarta.validation.constraints.Size; +import java.time.Instant; import lombok.Getter; import lombok.Setter; -import org.locationtech.jts.geom.Geometry; - -import java.time.Instant; @Getter @Setter @Entity -@Table(name = "tb_map_sheet_learn_data_geom") -public class MapSheetLearnDataGeomEntity { +@Table(name = "tb_map_sheet_anal_data_geom") +public class MapSheetAnalDataGeomEntity { @Id - @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "tb_map_sheet_learn_data_geom_id_gen") - @SequenceGenerator(name = "tb_map_sheet_learn_data_geom_id_gen", sequenceName = "tb_map_sheet_learn_data_geom_geom_uid", allocationSize = 1) + @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "tb_map_sheet_anal_data_geom_id_gen") + @SequenceGenerator(name = "tb_map_sheet_anal_data_geom_id_gen", sequenceName = "tb_map_sheet_learn_data_geom_geom_uid", allocationSize = 1) @Column(name = "geo_uid", nullable = false) private Long id; @@ -44,20 +44,15 @@ public class MapSheetLearnDataGeomEntity { @Column(name = "map_sheet_num") private Long mapSheetNum; - @Column(name = "before_yyyy") - private Integer beforeYyyy; + @Column(name = "compare_yyyy") + private Integer compareYyyy; - @Column(name = "after_yyyy") - private Integer afterYyyy; + @Column(name = "target_yyyy") + private Integer targetYyyy; @Column(name = "area") private Double area; - @JsonDeserialize(using = GeometryDeserializer.class) - @JsonSerialize(using = GeometrySerializer.class) - @Column(name = "geom") - private Geometry geom; - @Size(max = 100) @Column(name = "geo_type", length = 100) private String geoType; @@ -75,4 +70,11 @@ public class MapSheetLearnDataGeomEntity { private Instant updatedDttm; @Column(name = "updated_uid") private Long updatedUid; + +/* + TODO [Reverse Engineering] create field to map the 'geom' column + Available actions: Define target Java type | Uncomment as is | Remove column mapping + @Column(name = "geom", columnDefinition = "geometry") + private Object geom; +*/ } diff --git a/src/main/java/com/kamco/cd/kamcoback/postgres/entity/MapSheetAnalEntity.java b/src/main/java/com/kamco/cd/kamcoback/postgres/entity/MapSheetAnalEntity.java new file mode 100644 index 00000000..16cfe01c --- /dev/null +++ b/src/main/java/com/kamco/cd/kamcoback/postgres/entity/MapSheetAnalEntity.java @@ -0,0 +1,86 @@ +package com.kamco.cd.kamcoback.postgres.entity; + +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.GeneratedValue; +import jakarta.persistence.GenerationType; +import jakarta.persistence.Id; +import jakarta.persistence.SequenceGenerator; +import jakarta.persistence.Table; +import jakarta.validation.constraints.Size; +import java.time.Instant; +import lombok.Getter; +import lombok.Setter; +import org.hibernate.annotations.ColumnDefault; + +@Getter +@Setter +@Entity +@Table(name = "tb_map_sheet_anal") +public class MapSheetAnalEntity { + + @Id + @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "tb_map_sheet_anal_id_gen") + @SequenceGenerator(name = "tb_map_sheet_anal_id_gen", sequenceName = "tb_map_sheet_anal_anal_uid", allocationSize = 1) + @Column(name = "anal_uid", nullable = false) + private Long id; + + @Column(name = "compare_yyyy") + private Integer compareYyyy; + + @Column(name = "target_yyyy") + private Integer targetYyyy; + + @Column(name = "model_uid") + private Long modelUid; + + @Size(max = 100) + @Column(name = "server_ids", length = 100) + private String serverIds; + + @Column(name = "anal_map_sheet", length = Integer.MAX_VALUE) + private String analMapSheet; + + @Column(name = "anal_strt_dttm") + private Instant analStrtDttm; + + @Column(name = "anal_end_dttm") + private Instant analEndDttm; + + @Column(name = "anal_ss") + private Integer analSs; + + @Size(max = 20) + @Column(name = "anal_state", length = 20) + private String analState; + + @Size(max = 20) + @Column(name = "gukyuin_used", length = 20) + private String gukyuinUsed; + + @Column(name = "accuracy") + private Double accuracy; + + @Size(max = 255) + @Column(name = "result_url") + private String resultUrl; + + @ColumnDefault("now()") + @Column(name = "created_dttm") + private Instant createdDttm; + + @Column(name = "created_uid") + private Long createdUid; + + @ColumnDefault("now()") + @Column(name = "updated_dttm") + private Instant updatedDttm; + + @Column(name = "updated_uid") + private Long updatedUid; + + @Size(max = 255) + @Column(name = "anal_title") + private String analTitle; + +} diff --git a/src/main/java/com/kamco/cd/kamcoback/postgres/entity/ModelMngEntity.java b/src/main/java/com/kamco/cd/kamcoback/postgres/entity/ModelMngEntity.java new file mode 100644 index 00000000..26149b11 --- /dev/null +++ b/src/main/java/com/kamco/cd/kamcoback/postgres/entity/ModelMngEntity.java @@ -0,0 +1,58 @@ +package com.kamco.cd.kamcoback.postgres.entity; + +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.GeneratedValue; +import jakarta.persistence.GenerationType; +import jakarta.persistence.Id; +import jakarta.persistence.SequenceGenerator; +import jakarta.persistence.Table; +import jakarta.validation.constraints.Size; +import java.time.Instant; +import lombok.Getter; +import lombok.Setter; +import org.hibernate.annotations.ColumnDefault; + +@Getter +@Setter +@Entity +@Table(name = "tb_model_mng") +public class ModelMngEntity { + + @Id + @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "tb_model_mng_id_gen") + @SequenceGenerator(name = "tb_model_mng_id_gen", sequenceName = "tb_model_mng_model_uid", allocationSize = 1) + @Column(name = "model_uid", nullable = false) + private Long id; + + @Size(max = 100) + @ColumnDefault("'NULL::character varying'") + @Column(name = "model_nm", length = 100) + private String modelNm; + + @Size(max = 64) + @ColumnDefault("'NULL::character varying'") + @Column(name = "model_cate", length = 64) + private String modelCate; + + @Size(max = 255) + @ColumnDefault("'NULL::character varying'") + @Column(name = "model_path") + private String modelPath; + + @Column(name = "created_dttm") + private Instant createdDttm; + + @Column(name = "created_uid") + private Long createdUid; + + @Column(name = "updated_dttm") + private Instant updatedDttm; + + @Column(name = "updated_uid") + private Long updatedUid; + + @Column(name = "model_cntnt", length = Integer.MAX_VALUE) + private String modelCntnt; + +} diff --git a/src/main/java/com/kamco/cd/kamcoback/postgres/entity/TbModelVerEntity.java b/src/main/java/com/kamco/cd/kamcoback/postgres/entity/TbModelVerEntity.java new file mode 100644 index 00000000..48c104e4 --- /dev/null +++ b/src/main/java/com/kamco/cd/kamcoback/postgres/entity/TbModelVerEntity.java @@ -0,0 +1,73 @@ +package com.kamco.cd.kamcoback.postgres.entity; + +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.GeneratedValue; +import jakarta.persistence.GenerationType; +import jakarta.persistence.Id; +import jakarta.persistence.SequenceGenerator; +import jakarta.persistence.Table; +import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.Size; +import java.time.Instant; +import lombok.Getter; +import lombok.Setter; +import org.hibernate.annotations.ColumnDefault; + +@Getter +@Setter +@Entity +@Table(name = "tb_model_ver") +public class TbModelVerEntity { + + @Id + @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "tb_model_ver_id_gen") + @SequenceGenerator(name = "tb_model_ver_id_gen", sequenceName = "tb_model_ver_model_ver_uid", allocationSize = 1) + @Column(name = "model_ver_uid", nullable = false) + private Long id; + + @NotNull + @Column(name = "model_uid", nullable = false) + private Long modelUid; + + @Size(max = 64) + @Column(name = "model_cate", length = 64) + private String modelCate; + + @Size(max = 64) + @Column(name = "model_ver", length = 64) + private String modelVer; + + @Size(max = 20) + @Column(name = "used_state", length = 20) + private String usedState; + + @Size(max = 20) + @Column(name = "model_state", length = 20) + private String modelState; + + @Column(name = "quality_prob") + private Double qualityProb; + + @Size(max = 20) + @Column(name = "deploy_state", length = 20) + private String deployState; + + @Size(max = 255) + @Column(name = "model_path") + private String modelPath; + + @ColumnDefault("now()") + @Column(name = "created_dttm") + private Instant createdDttm; + + @Column(name = "created_uid") + private Long createdUid; + + @Column(name = "updated_dttm") + private Instant updatedDttm; + + @Column(name = "updated_uid") + private Long updatedUid; + +} diff --git a/src/main/java/com/kamco/cd/kamcoback/postgres/repository/Inference/InferenceResultRepository.java b/src/main/java/com/kamco/cd/kamcoback/postgres/repository/Inference/InferenceResultRepository.java index 7e618932..dd001f4c 100644 --- a/src/main/java/com/kamco/cd/kamcoback/postgres/repository/Inference/InferenceResultRepository.java +++ b/src/main/java/com/kamco/cd/kamcoback/postgres/repository/Inference/InferenceResultRepository.java @@ -1,5 +1,8 @@ package com.kamco.cd.kamcoback.postgres.repository.Inference; -public interface InferenceResultRepository { +import com.kamco.cd.kamcoback.postgres.entity.MapSheetLearnDataEntity; +import org.springframework.data.jpa.repository.JpaRepository; + +public interface InferenceResultRepository extends JpaRepository, InferenceResultRepositoryCustom { } diff --git a/src/main/java/com/kamco/cd/kamcoback/postgres/repository/Inference/InferenceResultRepositoryImpl.java b/src/main/java/com/kamco/cd/kamcoback/postgres/repository/Inference/InferenceResultRepositoryImpl.java index c8b678e6..cab90c2f 100644 --- a/src/main/java/com/kamco/cd/kamcoback/postgres/repository/Inference/InferenceResultRepositoryImpl.java +++ b/src/main/java/com/kamco/cd/kamcoback/postgres/repository/Inference/InferenceResultRepositoryImpl.java @@ -1,5 +1,17 @@ package com.kamco.cd.kamcoback.postgres.repository.Inference; -public class InferenceResultRepositoryImpl { + +import com.kamco.cd.kamcoback.postgres.entity.QMapSheetLearnDataEntity; +import com.querydsl.jpa.impl.JPAQueryFactory; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Repository; + +@Repository +@RequiredArgsConstructor +public class InferenceResultRepositoryImpl implements InferenceResultRepositoryCustom { + + private final JPAQueryFactory queryFactory; + private final QMapSheetLearnDataEntity qSheetLearnData = QMapSheetLearnDataEntity.mapSheetLearnDataEntity; + }