From 267c51584f0bb346185f67e99e153d186debc0f6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B0=95=EC=84=9D=20=EC=B5=9C?= Date: Tue, 8 Nov 2022 10:34:58 +0900 Subject: [PATCH] =?UTF-8?q?=ED=8C=A8=ED=82=A4=EC=A7=80=20=EA=B2=BD?= =?UTF-8?q?=EB=A1=9C=20=EB=B3=80=EA=B2=BD.=20=EC=A4=91=EA=B0=84=EC=A0=80?= =?UTF-8?q?=EC=9E=A5.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../CrackdownStatusController.java | 3 +- .../FishingBoatController.java | 2 +- .../ProcessResultController.java | 3 +- .../crackdownsStatus/SailorController.java | 2 +- .../crackdownStatus/CrackdownStatus.java | 8 +--- .../CrackdownStatusBaseEntity.java | 8 ---- .../model/fishingBoat/FishingBoat.java | 47 +++++++++++++++++++ .../FishingBoatBaseEntity.java} | 34 ++------------ .../model/fishingBoat/FishingBoatVersion.java | 35 ++++++++++++++ .../model/{ => fishingBoat}/Violation.java | 2 +- .../model/fishingBoat/ViolationVersion.java | 41 ++++++++++++++++ .../model/processResult/ProcessResult.java | 4 +- .../processResult/ProcessResultVersion.java | 4 +- .../crackdownsStatus/model/sailor/Sailor.java | 4 +- .../model/sailor/SailorVersion.java | 2 +- .../repository/FishingBoatRepository.java | 2 +- .../FishingBoatVersionRepository.java | 11 +++++ .../repository/ViolationRepository.java | 2 +- .../ViolationVersionRepository.java | 8 ++++ .../service/CrackdownStatusService.java | 4 +- .../service/FishingBoatService.java | 23 ++++++++- .../service/SailorService.java | 3 +- 22 files changed, 185 insertions(+), 67 deletions(-) create mode 100644 src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/model/fishingBoat/FishingBoat.java rename src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/model/{FishingBoat.java => fishingBoat/FishingBoatBaseEntity.java} (77%) create mode 100644 src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/model/fishingBoat/FishingBoatVersion.java rename src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/model/{ => fishingBoat}/Violation.java (91%) create mode 100644 src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/model/fishingBoat/ViolationVersion.java create mode 100644 src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/repository/FishingBoatVersionRepository.java create mode 100644 src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/repository/ViolationVersionRepository.java diff --git a/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/CrackdownStatusController.java b/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/CrackdownStatusController.java index 125e301a..888bbf7a 100644 --- a/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/CrackdownStatusController.java +++ b/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/CrackdownStatusController.java @@ -2,10 +2,9 @@ package com.dbnt.faisp.main.faStatistics.crackdownsStatus; import com.dbnt.faisp.main.authMgt.service.AuthMgtService; import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.crackdownStatus.CrackdownStatus; -import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.FishingBoat; +import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.fishingBoat.FishingBoat; import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.crackdownStatus.CrackdownStatusVersion; import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.processResult.ProcessResult; -import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.processResult.ProcessResultVersion; import com.dbnt.faisp.main.faStatistics.crackdownsStatus.repository.*; import com.dbnt.faisp.main.faStatistics.crackdownsStatus.service.CrackdownStatusService; import com.dbnt.faisp.main.userInfo.model.UserInfo; diff --git a/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/FishingBoatController.java b/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/FishingBoatController.java index a2568eb6..7ede4a0e 100644 --- a/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/FishingBoatController.java +++ b/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/FishingBoatController.java @@ -3,7 +3,7 @@ package com.dbnt.faisp.main.faStatistics.crackdownsStatus; import com.dbnt.faisp.main.authMgt.service.AuthMgtService; import com.dbnt.faisp.main.codeMgt.service.CodeMgtService; import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.crackdownStatus.CrackdownStatus; -import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.FishingBoat; +import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.fishingBoat.FishingBoat; import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.processResult.ProcessResult; import com.dbnt.faisp.main.faStatistics.crackdownsStatus.service.FishingBoatService; import com.dbnt.faisp.main.userInfo.model.UserInfo; diff --git a/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/ProcessResultController.java b/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/ProcessResultController.java index 14f6a75b..41c9a498 100644 --- a/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/ProcessResultController.java +++ b/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/ProcessResultController.java @@ -2,10 +2,9 @@ package com.dbnt.faisp.main.faStatistics.crackdownsStatus; import com.dbnt.faisp.main.authMgt.service.AuthMgtService; import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.crackdownStatus.CrackdownStatus; -import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.FishingBoat; +import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.fishingBoat.FishingBoat; import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.processResult.ProcessResult; import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.processResult.ProcessResultVersion; -import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.sailor.Sailor; import com.dbnt.faisp.main.faStatistics.crackdownsStatus.repository.*; import com.dbnt.faisp.main.faStatistics.crackdownsStatus.service.ProcessResultService; import com.dbnt.faisp.main.userInfo.model.UserInfo; diff --git a/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/SailorController.java b/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/SailorController.java index 0cfde544..41486d78 100644 --- a/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/SailorController.java +++ b/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/SailorController.java @@ -2,7 +2,7 @@ package com.dbnt.faisp.main.faStatistics.crackdownsStatus; import com.dbnt.faisp.main.authMgt.service.AuthMgtService; import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.crackdownStatus.CrackdownStatus; -import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.FishingBoat; +import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.fishingBoat.FishingBoat; import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.sailor.Sailor; import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.sailor.SailorVersion; import com.dbnt.faisp.main.faStatistics.crackdownsStatus.repository.*; diff --git a/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/model/crackdownStatus/CrackdownStatus.java b/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/model/crackdownStatus/CrackdownStatus.java index 334aab8c..0bfe37e6 100644 --- a/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/model/crackdownStatus/CrackdownStatus.java +++ b/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/model/crackdownStatus/CrackdownStatus.java @@ -1,8 +1,7 @@ package com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.crackdownStatus; -import com.dbnt.faisp.config.BaseModel; -import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.FishingBoat; -import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.Violation; +import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.fishingBoat.FishingBoat; +import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.fishingBoat.Violation; import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.processResult.ProcessResult; import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.sailor.Sailor; import lombok.Getter; @@ -10,11 +9,8 @@ import lombok.NoArgsConstructor; import lombok.Setter; import org.hibernate.annotations.DynamicInsert; import org.hibernate.annotations.DynamicUpdate; -import org.springframework.format.annotation.DateTimeFormat; import javax.persistence.*; -import java.time.LocalDate; -import java.time.LocalDateTime; import java.util.List; @Getter diff --git a/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/model/crackdownStatus/CrackdownStatusBaseEntity.java b/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/model/crackdownStatus/CrackdownStatusBaseEntity.java index 5236eb8d..8601909f 100644 --- a/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/model/crackdownStatus/CrackdownStatusBaseEntity.java +++ b/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/model/crackdownStatus/CrackdownStatusBaseEntity.java @@ -1,21 +1,13 @@ package com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.crackdownStatus; import com.dbnt.faisp.config.BaseModel; -import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.FishingBoat; -import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.Violation; -import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.processResult.ProcessResult; -import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.sailor.Sailor; import lombok.Getter; import lombok.NoArgsConstructor; import lombok.Setter; -import org.hibernate.annotations.DynamicInsert; -import org.hibernate.annotations.DynamicUpdate; import org.springframework.format.annotation.DateTimeFormat; import javax.persistence.*; -import java.time.LocalDate; import java.time.LocalDateTime; -import java.util.List; @Getter @Setter diff --git a/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/model/fishingBoat/FishingBoat.java b/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/model/fishingBoat/FishingBoat.java new file mode 100644 index 00000000..ea14dce8 --- /dev/null +++ b/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/model/fishingBoat/FishingBoat.java @@ -0,0 +1,47 @@ +package com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.fishingBoat; + +import com.dbnt.faisp.config.BaseModel; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; +import org.hibernate.annotations.DynamicInsert; +import org.hibernate.annotations.DynamicUpdate; +import org.springframework.format.annotation.DateTimeFormat; + +import javax.persistence.*; +import java.time.LocalDateTime; + +@Getter +@Setter +@Entity +@NoArgsConstructor +@DynamicInsert +@DynamicUpdate +@Table(name = "fishing_boat") +public class FishingBoat extends FishingBoatBaseEntity { + + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + @Column(name = "fb_key") + private Integer fbKey; + + @Transient + private String year; + @Transient + private String caseAgency; + @Transient + private String crackdownPolice; + @Transient + private String crackdownBoat; + @Transient + private String boatNny; + @Transient + private String processStatus; + @Transient + private String violation; + + @Transient + private String boatMaterialEtc; + @Transient + private String fisheryTypeEtc; +} diff --git a/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/model/FishingBoat.java b/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/model/fishingBoat/FishingBoatBaseEntity.java similarity index 77% rename from src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/model/FishingBoat.java rename to src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/model/fishingBoat/FishingBoatBaseEntity.java index 8b7a24d1..7f2103fe 100644 --- a/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/model/FishingBoat.java +++ b/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/model/fishingBoat/FishingBoatBaseEntity.java @@ -1,11 +1,9 @@ -package com.dbnt.faisp.main.faStatistics.crackdownsStatus.model; +package com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.fishingBoat; import com.dbnt.faisp.config.BaseModel; import lombok.Getter; import lombok.NoArgsConstructor; import lombok.Setter; -import org.hibernate.annotations.DynamicInsert; -import org.hibernate.annotations.DynamicUpdate; import org.springframework.format.annotation.DateTimeFormat; import javax.persistence.*; @@ -13,17 +11,10 @@ import java.time.LocalDateTime; @Getter @Setter -@Entity @NoArgsConstructor -@DynamicInsert -@DynamicUpdate -@Table(name = "fishing_boat") -public class FishingBoat extends BaseModel { +@MappedSuperclass +public class FishingBoatBaseEntity extends BaseModel { - @Id - @GeneratedValue(strategy = GenerationType.IDENTITY) - @Column(name = "fb_key") - private Integer fbKey; @Column(name = "cds_key") private Integer cdsKey; @Column(name = "boat_name_kr") @@ -97,23 +88,4 @@ public class FishingBoat extends BaseModel { @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm") private LocalDateTime wrtDt; - @Transient - private String year; - @Transient - private String caseAgency; - @Transient - private String crackdownPolice; - @Transient - private String crackdownBoat; - @Transient - private String boatNny; - @Transient - private String processStatus; - @Transient - private String violation; - - @Transient - private String boatMaterialEtc; - @Transient - private String fisheryTypeEtc; } diff --git a/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/model/fishingBoat/FishingBoatVersion.java b/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/model/fishingBoat/FishingBoatVersion.java new file mode 100644 index 00000000..07625670 --- /dev/null +++ b/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/model/fishingBoat/FishingBoatVersion.java @@ -0,0 +1,35 @@ +package com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.fishingBoat; + +import lombok.*; +import org.hibernate.annotations.DynamicInsert; +import org.hibernate.annotations.DynamicUpdate; + +import javax.persistence.*; +import java.io.Serializable; + +@Getter +@Setter +@Entity +@NoArgsConstructor +@DynamicInsert +@DynamicUpdate +@Table(name = "fishing_boat_version") +@IdClass(FishingBoatVersion.FishingBoatVersionId.class) +public class FishingBoatVersion extends FishingBoatBaseEntity { + + @Id + @Column(name = "fb_key") + private Integer fbKey; + @Id + @Column(name = "version_no") + private Integer versionNo; + + @Embeddable + @Data + @NoArgsConstructor + @AllArgsConstructor + public static class FishingBoatVersionId implements Serializable { + private Integer fbKey; + private Integer versionNo; + } +} diff --git a/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/model/Violation.java b/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/model/fishingBoat/Violation.java similarity index 91% rename from src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/model/Violation.java rename to src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/model/fishingBoat/Violation.java index f6fe0abd..9f3f64e3 100644 --- a/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/model/Violation.java +++ b/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/model/fishingBoat/Violation.java @@ -1,4 +1,4 @@ -package com.dbnt.faisp.main.faStatistics.crackdownsStatus.model; +package com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.fishingBoat; import com.dbnt.faisp.config.BaseModel; import lombok.*; diff --git a/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/model/fishingBoat/ViolationVersion.java b/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/model/fishingBoat/ViolationVersion.java new file mode 100644 index 00000000..ca66bbf3 --- /dev/null +++ b/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/model/fishingBoat/ViolationVersion.java @@ -0,0 +1,41 @@ +package com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.fishingBoat; + +import com.dbnt.faisp.config.BaseModel; +import lombok.*; +import org.hibernate.annotations.DynamicInsert; +import org.hibernate.annotations.DynamicUpdate; + +import javax.persistence.*; +import java.io.Serializable; + +@Getter +@Setter +@Entity +@NoArgsConstructor +@DynamicInsert +@DynamicUpdate +@Table(name = "violation_version") +@IdClass(ViolationVersion.ViolationVersionId.class) +public class ViolationVersion extends BaseModel { + @Id + @Column(name = "violation_key") + private Integer violationKey; + @Id + @Column(name = "fb_key") + private Integer fbKey; + @Id + @Column(name = "version_no") + private Integer versionNo; + @Column(name = "violation") + private String violation; + + @Embeddable + @Data + @NoArgsConstructor + @AllArgsConstructor + public static class ViolationVersionId implements Serializable{ + private Integer violationKey; + private Integer fbKey; + private Integer versionNo; + } +} diff --git a/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/model/processResult/ProcessResult.java b/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/model/processResult/ProcessResult.java index e186ecc9..8f2c6385 100644 --- a/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/model/processResult/ProcessResult.java +++ b/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/model/processResult/ProcessResult.java @@ -1,8 +1,8 @@ package com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.processResult; import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.crackdownStatus.CrackdownStatus; -import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.FishingBoat; -import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.Violation; +import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.fishingBoat.FishingBoat; +import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.fishingBoat.Violation; import lombok.Getter; import lombok.NoArgsConstructor; import lombok.Setter; diff --git a/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/model/processResult/ProcessResultVersion.java b/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/model/processResult/ProcessResultVersion.java index a37a5a84..c26fc9b0 100644 --- a/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/model/processResult/ProcessResultVersion.java +++ b/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/model/processResult/ProcessResultVersion.java @@ -1,7 +1,7 @@ package com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.processResult; -import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.FishingBoat; -import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.Violation; +import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.fishingBoat.FishingBoat; +import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.fishingBoat.Violation; import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.crackdownStatus.CrackdownStatus; import lombok.*; import org.hibernate.annotations.DynamicInsert; diff --git a/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/model/sailor/Sailor.java b/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/model/sailor/Sailor.java index ac75db41..e21325e9 100644 --- a/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/model/sailor/Sailor.java +++ b/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/model/sailor/Sailor.java @@ -1,8 +1,8 @@ package com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.sailor; import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.crackdownStatus.CrackdownStatus; -import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.FishingBoat; -import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.Violation; +import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.fishingBoat.FishingBoat; +import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.fishingBoat.Violation; import lombok.Getter; import lombok.NoArgsConstructor; import lombok.Setter; diff --git a/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/model/sailor/SailorVersion.java b/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/model/sailor/SailorVersion.java index 94d26f4f..4dea001f 100644 --- a/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/model/sailor/SailorVersion.java +++ b/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/model/sailor/SailorVersion.java @@ -1,7 +1,7 @@ package com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.sailor; import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.crackdownStatus.CrackdownStatus; -import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.FishingBoat; +import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.fishingBoat.FishingBoat; import lombok.*; import org.hibernate.annotations.DynamicInsert; import org.hibernate.annotations.DynamicUpdate; diff --git a/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/repository/FishingBoatRepository.java b/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/repository/FishingBoatRepository.java index 5e8d556e..729a2a20 100644 --- a/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/repository/FishingBoatRepository.java +++ b/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/repository/FishingBoatRepository.java @@ -1,6 +1,6 @@ package com.dbnt.faisp.main.faStatistics.crackdownsStatus.repository; -import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.FishingBoat; +import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.fishingBoat.FishingBoat; import org.springframework.data.jpa.repository.JpaRepository; import java.util.Optional; diff --git a/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/repository/FishingBoatVersionRepository.java b/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/repository/FishingBoatVersionRepository.java new file mode 100644 index 00000000..e0cb893d --- /dev/null +++ b/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/repository/FishingBoatVersionRepository.java @@ -0,0 +1,11 @@ +package com.dbnt.faisp.main.faStatistics.crackdownsStatus.repository; + +import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.fishingBoat.FishingBoat; +import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.fishingBoat.FishingBoatVersion; +import org.springframework.data.jpa.repository.JpaRepository; + +import java.util.Optional; + +public interface FishingBoatVersionRepository extends JpaRepository { + Optional findTop1ByFbKeyOrderByVersionNoDesc(Integer fbKey); +} diff --git a/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/repository/ViolationRepository.java b/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/repository/ViolationRepository.java index fa555818..4dcdc5a2 100644 --- a/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/repository/ViolationRepository.java +++ b/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/repository/ViolationRepository.java @@ -1,6 +1,6 @@ package com.dbnt.faisp.main.faStatistics.crackdownsStatus.repository; -import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.Violation; +import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.fishingBoat.Violation; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.Modifying; import org.springframework.data.jpa.repository.Query; diff --git a/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/repository/ViolationVersionRepository.java b/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/repository/ViolationVersionRepository.java new file mode 100644 index 00000000..1b4bf710 --- /dev/null +++ b/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/repository/ViolationVersionRepository.java @@ -0,0 +1,8 @@ +package com.dbnt.faisp.main.faStatistics.crackdownsStatus.repository; + +import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.fishingBoat.ViolationVersion; +import org.springframework.data.jpa.repository.JpaRepository; + +public interface ViolationVersionRepository extends JpaRepository { + +} diff --git a/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/service/CrackdownStatusService.java b/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/service/CrackdownStatusService.java index 93776701..51f6603d 100644 --- a/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/service/CrackdownStatusService.java +++ b/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/service/CrackdownStatusService.java @@ -5,10 +5,8 @@ import com.dbnt.faisp.config.BaseService; import com.dbnt.faisp.main.faStatistics.crackdownsStatus.mapper.CrackdownStatusMapper; import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.crackdownStatus.CrackdownStatus; import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.crackdownStatus.CrackdownStatusVersion; -import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.processResult.ProcessResult; -import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.processResult.ProcessResultVersion; import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.sailor.Sailor; -import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.Violation; +import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.fishingBoat.Violation; import com.dbnt.faisp.main.faStatistics.crackdownsStatus.repository.*; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; diff --git a/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/service/FishingBoatService.java b/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/service/FishingBoatService.java index 1efc7a0a..00de7965 100644 --- a/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/service/FishingBoatService.java +++ b/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/service/FishingBoatService.java @@ -3,23 +3,33 @@ package com.dbnt.faisp.main.faStatistics.crackdownsStatus.service; import com.dbnt.faisp.config.BaseService; import com.dbnt.faisp.main.faStatistics.crackdownsStatus.mapper.CrackdownStatusMapper; -import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.*; import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.crackdownStatus.CrackdownStatus; +import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.crackdownStatus.CrackdownStatusVersion; +import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.fishingBoat.FishingBoat; +import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.fishingBoat.FishingBoatVersion; +import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.fishingBoat.Violation; import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.processResult.ProcessResult; import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.sailor.Sailor; import com.dbnt.faisp.main.faStatistics.crackdownsStatus.repository.*; +import com.fasterxml.jackson.databind.util.BeanUtil; import lombok.RequiredArgsConstructor; +import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import java.util.List; + @Service @RequiredArgsConstructor public class FishingBoatService extends BaseService { private final CrackdownStatusMapper crackdownStatusMapper; private final CrackdownStatusRepository crackdownStatusRepository; + private final CrackdownStatusVersionRepository crackdownStatusVersionRepository; private final FishingBoatRepository fishingBoatRepository; + private final FishingBoatVersionRepository fishingBoatVersionRepository; private final ViolationRepository violationRepository; + private final ViolationVersionRepository violationVersionRepository; private final ProcessResultRepository processResultRepository; private final SailorRepository sailorRepository; @@ -43,9 +53,16 @@ public class FishingBoatService extends BaseService { if (crackdownStatus.getCdsKey()==null || crackdownStatus.getCdsKey().equals(0)){ // 최초 등록시 단속현황, 처리현황, 선원정보를 같이 등록. cdsKey = crackdownStatusRepository.save(crackdownStatus).getCdsKey(); + CrackdownStatusVersion crackdownStatusVersion = new CrackdownStatusVersion(); + BeanUtils.copyProperties(crackdownStatus, crackdownStatusVersion); + crackdownStatusVersionRepository.save(crackdownStatusVersion); FishingBoat fishingBoat = crackdownStatus.getFishingBoat(); fishingBoat.setCdsKey(cdsKey); fbKey = fishingBoatRepository.save(fishingBoat).getFbKey(); + FishingBoatVersion fishingBoatVersion = new FishingBoatVersion(); + BeanUtils.copyProperties(fishingBoat, fishingBoatVersion); + fishingBoatVersion.setVersionNo(1); + fishingBoatVersionRepository.save(fishingBoatVersion); List violationList = crackdownStatus.getViolationList(); int i = 1; for(Violation violation: violationList){ @@ -63,7 +80,9 @@ public class FishingBoatService extends BaseService { }else{ // 업데이트시에는 어선정보만 수정. cdsKey = crackdownStatus.getCdsKey(); - FishingBoat oldInfo = fishingBoatRepository.findById(crackdownStatus.getFishingBoat().getFbKey()).orElse(null); + FishingBoatVersion lastVersion = fishingBoatVersionRepository.findTop1ByFbKeyOrderByVersionNoDesc(crackdownStatus.getFishingBoat().getFbKey()).orElse(null); + int versionNo = lastVersion.getVersionNo(); + FishingBoatVersion newInfo = new FishingBoatVersion(); fbKey = fishingBoatRepository.save(crackdownStatus.getFishingBoat()).getFbKey(); } diff --git a/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/service/SailorService.java b/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/service/SailorService.java index ce32b85a..5bc606a7 100644 --- a/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/service/SailorService.java +++ b/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/service/SailorService.java @@ -3,8 +3,9 @@ package com.dbnt.faisp.main.faStatistics.crackdownsStatus.service; import com.dbnt.faisp.config.BaseService; import com.dbnt.faisp.main.faStatistics.crackdownsStatus.mapper.SailorMapper; -import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.*; import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.crackdownStatus.CrackdownStatus; +import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.fishingBoat.FishingBoat; +import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.fishingBoat.Violation; import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.sailor.Sailor; import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.sailor.SailorVersion; import com.dbnt.faisp.main.faStatistics.crackdownsStatus.repository.*;