From 25e102ee22bac5bbcdc8f639ac76da5ce1050079 Mon Sep 17 00:00:00 2001 From: jjh Date: Thu, 29 Jun 2023 15:35:37 +0900 Subject: [PATCH] =?UTF-8?q?=EC=9D=98=EA=B2=AC=EC=A0=9C=EC=B6=9C=EA=B4=80?= =?UTF-8?q?=EB=A6=AC=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cokr/xit/fims/excl/dao/Excl02Mapper.java | 98 +++++ .../xit/fims/excl/service/Excl02Service.java | 60 +++ .../fims/excl/service/bean/Excl02Bean.java | 81 ++++ .../excl/service/bean/Excl02ServiceBean.java | 57 +++ .../xit/fims/excl/web/Excl02Controller.java | 126 ++++++ .../sql/mapper/fims/excl/excl02-mapper.xml | 332 +++++++++++++++ .../WEB-INF/jsp/fims/excl/excl02010-main.jsp | 395 ++++++++++++++++++ .../webapp/resources/js/fims/excl/excl02.js | 22 + .../fims/excl/service/Excl02ServiceTest.java | 49 +++ 9 files changed, 1220 insertions(+) create mode 100644 src/main/java/cokr/xit/fims/excl/dao/Excl02Mapper.java create mode 100644 src/main/java/cokr/xit/fims/excl/service/Excl02Service.java create mode 100644 src/main/java/cokr/xit/fims/excl/service/bean/Excl02Bean.java create mode 100644 src/main/java/cokr/xit/fims/excl/service/bean/Excl02ServiceBean.java create mode 100644 src/main/java/cokr/xit/fims/excl/web/Excl02Controller.java create mode 100644 src/main/resources/sql/mapper/fims/excl/excl02-mapper.xml create mode 100644 src/main/webapp/WEB-INF/jsp/fims/excl/excl02010-main.jsp create mode 100644 src/main/webapp/resources/js/fims/excl/excl02.js create mode 100644 src/test/java/cokr/xit/fims/excl/service/Excl02ServiceTest.java diff --git a/src/main/java/cokr/xit/fims/excl/dao/Excl02Mapper.java b/src/main/java/cokr/xit/fims/excl/dao/Excl02Mapper.java new file mode 100644 index 00000000..3c81124f --- /dev/null +++ b/src/main/java/cokr/xit/fims/excl/dao/Excl02Mapper.java @@ -0,0 +1,98 @@ +package cokr.xit.fims.excl.dao; + +import java.util.List; +import java.util.Map; + +import org.egovframe.rte.psl.dataaccess.mapper.Mapper; + +import cokr.xit.fims.excl.Excl; +import cokr.xit.fims.excl.ExclQuery; +import cokr.xit.foundation.component.AbstractMapper; +import cokr.xit.foundation.data.DataObject; + +/** 의견제출 대장 정보 DAO + * + *

상세 설명: 의견제출 대장 테이블에 접근하여 데이터를 조회하고 저장한다. + * + *

+ * ============ 변경 이력 ============
+ * 2023-06-27	JoJH 최초 작성
+ * ================================
+ * 
+ */ +@Mapper("excl02Mapper") +public interface Excl02Mapper extends AbstractMapper { + + /**지정한 조건에 따라 의견제출 대장 목록을 조회하여 반환한다.
+ * @param req 의견제출 대장 조회 조건 + * @return 의견제출 대장 목록 + */ + List selectOpnnSbmsnList(ExclQuery req); + + /**지정한 조건에 따라 의견제출 대장 객체들을 반환한다. + * @param req 의견제출 대장 조회 조건 + * @return 의견제출 대장 객체 목록 + */ + List selectOpnnSbmsns(ExclQuery req); + + /**의견제출 대장 정보를 등록한다. + * @param params 파라미터 + *
  • "opnnSbmsn" - 의견제출 대장
  • + *
  • "currentUser" - 현재 접속한 사용자
  • + *
+ * @return 저장된 정보수 + */ + int insertOpnnSbmsn(Map params); + + /**의견제출 대장 정보를 등록한다. + * @param opnnSbmsn 의견제출 대장 + * @return 저장 여부 + *
  • 저장됐으면 true
  • + *
  • 그렇지 않으면 false
  • + *
+ */ + default boolean insert(Excl excl) { + return excl != null && insertOpnnSbmsn(params().set("excl", excl)) == 1; + } + + /**의견제출 대장 정보를 수정한다. + * @param params 파라미터 + *
  • "opnnSbmsn" - 의견제출 대장
  • + *
  • "currentUser" - 현재 접속한 사용자
  • + *
+ * @return 저장된 정보수 + */ + int updateOpnnSbmsn(Map params); + + /**의견제출 대장 정보를 수정한다. + * @param opnnSbmsn 의견제출 대장 + * @return 저장 여부 + *
  • 저장됐으면 true
  • + *
  • 그렇지 않으면 false
  • + *
+ */ + default boolean update(Excl excl) { + return excl != null && updateOpnnSbmsn(params().set("excl", excl)) == 1; + } + + /**지정한 의견제출 대장을 삭제한다. + * @param params 파라미터 + *
  • "opnnSbmsn" - 의견제출 대장
  • + *
  • "currentUser" - 현재 접속한 사용자
  • + *
+ * @return 저장된 정보수 + */ + int deleteOpnnSbmsn(Map params); + + /**의견제출 대장 정보를 삭제한다. + * @param opnnSbmsn 의견제출 대장 + * @return 저장 여부 + *
  • 저장됐으면 true
  • + *
  • 그렇지 않으면 false
  • + *
+ */ + default boolean delete(Excl excl) { + return excl != null && deleteOpnnSbmsn(params().set("excl", excl)) == 1; + } + +} diff --git a/src/main/java/cokr/xit/fims/excl/service/Excl02Service.java b/src/main/java/cokr/xit/fims/excl/service/Excl02Service.java new file mode 100644 index 00000000..dd022318 --- /dev/null +++ b/src/main/java/cokr/xit/fims/excl/service/Excl02Service.java @@ -0,0 +1,60 @@ +package cokr.xit.fims.excl.service; + +import java.util.List; + +import cokr.xit.fims.excl.Excl; +import cokr.xit.fims.excl.ExclQuery; +import cokr.xit.foundation.data.DataObject; + +/**의견제출 대장 관리 서비스 인터페이스. + * + *

상세 설명: + * + *

+ * ============ 변경 이력 ============
+ * 2023-06-27	JoJH 최초 작성
+ * ================================
+ * 
+ */ +public interface Excl02Service { + + /**지정한 조건에 따라 의견제출 대장 목록을 조회하여 반환한다. + * @param req 의견제출 대장 조회 조건 + * @return 의견제출 대장 목록 + */ + List getOpnnSbmsnList(ExclQuery req); + + /**지정한 조건에 따라 의견제출 대장 객체들을 반환한다. + * @param req 의견제출 대장 조회 조건 + * @return 의견제출 대장 객체 목록 + */ + List getOpnnSbmsns(ExclQuery req); + + /**의견제출 대장 정보를 등록한다. + * @param opnnSbmsn 의견제출 대장 + * @return 저장 여부 + *
  • 저장됐으면 true
  • + *
  • 그렇지 않으면 false
  • + *
+ */ + boolean create(Excl excl); + + /**의견제출 대장 정보를 수정한다. + * @param opnnSbmsn 의견제출 대장 + * @return 저장 여부 + *
  • 저장됐으면 true
  • + *
  • 그렇지 않으면 false
  • + *
+ */ + boolean update(Excl excl); + + /**의견제출 대장 정보를 삭제한다. + * @param opnnSbmsn 의견제출 대장 + * @return 저장 여부 + *
  • 저장됐으면 true
  • + *
  • 그렇지 않으면 false
  • + *
+ */ + boolean remove(Excl excl); + +} diff --git a/src/main/java/cokr/xit/fims/excl/service/bean/Excl02Bean.java b/src/main/java/cokr/xit/fims/excl/service/bean/Excl02Bean.java new file mode 100644 index 00000000..2bb13bb2 --- /dev/null +++ b/src/main/java/cokr/xit/fims/excl/service/bean/Excl02Bean.java @@ -0,0 +1,81 @@ +package cokr.xit.fims.excl.service.bean; + +import java.util.List; + +import javax.annotation.Resource; + +import org.springframework.stereotype.Component; + +import cokr.xit.foundation.AbstractComponent; +import cokr.xit.foundation.data.DataObject; +import cokr.xit.fims.excl.Excl; +import cokr.xit.fims.excl.ExclQuery; +import cokr.xit.fims.excl.dao.Excl02Mapper; + +/**의견제출 대장 정보 관리 Bean + * + *

상세 설명: 의견제출 대장 DAO(Excl02Mapper)를 사용해 업무 기능을 구현한 클래스 + * + *

+ * ============ 변경 이력 ============
+ * 2023-06-27	JoJH 최초 작성
+ * ================================
+ * 
+ */ +@Component("excl02Bean") +public class Excl02Bean extends AbstractComponent { + + /** 의견제출 대장 정보 DAO */ + @Resource(name = "excl02Mapper") + private Excl02Mapper excl02Mapper; + + /**지정한 조건에 따라 의견제출 대장 목록을 조회하여 반환한다. + * @param req 의견제출 대장 조회 조건 + * @return 의견제출 대장 목록 + */ + public List getOpnnSbmsnList(ExclQuery req) { + return excl02Mapper.selectOpnnSbmsnList(req); + } + + /**지정한 조건에 따라 의견제출 대장 객체들을 반환한다. + * @param req 의견제출 대장 조회 조건 + * @return 의견제출 대장 객체 목록 + */ + public List getOpnnSbmsns(ExclQuery req) { + return excl02Mapper.selectOpnnSbmsns(req); + } + + /**의견제출 대장 정보를 등록한다. + * @param excl 의견제출 대장 + * @return 저장 여부 + *
  • 저장됐으면 true
  • + *
  • 그렇지 않으면 false
  • + *
+ */ + public boolean create(Excl excl) { + return excl02Mapper.insert(excl); + } + + /**의견제출 대장 정보를 수정한다. + * @param excl 의견제출 대장 + * @return 저장 여부 + *
  • 저장됐으면 true
  • + *
  • 그렇지 않으면 false
  • + *
+ */ + public boolean update(Excl excl) { + return excl02Mapper.update(excl); + } + + /**의견제출 대장 정보를 삭제한다. + * @param excl 의견제출 대장 + * @return 저장 여부 + *
  • 저장됐으면 true
  • + *
  • 그렇지 않으면 false
  • + *
+ */ + public boolean remove(Excl excl) { + return excl02Mapper.delete(excl); + } + +} diff --git a/src/main/java/cokr/xit/fims/excl/service/bean/Excl02ServiceBean.java b/src/main/java/cokr/xit/fims/excl/service/bean/Excl02ServiceBean.java new file mode 100644 index 00000000..4cb1f2ff --- /dev/null +++ b/src/main/java/cokr/xit/fims/excl/service/bean/Excl02ServiceBean.java @@ -0,0 +1,57 @@ +package cokr.xit.fims.excl.service.bean; + +import java.util.List; + +import javax.annotation.Resource; + +import org.springframework.stereotype.Service; + +import cokr.xit.fims.excl.Excl; +import cokr.xit.fims.excl.ExclQuery; +import cokr.xit.fims.excl.service.Excl02Service; +import cokr.xit.foundation.component.AbstractServiceBean; +import cokr.xit.foundation.data.DataObject; + +/**의견제출 대장 서비스 구현체. + * + *

상세 설명: 의견제출 대장 업무 기능을 구현한 클래스 + * + *

+ * ============ 변경 이력 ============
+ * 2023-06-27	JoJH 최초 작성
+ * ================================
+ * 
+ */ +@Service("excl02Service") +public class Excl02ServiceBean extends AbstractServiceBean implements Excl02Service { + + /** 의견제출 대장 정보 Bean */ + @Resource(name = "excl02Bean") + protected Excl02Bean excl02Bean; + + @Override + public List getOpnnSbmsnList(ExclQuery req) { + return excl02Bean.getOpnnSbmsnList(req); + } + + @Override + public List getOpnnSbmsns(ExclQuery req) { + return excl02Bean.getOpnnSbmsns(req); + } + + @Override + public boolean create(Excl excl) { + return excl02Bean.create(excl); + } + + @Override + public boolean update(Excl excl) { + return excl02Bean.update(excl); + } + + @Override + public boolean remove(Excl excl) { + return excl02Bean.remove(excl); + } + +} diff --git a/src/main/java/cokr/xit/fims/excl/web/Excl02Controller.java b/src/main/java/cokr/xit/fims/excl/web/Excl02Controller.java new file mode 100644 index 00000000..80553d8d --- /dev/null +++ b/src/main/java/cokr/xit/fims/excl/web/Excl02Controller.java @@ -0,0 +1,126 @@ +package cokr.xit.fims.excl.web; + +import java.util.List; +import java.util.Map; + +import javax.annotation.Resource; + +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.servlet.ModelAndView; + +import cokr.xit.base.code.CommonCode; +import cokr.xit.base.web.ApplicationController; +import cokr.xit.fims.excl.Excl; +import cokr.xit.fims.excl.ExclQuery; +import cokr.xit.fims.excl.service.Excl02Service; + +/**의견제출 대장 서비스의 웹 컨트롤러 + * + *

상세 설명: + * + *

+ * ============ 변경 이력 ============
+ * 2023-06-27	JoJH 최초 작성
+ * ================================
+ * 
+ */ +@Controller +@RequestMapping(name="의견제출 대장", value="/excl/excl02") +public class Excl02Controller extends ApplicationController { + + /**의견제출 대장 서비스*/ + @Resource(name="excl02Service") + protected Excl02Service excl02Service; + + /**의견제출 대장 관리 메인화면(excl/excl02/010-main)을 연다. + * 조건없는 {@link #getOpnnSbmsnList(ExclQuery) 의견제출 대장 조회 결과}를 포함시킨다. + * @return /excl/excl02/010-main + */ + @RequestMapping(name="의견제출 대장 메인", value="/010/main.do") + public ModelAndView main() { + ModelAndView mav = getOpnnSbmsnList(new ExclQuery().setPageNum(1)); + + // View(jsp) + mav.setViewName("/fims/excl/excl02010-main"); + + // View(jsp)에서 사용할 공통코드를 조회 + Map> commonCodes = getCodesOf("FIM031", "FIM054"); + + mav.addObject("FIM031List", commonCodes.get("FIM031")); + mav.addObject("FIM054List", commonCodes.get("FIM054")); + addCodes(commonCodes, mav, "FIM031", "FIM054"); + + // View(jsp)에서 사용할 id 뒤에 붙일 suffix + mav.addObject("pageName", "excl02010"); + +// return mav.addObject("opnnSbmsnList", toJson(mav.getModel().get("opnnSbmsnList"))); + return mav; + } +// + /**의견제출 대장 목록을 조회하여 반환한다.
+ * {@link Excl02Service#getOpnnSbmsnList(ExclQuery)} 참고 + * @param req 의견제출 대장 조회 조건 + * @return jsonView + *
 {
+	 *     "opnnSbmsnList": [의견제출 대장 목록]
+	 *     "opnnSbmsnStart": 의견제출 대장 목록 시작 인덱스
+	 *     "opnnSbmsnFetch": 한 번에 가져오는 의견제출 대장 목록 수
+	 *     "opnnSbmsnTotal": 조회 결과 찾은 전체 의견제출 대장 수
+	 * }
+ */ + @RequestMapping(name="의견제출 대장 조회", value="/010/list.do") + public ModelAndView getOpnnSbmsnList(ExclQuery req) { + List result = excl02Service.getOpnnSbmsnList(setFetchSize(req)); + + return setCollectionInfo(new ModelAndView("jsonView"), result, "opnnSbmsn"); + } + + /**의견제출 대장를 등록한다. + * @param opnnSbmsn 의견제출 대장 정보 + * @return jsonView + *
 {
+	 *     "saved": 등록되었으면 true, 그렇지 않으면 false
+	 * }
+ */ + @PostMapping(name="의견제출 대장 등록", value="/010/create.do") + public ModelAndView create(Excl excl) { + boolean saved = excl02Service.create(excl); + + return new ModelAndView("jsonView") + .addObject("saved", saved); + } + + /**의견제출 대장 정보를 수정한다. + * @param opnnSbmsn 의견제출 대장 정보 + * @return jsonView + *
 {
+	 *     "saved": 수정되었으면 true, 그렇지 않으면 false
+	 * }
+ */ + @PostMapping(name="의견제출 대장 수정", value="/010/update.do") + public ModelAndView update(Excl excl) { + boolean saved = excl02Service.update(excl); + + return new ModelAndView("jsonView") + .addObject("saved", saved); + } + + /**지정한 의견제출 대장를 제거한다. + * @param opnnSbmsnIDs 의견제출 대장 아이디 + * @return jsonView + *
 {
+	 *     "affected": 저장된 정보수
+	 *     "saved": 저장되었으면 true, 그렇지 않으면 false
+	 * }
+ */ + @PostMapping(name="의견제출 대장 제거", value="/010/remove.do") + public ModelAndView remove(Excl excl) { + boolean saved = excl02Service.remove(excl); + + return new ModelAndView("jsonView") + .addObject("saved", saved); + } + +} diff --git a/src/main/resources/sql/mapper/fims/excl/excl02-mapper.xml b/src/main/resources/sql/mapper/fims/excl/excl02-mapper.xml new file mode 100644 index 00000000..0642102c --- /dev/null +++ b/src/main/resources/sql/mapper/fims/excl/excl02-mapper.xml @@ -0,0 +1,332 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SELECT A.OPNN_ID /* 의견 ID */ + , A.CRDN_ID /* 단속 ID */ + , A.RCPT_NO /* 접수 번호 */ + , A.RCPT_YMD /* 접수 일자 */ + , A.RCPT_SE_CD /* 접수 구분 코드 */ + , (SELECT FN_GET_CODE_NM('FIM029', A.RCPT_SE_CD) FROM DUAL) AS RCPT_SE_NM /* 접수 구분 코드 */ + , A.OWNR_REL_CD /* 소유주 관계 코드 */ + , (SELECT FN_GET_CODE_NM('FIM032', A.OWNR_REL_CD) FROM DUAL) AS OWNR_REL_NM /* 소유주 관계 코드 */ + , A.STTR_NM /* 진술자 명 */ + , A.STTR_BRDT /* 진술자 생년월일 */ + , (SELECT FN_GET_BRDT_FORMAT(A.STTR_BRDT, '.') FROM DUAL) AS STTR_BRDT_FORMAT /* 납부자 생년월일 */ + , A.STTR_RRNO /* 진술자 주민등록번호 */ + , A.STTR_ADDR /* 진술자 주소 */ + , A.STTR_DADDR /* 진술자 상세주소 */ + , A.STTR_ZIP /* 진술자 우편번호 */ + , A.STTR_CTTPC /* 진술자 연락처 */ + , A.STTR_EML /* 진술자 이메일 */ + , A.OPNN_SBMSN_CN /* 의견 제출 내용 */ + , A.OPNN_SBMSN_SE_CD /* 의견 제출 구분 코드 */ + , (SELECT FN_GET_CODE_NM('FIM033', A.OPNN_SBMSN_SE_CD) FROM DUAL) AS OPNN_SBMSN_SE_NM /* 의견 제출 구분 명 */ + , A.OPNN_SBMSN_GIST /* 의견 제출 요지 */ + , A.ATCH_FILE_CNT /* 첨부 파일 수 */ + , A.DOC_NO /* 문서 번호 */ + , A.NTFCTN_SE_CD /* 통보 구분 코드 */ + , (SELECT FN_GET_CODE_NM('FIM030', A.NTFCTN_SE_CD) FROM DUAL) AS NTFCTN_SE_NM /* 통보 구분 코드 */ + , A.PIC_RVW_OPNN /* 담당자 검토 의견 */ + , A.ANS_CN /* 답변 내용 */ + , A.ANS_YMD /* 답변 일자 */ + , A.ANS_TM /* 답변 시각 */ + , (CONCAT(A.ANS_YMD, A.ANS_TM)) AS ANS_YMD_TM /* 답변 일시 */ + , A.OPNN_SBMSN_STTS_CD /* 의견 제출 상태 코드 */ + , (SELECT FN_GET_CODE_NM('FIM031', A.OPNN_SBMSN_STTS_CD) FROM DUAL) AS OPNN_SBMSN_STTS_NM /* 의견 제출 상태 명 */ + , A.DEL_YN /* 삭제 여부 */ + , A.REG_DT /* 등록 일시 */ + , A.RGTR /* 등록자 */ + , A.MDFCN_DT /* 수정 일시 */ + , A.MDFR /* 수정자 */ + , A.DEL_DT /* 삭제 일시 */ + , A.DLTR /* 삭제자 */ + , A.DEL_RSN /* 삭제 사유 */ + FROM TB_OPNN_SBMSN A + + + + + + SELECT A.OPNN_ID /* 의견 ID */ + , A.CRDN_ID /* 단속 ID */ + , A.RCPT_NO /* 접수 번호 */ + , A.RCPT_YMD /* 접수 일자 */ + , A.RCPT_SE_CD /* 접수 구분 코드 */ + , (SELECT FN_GET_CODE_NM('FIM029', A.RCPT_SE_CD) FROM DUAL) AS RCPT_SE_NM /* 접수 구분 코드 */ + , A.OWNR_REL_CD /* 소유주 관계 코드 */ + , (SELECT FN_GET_CODE_NM('FIM032', A.OWNR_REL_CD) FROM DUAL) AS OWNR_REL_NM /* 소유주 관계 코드 */ + , A.STTR_NM /* 진술자 명 */ + , A.STTR_BRDT /* 진술자 생년월일 */ + , (SELECT FN_GET_BRDT_FORMAT(A.STTR_BRDT, '.') FROM DUAL) AS STTR_BRDT_FORMAT /* 납부자 생년월일 */ + , A.STTR_RRNO /* 진술자 주민등록번호 */ + , A.STTR_ADDR /* 진술자 주소 */ + , A.STTR_DADDR /* 진술자 상세주소 */ + , A.STTR_ZIP /* 진술자 우편번호 */ + , A.STTR_CTTPC /* 진술자 연락처 */ + , A.STTR_EML /* 진술자 이메일 */ + , A.OPNN_SBMSN_CN /* 의견 제출 내용 */ + , A.OPNN_SBMSN_SE_CD /* 의견 제출 구분 코드 */ + , (SELECT FN_GET_CODE_NM('FIM033', A.OPNN_SBMSN_SE_CD) FROM DUAL) AS OPNN_SBMSN_SE_NM /* 의견 제출 구분 명 */ + , A.OPNN_SBMSN_GIST /* 의견 제출 요지 */ + , A.ATCH_FILE_CNT /* 첨부 파일 수 */ + , A.DOC_NO /* 문서 번호 */ + , A.NTFCTN_SE_CD /* 통보 구분 코드 */ + , (SELECT FN_GET_CODE_NM('FIM030', A.NTFCTN_SE_CD) FROM DUAL) AS NTFCTN_SE_NM /* 통보 구분 코드 */ + , A.PIC_RVW_OPNN /* 담당자 검토 의견 */ + , A.ANS_CN /* 답변 내용 */ + , A.ANS_YMD /* 답변 일자 */ + , A.ANS_TM /* 답변 시각 */ + , (CONCAT(A.ANS_YMD, A.ANS_TM)) AS ANS_YMD_TM /* 답변 일시 */ + , A.OPNN_SBMSN_STTS_CD /* 의견 제출 상태 코드 */ + , (SELECT FN_GET_CODE_NM('FIM031', A.OPNN_SBMSN_STTS_CD) FROM DUAL) AS OPNN_SBMSN_STTS_NM /* 의견 제출 상태 명 */ + , A.DEL_YN /* 삭제 여부 */ + , A.REG_DT /* 등록 일시 */ + , A.RGTR /* 등록자 */ + , A.MDFCN_DT /* 수정 일시 */ + , A.MDFR /* 수정자 */ + , A.DEL_DT /* 삭제 일시 */ + , A.DLTR /* 삭제자 */ + , A.DEL_RSN /* 삭제 사유 */ + , C.SGG_CD /* 시군구 코드 */ + , C.TASK_SE_CD /* 업무 구분 코드 */ + , C.CRDN_SE_CD /* 단속 구분 코드 */ + , (SELECT FN_GET_CODE_NM('FIM002', C.CRDN_SE_CD) FROM DUAL) AS CRDN_SE_NM /* 단속 구분 코드 */ + , C.CRDN_YMD /* 단속 일자 */ + , C.CRDN_TM /* 단속 시각 */ + , (CONCAT(C.CRDN_YMD, C.CRDN_TM)) AS CRDN_YMD_TM /* 단속 일시 */ + , C.VHRNO /* 차량번호 */ + , C.CRDN_STDG_NM /* 단속 법정동 명 */ + , C.CRDN_ROAD_NM /* 단속 도로 명 */ + , C.CRDN_PLC /* 단속 장소 */ + , C.DTL_CRDN_PLC /* 상세 단속 장소 */ + , C.CRDN_STTS_CD /* 단속 상태 코드 */ + , (SELECT FN_GET_CODE_NM('FIM010', C.CRDN_STTS_CD) FROM DUAL) AS CRDN_STTS_NM /* 단속 상태 명 */ + , D.RTPYR_ID /* 납부자 ID */ + , D.RTPYR_SE_CD /* 납부자 구분 코드 */ + , (SELECT FN_GET_CODE_NM('FIM011', D.RTPYR_SE_CD) FROM DUAL) AS RTPYR_SE_NM /* 납부자 구분 명 */ + , D.RTPYR_NO /* 납부자 번호 */ + , D.RTPYR_NM /* 납부자 명 */ + , (SELECT FN_GET_BRDT_FORMAT(D.RTPYR_BRDT, '.') FROM DUAL) AS RTPYR_BRDT_FORMAT /* 납부자 생년월일 */ + , D.ZIP /* 우편번호 */ + , D.ADDR /* 주소 */ + , D.DTL_ADDR /* 상세 주소 */ + FROM TB_OPNN_SBMSN A + INNER JOIN TB_CRDN C ON (A.CRDN_ID = C.CRDN_ID) + LEFT OUTER JOIN TB_PAYER D ON (C.RTPYR_ID = D.RTPYR_ID) + + + + + /* 의견제출 대장 등록(opnnSbmsnMapper.insertOpnnSbmsn) */ + INSERT + INTO TB_OPNN_SBMSN ( + OPNN_ID + , CRDN_ID + , RCPT_NO + , RCPT_YMD + , RCPT_SE_CD + , OWNR_REL_CD + , STTR_NM + , STTR_BRDT + , STTR_RRNO + , STTR_ADDR + , STTR_DADDR + , STTR_ZIP + , STTR_CTTPC + , STTR_EML + , OPNN_SBMSN_CN + , OPNN_SBMSN_SE_CD + , OPNN_SBMSN_GIST + , ATCH_FILE_CNT + , DOC_NO + , NTFCTN_SE_CD + , PIC_RVW_OPNN + , ANS_CN + , ANS_YMD + , ANS_TM + , OPNN_SBMSN_STTS_CD + , DEL_YN + , REG_DT + , RGTR + , MDFCN_DT + , MDFR + , DEL_DT + , DLTR + , DEL_RSN + ) + VALUES ( + #{opnnSbmsn.opnnId} + , #{opnnSbmsn.crdnId} + , #{opnnSbmsn.rcptNo} + , #{opnnSbmsn.rcptYmd} + , #{opnnSbmsn.rcptSeCd} + , #{opnnSbmsn.ownrRelCd} + , #{opnnSbmsn.sttrNm} + , #{opnnSbmsn.sttrBrdt} + , #{opnnSbmsn.sttrRrno} + , #{opnnSbmsn.sttrAddr} + , #{opnnSbmsn.sttrDaddr} + , #{opnnSbmsn.sttrZip} + , #{opnnSbmsn.sttrCttpc} + , #{opnnSbmsn.sttrEml} + , #{opnnSbmsn.opnnSbmsnCn} + , #{opnnSbmsn.opnnSbmsnSeCd} + , #{opnnSbmsn.opnnSbmsnGist} + , #{opnnSbmsn.atchFileCnt} + , #{opnnSbmsn.docNo} + , #{opnnSbmsn.ntfctnSeCd} + , #{opnnSbmsn.picRvwOpnn} + , #{opnnSbmsn.ansCn} + , #{opnnSbmsn.ansYmd} + , #{opnnSbmsn.ansTm} + , #{opnnSbmsn.opnnSbmsnSttsCd} + , #{opnnSbmsn.delYn} + , + , #{currentUser.id} + , + , #{currentUser.id} + , #{opnnSbmsn.delDt} + , #{opnnSbmsn.dltr} + , #{opnnSbmsn.delRsn} + ) + + + /* 의견제출 대장 수정(opnnSbmsnMapper.updateOpnnSbmsn) */ + UPDATE TB_OPNN_SBMSN + SET CRDN_ID = #{opnnSbmsn.crdnId} + , RCPT_NO = #{opnnSbmsn.rcptNo} + , RCPT_YMD = #{opnnSbmsn.rcptYmd} + , RCPT_SE_CD = #{opnnSbmsn.rcptSeCd} + , OWNR_REL_CD = #{opnnSbmsn.ownrRelCd} + , STTR_NM = #{opnnSbmsn.sttrNm} + , STTR_BRDT = #{opnnSbmsn.sttrBrdt} + , STTR_RRNO = #{opnnSbmsn.sttrRrno} + , STTR_ADDR = #{opnnSbmsn.sttrAddr} + , STTR_DADDR = #{opnnSbmsn.sttrDaddr} + , STTR_ZIP = #{opnnSbmsn.sttrZip} + , STTR_CTTPC = #{opnnSbmsn.sttrCttpc} + , STTR_EML = #{opnnSbmsn.sttrEml} + , OPNN_SBMSN_CN = #{opnnSbmsn.opnnSbmsnCn} + , OPNN_SBMSN_TYPE = #{opnnSbmsn.opnnSbmsnType} + , OPNN_SBMSN_GIST = #{opnnSbmsn.opnnSbmsnGist} + , ATCH_FILE_CNT = #{opnnSbmsn.atchFileCnt} + , DOC_NO = #{opnnSbmsn.docNo} + , NTFCTN_SE_CD = #{opnnSbmsn.ntfctnSeCd} + , PIC_RVW_OPNN = #{opnnSbmsn.picRvwOpnn} + , ANS_CN = #{opnnSbmsn.ansCn} + , ANS_YMD = #{opnnSbmsn.ansYmd} + , ANS_TM = #{opnnSbmsn.ansTm} + , OPNN_SBMSN_STTS_CD = #{opnnSbmsn.opnnSbmsnSttsCd} + , DEL_YN = #{opnnSbmsn.delYn} + , MDFCN_DT = + , MDFR = #{currentUser.id} + , DEL_DT = #{opnnSbmsn.delDt} + , DLTR = #{opnnSbmsn.dltr} + , DEL_RSN = #{opnnSbmsn.delRsn} + WHERE OPNN_ID = #{opnnSbmsn.opnnId} /* 의견 ID */ + + + /* 의견제출 대장 삭제(opnnSbmsnMapper.deleteOpnnSbmsn) */ + UPDATE TB_OPNN_SBMSN + SET DEL_YN = 'Y' + , DEL_DT = /* 삭제 일시 */ + , DLTR = #{currentUser.id} /* 삭제자 */ + , DEL_RSN = #{opnnSbmsn.delRsn} /* 삭제 사유 */ + WHERE OPNN_ID = #{opnnSbmsn.opnnId} /* 의견 ID */ + + + \ No newline at end of file diff --git a/src/main/webapp/WEB-INF/jsp/fims/excl/excl02010-main.jsp b/src/main/webapp/WEB-INF/jsp/fims/excl/excl02010-main.jsp new file mode 100644 index 00000000..70bcba6a --- /dev/null +++ b/src/main/webapp/WEB-INF/jsp/fims/excl/excl02010-main.jsp @@ -0,0 +1,395 @@ +<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" isELIgnored="false" session="false"%> +<%@ include file="/WEB-INF/jsp/include/taglib.jsp"%> + + +
+ +
+ <%--h4 id="pageTitle" class="fw-bold py-3 mb-4">페이지 제목 + 의견제출 + +
+
+
+ +
+ + + + + +
+ + + +
+ + + + + + + +
+ + + +
+ + + 업무 처리1 + 업무 처리2 + + + +
+ +
    +
+
+
+
+
+ + + +
+ +
+ +
+
+ +
+ +
+ + + + +
+
+ + + + + + diff --git a/src/main/webapp/resources/js/fims/excl/excl02.js b/src/main/webapp/resources/js/fims/excl/excl02.js new file mode 100644 index 00000000..44d62775 --- /dev/null +++ b/src/main/webapp/resources/js/fims/excl/excl02.js @@ -0,0 +1,22 @@ +class OpnnSbmsnControl extends DatasetControl { + constructor(conf) { + super(conf || { + prefix : "opnnSbmsn" + , prefixName : "의견제출" + , infoSize : "xl" + , keymapper : info => info ? info.OPNN_ID : "" + , dataGetter : obj => obj.opnnSbmsnList + , appendData : true + , formats : { + RCPT_YMD : dateFormat + , ANS_YMD : dateFormat + , ANS_YMD_TM : datetimeFormat + , CRDN_YMD_TM : datetimeFormat + , REG_DT : datetimeFormat + , MDFCN_DT : datetimeFormat + } + }); + } + +} + diff --git a/src/test/java/cokr/xit/fims/excl/service/Excl02ServiceTest.java b/src/test/java/cokr/xit/fims/excl/service/Excl02ServiceTest.java new file mode 100644 index 00000000..39d242fb --- /dev/null +++ b/src/test/java/cokr/xit/fims/excl/service/Excl02ServiceTest.java @@ -0,0 +1,49 @@ +package cokr.xit.fims.excl.service; + +import java.util.List; + +import javax.annotation.Resource; + +import org.junit.jupiter.api.Test; + +import cokr.xit.foundation.data.DataObject; +import cokr.xit.foundation.test.TestSupport; + +import cokr.xit.fims.excl.Excl; +import cokr.xit.fims.excl.ExclQuery; + +/**OpnnSbmsnService 테스트. + * + *

상세 설명: + * + *

+ * ============ 변경 이력 ============
+ * 2023-06-27	JoJH 최초 작성
+ * ================================
+ * 
+ */ +public class Excl02ServiceTest extends TestSupport { + @Resource(name = "excl02Service") + private Excl02Service excl02Service; + + @Test + void getOpnnSbmsnList() { + List opnnSbmsnList = excl02Service.getOpnnSbmsnList(new ExclQuery()); + opnnSbmsnList.forEach(System.out::println); + } + + @Test + void getOpnnSbmsns() { + List opnnSbmsns = excl02Service.getOpnnSbmsns(new ExclQuery()); + opnnSbmsns.forEach(System.out::println); + } + + @Test + void create() {} + + @Test + void update() {} + + @Test + void remove() {} +} \ No newline at end of file