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 4129fbb2..50a1185b 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 @@ -72,7 +72,12 @@ public class UnlawfulFishingController { } @PostMapping("/saveCrackdownInfo") - public Integer saveCrackdownInfo(CrackdownInfo crackdownInfo){ + public Integer saveCrackdownInfo(@AuthenticationPrincipal UserInfo loginUser, CrackdownInfo crackdownInfo){ + crackdownInfo.setWrtOrgan(loginUser.getOgCd()); + crackdownInfo.setWrtPart(loginUser.getOfcCd()); + crackdownInfo.setWrtUserGrd(loginUser.getTitleCd()); + crackdownInfo.setWrtUserNm(loginUser.getUserNm()); + crackdownInfo.setWrtDt(LocalDateTime.now()); return unlawfulFishingService.saveCrackdownInfo(crackdownInfo); } @@ -81,6 +86,13 @@ public class UnlawfulFishingController { unlawfulFishingService.deleteCrackdownInfo(crackdownInfo.getCdsKey()); } + @GetMapping("/cdiHistoryDiv") + public ModelAndView cdiHistoryDiv(CrackdownInfoHistory cdih){ + ModelAndView mav = new ModelAndView("faStatistics/unlawfulFishing/crackdownInfo/cdiHistoryDiv"); + mav.addObject("crackdownInfo", unlawfulFishingService.selectCrackdownInfoHistory(cdih)); + return mav; + } + @GetMapping("/cdiSelectModal") public ModelAndView crackdownInfoSelectModal(@AuthenticationPrincipal UserInfo loginUser, UnlawfulFishingParam params){ ModelAndView mav = new ModelAndView("faStatistics/unlawfulFishing/crackdownInfo/cdiSelectModal"); diff --git a/src/main/java/com/dbnt/faisp/main/faStatistics/unlawfulFishing/model/UnlawfulFishingParam.java b/src/main/java/com/dbnt/faisp/main/faStatistics/unlawfulFishing/model/UnlawfulFishingParam.java index eda753bd..a0ec5de5 100644 --- a/src/main/java/com/dbnt/faisp/main/faStatistics/unlawfulFishing/model/UnlawfulFishingParam.java +++ b/src/main/java/com/dbnt/faisp/main/faStatistics/unlawfulFishing/model/UnlawfulFishingParam.java @@ -16,8 +16,10 @@ public class UnlawfulFishingParam extends BaseModel { private Integer year; private Integer month; private String caseAgency; + private String casePoliceOfficer; private String crackdownPolice; private String crackdownBoat; + private String napoPoint; private String boatNameKr; private String boatNnySung; private String boatNnySi; diff --git a/src/main/java/com/dbnt/faisp/main/faStatistics/unlawfulFishing/model/crackdownStatus/CrackdownInfoHistory.java b/src/main/java/com/dbnt/faisp/main/faStatistics/unlawfulFishing/model/crackdownStatus/CrackdownInfoHistory.java index 15beb4fb..49130f63 100644 --- a/src/main/java/com/dbnt/faisp/main/faStatistics/unlawfulFishing/model/crackdownStatus/CrackdownInfoHistory.java +++ b/src/main/java/com/dbnt/faisp/main/faStatistics/unlawfulFishing/model/crackdownStatus/CrackdownInfoHistory.java @@ -6,6 +6,7 @@ import org.hibernate.annotations.DynamicUpdate; import javax.persistence.*; import java.io.Serializable; +import java.util.List; @Getter @Setter @@ -25,6 +26,9 @@ public class CrackdownInfoHistory extends CrackdownInfoBaseEntity { @Column(name = "version_no") private Integer versionNo; + @Transient + List violationList; + @Embeddable @Data @NoArgsConstructor diff --git a/src/main/java/com/dbnt/faisp/main/faStatistics/unlawfulFishing/repository/CrackdownInfoHistoryRepository.java b/src/main/java/com/dbnt/faisp/main/faStatistics/unlawfulFishing/repository/CrackdownInfoHistoryRepository.java index 201ec104..f0e290dc 100644 --- a/src/main/java/com/dbnt/faisp/main/faStatistics/unlawfulFishing/repository/CrackdownInfoHistoryRepository.java +++ b/src/main/java/com/dbnt/faisp/main/faStatistics/unlawfulFishing/repository/CrackdownInfoHistoryRepository.java @@ -8,5 +8,5 @@ import java.util.Optional; public interface CrackdownInfoHistoryRepository extends JpaRepository { Optional findTopByCdsKeyOrderByVersionNoDesc(Integer cdsKey); - List findByCdsKey(Integer cdsKey); + List findByCdsKeyOrderByVersionNoDesc(Integer cdsKey); } 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 dcc8d21d..d6b53c4a 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 @@ -140,7 +140,7 @@ public class UnlawfulFishingService { } public List selectCrackdownInfoHistoryList(Integer cdsKey) { - return cdihRepository.findByCdsKey(cdsKey); + return cdihRepository.findByCdsKeyOrderByVersionNoDesc(cdsKey); } @Transactional @@ -148,6 +148,12 @@ public class UnlawfulFishingService { cdiRepository.bulkModifyingByCdsKeyToStatus(cdsKey, "DST008"); } + public CrackdownInfoHistory selectCrackdownInfoHistory(CrackdownInfoHistory cdih) { + cdih = cdihRepository.findById(new CrackdownInfoHistory.CrackdownInfoHistoryId(cdih.getCdsKey(), cdih.getVersionNo())).orElse(null); + cdih.setViolationList(vihRepository.findByCdsKeyAndVersionNoOrderByViolationKeyAsc(cdih.getCdsKey(), cdih.getVersionNo())); + return cdih; + } + public IllegalShipInfo selectIllegalShipInfo(Integer fbKey) { return isiRepository.findByFbKey(fbKey).orElse(new IllegalShipInfo()); } @@ -166,5 +172,4 @@ public class UnlawfulFishingService { public Integer selectCrackdownInfoListCnt(UnlawfulFishingParam params) { return unlawfulFishingMapper.selectCrackdownInfoListCnt(params); } - } diff --git a/src/main/resources/mybatisMapper/UnlawfulFishingMapper.xml b/src/main/resources/mybatisMapper/UnlawfulFishingMapper.xml index 439a5c82..7a962aaf 100644 --- a/src/main/resources/mybatisMapper/UnlawfulFishingMapper.xml +++ b/src/main/resources/mybatisMapper/UnlawfulFishingMapper.xml @@ -61,5 +61,44 @@ where status <> 'DST008' + + and case_agency = #{caseAgency} + + + and case_police_officer like '%'||#{casePoliceOfficer}||'%' + + + and crackdown_police = #{crackdownPolice} + + + and crackdown_boat = #{crackdownBoat} + + + and case_num like '%'||#{caseNum}||'%' + + + and mmsi like '%'||#{mmsi}||'%' + + + and (napo_sea_point_lon like '%'||#{napoPoint}||'%' + or napo_sea_point_lat like '%'||#{napoPoint}||'%' + or napo_sea_point_detail like '%'||#{napoPoint}||'%') + + + + and napo_dt >= #{startDate}::date + + + and napo_dt <= #{endDate}::date + + + + + and wrt_dt >= #{startDate}::date + + + and wrt_dt <= #{endDate}::date + + \ No newline at end of file diff --git a/src/main/resources/static/js/common.js b/src/main/resources/static/js/common.js index b5cf148a..6c658e96 100644 --- a/src/main/resources/static/js/common.js +++ b/src/main/resources/static/js/common.js @@ -251,18 +251,24 @@ function fileCheck(flag, files){ } function getChildOption(parentCd, selectedCd, target){ - $.ajax({ - url: '/selectBoxOptions', - data: {categoryCd: parentCd, selectedCd: selectedCd}, - type: 'GET', - dataType:"html", - success: function(html){ - $(target).empty().append(html); - }, - error:function(e){ - ajaxErrorAction(e); - } - }); + const targetEl = $(target); + if(parentCd === ""){ + targetEl.attr("disabled", "disabled"); + }else{ + $.ajax({ + url: '/selectBoxOptions', + data: {categoryCd: parentCd, selectedCd: selectedCd}, + type: 'GET', + dataType:"html", + success: function(html){ + targetEl.empty().append(html); + targetEl.removeAttr("disabled"); + }, + error:function(e){ + ajaxErrorAction(e); + } + }); + } } function dynamicOption(targetTagName, code, defaultOptionName='') { diff --git a/src/main/resources/static/js/faStatistics/unlawfulFishing/crackdownInfo.js b/src/main/resources/static/js/faStatistics/unlawfulFishing/crackdownInfo.js index 95dc2897..a304a86a 100644 --- a/src/main/resources/static/js/faStatistics/unlawfulFishing/crackdownInfo.js +++ b/src/main/resources/static/js/faStatistics/unlawfulFishing/crackdownInfo.js @@ -1,4 +1,16 @@ +$(function(){ + $("#dateSelectorDiv").datepicker({ + format: "yyyy-mm-dd", + language: "ko", + autoclose: true + }); +}) + +$(document).on('change', '#searchFormPolice', function (){ + getChildOption(this.value, null, "#searchFormBoat"); +}) + $(document).on('click', '#addCrackdownStatusBtn', function (){ getCdiEditModal(null); }) @@ -44,6 +56,10 @@ $(document).on('change', '#crackdownPolice', function (){ getChildOption(this.value, null, "#crackdownBoat"); }); +$(document).on('change', '#napoDate, #napoTime', function (){ + $("#napoDt").val($("#napoDate").val()+" "+$("#napoTime").val()); +}) + $(document).on('click', '.saveEditInfoBtn', function (){ saveCrackdownInfo($(this).attr("data-status")); }) @@ -52,6 +68,13 @@ $(document).on('click', '.cdiTr', function (){ getCdiViewModal($(this).attr('data-cdskey')); }) +$(document).on('click', '#fishingBoatViewTab', function (){ + $(this).parents(".modal-dialog")[0].className = "modal-dialog modal-xl modal-dialog-scrollable"; +}) +$(document).on('click', '#fishingBoatVersionTab', function (){ + $(this).parents(".modal-dialog")[0].className = "modal-dialog modal-xxl modal-dialog-scrollable"; +}) + $(document).on('click', '#cdiEditBtn', function (){ $("#cdiViewModal").modal('hide'); getCdiEditModal($("#fishingBoatViewTabPanel").find('.cdsKey').val()); @@ -80,6 +103,25 @@ $(document).on('click', '#cdiDeleteBtn', function (){ } }) +$(document).on('click', '.historyTr', function (){ + const historyTr = $(this) + $.ajax({ + url: '/unlawfulFishing/cdiHistoryDiv', + data: { + cdsKey: historyTr.find('.cdsKey').val(), + versionNo: historyTr.find('.versionNo').val() + }, + type: 'GET', + dataType:"html", + success: function(html){ + $("#historyInfoDiv").empty().append(html) + }, + error:function(e){ + ajaxErrorAction(e); + } + }); +}) + function getCdiEditModal(cdsKey){ $.ajax({ url: '/unlawfulFishing/cdiEditModal', diff --git a/src/main/resources/templates/faStatistics/unlawfulFishing/crackdownInfo/cdiEditModal.html b/src/main/resources/templates/faStatistics/unlawfulFishing/crackdownInfo/cdiEditModal.html index a4da6fc4..1b5b611d 100644 --- a/src/main/resources/templates/faStatistics/unlawfulFishing/crackdownInfo/cdiEditModal.html +++ b/src/main/resources/templates/faStatistics/unlawfulFishing/crackdownInfo/cdiEditModal.html @@ -127,6 +127,7 @@
+
diff --git a/src/main/resources/templates/faStatistics/unlawfulFishing/crackdownInfo/cdiHistoryDiv.html b/src/main/resources/templates/faStatistics/unlawfulFishing/crackdownInfo/cdiHistoryDiv.html new file mode 100644 index 00000000..283d3876 --- /dev/null +++ b/src/main/resources/templates/faStatistics/unlawfulFishing/crackdownInfo/cdiHistoryDiv.html @@ -0,0 +1,153 @@ + + +
+ +
+ +
+ +
+
+ + +
+ +
+
+
+
+
+
+
+ +
+ + + +
+ +
+ +
+ +
+ + + +
+ +
+ + + +
+
+
+ +
+ +
+ +
+ + + +
+ +
+ +
+ +
+ +
+
+
+ +
+ +
+ +
+ +
+
+ + +
+ +
+
+ +
+
+ + + + + + +
+
+ +
+
+
+
+
+
+ +
+
+ + + + +
+
+ +
+
+
+
+
+
+
+
+
+ + +
+ +
+
+ + + + +
+
+
+
+
+ \ No newline at end of file diff --git a/src/main/resources/templates/faStatistics/unlawfulFishing/crackdownInfo/cdiViewModal.html b/src/main/resources/templates/faStatistics/unlawfulFishing/crackdownInfo/cdiViewModal.html index f31a2c3d..41680fa2 100644 --- a/src/main/resources/templates/faStatistics/unlawfulFishing/crackdownInfo/cdiViewModal.html +++ b/src/main/resources/templates/faStatistics/unlawfulFishing/crackdownInfo/cdiViewModal.html @@ -66,13 +66,13 @@
- +
- +
@@ -198,7 +198,7 @@ - + @@ -217,7 +217,7 @@ -
+
diff --git a/src/main/resources/templates/faStatistics/unlawfulFishing/crackdownInfo/crackdownInfoPage.html b/src/main/resources/templates/faStatistics/unlawfulFishing/crackdownInfo/crackdownInfoPage.html index c34bcbe7..2169b8dc 100644 --- a/src/main/resources/templates/faStatistics/unlawfulFishing/crackdownInfo/crackdownInfoPage.html +++ b/src/main/resources/templates/faStatistics/unlawfulFishing/crackdownInfo/crackdownInfoPage.html @@ -25,7 +25,7 @@
-
+
@@ -42,7 +42,7 @@
- +
- - - - - + +
- +
- +
- +