diff --git a/src/main/java/kr/xit/fims/biz/rt/mapper/IRtCrackdownMgtMapper.java b/src/main/java/kr/xit/fims/biz/rt/mapper/IRtCrackdownMgtMapper.java index aae576dc..42c631b6 100644 --- a/src/main/java/kr/xit/fims/biz/rt/mapper/IRtCrackdownMgtMapper.java +++ b/src/main/java/kr/xit/fims/biz/rt/mapper/IRtCrackdownMgtMapper.java @@ -7,6 +7,7 @@ import org.apache.ibatis.session.RowBounds; import egovframework.rte.psl.dataaccess.mapper.Mapper; import kr.xit.fims.biz.rt.model.RtDTO; +import kr.xit.framework.biz.cmm.model.CmmFileDTO; @Mapper public interface IRtCrackdownMgtMapper { @@ -30,7 +31,10 @@ public interface IRtCrackdownMgtMapper { void updateRtPayer(final RtDTO.Payer dto); - /*void modifyProcErpp(FimsTotalPopupVO vo);*/ + + + + List selectRtRegltAttchFiles(final RtDTO.Request dto); } diff --git a/src/main/java/kr/xit/fims/biz/rt/model/RtDTO.java b/src/main/java/kr/xit/fims/biz/rt/model/RtDTO.java index 5d836574..1d8428d1 100644 --- a/src/main/java/kr/xit/fims/biz/rt/model/RtDTO.java +++ b/src/main/java/kr/xit/fims/biz/rt/model/RtDTO.java @@ -5,12 +5,14 @@ import java.io.Serializable; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; +import lombok.NoArgsConstructor; public class RtDTO { /** * 단속 DTO */ @Data + @NoArgsConstructor @AllArgsConstructor @Builder public static class Reglt { @@ -172,14 +174,13 @@ public class RtDTO { * 최종 처리자 */ private String lastOpetr; - - } /** * 서손 DTO */ @Data + @NoArgsConstructor @AllArgsConstructor @Builder public static class Erpp implements Serializable { @@ -236,6 +237,7 @@ public class RtDTO { * 납부자 / 납부자이력 DTO */ @Data + @NoArgsConstructor @AllArgsConstructor @Builder public static class Payer implements Serializable { @@ -382,6 +384,7 @@ public class RtDTO { * 처리상태변경이력 DTO */ @Data + @NoArgsConstructor @AllArgsConstructor @Builder public static class ProcessSttusChangeHist implements Serializable { @@ -426,6 +429,7 @@ public class RtDTO { * 단속매핑 DTO */ @Data + @NoArgsConstructor @AllArgsConstructor @Builder public static class RegltMapng implements Serializable { @@ -455,12 +459,30 @@ public class RtDTO { } @Data + @NoArgsConstructor @AllArgsConstructor @Builder public static class Request{ - private String vhcleNo; private String regltId; + private String vhcleNo; + + /** + * 단속일 + */ private String regltDe; + + /** + * 등록일시 + */ private String registDt; + + /** + * 단속구분코드 + */ + private String regltSeCode; + /** + * 파일업무구분코드 + */ + private String jobSeCode; } } diff --git a/src/main/java/kr/xit/fims/biz/rt/service/IRtCrackdownMgtService.java b/src/main/java/kr/xit/fims/biz/rt/service/IRtCrackdownMgtService.java index 30dea142..9ebe0cac 100644 --- a/src/main/java/kr/xit/fims/biz/rt/service/IRtCrackdownMgtService.java +++ b/src/main/java/kr/xit/fims/biz/rt/service/IRtCrackdownMgtService.java @@ -6,6 +6,7 @@ import java.util.Map; import org.apache.ibatis.session.RowBounds; import kr.xit.fims.biz.rt.model.RtDTO; +import kr.xit.framework.biz.cmm.model.CmmFileDTO; import kr.xit.framework.biz.cmm.model.XitLoginVO; import kr.xit.framework.core.utils.XitCmmnUtil; @@ -15,7 +16,7 @@ public interface IRtCrackdownMgtService { //----------------------------------------------------- List findRtReglts(final Map paraMap, final RowBounds rowBounds); - RtDTO.Reglt findRtReglt(final RtDTO.Request dto); + RtDTO.Reglt findRtReglt(final T t); void addRtReglt(final RtDTO.Reglt dto); void modifyRtReglt(final RtDTO.Reglt dto); void removeRtReglt(final RtDTO.Reglt dto); @@ -28,7 +29,13 @@ public interface IRtCrackdownMgtService { + List findRtRegltAttchFiles(RtDTO.Request dto); + + + default XitLoginVO getUserInfo(){ return XitCmmnUtil.getUserInfo(); } + + } diff --git a/src/main/java/kr/xit/fims/biz/rt/service/RtCrackdownMgtService.java b/src/main/java/kr/xit/fims/biz/rt/service/RtCrackdownMgtService.java index da3ef3b2..2a0584db 100644 --- a/src/main/java/kr/xit/fims/biz/rt/service/RtCrackdownMgtService.java +++ b/src/main/java/kr/xit/fims/biz/rt/service/RtCrackdownMgtService.java @@ -9,6 +9,8 @@ import org.springframework.transaction.annotation.Transactional; import kr.xit.fims.biz.rt.mapper.IRtCrackdownMgtMapper; import kr.xit.fims.biz.rt.model.RtDTO; +import kr.xit.fims.biz.utils.FimsBizUtils; +import kr.xit.framework.biz.cmm.model.CmmFileDTO; import lombok.RequiredArgsConstructor; @RequiredArgsConstructor @@ -24,8 +26,8 @@ public class RtCrackdownMgtService implements IRtCrackdownMgtService { @Override @Transactional(readOnly = true) - public RtDTO.Reglt findRtReglt(final RtDTO.Request dto) { - return mapper.selectRtReglt(dto); + public RtDTO.Reglt findRtReglt(final T t) { + return mapper.selectRtReglt(t); } @Override @Transactional @@ -64,4 +66,9 @@ public class RtCrackdownMgtService implements IRtCrackdownMgtService { } + @Override + public List findRtRegltAttchFiles(final RtDTO.Request dto) { + dto.setJobSeCode(FimsBizUtils.getFileJobSeCode(dto.getRegltSeCode())); + return mapper.selectRtRegltAttchFiles(dto); + } } diff --git a/src/main/java/kr/xit/fims/biz/rt/web/RtCrackdownMgtController.java b/src/main/java/kr/xit/fims/biz/rt/web/RtCrackdownMgtController.java index e33f1dfa..435aab9f 100644 --- a/src/main/java/kr/xit/fims/biz/rt/web/RtCrackdownMgtController.java +++ b/src/main/java/kr/xit/fims/biz/rt/web/RtCrackdownMgtController.java @@ -1,15 +1,21 @@ package kr.xit.fims.biz.rt.web; +import java.util.Map; + import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.servlet.ModelAndView; import kr.xit.fims.biz.FimsConst; import kr.xit.fims.biz.rt.model.RtDTO; import kr.xit.fims.biz.rt.service.IRtCrackdownMgtService; import kr.xit.framework.core.constants.FrameworkConstants; +import kr.xit.framework.core.model.ResultResponse; import kr.xit.framework.core.validation.XitBeanValidator; +import kr.xit.framework.support.mybatis.MybatisUtils; import kr.xit.framework.support.util.AjaxMessageMapRenderer; import kr.xit.framework.support.util.Checks; import kr.xit.framework.support.util.constants.MessageKey; @@ -62,6 +68,16 @@ public class RtCrackdownMgtController { return mav; } + @GetMapping(value = "/findRtReglts") + public ModelAndView findRtReglts(@RequestParam final Map paraMap) { + //new RtDTO.Reglt(); + return ResultResponse.of(service.findRtReglts(paraMap, MybatisUtils.getPagingInfo(paraMap))); + } + + @GetMapping(value = "/findRtReglt") + public ModelAndView findRtReglt(final String regltId) { + return ResultResponse.of(service.findRtReglt(regltId)); + } @PostMapping(value="/addRtReglt") public ModelAndView addRtReglt(RtDTO.Reglt dto){ @@ -90,4 +106,8 @@ public class RtCrackdownMgtController { return mav; } + @RequestMapping("/findRtRegltAttchFiles") + public ModelAndView findRtRegltAttchFiles(final RtDTO.Request dto) { + return ResultResponse.of(service.findRtRegltAttchFiles(dto)); + } } diff --git a/src/main/resources/sqlmapper/biz/rt/IRtCrackdownMgtMapper.xml b/src/main/resources/sqlmapper/biz/rt/rt-reglt-and-erpp-mysql-mapper.xml similarity index 73% rename from src/main/resources/sqlmapper/biz/rt/IRtCrackdownMgtMapper.xml rename to src/main/resources/sqlmapper/biz/rt/rt-reglt-and-erpp-mysql-mapper.xml index d51bfb35..91747b0a 100644 --- a/src/main/resources/sqlmapper/biz/rt/IRtCrackdownMgtMapper.xml +++ b/src/main/resources/sqlmapper/biz/rt/rt-reglt-and-erpp-mysql-mapper.xml @@ -25,22 +25,33 @@ , trr.regist_dt , trr.spcmnt_matter , trr.reglt_process_sttus_code - -- , tecsd.interface_seq_n FROM tb_rt_reglt trr - -- JOIN tb_ec_ctzn_sttemnt_detail tecsd - -- ON trr.reglt_id = tecsd.reglt_id + LEFT OUTER JOIN tb_rt_erpp tre + ON trr.reglt_id = tre.reglt_id + + + + + /* rt-reglt-and-erpp-mysql-mapper|selectRtRegltAttchFiles-단속자료 첨부파일 목록 조회|julim */ + SELECT tcfd.file_mastr_id + , tcfd.file_id + , tcfd.orginl_file_nm + , tcfd.file_cntnts_ty + , tcfd.file_extsn + , tcfd.file_cpcty + , tcfd.file_cours + , tcfd.regist_dt + , tcfd.register + FROM tb_cmm_file_mastr tcfm + JOIN tb_cmm_file_detail tcfd + ON tcfm.file_mastr_id = tcfd.file_mastr_id + WHERE tcfm.job_se_code = #{jobSeCode} + + -- 외부연계 : CCTV-고정형, CCTV-이동형, CCTV-버스장착형(버스전용차로) + AND tcfm.file_job_id = (SELECT extrl_reglt_cntc_id + FROM tb_ec_extrl_reglt_cntc + WHERE reglt_id = #{regltId}) + + + -- 시민신고(국민신문고) + AND tcfm.file_job_id = (SELECT CONCAT(interface_seq_n, ctzn_sttemnt_detail_sn) + FROM tb_ec_ctzn_sttemnt_detail + WHERE reglt_id = #{regltId}) + + + diff --git a/src/main/webapp/WEB-INF/jsp/fims/biz/rt/rtRegltMgtForm.jsp b/src/main/webapp/WEB-INF/jsp/fims/biz/rt/rtRegltMgtForm.jsp index a4b508e4..542e9448 100644 --- a/src/main/webapp/WEB-INF/jsp/fims/biz/rt/rtRegltMgtForm.jsp +++ b/src/main/webapp/WEB-INF/jsp/fims/biz/rt/rtRegltMgtForm.jsp @@ -14,8 +14,8 @@
  • @@ -27,13 +27,13 @@ ~
  • @@ -41,7 +41,7 @@
  • 상태 :
  • @@ -212,11 +212,19 @@ }; const gridDatasource = { - initialRequest: false, // 화면 load시 조회 안함 - default + initialRequest: true, // 화면 load시 조회 안함 - default api: { readData: { - url: '' - ,serializer: (params) => fnAddPageInfo(document.frmSearch, params) + url: '' + ,serializer: (params) => { + const param = { + sch_date_opt: $('#sch_date_opt').val() + ,sch_date_from: $('#sch_date_from').val() + ,sch_date_to: $('#sch_date_to').val() + ,[$('#sch_opt').val()]: $('#sch_word').val() + } + return getPageParam(param, params); + } } } }; diff --git a/src/main/webapp/WEB-INF/jsp/fims/biz/rt/rtRelgtMgtPopup.jsp b/src/main/webapp/WEB-INF/jsp/fims/biz/rt/rtRegltMgtPopup.jsp similarity index 98% rename from src/main/webapp/WEB-INF/jsp/fims/biz/rt/rtRelgtMgtPopup.jsp rename to src/main/webapp/WEB-INF/jsp/fims/biz/rt/rtRegltMgtPopup.jsp index 7eb456f8..3600977c 100644 --- a/src/main/webapp/WEB-INF/jsp/fims/biz/rt/rtRelgtMgtPopup.jsp +++ b/src/main/webapp/WEB-INF/jsp/fims/biz/rt/rtRegltMgtPopup.jsp @@ -148,8 +148,8 @@ downloadImg: () => { cmmAjax({ showSuccessMsg: false - ,url: '' - ,data: {interfaceSeqN: '${dto.interfaceSeqN}'} + ,url: '' + ,data: {regltId:'${dto.regltId}', regltSeCode: '${dto.regltSeCode}'} ,success: (res) => { cmmImgDownload('#imgList', res.data?.contents, true); }