From 4862771a2ca26bd9e8d3c6d9a1455d837da8f625 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B0=95=EC=84=9D=20=EC=B5=9C?= Date: Tue, 1 Aug 2023 18:13:04 +0900 Subject: [PATCH] =?UTF-8?q?=EB=B6=88=EB=B2=95=EC=A1=B0=EC=97=85=20?= =?UTF-8?q?=ED=86=B5=EA=B3=84=20=EC=9E=91=EC=97=85=20=EC=A4=80=EB=B9=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../UnlawfulFishingController.java | 23 +++ .../model/UnlawfulFishingParam.java | 2 + .../main/organMgt/OrganConfigController.java | 1 - .../main/organMgt/model/OrganConfig.java | 5 + .../repository/OrganConfigRepository.java | 1 + .../organMgt/service/OrganConfigService.java | 32 +++++ .../InternationalCrimeArrestMapper.xml | 1 + .../unlawfulFishing/statistics.js | 3 + .../resources/static/js/organMgt/organMgt.js | 11 +- .../adminPage/organMgt/organMgt.html | 5 +- .../statistics/statistics.html | 131 ++++++++++++++++++ 11 files changed, 211 insertions(+), 4 deletions(-) create mode 100644 src/main/resources/static/js/faStatistics/unlawfulFishing/statistics.js create mode 100644 src/main/resources/templates/faStatistics/unlawfulFishing/statistics/statistics.html 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 9986cebc..4c06cd9a 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,6 +11,7 @@ import com.dbnt.faisp.main.faStatistics.unlawfulFishing.model.processResult.Ship import com.dbnt.faisp.main.faStatistics.unlawfulFishing.model.sailor.IllegalShipSailor; import com.dbnt.faisp.main.faStatistics.unlawfulFishing.model.sailor.IllegalShipSailorHistory; import com.dbnt.faisp.main.faStatistics.unlawfulFishing.service.UnlawfulFishingService; +import com.dbnt.faisp.main.organMgt.service.OrganConfigService; import com.dbnt.faisp.main.userInfo.model.UserInfo; import lombok.RequiredArgsConstructor; import org.springframework.security.core.annotation.AuthenticationPrincipal; @@ -28,6 +29,7 @@ public class UnlawfulFishingController { private final AuthMgtService authMgtService; private final UnlawfulFishingService unlawfulFishingService; + private final OrganConfigService organConfigService; @GetMapping("/crackdownInfo") public ModelAndView crackdownInfoPage(@AuthenticationPrincipal UserInfo loginUser, UnlawfulFishingParam params){ @@ -385,4 +387,25 @@ public class UnlawfulFishingController { return mav; } + @GetMapping("/statistics") + public ModelAndView statistics(@AuthenticationPrincipal UserInfo loginUser, UnlawfulFishingParam params){ + ModelAndView mav = new ModelAndView("faStatistics/unlawfulFishing/statistics/statistics"); + //메뉴권한 확인 + AccessConfig accessConfig = authMgtService.selectAccessConfigList(loginUser.getUserSeq(), "/unlawfulFishing/statistics?type=type1").get(0); + mav.addObject("menuKey", accessConfig.getMenuKey()); + + switch (params.getType()){ + case "type1": + break; + case "type2": + break; + case "type3": + mav.addObject("organConfigList", organConfigService.selectOrganListToUnlawfulFishingStatistics()); + break; + } + + mav.addObject("searchParams", params); + return mav; + } + } 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 c87b8f0c..580afeb6 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 @@ -46,6 +46,8 @@ public class UnlawfulFishingParam extends BaseModel { private Integer heterogeneousCriminalHistory; private Integer similarCriminalHistory; + /*통계*/ + private String type; diff --git a/src/main/java/com/dbnt/faisp/main/organMgt/OrganConfigController.java b/src/main/java/com/dbnt/faisp/main/organMgt/OrganConfigController.java index d61835c1..543c649b 100644 --- a/src/main/java/com/dbnt/faisp/main/organMgt/OrganConfigController.java +++ b/src/main/java/com/dbnt/faisp/main/organMgt/OrganConfigController.java @@ -17,7 +17,6 @@ import java.util.*; @RequestMapping("/organMgt") public class OrganConfigController { private final OrganConfigService organConfigService; - private final CodeMgtService codeMgtService; @GetMapping("/organMgtPage") public ModelAndView organMgtPage(UserInfo userInfo) { diff --git a/src/main/java/com/dbnt/faisp/main/organMgt/model/OrganConfig.java b/src/main/java/com/dbnt/faisp/main/organMgt/model/OrganConfig.java index 2663a0a5..b53f50db 100644 --- a/src/main/java/com/dbnt/faisp/main/organMgt/model/OrganConfig.java +++ b/src/main/java/com/dbnt/faisp/main/organMgt/model/OrganConfig.java @@ -7,6 +7,7 @@ import org.hibernate.annotations.DynamicInsert; import org.hibernate.annotations.DynamicUpdate; import javax.persistence.*; +import java.util.List; @Getter @Setter @@ -23,6 +24,8 @@ public class OrganConfig { private String organType; @Column(name = "parent_organ") private String parentOrgan; + @Column(name = "cp_chk") + private String cpChk; @Transient private String organNm; @@ -30,5 +33,7 @@ public class OrganConfig { private String useState; @Transient private Integer orderNum; + @Transient + private List childList; } diff --git a/src/main/java/com/dbnt/faisp/main/organMgt/repository/OrganConfigRepository.java b/src/main/java/com/dbnt/faisp/main/organMgt/repository/OrganConfigRepository.java index 26ab0583..fca82bb5 100644 --- a/src/main/java/com/dbnt/faisp/main/organMgt/repository/OrganConfigRepository.java +++ b/src/main/java/com/dbnt/faisp/main/organMgt/repository/OrganConfigRepository.java @@ -12,4 +12,5 @@ public interface OrganConfigRepository extends JpaRepository findByParentOrgan(String ogCd); + List findByParentOrganAndCpChk(String ogCd, String cpChk); } diff --git a/src/main/java/com/dbnt/faisp/main/organMgt/service/OrganConfigService.java b/src/main/java/com/dbnt/faisp/main/organMgt/service/OrganConfigService.java index 42357722..c0dfeaa8 100644 --- a/src/main/java/com/dbnt/faisp/main/organMgt/service/OrganConfigService.java +++ b/src/main/java/com/dbnt/faisp/main/organMgt/service/OrganConfigService.java @@ -79,6 +79,38 @@ public class OrganConfigService { .collect(Collectors.toList()); return configList; } + public List selectOrganListToUnlawfulFishingStatistics() { + List codeList = codeMgtService.selectCodeMgtList("OG"); + List middleOrganList = organConfigRepository.findByParentOrgan("OG001"); + for(OrganConfig middle: middleOrganList){ + for(CodeMgt organCd: codeList){ + if(middle.getOrganCd().equals(organCd.getItemCd())){ + middle.setOrganNm(organCd.getItemValue()); + middle.setOrderNum(organCd.getOrderNum()); + } + } + List childList = organConfigRepository.findByParentOrganAndCpChk(middle.getOrganCd(), "T"); + for(OrganConfig child: childList){ + for(CodeMgt organCd: codeList){ + if(child.getOrganCd().equals(organCd.getItemCd())){ + child.setOrganNm(organCd.getItemValue()); + child.setOrderNum(organCd.getOrderNum()); + } + } + } + childList = childList.stream() + .sorted(Comparator.comparing(OrganConfig::getOrderNum, Comparator.nullsLast(Comparator.naturalOrder()))) + .collect(Collectors.toList()); + OrganConfig total = new OrganConfig(); + total.setOrganNm(middle.getOrganNm()+" 계"); + childList.add(total); + middle.setChildList(childList); + } + middleOrganList = middleOrganList.stream() + .sorted(Comparator.comparing(OrganConfig::getOrderNum, Comparator.nullsLast(Comparator.naturalOrder()))) + .collect(Collectors.toList()); + return middleOrganList; + } public OrganConfig selectOrganConfig(String organCd) { return organConfigRepository.findById(organCd).orElse(null); diff --git a/src/main/resources/mybatisMapper/InternationalCrimeArrestMapper.xml b/src/main/resources/mybatisMapper/InternationalCrimeArrestMapper.xml index 7d71ca9a..a1452ab4 100644 --- a/src/main/resources/mybatisMapper/InternationalCrimeArrestMapper.xml +++ b/src/main/resources/mybatisMapper/InternationalCrimeArrestMapper.xml @@ -167,5 +167,6 @@ select distinct EXTRACT(YEAR FROM case_sent_dt) from international_crime_arrest where status <> 'DST008' + and case_sent_dt is not null \ No newline at end of file diff --git a/src/main/resources/static/js/faStatistics/unlawfulFishing/statistics.js b/src/main/resources/static/js/faStatistics/unlawfulFishing/statistics.js new file mode 100644 index 00000000..567a4d33 --- /dev/null +++ b/src/main/resources/static/js/faStatistics/unlawfulFishing/statistics.js @@ -0,0 +1,3 @@ +$(document).on('click', '#statisticsTab', function (event){ + location.href = "/unlawfulFishing/statistics?type="+event.target.id.replace("Tab", ""); +}) \ No newline at end of file diff --git a/src/main/resources/static/js/organMgt/organMgt.js b/src/main/resources/static/js/organMgt/organMgt.js index 7889f102..d5c21172 100644 --- a/src/main/resources/static/js/organMgt/organMgt.js +++ b/src/main/resources/static/js/organMgt/organMgt.js @@ -35,7 +35,14 @@ $(document).on('click', '.rowDeleteBtn', function (){ }) targetTr.remove(); }) - +$(document).on('change', '.cpChk', function (){ + const ogCd = $(this).parents("tr").find("select").val() + const cpChk = this.checked?'T':'F'; + organList.forEach(function (organ) { + if(organ.organCd === ogCd) + organ.cpChk = cpChk; + }); +}) $(document).on('change', '.organSelector', function () { const selector = this; const selectedItemCd = selector.value; @@ -117,6 +124,7 @@ function addTr(tbody){ '' + options+ '' + + ' ' + '' ) } @@ -133,6 +141,7 @@ function setUsedOrganTr(parentOrgan, organType){ '' + + (organType!=="OGC002"?' ':'') + '' ) } diff --git a/src/main/resources/templates/adminPage/organMgt/organMgt.html b/src/main/resources/templates/adminPage/organMgt/organMgt.html index 58a8cecb..cd25f122 100644 --- a/src/main/resources/templates/adminPage/organMgt/organMgt.html +++ b/src/main/resources/templates/adminPage/organMgt/organMgt.html @@ -17,7 +17,7 @@
-
+
@@ -48,7 +48,7 @@
-
+
@@ -57,6 +57,7 @@ 관할서 + 불법조업 외국어선
단속 여부 diff --git a/src/main/resources/templates/faStatistics/unlawfulFishing/statistics/statistics.html b/src/main/resources/templates/faStatistics/unlawfulFishing/statistics/statistics.html new file mode 100644 index 00000000..115663a8 --- /dev/null +++ b/src/main/resources/templates/faStatistics/unlawfulFishing/statistics/statistics.html @@ -0,0 +1,131 @@ + + + + + + + + +
+
+ + + +
+
+
+
불법조업 외국어선 통계
+
+

외사통계 > 불법조업 외국어선 > 불법조업 외국어선 통계

+
+
+
+
+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
연도나포 척수
①+②
배타적경제수역 ①영해침범 ②구속 / 불구속담보금
(납부/부과)
몰수 / 폐선공무집행방해
(건/척)
위탁관리
소계무허가특정금지
(무허가, 정선명령위반)
제한조건위반 등
연도
경찰서
연도
+
+
+
+
+
+
+
+
+ +