diff --git a/src/main/java/cokr/xit/fims/excl/web/Excl01Controller.java b/src/main/java/cokr/xit/fims/excl/web/Excl01Controller.java
index 59a38791..7e3fdb04 100644
--- a/src/main/java/cokr/xit/fims/excl/web/Excl01Controller.java
+++ b/src/main/java/cokr/xit/fims/excl/web/Excl01Controller.java
@@ -50,7 +50,7 @@ public class Excl01Controller extends ApplicationController {
levyExclusionMain = "/010/main.do" // 부과 제외 관리 메인 화면
, getLevyExclusionList = "/010/list.do" // 부과 제외 대장 목록 조회
, removeLevyExclusion = "/010/remove.do" // 부과 제외 대장 삭제
- , getLevyExclusionInfo = "/020/info.do" // 부과 제외 대장 조회
+ , getLevyExclusionInfo = "/020/info.do" // 부과 제외 대장 상세 조회
, createLevyExclusion = "/020/create.do" // 부과 제외 대장 등록
, updateLevyExclusion = "/020/update.do" // 부과 제외 대장 수정
;
diff --git a/src/main/java/cokr/xit/fims/rent/RentEnt.java b/src/main/java/cokr/xit/fims/rent/RentEnt.java
new file mode 100644
index 00000000..9639a9a2
--- /dev/null
+++ b/src/main/java/cokr/xit/fims/rent/RentEnt.java
@@ -0,0 +1,75 @@
+package cokr.xit.fims.rent;
+
+import cokr.xit.foundation.AbstractEntity;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * 임대 기업 대장
+ * @author JoJH
+ */
+@Getter
+@Setter
+public class RentEnt extends AbstractEntity {
+
+ /**
+ * 기업 ID
+ */
+ private String entId;
+
+ /**
+ * 기업 구분 코드
+ */
+ private String entSeCd;
+
+ /**
+ * 기업 명
+ */
+ private String entNm;
+
+ /**
+ * 기업 번호
+ */
+ private String entNo;
+
+ /**
+ * 기업 전화번호
+ */
+ private String entTelno;
+
+ /**
+ * 기업 팩스번호
+ */
+ private String entFxno;
+
+ /**
+ * 기업 이메일 주소
+ */
+ private String entEmlAddr;
+
+ /**
+ * 기업 우편번호
+ */
+ private String entZip;
+
+ /**
+ * 기업 주소
+ */
+ private String entAddr;
+
+ /**
+ * 기업 상세 주소
+ */
+ private String entDtlAddr;
+
+ /**
+ * 삭제 여부
+ */
+ private String delYn;
+
+ /**
+ * 삭제 사유
+ */
+ private String delRsn;
+
+}
diff --git a/src/main/java/cokr/xit/fims/rent/RentQuery.java b/src/main/java/cokr/xit/fims/rent/RentQuery.java
new file mode 100644
index 00000000..8c925a3b
--- /dev/null
+++ b/src/main/java/cokr/xit/fims/rent/RentQuery.java
@@ -0,0 +1,71 @@
+package cokr.xit.fims.rent;
+
+import cokr.xit.fims.cmmn.CmmnQuery;
+
+/**임대 차량 정보 조회 요청
+ *
+ *
상세 설명:
+ *
+ *
+ * ============ 변경 이력 ============
+ * 2024-07-24 JoJH 최초 작성
+ * ================================
+ *
+ */
+public class RentQuery extends CmmnQuery {
+
+ private static final long serialVersionUID = 1L;
+
+ // ID
+ private String crdnId; // 단속 ID
+ private String userId; // 사용자 ID
+ private String entId; // 기업 ID
+ private String hirerId; // 임차인 ID
+ private String lsctId; // 임대차계약 ID
+
+ public String getCrdnId() {
+ return ifEmpty(crdnId, () -> null);
+ }
+
+ public T setCrdnId(String crdnId) {
+ this.crdnId = crdnId;
+ return self();
+ }
+
+ public String getUserId() {
+ return ifEmpty(userId, () -> null);
+ }
+
+ public T setUserId(String userId) {
+ this.userId = userId;
+ return self();
+ }
+
+ public String getEntId() {
+ return ifEmpty(entId, () -> null);
+ }
+
+ public T setEntId(String entId) {
+ this.entId = entId;
+ return self();
+ }
+
+ public String getHirerId() {
+ return ifEmpty(hirerId, () -> null);
+ }
+
+ public T setHirerId(String hirerId) {
+ this.hirerId = hirerId;
+ return self();
+ }
+
+ public String getLsctId() {
+ return ifEmpty(lsctId, () -> null);
+ }
+
+ public T setLsctId(String lsctId) {
+ this.lsctId = lsctId;
+ return self();
+ }
+
+}
diff --git a/src/main/java/cokr/xit/fims/rent/dao/RentEntMapper.java b/src/main/java/cokr/xit/fims/rent/dao/RentEntMapper.java
new file mode 100644
index 00000000..62479a86
--- /dev/null
+++ b/src/main/java/cokr/xit/fims/rent/dao/RentEntMapper.java
@@ -0,0 +1,97 @@
+package cokr.xit.fims.rent.dao;
+
+import java.util.List;
+import java.util.Map;
+
+import org.egovframe.rte.psl.dataaccess.mapper.Mapper;
+
+import cokr.xit.foundation.component.AbstractMapper;
+import cokr.xit.foundation.data.DataObject;
+import cokr.xit.fims.rent.RentEnt;
+import cokr.xit.fims.rent.RentQuery;
+
+/** 임대 기업 대장 정보 DAO
+ *
+ *
상세 설명:
+ *
+ *
+ * ============ 변경 이력 ============
+ * 2024-07-24 JoJH 최초 작성
+ * ================================
+ *
+ */
+@Mapper("rentEntMapper")
+public interface RentEntMapper extends AbstractMapper {
+ /**지정한 조건에 따라 임대 기업 대장 목록을 조회하여 반환한다.
+ * @param req 임대 기업 대장 조회 조건
+ * @return 임대 기업 대장 목록
+ */
+ List selectRentEntList(RentQuery req);
+
+ /**지정한 조건에 따라 임대 기업 대장 객체들을 반환한다.
+ * @param req 임대 기업 대장 조회 조건
+ * @return 임대 기업 대장 객체 목록
+ */
+ List selectRentEnts(RentQuery req);
+
+ /**임대 기업 대장 정보를 등록한다.
+ * @param params 파라미터
+ *
"rentEnt" - 임대 기업 대장
+ *
"currentUser" - 현재 접속한 사용자
+ *
+ * @return 저장된 정보수
+ */
+ int insertRentEnt(Map params);
+
+ /**임대 기업 대장 정보를 등록한다.
+ * @param rentEnt 임대 기업 대장
+ * @return 저장 여부
+ *
+ * ============ 변경 이력 ============
+ * 2024-07-24 mjkhan 최초 작성
+ * ================================
+ *
+ */
+public interface RentEntService {
+
+ /**지정한 조건에 따라 임대 기업 대장 목록을 조회하여 반환한다.
+ * @param req 임대 기업 대장 조회 조건
+ * @return 임대 기업 대장 목록
+ */
+ List getRentEntList(RentQuery req);
+
+ /**지정한 조건에 따라 임대 기업 대장 객체들을 반환한다.
+ * @param req 임대 기업 대장 조회 조건
+ * @return 임대 기업 대장 객체 목록
+ */
+ List getRentEnts(RentQuery req);
+
+ /**임대 기업 대장 정보를 등록한다.
+ * @param rentEnt 임대 기업 대장
+ * @return 저장 여부
+ *
저장됐으면 true
+ *
그렇지 않으면 false
+ *
+ */
+ boolean create(RentEnt rentEnt);
+
+ /**임대 기업 대장 정보를 수정한다.
+ * @param rentEnt 임대 기업 대장
+ * @return 저장 여부
+ *
저장됐으면 true
+ *
그렇지 않으면 false
+ *
+ */
+ boolean update(RentEnt rentEnt);
+
+ /**임대 기업 대장 정보를 삭제한다.
+ * @param rentEnt 임대 기업 대장
+ * @return 저장 여부
+ *
저장됐으면 true
+ *
그렇지 않으면 false
+ *
+ */
+ boolean remove(RentEnt rentEnt);
+
+}
diff --git a/src/main/java/cokr/xit/fims/rent/service/bean/RentEntBean.java b/src/main/java/cokr/xit/fims/rent/service/bean/RentEntBean.java
new file mode 100644
index 00000000..5dbb5c63
--- /dev/null
+++ b/src/main/java/cokr/xit/fims/rent/service/bean/RentEntBean.java
@@ -0,0 +1,81 @@
+package cokr.xit.fims.rent.service.bean;
+
+import java.util.List;
+
+import javax.annotation.Resource;
+
+import org.springframework.stereotype.Component;
+
+import cokr.xit.foundation.component.AbstractBean;
+import cokr.xit.foundation.data.DataObject;
+import cokr.xit.fims.rent.RentEnt;
+import cokr.xit.fims.rent.RentQuery;
+import cokr.xit.fims.rent.dao.RentEntMapper;
+
+/**임대 기업 대장 정보 관리 Bean
+ *
+ *
상세 설명:
+ *
+ *
+ * ============ 변경 이력 ============
+ * 2024-07-24 JoJH 최초 작성
+ * ================================
+ *
+ */
+@Component("rentEntBean")
+public class RentEntBean extends AbstractBean {
+
+ /** 임대 기업 대장 정보 DAO */
+ @Resource(name = "rentEntMapper")
+ private RentEntMapper rentEntMapper;
+
+ /**지정한 조건에 따라 임대 기업 대장 목록을 조회하여 반환한다.
+ * @param req 임대 기업 대장 조회 조건
+ * @return 임대 기업 대장 목록
+ */
+ public List getRentEntList(RentQuery req) {
+ return rentEntMapper.selectRentEntList(req);
+ }
+
+ /**지정한 조건에 따라 임대 기업 대장 객체들을 반환한다.
+ * @param req 임대 기업 대장 조회 조건
+ * @return 임대 기업 대장 객체 목록
+ */
+ public List getRentEnts(RentQuery req) {
+ return rentEntMapper.selectRentEnts(req);
+ }
+
+ /**임대 기업 대장 정보를 등록한다.
+ * @param rentEnt 임대 기업 대장
+ * @return 저장 여부
+ *
저장됐으면 true
+ *
그렇지 않으면 false
+ *
+ */
+ public boolean create(RentEnt rentEnt) {
+ return rentEntMapper.insert(rentEnt);
+ }
+
+ /**임대 기업 대장 정보를 수정한다.
+ * @param rentEnt 임대 기업 대장
+ * @return 저장 여부
+ *
저장됐으면 true
+ *
그렇지 않으면 false
+ *
+ */
+ public boolean update(RentEnt rentEnt) {
+ return rentEntMapper.update(rentEnt);
+ }
+
+ /**임대 기업 대장 정보를 삭제한다.
+ * @param rentEnt 임대 기업 대장
+ * @return 저장 여부
+ *
+ * ============ 변경 이력 ============
+ * 2024-07-24 JoJH 최초 작성
+ * ================================
+ *
+ */
+@Service("rentEntService")
+public class RentEntServiceBean extends AbstractServiceBean implements RentEntService {
+
+ /** 임대 기업 대장 정보 Bean */
+ @Resource(name = "rentEntBean")
+ private RentEntBean rentEntBean;
+
+ @Override
+ public List getRentEntList(RentQuery req) {
+ return rentEntBean.getRentEntList(req);
+ }
+
+ @Override
+ public List getRentEnts(RentQuery req) {
+ return rentEntBean.getRentEnts(req);
+ }
+
+ @Override
+ public boolean create(RentEnt rentEnt) {
+ return rentEntBean.create(rentEnt);
+ }
+
+ @Override
+ public boolean update(RentEnt rentEnt) {
+ return rentEntBean.update(rentEnt);
+ }
+
+ @Override
+ public boolean remove(RentEnt rentEnt) {
+ return rentEntBean.remove(rentEnt);
+ }
+
+}
diff --git a/src/main/java/cokr/xit/fims/rent/web/Rent01Controller.java b/src/main/java/cokr/xit/fims/rent/web/Rent01Controller.java
new file mode 100644
index 00000000..bfbd4175
--- /dev/null
+++ b/src/main/java/cokr/xit/fims/rent/web/Rent01Controller.java
@@ -0,0 +1,120 @@
+package cokr.xit.fims.rent.web;
+
+import java.util.List;
+
+import javax.annotation.Resource;
+
+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.servlet.ModelAndView;
+
+import cokr.xit.base.web.ApplicationController;
+import cokr.xit.fims.rent.RentEnt;
+import cokr.xit.fims.rent.RentQuery;
+import cokr.xit.fims.rent.service.RentEntService;
+
+/**임대 기업 대장 서비스의 웹 컨트롤러
+ *
+ *
상세 설명:
+ *
+ *
+ * ============ 변경 이력 ============
+ * 2024-07-24 JoJH 최초 작성
+ * ================================
+ *
+ */
+@Controller
+@RequestMapping(name="임대차량 관리", value=Rent01Controller.CLASS_URL)
+public class Rent01Controller extends ApplicationController {
+
+ public static final String CLASS_URL = "/rent/rent01";
+
+ public class METHOD_URL {
+ public static final String
+ rentEnterpriseMain = "/010/main.do" // 임대 기업 관리 메인 화면
+ , getrentEnterpriseList = "/010/list.do" // 임대 기업 대장 목록 조회
+ , removerentEnterprise = "/010/remove.do" // 임대 기업 대장 삭제
+ , getrentEnterpriseInfo = "/020/info.do" // 임대 기업 대장 상세 조회
+ , createrentEnterprise = "/020/create.do" // 임대 기업 대장 등록
+ , updaterentEnterprise = "/020/update.do" // 임대 기업 대장 수정
+ ;
+ }
+
+ /**임대 기업 대장 서비스*/
+ @Resource(name = "rentEntService")
+ private RentEntService rentEntService;
+
+ /**임대 기업 대장 관리 메인화면(rentEnt/rentEnt-main)을 연다.
+ * 조건없는 {@link #getRentEntList(RentEntQuery) 임대 기업 대장 조회 결과}를 포함시킨다.
+ * @return /rentEnt/rentEnt-main
+ */
+ @GetMapping(name = "임대 기업 대장 메인", value = "/main.do")
+ public ModelAndView main() {
+ ModelAndView mav = getRentEntList(new RentQuery().setPageNum(1));
+ mav.setViewName("/rentEnt/rentEnt-main");
+ return mav.addObject("rentEntList", toJson(mav.getModel().get("rentEntList")));
+ }
+
+ /**임대 기업 대장 목록을 조회하여 반환한다.
+ * {@link RentEntService#getRentEntList(RentEntQuery)} 참고
+ * @param req 임대 기업 대장 조회 조건
+ * @return jsonView
+ *
{
+ * "rentEntList": [임대 기업 대장 목록]
+ * "rentEntStart": 임대 기업 대장 목록 시작 인덱스
+ * "rentEntFetch": 한 번에 가져오는 임대 기업 대장 목록 수
+ * "rentEntTotal": 조회 결과 찾은 전체 임대 기업 대장 수
+ * }
+ */
+ @RequestMapping(name = "임대 기업 대장 조회", value = "/list.do")
+ public ModelAndView getRentEntList(RentQuery req) {
+ List> result = rentEntService.getRentEntList(setFetchSize(req));
+ return setCollectionInfo(new ModelAndView("jsonView"), result, "rentEnt");
+ }
+
+ /**임대 기업 대장를 등록한다.
+ * @param rentEnt 임대 기업 대장 정보
+ * @return jsonView
+ *
{
+ * "saved": 등록되었으면 true, 그렇지 않으면 false
+ * }
+ */
+ @PostMapping(name = "임대 기업 대장 등록", value = "/create.do")
+ public ModelAndView create(RentEnt rentEnt) {
+ boolean saved = rentEntService.create(rentEnt);
+ return new ModelAndView("jsonView")
+ .addObject("saved", saved);
+ }
+
+ /**임대 기업 대장 정보를 수정한다.
+ * @param rentEnt 임대 기업 대장 정보
+ * @return jsonView
+ *
{
+ * "saved": 수정되었으면 true, 그렇지 않으면 false
+ * }
+ */
+ @PostMapping(name = "임대 기업 대장 수정", value = "/update.do")
+ public ModelAndView update(RentEnt rentEnt) {
+ boolean saved = rentEntService.update(rentEnt);
+ return new ModelAndView("jsonView")
+ .addObject("saved", saved);
+ }
+
+ /**지정한 임대 기업 대장를 제거한다.
+ * @param rentEntIDs 임대 기업 대장 아이디
+ * @return jsonView
+ *
{
+ * "affected": 저장된 정보수
+ * "saved": 저장되었으면 true, 그렇지 않으면 false
+ * }