From 1095c70edb390c9e6fa3a68bd61d2a6d1de737ec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B0=95=EC=84=9D=20=EC=B5=9C?= Date: Tue, 31 Jan 2023 13:42:13 +0900 Subject: [PATCH] =?UTF-8?q?=EB=B6=88=EB=B2=95=EC=A1=B0=EC=97=85=20?= =?UTF-8?q?=EC=99=B8=EA=B5=AD=EC=96=B4=EC=84=A0=20=EC=A0=95=EB=B3=B4=20?= =?UTF-8?q?=ED=8E=98=EC=9D=B4=EC=A7=80=20=EA=B2=80=EC=83=89=EA=B8=B0?= =?UTF-8?q?=EB=8A=A5=20=EC=B6=94=EA=B0=80.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../FishingBoatController.java | 27 +- .../mapper/CrackdownStatusMapper.java | 7 +- .../model/UnlawfulFishingParam.java | 29 +++ .../crackdownsStatus/model/sailor/Sailor.java | 1 - .../model/{ => sailor}/SailorFile.java | 2 +- .../model/{ => sailor}/SailorFileVersion.java | 2 +- .../model/sailor/SailorVersion.java | 2 - .../repository/SailorFileRepository.java | 2 +- .../SailorFileVersionRepository.java | 2 +- .../service/FishingBoatService.java | 26 +- .../service/SailorService.java | 4 +- .../mybatisMapper/CrackdownStatusMapper.xml | 131 +++++++++- .../static/js/faStatistics/fishingBoatMgt.js | 231 ++++++++++-------- .../fishingBoat/fishingBoatMgt.html | 51 ++-- 14 files changed, 351 insertions(+), 166 deletions(-) create mode 100644 src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/model/UnlawfulFishingParam.java rename src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/model/{ => sailor}/SailorFile.java (93%) rename src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/model/{ => sailor}/SailorFileVersion.java (94%) 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 dc2374b1..e10b7c7e 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 @@ -2,6 +2,7 @@ package com.dbnt.faisp.main.faStatistics.crackdownsStatus; import com.dbnt.faisp.main.authMgt.service.AuthMgtService; import com.dbnt.faisp.main.codeMgt.service.CodeMgtService; +import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.UnlawfulFishingParam; import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.crackdownStatus.CrackdownStatus; import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.fishingBoat.FishingBoat; import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.fishingBoat.FishingBoatVersion; @@ -29,23 +30,29 @@ public class FishingBoatController { private final CodeMgtService codeMgtService; @RequestMapping("/fishingBoat") - public ModelAndView fishingBoat(@AuthenticationPrincipal UserInfo loginUser, CrackdownStatus crackdownStatus) { + public ModelAndView fishingBoat(@AuthenticationPrincipal UserInfo loginUser, UnlawfulFishingParam params) { ModelAndView mav = new ModelAndView("faStatistics/fishingBoat/fishingBoatMgt"); - if(crackdownStatus.getFishingBoat()==null){ - crackdownStatus.setFishingBoat(new FishingBoat()); - crackdownStatus.setProcessResult(new ProcessResult()); - } + //메뉴권한 확인 String accessAuth = authMgtService.selectAccessConfigList(loginUser.getUserSeq(), "/faStatistics/fishingBoat").get(0).getAccessAuth(); mav.addObject("accessAuth", accessAuth); - crackdownStatus.setQueryInfo(); - List crackdownStatusList = fishingBoatService.selectFishingBoatList(crackdownStatus); + params.setQueryInfo(); + List crackdownStatusList = fishingBoatService.selectFishingBoatList(params); mav.addObject("crackdownStatusList", crackdownStatusList); - crackdownStatus.setContentCnt(fishingBoatService.selectFishingBoatListCnt(crackdownStatus)); - crackdownStatus.setPaginationInfo(); - mav.addObject("searchParams", crackdownStatus); + params.setContentCnt(fishingBoatService.selectFishingBoatListCnt(params)); + params.setPaginationInfo(); + + if(params.getYear()==null){ + params.setYear(LocalDateTime.now().getYear()); + } + List yearList = fishingBoatService.selectFishingBoatYearParam(params); + if(!yearList.contains(params.getYear())){ + yearList.add(params.getYear()); + } + mav.addObject("yearList", yearList); + mav.addObject("searchParams", params); return mav; } diff --git a/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/mapper/CrackdownStatusMapper.java b/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/mapper/CrackdownStatusMapper.java index 5a360891..514d8c73 100644 --- a/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/mapper/CrackdownStatusMapper.java +++ b/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/mapper/CrackdownStatusMapper.java @@ -1,5 +1,6 @@ package com.dbnt.faisp.main.faStatistics.crackdownsStatus.mapper; +import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.UnlawfulFishingParam; import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.crackdownStatus.CrackdownStatus; import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.crackdownStatus.CrackdownStatusVersion; import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.fishingBoat.FishingBoat; @@ -14,10 +15,12 @@ public interface CrackdownStatusMapper { List selectCrackdownStatusList(CrackdownStatus crackdownStatus); Integer selectCrackdownStatusListCnt(CrackdownStatus crackdownStatus); - List selectFishingBoatList(CrackdownStatus crackdownStatus); - Integer selectFishingBoatListCnt(CrackdownStatus crackdownStatus); + List selectFishingBoatList(UnlawfulFishingParam params); + Integer selectFishingBoatListCnt(UnlawfulFishingParam params); + List selectFishingBoatYearParam(UnlawfulFishingParam params); List selectCrackdownStatusVersionList(Integer cdsKey); List selectFishingBoatVersionList(Integer fbKey); List selectProcessResultVersionList(Integer prKey); + } diff --git a/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/model/UnlawfulFishingParam.java b/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/model/UnlawfulFishingParam.java new file mode 100644 index 00000000..7c2576ce --- /dev/null +++ b/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/model/UnlawfulFishingParam.java @@ -0,0 +1,29 @@ +package com.dbnt.faisp.main.faStatistics.crackdownsStatus.model; + + +import com.dbnt.faisp.config.BaseModel; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; + +import java.util.List; + +@Getter +@Setter +@NoArgsConstructor +public class UnlawfulFishingParam extends BaseModel { + private Integer year; + private String caseAgency; + private String crackdownPolice; + private String crackdownBoat; + private String boatNameKr; + private String boatNnySung; + private String boatNnySi; + private Double tonMin; + private Double tonMax; + private String boatMaterial; + private String fisheryType; + private List violationList; + private String processStatus; + +} diff --git a/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/model/sailor/Sailor.java b/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/model/sailor/Sailor.java index 45693754..eef5aaa8 100644 --- a/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/model/sailor/Sailor.java +++ b/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/model/sailor/Sailor.java @@ -1,6 +1,5 @@ package com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.sailor; -import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.SailorFile; import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.crackdownStatus.CrackdownStatus; import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.fishingBoat.FishingBoat; import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.fishingBoat.Violation; diff --git a/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/model/SailorFile.java b/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/model/sailor/SailorFile.java similarity index 93% rename from src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/model/SailorFile.java rename to src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/model/sailor/SailorFile.java index 6b295a9f..840d0d10 100644 --- a/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/model/SailorFile.java +++ b/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/model/sailor/SailorFile.java @@ -1,4 +1,4 @@ -package com.dbnt.faisp.main.faStatistics.crackdownsStatus.model; +package com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.sailor; import com.dbnt.faisp.config.FileInfo; import lombok.*; diff --git a/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/model/SailorFileVersion.java b/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/model/sailor/SailorFileVersion.java similarity index 94% rename from src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/model/SailorFileVersion.java rename to src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/model/sailor/SailorFileVersion.java index f7a00ec6..68eaf9aa 100644 --- a/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/model/SailorFileVersion.java +++ b/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/model/sailor/SailorFileVersion.java @@ -1,4 +1,4 @@ -package com.dbnt.faisp.main.faStatistics.crackdownsStatus.model; +package com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.sailor; import com.dbnt.faisp.config.FileInfo; import lombok.*; diff --git a/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/model/sailor/SailorVersion.java b/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/model/sailor/SailorVersion.java index 757d1558..c5e6b9cd 100644 --- a/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/model/sailor/SailorVersion.java +++ b/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/model/sailor/SailorVersion.java @@ -1,7 +1,5 @@ package com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.sailor; -import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.SailorFile; -import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.SailorFileVersion; import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.crackdownStatus.CrackdownStatus; import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.fishingBoat.FishingBoat; import lombok.*; diff --git a/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/repository/SailorFileRepository.java b/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/repository/SailorFileRepository.java index f80bf45c..4eefd190 100644 --- a/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/repository/SailorFileRepository.java +++ b/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/repository/SailorFileRepository.java @@ -1,6 +1,6 @@ package com.dbnt.faisp.main.faStatistics.crackdownsStatus.repository; -import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.SailorFile; +import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.sailor.SailorFile; import org.springframework.data.jpa.repository.JpaRepository; import java.util.List; diff --git a/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/repository/SailorFileVersionRepository.java b/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/repository/SailorFileVersionRepository.java index 060c3ee1..b68b20a5 100644 --- a/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/repository/SailorFileVersionRepository.java +++ b/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/repository/SailorFileVersionRepository.java @@ -1,6 +1,6 @@ package com.dbnt.faisp.main.faStatistics.crackdownsStatus.repository; -import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.SailorFileVersion; +import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.sailor.SailorFileVersion; import org.springframework.data.jpa.repository.JpaRepository; public interface SailorFileVersionRepository extends JpaRepository { 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 de90b50e..2ded6039 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 @@ -2,33 +2,22 @@ package com.dbnt.faisp.main.faStatistics.crackdownsStatus.service; import com.dbnt.faisp.config.BaseService; -import com.dbnt.faisp.config.FileInfo; import com.dbnt.faisp.main.faStatistics.crackdownsStatus.mapper.CrackdownStatusMapper; -import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.SailorFile; -import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.SailorFileVersion; +import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.UnlawfulFishingParam; import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.crackdownStatus.CrackdownStatus; -import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.crackdownStatus.CrackdownStatusVersion; 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 lombok.RequiredArgsConstructor; import org.springframework.beans.BeanUtils; -import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; -import org.springframework.web.multipart.MultipartFile; -import java.io.File; -import java.time.LocalDateTime; import java.util.ArrayList; import java.util.List; -import java.util.UUID; @Service @RequiredArgsConstructor @@ -44,12 +33,17 @@ public class FishingBoatService extends BaseService { private final SailorRepository sailorRepository; private final SailorFileRepository sailorFileRepository; - public List selectFishingBoatList(CrackdownStatus crackdownStatus){ - return crackdownStatusMapper.selectFishingBoatList(crackdownStatus); + public List selectFishingBoatList(UnlawfulFishingParam params){ + return crackdownStatusMapper.selectFishingBoatList(params); } - public Integer selectFishingBoatListCnt(CrackdownStatus crackdownStatus){ - return crackdownStatusMapper.selectFishingBoatListCnt(crackdownStatus); + public Integer selectFishingBoatListCnt(UnlawfulFishingParam params){ + return crackdownStatusMapper.selectFishingBoatListCnt(params); } + + public List selectFishingBoatYearParam(UnlawfulFishingParam params) { + return crackdownStatusMapper.selectFishingBoatYearParam(params); + } + public CrackdownStatus selectCrackdownStatus(Integer cdsKey) { CrackdownStatus crackdownStatus = crackdownStatusRepository.findById(cdsKey).orElse(null); crackdownStatus.setCrackdownStatusVersionList(crackdownStatusMapper.selectCrackdownStatusVersionList(crackdownStatus.getCdsKey())); diff --git a/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/service/SailorService.java b/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/service/SailorService.java index f6ca8d1d..50df5a54 100644 --- a/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/service/SailorService.java +++ b/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/service/SailorService.java @@ -4,8 +4,8 @@ package com.dbnt.faisp.main.faStatistics.crackdownsStatus.service; import com.dbnt.faisp.config.BaseService; import com.dbnt.faisp.config.FileInfo; import com.dbnt.faisp.main.faStatistics.crackdownsStatus.mapper.SailorMapper; -import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.SailorFile; -import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.SailorFileVersion; +import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.sailor.SailorFile; +import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.sailor.SailorFileVersion; import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.crackdownStatus.CrackdownStatus; import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.fishingBoat.FishingBoat; import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.fishingBoat.Violation; diff --git a/src/main/resources/mybatisMapper/CrackdownStatusMapper.xml b/src/main/resources/mybatisMapper/CrackdownStatusMapper.xml index 98b9dc96..c2d425af 100644 --- a/src/main/resources/mybatisMapper/CrackdownStatusMapper.xml +++ b/src/main/resources/mybatisMapper/CrackdownStatusMapper.xml @@ -374,11 +374,118 @@ - + + and extract(year from a.napo_dt) = ${year} + + + and a.case_agency = #{caseAgency} + + + and a.crackdown_police = #{crackdownPolice} + + + and a.crackdown_boat = #{crackdownBoat} + + + and b.boat_name_kr like '%'||#{boatNameKr}||'%' + + + and b.boat_nny_sung like '%'||#{boatNnySung}||'%' + + + and b.boat_nny_si like '%'||#{boatNnySi}||'%' + + + and b.boat_material = #{boatMaterial} + + + and b.fishery_type = #{fisheryType} + + + and c.process_status = #{processStatus} + + + and b.ton_cnt >= #{tonMin} + + + and b.ton_cnt <= #{tonMax} + + + and + + e.violationCode like '%'||#{violation}||'%' + + + + + + and a.napo_dt >= #{startDate}::date + + + and a.napo_dt <= #{endDate}::date+1 + + + + + and c.eviction_dt >= #{startDate}::date + + + and c.eviction_dt <= #{endDate}::date+1 + + + + + and c.direct_handover_dt >= #{startDate}::date + + + and c.direct_handover_dt <= #{endDate}::date+1 + + + + + and c.consignment_dt >= #{startDate}::date + + + and c.consignment_dt <= #{endDate}::date+1 + + + + + and c.confiscation_dt >= #{startDate}::date + + + and c.confiscation_dt <= #{endDate}::date+1 + + + + + and c.boat_disposal_dt >= #{startDate}::date + + + and c.boat_disposal_dt <= #{endDate}::date+1 + + + + + and c.return_dt >= #{startDate}::date + + + and c.return_dt <= #{endDate}::date+1 + + + + + and a.wrt_dt >= #{startDate}::date + + + and a.wrt_dt <= #{endDate}::date+1 + + + - select a.cds_key, a.napo_dt, a.napo_sea_point_lon, @@ -408,7 +515,9 @@ left outer join sailor d on b.fb_key = d.fb_key and d.position = 'POS001' left outer join ( - select aa.fb_key, array_to_string(array_agg(ab.item_value), ', ') as violationStr + select aa.fb_key, + array_to_string(array_agg(ab.item_value), ', ') as violationStr, + array_to_string(array_agg(ab.item_cd), ', ') as violationCode from violation aa inner join code_mgt ab on aa.violation = ab.item_cd @@ -418,7 +527,7 @@ order by a.cds_key desc limit #{rowCnt} offset #{firstIndex} - select count(*) from crackdown_status a inner join fishing_boat b @@ -427,8 +536,22 @@ on a.cds_key = c.cds_key left outer join sailor d on b.fb_key = d.fb_key and d.position = 'POS001' + left outer join ( + select aa.fb_key, + array_to_string(array_agg(ab.item_value), ', ') as violationStr, + array_to_string(array_agg(ab.item_cd), ', ') as violationCode + from violation aa + inner join code_mgt ab + on aa.violation = ab.item_cd + group by aa.fb_key + ) e on b.fb_key = e.fb_key + - + - + + + @@ -54,7 +54,7 @@
@@ -70,32 +70,35 @@
- +
- +
+ + +
- - + +
@@ -103,7 +106,7 @@
@@ -112,23 +115,19 @@
-
- - -
-
- +
@@ -216,7 +215,7 @@
- +