From db0813f740af77f5d6b442793cd9b222eee9ce8d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B0=95=EC=84=9D=20=EC=B5=9C?= Date: Mon, 16 Jan 2023 13:15:34 +0900 Subject: [PATCH] =?UTF-8?q?=EB=B6=88=EB=B2=95=EC=A1=B0=EC=97=85=20?= =?UTF-8?q?=EC=99=B8=EA=B5=AD=EC=96=B4=EC=84=A0=20=EC=9E=91=EC=97=85?= =?UTF-8?q?=EC=A4=91.=20=EC=B2=AD=EC=82=B0=EB=B3=B4=EA=B3=A0=EC=84=9C=20?= =?UTF-8?q?=EA=B2=AC=EB=AC=B8=20=EB=B6=88=EB=9F=AC=EC=98=A4=EA=B8=B0=20?= =?UTF-8?q?=EC=A1=B0=EA=B1=B4=20=EC=B6=94=EA=B0=80.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../FishingBoatController.java | 6 +- .../{CaptinPhotoFile.java => SailorFile.java} | 8 +- ...otoVersion.java => SailorFileVersion.java} | 8 +- .../crackdownStatus/CrackdownStatus.java | 3 + .../model/fishingBoat/FishingBoat.java | 2 + .../crackdownsStatus/model/sailor/Sailor.java | 5 +- .../model/sailor/SailorVersion.java | 6 +- .../CaptionPhotoFileRepository.java | 11 - .../CaptionPhotoVersionRepository.java | 8 - .../repository/SailorFileRepository.java | 11 + .../SailorFileVersionRepository.java | 8 + .../service/CrackdownStatusService.java | 204 +++++++++--------- .../service/FishingBoatService.java | 145 ++++++------- .../service/ProcessResultService.java | 126 ++++++----- .../service/SailorService.java | 194 ++++++++++------- .../service/UnlawfulFishingService.java | 68 ++++++ .../igActivities/fpiMgt/result/resultMgt.js | 4 +- .../fpiMgt/affairResult/affairListModal.html | 10 +- 18 files changed, 491 insertions(+), 336 deletions(-) rename src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/model/{CaptinPhotoFile.java => SailorFile.java} (82%) rename src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/model/{CaptinPhotoVersion.java => SailorFileVersion.java} (82%) delete mode 100644 src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/repository/CaptionPhotoFileRepository.java delete mode 100644 src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/repository/CaptionPhotoVersionRepository.java create mode 100644 src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/repository/SailorFileRepository.java create mode 100644 src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/repository/SailorFileVersionRepository.java create mode 100644 src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/service/UnlawfulFishingService.java 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 6674b2b1..dc2374b1 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 @@ -7,6 +7,7 @@ import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.fishingBoat.Fishi import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.fishingBoat.FishingBoatVersion; 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.UnlawfulFishingService; import com.dbnt.faisp.main.userInfo.model.UserInfo; import lombok.RequiredArgsConstructor; import org.springframework.security.core.annotation.AuthenticationPrincipal; @@ -24,6 +25,7 @@ public class FishingBoatController { private final AuthMgtService authMgtService; private final FishingBoatService fishingBoatService; + private final UnlawfulFishingService ufService; private final CodeMgtService codeMgtService; @RequestMapping("/fishingBoat") @@ -97,7 +99,9 @@ public class FishingBoatController { public Integer saveFishingBoat(@AuthenticationPrincipal UserInfo loginUser, CrackdownStatus crackdownStatus, MultipartHttpServletRequest request){ - return fishingBoatService.saveCrackdownStatus(crackdownStatus, request.getMultiFileMap().get("uploadFiles")); + // return fishingBoatService.saveCrackdownStatus(crackdownStatus, request.getMultiFileMap().get("uploadFiles")); + crackdownStatus.setSailorFileList(request.getMultiFileMap().get("uploadFiles")); + return ufService.saveUnlawfulFishing(crackdownStatus); } @GetMapping("/checkCaseNum") diff --git a/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/model/CaptinPhotoFile.java b/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/model/SailorFile.java similarity index 82% rename from src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/model/CaptinPhotoFile.java rename to src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/model/SailorFile.java index b2b2d0c8..6b295a9f 100644 --- a/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/model/CaptinPhotoFile.java +++ b/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/model/SailorFile.java @@ -14,9 +14,9 @@ import java.io.Serializable; @NoArgsConstructor @DynamicInsert @DynamicUpdate -@IdClass(CaptinPhotoFile.CaptinPhotoFileId.class) -@Table(name = "captin_photo_file") -public class CaptinPhotoFile extends FileInfo { +@IdClass(SailorFile.SailorFileId.class) +@Table(name = "sailor_file") +public class SailorFile extends FileInfo { @Id @Column(name = "sailor_key") private Integer sailorKey; @@ -45,7 +45,7 @@ public class CaptinPhotoFile extends FileInfo { @Data @NoArgsConstructor @AllArgsConstructor - public static class CaptinPhotoFileId implements Serializable { + public static class SailorFileId implements Serializable { private Integer sailorKey; private Integer fileSeq; } diff --git a/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/model/CaptinPhotoVersion.java b/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/model/SailorFileVersion.java similarity index 82% rename from src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/model/CaptinPhotoVersion.java rename to src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/model/SailorFileVersion.java index df2f7af4..f7a00ec6 100644 --- a/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/model/CaptinPhotoVersion.java +++ b/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/model/SailorFileVersion.java @@ -14,9 +14,9 @@ import java.io.Serializable; @NoArgsConstructor @DynamicInsert @DynamicUpdate -@IdClass(CaptinPhotoVersion.CaptinPhotoVersionId.class) -@Table(name = "captin_photo_version") -public class CaptinPhotoVersion extends FileInfo { +@IdClass(SailorFileVersion.SailorFileVersionId.class) +@Table(name = "sailor_file_version") +public class SailorFileVersion extends FileInfo { @Id @Column(name = "sailor_key") private Integer sailorKey; @@ -49,7 +49,7 @@ public class CaptinPhotoVersion extends FileInfo { @Data @NoArgsConstructor @AllArgsConstructor - public static class CaptinPhotoVersionId implements Serializable { + public static class SailorFileVersionId implements Serializable { private Integer sailorKey; private Integer fileSeq; private Integer versionNo; diff --git a/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/model/crackdownStatus/CrackdownStatus.java b/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/model/crackdownStatus/CrackdownStatus.java index b849c48f..a5ce14bb 100644 --- a/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/model/crackdownStatus/CrackdownStatus.java +++ b/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/model/crackdownStatus/CrackdownStatus.java @@ -11,6 +11,7 @@ import lombok.Setter; import org.hibernate.annotations.DynamicInsert; import org.hibernate.annotations.DynamicUpdate; import org.springframework.format.annotation.DateTimeFormat; +import org.springframework.web.multipart.MultipartFile; import javax.persistence.*; import java.time.LocalDate; @@ -44,6 +45,8 @@ public class CrackdownStatus extends CrackdownStatusBaseEntity { private ProcessResult processResult; @Transient private List sailorList; + @Transient + private List sailorFileList; @Transient private String crackdownPoliceEtc; 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 index 15671933..a082edc2 100644 --- 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 @@ -5,8 +5,10 @@ import lombok.NoArgsConstructor; import lombok.Setter; import org.hibernate.annotations.DynamicInsert; import org.hibernate.annotations.DynamicUpdate; +import org.springframework.web.multipart.MultipartFile; import javax.persistence.*; +import java.util.List; @Getter @Setter 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 e85fc38c..45693754 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,6 +1,6 @@ package com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.sailor; -import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.CaptinPhotoFile; +import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.SailorFile; 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; @@ -12,7 +12,6 @@ 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; @@ -62,5 +61,5 @@ public class Sailor extends SailorBaseEntity { private LocalDateTime napoDt; @Transient - private List fileList; + private List fileList; } 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 527cc08f..757d1558 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.CaptinPhotoFile; -import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.CaptinPhotoVersion; +import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.SailorFile; +import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.SailorFileVersion; import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.crackdownStatus.CrackdownStatus; import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.fishingBoat.FishingBoat; import lombok.*; @@ -54,5 +54,5 @@ public class SailorVersion extends SailorBaseEntity { private FishingBoat fishingBoat; @Transient - private List fileList; + private List fileList; } diff --git a/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/repository/CaptionPhotoFileRepository.java b/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/repository/CaptionPhotoFileRepository.java deleted file mode 100644 index fcb10355..00000000 --- a/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/repository/CaptionPhotoFileRepository.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.dbnt.faisp.main.faStatistics.crackdownsStatus.repository; - -import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.CaptinPhotoFile; -import org.springframework.data.jpa.repository.JpaRepository; - -import java.util.List; - -public interface CaptionPhotoFileRepository extends JpaRepository { - - List findBySailorKeyOrderByFileSeqAsc(Integer sailorKey); -} diff --git a/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/repository/CaptionPhotoVersionRepository.java b/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/repository/CaptionPhotoVersionRepository.java deleted file mode 100644 index 4192d3ff..00000000 --- a/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/repository/CaptionPhotoVersionRepository.java +++ /dev/null @@ -1,8 +0,0 @@ -package com.dbnt.faisp.main.faStatistics.crackdownsStatus.repository; - -import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.CaptinPhotoVersion; -import org.springframework.data.jpa.repository.JpaRepository; - -public interface CaptionPhotoVersionRepository extends JpaRepository { - -} diff --git a/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/repository/SailorFileRepository.java b/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/repository/SailorFileRepository.java new file mode 100644 index 00000000..f80bf45c --- /dev/null +++ b/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/repository/SailorFileRepository.java @@ -0,0 +1,11 @@ +package com.dbnt.faisp.main.faStatistics.crackdownsStatus.repository; + +import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.SailorFile; +import org.springframework.data.jpa.repository.JpaRepository; + +import java.util.List; + +public interface SailorFileRepository extends JpaRepository { + + List findBySailorKeyOrderByFileSeqAsc(Integer sailorKey); +} diff --git a/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/repository/SailorFileVersionRepository.java b/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/repository/SailorFileVersionRepository.java new file mode 100644 index 00000000..060c3ee1 --- /dev/null +++ b/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/repository/SailorFileVersionRepository.java @@ -0,0 +1,8 @@ +package com.dbnt.faisp.main.faStatistics.crackdownsStatus.repository; + +import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.SailorFileVersion; +import org.springframework.data.jpa.repository.JpaRepository; + +public interface SailorFileVersionRepository 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 cc2c5e05..379f1f85 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 @@ -20,118 +20,130 @@ import java.util.List; @RequiredArgsConstructor 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; - private final SailorRepository sailorRepository; + private final CrackdownStatusMapper crackdownStatusMapper; + private final CrackdownStatusRepository crackdownStatusRepository; + private final CrackdownStatusVersionRepository crackdownStatusVersionRepository; + private final FishingBoatRepository fishingBoatRepository; + private final ViolationRepository violationRepository; + private final ProcessResultRepository processResultRepository; + private final SailorRepository sailorRepository; - public List selectCrackdownStatusList(CrackdownStatus crackdownStatus) { - return crackdownStatusMapper.selectCrackdownStatusList(crackdownStatus); - }; + public List selectCrackdownStatusList(CrackdownStatus crackdownStatus) { + return crackdownStatusMapper.selectCrackdownStatusList(crackdownStatus); + }; - public Integer selectCrackdownStatusListCnt(CrackdownStatus crackdownStatus) { - return crackdownStatusMapper.selectCrackdownStatusListCnt(crackdownStatus); + public Integer selectCrackdownStatusListCnt(CrackdownStatus crackdownStatus) { + return crackdownStatusMapper.selectCrackdownStatusListCnt(crackdownStatus); + } + + public CrackdownStatus selectCrackdownStatus(Integer cdsKey) { + CrackdownStatus savedCrackdownStatus = crackdownStatusRepository.findById(cdsKey).orElse(null); + if (savedCrackdownStatus != null) { + + } + 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) { + violationRepository.deleteAllByIdInQuery(crackdownStatus.getViolationDeleteKeyList()); + } + if (crackdownStatus.getSailorDeleteKeyList() != null) { + sailorRepository.deleteAllByIdInQuery(crackdownStatus.getSailorDeleteKeyList()); } - public CrackdownStatus selectCrackdownStatus(Integer cdsKey) { - CrackdownStatus savedCrackdownStatus = crackdownStatusRepository.findById(cdsKey).orElse(null); - if (savedCrackdownStatus != null) { - - } - return savedCrackdownStatus; + if (crackdownStatus.getCrackdownBoatEtc() != null) { + crackdownStatus.setCrackdownBoat(crackdownStatus.getCrackdownBoatEtc()); + } + if (crackdownStatus.getCrackdownPoliceEtc() != null) { + crackdownStatus.setCrackdownPolice(crackdownStatus.getCrackdownPoliceEtc()); } - public List selectCrackdownStatusVersionList(Integer cdsKey) { - return crackdownStatusVersionRepository.findByCdsKey(cdsKey); + Integer cdsKey = crackdownStatusRepository.save(crackdownStatus).getCdsKey(); + saveCrackdownStatusVersion(crackdownStatus); + + if (crackdownStatus.getFishingBoat() != null) { + if (crackdownStatus.getFishingBoat().getBoatMaterialEtc() != null) { + crackdownStatus.getFishingBoat().setBoatMaterial(crackdownStatus.getFishingBoat().getBoatMaterialEtc()); + } + if (crackdownStatus.getFishingBoat().getFisheryTypeEtc() != null) { + crackdownStatus.getFishingBoat().setFisheryType(crackdownStatus.getFishingBoat().getFisheryTypeEtc()); + } + + crackdownStatus.getFishingBoat().setCdsKey(cdsKey); + Integer fbKey = fishingBoatRepository.save(crackdownStatus.getFishingBoat()).getFbKey(); + crackdownStatus.getFishingBoat().setFbKey(fbKey); } - public CrackdownStatusVersion selectCrackdownStatusVersion(Integer versionNo, Integer cdsKey) { - return crackdownStatusVersionRepository.findByVersionNoAndCdsKey(versionNo, cdsKey); + 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); } - @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(); - saveCrackdownStatusVersion(crackdownStatus); - - if (crackdownStatus.getFishingBoat() != null) { - if (crackdownStatus.getFishingBoat().getBoatMaterialEtc() != null) { - crackdownStatus.getFishingBoat().setBoatMaterial(crackdownStatus.getFishingBoat().getBoatMaterialEtc()); - } - if (crackdownStatus.getFishingBoat().getFisheryTypeEtc() != null) { - crackdownStatus.getFishingBoat().setFisheryType(crackdownStatus.getFishingBoat().getFisheryTypeEtc()); - } - - crackdownStatus.getFishingBoat().setCdsKey(cdsKey); - Integer fbKey = fishingBoatRepository.save(crackdownStatus.getFishingBoat()).getFbKey(); - crackdownStatus.getFishingBoat().setFbKey(fbKey); - } - - 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.getSailorList() != null) { - for(Sailor sailor: crackdownStatus.getSailorList()){ - sailor.setFbKey(crackdownStatus.getFishingBoat().getFbKey()); - } - sailorRepository.saveAll(crackdownStatus.getSailorList()); - } - - if (crackdownStatus.getViolationList().get(0).getViolation() != null) { - Violation lastViolation = violationRepository.findTopByFbKeyOrderByViolationKeyDesc(crackdownStatus.getFbKey()).orElse(null); - int violationKey = lastViolation==null?1:(lastViolation.getViolationKey()+1); - - for(Violation violation: crackdownStatus.getViolationList()){ - if (violation.getViolationEtc() != null) { - violation.setViolation(violation.getViolationEtc()); - } - violation.setFbKey(crackdownStatus.getFishingBoat().getFbKey()); - if (violation.getViolationKey() == null) { - violation.setViolationKey(violationKey); - violationKey++; - } - } - violationRepository.saveAll(crackdownStatus.getViolationList()); - } - - return cdsKey; + if (crackdownStatus.getSailorList() != null) { + for(Sailor sailor: crackdownStatus.getSailorList()){ + sailor.setFbKey(crackdownStatus.getFishingBoat().getFbKey()); + } + sailorRepository.saveAll(crackdownStatus.getSailorList()); } - public void saveCrackdownStatusVersion(CrackdownStatus crackdownStatus) { - CrackdownStatusVersion lastVersion = crackdownStatusVersionRepository.findTopByCdsKeyOrderByVersionNoDesc(crackdownStatus.getCdsKey()).orElse(null); - int versionNo = lastVersion==null?1:(lastVersion.getVersionNo()+1); + if (crackdownStatus.getViolationList().get(0).getViolation() != null) { + Violation lastViolation = violationRepository.findTopByFbKeyOrderByViolationKeyDesc(crackdownStatus.getFbKey()).orElse(null); + int violationKey = lastViolation==null?1:(lastViolation.getViolationKey()+1); - CrackdownStatusVersion crackdownStatusVersion = new CrackdownStatusVersion(); - BeanUtils.copyProperties(crackdownStatus, crackdownStatusVersion); - crackdownStatusVersion.setVersionNo(versionNo); - - crackdownStatusVersionRepository.save(crackdownStatusVersion); + for(Violation violation: crackdownStatus.getViolationList()){ + if (violation.getViolationEtc() != null) { + violation.setViolation(violation.getViolationEtc()); + } + violation.setFbKey(crackdownStatus.getFishingBoat().getFbKey()); + if (violation.getViolationKey() == null) { + violation.setViolationKey(violationKey); + violationKey++; + } + } + violationRepository.saveAll(crackdownStatus.getViolationList()); } + + 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); + } + + public int saveCrackdownStatusOnly(CrackdownStatus crackdownStatus) { + int cdsKey = crackdownStatusRepository.save(crackdownStatus).getCdsKey(); + if(!crackdownStatus.getStatus().equals("DST001")){ + CrackdownStatusVersion lastVersion = crackdownStatusVersionRepository.findTopByCdsKeyOrderByVersionNoDesc(cdsKey).orElse(null); + CrackdownStatusVersion crackdownStatusVersion = new CrackdownStatusVersion(); + BeanUtils.copyProperties(crackdownStatus, crackdownStatusVersion); + crackdownStatusVersion.setVersionNo(lastVersion==null?1:(lastVersion.getVersionNo()+1)); + crackdownStatusVersionRepository.save(crackdownStatusVersion); + } + return cdsKey; + } } 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 fa0cbd92..b56f2b58 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 @@ -4,8 +4,8 @@ package com.dbnt.faisp.main.faStatistics.crackdownsStatus.service; import com.dbnt.faisp.config.BaseService; import com.dbnt.faisp.config.FileInfo; import com.dbnt.faisp.main.faStatistics.crackdownsStatus.mapper.CrackdownStatusMapper; -import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.CaptinPhotoFile; -import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.CaptinPhotoVersion; +import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.SailorFile; +import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.SailorFileVersion; 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; @@ -45,8 +45,8 @@ public class FishingBoatService extends BaseService { private final ProcessResultVersionRepository processResultVersionRepository; private final SailorRepository sailorRepository; private final SailorVersionRepository sailorVersionRepository; - private final CaptionPhotoFileRepository captionPhotoFileRepository; - private final CaptionPhotoVersionRepository captionPhotoVersionRepository; + private final SailorFileRepository sailorFileRepository; + private final SailorFileVersionRepository sailorFileVersionRepository; public List selectFishingBoatList(CrackdownStatus crackdownStatus){ return crackdownStatusMapper.selectFishingBoatList(crackdownStatus); @@ -65,7 +65,7 @@ public class FishingBoatService extends BaseService { for(Sailor sailor: crackdownStatus.getSailorList()){ if(sailor.getPosition().equals("POS001")){ // 선장의 첨부파일 첨부 - sailor.setFileList(captionPhotoFileRepository.findBySailorKeyOrderByFileSeqAsc(sailor.getSailorKey())); + sailor.setFileList(sailorFileRepository.findBySailorKeyOrderByFileSeqAsc(sailor.getSailorKey())); } } } @@ -75,51 +75,31 @@ public class FishingBoatService extends BaseService { @Transactional public Integer saveCrackdownStatus(CrackdownStatus crackdownStatus, List sailorFiles) { Integer cdsKey, fbKey; + FishingBoat fishingBoat = crackdownStatus.getFishingBoat(); + List violationList = crackdownStatus.getViolationList(); + ProcessResult processResult = crackdownStatus.getProcessResult(); + List sailorList = crackdownStatus.getSailorList(); if (crackdownStatus.getCdsKey()==null || crackdownStatus.getCdsKey().equals(0)){ // 최초 등록시 단속현황, 처리현황, 선원정보를 같이 등록. // 단속현황, 단속현황버전 저장. - crackdownStatus = setWriteInfo(crackdownStatus); + // crackdownStatus = setWriteInfo(crackdownStatus); cdsKey = crackdownStatusRepository.save(crackdownStatus).getCdsKey(); - CrackdownStatusVersion crackdownStatusVersion = new CrackdownStatusVersion(); - BeanUtils.copyProperties(crackdownStatus, crackdownStatusVersion); - crackdownStatusVersion.setVersionNo(1); - 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(); - List violationVersionList = new ArrayList<>(); int i = 1; if(violationList!=null){ for(Violation violation: violationList){ violation.setViolationKey(i++); violation.setFbKey(fbKey); - - ViolationVersion violationVersion = new ViolationVersion(); - BeanUtils.copyProperties(violation, violationVersion); - violationVersion.setVersionNo(1); - violationVersionList.add(violationVersion); } violationRepository.saveAll(violationList); - violationVersionRepository.saveAll(violationVersionList); } // 처리현황, 처리현황버전 저장. - ProcessResult processResult = crackdownStatus.getProcessResult(); - ProcessResultVersion processResultVersion = new ProcessResultVersion(); processResult.setCdsKey(cdsKey); - BeanUtils.copyProperties(processResult, processResultVersion); - processResultVersion.setVersionNo(1); - Integer prKey = processResultRepository.save(processResult).getPrKey(); - processResultVersion.setPrKey(prKey); - processResultVersionRepository.save(processResultVersion); + processResultRepository.save(processResult); // 선원정보, 선원정보버전 저장. - List sailorList = crackdownStatus.getSailorList(); if(sailorList != null){ for(Sailor sailor: sailorList){ sailor.setFbKey(fbKey); @@ -140,11 +120,10 @@ public class FishingBoatService extends BaseService { } } } - }else{ // 업데이트시에는 어선정보만 수정. cdsKey = crackdownStatus.getCdsKey(); - FishingBoat fishingBoat = crackdownStatus.getFishingBoat(); + fbKey = fishingBoat.getFbKey(); FishingBoatVersion newInfo = new FishingBoatVersion(); fishingBoat.setCdsKey(cdsKey); fishingBoat.setWrtDt(LocalDateTime.now()); @@ -154,22 +133,61 @@ public class FishingBoatService extends BaseService { fishingBoatRepository.save(fishingBoat); fishingBoatVersionRepository.save(newInfo); // 위반사항 - List violationList = crackdownStatus.getViolationList(); if(violationList != null){ - List violationVersionList = new ArrayList<>(); int i=1; - ViolationVersion lastViolationVersion = violationVersionRepository.findTop1ByFbKeyOrderByVersionNoDesc(fishingBoat.getFbKey()).orElse(null); for(Violation violation: violationList){ violation.setFbKey(fishingBoat.getFbKey()); violation.setViolationKey(i++); + } + violationRepository.saveAll(violationList); + } + } + + if(!crackdownStatus.getStatus().equals("DST001")) { + CrackdownStatusVersion crackdownStatusVersion = new CrackdownStatusVersion(); + BeanUtils.copyProperties(crackdownStatus, crackdownStatusVersion); + crackdownStatusVersion.setVersionNo(1); + crackdownStatusVersionRepository.save(crackdownStatusVersion); + FishingBoatVersion fishingBoatVersion = new FishingBoatVersion(); + BeanUtils.copyProperties(fishingBoat, fishingBoatVersion); + fishingBoatVersion.setVersionNo(1); + fishingBoatVersionRepository.save(fishingBoatVersion); + + List violationVersionList = new ArrayList<>(); + ViolationVersion lastViolationVersion = violationVersionRepository.findTop1ByFbKeyOrderByVersionNoDesc(fishingBoat.getFbKey()).orElse(null); + if(violationList!=null){ + for(Violation violation: violationList){ ViolationVersion violationVersion = new ViolationVersion(); BeanUtils.copyProperties(violation, violationVersion); violationVersion.setVersionNo(lastViolationVersion.getVersionNo()+1); violationVersionList.add(violationVersion); } - violationRepository.saveAll(violationList); violationVersionRepository.saveAll(violationVersionList); } + ProcessResultVersion processResultVersion = new ProcessResultVersion(); + BeanUtils.copyProperties(processResult, processResultVersion); + processResultVersion.setVersionNo(1); + processResultVersionRepository.save(processResultVersion); + if(sailorList != null){ + for(Sailor sailor: sailorList){ + sailor.setFbKey(fbKey); + + SailorVersion sailorVersion = new SailorVersion(); + + Integer sailorKey = sailorRepository.save(sailor).getSailorKey(); + + BeanUtils.copyProperties(sailor, sailorVersion); + sailorVersion.setVersionNo(1); + sailorVersion.setSailorKey(sailorKey); + Integer versionNo = sailorVersionRepository.save(sailorVersion).getVersionNo(); + if(sailor.getPosition().equals("POS001")){ + //선장은 사진이 같이 업로드 됨. + if(sailorFiles!= null && sailorFiles.size()>0) { + saveCaptainPhoto(sailorKey, versionNo, sailorFiles); + } + } + } + } } return cdsKey; } @@ -185,37 +203,7 @@ public class FishingBoatService extends BaseService { } public FileInfo selectSailorFile(Integer sailorKey, Integer fileSeq) { - return captionPhotoFileRepository.findById(new CaptinPhotoFile.CaptinPhotoFileId(sailorKey, fileSeq)).orElse(null); - } - - private CrackdownStatus setWriteInfo(CrackdownStatus crackdownStatus){ - FishingBoat fishingBoat = crackdownStatus.getFishingBoat(); - fishingBoat.setWrtDt(LocalDateTime.now()); - - crackdownStatus.setWrtOrgan(fishingBoat.getWrtOrgan()); - crackdownStatus.setWrtPart(fishingBoat.getWrtPart()); - crackdownStatus.setWrtUserSeq(fishingBoat.getWrtUserSeq()); - crackdownStatus.setWrtUserNm(fishingBoat.getWrtUserNm()); - crackdownStatus.setWrtUserGrd(fishingBoat.getWrtUserGrd()); - crackdownStatus.setWrtDt(LocalDateTime.now()); - - crackdownStatus.getProcessResult().setWrtOrgan(fishingBoat.getWrtOrgan()); - crackdownStatus.getProcessResult().setWrtPart(fishingBoat.getWrtPart()); - crackdownStatus.getProcessResult().setWrtUserSeq(fishingBoat.getWrtUserSeq()); - crackdownStatus.getProcessResult().setWrtUserNm(fishingBoat.getWrtUserNm()); - crackdownStatus.getProcessResult().setWrtUserGrd(fishingBoat.getWrtUserGrd()); - crackdownStatus.getProcessResult().setWrtDt(LocalDateTime.now()); - if(crackdownStatus.getSailorList()!=null){ - for(Sailor sailor: crackdownStatus.getSailorList()){ - sailor.setWrtOrgan(fishingBoat.getWrtOrgan()); - sailor.setWrtPart(fishingBoat.getWrtPart()); - sailor.setWrtUserSeq(fishingBoat.getWrtUserSeq()); - sailor.setWrtUserNm(fishingBoat.getWrtUserNm()); - sailor.setWrtUserGrd(fishingBoat.getWrtUserGrd()); - sailor.setWrtDt(LocalDateTime.now()); - } - } - return crackdownStatus; + return sailorFileRepository.findById(new SailorFile.SailorFileId(sailorKey, fileSeq)).orElse(null); } private void saveCaptainPhoto(Integer sailorKey, Integer versionNo, List fileList){ @@ -227,7 +215,7 @@ public class FishingBoatService extends BaseService { String originalFilename = file.getOriginalFilename(); int extnIdx = originalFilename.lastIndexOf("."); - CaptinPhotoFile fileInfo = new CaptinPhotoFile(); + SailorFile fileInfo = new SailorFile(); fileInfo.setSailorKey(sailorKey); fileInfo.setFileSeq(fileSeq++); fileInfo.setOrigNm(originalFilename.substring(0, extnIdx)); @@ -235,11 +223,24 @@ public class FishingBoatService extends BaseService { fileInfo.setConvNm(saveName); fileInfo.setFileSize(calculationSize(file.getSize())); fileInfo.setSavePath(path); - CaptinPhotoVersion versionInfo = new CaptinPhotoVersion(); + SailorFileVersion versionInfo = new SailorFileVersion(); BeanUtils.copyProperties(fileInfo, versionInfo); versionInfo.setVersionNo(versionNo); - captionPhotoFileRepository.save(fileInfo); - captionPhotoVersionRepository.save(versionInfo); + sailorFileRepository.save(fileInfo); + sailorFileVersionRepository.save(versionInfo); } } + + public int saveFishingBoatOnly(int cdsKey, FishingBoat fishingBoat) { + fishingBoat.setCdsKey(cdsKey); + int fbKey = fishingBoatRepository.save(fishingBoat).getFbKey(); + if(!fishingBoat.getStatus().equals("DST001")){ + FishingBoatVersion lastVersion = fishingBoatVersionRepository.findTop1ByFbKeyOrderByVersionNoDesc(fbKey).orElse(null); + FishingBoatVersion fishingBoatVersion = new FishingBoatVersion(); + BeanUtils.copyProperties(fishingBoat, fishingBoatVersion); + fishingBoatVersion.setVersionNo(lastVersion==null?1:(lastVersion.getVersionNo()+1)); + fishingBoatVersionRepository.save(fishingBoatVersion); + } + return fbKey; + } } 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 977ec9dd..fee02111 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 @@ -22,58 +22,58 @@ import java.util.List; @RequiredArgsConstructor public class ProcessResultService extends BaseService { - private final ProcessResultMapper processResultMapper; - private final CrackdownStatusRepository crackdownStatusRepository; - private final FishingBoatRepository fishingBoatRepository; - private final ViolationRepository violationRepository; - private final ProcessResultRepository processResultRepository; - private final ProcessResultVersionRepository processResultVersionRepository; + private final ProcessResultMapper processResultMapper; + private final CrackdownStatusRepository crackdownStatusRepository; + 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); + public List selectProcessResultList(ProcessResult processResult) { + return processResultMapper.selectProcessResultList(processResult); + } + + public Integer selectProcessResultListCnt(ProcessResult processResult) { + return processResultMapper.selectProcessResultListCnt(processResult); + } + + public ProcessResult selectProcessResult(Integer prKey) { + 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) { + violationRepository.deleteAllByIdInQuery(processResult.getCrackdownStatus().getViolationDeleteKeyList()); } - public Integer selectProcessResultListCnt(ProcessResult processResult) { - return processResultMapper.selectProcessResultListCnt(processResult); + if (processResult.getExecutionDetailEtc() != null) { + processResult.setExecutionDetail(processResult.getExecutionDetailEtc()); } - public ProcessResult selectProcessResult(Integer prKey) { - return processResultRepository.findById(prKey).orElse(null); + Integer prKey = 0; + ProcessResult existingProcessResult = processResultRepository.findByPrKey(processResult.getPrKey()).orElse(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); } - 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) { - violationRepository.deleteAllByIdInQuery(processResult.getCrackdownStatus().getViolationDeleteKeyList()); - } - - if (processResult.getExecutionDetailEtc() != null) { - processResult.setExecutionDetail(processResult.getExecutionDetailEtc()); - } - - Integer prKey = 0; - ProcessResult existingProcessResult = processResultRepository.findByPrKey(processResult.getPrKey()).orElse(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()); @@ -107,17 +107,29 @@ 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); + 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); + } + + public void saveProcessResultOnly(int cdsKey, ProcessResult processResult) { + processResult.setCdsKey(cdsKey); + int prKey = processResultRepository.save(processResult).getPrKey(); + if(!processResult.getStatus().equals("DST001")){ + ProcessResultVersion lastVersion = processResultVersionRepository.findTopByPrKeyOrderByVersionNoDesc(prKey).orElse(null); + ProcessResultVersion processResultVersion = new ProcessResultVersion(); + BeanUtils.copyProperties(processResult, processResultVersion); + processResultVersion.setVersionNo(lastVersion==null?1:(lastVersion.getVersionNo()+1)); + 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 fccdc058..a06ea725 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,6 +3,8 @@ 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.SailorFile; +import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.SailorFileVersion; 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; @@ -14,99 +16,145 @@ import lombok.RequiredArgsConstructor; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import org.springframework.web.multipart.MultipartFile; +import java.io.File; import java.util.List; +import java.util.UUID; @Service @RequiredArgsConstructor public class SailorService extends BaseService { - private final SailorMapper sailorMapper; - private final CrackdownStatusRepository crackdownStatusRepository; - private final FishingBoatRepository fishingBoatRepository; - private final ViolationRepository violationRepository; - private final ProcessResultRepository processResultRepository; - private final SailorRepository sailorRepository; - private final SailorVersionRepository sailorVersionRepository; + private final SailorMapper sailorMapper; + private final CrackdownStatusRepository crackdownStatusRepository; + private final FishingBoatRepository fishingBoatRepository; + private final ViolationRepository violationRepository; + private final SailorRepository sailorRepository; + private final SailorVersionRepository sailorVersionRepository; + private final SailorFileRepository sailorFileRepository; + private final SailorFileVersionRepository sailorFileVersionRepository; - public List selectSailorList(Sailor sailor) { - return sailorMapper.selectSailorList(sailor); + public List selectSailorList(Sailor sailor) { + return sailorMapper.selectSailorList(sailor); + } + + public Sailor selectSailor(Integer sailorKey) { + return sailorRepository.findById(sailorKey).orElse(null); + } + + public List selectSailorVersionList(Integer sailorKey) { + return sailorVersionRepository.findBySailorKey(sailorKey); + } + + public SailorVersion selectSailorVersion(Integer versionNo, Integer sailorKey) { + return sailorVersionRepository.findByVersionNoAndSailorKey(versionNo, sailorKey); + } + + @Transactional + public Integer saveSailor(Sailor sailor) { + if (sailor.getCrackdownStatus().getViolationDeleteKeyList() != null) { + violationRepository.deleteAllByIdInQuery(sailor.getCrackdownStatus().getViolationDeleteKeyList()); + } + Integer sailorKey = 0; + Sailor existingSailor = sailorRepository.findBySailorKey(sailor.getSailorKey()); + + if (existingSailor != null) { + Utils.copyNonNullProperties(sailor, existingSailor); + existingSailor.setViolationList(null); + sailorKey = sailorRepository.save(existingSailor).getSailorKey(); + saveSailorVersion(existingSailor); + } else { + sailorKey = sailorRepository.save(sailor).getSailorKey(); + saveSailorVersion(sailor); } - public Sailor selectSailor(Integer sailorKey) { - return sailorRepository.findById(sailorKey).orElse(null); + if (sailor.getCrackdownStatus() != null) { + if (sailor.getCrackdownStatus().getCrackdownPoliceEtc() != null) { + sailor.getCrackdownStatus().setCrackdownPolice(sailor.getCrackdownStatus().getCrackdownPoliceEtc()); + } + + CrackdownStatus existingCrackdownStatus = crackdownStatusRepository.findByCdsKey(sailor.getCrackdownStatus().getCdsKey()).orElse(null); + Utils.copyNonNullProperties(sailor, existingCrackdownStatus); + sailor.setCrackdownStatus(crackdownStatusRepository.save(existingCrackdownStatus)); } - public List selectSailorVersionList(Integer sailorKey) { - return sailorVersionRepository.findBySailorKey(sailorKey); + if (sailor.getFishingBoat() != null) { + FishingBoat existingFishingBoat = fishingBoatRepository.findByCdsKey(sailor.getCrackdownStatus().getCdsKey()).orElse(null); + Utils.copyNonNullProperties(sailor, existingFishingBoat); + fishingBoatRepository.save(existingFishingBoat); } - public SailorVersion selectSailorVersion(Integer versionNo, Integer sailorKey) { - return sailorVersionRepository.findByVersionNoAndSailorKey(versionNo, sailorKey); - } + if (sailor.getViolationList() != null && sailor.getViolationList().get(0).getViolation() != null) { + Violation lastViolation = violationRepository.findTopByFbKeyOrderByViolationKeyDesc(sailor.getCrackdownStatus().getFbKey()).orElse(null); + int violationKey = lastViolation==null?1:(lastViolation.getViolationKey()+1); - @Transactional - public Integer saveSailor(Sailor sailor) { - if (sailor.getCrackdownStatus().getViolationDeleteKeyList() != null) { - violationRepository.deleteAllByIdInQuery(sailor.getCrackdownStatus().getViolationDeleteKeyList()); + for(Violation violation: sailor.getViolationList()){ + if (violation.getViolationEtc() != null) { + violation.setViolation(violation.getViolationEtc()); } - Integer sailorKey = 0; - Sailor existingSailor = sailorRepository.findBySailorKey(sailor.getSailorKey()); - - if (existingSailor != null) { - Utils.copyNonNullProperties(sailor, existingSailor); - existingSailor.setViolationList(null); - sailorKey = sailorRepository.save(existingSailor).getSailorKey(); - saveSailorVersion(existingSailor); - } else { - sailorKey = sailorRepository.save(sailor).getSailorKey(); - saveSailorVersion(sailor); + violation.setFbKey(sailor.getFishingBoat().getFbKey()); + if (violation.getViolationKey() == null) { + violation.setViolationKey(violationKey); + violationKey++; } - - if (sailor.getCrackdownStatus() != null) { - if (sailor.getCrackdownStatus().getCrackdownPoliceEtc() != null) { - sailor.getCrackdownStatus().setCrackdownPolice(sailor.getCrackdownStatus().getCrackdownPoliceEtc()); - } - - CrackdownStatus existingCrackdownStatus = crackdownStatusRepository.findByCdsKey(sailor.getCrackdownStatus().getCdsKey()).orElse(null); - Utils.copyNonNullProperties(sailor, existingCrackdownStatus); - sailor.setCrackdownStatus(crackdownStatusRepository.save(existingCrackdownStatus)); - } - - if (sailor.getFishingBoat() != null) { - FishingBoat existingFishingBoat = fishingBoatRepository.findByCdsKey(sailor.getCrackdownStatus().getCdsKey()).orElse(null); - Utils.copyNonNullProperties(sailor, existingFishingBoat); - fishingBoatRepository.save(existingFishingBoat); - } - - if (sailor.getViolationList() != null && sailor.getViolationList().get(0).getViolation() != null) { - Violation lastViolation = violationRepository.findTopByFbKeyOrderByViolationKeyDesc(sailor.getCrackdownStatus().getFbKey()).orElse(null); - int violationKey = lastViolation==null?1:(lastViolation.getViolationKey()+1); - - for(Violation violation: sailor.getViolationList()){ - if (violation.getViolationEtc() != null) { - violation.setViolation(violation.getViolationEtc()); - } - violation.setFbKey(sailor.getFishingBoat().getFbKey()); - if (violation.getViolationKey() == null) { - violation.setViolationKey(violationKey); - violationKey++; - } - } - violationRepository.saveAll(sailor.getViolationList()); - } - - return sailorKey; + } + violationRepository.saveAll(sailor.getViolationList()); } - public void saveSailorVersion(Sailor sailor) { - SailorVersion lastVersion = sailorVersionRepository.findTopBySailorKeyOrderByVersionNoDesc(sailor.getSailorKey()).orElse(null); - int versionNo = lastVersion==null?1:(lastVersion.getVersionNo()+1); + return sailorKey; + } - SailorVersion sailorVersion = new SailorVersion(); - BeanUtils.copyProperties(sailor, sailorVersion); - sailorVersion.setVersionNo(versionNo); + public void saveSailorVersion(Sailor sailor) { + SailorVersion lastVersion = sailorVersionRepository.findTopBySailorKeyOrderByVersionNoDesc(sailor.getSailorKey()).orElse(null); + int versionNo = lastVersion==null?1:(lastVersion.getVersionNo()+1); - sailorVersionRepository.save(sailorVersion); + SailorVersion sailorVersion = new SailorVersion(); + BeanUtils.copyProperties(sailor, sailorVersion); + sailorVersion.setVersionNo(versionNo); + + sailorVersionRepository.save(sailorVersion); + } + + public void saveSailorOnly(int fbKey, Sailor sailor, List sailorFileList) { + sailor.setFbKey(fbKey); + int sailorKey = sailorRepository.save(sailor).getSailorKey(); + Integer versionNo = null; + if(!sailor.getStatus().equals("DST001")){ + SailorVersion lastVersion = sailorVersionRepository.findTopBySailorKeyOrderByVersionNoDesc(sailorKey).orElse(null); + SailorVersion sailorVersion = new SailorVersion(); + BeanUtils.copyProperties(sailor, sailorVersion); + sailorVersion.setVersionNo(lastVersion==null?1:(lastVersion.getVersionNo())); + versionNo = sailorVersionRepository.save(sailorVersion).getVersionNo(); } + if(sailorFileList!=null){ + saveSailorFile(sailorKey, versionNo, sailorFileList); + } + } + private void saveSailorFile(Integer sailorKey, Integer versionNo, List fileList){ + int fileSeq = 1; + for(MultipartFile file : fileList){ + String saveName = UUID.randomUUID().toString(); + String path = locationPath+ File.separator+sailorPath; + saveFile(file, new File(path+File.separator+saveName)); + + String originalFilename = file.getOriginalFilename(); + int extnIdx = originalFilename.lastIndexOf("."); + SailorFile fileInfo = new SailorFile(); + fileInfo.setSailorKey(sailorKey); + fileInfo.setFileSeq(fileSeq++); + fileInfo.setOrigNm(originalFilename.substring(0, extnIdx)); + fileInfo.setFileExtn(originalFilename.substring(extnIdx+1)); + fileInfo.setConvNm(saveName); + fileInfo.setFileSize(calculationSize(file.getSize())); + fileInfo.setSavePath(path); + sailorFileRepository.save(fileInfo); + if(versionNo!=null){ + SailorFileVersion versionInfo = new SailorFileVersion(); + BeanUtils.copyProperties(fileInfo, versionInfo); + versionInfo.setVersionNo(versionNo); + sailorFileVersionRepository.save(versionInfo); + } + } + } } diff --git a/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/service/UnlawfulFishingService.java b/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/service/UnlawfulFishingService.java new file mode 100644 index 00000000..d9b83555 --- /dev/null +++ b/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/service/UnlawfulFishingService.java @@ -0,0 +1,68 @@ +package com.dbnt.faisp.main.faStatistics.crackdownsStatus.service; + +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 lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.time.LocalDateTime; + +@Service +@RequiredArgsConstructor +public class UnlawfulFishingService { + private final CrackdownStatusService crackdownStatusService; + private final FishingBoatService fishingBoatService; + private final ProcessResultService processResultService; + private final SailorService sailorService; + + @Transactional + public Integer saveUnlawfulFishing(CrackdownStatus crackdownStatus){ + crackdownStatus = setWriteInfo(crackdownStatus); + int cdsKey = crackdownStatusService.saveCrackdownStatusOnly(crackdownStatus); + int fbKey = fishingBoatService.saveFishingBoatOnly(cdsKey, crackdownStatus.getFishingBoat()); + processResultService.saveProcessResultOnly(cdsKey, crackdownStatus.getProcessResult()); + for(Sailor sailor: crackdownStatus.getSailorList()){ + if(sailor.getPosition().equals("POS001")){ + sailorService.saveSailorOnly(fbKey, sailor, crackdownStatus.getSailorFileList()); + }else{ + sailorService.saveSailorOnly(fbKey, sailor, null); + } + } + return cdsKey; + } + + private CrackdownStatus setWriteInfo(CrackdownStatus crackdownStatus){ + FishingBoat fishingBoat = crackdownStatus.getFishingBoat(); + fishingBoat.setWrtDt(LocalDateTime.now()); + + crackdownStatus.setWrtOrgan(fishingBoat.getWrtOrgan()); + crackdownStatus.setWrtPart(fishingBoat.getWrtPart()); + crackdownStatus.setWrtUserSeq(fishingBoat.getWrtUserSeq()); + crackdownStatus.setWrtUserNm(fishingBoat.getWrtUserNm()); + crackdownStatus.setWrtUserGrd(fishingBoat.getWrtUserGrd()); + crackdownStatus.setWrtDt(LocalDateTime.now()); + crackdownStatus.setStatus(fishingBoat.getStatus()); + + crackdownStatus.getProcessResult().setWrtOrgan(fishingBoat.getWrtOrgan()); + crackdownStatus.getProcessResult().setWrtPart(fishingBoat.getWrtPart()); + crackdownStatus.getProcessResult().setWrtUserSeq(fishingBoat.getWrtUserSeq()); + crackdownStatus.getProcessResult().setWrtUserNm(fishingBoat.getWrtUserNm()); + crackdownStatus.getProcessResult().setWrtUserGrd(fishingBoat.getWrtUserGrd()); + crackdownStatus.getProcessResult().setWrtDt(LocalDateTime.now()); + crackdownStatus.getProcessResult().setStatus(fishingBoat.getStatus()); + if(crackdownStatus.getSailorList()!=null){ + for(Sailor sailor: crackdownStatus.getSailorList()){ + sailor.setWrtOrgan(fishingBoat.getWrtOrgan()); + sailor.setWrtPart(fishingBoat.getWrtPart()); + sailor.setWrtUserSeq(fishingBoat.getWrtUserSeq()); + sailor.setWrtUserNm(fishingBoat.getWrtUserNm()); + sailor.setWrtUserGrd(fishingBoat.getWrtUserGrd()); + sailor.setWrtDt(LocalDateTime.now()); + sailor.setStatus(fishingBoat.getStatus()); + } + } + return crackdownStatus; + } +} diff --git a/src/main/resources/static/js/igActivities/fpiMgt/result/resultMgt.js b/src/main/resources/static/js/igActivities/fpiMgt/result/resultMgt.js index 72c03352..aeb61ea6 100644 --- a/src/main/resources/static/js/igActivities/fpiMgt/result/resultMgt.js +++ b/src/main/resources/static/js/igActivities/fpiMgt/result/resultMgt.js @@ -61,7 +61,9 @@ $(document).on('click', '#affairModalBtn', function (){ url: '/affairResult/affairListModal', data: { startDate: workStartDt, - endDate: workEndDt + endDate: workEndDt, + affairCategory:"CAT215", + affairStatus:"DST006" }, type: 'GET', dataType:"html", diff --git a/src/main/resources/templates/igActivities/fpiMgt/affairResult/affairListModal.html b/src/main/resources/templates/igActivities/fpiMgt/affairResult/affairListModal.html index 4c7bac98..fa24621a 100644 --- a/src/main/resources/templates/igActivities/fpiMgt/affairResult/affairListModal.html +++ b/src/main/resources/templates/igActivities/fpiMgt/affairResult/affairListModal.html @@ -42,12 +42,16 @@ + - - - + + + + + +