From f9c3b203ceac212d6a5d5e866f80d4e32d75ca0a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B0=95=EC=84=9D=20=EC=B5=9C?= Date: Thu, 8 Jun 2023 18:28:20 +0900 Subject: [PATCH] =?UTF-8?q?=EB=B6=88=EB=B2=95=EC=A1=B0=EC=97=85=20?= =?UTF-8?q?=EB=8B=A8=EC=86=8D=ED=98=84=ED=99=A9=20=EC=9E=91=EC=97=85?= =?UTF-8?q?=EC=A4=91.=20=ED=95=B4=EA=B3=A0/=EC=97=B0=EC=9E=A5=EB=B3=B4?= =?UTF-8?q?=EA=B3=A0=20=EC=A0=95=EB=B3=B4=ED=98=91=EB=A0=A5=EC=9E=90=20?= =?UTF-8?q?=EB=B6=88=EB=9F=AC=EC=98=A4=EA=B8=B0=20=EC=9A=94=EC=B2=AD?= =?UTF-8?q?=EC=82=AC=ED=95=AD=20=EB=B0=98=EC=98=81.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../InternationalCrimeArrestController.java | 1 + .../UnlawfulFishingController.java | 34 +- .../repository/CrackdownInfoRepository.java | 6 + .../repository/ViolationInfoRepository.java | 3 +- .../service/UnlawfulFishingService.java | 16 +- .../IntelligenceNetworkController.java | 4 + .../unlawfulFishing/crackdownInfo.js | 56 +- .../fireExtensionReport.js | 2 +- .../crackdownInfo/cdiSelectModal.html | 275 +++++----- .../crackdownInfo/cdiViewModal.html | 486 +++--------------- .../crackdownInfo/crackdownInfoPage.html | 37 +- .../fireExtensionReportEditModal.html | 2 +- 12 files changed, 355 insertions(+), 567 deletions(-) diff --git a/src/main/java/com/dbnt/faisp/main/faStatistics/internationalCrimeArrest/InternationalCrimeArrestController.java b/src/main/java/com/dbnt/faisp/main/faStatistics/internationalCrimeArrest/InternationalCrimeArrestController.java index ee5ea953..e27dd833 100644 --- a/src/main/java/com/dbnt/faisp/main/faStatistics/internationalCrimeArrest/InternationalCrimeArrestController.java +++ b/src/main/java/com/dbnt/faisp/main/faStatistics/internationalCrimeArrest/InternationalCrimeArrestController.java @@ -121,6 +121,7 @@ public class InternationalCrimeArrestController { internationalCrimeArrest.setWrtUserSeq(loginUser.getUserSeq()); return internationalCrimeArrestService.savedInternationalCrimeArrest(internationalCrimeArrest); } + @PostMapping("/deleteInternationalCrimeArrest") public void deleteInternationalCrimeArrest(@RequestBody InternationalCrimeArrest internationalCrimeArrest){ internationalCrimeArrestService.deleteInternationalCrimeArrest(internationalCrimeArrest); diff --git a/src/main/java/com/dbnt/faisp/main/faStatistics/unlawfulFishing/UnlawfulFishingController.java b/src/main/java/com/dbnt/faisp/main/faStatistics/unlawfulFishing/UnlawfulFishingController.java index 7171eb68..4129fbb2 100644 --- a/src/main/java/com/dbnt/faisp/main/faStatistics/unlawfulFishing/UnlawfulFishingController.java +++ b/src/main/java/com/dbnt/faisp/main/faStatistics/unlawfulFishing/UnlawfulFishingController.java @@ -11,10 +11,7 @@ import com.dbnt.faisp.main.faStatistics.unlawfulFishing.service.UnlawfulFishingS 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; @@ -61,17 +58,36 @@ public class UnlawfulFishingController { return mav; } + + @GetMapping("/cdiViewModal") + public ModelAndView crackdownInfoViewModal(@AuthenticationPrincipal UserInfo loginUser, CrackdownInfo crackdownInfo){ + ModelAndView mav = new ModelAndView("faStatistics/unlawfulFishing/crackdownInfo/cdiViewModal"); + mav.addObject("userSeq",loginUser.getUserSeq()); + mav.addObject("accessAuth", authMgtService.selectAccessConfigList(loginUser.getUserSeq(), "/unlawfulFishing/crackdownInfo").get(0).getAccessAuth()); + mav.addObject("mgtOrganList", loginUser.getDownOrganCdList()); + crackdownInfo = unlawfulFishingService.selectCrackdownInfo(crackdownInfo.getCdsKey()); + crackdownInfo.setCrackdownInfoHistoryList(unlawfulFishingService.selectCrackdownInfoHistoryList(crackdownInfo.getCdsKey())); + mav.addObject("crackdownInfo", crackdownInfo); + return mav; + } + @PostMapping("/saveCrackdownInfo") public Integer saveCrackdownInfo(CrackdownInfo crackdownInfo){ return unlawfulFishingService.saveCrackdownInfo(crackdownInfo); } - @GetMapping("/cdiSelectModal") - public ModelAndView crackdownInfoSelectModal(@AuthenticationPrincipal UserInfo loginUser, CrackdownInfo params){ - ModelAndView mav = new ModelAndView("faStatistics/unlawfulFishing/crackdownInfo/cdiSelectModal"); - List csDTOList = new ArrayList<>(); + @PostMapping("/deleteCrackdownInfo") + public void deleteCrackdownInfo(@RequestBody CrackdownInfo crackdownInfo){ + unlawfulFishingService.deleteCrackdownInfo(crackdownInfo.getCdsKey()); + } - mav.addObject("crackdownInfoList", csDTOList); + @GetMapping("/cdiSelectModal") + public ModelAndView crackdownInfoSelectModal(@AuthenticationPrincipal UserInfo loginUser, UnlawfulFishingParam params){ + ModelAndView mav = new ModelAndView("faStatistics/unlawfulFishing/crackdownInfo/cdiSelectModal"); + params.setQueryInfo(); + mav.addObject("crackdownInfoList", unlawfulFishingService.selectCrackdownInfoList(params)); + params.setContentCnt(unlawfulFishingService.selectCrackdownInfoListCnt(params)); + params.setPaginationInfo(); mav.addObject("searchParams", params); return mav; } diff --git a/src/main/java/com/dbnt/faisp/main/faStatistics/unlawfulFishing/repository/CrackdownInfoRepository.java b/src/main/java/com/dbnt/faisp/main/faStatistics/unlawfulFishing/repository/CrackdownInfoRepository.java index 41164a49..3a4a2e63 100644 --- a/src/main/java/com/dbnt/faisp/main/faStatistics/unlawfulFishing/repository/CrackdownInfoRepository.java +++ b/src/main/java/com/dbnt/faisp/main/faStatistics/unlawfulFishing/repository/CrackdownInfoRepository.java @@ -2,10 +2,16 @@ package com.dbnt.faisp.main.faStatistics.unlawfulFishing.repository; import com.dbnt.faisp.main.faStatistics.unlawfulFishing.model.crackdownStatus.CrackdownInfo; import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.data.jpa.repository.Modifying; +import org.springframework.data.jpa.repository.Query; import java.util.Optional; public interface CrackdownInfoRepository extends JpaRepository { Optional findByCdsKey(Integer cdsKey); Optional findTop1ByCaseNum(String caseNum); + + @Modifying(clearAutomatically = true) + @Query("update CrackdownInfo set status = :status where cdsKey = :cdsKey") + void bulkModifyingByCdsKeyToStatus(Integer cdsKey, String status); } diff --git a/src/main/java/com/dbnt/faisp/main/faStatistics/unlawfulFishing/repository/ViolationInfoRepository.java b/src/main/java/com/dbnt/faisp/main/faStatistics/unlawfulFishing/repository/ViolationInfoRepository.java index 3e1240e1..0bf08486 100644 --- a/src/main/java/com/dbnt/faisp/main/faStatistics/unlawfulFishing/repository/ViolationInfoRepository.java +++ b/src/main/java/com/dbnt/faisp/main/faStatistics/unlawfulFishing/repository/ViolationInfoRepository.java @@ -13,7 +13,8 @@ import java.util.Optional; public interface ViolationInfoRepository extends JpaRepository { List findByCdsKey(Integer cdsKey); Optional findTopByCdsKeyOrderByViolationKeyDesc(int fbKey); - void deleteByCdsKey(Integer fbKey); + + void deleteByCdsKey(Integer cdsKey); @Transactional @Modifying diff --git a/src/main/java/com/dbnt/faisp/main/faStatistics/unlawfulFishing/service/UnlawfulFishingService.java b/src/main/java/com/dbnt/faisp/main/faStatistics/unlawfulFishing/service/UnlawfulFishingService.java index f9cc682f..dcc8d21d 100644 --- a/src/main/java/com/dbnt/faisp/main/faStatistics/unlawfulFishing/service/UnlawfulFishingService.java +++ b/src/main/java/com/dbnt/faisp/main/faStatistics/unlawfulFishing/service/UnlawfulFishingService.java @@ -104,6 +104,8 @@ public class UnlawfulFishingService { @Transactional public Integer saveCrackdownInfo(CrackdownInfo crackdownInfo) { Integer cdsKey = cdiRepository.save(crackdownInfo).getCdsKey(); + + viRepository.deleteByCdsKey(cdsKey); List violationInfoList = crackdownInfo.getViolationList(); int i=1; for(ViolationInfo violationInfo : violationInfoList){ @@ -132,7 +134,18 @@ public class UnlawfulFishingService { } public CrackdownInfo selectCrackdownInfo(Integer cdsKey) { - return cdiRepository.findByCdsKey(cdsKey).orElse(new CrackdownInfo()); + CrackdownInfo cdi = cdiRepository.findByCdsKey(cdsKey).orElse(new CrackdownInfo()); + cdi.setViolationList(viRepository.findByCdsKey(cdsKey)); + return cdi; + } + + public List selectCrackdownInfoHistoryList(Integer cdsKey) { + return cdihRepository.findByCdsKey(cdsKey); + } + + @Transactional + public void deleteCrackdownInfo(Integer cdsKey) { + cdiRepository.bulkModifyingByCdsKeyToStatus(cdsKey, "DST008"); } public IllegalShipInfo selectIllegalShipInfo(Integer fbKey) { @@ -153,4 +166,5 @@ public class UnlawfulFishingService { public Integer selectCrackdownInfoListCnt(UnlawfulFishingParam params) { return unlawfulFishingMapper.selectCrackdownInfoListCnt(params); } + } diff --git a/src/main/java/com/dbnt/faisp/main/fpiMgt/intelligenceNetwork/IntelligenceNetworkController.java b/src/main/java/com/dbnt/faisp/main/fpiMgt/intelligenceNetwork/IntelligenceNetworkController.java index 514310ca..615b98f6 100644 --- a/src/main/java/com/dbnt/faisp/main/fpiMgt/intelligenceNetwork/IntelligenceNetworkController.java +++ b/src/main/java/com/dbnt/faisp/main/fpiMgt/intelligenceNetwork/IntelligenceNetworkController.java @@ -10,6 +10,7 @@ import com.dbnt.faisp.main.fpiMgt.intelligenceNetwork.model.FireExtensionReport; import com.dbnt.faisp.main.fpiMgt.intelligenceNetwork.model.FireExtensionReportApprv; import com.dbnt.faisp.main.fpiMgt.intelligenceNetwork.service.IntelligenceNetworkService; import com.dbnt.faisp.main.userInfo.model.UserInfo; +import com.dbnt.faisp.util.Utils; import lombok.RequiredArgsConstructor; import org.springframework.security.core.annotation.AuthenticationPrincipal; import org.springframework.web.bind.annotation.*; @@ -416,6 +417,9 @@ public class IntelligenceNetworkController { ModelAndView mav = new ModelAndView("igActivities/intelligenceNetwork/operationPlanListModal"); op.setFirstIndex(0); op.setRowCnt(9999); + if(Utils.isEmpty(op.getWrtOrgan())){ + op.setWrtOrgan(loginUser.getOgCd()); + } mav.addObject("operationPlanList", intelligenceNetworkService.selectOperationPlanList(op)); return mav; } diff --git a/src/main/resources/static/js/faStatistics/unlawfulFishing/crackdownInfo.js b/src/main/resources/static/js/faStatistics/unlawfulFishing/crackdownInfo.js index 36a77796..95dc2897 100644 --- a/src/main/resources/static/js/faStatistics/unlawfulFishing/crackdownInfo.js +++ b/src/main/resources/static/js/faStatistics/unlawfulFishing/crackdownInfo.js @@ -1,6 +1,6 @@ $(document).on('click', '#addCrackdownStatusBtn', function (){ - getCsEditModal(null); + getCdiEditModal(null); }) $(document).on('change', '#violationSelector', function (){ @@ -48,21 +48,69 @@ $(document).on('click', '.saveEditInfoBtn', function (){ saveCrackdownInfo($(this).attr("data-status")); }) -function getCsEditModal(cdsKey){ +$(document).on('click', '.cdiTr', function (){ + getCdiViewModal($(this).attr('data-cdskey')); +}) + +$(document).on('click', '#cdiEditBtn', function (){ + $("#cdiViewModal").modal('hide'); + getCdiEditModal($("#fishingBoatViewTabPanel").find('.cdsKey').val()); +}) + +$(document).on('click', '#cdiDeleteBtn', function (){ + if(confirm("삭제하시겠습니까?\n되돌릴 수 없습니다.")) { + contentFade("in"); + $.ajax({ + type : 'POST', + data : JSON.stringify({cdsKey: $("#fishingBoatViewTabPanel").find('.cdsKey').val()}), + url : "/unlawfulFishing/deleteCrackdownInfo", + contentType: 'application/json', + beforeSend: function (xhr){ + xhr.setRequestHeader($("[name='_csrf_header']").val(), $("[name='_csrf']").val()); + }, + success : function(result) { + alert("삭제되었습니다."); + location.reload(); + }, + error : function(xhr, status) { + alert("삭제를 실패하였습니다.") + contentFade("out"); + } + }) + } +}) + +function getCdiEditModal(cdsKey){ $.ajax({ url: '/unlawfulFishing/cdiEditModal', data: {cdsKey: cdsKey}, type: 'GET', dataType:"html", success: function(html){ - const contentDiv = $("#csEditModalContent"); + const contentDiv = $("#cdiEditModalContent"); contentDiv.empty().append(html) $(".dateSelector").datepicker({ format: "yyyy-mm-dd", language: "ko", autoclose: true }); - $("#csEditModal").modal('show'); + $("#cdiEditModal").modal('show'); + }, + error:function(e){ + ajaxErrorAction(e); + } + }); +} + +function getCdiViewModal(cdsKey){ + $.ajax({ + url: '/unlawfulFishing/cdiViewModal', + data: {cdsKey: cdsKey}, + type: 'GET', + dataType:"html", + success: function(html){ + $("#cdiViewModalContent").empty().append(html) + $("#cdiViewModal").modal('show'); }, error:function(e){ ajaxErrorAction(e); diff --git a/src/main/resources/static/js/igActivities/intelligenceNetwork/fireExtensionReport.js b/src/main/resources/static/js/igActivities/intelligenceNetwork/fireExtensionReport.js index 2d46046d..45ee51b9 100644 --- a/src/main/resources/static/js/igActivities/intelligenceNetwork/fireExtensionReport.js +++ b/src/main/resources/static/js/igActivities/intelligenceNetwork/fireExtensionReport.js @@ -56,7 +56,7 @@ $(document).on('click', '#operationPlanModalBtn', function (){ $.ajax({ url: '/intelligenceNetwork/operationPlanListModal', data: { - + wrtOrgan: $("#fireExtensionReportEditForm").find('.wrtOrgan').val() }, type: 'GET', dataType:"html", diff --git a/src/main/resources/templates/faStatistics/unlawfulFishing/crackdownInfo/cdiSelectModal.html b/src/main/resources/templates/faStatistics/unlawfulFishing/crackdownInfo/cdiSelectModal.html index 4150bceb..be8749f6 100644 --- a/src/main/resources/templates/faStatistics/unlawfulFishing/crackdownInfo/cdiSelectModal.html +++ b/src/main/resources/templates/faStatistics/unlawfulFishing/crackdownInfo/cdiSelectModal.html @@ -6,133 +6,172 @@