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 50a1185b..3c30106d 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 @@ -112,19 +112,10 @@ public class UnlawfulFishingController { AccessConfig accessConfig = authMgtService.selectAccessConfigList(loginUser.getUserSeq(), "/unlawfulFishing/illegalShipInfo").get(0); mav.addObject("menuKey", accessConfig.getMenuKey()); mav.addObject("accessAuth", accessConfig.getAccessAuth()); - - if(params.getYear()==null){ - params.setYear(LocalDateTime.now().getYear()); - } - List yearList = unlawfulFishingService.selectFishingBoatYearParam(); - if(!yearList.contains(params.getYear())){ - yearList.add(params.getYear()); - } - List csDTOList = new ArrayList<>(); - CSStatistics statistics = new CSStatistics(); - - mav.addObject("illegalShipInfoList", csDTOList); - mav.addObject("yearList", yearList); + params.setQueryInfo(); + mav.addObject("illegalShipInfoList", unlawfulFishingService.selectIllegalShipInfoList(params)); + params.setContentCnt(unlawfulFishingService.selectIllegalShipInfoListCnt(params)); + params.setPaginationInfo(); mav.addObject("searchParams", params); return mav; } @@ -140,12 +131,17 @@ public class UnlawfulFishingController { illegalShipInfo.setWrtUserSeq(loginUser.getUserSeq()); illegalShipInfo.setWrtUserGrd(loginUser.getTitleCd()); illegalShipInfo.setWrtUserNm(loginUser.getUserNm()); - illegalShipInfo.setWrtDt(LocalDateTime.now()); } mav.addObject("illegalShipInfo", illegalShipInfo); return mav; } + @PostMapping("/saveIllegalShipInfo") + public Integer saveIllegalShipInfo(@AuthenticationPrincipal UserInfo loginUser, IllegalShipInfo illegalShipInfo){ + illegalShipInfo.setWrtDt(LocalDateTime.now()); + return unlawfulFishingService.saveIllegalShipInfo(illegalShipInfo); + } + @GetMapping("/isiSelectModal") public ModelAndView illegalShipInfoSelectModal(@AuthenticationPrincipal UserInfo loginUser, IllegalShipInfo params){ ModelAndView mav = new ModelAndView("faStatistics/unlawfulFishing/illegalShipInfo/isiSelectModal"); diff --git a/src/main/java/com/dbnt/faisp/main/faStatistics/unlawfulFishing/mapper/UnlawfulFishingMapper.java b/src/main/java/com/dbnt/faisp/main/faStatistics/unlawfulFishing/mapper/UnlawfulFishingMapper.java index 60a534d7..975e772b 100644 --- a/src/main/java/com/dbnt/faisp/main/faStatistics/unlawfulFishing/mapper/UnlawfulFishingMapper.java +++ b/src/main/java/com/dbnt/faisp/main/faStatistics/unlawfulFishing/mapper/UnlawfulFishingMapper.java @@ -2,6 +2,7 @@ package com.dbnt.faisp.main.faStatistics.unlawfulFishing.mapper; import com.dbnt.faisp.main.faStatistics.unlawfulFishing.model.UnlawfulFishingParam; import com.dbnt.faisp.main.faStatistics.unlawfulFishing.model.crackdownStatus.CrackdownInfo; +import com.dbnt.faisp.main.faStatistics.unlawfulFishing.model.fishingBoat.IllegalShipInfo; import org.apache.ibatis.annotations.Mapper; import java.util.List; @@ -14,4 +15,8 @@ public interface UnlawfulFishingMapper { List selectCrackdownInfoList(UnlawfulFishingParam params); Integer selectCrackdownInfoListCnt(UnlawfulFishingParam params); + + List selectIllegalShipInfoList(UnlawfulFishingParam params); + + Integer selectIllegalShipInfoListCnt(UnlawfulFishingParam params); } diff --git a/src/main/java/com/dbnt/faisp/main/faStatistics/unlawfulFishing/model/fishingBoat/IllegalShipInfo.java b/src/main/java/com/dbnt/faisp/main/faStatistics/unlawfulFishing/model/fishingBoat/IllegalShipInfo.java index 15d1bad4..bd2c8276 100644 --- a/src/main/java/com/dbnt/faisp/main/faStatistics/unlawfulFishing/model/fishingBoat/IllegalShipInfo.java +++ b/src/main/java/com/dbnt/faisp/main/faStatistics/unlawfulFishing/model/fishingBoat/IllegalShipInfo.java @@ -26,27 +26,5 @@ public class IllegalShipInfo extends FishingBoatBaseEntity { private String status; @Transient - private String year; - @Transient - private String caseAgency; - @Transient - private String crackdownPolice; - @Transient - private String crackdownBoat; - @Transient - private String boatNny; - @Transient - private String processStatus; - @Transient - private String violation; - - @Transient - private String boatMaterialEtc; - @Transient - private String fisheryTypeEtc; - - @Transient - private Double tonMin; - @Transient - private Double tonMax; + private String caseNum; } 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 d6b53c4a..9410cfc3 100644 --- a/src/main/java/com/dbnt/faisp/main/faStatistics/unlawfulFishing/service/UnlawfulFishingService.java +++ b/src/main/java/com/dbnt/faisp/main/faStatistics/unlawfulFishing/service/UnlawfulFishingService.java @@ -4,6 +4,7 @@ import com.dbnt.faisp.main.faStatistics.unlawfulFishing.model.UnlawfulFishingPar import com.dbnt.faisp.main.faStatistics.unlawfulFishing.model.crackdownStatus.*; import com.dbnt.faisp.main.faStatistics.unlawfulFishing.model.fishingBoat.FishingBoat; import com.dbnt.faisp.main.faStatistics.unlawfulFishing.model.fishingBoat.IllegalShipInfo; +import com.dbnt.faisp.main.faStatistics.unlawfulFishing.model.fishingBoat.IllegalShipInfoHistory; import com.dbnt.faisp.main.faStatistics.unlawfulFishing.model.processResult.ShipProcessInfo; import com.dbnt.faisp.main.faStatistics.unlawfulFishing.model.sailor.IllegalShipSailor; import com.dbnt.faisp.main.faStatistics.unlawfulFishing.model.sailor.Sailor; @@ -172,4 +173,25 @@ public class UnlawfulFishingService { public Integer selectCrackdownInfoListCnt(UnlawfulFishingParam params) { return unlawfulFishingMapper.selectCrackdownInfoListCnt(params); } + + @Transactional + public Integer saveIllegalShipInfo(IllegalShipInfo illegalShipInfo) { + Integer fbKey = isiRepository.save(illegalShipInfo).getFbKey(); + if(!illegalShipInfo.getStatus().equals("DST001")){ + IllegalShipInfoHistory lastHistory = isihRepository.findTop1ByFbKeyOrderByVersionNoDesc(fbKey).orElse(null); + IllegalShipInfoHistory isiHistory = new IllegalShipInfoHistory(); + BeanUtils.copyProperties(illegalShipInfo, isiHistory); + isiHistory.setVersionNo(lastHistory==null?1:lastHistory.getVersionNo()+1); + isihRepository.save(isiHistory); + } + return fbKey; + } + + public List selectIllegalShipInfoList(UnlawfulFishingParam params) { + return unlawfulFishingMapper.selectIllegalShipInfoList(params); + } + + public Integer selectIllegalShipInfoListCnt(UnlawfulFishingParam params) { + return unlawfulFishingMapper.selectIllegalShipInfoListCnt(params); + } } diff --git a/src/main/resources/mybatisMapper/UnlawfulFishingMapper.xml b/src/main/resources/mybatisMapper/UnlawfulFishingMapper.xml index 7a962aaf..a351fb7a 100644 --- a/src/main/resources/mybatisMapper/UnlawfulFishingMapper.xml +++ b/src/main/resources/mybatisMapper/UnlawfulFishingMapper.xml @@ -101,4 +101,38 @@ + + + + + + where a.status <> 'DST008' + \ No newline at end of file diff --git a/src/main/resources/static/js/faStatistics/unlawfulFishing/cdiSelectModal.js b/src/main/resources/static/js/faStatistics/unlawfulFishing/cdiSelectModal.js new file mode 100644 index 00000000..8f4d8dcc --- /dev/null +++ b/src/main/resources/static/js/faStatistics/unlawfulFishing/cdiSelectModal.js @@ -0,0 +1,42 @@ + +$(document).on('click', '#selectCrackdownInfoBtn', function (){ + getCdiSelectModal(null); +}) + +$(document).on('click', '.cdiTr', function (){ + $(".cdiCheckbox").prop('checked', false) + $(this).find('.cdiCheckbox').prop('checked', true) +}) + +$(document).on('click', '#cdiSelectBtn', function (){ + const selectedCheckbox = $(".cdiCheckbox:checked") + if(selectedCheckbox.length>0){ + const modalBody = $(".modal-body") + modalBody.find("#cdsKey").val(selectedCheckbox.attr('data-cdskey')) + modalBody.find("#caseNum").val(selectedCheckbox.attr('data-casenum')) + $("#cdiSelectModal").modal('hide'); + }else{ + alert("대상을 선택해주세요.") + } +}) + +function getCdiSelectModal(){ + $.ajax({ + url: '/unlawfulFishing/cdiSelectModal', + type: 'GET', + dataType:"html", + success: function(html){ + const contentDiv = $("#cdiSelectModalContent"); + contentDiv.empty().append(html) + $(".dateSelector").datepicker({ + format: "yyyy-mm-dd", + language: "ko", + autoclose: true + }); + $("#cdiSelectModal").modal('show'); + }, + error:function(e){ + ajaxErrorAction(e); + } + }); +} \ No newline at end of file diff --git a/src/main/resources/static/js/faStatistics/unlawfulFishing/illegalShipInfo.js b/src/main/resources/static/js/faStatistics/unlawfulFishing/illegalShipInfo.js index 770b9df8..12c718da 100644 --- a/src/main/resources/static/js/faStatistics/unlawfulFishing/illegalShipInfo.js +++ b/src/main/resources/static/js/faStatistics/unlawfulFishing/illegalShipInfo.js @@ -1,8 +1,39 @@ +$(function(){ + $("#dateSelectorDiv").datepicker({ + format: "yyyy-mm-dd", + language: "ko", + autoclose: true + }); +}) + $(document).on('click', '#addIllegalShipInfoBtn', function (){ getIsiEditModal(null); }) +$(document).on('change', '#offenseSelector', function (){ + const offenseInput = $(".offenseInput") + if(this.value === "1"){ + offenseInput.val("") + offenseInput.attr('disabled', 'disabled') + }else{ + offenseInput.removeAttr('disabled') + } +}) +$(document).on('change', '#confiscationSelector', function (){ + const confiscationInput = $(".confiscationInput") + if(this.value === "1"){ + confiscationInput.val("") + confiscationInput.attr('disabled', 'disabled') + }else{ + confiscationInput.removeAttr('disabled') + } +}) + +$(document).on('click', '.saveEditInfoBtn', function (){ + saveIllegalShipInfo($(this).attr("data-status")) +}) + function getIsiEditModal(fbKey){ $.ajax({ url: '/unlawfulFishing/isiEditModal', @@ -25,29 +56,42 @@ function getIsiEditModal(fbKey){ }); } - - -$(document).on('click', '#selectCrackdownInfoBtn', function (){ - getCdiSelectModal(null); -}) - -function getCdiSelectModal(){ - $.ajax({ - url: '/unlawfulFishing/cdiSelectModal', - type: 'GET', - dataType:"html", - success: function(html){ - const contentDiv = $("#cdiSelectModalContent"); - contentDiv.empty().append(html) - $(".dateSelector").datepicker({ - format: "yyyy-mm-dd", - language: "ko", - autoclose: true - }); - $("#cdiSelectModal").modal('show'); - }, - error:function(e){ - ajaxErrorAction(e); +function saveIllegalShipInfo(status){ + if (confirm("저장하시겠습니까?")) { + if (valueCheck(status)) { + $("#infoStatus").val(status) + contentFade("in"); + const formData = new FormData($("#isiEditForm")[0]); + $.ajax({ + type : 'POST', + data : formData, + url : "/unlawfulFishing/saveIllegalShipInfo", + processData: false, + contentType: false, + beforeSend: function (xhr){ + xhr.setRequestHeader($("[name='_csrf_header']").val(), $("[name='_csrf']").val()); + }, + success : function() { + alert("저장되었습니다."); + contentFade("out"); + location.reload(); + }, + error : function(xhr, status) { + alert("저장에 실패하였습니다."); + contentFade("out"); + } + }) } - }); -} \ No newline at end of file + } +} + +function valueCheck(status){ + if(status === "DST007"){ + const isiEditForm = $("#isiEditForm") + if(!isiEditForm.find("#caseNum").val()){ + alert("사건번호를 선택해주세요.") + return false; + } + } + return true; +} diff --git a/src/main/resources/templates/faStatistics/unlawfulFishing/crackdownInfo/cdiSelectModal.html b/src/main/resources/templates/faStatistics/unlawfulFishing/crackdownInfo/cdiSelectModal.html index be8749f6..78df7707 100644 --- a/src/main/resources/templates/faStatistics/unlawfulFishing/crackdownInfo/cdiSelectModal.html +++ b/src/main/resources/templates/faStatistics/unlawfulFishing/crackdownInfo/cdiSelectModal.html @@ -83,7 +83,7 @@ - + @@ -100,9 +100,9 @@ - - - + + + @@ -180,6 +180,6 @@ diff --git a/src/main/resources/templates/faStatistics/unlawfulFishing/illegalShipInfo/illegalShipInfoPage.html b/src/main/resources/templates/faStatistics/unlawfulFishing/illegalShipInfo/illegalShipInfoPage.html index 3c2b36bb..f731a5fc 100644 --- a/src/main/resources/templates/faStatistics/unlawfulFishing/illegalShipInfo/illegalShipInfoPage.html +++ b/src/main/resources/templates/faStatistics/unlawfulFishing/illegalShipInfo/illegalShipInfoPage.html @@ -4,6 +4,7 @@ layout:decorate="~{layout/layout}"> +
순번 사건번호 MMSI.NO 나포일시