From 97659f2ff9e1ac7d6bc967a0bbe0c308b6d642b9 Mon Sep 17 00:00:00 2001 From: "Jonguk. Lim" Date: Mon, 20 Mar 2023 17:15:48 +0900 Subject: [PATCH] =?UTF-8?q?feat:=20=EC=B4=88=EA=B8=B0=EC=9E=90=EB=A3=8C=20?= =?UTF-8?q?=EC=9E=85=EB=A0=A5=20>=20=EB=AF=BC=EC=9B=90=EC=9D=B4=EB=A0=A5?= =?UTF-8?q?=20=ED=8C=9D=EC=97=85=20=EB=B0=98=EC=98=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../fims/biz/cmm/dto/FimsCrackdownDTO.java | 10 + .../cmm/web/FimsCrackDownMgtController.java | 10 + .../java/kr/xit/fims/biz/rt/dto/RtDTO.java | 1 - .../cmm/cmm-fims-crackdown-mysql-mapper.xml | 139 +++++------ .../biz/cmm/cmmCtznComplaintHistPopup.jsp | 224 ++++++++++++++++++ .../biz/cmm/cmmFimsCrackdownEditPopup.jsp | 31 +-- .../resources/biz/common/js/fimsApiURL.js | 1 + 7 files changed, 326 insertions(+), 90 deletions(-) create mode 100644 src/main/webapp/WEB-INF/jsp/fims/biz/cmm/cmmCtznComplaintHistPopup.jsp diff --git a/src/main/java/kr/xit/fims/biz/cmm/dto/FimsCrackdownDTO.java b/src/main/java/kr/xit/fims/biz/cmm/dto/FimsCrackdownDTO.java index c4cd88ea..c8c31d3f 100644 --- a/src/main/java/kr/xit/fims/biz/cmm/dto/FimsCrackdownDTO.java +++ b/src/main/java/kr/xit/fims/biz/cmm/dto/FimsCrackdownDTO.java @@ -197,4 +197,14 @@ public class FimsCrackdownDTO { private String updusr; } + + @Data + @NoArgsConstructor + @AllArgsConstructor + @Builder + public static class CtznCmpltRequest { + private String regltId; + private String payerId; + private String vhcleNo; + } } diff --git a/src/main/java/kr/xit/fims/biz/cmm/web/FimsCrackDownMgtController.java b/src/main/java/kr/xit/fims/biz/cmm/web/FimsCrackDownMgtController.java index 70b80d7d..e767864e 100644 --- a/src/main/java/kr/xit/fims/biz/cmm/web/FimsCrackDownMgtController.java +++ b/src/main/java/kr/xit/fims/biz/cmm/web/FimsCrackDownMgtController.java @@ -129,6 +129,16 @@ public class FimsCrackDownMgtController { return mav; } + @RequestMapping(value = "/cmmCtznComplaintHistPopup") + public ModelAndView cmmCtznComplaintHistPopup(final FimsCrackdownDTO.CtznCmpltRequest dto){ + ModelAndView mav = new ModelAndView(); + + mav.addObject("param", dto); + mav.addObject("pageTitle", "민원 이력 "); + mav.setViewName(FimsConst.FIMS_JSP_BASE_PATH + "cmm/cmmCtznComplaintHistPopup.popup"); + return mav; + } + @RequestMapping(value = "/findCrackdownInfos") public ModelAndView findCrackdownInfos(@RequestParam final Map paraMap) { return ResultResponse.of(service.findCrackdownInfos(paraMap, MybatisUtils.getPagingInfo(paraMap))); diff --git a/src/main/java/kr/xit/fims/biz/rt/dto/RtDTO.java b/src/main/java/kr/xit/fims/biz/rt/dto/RtDTO.java index 6e7570d1..0b5d823d 100644 --- a/src/main/java/kr/xit/fims/biz/rt/dto/RtDTO.java +++ b/src/main/java/kr/xit/fims/biz/rt/dto/RtDTO.java @@ -110,7 +110,6 @@ public class RtDTO { /** * 차량 번호 */ - @MaskRequired(type = MaskingType.NAME) private String vhcleNo; /** * 차량 명 diff --git a/src/main/resources/sqlmapper/biz/cmm/cmm-fims-crackdown-mysql-mapper.xml b/src/main/resources/sqlmapper/biz/cmm/cmm-fims-crackdown-mysql-mapper.xml index e3fa539f..6b3d66a2 100644 --- a/src/main/resources/sqlmapper/biz/cmm/cmm-fims-crackdown-mysql-mapper.xml +++ b/src/main/resources/sqlmapper/biz/cmm/cmm-fims-crackdown-mysql-mapper.xml @@ -7,89 +7,92 @@ ************************************************************************************************************** --> SELECT trr.reglt_id - , trr.payer_id -- 납부자ID - , trr.instt_code -- 기관코드 - , trr.sys_code -- 시스템코드 - , trr.reglt_se_code -- 단속구분코드 - , trr.input_se_code -- 입력구분코드 + , trr.payer_id -- 납부자ID + , trr.instt_code -- 기관코드 + , trr.sys_code -- 시스템코드 + , trr.reglt_se_code -- 단속구분코드 + , trr.input_se_code -- 입력구분코드 , trr.reglt_de - , trr.reglt_begin_time -- 단속시작시간 - , trr.reglt_end_time -- 단속종료시간 - , trr.violt_lrg_code -- 위반 법규 코드 - , trr.violt_dtls_code -- 위반내역코드 - , trr.violt_dtls_etc_cn -- 위반내역 기타 내용 - , trr.reglt_place -- 위반장소 - , trr.violt_co -- 위반횟수 - , trr.violt_legaldong_code -- 위반법정코드 + , trr.reglt_begin_time -- 단속시작시간 + , trr.reglt_end_time -- 단속종료시간 + , trr.violt_lrg_code -- 위반 법규 코드 + , trr.violt_dtls_code -- 위반내역코드 + , trr.violt_dtls_etc_cn -- 위반내역 기타 내용 + , trr.reglt_place -- 위반장소 + , trr.violt_co -- 위반횟수 + , trr.violt_legaldong_code -- 위반법정코드 , trr.gps_x , trr.gps_y - , trr.towng_at_code -- 견인여부 코드 - , trr.stickr_no -- 스티커 번호 - , trr.image_se_code -- 이미지구분코드 - , trr.image_nmrs -- 이미지매수 - , trr.redution_amount -- 감경금액 - , trr.redution_aft_amount -- 감경후 금액 - , trr.rciv_amount -- 수납금액 - , trr.rdcamt -- 감액 - , trr.adamt -- 가산금 - , trr.vhcle_no -- 차량번호 - , trr.vhcle_nm -- 차량명 - , trr.vhcty_cl_code -- 차종분류코드 - , trr.vhcty_asort_code -- 차종종별코드 - , trr.vin -- 차대번호 - , trr.spcmnt_matter -- 특기사항 - , trr.reglt_specl_zone_se_code -- 단속특별구역코드 + , trr.towng_at_code -- 견인여부 코드 + , trr.stickr_no -- 스티커 번호 + , trr.image_se_code -- 이미지구분코드 + , trr.image_nmrs -- 이미지매수 + , trr.redution_amount -- 감경금액 + , trr.redution_aft_amount -- 감경후 금액 + , trr.rciv_amount -- 수납금액 + , trr.rdcamt -- 감액 + , trr.adamt -- 가산금 + , trr.vhcle_no -- 차량번호 + , trr.vhcle_nm -- 차량명 + , trr.vhcty_cl_code -- 차종분류코드 + , trr.vhcty_asort_code -- 차종종별코드 + , trr.vin -- 차대번호 + , trr.spcmnt_matter -- 특기사항 + , trr.reglt_specl_zone_se_code -- 단속특별구역코드 , trr.reglt_process_sttus_code - , trr.last_process_dt -- 최종처리일시 - , trr.last_opetr -- 최종 처리자 - , trr.regist_se_code -- 등록구분 + , trr.last_process_dt -- 최종처리일시 + , trr.last_opetr -- 최종 처리자 + , trr.regist_se_code -- 등록구분 , CONCAT(trr.reglt_de, trr.reglt_begin_time) AS regltDeTime , trr.regist_dt - , teerc.extrl_reglt_cntc_id -- CCTV data ID : 접수번호로 보여줄 것 + , teerc.extrl_reglt_cntc_id -- CCTV data ID : 접수번호로 보여줄 것 , tecsd.interface_seq_n , tecsd.ctzn_sttemnt_detail_sn - , tecs.cvpl_rcept_no -- 접수번호 - , tecs.cvpl_rcept_dt -- 접수일자 - , tecs.cvpl_applcnt_nm -- 신고자 - , tecs.cvpl_process_pd -- 처리기한 - , teei.duty_id_v -- 담당자 - , teei.pcd_tel_v -- 담당자 전화번호 + , tecs.cvpl_rcept_no -- 접수번호 + , tecs.cvpl_rcept_dt -- 접수일자 + , tecs.cvpl_applcnt_nm -- 신고자 + , tecs.cvpl_process_pd -- 처리기한 + , teei.duty_id_v -- 담당자 + , teei.pcd_tel_v -- 담당자 전화번호 , tre.erpp_id - , tre.erpp_se_code -- 서손구분코드 - , tre.erpp_resn_detail -- 서손사유상세 - , trp.lnm_road_adres_se_code -- 지번 도로 주소 구분 코드 + , tre.erpp_se_code -- 서손구분코드 + , tre.erpp_resn_detail -- 서손사유상세 + , trp.lnm_road_adres_se_code -- 지번 도로 주소 구분 코드 , trp.zip , trp.adres , trp.detail_adres - , trp.legaldong_code -- 법정동 코드 + , trp.legaldong_code -- 법정동 코드 , IF(trr.reglt_se_code = '09', tecsd.violt_dtls_nm, teerc.violt_dtls_nm) AS violtDtlsNm -- 위반내용 , (SELECT COUNT(reglt_id) - FROM tb_rt_reglt tgt - WHERE tgt.vhcle_no = trr.vhcle_no - AND NOT NULLIF(trr.vhcle_no, '') IS NULL - ) AS vhcleNoCnt + FROM tb_rt_reglt tgt + WHERE tgt.vhcle_no = trr.vhcle_no + AND NOT NULLIF(trr.vhcle_no, '') IS NULL) AS vhcleNoCnt , (SELECT COUNT(cmplt_id) - FROM tb_ec_ctzn_sttemnt_cmplt tgt - WHERE EXISTS(SELECT 1 - FROM tb_rt_reglt - WHERE tgt.reglt_id = reglt_id - AND payer_id = trr.payer_id - ) - OR tgt.vhcle_no = trr.vhcle_no - ) AS minwonCnt - FROM tb_rt_reglt trr - LEFT JOIN tb_ec_extrl_reglt_cntc teerc - ON trr.reglt_id = teerc.reglt_id - LEFT JOIN tb_ec_ctzn_sttemnt_detail tecsd - ON trr.reglt_id = tecsd.reglt_id - LEFT JOIN tb_ec_ctzn_sttemnt tecs - ON tecsd.interface_seq_n = tecs.interface_seq_n - LEFT JOIN tb_ec_esb_interface teei - ON tecs.interface_seq_n = teei.interface_seq_n - LEFT JOIN tb_rt_erpp tre - ON trr.reglt_id = tre.reglt_id - LEFT JOIN tb_rt_payer trp - ON trr.payer_id = trp.payer_id + FROM tb_ec_ctzn_sttemnt_cmplt tgt + WHERE EXISTS(SELECT 1 + FROM tb_rt_reglt + WHERE tgt.reglt_id = reglt_id + AND NOT NULLIF(payer_id, '') IS NULL + AND payer_id = trr.payer_id + ) + OR ( + NOT NULLIF(trr.vhcle_no, '') IS NULL + AND tgt.vhcle_no = trr.vhcle_no + ) + ) AS minwonCnt + FROM tb_rt_reglt trr + LEFT JOIN tb_ec_extrl_reglt_cntc teerc + ON trr.reglt_id = teerc.reglt_id + LEFT JOIN tb_ec_ctzn_sttemnt_detail tecsd + ON trr.reglt_id = tecsd.reglt_id + LEFT JOIN tb_ec_ctzn_sttemnt tecs + ON tecsd.interface_seq_n = tecs.interface_seq_n + LEFT JOIN tb_ec_esb_interface teei + ON tecs.interface_seq_n = teei.interface_seq_n + LEFT JOIN tb_rt_erpp tre + ON trr.reglt_id = tre.reglt_id + LEFT JOIN tb_rt_payer trp + ON trr.payer_id = trp.payer_id diff --git a/src/main/webapp/WEB-INF/jsp/fims/biz/cmm/cmmCtznComplaintHistPopup.jsp b/src/main/webapp/WEB-INF/jsp/fims/biz/cmm/cmmCtznComplaintHistPopup.jsp new file mode 100644 index 00000000..fe0700f1 --- /dev/null +++ b/src/main/webapp/WEB-INF/jsp/fims/biz/cmm/cmmCtznComplaintHistPopup.jsp @@ -0,0 +1,224 @@ +<%-- +================================================================================ +File : /fims/biz/cmm/cmmCtznComplaintHistPopup.jsp +Name : 단속현황 시민 민원 이력 팝업 - 단속관리>초기자료 편집 +Auth : lim.jong.uk +Date : 2023-03-20 +Desc : 단속현황 시민 민원 이력 팝업 +================================================================================ +Date Author Description +================================================================================ +================================================================================ +--%> +<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> +<%@ include file="/WEB-INF/jsp/framework/taglibs.jsp"%> + + + diff --git a/src/main/webapp/WEB-INF/jsp/fims/biz/cmm/cmmFimsCrackdownEditPopup.jsp b/src/main/webapp/WEB-INF/jsp/fims/biz/cmm/cmmFimsCrackdownEditPopup.jsp index 9ad1e71a..3750c135 100644 --- a/src/main/webapp/WEB-INF/jsp/fims/biz/cmm/cmmFimsCrackdownEditPopup.jsp +++ b/src/main/webapp/WEB-INF/jsp/fims/biz/cmm/cmmFimsCrackdownEditPopup.jsp @@ -326,18 +326,13 @@ Date Author Description ); fnPopupBiz.showCrackdownVhcleNoCnt(res.infoDTO.vhcleNoCnt); fnPopupBiz.showMinwonCnt(res.infoDTO.minwonCnt); - /* - if(res.infoDTO.vhcleNoCnt > 0) { - console.log(res.infoDTO.vhcleNoCnt); - $('#vhcleNoCnt').text( - res.infoDTO.vhcleNoCnt - ); - $('#crackdownCnt').show(); - }else{ - $('#crackdownCnt').hide(); + schParam = { + regltId: res.infoDTO?.regltId, + regltSeCode: res.infoDTO?.regltSeCode, + payerId: res.infoDTO.payerId, + vhcleNo: res.infoDTO.vhcleNo } - */ cmmImgDownload('#imgList', res.attchFiles, fnPopupBiz.pagePopup, true, '60px', () => document.getElementById(curId).className += ' curImgData' ); @@ -346,10 +341,7 @@ Date Author Description fnPopupBiz.resetDisplay(res.ctznDTO?.cvplRceptNo); setFormData(document.querySelector('#frm'), {...res.ctznDTO, ...res.payerDTO, ...res.infoDTO}); - schParam = { - regltId: res.infoDTO?.regltId, - regltSeCode: res.infoDTO?.regltSeCode - } + orgData = $('form').serialize(); } }) @@ -636,14 +628,11 @@ Date Author Description // TODO :: 개별총정보>민원내역탭 내용의 팝업 필요 ,goMinwonPopup: () => { - alert('개별총정보>민원내역탭 내용의 팝업 필요'); - /* - const url = "/fims/biz/cmm/cmmFimsCrackdownTotMgtPopup.do"; - const popOption = {width: 1200, height:900}; - const popTitle = "개별총정보"; - const params = {regltSeCode: schParam.regltSeCode, regltId: schParam.regltId} + const url = fimsApiUrl.POPUP_CTZN_CMPLNT_HIST; + const popOption = {width: 800, height:600}; + const popTitle = "민원 내역 조회"; + const params = {regltId: schParam.regltId, payerId: schParam.payerId, vhcleNo:schParam.vhcleNo} const p = CmmPopup.open(url, params, popOption, popTitle); - */ } }; diff --git a/src/main/webapp/resources/biz/common/js/fimsApiURL.js b/src/main/webapp/resources/biz/common/js/fimsApiURL.js index 5757b45c..cf32e9e7 100644 --- a/src/main/webapp/resources/biz/common/js/fimsApiURL.js +++ b/src/main/webapp/resources/biz/common/js/fimsApiURL.js @@ -10,6 +10,7 @@ const fimsApiUrl = { ,POPUP_ENLIGHT_DISALLOW: '/fims/biz/cmm/cmmEnlightDisallowPopup.do' //서손 / 계도 처리 popup ,POPUP_IMPOSE: '/fims/biz/cmm/cmmImposePopup.do' //과태료시스템등록 popup ,POPUP_CTZN_ANS_PREVIEW: '/fims/biz/cmm/cmmCtznAnswerPreviewPopup.do' //시민신고 답변 미리보기 팝업 //과태료시스템등록 popup + ,POPUP_CTZN_CMPLNT_HIST: '/fims/biz/cmm/cmmCtznComplaintHistPopup.do' //민원이력 팝업 //과태료시스템등록 popup ,FIND_CRACKDOWNS: '/fims/biz/cmm/findCrackdownInfos.do' //단속현황-외부연계자료목록 ,FIND_CRACKDOWN_INFO: '/fims/biz/cmm/findCrackdownInfoAndAttchFiles.do' //단속현황-개별총정보 위반정보탭 조회 ,FIND_CTZN_ANS_INFO: '/fims/biz/cmm/findCtznStmtAnswer.do' //시민신고 답변 정보 조회