+* ============ 변경 이력 ============
+* 2023-06-23 JoJH 최초 작성
+* ================================
+*
+*/
+public class ExclQuery extends QueryRequest {
+ private static final long serialVersionUID = 1L;
+
+ // 기본 필수 조회 조건
+ private String sggCd; // 시군구 코드
+ private String taskSeCd; // 업무 구분 코드
+ // 업무 조회 조건
+ private String levyExclId; // 부과 제외 ID
+ private String crdnId; // 단속 ID
+ private String levyExclSeCd; // 부과 제외 구분 코드
+ private String levyExclYmd; // 부과 제외 일자
+ private String levyExclRsnCd; // 부과 제외 사유 코드
+ private String delYn; // 삭제 여부
+ private String vhrno; // 차량번호
+ private String rtpyrNo; // 납부자 번호
+ private String rtpyrNm; // 납부자 명
+
+ public String getSggCd() {
+ return ifEmpty(sggCd, () -> null);
+ }
+
+ public T setSggCd(String sggCd) {
+ this.sggCd = sggCd;
+
+ return self();
+ }
+
+ public String getTaskSeCd() {
+ return ifEmpty(taskSeCd, () -> null);
+ }
+
+ public T setTaskSeCd(String taskSeCd) {
+ this.taskSeCd = taskSeCd;
+
+ return self();
+ }
+
+ public String getLevyExclId() {
+ return ifEmpty(levyExclId, () -> null);
+ }
+
+ public T setLevyExclId(String levyExclId) {
+ this.levyExclId = levyExclId;
+
+ return self();
+ }
+
+ public String getCrdnId() {
+ return ifEmpty(crdnId, () -> null);
+ }
+
+ public T setCrdnId(String crdnId) {
+ this.crdnId = crdnId;
+
+ return self();
+ }
+
+ public String getLevyExclSeCd() {
+ return ifEmpty(levyExclSeCd, () -> null);
+ }
+
+ public T setLevyExclSeCd(String levyExclSeCd) {
+ this.levyExclSeCd = levyExclSeCd;
+
+ return self();
+ }
+
+ public String getLevyExclYmd() {
+ return ifEmpty(levyExclYmd, () -> null);
+ }
+
+ public T setLevyExclYmd(String levyExclYmd) {
+ this.levyExclYmd = levyExclYmd;
+
+ return self();
+ }
+
+ public String getLevyExclRsnCd() {
+ return ifEmpty(levyExclRsnCd, () -> null);
+ }
+
+ public T setLevyExclRsnCd(String levyExclRsnCd) {
+ this.levyExclRsnCd = levyExclRsnCd;
+
+ return self();
+ }
+
+ public String getDelYn() {
+ return ifEmpty(delYn, () -> null);
+ }
+
+ public T setDelYn(String delYn) {
+ this.delYn = delYn;
+
+ return self();
+ }
+
+ public String getVhrno() {
+ return ifEmpty(vhrno, () -> null);
+ }
+
+ public T setVhrno(String vhrno) {
+ this.vhrno = vhrno;
+
+ return self();
+ }
+
+ public String getRtpyrNo() {
+ return ifEmpty(rtpyrNo, () -> null);
+ }
+
+ public T setRtpyrNo(String rtpyrNo) {
+ this.rtpyrNo = rtpyrNo;
+
+ return self();
+ }
+
+ public String getRtpyrNm() {
+ return ifEmpty(rtpyrNm, () -> null);
+ }
+
+ public T setRtpyrNm(String rtpyrNm) {
+ this.rtpyrNm = rtpyrNm;
+
+ return self();
+ }
+
+}
diff --git a/src/main/java/cokr/xit/fims/excl/dao/Excl01Mapper.java b/src/main/java/cokr/xit/fims/excl/dao/Excl01Mapper.java
new file mode 100644
index 00000000..856e2c7e
--- /dev/null
+++ b/src/main/java/cokr/xit/fims/excl/dao/Excl01Mapper.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-23 JoJH 최초 작성
+ * ================================
+ *
+*/
+@Mapper("excl01Mapper")
+public interface Excl01Mapper extends AbstractMapper {
+
+ /**지정한 조건에 따라 부과제외 대장 목록을 조회하여 반환한다.
+ * @param req 부과제외 대장 조회 조건
+ * @return 부과제외 대장 목록
+ */
+ List selectLevyExclList(ExclQuery req);
+
+ /**지정한 조건에 따라 부과제외 대장 객체들을 반환한다.
+ * @param req 부과제외 대장 조회 조건
+ * @return 부과제외 대장 객체 목록
+ */
+ List selectLevyExcls(ExclQuery req);
+
+ /**부과제외 대장 정보를 등록한다.
+ * @param params 파라미터
+ *
"levyExcl" - 부과제외 대장
+ *
"currentUser" - 현재 접속한 사용자
+ *
+ * @return 저장된 정보수
+ */
+ int insertLevyExcl(Map params);
+
+ /**부과제외 대장 정보를 등록한다.
+ * @param excl 부과제외 대장
+ * @return 저장 여부
+ *
+ * ============ 변경 이력 ============
+ * 2023-06-23 JoJH 최초 작성
+ * ================================
+ *
+*/
+public interface Excl01Service {
+
+ /**지정한 조건에 따라 부과제외 대장 목록을 조회하여 반환한다.
+ * @param req 부과제외 대장 조회 조건
+ * @return 부과제외 대장 목록
+ */
+ List getLevyExclList(ExclQuery req);
+
+ /**지정한 조건에 따라 부과제외 대장 객체들을 반환한다.
+ * @param req 부과제외 대장 조회 조건
+ * @return 부과제외 대장 객체 목록
+ */
+ List getLevyExcls(ExclQuery req);
+
+ /**부과제외 대장 정보를 등록한다.
+ * @param excl 부과제외 대장
+ * @return 저장 여부
+ *
저장됐으면 true
+ *
그렇지 않으면 false
+ *
+ */
+ boolean create(Excl excl);
+
+ /**부과제외 대장 정보를 수정한다.
+ * @param excl 부과제외 대장
+ * @return 저장 여부
+ *
저장됐으면 true
+ *
그렇지 않으면 false
+ *
+ */
+ boolean update(Excl excl);
+
+ /**부과제외 대장 정보를 삭제한다.
+ * @param excl 부과제외 대장
+ * @return 저장 여부
+ *
+ * ============ 변경 이력 ============
+ * 2023-06-23 JoJH 최초 작성
+ * ================================
+ *
+*/
+@Component("excl01Bean")
+public class Excl01Bean extends AbstractComponent {
+
+ /** 부과제외 대장 정보 DAO */
+ @Resource(name = "excl01Mapper")
+ private Excl01Mapper excl01Mapper;
+
+ /**지정한 조건에 따라 부과제외 대장 목록을 조회하여 반환한다.
+ * @param req 부과제외 대장 조회 조건
+ * @return 부과제외 대장 목록
+ */
+ public List getLevyExclList(ExclQuery req) {
+ return excl01Mapper.selectLevyExclList(req);
+ }
+
+ /**지정한 조건에 따라 부과제외 대장 객체들을 반환한다.
+ * @param req 부과제외 대장 조회 조건
+ * @return 부과제외 대장 객체 목록
+ */
+ public List getLevyExcls(ExclQuery req) {
+ return excl01Mapper.selectLevyExcls(req);
+ }
+
+ /**부과제외 대장 정보를 등록한다.
+ * @param excl 부과제외 대장
+ * @return 저장 여부
+ *
저장됐으면 true
+ *
그렇지 않으면 false
+ *
+ */
+ public boolean create(Excl excl) {
+ return excl01Mapper.insert(excl);
+ }
+
+ /**부과제외 대장 정보를 수정한다.
+ * @param excl 부과제외 대장
+ * @return 저장 여부
+ *
저장됐으면 true
+ *
그렇지 않으면 false
+ *
+ */
+ public boolean update(Excl excl) {
+ return excl01Mapper.update(excl);
+ }
+
+ /**부과제외 대장 정보를 삭제한다.
+ * @param excl 부과제외 대장
+ * @return 저장 여부
+ *
+* ============ 변경 이력 ============
+* 2023-06-23 JoJH 최초 작성
+* ================================
+*
+*/
+@Controller
+@RequestMapping(name="부과제외 대장", value="/excl/excl01")
+public class Excl01Controller extends ApplicationController {
+
+ /**부과제외 대장 서비스*/
+ @Resource(name="excl01Service")
+ protected Excl01Service excl01Service;
+
+ /**부과제외 대장 관리 메인화면(excl/excl01/010-main))을 연다.
+ * 조건없는 {@link #getLevyExclList(ExclQuery) 부과제외 대장 조회 결과}를 포함시킨다.
+ * @return /excl/excl01/010-main
+ */
+ @RequestMapping(name="부과제외 대장 메인", value="/010/main.do")
+ public ModelAndView main() {
+ ModelAndView mav = getLevyExclList(new ExclQuery().setPageNum(1));
+
+ mav.setViewName("fims/excl/excl01010-main");
+ mav.addObject("pageName", "excl01010-main");
+
+ Map> commonCodes = getCodesOf("FIM054");
+ mav.addObject("FIM054List", commonCodes.get("FIM054"));
+ addCodes(commonCodes, mav, "FIM054");
+
+ return mav;
+ }
+
+ /**부과제외 대장 목록을 조회하여 반환한다.
+ * {@link LevyExclService#getLevyExclList(LevyExclQuery)} 참고
+ * @param req 부과제외 대장 조회 조건
+ * @return jsonView
+ *
{
+ * "levyExclList": [부과제외 대장 목록]
+ * "levyExclStart": 부과제외 대장 목록 시작 인덱스
+ * "levyExclFetch": 한 번에 가져오는 부과제외 대장 목록 수
+ * "levyExclTotal": 조회 결과 찾은 전체 부과제외 대장 수
+ * }
+ */
+ @RequestMapping(name="부과제외 대장 조회", value="/010/list.do")
+ public ModelAndView getLevyExclList(ExclQuery req) {
+ List> result = excl01Service.getLevyExclList(setFetchSize(req));
+
+ return setCollectionInfo(new ModelAndView("jsonView"), result, "excl");
+ }
+
+ /**부과제외 대장를 등록한다.
+ * @param levyExcl 부과제외 대장 정보
+ * @return jsonView
+ *
{
+ * "saved": 등록되었으면 true, 그렇지 않으면 false
+ * }
+ */
+ @PostMapping(name="부과제외 대장 등록", value="/010/create.do")
+ public ModelAndView create(Excl excl) {
+ boolean saved = excl01Service.create(excl);
+
+ return new ModelAndView("jsonView")
+ .addObject("saved", saved);
+ }
+
+ /**부과제외 대장 정보를 수정한다.
+ * @param levyExcl 부과제외 대장 정보
+ * @return jsonView
+ *