diff --git a/src/main/java/com/dbnt/faisp/config/ModalController.java b/src/main/java/com/dbnt/faisp/config/ModalController.java index 47be48f7..c436c673 100644 --- a/src/main/java/com/dbnt/faisp/config/ModalController.java +++ b/src/main/java/com/dbnt/faisp/config/ModalController.java @@ -1,7 +1,7 @@ package com.dbnt.faisp.config; import com.dbnt.faisp.main.codeMgt.service.CodeMgtService; -import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.CrackdownStatus; +import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.crackdownStatus.CrackdownStatus; import com.dbnt.faisp.main.faStatistics.crackdownsStatus.repository.FishingBoatRepository; import com.dbnt.faisp.main.faStatistics.crackdownsStatus.repository.ProcessResultRepository; import com.dbnt.faisp.main.faStatistics.crackdownsStatus.repository.SailorRepository; 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 f07acefe..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 @@ -1,13 +1,11 @@ package com.dbnt.faisp.main.faStatistics.crackdownsStatus; import com.dbnt.faisp.main.authMgt.service.AuthMgtService; -import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.CrackdownStatus; -import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.FishingBoat; -import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.ProcessResult; -import com.dbnt.faisp.main.faStatistics.crackdownsStatus.repository.FishingBoatRepository; -import com.dbnt.faisp.main.faStatistics.crackdownsStatus.repository.ProcessResultRepository; -import com.dbnt.faisp.main.faStatistics.crackdownsStatus.repository.SailorRepository; -import com.dbnt.faisp.main.faStatistics.crackdownsStatus.repository.ViolationRepository; +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.crackdownStatus.CrackdownStatusVersion; +import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.processResult.ProcessResult; +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; import lombok.RequiredArgsConstructor; @@ -101,6 +99,26 @@ public class CrackdownStatusController { return mav; } + @GetMapping("/crackdownStatus/crackdownStatusHistoryViewModal") + public ModelAndView crackdownStatusHistoryViewModal(@AuthenticationPrincipal UserInfo loginUser, CrackdownStatus crackdownStatus){ + ModelAndView mav = new ModelAndView("faStatistics/crackdownStatus/crackdownStatusHistoryViewModal"); + List crackdownStatusVersionList = crackdownStatusService.selectCrackdownStatusVersionList(crackdownStatus.getCdsKey()); + + mav.addObject("crackdownStatusVersionList", crackdownStatusVersionList); + mav.addObject("crackdownStatus", crackdownStatus); + return mav; + } + + @GetMapping("/crackdownStatus/crackdownStatusHistoryDetail") + public ModelAndView crackdownStatusHistoryDetail(@AuthenticationPrincipal UserInfo loginUser, CrackdownStatusVersion crackdownStatusVersion){ + ModelAndView mav = new ModelAndView("faStatistics/crackdownStatus/crackdownStatusHistoryDetail"); + + crackdownStatusVersion = crackdownStatusService.selectCrackdownStatusVersion(crackdownStatusVersion.getVersionNo(), crackdownStatusVersion.getCdsKey()); + + mav.addObject("crackdownStatusVersion", crackdownStatusVersion); + return mav; + } + @PostMapping("/crackdownStatus/saveCrackdownStatus") public Integer saveCrackdownStatus(@AuthenticationPrincipal UserInfo loginUser, CrackdownStatus crackdownStatus, 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 9edbc6a4..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 @@ -2,14 +2,10 @@ 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; -import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.FishingBoat; -import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.ProcessResult; -import com.dbnt.faisp.main.faStatistics.crackdownsStatus.repository.CrackdownStatusRepository; -import com.dbnt.faisp.main.faStatistics.crackdownsStatus.repository.FishingBoatRepository; -import com.dbnt.faisp.main.faStatistics.crackdownsStatus.repository.ViolationRepository; +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.processResult.ProcessResult; import com.dbnt.faisp.main.faStatistics.crackdownsStatus.service.FishingBoatService; -import com.dbnt.faisp.main.faStatistics.crackdownsStatus.service.ProcessResultService; import com.dbnt.faisp.main.userInfo.model.UserInfo; import lombok.RequiredArgsConstructor; import org.springframework.security.core.annotation.AuthenticationPrincipal; @@ -20,7 +16,6 @@ import org.springframework.web.bind.annotation.RestController; import org.springframework.web.servlet.ModelAndView; import java.time.LocalDateTime; -import java.util.List; @RestController @RequiredArgsConstructor @@ -101,8 +96,7 @@ public class FishingBoatController { @PostMapping("/saveFishingBoat") public Integer saveFishingBoat(@AuthenticationPrincipal UserInfo loginUser, CrackdownStatus crackdownStatus){ - return 0; - // return processResultService.saveProcessResult(processResult); + return fishingBoatService.saveCrackdownStatus(crackdownStatus); } @GetMapping("/checkCaseNum") 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 4d8a6168..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 @@ -1,19 +1,16 @@ package com.dbnt.faisp.main.faStatistics.crackdownsStatus; import com.dbnt.faisp.main.authMgt.service.AuthMgtService; -import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.CrackdownStatus; -import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.FishingBoat; -import 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.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.repository.*; -import com.dbnt.faisp.main.faStatistics.crackdownsStatus.service.CrackdownStatusService; import com.dbnt.faisp.main.faStatistics.crackdownsStatus.service.ProcessResultService; import com.dbnt.faisp.main.userInfo.model.UserInfo; import lombok.RequiredArgsConstructor; import org.springframework.security.core.annotation.AuthenticationPrincipal; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; import org.springframework.web.servlet.ModelAndView; import java.time.LocalDateTime; @@ -90,6 +87,58 @@ public class ProcessResultController { return mav; } + @GetMapping("/processResult/processResultHistoryViewModal") + public ModelAndView processResultHistoryViewModal(@AuthenticationPrincipal UserInfo loginUser, ProcessResult processResult){ + ModelAndView mav = new ModelAndView("faStatistics/processResult/processResultHistoryViewModal"); + List processReulstVersionList = processResultService.selectProcessResultVersionList(processResult.getPrKey()); + + mav.addObject("processReulstVersionList", processReulstVersionList); + mav.addObject("processResult", processResult); + return mav; + } + + @GetMapping("/processResult/processResultHistoryDetail") + public ModelAndView processResultHistoryDetail(@AuthenticationPrincipal UserInfo loginUser, ProcessResultVersion processResultVersion){ + ModelAndView mav = new ModelAndView("faStatistics/processResult/processResultHistoryDetail"); + + Integer cdsKey = processResultVersion.getCdsKey(); + Integer fbKey = processResultVersion.getFbKey(); + + processResultVersion = processResultService.selectProcessResultVersion(processResultVersion.getVersionNo(), processResultVersion.getPrKey()); + processResultVersion.setFishingBoat(fishingBoatRepository.findByFbKey(fbKey).orElse(null)); + processResultVersion.setCrackdownStatus(crackdownStatusRepository.findByCdsKey(cdsKey).orElse(null)); + processResultVersion.setViolationList(violationRepository.findByFbKey(fbKey)); + + mav.addObject("processResultVersion", processResultVersion); + return mav; + } + + @GetMapping("/processResult/processResultAddModal") + public ModelAndView sailorAddModal(@AuthenticationPrincipal UserInfo loginUser, ProcessResult processResult){ + ModelAndView mav = new ModelAndView("faStatistics/processResult/processResultAddModal"); + + processResult.setCrackdownStatusList(crackdownStatusRepository.findAll()); + + processResult.setWrtOrgan(loginUser.getOgCd()); + processResult.setWrtUserNm(loginUser.getUserNm()); + processResult.setWrtDt(LocalDateTime.now()); + + mav.addObject("processResult", processResult); + return mav; + } + + @PostMapping("/processResult/getProcessResult") + public ProcessResult getProcessResult(@AuthenticationPrincipal UserInfo loginUser, ProcessResult processResult){ + processResult = processResultRepository.findByCdsKey(processResult.getCdsKey()).orElse(null); + processResult.setCrackdownStatus(crackdownStatusRepository.findByCdsKey(processResult.getCdsKey()).orElse(null)); + processResult.setFishingBoat(fishingBoatRepository.findByCdsKey(processResult.getCdsKey()).orElse(null)); + + processResult.setWrtOrgan(loginUser.getOgCd()); + processResult.setWrtUserNm(loginUser.getUserNm()); + processResult.setWrtDt(LocalDateTime.now()); + return processResult; + } + @PostMapping("/processResult/saveProcessResult") public Integer saveProcessResult(@AuthenticationPrincipal UserInfo loginUser, CrackdownStatus crackdownStatus, 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 7d03aca4..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 @@ -1,8 +1,8 @@ package com.dbnt.faisp.main.faStatistics.crackdownsStatus; import com.dbnt.faisp.main.authMgt.service.AuthMgtService; -import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.CrackdownStatus; -import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.FishingBoat; +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.sailor.Sailor; import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.sailor.SailorVersion; import com.dbnt.faisp.main.faStatistics.crackdownsStatus.repository.*; @@ -74,6 +74,7 @@ public class SailorController { List sailorVersionList = sailorService.selectSailorVersionList(sailor.getSailorKey()); mav.addObject("sailorVersionList", sailorVersionList); + mav.addObject("sailor", sailor); return mav; } @@ -81,8 +82,12 @@ public class SailorController { public ModelAndView sailorHistoryDetail(@AuthenticationPrincipal UserInfo loginUser, SailorVersion sailorVersion){ ModelAndView mav = new ModelAndView("faStatistics/sailor/sailorHistoryDetail"); - sailorVersion = sailorService.selectSailorVersion(sailorVersion.getVersionNo()); - sailorVersion.setFishingBoat(fishingBoatRepository.findByFbKey(7).orElse(null)); + Integer cdsKey = sailorVersion.getCdsKey(); + Integer fbKey = sailorVersion.getFbKey(); + + sailorVersion = sailorService.selectSailorVersion(sailorVersion.getVersionNo(), sailorVersion.getSailorKey()); + sailorVersion.setFishingBoat(fishingBoatRepository.findByFbKey(fbKey).orElse(null)); + sailorVersion.setCrackdownStatus(crackdownStatusRepository.findByCdsKey(cdsKey).orElse(null)); mav.addObject("sailorVersion", sailorVersion); return mav; diff --git a/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/mapper/CrackdownStatusMapper.java b/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/mapper/CrackdownStatusMapper.java index 02f41c33..27846bf2 100644 --- a/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/mapper/CrackdownStatusMapper.java +++ b/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/mapper/CrackdownStatusMapper.java @@ -1,7 +1,6 @@ package com.dbnt.faisp.main.faStatistics.crackdownsStatus.mapper; -import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.CrackdownStatus; -import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.ProcessResult; +import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.crackdownStatus.CrackdownStatus; import org.apache.ibatis.annotations.Mapper; import java.util.List; diff --git a/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/mapper/ProcessResultMapper.java b/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/mapper/ProcessResultMapper.java index 1832775e..e6dc1d6c 100644 --- a/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/mapper/ProcessResultMapper.java +++ b/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/mapper/ProcessResultMapper.java @@ -1,6 +1,6 @@ package com.dbnt.faisp.main.faStatistics.crackdownsStatus.mapper; -import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.ProcessResult; +import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.processResult.ProcessResult; import org.apache.ibatis.annotations.Mapper; import java.util.List; 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 new file mode 100644 index 00000000..0bfe37e6 --- /dev/null +++ b/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/model/crackdownStatus/CrackdownStatus.java @@ -0,0 +1,79 @@ +package com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.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.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 javax.persistence.*; +import java.util.List; + +@Getter +@Setter +@Entity +@NoArgsConstructor +@DynamicInsert +@DynamicUpdate +@Table(name = "crackdown_status") +public class CrackdownStatus extends CrackdownStatusBaseEntity { + + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + @Column(name = "cds_key") + private Integer cdsKey; + + @Transient + private List violationList; + @Transient + private FishingBoat fishingBoat; + @Transient + private ProcessResult processResult; + @Transient + private List sailorList; + + @Transient + private String crackdownPoliceEtc; + @Transient + private String crackdownBoatEtc; + + @Transient + private Integer fbKey; + + @Transient + private Integer restrictionCaptin; + @Transient + private Integer notRestrictionCaptin; + @Transient + private Integer restrictionMate; + @Transient + private Integer notRestrictionMate; + @Transient + private Integer restrictionWarden; + @Transient + private Integer notRestrictionWarden; + @Transient + private Integer restrictionSailor; + @Transient + private Integer notRestrictionSailor; + @Transient + private Integer restrictionTotal; + @Transient + private Integer notRestrictionTotal; + @Transient + private Integer unlicensedOperationTotal; + @Transient + private Integer specificImpossibilityTotal; + @Transient + private Integer eezTotal; + @Transient + private Integer invasionTerritorialWatersTotal; + @Transient + private List violationDeleteKeyList; + @Transient + private List sailorDeleteKeyList; +} diff --git a/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/model/CrackdownStatus.java b/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/model/crackdownStatus/CrackdownStatusBaseEntity.java similarity index 61% rename from src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/model/CrackdownStatus.java rename to src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/model/crackdownStatus/CrackdownStatusBaseEntity.java index 600f2007..8601909f 100644 --- a/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/model/CrackdownStatus.java +++ b/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/model/crackdownStatus/CrackdownStatusBaseEntity.java @@ -1,32 +1,19 @@ -package com.dbnt.faisp.main.faStatistics.crackdownsStatus.model; +package com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.crackdownStatus; import com.dbnt.faisp.config.BaseModel; -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 -@Entity @NoArgsConstructor -@DynamicInsert -@DynamicUpdate -@Table(name = "crackdown_status") -public class CrackdownStatus extends BaseModel { - - @Id - @GeneratedValue(strategy = GenerationType.IDENTITY) - @Column(name = "cds_key") - private Integer cdsKey; +@MappedSuperclass +public class CrackdownStatusBaseEntity extends BaseModel { @Column(name = "case_num") private String caseNum; @@ -129,54 +116,4 @@ public class CrackdownStatus extends BaseModel { @Column(name = "wrt_dt") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm") private LocalDateTime wrtDt; - - @Transient - private List violationList; - @Transient - private FishingBoat fishingBoat; - @Transient - private ProcessResult processResult; - @Transient - private List sailorList; - - @Transient - private String crackdownPoliceEtc; - @Transient - private String crackdownBoatEtc; - - @Transient - private Integer fbKey; - - @Transient - private Integer restrictionCaptin; - @Transient - private Integer notRestrictionCaptin; - @Transient - private Integer restrictionMate; - @Transient - private Integer notRestrictionMate; - @Transient - private Integer restrictionWarden; - @Transient - private Integer notRestrictionWarden; - @Transient - private Integer restrictionSailor; - @Transient - private Integer notRestrictionSailor; - @Transient - private Integer restrictionTotal; - @Transient - private Integer notRestrictionTotal; - @Transient - private Integer unlicensedOperationTotal; - @Transient - private Integer specificImpossibilityTotal; - @Transient - private Integer eezTotal; - @Transient - private Integer invasionTerritorialWatersTotal; - @Transient - private List violationDeleteKeyList; - @Transient - private List sailorDeleteKeyList; } diff --git a/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/model/crackdownStatus/CrackdownStatusVersion.java b/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/model/crackdownStatus/CrackdownStatusVersion.java new file mode 100644 index 00000000..aa57d3ca --- /dev/null +++ b/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/model/crackdownStatus/CrackdownStatusVersion.java @@ -0,0 +1,36 @@ +package com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.crackdownStatus; + +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 = "crackdown_status_version") +@IdClass(CrackdownStatusVersion.CrackdownStatusVersionId.class) +public class CrackdownStatusVersion extends CrackdownStatusBaseEntity { + + @Id + @Column(name = "cds_key") + private Integer cdsKey; + + @Id + @Column(name = "version_no") + private Integer versionNo; + + @Embeddable + @Data + @NoArgsConstructor + @AllArgsConstructor + public static class CrackdownStatusVersionId implements Serializable { + private Integer cdsKey; + private Integer versionNo; + } +} 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 new file mode 100644 index 00000000..8f2c6385 --- /dev/null +++ b/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/model/processResult/ProcessResult.java @@ -0,0 +1,51 @@ +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.FishingBoat; +import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.fishingBoat.Violation; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; +import org.hibernate.annotations.DynamicInsert; +import org.hibernate.annotations.DynamicUpdate; + +import javax.persistence.*; +import java.util.List; + +@Getter +@Setter +@Entity +@NoArgsConstructor +@DynamicInsert +@DynamicUpdate +@Table(name = "process_result") +public class ProcessResult extends ProcessResultBaseEntity { + + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + @Column(name = "pr_key") + private Integer prKey; + + @Column(name = "cds_key") + private Integer cdsKey; + + @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; +} diff --git a/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/model/ProcessResult.java b/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/model/processResult/ProcessResultBaseEntity.java similarity index 78% rename from src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/model/ProcessResult.java rename to src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/model/processResult/ProcessResultBaseEntity.java index 48b8620f..96f76574 100644 --- a/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/model/ProcessResult.java +++ b/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/model/processResult/ProcessResultBaseEntity.java @@ -1,34 +1,20 @@ -package com.dbnt.faisp.main.faStatistics.crackdownsStatus.model; +package com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.processResult; 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.LocalDate; import java.time.LocalDateTime; -import java.util.List; @Getter @Setter -@Entity +@MappedSuperclass @NoArgsConstructor -@DynamicInsert -@DynamicUpdate -@Table(name = "process_result") -public class ProcessResult extends BaseModel { - - @Id - @GeneratedValue(strategy = GenerationType.IDENTITY) - @Column(name = "pr_key") - private Integer prKey; - - @Column(name = "cds_key") - private Integer cdsKey; +public class ProcessResultBaseEntity extends BaseModel { @Column(name = "process_status") private String processStatus; @@ -134,20 +120,4 @@ public class ProcessResult extends BaseModel { @Column(name = "wrt_dt") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm") private LocalDateTime wrtDt; - - @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; } 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 new file mode 100644 index 00000000..c26fc9b0 --- /dev/null +++ b/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/model/processResult/ProcessResultVersion.java @@ -0,0 +1,51 @@ +package com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.processResult; + +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; +import org.hibernate.annotations.DynamicUpdate; + +import javax.persistence.*; +import java.io.Serializable; +import java.util.List; + +@Getter +@Setter +@Entity +@NoArgsConstructor +@DynamicInsert +@DynamicUpdate +@Table(name = "process_result_version") +@IdClass(ProcessResultVersion.ProcessResultVersionId.class) +public class ProcessResultVersion extends ProcessResultBaseEntity { + + @Id + @Column(name = "pr_key") + private Integer prKey; + + @Id + @Column(name = "version_no") + private Integer versionNo; + + @Embeddable + @Data + @NoArgsConstructor + @AllArgsConstructor + public static class ProcessResultVersionId implements Serializable { + private Integer prKey; + private Integer versionNo; + } + + @Transient + private Integer cdsKey; + @Transient + private Integer fbKey; + @Transient + private CrackdownStatus crackdownStatus; + @Transient + private FishingBoat fishingBoat; + @Transient + private List violationList; +} 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 72338f97..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,9 +1,8 @@ package com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.sailor; -import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.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.sailor.SailorBaseEntity; +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 lombok.Getter; import lombok.NoArgsConstructor; import lombok.Setter; @@ -30,6 +29,8 @@ public class Sailor extends SailorBaseEntity { @Column(name = "fb_key") private Integer fbKey; + @Transient + private Integer cdsKey; @Transient private CrackdownStatus crackdownStatus; @Transient 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 efcfbfc4..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; -import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.FishingBoat; +import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.crackdownStatus.CrackdownStatus; +import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.fishingBoat.FishingBoat; import lombok.*; import org.hibernate.annotations.DynamicInsert; import org.hibernate.annotations.DynamicUpdate; @@ -41,6 +41,10 @@ public class SailorVersion extends SailorBaseEntity { @Transient private FishingBoatVersion fishingBoatVersion;*/ + @Transient + private Integer cdsKey; + @Transient + private Integer fbKey; @Transient private CrackdownStatus crackdownStatus; @Transient diff --git a/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/repository/CrackdownStatusRepository.java b/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/repository/CrackdownStatusRepository.java index 1ba9356c..e9ea3f57 100644 --- a/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/repository/CrackdownStatusRepository.java +++ b/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/repository/CrackdownStatusRepository.java @@ -1,6 +1,6 @@ package com.dbnt.faisp.main.faStatistics.crackdownsStatus.repository; -import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.CrackdownStatus; +import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.crackdownStatus.CrackdownStatus; import org.springframework.data.jpa.repository.JpaRepository; import java.util.Optional; diff --git a/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/repository/CrackdownStatusVersionRepository.java b/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/repository/CrackdownStatusVersionRepository.java new file mode 100644 index 00000000..fca654d1 --- /dev/null +++ b/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/repository/CrackdownStatusVersionRepository.java @@ -0,0 +1,14 @@ +package com.dbnt.faisp.main.faStatistics.crackdownsStatus.repository; + +import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.crackdownStatus.CrackdownStatusVersion; +import org.springframework.data.jpa.repository.JpaRepository; + +import java.util.List; +import java.util.Optional; + +public interface CrackdownStatusVersionRepository extends JpaRepository { + Optional findTopByCdsKeyOrderByVersionNoDesc(Integer cdsKey); + List findByCdsKey(Integer cdsKey); + + CrackdownStatusVersion findByVersionNoAndCdsKey(Integer versionNo, Integer cdsKey); +} 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/ProcessResultRepository.java b/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/repository/ProcessResultRepository.java index 36bacec9..59684819 100644 --- a/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/repository/ProcessResultRepository.java +++ b/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/repository/ProcessResultRepository.java @@ -1,6 +1,6 @@ package com.dbnt.faisp.main.faStatistics.crackdownsStatus.repository; -import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.ProcessResult; +import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.processResult.ProcessResult; import org.springframework.data.jpa.repository.JpaRepository; import java.util.Optional; diff --git a/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/repository/ProcessResultVersionRepository.java b/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/repository/ProcessResultVersionRepository.java new file mode 100644 index 00000000..ff6be265 --- /dev/null +++ b/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/repository/ProcessResultVersionRepository.java @@ -0,0 +1,14 @@ +package com.dbnt.faisp.main.faStatistics.crackdownsStatus.repository; + +import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.processResult.ProcessResultVersion; +import org.springframework.data.jpa.repository.JpaRepository; + +import java.util.List; +import java.util.Optional; + +public interface ProcessResultVersionRepository extends JpaRepository { + Optional findTopByPrKeyOrderByVersionNoDesc(Integer prKey); + List findByPrKey(Integer prKey); + + ProcessResultVersion findByVersionNoAndPrKey(Integer versionNo, Integer prKey); +} diff --git a/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/repository/SailorVersionRepository.java b/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/repository/SailorVersionRepository.java index 8baaf4ed..99ea0880 100644 --- a/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/repository/SailorVersionRepository.java +++ b/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/repository/SailorVersionRepository.java @@ -10,5 +10,5 @@ public interface SailorVersionRepository extends JpaRepository findTopBySailorKeyOrderByVersionNoDesc(Integer sailorKey); List findBySailorKey(Integer sailorKey); - SailorVersion findByVersionNo(Integer versionNo); + SailorVersion findByVersionNoAndSailorKey(Integer versionNo, Integer sailorKey); } 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 427cda66..cc2c5e05 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 @@ -3,11 +3,14 @@ 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.CrackdownStatus; +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.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.beans.BeanUtils; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -19,6 +22,7 @@ public class CrackdownStatusService extends BaseService { private final CrackdownStatusMapper crackdownStatusMapper; private final CrackdownStatusRepository crackdownStatusRepository; + private final CrackdownStatusVersionRepository crackdownStatusVersionRepository; private final FishingBoatRepository fishingBoatRepository; private final ViolationRepository violationRepository; private final ProcessResultRepository processResultRepository; @@ -40,6 +44,14 @@ public class CrackdownStatusService extends BaseService { return savedCrackdownStatus; } + public List selectCrackdownStatusVersionList(Integer cdsKey) { + return crackdownStatusVersionRepository.findByCdsKey(cdsKey); + } + + public CrackdownStatusVersion selectCrackdownStatusVersion(Integer versionNo, Integer cdsKey) { + return crackdownStatusVersionRepository.findByVersionNoAndCdsKey(versionNo, cdsKey); + } + @Transactional public Integer saveCrackdownStatus(CrackdownStatus crackdownStatus) { if (crackdownStatus.getViolationDeleteKeyList() != null) { @@ -57,6 +69,8 @@ public class CrackdownStatusService extends BaseService { } Integer cdsKey = crackdownStatusRepository.save(crackdownStatus).getCdsKey(); + saveCrackdownStatusVersion(crackdownStatus); + if (crackdownStatus.getFishingBoat() != null) { if (crackdownStatus.getFishingBoat().getBoatMaterialEtc() != null) { crackdownStatus.getFishingBoat().setBoatMaterial(crackdownStatus.getFishingBoat().getBoatMaterialEtc()); @@ -109,4 +123,15 @@ public class CrackdownStatusService extends BaseService { return cdsKey; } + + public void saveCrackdownStatusVersion(CrackdownStatus crackdownStatus) { + CrackdownStatusVersion lastVersion = crackdownStatusVersionRepository.findTopByCdsKeyOrderByVersionNoDesc(crackdownStatus.getCdsKey()).orElse(null); + int versionNo = lastVersion==null?1:(lastVersion.getVersionNo()+1); + + CrackdownStatusVersion crackdownStatusVersion = new CrackdownStatusVersion(); + BeanUtils.copyProperties(crackdownStatus, crackdownStatusVersion); + crackdownStatusVersion.setVersionNo(versionNo); + + crackdownStatusVersionRepository.save(crackdownStatusVersion); + } } 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 6004e65f..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,10 +3,17 @@ 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; @@ -18,8 +25,11 @@ 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; @@ -39,64 +49,43 @@ public class FishingBoatService extends BaseService { @Transactional public Integer saveCrackdownStatus(CrackdownStatus crackdownStatus) { - if (crackdownStatus.getViolationDeleteKeyList() != null) { - violationRepository.deleteAllByIdInQuery(crackdownStatus.getViolationDeleteKeyList()); - } - if (crackdownStatus.getSailorDeleteKeyList() != null) { - sailorRepository.deleteAllByIdInQuery(crackdownStatus.getSailorDeleteKeyList()); - } - - if (crackdownStatus.getCrackdownBoatEtc() != null) { - crackdownStatus.setCrackdownBoat(crackdownStatus.getCrackdownBoatEtc()); - } - if (crackdownStatus.getCrackdownPoliceEtc() != null) { - crackdownStatus.setCrackdownPolice(crackdownStatus.getCrackdownPoliceEtc()); - } - - Integer cdsKey = crackdownStatusRepository.save(crackdownStatus).getCdsKey(); - if (crackdownStatus.getFishingBoat() != null) { - if (crackdownStatus.getFishingBoat().getBoatMaterialEtc() != null) { - crackdownStatus.getFishingBoat().setBoatMaterial(crackdownStatus.getFishingBoat().getBoatMaterialEtc()); + Integer cdsKey, fbKey; + 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){ + violation.setViolationKey(i++); + violation.setFbKey(fbKey); } - if (crackdownStatus.getFishingBoat().getFisheryTypeEtc() != null) { - crackdownStatus.getFishingBoat().setFisheryType(crackdownStatus.getFishingBoat().getFisheryTypeEtc()); + violationRepository.saveAll(violationList); + List sailorList = crackdownStatus.getSailorList(); + i = 1; + for(Sailor sailor: sailorList){ + sailor.setSailorKey(i++); + sailor.setFbKey(fbKey); } + sailorRepository.saveAll(sailorList); + }else{ + // 업데이트시에는 어선정보만 수정. + cdsKey = crackdownStatus.getCdsKey(); + FishingBoatVersion lastVersion = fishingBoatVersionRepository.findTop1ByFbKeyOrderByVersionNoDesc(crackdownStatus.getFishingBoat().getFbKey()).orElse(null); + int versionNo = lastVersion.getVersionNo(); + FishingBoatVersion newInfo = new FishingBoatVersion(); - crackdownStatus.getFishingBoat().setCdsKey(cdsKey); - Integer fbKey = fishingBoatRepository.save(crackdownStatus.getFishingBoat()).getFbKey(); - crackdownStatus.getFishingBoat().setFbKey(fbKey); + fbKey = fishingBoatRepository.save(crackdownStatus.getFishingBoat()).getFbKey(); } - - if (crackdownStatus.getProcessResult() != null) { - if (crackdownStatus.getProcessResult().getProcessStatusEtc() != null) { - crackdownStatus.getProcessResult().setProcessStatus(crackdownStatus.getProcessResult().getProcessStatusEtc()); - } - crackdownStatus.getProcessResult().setCdsKey(cdsKey); - Integer prKey = processResultRepository.save(crackdownStatus.getProcessResult()).getPrKey(); - crackdownStatus.getProcessResult().setPrKey(prKey); - } - - /*if (internationalCrimeArrest.getDeleteSpiKeyList() != null) { - suspectPersonInfoRepository.deleteAllByIdInQuery(internationalCrimeArrest.getDeleteSpiKeyList()); - }*/ - - if (crackdownStatus.getViolationList() != null) { - for(Violation violation: crackdownStatus.getViolationList()){ - if (violation.getViolationEtc() != null) { - violation.setViolation(violation.getViolationEtc()); - } - violation.setFbKey(crackdownStatus.getFishingBoat().getFbKey()); - } - violationRepository.saveAll(crackdownStatus.getViolationList()); - } - - if (crackdownStatus.getSailorList() != null) { - for(Sailor sailor: crackdownStatus.getSailorList()){ - sailor.setFbKey(crackdownStatus.getFishingBoat().getFbKey()); - } - sailorRepository.saveAll(crackdownStatus.getSailorList()); - } - return cdsKey; } diff --git a/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/service/ProcessResultService.java b/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/service/ProcessResultService.java index 2ebfadf6..977ec9dd 100644 --- a/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/service/ProcessResultService.java +++ b/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/service/ProcessResultService.java @@ -2,21 +2,21 @@ 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.mapper.ProcessResultMapper; 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.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.sailor.SailorVersion; import com.dbnt.faisp.main.faStatistics.crackdownsStatus.repository.*; import com.dbnt.faisp.util.Utils; import lombok.RequiredArgsConstructor; import org.springframework.beans.BeanUtils; -import org.springframework.beans.BeanWrapper; -import org.springframework.beans.BeanWrapperImpl; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import java.util.HashSet; import java.util.List; -import java.util.Set; @Service @RequiredArgsConstructor @@ -27,6 +27,7 @@ public class ProcessResultService extends BaseService { private final FishingBoatRepository fishingBoatRepository; private final ViolationRepository violationRepository; private final ProcessResultRepository processResultRepository; + private final ProcessResultVersionRepository processResultVersionRepository; public List selectProcessResultList(ProcessResult processResult) { return processResultMapper.selectProcessResultList(processResult); @@ -40,6 +41,14 @@ public class ProcessResultService extends BaseService { return processResultRepository.findById(prKey).orElse(null); } + public List selectProcessResultVersionList(Integer prKey) { + return processResultVersionRepository.findByPrKey(prKey); + } + + public ProcessResultVersion selectProcessResultVersion(Integer versionNo, Integer prKey) { + return processResultVersionRepository.findByVersionNoAndPrKey(versionNo, prKey); + } + @Transactional public Integer saveProcessResult(ProcessResult processResult) { if (processResult.getCrackdownStatus().getViolationDeleteKeyList() != null) { @@ -50,11 +59,22 @@ public class ProcessResultService extends BaseService { processResult.setExecutionDetail(processResult.getExecutionDetailEtc()); } + Integer prKey = 0; ProcessResult existingProcessResult = processResultRepository.findByPrKey(processResult.getPrKey()).orElse(null); - Utils.copyNonNullProperties(processResult, existingProcessResult); - Integer prKey = processResultRepository.save(existingProcessResult).getPrKey(); - if (processResult.getCrackdownStatus() != null) { + if (existingProcessResult != null) { + Utils.copyNonNullProperties(processResult, existingProcessResult); + existingProcessResult.setCrackdownStatus(null); + existingProcessResult.setFishingBoat(null); + existingProcessResult.setViolationList(null); + prKey = processResultRepository.save(existingProcessResult).getPrKey(); + saveProcessResultVersion(existingProcessResult); + } else { + prKey = processResultRepository.save(processResult).getPrKey(); + saveProcessResultVersion(processResult); + } + + /*if (processResult.getCrackdownStatus() != null) { if (processResult.getCrackdownStatus().getCrackdownPoliceEtc() != null) { processResult.getCrackdownStatus().setCrackdownPolice(processResult.getCrackdownStatus().getCrackdownPoliceEtc()); } @@ -62,15 +82,15 @@ public class ProcessResultService extends BaseService { CrackdownStatus existingCrackdownStatus = crackdownStatusRepository.findByCdsKey(processResult.getCdsKey()).orElse(null); Utils.copyNonNullProperties(processResult, existingCrackdownStatus); processResult.setCrackdownStatus(crackdownStatusRepository.save(existingCrackdownStatus)); - } + }*/ - if (processResult.getFishingBoat() != null) { + /*if (processResult.getFishingBoat() != null) { FishingBoat existingFishingBoat = fishingBoatRepository.findByCdsKey(processResult.getCdsKey()).orElse(null); Utils.copyNonNullProperties(processResult, existingFishingBoat); fishingBoatRepository.save(existingFishingBoat); - } + }*/ - if (processResult.getViolationList().get(0).getViolation() != null) { + /*if (processResult.getViolationList().get(0).getViolation() != null) { Violation lastViolation = violationRepository.findTopByFbKeyOrderByViolationKeyDesc(processResult.getCrackdownStatus().getFbKey()).orElse(null); int violationKey = lastViolation==null?1:(lastViolation.getViolationKey()+1); @@ -85,8 +105,19 @@ public class ProcessResultService extends BaseService { } } violationRepository.saveAll(processResult.getViolationList()); - } + }*/ return prKey; } + + public void saveProcessResultVersion(ProcessResult processResult) { + ProcessResultVersion lastVersion = processResultVersionRepository.findTopByPrKeyOrderByVersionNoDesc(processResult.getPrKey()).orElse(null); + int versionNo = lastVersion==null?1:(lastVersion.getVersionNo()+1); + + ProcessResultVersion processResultVersion = new ProcessResultVersion(); + BeanUtils.copyProperties(processResult, processResultVersion); + processResultVersion.setVersionNo(versionNo); + + processResultVersionRepository.save(processResultVersion); + } } 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 a12da3cb..fccdc058 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,12 +3,15 @@ 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.*; import com.dbnt.faisp.util.Utils; import lombok.RequiredArgsConstructor; +import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -38,8 +41,8 @@ public class SailorService extends BaseService { return sailorVersionRepository.findBySailorKey(sailorKey); } - public SailorVersion selectSailorVersion(Integer versionNo) { - return sailorVersionRepository.findByVersionNo(versionNo); + public SailorVersion selectSailorVersion(Integer versionNo, Integer sailorKey) { + return sailorVersionRepository.findByVersionNoAndSailorKey(versionNo, sailorKey); } @Transactional @@ -101,30 +104,8 @@ public class SailorService extends BaseService { int versionNo = lastVersion==null?1:(lastVersion.getVersionNo()+1); SailorVersion sailorVersion = new SailorVersion(); + BeanUtils.copyProperties(sailor, sailorVersion); sailorVersion.setVersionNo(versionNo); - sailorVersion.setSailorKey(sailor.getSailorKey()); - sailorVersion.setSailorNameKr(sailor.getSailorNameKr()); - sailorVersion.setSailorNameCn(sailor.getSailorNameCn()); - sailorVersion.setSailorNamePinyin(sailor.getSailorNamePinyin()); - sailorVersion.setSailorContact(sailor.getSailorContact()); - sailorVersion.setBirthdate(sailor.getBirthdate()); - sailorVersion.setResidence(sailor.getResidence()); - sailorVersion.setEducation(sailor.getEducation()); - sailorVersion.setPosition(sailor.getPosition()); - sailorVersion.setCareer(sailor.getCareer()); - sailorVersion.setSimilarCriminalHistory(sailor.getSimilarCriminalHistory()); - sailorVersion.setHeterogeneousCriminalHistory(sailor.getHeterogeneousCriminalHistory()); - sailorVersion.setArrestHistory(sailor.getArrestHistory()); - sailorVersion.setCriminalHistoryDetail(sailor.getCriminalHistoryDetail()); - sailorVersion.setMonthlyWages(sailor.getMonthlyWages()); - sailorVersion.setIsRestriction(sailor.getIsRestriction()); - sailorVersion.setNote(sailor.getNote()); - sailorVersion.setWrtOrgan(sailor.getWrtOrgan()); - sailorVersion.setWrtPart(sailor.getWrtPart()); - sailorVersion.setWrtUserSeq(sailor.getWrtUserSeq()); - sailorVersion.setWrtUserGrd(sailorVersion.getWrtUserGrd()); - sailorVersion.setWrtUserNm(sailor.getWrtUserNm()); - sailorVersion.setWrtDt(sailor.getWrtDt()); sailorVersionRepository.save(sailorVersion); } diff --git a/src/main/resources/static/js/common.js b/src/main/resources/static/js/common.js index 023b650d..c1e9c83e 100644 --- a/src/main/resources/static/js/common.js +++ b/src/main/resources/static/js/common.js @@ -205,9 +205,26 @@ function departmentDynamicOption(targetTagName, code, defaultOptionName='') { $(targetTagName).empty(); let option = ''; organConfigList.forEach(function (organConfig) { - if (organConfig.parentOrgan != null && organConfig.organType != 'OGC002' && organConfig.parentOrgan == code) { + if (organConfig.parentOrgan != null && organConfig.organType !== 'OGC002' && organConfig.parentOrgan === code) { option += ''; } }); $(targetTagName).append('' + option); +} + +function dateTimeCalc(startDateTime, endDateTime) { + if (startDateTime !== '' &&endDateTime !== '' && startDateTime !== undefined && endDateTime !== undefined) { + const startDate = new Date(startDateTime); + const endDate = new Date(endDateTime); + + let diffTime = endDate.getTime() - startDate.getTime(); + + const day = Math.floor(diffTime / (1000* 60 * 60 * 24)); + const hour = Math.floor((diffTime % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60)); + const minute = Math.floor((diffTime % (1000 * 60 * 60)) / (1000 * 60)); + + return day + '일' + hour + '시간' + minute + '분'; + } + + return null; } \ No newline at end of file diff --git a/src/main/resources/static/js/faStatistics/crackdownStatus.js b/src/main/resources/static/js/faStatistics/crackdownStatus.js index d1cd082c..da1d9642 100644 --- a/src/main/resources/static/js/faStatistics/crackdownStatus.js +++ b/src/main/resources/static/js/faStatistics/crackdownStatus.js @@ -19,6 +19,22 @@ $(document).on('click', '.tr', function (){ getCrackdownStatusViewModal($(this).data('key')); }); +$(document).on('click', '#history-tab', function (){ + getCrackdownStatusHistoryViewModal($('#cdsEditForm').find('input[name="cdsKey"]').val()); +}); + +$(document).on('click', '#crackdownStatus-tab', function (){ + getCrackdownStatusViewModal($('#cdsEditForm').find('input[name="cdsKey"]').val()); +}); + +$(document).on('click', '.version-tr', function (){ + $(this).find('input[name="versionNo"]').prop('checked', true); + const versionNo = $(this).find('input[name="versionNo"]').val(); + const cdsKey = $('#cdsEditForm').find('input[name="cdsKey"]').val(); + getCrackdownStatusHistoryDetail(versionNo, cdsKey); +}); + + $(document).on('change', 'select[name="crackdownPolice"]', function (){ dynamicOption('select[name="crackdownBoat"]', $(this).val()); }); @@ -151,12 +167,47 @@ $(document).on('click', '#cdsDownExcel', function (){ exportExcel('불법조업 불법어선 단속현황'); }); +function getCrackdownStatusHistoryDetail(versionNo, cdsKey){ + $.ajax({ + url: '/faStatistics/crackdownStatus/crackdownStatusHistoryDetail', + data: { + versionNo : versionNo, + cdsKey : cdsKey + }, + type: 'GET', + dataType:"html", + success: function(html){ + $("#historyDetailDiv").empty().append(html); + }, + error:function(){ + + } + }); +} + function getCrackdownStatusViewModal(cdsKey){ $.ajax({ url: '/faStatistics/crackdownStatus/crackdownStatusViewModal', data: {cdsKey: cdsKey}, type: 'GET', dataType:"html", + success: function(html){ + $("#cdsEditBody").empty(); + $("#crackdownStatusViewBody").empty().append(html) + $("#crackdownStatusViewModal").modal('show'); + }, + error:function(){ + + } + }); +} + +function getCrackdownStatusHistoryViewModal(cdsKey){ + $.ajax({ + url: '/faStatistics/crackdownStatus/crackdownStatusHistoryViewModal', + data: {cdsKey: cdsKey}, + type: 'GET', + dataType:"html", success: function(html){ $("#crackdownStatusViewBody").empty().append(html) $("#crackdownStatusViewModal").modal('show'); @@ -408,20 +459,3 @@ function getToday() { var date = new Date(); var year = date.getFullYear(); } - -function dateTimeCalc(startDateTime, endDateTime) { - if (startDateTime != '' &&endDateTime != '' && startDateTime != undefined && endDateTime != undefined) { - const startDate = new Date(startDateTime); - const endDate = new Date(endDateTime); - - let diffTime = endDate.getTime() - startDate.getTime(); - - const day = Math.floor(diffTime / (1000* 60 * 60 * 24)); - const hour = Math.floor((diffTime % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60)); - const minute = Math.floor((diffTime % (1000 * 60 * 60)) / (1000 * 60)); - - return day + '일' + hour + '시간' + minute + '분'; - } - - return null; -} diff --git a/src/main/resources/static/js/faStatistics/processResult.js b/src/main/resources/static/js/faStatistics/processResult.js index 22b9354f..25c41eb7 100644 --- a/src/main/resources/static/js/faStatistics/processResult.js +++ b/src/main/resources/static/js/faStatistics/processResult.js @@ -1,5 +1,5 @@ $(document).on('click', '#processResultAddBtn', function () { - getProcessResultEditModal(null); + getProcessResultAddModal(null); }); $(document).on('click', '#processResultEditBtn', function () { @@ -19,6 +19,58 @@ $(document).on('click', '.tr', function (){ getProcessResultViewModal($(this).data('key')); }); +$(document).on('click', '#history-tab', function (){ + const prKey = $('#processResultEditForm').find('input[name="prKey"]').val(); + const cdsKey = $('#processResultEditForm').find('input[name="cdsKey"]').val(); + const fbKey = $('#processResultEditForm').find('input[name="fbKey"]').val(); + getProcessResultHistoryViewModal(prKey, cdsKey, fbKey); +}); + +$(document).on('click', '#processResult-tab', function (){ + getProcessResultViewModal($('#processResultEditForm').find('input[name="prKey"]').val()); +}); + +$(document).on('click', '.version-tr', function (){ + $(this).find('input[name="versionNo"]').prop('checked', true); + const versionNo = $(this).find('input[name="versionNo"]').val(); + const prKey = $('#processResultEditForm').find('input[name="prKey"]').val(); + const cdsKey = $('#processResultEditForm').find('input[name="cdsKey"]').val(); + const fbKey = $('#processResultEditForm').find('input[name="fbKey"]').val(); + getProcessResultHistoryDetail(versionNo, prKey, cdsKey, fbKey); +}); + +$(document).on('change', 'select[name="caseNum"]', function (){ + $('input[name="boatNameKr"]').val(''); + $('input[name="prKey"]').val(''); + $('input[name="cdsKey"]').val($('select[name="caseNum"] option:selected').val()); + + const formdata = new FormData($('#processResultEditForm')[0]); + + $.ajax({ + type: 'POST', + data: formdata, + url: "/faStatistics/processResult/getProcessResult", + processData: false, + contentType: false, + success: function(result) { + $('input[name="boatNameKr"]').val(result.fishingBoat.boatNameKr); + $('input[name="prKey"]').val(result.prKey); + $('input[name="sentencingCourt"]').val(result.sentencingCourt); + $('input[name="sentencingDetail"]').val(result.sentencingDetail); + $('select[name="executionDetail"]').val(result.executionDetail).prop('selected', true); + $('input[name="returnDt"]').val(result.returnDt); + $('input[name="consignmentStartDt"]').val(result.consignmentStartDt); + $('input[name="consignmentEndDt"]').val(result.consignmentEndDt); + $('input[name="confiscationDt"]').val(result.confiscationDt); + $('input[name="boatDisposalDt"]').val(result.boatDisposalDt); + $('input[name="boatDisposalDt"]').val(result.boatDisposalDt); + }, + error: function(xhr, status) { + + } + }); +}); + $(document).on('click', '#violationAddBtn', function (){ let violation = ''; commonCode.VT.forEach(function (item){ @@ -84,6 +136,26 @@ $(document).on('click', '#processResultDownExcel', function (){ exportExcel('불법조업 불법어선 처리현황'); }); +function getProcessResultHistoryDetail(versionNo, prKey, cdsKey, fbKey){ + $.ajax({ + url: '/faStatistics/processResult/processResultHistoryDetail', + data: { + versionNo : versionNo, + prKey: prKey, + cdsKey : cdsKey, + fbKey : fbKey + }, + type: 'GET', + dataType:"html", + success: function(html){ + $("#historyDetailDiv").empty().append(html); + }, + error:function(){ + + } + }); +} + function getProcessResultViewModal(prKey){ $.ajax({ url: '/faStatistics/processResult/processResultViewModal', @@ -91,6 +163,7 @@ function getProcessResultViewModal(prKey){ type: 'GET', dataType:"html", success: function(html){ + $("#processResultEditModalContent").empty(); $("#processResultViewBody").empty().append(html) $("#processResultViewModal").modal('show'); }, @@ -100,6 +173,63 @@ function getProcessResultViewModal(prKey){ }); } +function getProcessResultHistoryViewModal(prKey, cdsKey, fbKey){ + $.ajax({ + url: '/faStatistics/processResult/processResultHistoryViewModal', + data: { + prKey: prKey, + cdsKey : cdsKey, + fbKey : fbKey + }, + type: 'GET', + dataType:"html", + success: function(html){ + $("#processResultViewBody").empty().append(html) + $("#processResultViewModal").modal('show'); + }, + error:function(){ + + } + }); +} + +function getProcessResultAddModal(){ + $.ajax({ + url: '/faStatistics/processResult/processResultAddModal', + type: 'GET', + dataType:"html", + success: function(html){ + $("#processResultViewBody").empty(); + $("#processResultAddModalContent").empty().append(html); + $("#processResultAddModal").modal('show'); + + $("#consignmentStartDt").datepicker({ + format: "yyyy-mm-dd", + language: "ko" + }); + $("#consignmentEndDt").datepicker({ + format: "yyyy-mm-dd", + language: "ko" + }); + $("#returnDt").datepicker({ + format: "yyyy-mm-dd", + language: "ko" + }); + $("#confiscationDt").datepicker({ + format: "yyyy-mm-dd", + language: "ko" + }); + $("#boatDisposalDt").datepicker({ + format: "yyyy-mm-dd", + language: "ko" + }); + }, + error:function(){ + + } + }); +} + function getProcessResultEditModal(prKey){ $.ajax({ url: '/faStatistics/processResult/processResultEditModal', @@ -185,6 +315,7 @@ function saveProcessResult(saveYn){ alert("저장되었습니다."); contentFade("out"); $("#processResultEditModal").modal('hide'); + $("#processResultAddModal").modal('hide'); }, error : function(xhr, status) { alert("저장에 실패하였습니다.") diff --git a/src/main/resources/static/js/faStatistics/sailor.js b/src/main/resources/static/js/faStatistics/sailor.js index 1c366baa..5eadbe93 100644 --- a/src/main/resources/static/js/faStatistics/sailor.js +++ b/src/main/resources/static/js/faStatistics/sailor.js @@ -20,7 +20,10 @@ $(document).on('click', '.tr', function (){ }); $(document).on('click', '#history-tab', function (){ - getSailorHistoryViewModal($('#sailorEditForm').find('input[name="sailorKey"]').val()); + const sailorKey = $('#sailorEditForm').find('input[name="sailorKey"]').val(); + const cdsKey = $('#sailorEditForm').find('input[name="cdsKey"]').val(); + const fbKey = $('#sailorEditForm').find('input[name="fbKey"]').val(); + getSailorHistoryViewModal(sailorKey, cdsKey, fbKey); }); $(document).on('click', '#sailor-tab', function (){ @@ -29,7 +32,11 @@ $(document).on('click', '#sailor-tab', function (){ $(document).on('click', '.version-tr', function (){ $(this).find('input[name="versionNo"]').prop('checked', true); - getSailorHistoryDetail($(this).find('input[name="versionNo"]').val()); + const versionNo = $(this).find('input[name="versionNo"]').val(); + const sailorKey = $('#sailorEditForm').find('input[name="sailorKey"]').val(); + const cdsKey = $('#sailorEditForm').find('input[name="cdsKey"]').val(); + const fbKey = $('#sailorEditForm').find('input[name="fbKey"]').val(); + getSailorHistoryDetail(versionNo, sailorKey, cdsKey, fbKey); }); @@ -104,10 +111,15 @@ $(document).on('click', '#sailorDownExcel', function (){ exportExcel('불법조업 불법어선 처리현황'); }); -function getSailorHistoryDetail(versionNo){ +function getSailorHistoryDetail(versionNo, sailorKey, cdsKey, fbKey){ $.ajax({ url: '/faStatistics/sailor/sailorHistoryDetail', - data: {versionNo: versionNo}, + data: { + versionNo : versionNo, + sailorKey: sailorKey, + cdsKey : cdsKey, + fbKey : fbKey + }, type: 'GET', dataType:"html", success: function(html){ @@ -127,7 +139,8 @@ function getSailorViewModal(sailorKey){ type: 'GET', dataType:"html", success: function(html){ - $("#sailorViewBody").empty().append(html) + $("#sailorAddModalContent").empty(); + $("#sailorViewBody").empty().append(html); $("#sailorViewModal").modal('show'); }, error:function(){ @@ -136,10 +149,14 @@ function getSailorViewModal(sailorKey){ }); } -function getSailorHistoryViewModal(sailorKey){ +function getSailorHistoryViewModal(sailorKey, cdsKey, fbKey){ $.ajax({ url: '/faStatistics/sailor/sailorHistoryViewModal', - data: {sailorKey: sailorKey}, + data: { + sailorKey : sailorKey, + cdsKey : cdsKey, + fbKey : fbKey + }, type: 'GET', dataType:"html", success: function(html){ diff --git a/src/main/resources/templates/faStatistics/crackdownStatus/crackdownStatusHistoryDetail.html b/src/main/resources/templates/faStatistics/crackdownStatus/crackdownStatusHistoryDetail.html new file mode 100644 index 00000000..09e5b0f3 --- /dev/null +++ b/src/main/resources/templates/faStatistics/crackdownStatus/crackdownStatusHistoryDetail.html @@ -0,0 +1,143 @@ + + +
+ 나포정보 +
+
+
+ + +
+
+ + +
+ +
+ + + +
+ +
+ +
+
+
+ 특수공무집행방해 +
+
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+
+
+ 검거기관 +
+
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+
+
+ 현장조사 +
+
+ +
+ +
+ +
+ +
+ +
+ +
+
+
+ 압송 +
+
+ +
+ +
+ +
+ +
+ +
+ +
+
+ \ No newline at end of file diff --git a/src/main/resources/templates/faStatistics/crackdownStatus/crackdownStatusHistoryViewModal.html b/src/main/resources/templates/faStatistics/crackdownStatus/crackdownStatusHistoryViewModal.html new file mode 100644 index 00000000..71acac52 --- /dev/null +++ b/src/main/resources/templates/faStatistics/crackdownStatus/crackdownStatusHistoryViewModal.html @@ -0,0 +1,185 @@ + + + + + + + +
+
+ +
+
+ + \ No newline at end of file diff --git a/src/main/resources/templates/faStatistics/crackdownStatus/crackdownStatusViewModal.html b/src/main/resources/templates/faStatistics/crackdownStatus/crackdownStatusViewModal.html index 1504f9da..bd164132 100644 --- a/src/main/resources/templates/faStatistics/crackdownStatus/crackdownStatusViewModal.html +++ b/src/main/resources/templates/faStatistics/crackdownStatus/crackdownStatusViewModal.html @@ -4,487 +4,506 @@ - +