diff --git a/src/main/java/com/dbnt/faisp/config/ModalController.java b/src/main/java/com/dbnt/faisp/config/ModalController.java index ae2357c1..c694fb2f 100644 --- a/src/main/java/com/dbnt/faisp/config/ModalController.java +++ b/src/main/java/com/dbnt/faisp/config/ModalController.java @@ -1,12 +1,15 @@ package com.dbnt.faisp.config; 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.crackdownStatus.CrackdownStatusDTO; import com.dbnt.faisp.main.faStatistics.crackdownsStatus.repository.FishingBoatRepository; import com.dbnt.faisp.main.faStatistics.crackdownsStatus.repository.ProcessResultRepository; import com.dbnt.faisp.main.faStatistics.crackdownsStatus.repository.SailorRepository; import com.dbnt.faisp.main.faStatistics.crackdownsStatus.repository.ViolationRepository; import com.dbnt.faisp.main.faStatistics.crackdownsStatus.service.CrackdownStatusService; +import com.dbnt.faisp.main.faStatistics.crackdownsStatus.service.FishingBoatService; import com.dbnt.faisp.main.menuMgt.model.MenuMgt; import com.dbnt.faisp.main.menuMgt.service.MenuMgtService; import com.dbnt.faisp.main.userInfo.model.UserInfo; @@ -18,6 +21,7 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import org.springframework.web.servlet.ModelAndView; +import java.time.LocalDateTime; import java.util.List; @@ -29,11 +33,7 @@ public class ModalController { private final MenuMgtService menuMgtService; private final UserInfoService userInfoService; private final CodeMgtService codeMgtService; - private final CrackdownStatusService crackdownStatusService; - private final ViolationRepository violationRepository; - private final ProcessResultRepository processResultRepository; - private final FishingBoatRepository fishingBoatRepository; - private final SailorRepository sailorRepository; + private final FishingBoatService fishingBoatService; @GetMapping("/menuModal") public ModelAndView menuModalPage(@AuthenticationPrincipal UserInfo loginUser, MenuMgt menuMgt){ @@ -65,21 +65,18 @@ public class ModalController { } @GetMapping("/crackdownStatusModal") - public ModelAndView crackdownStatusModal(@AuthenticationPrincipal UserInfo loginUser, CrackdownStatus crackdownStatus){ + public ModelAndView crackdownStatusModal(@AuthenticationPrincipal UserInfo loginUser, UnlawfulFishingParam params){ ModelAndView mav = new ModelAndView("common/modal/crackdownStatusModal"); - crackdownStatus.setQueryInfo(); - - List crackdownList = crackdownStatusService.selectCrackdownStatusList(crackdownStatus); - for (CrackdownStatus cds: crackdownList) { - cds.setViolationList(violationRepository.findByFbKey(cds.getFbKey())); - cds.setProcessResult(processResultRepository.findByCdsKey(cds.getCdsKey()).orElse(null)); - cds.setFishingBoat(fishingBoatRepository.findByCdsKey(cds.getCdsKey()).orElse(null)); - cds.setSailorList(sailorRepository.findByFbKey(cds.getFbKey())); + if(params.getYear()==null){ + params.setYear(LocalDateTime.now().getYear()); } - mav.addObject("crackdownList", crackdownList); - crackdownStatus.setContentCnt(crackdownStatusService.selectCrackdownStatusListCnt(crackdownStatus)); - crackdownStatus.setPaginationInfo(); - mav.addObject("searchParams", crackdownStatus); + List yearList = fishingBoatService.selectFishingBoatYearParam(params); + if(!yearList.contains(params.getYear())){ + yearList.add(params.getYear()); + } + mav.addObject("crackdownStatusList", fishingBoatService.selectCrackdownStatusList(params)); + mav.addObject("yearList", yearList); + mav.addObject("searchParams", params); return mav; } } diff --git a/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/CrackdownStatusController.java b/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/CrackdownStatusController.java index 130bb12b..bc507c69 100644 --- a/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/CrackdownStatusController.java +++ b/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/CrackdownStatusController.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.faStatistics.crackdownsStatus.model.crackdownStatus.CrackdownStatus; +import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.crackdownStatus.CrackdownStatusDTO; import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.fishingBoat.FishingBoat; import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.crackdownStatus.CrackdownStatusVersion; import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.processResult.ProcessResult; @@ -31,26 +32,6 @@ public class CrackdownStatusController { private final FishingBoatRepository fishingBoatRepository; private final SailorRepository sailorRepository; - @RequestMapping("/crackdownStatus") - public ModelAndView crackdownStatus(@AuthenticationPrincipal UserInfo loginUser, CrackdownStatus crackdownStatus) { - ModelAndView mav = new ModelAndView("faStatistics/crackdownStatus/crackdownStatus"); - //메뉴권한 확인 - String accessAuth = authMgtService.selectAccessConfigList(loginUser.getUserSeq(), "/faStatistics/crackdownStatus").get(0).getAccessAuth(); - mav.addObject("accessAuth", accessAuth); - - crackdownStatus.setYear(((Integer)LocalDateTime.now().getYear()).toString()); - List crackdownStatusList = crackdownStatusService.selectCrackdownStatusList(crackdownStatus); - for (CrackdownStatus cds:crackdownStatusList) { - cds.setViolationList(violationRepository.findByFbKey(cds.getFbKey())); - cds.setProcessResult(processResultRepository.findByCdsKey(cds.getCdsKey()).orElse(new ProcessResult())); - cds.setFishingBoat(fishingBoatRepository.findByCdsKey(cds.getCdsKey()).orElse(new FishingBoat())); - cds.setSailorList(sailorRepository.findByFbKey(cds.getFbKey())); - } - - mav.addObject("crackdownStatusList", crackdownStatusList); - mav.addObject("searchParams", crackdownStatus); - return mav; - } @GetMapping("/crackdownStatus/crackdownStatusViewModal") public ModelAndView crackdownStatusViewModal(@AuthenticationPrincipal UserInfo loginUser, CrackdownStatus crackdownStatus){ 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 0b458426..1bdc83d9 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 @@ -4,6 +4,7 @@ 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.crackdownStatus.CrackdownStatusDTO; 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.processResult.ProcessResult; @@ -40,11 +41,30 @@ public class FishingBoatController { mav.addObject("accessAuth", accessAuth); params.setQueryInfo(); - List crackdownStatusList = fishingBoatService.selectFishingBoatList(params); + if(params.getYear()==null){ + params.setYear(LocalDateTime.now().getYear()); + } + List yearList = fishingBoatService.selectFishingBoatYearParam(params); + if(!yearList.contains(params.getYear())){ + yearList.add(params.getYear()); + } + List crackdownStatusList = fishingBoatService.selectFishingBoatList(params); mav.addObject("crackdownStatusList", crackdownStatusList); params.setContentCnt(fishingBoatService.selectFishingBoatListCnt(params)); params.setPaginationInfo(); + mav.addObject("yearList", yearList); + mav.addObject("deadlineState", menuMgtService.selectDeadlineChk("/faStatistics/fishingBoat")); + mav.addObject("searchParams", params); + return mav; + } + + @RequestMapping("/crackdownStatus") + public ModelAndView crackdownStatus(@AuthenticationPrincipal UserInfo loginUser, UnlawfulFishingParam params) { + ModelAndView mav = new ModelAndView("faStatistics/crackdownStatus/crackdownStatus"); + //메뉴권한 확인 + String accessAuth = authMgtService.selectAccessConfigList(loginUser.getUserSeq(), "/faStatistics/crackdownStatus").get(0).getAccessAuth(); + mav.addObject("accessAuth", accessAuth); if(params.getYear()==null){ params.setYear(LocalDateTime.now().getYear()); @@ -53,8 +73,8 @@ public class FishingBoatController { if(!yearList.contains(params.getYear())){ yearList.add(params.getYear()); } + mav.addObject("crackdownStatusList", fishingBoatService.selectCrackdownStatusList(params)); mav.addObject("yearList", yearList); - mav.addObject("deadlineState", menuMgtService.selectDeadlineChk("/faStatistics/fishingBoat")); 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 514d8c73..d773c019 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 @@ -2,6 +2,7 @@ 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.CrackdownStatusDTO; 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; @@ -12,8 +13,8 @@ import java.util.List; @Mapper public interface CrackdownStatusMapper { - List selectCrackdownStatusList(CrackdownStatus crackdownStatus); - Integer selectCrackdownStatusListCnt(CrackdownStatus crackdownStatus); + List selectCrackdownStatusList(UnlawfulFishingParam params); + Integer selectCrackdownStatusListCnt(UnlawfulFishingParam params); List selectFishingBoatList(UnlawfulFishingParam params); Integer selectFishingBoatListCnt(UnlawfulFishingParam params); 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 index 7c2576ce..c14a0bba 100644 --- 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 @@ -12,7 +12,9 @@ import java.util.List; @Setter @NoArgsConstructor public class UnlawfulFishingParam extends BaseModel { + private Integer year; + private Integer month; private String caseAgency; private String crackdownPolice; private String crackdownBoat; @@ -26,4 +28,40 @@ public class UnlawfulFishingParam extends BaseModel { private List violationList; private String processStatus; + private String napoSeaPointDetail; + private String nll; + private String mmsi; + private String distance; + private String isDamboUnpaidAmount; + private String isEvictionDt; + private String isReturnDt; + private String isConsignmentStartDt; + private String isConfiscationDt; + private String boatDisposalType; + private String isDirectHandoverDt; + private String handoverSeaPointDetail; + private String handoverBoat; + private String middleTakeoverBoat; + private String sailorNameKr; + private String catchFishSpecies; + private String offenseFishSpecies; + private String confiscationFrame; + private String confiscationWidth; + private String confiscationJo; + private String confiscationGae; + private String confiscationEtc; + private String obstrExspdCnt; + private String personDamageCnt; + private String personDamageAmount; + private String personDamageDetail; + private String materialDamageCnt; + private String materialDamageAmount; + private String materialDamageDetail; + private String captainRestriction; + private String navigaterRestriction; + private String engineerRestriction; + private String ownerRestriction; + private String seniorRestriction; + private String normalRestriction; + } diff --git a/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/model/crackdownStatus/CrackdownStatusDTO.java b/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/model/crackdownStatus/CrackdownStatusDTO.java new file mode 100644 index 00000000..9f040a62 --- /dev/null +++ b/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/model/crackdownStatus/CrackdownStatusDTO.java @@ -0,0 +1,113 @@ +package com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.crackdownStatus; + +import com.dbnt.faisp.config.BaseModel; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; +import org.springframework.format.annotation.DateTimeFormat; + +import javax.persistence.Column; +import javax.persistence.MappedSuperclass; +import java.time.LocalDate; +import java.time.LocalDateTime; + +@Getter +@Setter +@NoArgsConstructor +public class CrackdownStatusDTO extends BaseModel { + private Integer cdsKey; + private String status; + private String caseNum; + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm") + private LocalDateTime napoDt; + private String violationStr; + private String violationCode; + private String napoSeaPointLon; + private String napoSeaPointLat; + private String napoSeaPointDetail; + private String nll; + private Integer obstrExspdCnt; + private Integer personDamageCnt; + private Integer personDamageAmount; + private String personDamageDetail; + private Integer materialDamageCnt; + private Integer materialDamageAmount; + private String materialDamageDetail; + private String caseAgency; + private String crackdownPolice; + private String crackdownBoat; + private String mmsi; + private String boatNameKr; + private Double tonCnt; + private Integer sailorCnt; + private String boatMaterial; + private String boatNnySung; + private String boatNnySi; + private String captainName; + @DateTimeFormat(pattern = "yyyy-MM-dd") + private LocalDate captainBirthDate; + private String fisheryType; + private String catchFishSpecies; + private Double catchCnt; + private String offenseType; + private Double offenseWeight; + private Double offenseQuantity; + private Double offenseAmount; + private Double offenseIllegalWasteQuantity; + private String processStatus; + private Double damboUnpaidAmount; + private Double damboPayment; + private LocalDate paymentPaymentDt; + @DateTimeFormat(pattern = "yyyy-MM-dd") + private LocalDate consignmentStartDt; + @DateTimeFormat(pattern = "yyyy-MM-dd") + private LocalDate consignmentEndDt; + @DateTimeFormat(pattern = "yyyy-MM-dd") + private LocalDate evictionDt; + @DateTimeFormat(pattern = "yyyy-MM-dd") + private LocalDate directHandoverDt; + private String boatDisposalType; + @DateTimeFormat(pattern = "yyyy-MM-dd") + private LocalDate exileDt; + @DateTimeFormat(pattern = "yyyy-MM-dd") + private LocalDate returnDt; + private String handoverSeaPointLon; + private String handoverSeaPointLat; + private String handoverSeaPointDetail; + private String handoverBoat; + private String middleTakeoverBoat; + @DateTimeFormat(pattern = "yyyy-MM-dd") + private LocalDate confiscationDt; + private Integer captainRestriction; + private Integer navigaterRestriction; + private Integer engineerRestriction; + private Integer ownerRestriction; + private Integer seniorRestriction; + private Integer normalRestriction; + private Integer captainRestrictionNot; + private Integer navigaterRestrictionNot; + private Integer engineerRestrictionNot; + private Integer ownerRestrictionNot; + private Integer seniorRestrictionNot; + private Integer normalRestrictionNot; + private String fieldIvsgt; + @DateTimeFormat(pattern = "yyyy-MM-dd hh:mm") + private LocalDateTime releaseDt; + private String fieldIvsgtDayHour; + private String pressurizedTimeTaken; + private String distance; + private String warrantReqTakeTime; + private String confiscationFrame; + private String confiscationWidth; + private String confiscationJo; + private String confiscationGae; + private String confiscationEtc; + + private String wrtOrgan; + private String wrtPart; + private Integer wrtUserSeq; + private String wrtUserGrd; + private String wrtUserNm; + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm") + private LocalDateTime wrtDt; +} diff --git a/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/model/fishingBoat/FishingBoatBaseEntity.java b/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/model/fishingBoat/FishingBoatBaseEntity.java index 2fcd612a..c74a678f 100644 --- a/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/model/fishingBoat/FishingBoatBaseEntity.java +++ b/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/model/fishingBoat/FishingBoatBaseEntity.java @@ -48,9 +48,9 @@ public class FishingBoatBaseEntity extends BaseModel { @Column(name = "offense_illegal_waste_quantity") private Integer offenseIllegalWasteQuantity=0; @Column(name = "dambo_unpaid_amount") - private Integer damboUnpaidAmount=0; + private Double damboUnpaidAmount=0d; @Column(name = "dambo_payment") - private Integer damboPayment=0; + private Double damboPayment=0d; @Column(name = "payment_payment_dt") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm") private LocalDateTime paymentPaymentDt; diff --git a/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/service/CrackdownStatusService.java b/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/service/CrackdownStatusService.java index 2a7de610..3923139d 100644 --- a/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/service/CrackdownStatusService.java +++ b/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/service/CrackdownStatusService.java @@ -4,6 +4,7 @@ package com.dbnt.faisp.main.faStatistics.crackdownsStatus.service; import com.dbnt.faisp.config.BaseService; import com.dbnt.faisp.main.faStatistics.crackdownsStatus.mapper.CrackdownStatusMapper; import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.crackdownStatus.CrackdownStatus; +import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.crackdownStatus.CrackdownStatusDTO; import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.crackdownStatus.CrackdownStatusVersion; import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.processResult.ProcessResultVersion; import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.sailor.Sailor; @@ -28,13 +29,6 @@ public class CrackdownStatusService extends BaseService { private final ProcessResultRepository processResultRepository; private final SailorRepository sailorRepository; - public List selectCrackdownStatusList(CrackdownStatus crackdownStatus) { - return crackdownStatusMapper.selectCrackdownStatusList(crackdownStatus); - }; - - public Integer selectCrackdownStatusListCnt(CrackdownStatus crackdownStatus) { - return crackdownStatusMapper.selectCrackdownStatusListCnt(crackdownStatus); - } public CrackdownStatus selectCrackdownStatus(Integer cdsKey) { CrackdownStatus savedCrackdownStatus = crackdownStatusRepository.findById(cdsKey).orElse(null); 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 2ded6039..213ca65b 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 @@ -5,6 +5,7 @@ import com.dbnt.faisp.config.BaseService; import com.dbnt.faisp.main.faStatistics.crackdownsStatus.mapper.CrackdownStatusMapper; 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.CrackdownStatusDTO; 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; @@ -40,6 +41,14 @@ public class FishingBoatService extends BaseService { return crackdownStatusMapper.selectFishingBoatListCnt(params); } + public List selectCrackdownStatusList(UnlawfulFishingParam params) { + return crackdownStatusMapper.selectCrackdownStatusList(params); + }; + + public Integer selectCrackdownStatusListCnt(UnlawfulFishingParam params) { + return crackdownStatusMapper.selectCrackdownStatusListCnt(params); + } + public List selectFishingBoatYearParam(UnlawfulFishingParam params) { return crackdownStatusMapper.selectFishingBoatYearParam(params); } diff --git a/src/main/resources/mybatisMapper/CrackdownStatusMapper.xml b/src/main/resources/mybatisMapper/CrackdownStatusMapper.xml index c2d425af..7c07593d 100644 --- a/src/main/resources/mybatisMapper/CrackdownStatusMapper.xml +++ b/src/main/resources/mybatisMapper/CrackdownStatusMapper.xml @@ -4,373 +4,174 @@ "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> - - - - And EXTRACT(YEAR FROM pr.wrt_dt) = #{year}::NUMERIC - - - And EXTRACT(MONTH FROM pr.wrt_dt) = #{month}::NUMERIC - - - AND case_num = #{caseNum} - - - AND nll = #{nll} - - - AND napo_dt::DATE = #{napoDate}::DATE - - - AND violation = #{violation} - - - AND invasion_type = #{invasionType} - - - AND ( - napo_sea_point_detail LIKE CONCAT('%', #{napoSeaPointDetail}, '%') - OR napo_sea_point_lon LIKE CONCAT('%', #{napoSeaPointDetail}, '%') - OR napo_sea_point_lat LIKE CONCAT('%', #{napoSeaPointDetail}, '%') - ) - - - AND obstr_exspd_cnt = #{obstrExspdCnt} - - - AND person_damage_cnt = #{personDamageCnt} - - - AND person_damage_amount = #{personDamageAmount} - - - AND person_damage_detail LIKE CONCAT('%', #{personDamageDetail}, '%') - - - AND material_damage_cnt = #{materialDamageCnt} - - - AND material_damage_amount = #{materialDamageAmount} - - - AND material_damage_detail LIKE CONCAT('%', #{materialDamageDetail}, '%') - - - AND case_agency = #{caseAgency} - - - AND crackdown_police = #{crackdownPolice} - - - AND crackdown_boat = #{crackdownBoat} - - - AND mmsi LIKE CONCAT('%', #{mmsi}, '%') - - - AND boat_name_kr LIKE CONCAT('%', #{boatNameKr}, '%') - - - AND ton_cnt =]]> #{tonStartCnt} - - - AND ton_cnt #{tonEndCnt} - - - AND boat_material = #{boatMaterial} - - - AND boat_nny_sung LIKE CONCAT('%', #{boatNnySung}, '%') - - - AND boat_nny_si LIKE CONCAT('%', #{boatNnySi}, '%') - - - AND sailor_name_kr LIKE CONCAT('%', #{sailorNameKr}, '%') - - - AND fishery_type = #{fisheryType} - - - AND catch_fish_species LIKE CONCAT('%', #{catchFishSpecies}, '%') - - - AND catch_cnt = #{catchCnt} - - - AND offense_fish_species LIKE CONCAT('%', #{offenseFishSpecies}, '%') - - - AND offense_catch_cnt = #{offenseCatchCnt} - - - AND offense_illegal_waste_quantity = #{offenseIllegalWasteQuantity} - - - AND offense_quantity = #{offenseQuantity} - - - AND offense_amount = #{offenseAmount} - - - AND process_status = #{processStatus} - - - AND dambo_payment = #{damboPayment} - - - AND payment_payment_dt::DATE = #{paymentPaymentDate}::DATE - - - AND dambo_unpaid_amount = #{damboUnpaidAmount} - - - - AND ( - dambo_unpaid_amount IS NOT NULL - AND dambo_unpaid_amount > 0 - ) - - - AND ( - direct_handover_dt IS NULL - OR dambo_unpaid_amount = 0 - ) - - - - - AND direct_handover_dt IS NOT NULL - - - AND direct_handover_dt IS NULL - - - - - - AND eviction_dt IS NOT NULL - - - AND eviction_dt IS NULL - - - - - - AND return_dt IS NOT NULL - - - AND return_dt IS NULL - - - - AND consignment_start_dt = #{consignmentStartDate}::DATE - - - AND consignment_end_dt = #{consignmentEndDate}::DATE - - - - - AND confiscation_dt IS NOT NULL - - - AND confiscation_dt IS NULL - - - - - AND consignment_start_dt IS NOT NULL - - - AND consignment_start_dt IS NULL - - - - - AND boat_disposal_type = #{boatDisposalType} - - - AND direct_handover_dt::DATE = #{directHandoverDate}::DATE - - - AND ( - handover_sea_point_lat LIKE CONCAT('%', #{handoverSeaPointDetail}, '%') - OR handover_sea_point_lon LIKE CONCAT('%', #{handoverSeaPointDetail}, '%') - OR handover_sea_point_detail LIKE CONCAT('%', #{handoverSeaPointDetail}, '%') - ) - - - AND handover_boat LIKE CONCAT('%', #{handoverBoat}, '%') - - - AND middle_takeover_boat LIKE CONCAT('%', #{middleTakeoverBoat}, '%') - - - AND ( - position = 'POS001' - AND is_restriction = #{captin} - ) - - - AND ( - position = 'POS002' - AND is_restriction = #{mate} - ) - - - AND ( - position = 'POS003' - AND is_restriction = #{warden} - ) - - - AND field_ivsgt_napo_dt::DATE = #{fieldIvsgtNapoDate}::DATE - - - AND field_ivsgt_release_dt::DATE = #{fieldIvsgtReleaseDate}::DATE - - - - AND distance = #{distance} - - - AND confiscation_frame = #{confiscationFrame} - - - AND confiscation_width = #{confiscationWidth} - - - AND confiscation_jo = #{confiscationJo} - - - AND confiscation_gae = #{confiscationGae} - - - AND confiscation_etc = #{confiscationEtc} - - - + + + + and extract(year from a.napo_dt) = #{year}::numeric + + + and extract(month from a.napo_dt) = #{month}::numeric + + + - + select a.cds_key, + a.status, + a.napo_dt, + f.violationStr, + a.napo_sea_point_lon, + a.napo_sea_point_lat, + a.napo_sea_point_detail, + f.violationCode, + a.nll, + a.obstr_exspd_cnt , + a.person_damage_cnt , + a.person_damage_amount , + a.person_damage_detail , + a.material_damage_cnt , + a.material_damage_amount , + a.material_damage_detail , + a.case_agency , + a.crackdown_police , + a.crackdown_boat , + a.mmsi , + c.boat_name_kr , + c.ton_cnt , + c.sailor_cnt, + c.boat_material , + c.boat_nny_sung , + c.boat_nny_si , + d.sailor_name_kr as captainName, + d.birthdate as captainBirthDate, + c.fishery_type , + c.catch_fish_species , + c.catch_cnt , + c.offense_type , + c.offense_weight , + c.offense_quantity , + c.offense_amount , + c.offense_illegal_waste_quantity , + b.process_status , + c.dambo_unpaid_amount , + c.dambo_payment , + c.payment_payment_dt , + b.consignment_start_dt , + b.consignment_end_dt , + b.eviction_dt , + b.direct_handover_dt , + b.boat_disposal_type , + b.exile_dt , + b.return_dt , + b.handover_sea_point_lon , + b.handover_sea_point_lat , + b.handover_sea_point_detail , + b.handover_boat , + b.middle_takeover_boat , + b.confiscation_dt, + coalesce(e.captainRestriction, 0) as captainRestriction, + coalesce(e.navigaterRestriction, 0) as navigaterRestriction, + coalesce(e.engineerRestriction, 0) as engineerRestriction, + coalesce(e.ownerRestriction, 0) as ownerRestriction, + coalesce(e.seniorRestriction, 0) as seniorRestriction, + coalesce(e.normalRestriction, 0) as normalRestriction, + coalesce(e.captainRestrictionNot, 0) as captainRestrictionNot, + coalesce(e.navigaterRestrictionNot, 0) as navigaterRestrictionNot, + coalesce(e.engineerRestrictionNot, 0) as engineerRestrictionNot, + coalesce(e.ownerRestrictionNot, 0) as ownerRestrictionNot, + coalesce(e.seniorRestrictionNot, 0) as seniorRestrictionNot, + coalesce(e.normalRestrictionNot, 0) as normalRestrictionNot, + a.field_ivsgt, + b.release_dt , + date_part('DAY', b.release_dt-a.napo_dt)||'일'||date_part('HOUR', b.release_dt-a.napo_dt)||'시간' as fieldIvsgtDayHour, + b.pressurized_time_taken , + a.distance , + b.warrant_req_take_time , + c.confiscation_frame , + c.confiscation_width , + c.confiscation_jo , + c.confiscation_gae , + c.confiscation_etc, + a.wrt_organ, + a.wrt_part, + a.wrt_user_seq, + a.wrt_user_grd, + a.wrt_user_nm, + a.wrt_dt + from crackdown_status a + inner join process_result b + on a.cds_key = b.cds_key + inner join fishing_boat c + on a.cds_key = c.cds_key + left outer join sailor d + on c.fb_key = d.fb_key and d.position = 'POS001' + left outer join ( + select fb_key, + sum(case when ab.item_cd = 'POS001' and is_restriction = 'Y' then 1 end) as captainRestriction, + sum(case when ab.item_cd = 'POS001' and (is_restriction is null or is_restriction <> 'Y') then 1 end) as captainRestrictionNot, + sum(case when ab.item_cd = 'POS002' and is_restriction = 'Y' then 1 end) as navigaterRestriction, + sum(case when ab.item_cd = 'POS002' and (is_restriction is null or is_restriction <> 'Y') then 1 end) as navigaterRestrictionNot, + sum(case when ab.item_cd = 'POS003' and is_restriction = 'Y' then 1 end) as engineerRestriction, + sum(case when ab.item_cd = 'POS003' and (is_restriction is null or is_restriction <> 'Y') then 1 end) as engineerRestrictionNot, + sum(case when ab.item_cd = 'POS004' and is_restriction = 'Y' then 1 end) as ownerRestriction, + sum(case when ab.item_cd = 'POS004' and (is_restriction is null or is_restriction <> 'Y') then 1 end) as ownerRestrictionNot, + sum(case when ab.item_cd = 'POS005' and is_restriction = 'Y' then 1 end) as seniorRestriction, + sum(case when ab.item_cd = 'POS005' and (is_restriction is null or is_restriction <> 'Y') then 1 end) as seniorRestrictionNot, + sum(case when ab.item_cd = 'POS006' and is_restriction = 'Y' then 1 end) as normalRestriction, + sum(case when ab.item_cd = 'POS006' and (is_restriction is null or is_restriction <> 'Y') then 1 end) as normalRestrictionNot + from sailor aa left outer join code_mgt ab on aa.position = ab.item_cd + group by fb_key + ) e on c.fb_key = e.fb_key + 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 + ) f on c.fb_key = f.fb_key - ORDER BY cs.cds_key DESC - LIMIT #{rowCnt} OFFSET #{firstIndex} - + order by a.napo_dt desc + - + select count(*) + from crackdown_status a + inner join process_result b + on a.cds_key = b.cds_key + inner join fishing_boat c + on a.cds_key = c.cds_key + left outer join sailor d + on c.fb_key = d.fb_key and d.position = 'POS001' + left outer join ( + select fb_key, + sum(case when ab.item_cd = 'POS001' and is_restriction = 'Y' then 1 end) as captainRestriction, + sum(case when ab.item_cd = 'POS001' and (is_restriction is null or is_restriction <> 'Y') then 1 end) as captainRestrictionNot, + sum(case when ab.item_cd = 'POS002' and is_restriction = 'Y' then 1 end) as navigaterRestriction, + sum(case when ab.item_cd = 'POS002' and (is_restriction is null or is_restriction <> 'Y') then 1 end) as navigaterRestrictionNot, + sum(case when ab.item_cd = 'POS003' and is_restriction = 'Y' then 1 end) as engineerRestriction, + sum(case when ab.item_cd = 'POS003' and (is_restriction is null or is_restriction <> 'Y') then 1 end) as engineerRestrictionNot, + sum(case when ab.item_cd = 'POS004' and is_restriction = 'Y' then 1 end) as ownerRestriction, + sum(case when ab.item_cd = 'POS004' and (is_restriction is null or is_restriction <> 'Y') then 1 end) as ownerRestrictionNot, + sum(case when ab.item_cd = 'POS005' and is_restriction = 'Y' then 1 end) as seniorRestriction, + sum(case when ab.item_cd = 'POS005' and (is_restriction is null or is_restriction <> 'Y') then 1 end) as seniorRestrictionNot, + sum(case when ab.item_cd = 'POS006' and is_restriction = 'Y' then 1 end) as normalRestriction, + sum(case when ab.item_cd = 'POS006' and (is_restriction is null or is_restriction <> 'Y') then 1 end) as normalRestrictionNot + from sailor aa left outer join code_mgt ab on aa.position = ab.item_cd + group by fb_key, is_restriction + ) e on c.fb_key = e.fb_key + 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 + ) f on c.fb_key = f.fb_key - + @@ -487,42 +288,42 @@ select count(*) from crackdown_status a - inner join fishing_boat b - on a.cds_key = b.cds_key - inner join process_result c - 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 + inner join fishing_boat b + on a.cds_key = b.cds_key + inner join process_result c + 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 - - + + @@ -49,27 +61,20 @@
-
- +
+ +
+ + +
- +
-
- -
- ~ + + ~
@@ -301,24 +306,24 @@
- - - + +
- - - + +
- - - + +
@@ -438,67 +443,6 @@ 단순폐선 폐선조건부공매 - @@ -562,135 +506,125 @@ - - + + + - - - - - - - - - - , - - + + + +
+
+
+ + + + + + + + + + + + + + + + - ~ - -
- - - 1 - 0 - - - - - - - - - - - - + + - - + + + + - - + + + + + + - - - - + + + + - - + + - - - - - - - - - - + + + + + + + + + + - - - + - - - - - - - - - - - - - - - - - - - - - - - - - + + - ~ - + - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
@@ -710,7 +644,13 @@
+