From d4a1a8bb152d2d794341092efb2eb6d865f0df2e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B0=95=EC=84=9D=20=EC=B5=9C?= Date: Tue, 8 Nov 2022 18:55:26 +0900 Subject: [PATCH] =?UTF-8?q?=EC=96=B4=EC=84=A0=EC=A0=95=EB=B3=B4=20?= =?UTF-8?q?=ED=8E=98=EC=9D=B4=EC=A7=80=20=EC=9E=91=EC=97=85=EC=A4=91.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../FishingBoatController.java | 23 +++---- .../ViolationVersionRepository.java | 4 +- .../service/FishingBoatService.java | 65 +++++++++++++++++-- .../static/js/faStatistics/fishingBoatMgt.js | 7 +- .../static/js/publicBoard/publicBoard.js | 4 +- .../fishingBoat/fishingBoatEditModal.html | 8 +-- .../fishingBoat/fishingBoatMgt.html | 2 +- .../resources/templates/layout/layout.html | 4 ++ .../publicBoard/notice/noticeEditModal.html | 4 ++ 9 files changed, 90 insertions(+), 31 deletions(-) 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 7ede4a0e..71c431d6 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 @@ -16,6 +16,7 @@ import org.springframework.web.bind.annotation.RestController; import org.springframework.web.servlet.ModelAndView; import java.time.LocalDateTime; +import java.util.List; @RestController @RequiredArgsConstructor @@ -27,28 +28,20 @@ public class FishingBoatController { private final CodeMgtService codeMgtService; @RequestMapping("/fishingBoat") - public ModelAndView fishingBoat(@AuthenticationPrincipal UserInfo loginUser, FishingBoat fishingBoat) { + public ModelAndView fishingBoat(@AuthenticationPrincipal UserInfo loginUser, CrackdownStatus crackdownStatus) { ModelAndView mav = new ModelAndView("faStatistics/fishingBoat/fishingBoatMgt"); //메뉴권한 확인 String accessAuth = authMgtService.selectAccessConfigList(loginUser.getUserSeq(), "/faStatistics/fishingBoat").get(0).getAccessAuth(); - mav.addObject("accessAuth", accessAuth); - fishingBoat.setQueryInfo(); - /*List processResultList = processResultService.selectProcessResultList(fishingBoat); + crackdownStatus.setQueryInfo(); + List crackdownStatusList = fishingBoatService.selectCrackdownStatusList(crackdownStatus); - for (ProcessResult pr:processResultList) { - pr.setCrackdownStatus(crackdownStatusRepository.findByCdsKey(pr.getCdsKey())); - pr.setFishingBoat(fishingBoatRepository.findByCdsKey(pr.getCdsKey())); - pr.setViolationList(violationRepository.findByFbKey(pr.getFishingBoat().getFbKey())); - } - - mav.addObject("processResultList", processResultList); - fishingBoat.setContentCnt(processResultService.selectProcessResultListCnt(fishingBoat)); - */ - fishingBoat.setPaginationInfo(); - mav.addObject("searchParams", fishingBoat); + mav.addObject("crackdownStatusList", crackdownStatusList); + crackdownStatus.setContentCnt(fishingBoatService.selectCrackdownStatusListCnt(crackdownStatus)); + crackdownStatus.setPaginationInfo(); + mav.addObject("searchParams", crackdownStatus); return mav; } 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 index 1b4bf710..1aa4e47c 100644 --- 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 @@ -3,6 +3,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 { +import java.util.Optional; +public interface ViolationVersionRepository extends JpaRepository { + Optional findTop1ByFbKeyOrderByVersionNoDesc(Integer fbKey); } 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 00de7965..fac341bc 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 @@ -8,15 +8,18 @@ import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.crackdownStatus.C 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.fishingBoat.ViolationVersion; 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.fasterxml.jackson.databind.util.BeanUtil; import lombok.RequiredArgsConstructor; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import java.util.ArrayList; import java.util.List; @Service @@ -31,8 +34,16 @@ public class FishingBoatService extends BaseService { private final ViolationRepository violationRepository; private final ViolationVersionRepository violationVersionRepository; private final ProcessResultRepository processResultRepository; + private final ProcessResultVersionRepository processResultVersionRepository; private final SailorRepository sailorRepository; + private final SailorVersionRepository sailorVersionRepository; + public List selectCrackdownStatusList(CrackdownStatus crackdownStatus){ + return crackdownStatusMapper.selectCrackdownStatusList(crackdownStatus); + } + public Integer selectCrackdownStatusListCnt(CrackdownStatus crackdownStatus){ + return crackdownStatusMapper.selectCrackdownStatusListCnt(crackdownStatus); + } public CrackdownStatus selectCrackdownStatus(Integer cdsKey) { CrackdownStatus crackdownStatus = crackdownStatusRepository.findById(cdsKey).orElse(null); crackdownStatus.setFishingBoat(fishingBoatRepository.findByCdsKey(cdsKey).orElse(new FishingBoat())); @@ -52,10 +63,13 @@ public class FishingBoatService extends BaseService { Integer cdsKey, fbKey; if (crackdownStatus.getCdsKey()==null || crackdownStatus.getCdsKey().equals(0)){ // 최초 등록시 단속현황, 처리현황, 선원정보를 같이 등록. + // 단속현황, 단속현황버전 저장. 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(); @@ -63,28 +77,69 @@ public class FishingBoatService extends BaseService { BeanUtils.copyProperties(fishingBoat, fishingBoatVersion); fishingBoatVersion.setVersionNo(1); fishingBoatVersionRepository.save(fishingBoatVersion); + // 위반사항, 위반사항버전 저장. List violationList = crackdownStatus.getViolationList(); + List violationVersionList = new ArrayList<>(); int i = 1; 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); + // 선원정보, 선원정보버전 저장. List sailorList = crackdownStatus.getSailorList(); + List sailorVersionList = new ArrayList<>(); i = 1; for(Sailor sailor: sailorList){ sailor.setSailorKey(i++); sailor.setFbKey(fbKey); + + SailorVersion sailorVersion = new SailorVersion(); + BeanUtils.copyProperties(sailor, sailorVersion); + sailorVersion.setVersionNo(1); + sailorVersionList.add(sailorVersion); } sailorRepository.saveAll(sailorList); + sailorVersionRepository.saveAll(sailorVersionList); }else{ // 업데이트시에는 어선정보만 수정. cdsKey = crackdownStatus.getCdsKey(); - FishingBoatVersion lastVersion = fishingBoatVersionRepository.findTop1ByFbKeyOrderByVersionNoDesc(crackdownStatus.getFishingBoat().getFbKey()).orElse(null); - int versionNo = lastVersion.getVersionNo(); + FishingBoat fishingBoat = crackdownStatus.getFishingBoat(); FishingBoatVersion newInfo = new FishingBoatVersion(); - - fbKey = fishingBoatRepository.save(crackdownStatus.getFishingBoat()).getFbKey(); + BeanUtils.copyProperties(fishingBoat, newInfo); + FishingBoatVersion lastFishingBoatVersion = fishingBoatVersionRepository.findTop1ByFbKeyOrderByVersionNoDesc(crackdownStatus.getFishingBoat().getFbKey()).orElse(null); + newInfo.setVersionNo(lastFishingBoatVersion.getVersionNo()+1); + fishingBoatRepository.save(fishingBoat); + fishingBoatVersionRepository.save(newInfo); + // 위반사항 + List violationList = crackdownStatus.getViolationList(); + List violationVersionList = new ArrayList<>(); + int i=1; + ViolationVersion lastViolationVersion = violationVersionRepository.findTop1ByFbKeyOrderByVersionNoDesc(fishingBoat.getFbKey()).orElse(null); + for(Violation violation: violationList){ + violation.setViolationKey(i); + ViolationVersion violationVersion = new ViolationVersion(); + BeanUtils.copyProperties(violation, violationVersion); + violationVersion.setVersionNo(lastViolationVersion.getVersionNo()+1); + violationVersionList.add(violationVersion); + } + violationRepository.saveAll(violationList); + violationVersionRepository.saveAll(violationVersionList); } return cdsKey; } diff --git a/src/main/resources/static/js/faStatistics/fishingBoatMgt.js b/src/main/resources/static/js/faStatistics/fishingBoatMgt.js index fd5b2070..ff08edf9 100644 --- a/src/main/resources/static/js/faStatistics/fishingBoatMgt.js +++ b/src/main/resources/static/js/faStatistics/fishingBoatMgt.js @@ -125,11 +125,12 @@ function getFishingBoatEditModal(cdsKey){ }); $(".dateTimeSelector").datetimepicker({ format:'Y-m-d H:i', - lang:'kr' + lang:'kr', + step:20 }); $(".timeSelector").datetimepicker({ datepicker:false, - format:'H:i', + format:'H시간i분', lang:'kr', step:20 }); @@ -231,7 +232,7 @@ function saveFishingBoatInfo(saveYn){ success : function() { alert("저장되었습니다."); contentFade("out"); - // location.reload(); + location.reload(); }, error : function(xhr, status) { alert("저장에 실패하였습니다."); diff --git a/src/main/resources/static/js/publicBoard/publicBoard.js b/src/main/resources/static/js/publicBoard/publicBoard.js index c1743607..6ca9145f 100644 --- a/src/main/resources/static/js/publicBoard/publicBoard.js +++ b/src/main/resources/static/js/publicBoard/publicBoard.js @@ -81,7 +81,7 @@ function getEditModal(publicKey, publicType){ dataType:"html", success: function(html){ $("#editContent").empty().append(html) - $("#content").summernote({ + /*$("#content").summernote({ lang:'ko-KR', height: 350, disableDragAndDrop: true, @@ -92,7 +92,7 @@ function getEditModal(publicKey, publicType){ ['para', ['ul', 'ol', 'paragraph']], ['table', ['table']] ] - }); + });*/ setUploadDiv(); $("#editModal").modal('show'); }, diff --git a/src/main/resources/templates/faStatistics/fishingBoat/fishingBoatEditModal.html b/src/main/resources/templates/faStatistics/fishingBoat/fishingBoatEditModal.html index 6f3f1ad9..7ef3c9ac 100644 --- a/src/main/resources/templates/faStatistics/fishingBoat/fishingBoatEditModal.html +++ b/src/main/resources/templates/faStatistics/fishingBoat/fishingBoatEditModal.html @@ -351,6 +351,8 @@ + +
-
-
+
+
@@ -376,8 +378,6 @@
- -
diff --git a/src/main/resources/templates/faStatistics/fishingBoat/fishingBoatMgt.html b/src/main/resources/templates/faStatistics/fishingBoat/fishingBoatMgt.html index d0b4f2a5..5517b947 100644 --- a/src/main/resources/templates/faStatistics/fishingBoat/fishingBoatMgt.html +++ b/src/main/resources/templates/faStatistics/fishingBoat/fishingBoatMgt.html @@ -125,7 +125,7 @@ 나포일시 나포해점 - 사건담당
경찰서 + 사건담당기관 단속경찰서 단속함정 선명 diff --git a/src/main/resources/templates/layout/layout.html b/src/main/resources/templates/layout/layout.html index dc2e4b5a..6d80b250 100644 --- a/src/main/resources/templates/layout/layout.html +++ b/src/main/resources/templates/layout/layout.html @@ -5,6 +5,7 @@ xmlns:sec="http://www.thymeleaf.org/thymeleaf-extras-springsecurity5"> + 해양경찰청 외사종합포털 @@ -34,6 +35,9 @@ + + + diff --git a/src/main/resources/templates/publicBoard/notice/noticeEditModal.html b/src/main/resources/templates/publicBoard/notice/noticeEditModal.html index 136dc971..ef654aad 100644 --- a/src/main/resources/templates/publicBoard/notice/noticeEditModal.html +++ b/src/main/resources/templates/publicBoard/notice/noticeEditModal.html @@ -43,6 +43,10 @@
+