From 3c1d46f9e752b841141ff9644dd910deb00f261b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B0=95=EC=84=9D=20=EC=B5=9C?= Date: Fri, 26 May 2023 11:55:24 +0900 Subject: [PATCH] =?UTF-8?q?=EC=A4=91=EA=B0=84=EC=A0=80=EC=9E=A5.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../UnlawfulFishingController.java | 123 +++++++++++++++++- .../model/fishingBoat/IllegalShipInfo.java | 52 ++++++++ .../fishingBoat/IllegalShipInfoHistory.java | 39 ++++++ .../model/processResult/ShipProcessInfo.java | 68 ++++++++++ .../processResult/ShipProcessInfoHistory.java | 52 ++++++++ .../model/sailor/IllegalShipSailor.java | 64 +++++++++ .../sailor/IllegalShipSailorHistory.java | 56 ++++++++ .../IllegalShipInfoHistoryRepository.java | 10 ++ .../repository/IllegalShipInfoRepository.java | 18 +++ .../IllegalShipSailorHistoryRepository.java | 14 ++ .../IllegalShipSailorRepository.java | 22 ++++ .../ShipProcessInfoHistoryRepository.java | 13 ++ .../repository/ShipProcessInfoRepository.java | 11 ++ .../service/UnlawfulFishingService.java | 24 +++- 14 files changed, 562 insertions(+), 4 deletions(-) create mode 100644 src/main/java/com/dbnt/faisp/main/faStatistics/unlawfulFishing/model/fishingBoat/IllegalShipInfo.java create mode 100644 src/main/java/com/dbnt/faisp/main/faStatistics/unlawfulFishing/model/fishingBoat/IllegalShipInfoHistory.java create mode 100644 src/main/java/com/dbnt/faisp/main/faStatistics/unlawfulFishing/model/processResult/ShipProcessInfo.java create mode 100644 src/main/java/com/dbnt/faisp/main/faStatistics/unlawfulFishing/model/processResult/ShipProcessInfoHistory.java create mode 100644 src/main/java/com/dbnt/faisp/main/faStatistics/unlawfulFishing/model/sailor/IllegalShipSailor.java create mode 100644 src/main/java/com/dbnt/faisp/main/faStatistics/unlawfulFishing/model/sailor/IllegalShipSailorHistory.java create mode 100644 src/main/java/com/dbnt/faisp/main/faStatistics/unlawfulFishing/repository/IllegalShipInfoHistoryRepository.java create mode 100644 src/main/java/com/dbnt/faisp/main/faStatistics/unlawfulFishing/repository/IllegalShipInfoRepository.java create mode 100644 src/main/java/com/dbnt/faisp/main/faStatistics/unlawfulFishing/repository/IllegalShipSailorHistoryRepository.java create mode 100644 src/main/java/com/dbnt/faisp/main/faStatistics/unlawfulFishing/repository/IllegalShipSailorRepository.java create mode 100644 src/main/java/com/dbnt/faisp/main/faStatistics/unlawfulFishing/repository/ShipProcessInfoHistoryRepository.java create mode 100644 src/main/java/com/dbnt/faisp/main/faStatistics/unlawfulFishing/repository/ShipProcessInfoRepository.java diff --git a/src/main/java/com/dbnt/faisp/main/faStatistics/unlawfulFishing/UnlawfulFishingController.java b/src/main/java/com/dbnt/faisp/main/faStatistics/unlawfulFishing/UnlawfulFishingController.java index 138917fe..c9f18bf6 100644 --- a/src/main/java/com/dbnt/faisp/main/faStatistics/unlawfulFishing/UnlawfulFishingController.java +++ b/src/main/java/com/dbnt/faisp/main/faStatistics/unlawfulFishing/UnlawfulFishingController.java @@ -4,8 +4,9 @@ import com.dbnt.faisp.main.authMgt.model.AccessConfig; import com.dbnt.faisp.main.authMgt.service.AuthMgtService; import com.dbnt.faisp.main.faStatistics.unlawfulFishing.model.UnlawfulFishingParam; import com.dbnt.faisp.main.faStatistics.unlawfulFishing.model.crackdownStatus.*; -import com.dbnt.faisp.main.faStatistics.unlawfulFishing.model.fishingBoat.FishingBoat; -import com.dbnt.faisp.main.faStatistics.unlawfulFishing.model.processResult.ProcessResult; +import com.dbnt.faisp.main.faStatistics.unlawfulFishing.model.fishingBoat.IllegalShipInfo; +import com.dbnt.faisp.main.faStatistics.unlawfulFishing.model.processResult.ShipProcessInfo; +import com.dbnt.faisp.main.faStatistics.unlawfulFishing.model.sailor.IllegalShipSailor; import com.dbnt.faisp.main.faStatistics.unlawfulFishing.service.UnlawfulFishingService; import com.dbnt.faisp.main.userInfo.model.UserInfo; import lombok.RequiredArgsConstructor; @@ -45,7 +46,6 @@ public class UnlawfulFishingController { List csDTOList = new ArrayList<>(); CSStatistics statistics = new CSStatistics(); - mav.addObject("statistics", statistics); mav.addObject("crackdownInfoList", csDTOList); mav.addObject("yearList", yearList); mav.addObject("searchParams", params); @@ -69,6 +69,123 @@ public class UnlawfulFishingController { return mav; } + + @GetMapping("/illegalShipInfo") + public ModelAndView illegalShipPage(@AuthenticationPrincipal UserInfo loginUser, UnlawfulFishingParam params){ + ModelAndView mav = new ModelAndView("faStatistics/unlawfulFishing/crackdownInfo/illegalShipInfoPage"); + //메뉴권한 확인 + AccessConfig accessConfig = authMgtService.selectAccessConfigList(loginUser.getUserSeq(), "/unlawfulFishing/illegalShipInfo").get(0); + mav.addObject("menuKey", accessConfig.getMenuKey()); + mav.addObject("accessAuth", accessConfig.getAccessAuth()); + + if(params.getYear()==null){ + params.setYear(LocalDateTime.now().getYear()); + } + List yearList = unlawfulFishingService.selectFishingBoatYearParam(); + if(!yearList.contains(params.getYear())){ + yearList.add(params.getYear()); + } + List csDTOList = new ArrayList<>(); + CSStatistics statistics = new CSStatistics(); + + mav.addObject("illegalShipInfoList", csDTOList); + mav.addObject("yearList", yearList); + mav.addObject("searchParams", params); + return mav; + } + + @GetMapping("/isiEditModal") + public ModelAndView illegalShipInfoEditModal(@AuthenticationPrincipal UserInfo loginUser, IllegalShipInfo illegalShipInfo){ + ModelAndView mav = new ModelAndView("faStatistics/unlawfulFishing/illegalShipInfo/isiEditModal"); + if(illegalShipInfo.getFbKey()!=null){ + illegalShipInfo = unlawfulFishingService.selectIllegalShipInfo(illegalShipInfo.getFbKey()); + }else{ + illegalShipInfo.setWrtOrgan(loginUser.getOgCd()); + illegalShipInfo.setWrtPart(loginUser.getOfcCd()); + illegalShipInfo.setWrtUserSeq(loginUser.getUserSeq()); + illegalShipInfo.setWrtUserGrd(loginUser.getTitleCd()); + illegalShipInfo.setWrtUserNm(loginUser.getUserNm()); + illegalShipInfo.setWrtDt(LocalDateTime.now()); + } + mav.addObject("illegalShipInfo", illegalShipInfo); + return mav; + } + + + @GetMapping("/shipProcessInfo") + public ModelAndView shipProcessInfoPage(@AuthenticationPrincipal UserInfo loginUser, UnlawfulFishingParam params){ + ModelAndView mav = new ModelAndView("faStatistics/unlawfulFishing/shipProcessInfo/shipProcessInfoPage"); + //메뉴권한 확인 + AccessConfig accessConfig = authMgtService.selectAccessConfigList(loginUser.getUserSeq(), "/unlawfulFishing/shipProcessInfo").get(0); + mav.addObject("menuKey", accessConfig.getMenuKey()); + mav.addObject("accessAuth", accessConfig.getAccessAuth()); + + if(params.getYear()==null){ + params.setYear(LocalDateTime.now().getYear()); + } + List yearList = unlawfulFishingService.selectFishingBoatYearParam(); + if(!yearList.contains(params.getYear())){ + yearList.add(params.getYear()); + } + List csDTOList = new ArrayList<>(); + CSStatistics statistics = new CSStatistics(); + + mav.addObject("shipProcessInfoList", csDTOList); + mav.addObject("yearList", yearList); + mav.addObject("searchParams", params); + return mav; + } + + @GetMapping("/spiEditModal") + public ModelAndView shipProcessInfoEditModal(@AuthenticationPrincipal UserInfo loginUser, ShipProcessInfo shipProcessInfo){ + ModelAndView mav = new ModelAndView("faStatistics/unlawfulFishing/shipProcessInfo/spiEditModal"); + if(shipProcessInfo.getCdsKey()!=null){ + shipProcessInfo = unlawfulFishingService.selectShipProcessInfo(shipProcessInfo.getPrKey()); + }else{ + shipProcessInfo.setWrtOrgan(loginUser.getOgCd()); + shipProcessInfo.setWrtPart(loginUser.getOfcCd()); + shipProcessInfo.setWrtUserSeq(loginUser.getUserSeq()); + shipProcessInfo.setWrtUserGrd(loginUser.getTitleCd()); + shipProcessInfo.setWrtUserNm(loginUser.getUserNm()); + shipProcessInfo.setWrtDt(LocalDateTime.now()); + } + mav.addObject("shipProcessInfo", shipProcessInfo); + return mav; + } + + + @GetMapping("/illegalShipSailor") + public ModelAndView illegalShipSailorPage(@AuthenticationPrincipal UserInfo loginUser, UnlawfulFishingParam params){ + ModelAndView mav = new ModelAndView("faStatistics/unlawfulFishing/illegalShipSailor/illegalShipSailorPage"); + //메뉴권한 확인 + AccessConfig accessConfig = authMgtService.selectAccessConfigList(loginUser.getUserSeq(), "/unlawfulFishing/illegalShipSailor").get(0); + mav.addObject("menuKey", accessConfig.getMenuKey()); + mav.addObject("accessAuth", accessConfig.getAccessAuth()); + + List csDTOList = new ArrayList<>(); + + mav.addObject("sailorList", csDTOList); + mav.addObject("searchParams", params); + return mav; + } + + @GetMapping("/issEditModal") + public ModelAndView illegalShipSailorEditModal(@AuthenticationPrincipal UserInfo loginUser, IllegalShipSailor illegalShipSailor){ + ModelAndView mav = new ModelAndView("faStatistics/unlawfulFishing/illegalShipSailor/issEditModal"); + if(illegalShipSailor.getSailorKey()!=null){ + illegalShipSailor = unlawfulFishingService.selectIllegalShipSailor(illegalShipSailor.getSailorKey()); + }else{ + illegalShipSailor.setWrtOrgan(loginUser.getOgCd()); + illegalShipSailor.setWrtPart(loginUser.getOfcCd()); + illegalShipSailor.setWrtUserSeq(loginUser.getUserSeq()); + illegalShipSailor.setWrtUserGrd(loginUser.getTitleCd()); + illegalShipSailor.setWrtUserNm(loginUser.getUserNm()); + illegalShipSailor.setWrtDt(LocalDateTime.now()); + } + mav.addObject("illegalShipSailor", illegalShipSailor); + return mav; + } + @GetMapping("/crackdownStatusVersionInfo") public ModelAndView selectUnlawfulFishingVersionInfo(Integer cdsKey, Integer versionNo){ ModelAndView mav = new ModelAndView("faStatistics/unlawfulFishing/versionInfo"); diff --git a/src/main/java/com/dbnt/faisp/main/faStatistics/unlawfulFishing/model/fishingBoat/IllegalShipInfo.java b/src/main/java/com/dbnt/faisp/main/faStatistics/unlawfulFishing/model/fishingBoat/IllegalShipInfo.java new file mode 100644 index 00000000..15d1bad4 --- /dev/null +++ b/src/main/java/com/dbnt/faisp/main/faStatistics/unlawfulFishing/model/fishingBoat/IllegalShipInfo.java @@ -0,0 +1,52 @@ +package com.dbnt.faisp.main.faStatistics.unlawfulFishing.model.fishingBoat; + +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; +import org.hibernate.annotations.DynamicInsert; +import org.hibernate.annotations.DynamicUpdate; + +import javax.persistence.*; + +@Getter +@Setter +@Entity +@NoArgsConstructor +@DynamicInsert +@DynamicUpdate +@Table(name = "illegal_ship_info") +public class IllegalShipInfo extends FishingBoatBaseEntity { + + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + @Column(name = "fb_key") + private Integer fbKey; + + @Column(name="status") + private String status; + + @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; + + @Transient + private Double tonMin; + @Transient + private Double tonMax; +} diff --git a/src/main/java/com/dbnt/faisp/main/faStatistics/unlawfulFishing/model/fishingBoat/IllegalShipInfoHistory.java b/src/main/java/com/dbnt/faisp/main/faStatistics/unlawfulFishing/model/fishingBoat/IllegalShipInfoHistory.java new file mode 100644 index 00000000..83fb2d2d --- /dev/null +++ b/src/main/java/com/dbnt/faisp/main/faStatistics/unlawfulFishing/model/fishingBoat/IllegalShipInfoHistory.java @@ -0,0 +1,39 @@ +package com.dbnt.faisp.main.faStatistics.unlawfulFishing.model.fishingBoat; + +import lombok.*; +import org.hibernate.annotations.DynamicInsert; +import org.hibernate.annotations.DynamicUpdate; + +import javax.persistence.*; +import java.io.Serializable; +import java.util.List; + +@Getter +@Setter +@Entity +@NoArgsConstructor +@DynamicInsert +@DynamicUpdate +@Table(name = "illegal_ship_info_history") +@IdClass(IllegalShipInfoHistory.IllegalShipInfoHistoryId.class) +public class IllegalShipInfoHistory extends FishingBoatBaseEntity { + + @Id + @Column(name = "fb_key") + private Integer fbKey; + @Id + @Column(name = "version_no") + private Integer versionNo; + + @Transient + private List violationList; + + @Embeddable + @Data + @NoArgsConstructor + @AllArgsConstructor + public static class IllegalShipInfoHistoryId implements Serializable { + private Integer fbKey; + private Integer versionNo; + } +} diff --git a/src/main/java/com/dbnt/faisp/main/faStatistics/unlawfulFishing/model/processResult/ShipProcessInfo.java b/src/main/java/com/dbnt/faisp/main/faStatistics/unlawfulFishing/model/processResult/ShipProcessInfo.java new file mode 100644 index 00000000..7dde3dd3 --- /dev/null +++ b/src/main/java/com/dbnt/faisp/main/faStatistics/unlawfulFishing/model/processResult/ShipProcessInfo.java @@ -0,0 +1,68 @@ +package com.dbnt.faisp.main.faStatistics.unlawfulFishing.model.processResult; + +import com.dbnt.faisp.main.faStatistics.unlawfulFishing.model.crackdownStatus.CrackdownStatus; +import com.dbnt.faisp.main.faStatistics.unlawfulFishing.model.fishingBoat.FishingBoat; +import com.dbnt.faisp.main.faStatistics.unlawfulFishing.model.fishingBoat.Violation; +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; +import java.util.List; + +@Getter +@Setter +@Entity +@NoArgsConstructor +@DynamicInsert +@DynamicUpdate +@Table(name = "ship_process_info") +public class ShipProcessInfo extends ProcessResultBaseEntity { + + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + @Column(name = "pr_key") + private Integer prKey; + + @Column(name = "cds_key") + private Integer cdsKey; + + @Column(name="status") + private String status; + + @Transient + @DateTimeFormat(pattern = "yyyy-MM-dd") + private LocalDateTime updDt; + @Transient + private CrackdownStatus crackdownStatus; + @Transient + private List violationList; + @Transient + private FishingBoat fishingBoat; + @Transient + private String boatNameKr; + + @Transient + private Integer fbKey; + @Transient + private String processStatusEtc; + @Transient + private String executionDetailEtc; + @Transient + private List crackdownStatusList; + @Transient + private List fishingBoatList; + + @Transient + private String caseNum; + @Transient + private String crackdownPolice; + @Transient + private Integer year; + @Transient + private String violation; +} diff --git a/src/main/java/com/dbnt/faisp/main/faStatistics/unlawfulFishing/model/processResult/ShipProcessInfoHistory.java b/src/main/java/com/dbnt/faisp/main/faStatistics/unlawfulFishing/model/processResult/ShipProcessInfoHistory.java new file mode 100644 index 00000000..86fda75f --- /dev/null +++ b/src/main/java/com/dbnt/faisp/main/faStatistics/unlawfulFishing/model/processResult/ShipProcessInfoHistory.java @@ -0,0 +1,52 @@ +package com.dbnt.faisp.main.faStatistics.unlawfulFishing.model.processResult; + +import com.dbnt.faisp.main.faStatistics.unlawfulFishing.model.crackdownStatus.CrackdownStatus; +import com.dbnt.faisp.main.faStatistics.unlawfulFishing.model.fishingBoat.FishingBoat; +import com.dbnt.faisp.main.faStatistics.unlawfulFishing.model.fishingBoat.Violation; +import lombok.*; +import org.hibernate.annotations.DynamicInsert; +import org.hibernate.annotations.DynamicUpdate; + +import javax.persistence.*; +import java.io.Serializable; +import java.util.List; + +@Getter +@Setter +@Entity +@NoArgsConstructor +@DynamicInsert +@DynamicUpdate +@Table(name = "ship_process_info_history") +@IdClass(ShipProcessInfoHistory.ShipProcessInfoHistoryId.class) +public class ShipProcessInfoHistory extends ProcessResultBaseEntity { + + @Id + @Column(name = "pr_key") + private Integer prKey; + + @Id + @Column(name = "version_no") + private Integer versionNo; + + + @Transient + private Integer cdsKey; + @Transient + private Integer fbKey; + @Transient + private CrackdownStatus crackdownStatus; + @Transient + private FishingBoat fishingBoat; + @Transient + private List violationList; + + @Embeddable + @Data + @NoArgsConstructor + @AllArgsConstructor + public static class ShipProcessInfoHistoryId implements Serializable { + private Integer prKey; + private Integer versionNo; + } +} diff --git a/src/main/java/com/dbnt/faisp/main/faStatistics/unlawfulFishing/model/sailor/IllegalShipSailor.java b/src/main/java/com/dbnt/faisp/main/faStatistics/unlawfulFishing/model/sailor/IllegalShipSailor.java new file mode 100644 index 00000000..4cd31f2e --- /dev/null +++ b/src/main/java/com/dbnt/faisp/main/faStatistics/unlawfulFishing/model/sailor/IllegalShipSailor.java @@ -0,0 +1,64 @@ +package com.dbnt.faisp.main.faStatistics.unlawfulFishing.model.sailor; + +import com.dbnt.faisp.main.faStatistics.unlawfulFishing.model.crackdownStatus.CrackdownStatus; +import com.dbnt.faisp.main.faStatistics.unlawfulFishing.model.fishingBoat.FishingBoat; +import com.dbnt.faisp.main.faStatistics.unlawfulFishing.model.fishingBoat.Violation; +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; +import java.util.List; + +@Getter +@Setter +@Entity +@NoArgsConstructor +@DynamicInsert +@DynamicUpdate +@Table(name = "illegal_ship_sailor") +public class IllegalShipSailor extends SailorBaseEntity { + + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + @Column(name = "sailor_key") + private Integer sailorKey; + + @Column(name = "fb_key") + private Integer fbKey; + + @Column(name = "status") + private String status; + + @Transient + @DateTimeFormat(pattern = "yyyy-MM-dd") + private LocalDateTime updDt; + @Transient + private Integer cdsKey; + @Transient + private CrackdownStatus crackdownStatus; + @Transient + private FishingBoat fishingBoat; + @Transient + private List fishingBoatList; + @Transient + private List violationList; + + @Transient + private String year; + @Transient + private String crackdownPolice; + @Transient + private String crackdownBoat; + @Transient + private String boatNameKr; + @Transient + private LocalDateTime napoDt; + + @Transient + private List fileList; +} diff --git a/src/main/java/com/dbnt/faisp/main/faStatistics/unlawfulFishing/model/sailor/IllegalShipSailorHistory.java b/src/main/java/com/dbnt/faisp/main/faStatistics/unlawfulFishing/model/sailor/IllegalShipSailorHistory.java new file mode 100644 index 00000000..ad337e0d --- /dev/null +++ b/src/main/java/com/dbnt/faisp/main/faStatistics/unlawfulFishing/model/sailor/IllegalShipSailorHistory.java @@ -0,0 +1,56 @@ +package com.dbnt.faisp.main.faStatistics.unlawfulFishing.model.sailor; + +import com.dbnt.faisp.main.faStatistics.unlawfulFishing.model.crackdownStatus.CrackdownStatus; +import com.dbnt.faisp.main.faStatistics.unlawfulFishing.model.fishingBoat.FishingBoat; +import lombok.*; +import org.hibernate.annotations.DynamicInsert; +import org.hibernate.annotations.DynamicUpdate; + +import javax.persistence.*; +import java.io.Serializable; +import java.util.List; + +@Getter +@Setter +@Entity +@NoArgsConstructor +@DynamicInsert +@DynamicUpdate +@Table(name = "illegal_ship_sailor_history") +@IdClass(IllegalShipSailorHistory.IllegalShipSailorHistoryId.class) +public class IllegalShipSailorHistory extends SailorBaseEntity { + + @Id + @Column(name = "version_no") + private Integer versionNo; + + @Id + @Column(name = "sailor_key") + private Integer sailorKey; + + @Embeddable + @Data + @NoArgsConstructor + @AllArgsConstructor + public static class IllegalShipSailorHistoryId implements Serializable { + private Integer versionNo; + private Integer sailorKey; + } + + /*@Transient + private CrackdownStatusVersion crackdownStatusVersion; + @Transient + private FishingBoatVersion fishingBoatVersion;*/ + + @Transient + private Integer cdsKey; + @Transient + private Integer fbKey; + @Transient + private CrackdownStatus crackdownStatus; + @Transient + private FishingBoat fishingBoat; + + @Transient + private List fileList; +} diff --git a/src/main/java/com/dbnt/faisp/main/faStatistics/unlawfulFishing/repository/IllegalShipInfoHistoryRepository.java b/src/main/java/com/dbnt/faisp/main/faStatistics/unlawfulFishing/repository/IllegalShipInfoHistoryRepository.java new file mode 100644 index 00000000..898a59a0 --- /dev/null +++ b/src/main/java/com/dbnt/faisp/main/faStatistics/unlawfulFishing/repository/IllegalShipInfoHistoryRepository.java @@ -0,0 +1,10 @@ +package com.dbnt.faisp.main.faStatistics.unlawfulFishing.repository; + +import com.dbnt.faisp.main.faStatistics.unlawfulFishing.model.fishingBoat.IllegalShipInfoHistory; +import org.springframework.data.jpa.repository.JpaRepository; + +import java.util.Optional; + +public interface IllegalShipInfoHistoryRepository extends JpaRepository { + Optional findTop1ByFbKeyOrderByVersionNoDesc(Integer fbKey); +} diff --git a/src/main/java/com/dbnt/faisp/main/faStatistics/unlawfulFishing/repository/IllegalShipInfoRepository.java b/src/main/java/com/dbnt/faisp/main/faStatistics/unlawfulFishing/repository/IllegalShipInfoRepository.java new file mode 100644 index 00000000..0c2b5ed9 --- /dev/null +++ b/src/main/java/com/dbnt/faisp/main/faStatistics/unlawfulFishing/repository/IllegalShipInfoRepository.java @@ -0,0 +1,18 @@ +package com.dbnt.faisp.main.faStatistics.unlawfulFishing.repository; + +import com.dbnt.faisp.main.faStatistics.unlawfulFishing.model.fishingBoat.IllegalShipInfo; +import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.data.jpa.repository.Modifying; +import org.springframework.data.jpa.repository.Query; + +import java.util.Optional; + +public interface IllegalShipInfoRepository extends JpaRepository { + + Optional findByCdsKey(Integer cdsKey); + Optional findByFbKey(Integer fbKey); + + @Modifying(clearAutomatically = true) + @Query("update IllegalShipInfo set status = :status where fbKey = :fbKey") + void bulkModifyingByFbKeyToStatus(Integer fbKey, String status); +} diff --git a/src/main/java/com/dbnt/faisp/main/faStatistics/unlawfulFishing/repository/IllegalShipSailorHistoryRepository.java b/src/main/java/com/dbnt/faisp/main/faStatistics/unlawfulFishing/repository/IllegalShipSailorHistoryRepository.java new file mode 100644 index 00000000..96d0014b --- /dev/null +++ b/src/main/java/com/dbnt/faisp/main/faStatistics/unlawfulFishing/repository/IllegalShipSailorHistoryRepository.java @@ -0,0 +1,14 @@ +package com.dbnt.faisp.main.faStatistics.unlawfulFishing.repository; + +import com.dbnt.faisp.main.faStatistics.unlawfulFishing.model.sailor.IllegalShipSailorHistory; +import org.springframework.data.jpa.repository.JpaRepository; + +import java.util.List; +import java.util.Optional; + +public interface IllegalShipSailorHistoryRepository extends JpaRepository { + Optional findTopBySailorKeyOrderByVersionNoDesc(Integer sailorKey); + List findBySailorKey(Integer sailorKey); + + IllegalShipSailorHistory findByVersionNoAndSailorKey(Integer versionNo, Integer sailorKey); +} diff --git a/src/main/java/com/dbnt/faisp/main/faStatistics/unlawfulFishing/repository/IllegalShipSailorRepository.java b/src/main/java/com/dbnt/faisp/main/faStatistics/unlawfulFishing/repository/IllegalShipSailorRepository.java new file mode 100644 index 00000000..d0905fad --- /dev/null +++ b/src/main/java/com/dbnt/faisp/main/faStatistics/unlawfulFishing/repository/IllegalShipSailorRepository.java @@ -0,0 +1,22 @@ +package com.dbnt.faisp.main.faStatistics.unlawfulFishing.repository; + +import com.dbnt.faisp.main.faStatistics.unlawfulFishing.model.sailor.IllegalShipSailor; +import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.data.jpa.repository.Modifying; +import org.springframework.data.jpa.repository.Query; +import org.springframework.data.repository.query.Param; +import org.springframework.transaction.annotation.Transactional; + +import java.util.List; +import java.util.Optional; + +public interface IllegalShipSailorRepository extends JpaRepository { + List findByFbKey(Integer fbKey); + + @Transactional + @Modifying + @Query("delete from IllegalShipSailor s where s.sailorKey in :idList") + void deleteAllByIdInQuery(@Param("idList") List sailorDeleteKeyList); + + Optional findBySailorKey(Integer sailorKey); +} diff --git a/src/main/java/com/dbnt/faisp/main/faStatistics/unlawfulFishing/repository/ShipProcessInfoHistoryRepository.java b/src/main/java/com/dbnt/faisp/main/faStatistics/unlawfulFishing/repository/ShipProcessInfoHistoryRepository.java new file mode 100644 index 00000000..5eca28be --- /dev/null +++ b/src/main/java/com/dbnt/faisp/main/faStatistics/unlawfulFishing/repository/ShipProcessInfoHistoryRepository.java @@ -0,0 +1,13 @@ +package com.dbnt.faisp.main.faStatistics.unlawfulFishing.repository; + +import com.dbnt.faisp.main.faStatistics.unlawfulFishing.model.processResult.ShipProcessInfoHistory; +import org.springframework.data.jpa.repository.JpaRepository; + +import java.util.List; +import java.util.Optional; + +public interface ShipProcessInfoHistoryRepository extends JpaRepository { + Optional findTopByPrKeyOrderByVersionNoDesc(Integer prKey); + List findByPrKey(Integer prKey); + +} diff --git a/src/main/java/com/dbnt/faisp/main/faStatistics/unlawfulFishing/repository/ShipProcessInfoRepository.java b/src/main/java/com/dbnt/faisp/main/faStatistics/unlawfulFishing/repository/ShipProcessInfoRepository.java new file mode 100644 index 00000000..d5a2ab95 --- /dev/null +++ b/src/main/java/com/dbnt/faisp/main/faStatistics/unlawfulFishing/repository/ShipProcessInfoRepository.java @@ -0,0 +1,11 @@ +package com.dbnt.faisp.main.faStatistics.unlawfulFishing.repository; + +import com.dbnt.faisp.main.faStatistics.unlawfulFishing.model.processResult.ShipProcessInfo; +import org.springframework.data.jpa.repository.JpaRepository; + +import java.util.Optional; + +public interface ShipProcessInfoRepository extends JpaRepository { + Optional findByCdsKey(Integer cdsKey); + Optional findByPrKey(Integer prKey); +} diff --git a/src/main/java/com/dbnt/faisp/main/faStatistics/unlawfulFishing/service/UnlawfulFishingService.java b/src/main/java/com/dbnt/faisp/main/faStatistics/unlawfulFishing/service/UnlawfulFishingService.java index 3dfb02b7..ef38ca86 100644 --- a/src/main/java/com/dbnt/faisp/main/faStatistics/unlawfulFishing/service/UnlawfulFishingService.java +++ b/src/main/java/com/dbnt/faisp/main/faStatistics/unlawfulFishing/service/UnlawfulFishingService.java @@ -4,9 +4,12 @@ import com.dbnt.faisp.main.faStatistics.unlawfulFishing.model.crackdownStatus.Cr import com.dbnt.faisp.main.faStatistics.unlawfulFishing.model.crackdownStatus.CrackdownStatus; import com.dbnt.faisp.main.faStatistics.unlawfulFishing.model.crackdownStatus.UnlawfulFishingVersion; import com.dbnt.faisp.main.faStatistics.unlawfulFishing.model.fishingBoat.FishingBoat; +import com.dbnt.faisp.main.faStatistics.unlawfulFishing.model.fishingBoat.IllegalShipInfo; +import com.dbnt.faisp.main.faStatistics.unlawfulFishing.model.processResult.ShipProcessInfo; +import com.dbnt.faisp.main.faStatistics.unlawfulFishing.model.sailor.IllegalShipSailor; import com.dbnt.faisp.main.faStatistics.unlawfulFishing.model.sailor.Sailor; import com.dbnt.faisp.main.faStatistics.unlawfulFishing.mapper.UnlawfulFishingMapper; -import com.dbnt.faisp.main.faStatistics.unlawfulFishing.repository.CrackdownInfoRepository; +import com.dbnt.faisp.main.faStatistics.unlawfulFishing.repository.*; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -23,6 +26,13 @@ public class UnlawfulFishingService { private final SailorService sailorService; private final CrackdownInfoRepository cdiRepository; + private final CrackdownInfoHistoryRepository cdihRepository; + private final IllegalShipInfoRepository isiRepository; + private final IllegalShipInfoHistoryRepository isihRepository; + private final ShipProcessInfoRepository spiRepository; + private final ShipProcessInfoHistoryRepository spihRepository; + private final IllegalShipSailorRepository issRepository; + private final IllegalShipSailorHistoryRepository isshRepository; private final UnlawfulFishingMapper unlawfulFishingMapper; @Transactional @@ -90,4 +100,16 @@ public class UnlawfulFishingService { public CrackdownInfo selectCrackdownInfo(Integer cdsKey) { return cdiRepository.findByCdsKey(cdsKey).orElse(new CrackdownInfo()); } + + public IllegalShipInfo selectIllegalShipInfo(Integer fbKey) { + return isiRepository.findByFbKey(fbKey).orElse(new IllegalShipInfo()); + } + + public ShipProcessInfo selectShipProcessInfo(Integer prKey) { + return spiRepository.findByPrKey(prKey).orElse(new ShipProcessInfo()); + } + + public IllegalShipSailor selectIllegalShipSailor(Integer sailorKey) { + return issRepository.findBySailorKey(sailorKey).orElse(new IllegalShipSailor()); + } }