diff --git a/src/main/java/nlib/col/service/CollectionVO.java b/src/main/java/nlib/col/service/CollectionVO.java index 23eed0c0..a1f49684 100644 --- a/src/main/java/nlib/col/service/CollectionVO.java +++ b/src/main/java/nlib/col/service/CollectionVO.java @@ -107,13 +107,22 @@ public class CollectionVO extends PagingVO { //-------------------------------------------- // 기타 연관기능 항목 //-------------------------------------------- - private int mbInterestId; /* 관심 id */ - private String mbInfoId; /* 회원 id */ - private String mbCartId; /* 카트ID */ - private String cartTypeCd; /* 카트유형코드 */ - private String rsrvId; /* 카트관련대출예약ID */ - private String reqId; /* 카트관련열람예약ID */ - private String cartProcDivCd; /* 카트처리구분코드 */ + private int mbInterestId; /* 관심 id */ + private String mbInfoId; /* 회원 id */ + private String mbCartId; /* 카트ID */ + private String cartTypeCd; /* 카트유형코드 */ + private String rsrvId; /* 카트관련대출예약ID */ + private String reqId; /* 카트관련열람예약ID */ + private String cartProcDivCd; /* 카트처리구분코드 */ + + //-------------------------------------------- + // 대출관련 + //-------------------------------------------- + private String rsrvDd; /* 대출신청예약일자 */ + private String bookLtRvStatusCd; /* 대출상태구분코드 */ + private String bookLtRvStatusNm; /* 대출상태구분코드명 */ + private String rsrvExpctDd; /* 대출예약만료일자 */ + private String rtnDd; /* 반납일자 */ //-------------------------------------------- // 기타 및 처리결과 항목 @@ -642,5 +651,45 @@ public class CollectionVO extends PagingVO { this.selItems = selItems; } + public String getBookLtRvStatusCd() { + return bookLtRvStatusCd; + } + + public void setBookLtRvStatusCd(String bookLtRvStatusCd) { + this.bookLtRvStatusCd = bookLtRvStatusCd; + } + + public String getRsrvDd() { + return rsrvDd; + } + + public void setRsrvDd(String rsrvDd) { + this.rsrvDd = rsrvDd; + } + + public String getBookLtRvStatusNm() { + return bookLtRvStatusNm; + } + + public void setBookLtRvStatusNm(String bookLtRvStatusNm) { + this.bookLtRvStatusNm = bookLtRvStatusNm; + } + + public String getRsrvExpctDd() { + return rsrvExpctDd; + } + + public void setRsrvExpctDd(String rsrvExpctDd) { + this.rsrvExpctDd = rsrvExpctDd; + } + + public String getRtnDd() { + return rtnDd; + } + + public void setRtnDd(String rtnDd) { + this.rtnDd = rtnDd; + } + } diff --git a/src/main/java/nlib/col/service/RentService.java b/src/main/java/nlib/col/service/RentService.java index 9964d514..fda18cf3 100644 --- a/src/main/java/nlib/col/service/RentService.java +++ b/src/main/java/nlib/col/service/RentService.java @@ -1,48 +1,60 @@ package nlib.col.service; +import java.util.HashMap; +import java.util.List; + import nlib.restful.service.DataApiReqVO; import nlib.restful.service.DataApiResVO; public interface RentService { + + /** + * 사용자의 대출건이 존재하는 문화원 정보 목록을 조회한다. + * + * @param mbInfoId + * @return + */ + public List> listRentMngOrg(String mbInfoId); + /** * 대출 목록 조회한다. * - * @param reqVO + * @param searchVO * @return */ - public DataApiResVO listRentItems(DataApiReqVO reqVO); - - /** - * 반납 연기 목록을 조회한다. - * - * @param reqVO - * @return - */ - public DataApiResVO listPostpones(DataApiReqVO reqVO); - - /** - * 대출 취소 목록을 조회한다. - * - * @param reqVO - * @return - */ - public DataApiResVO listCanceledRentItems(DataApiReqVO reqVO); - - /** - * 대출 예약 목록을 조회한다. - * - * @param reqVO - * @return - */ - public DataApiResVO listReservations(DataApiReqVO reqVO); - - public DataApiResVO cancelReservations(DataApiReqVO reqVO); - - public DataApiResVO listRequestsForViewingItem(DataApiReqVO reqVO); - - public DataApiResVO selectRequestInfoForViewingItem(DataApiReqVO reqVO); + public DataApiResVO listRentItems(CollectionVO searchVO); +// +// /** +// * 반납 연기 목록을 조회한다. +// * +// * @param reqVO +// * @return +// */ +// public DataApiResVO listPostpones(DataApiReqVO reqVO); +// +// /** +// * 대출 취소 목록을 조회한다. +// * +// * @param reqVO +// * @return +// */ +// public DataApiResVO listCanceledRentItems(DataApiReqVO reqVO); +// +// /** +// * 대출 예약 목록을 조회한다. +// * +// * @param reqVO +// * @return +// */ +// public DataApiResVO listReservations(DataApiReqVO reqVO); +// +// public DataApiResVO cancelReservations(DataApiReqVO reqVO); +// +// public DataApiResVO listRequestsForViewingItem(DataApiReqVO reqVO); +// +// public DataApiResVO selectRequestInfoForViewingItem(DataApiReqVO reqVO); } \ No newline at end of file diff --git a/src/main/java/nlib/col/service/impl/RentDAO.java b/src/main/java/nlib/col/service/impl/RentDAO.java index c333a69e..ac3b5d20 100644 --- a/src/main/java/nlib/col/service/impl/RentDAO.java +++ b/src/main/java/nlib/col/service/impl/RentDAO.java @@ -1,89 +1,13 @@ package nlib.col.service.impl; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.stereotype.Repository; +import java.util.HashMap; +import java.util.List; +import egovframework.rte.psl.dataaccess.mapper.Mapper; -import nlib.restful.DataApi; -import nlib.restful.service.DataApiReqVO; -import nlib.restful.service.DataApiResVO; - -@Repository("rentDAO") -public class RentDAO extends DataApi -{ - private static final Logger log = LoggerFactory.getLogger(RentDAO.class); +@Mapper("rentDAO") +public interface RentDAO { - - /** - * 주 자원의 URI - */ - public static final String RESOURCE_URI = "/uac/service/col/rent"; - - - /** - * 대출 목록 조회한다. - * - * @param reqVO - * @return - */ - public DataApiResVO listRentItems(DataApiReqVO reqVO) { - reqVO.setReqUrl(RESOURCE_URI + "/list"); - return request(reqVO); - } + public List> listRentMngOrg(String mbInfoId); - /** - * 반납 연기 목록을 조회한다. - * - * @param reqVO - * @return - */ - public DataApiResVO listPostpones(DataApiReqVO reqVO) { - reqVO.setReqUrl(RESOURCE_URI + "/list"); - return request(reqVO); - } - - /** - * 대출 취소 목록을 조회한다. - * - * @param reqVO - * @return - */ - public DataApiResVO listCanceledRentItems(DataApiReqVO reqVO) { - reqVO.setReqUrl(RESOURCE_URI + "/list"); - return request(reqVO); - } - - /** - * 대출 예약 목록을 조회한다. - * - * @param reqVO - * @return - */ - public DataApiResVO listReservations(DataApiReqVO reqVO) { - reqVO.setReqUrl(RESOURCE_URI + "/list"); - return request(reqVO); - } - - public DataApiResVO cancelReservations(DataApiReqVO reqVO) { - return null; - } - - /** - * 열람 요청 목록을 조회한다. - * - * @param reqVO - * @return - */ - public DataApiResVO listRequestsForViewingItem(DataApiReqVO reqVO) { - reqVO.setReqUrl(RESOURCE_URI + "/read/list"); - return request(reqVO); - } - - public DataApiResVO selectRequestInfoForViewingItem(DataApiReqVO reqVO) { - reqVO.setReqUrl(RESOURCE_URI + "/read"); - return request(reqVO); - } - - -} \ No newline at end of file +} diff --git a/src/main/java/nlib/col/service/impl/RentDAO_BK.java b/src/main/java/nlib/col/service/impl/RentDAO_BK.java new file mode 100644 index 00000000..c333a69e --- /dev/null +++ b/src/main/java/nlib/col/service/impl/RentDAO_BK.java @@ -0,0 +1,89 @@ + +package nlib.col.service.impl; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.stereotype.Repository; + +import nlib.restful.DataApi; +import nlib.restful.service.DataApiReqVO; +import nlib.restful.service.DataApiResVO; + +@Repository("rentDAO") +public class RentDAO extends DataApi +{ + private static final Logger log = LoggerFactory.getLogger(RentDAO.class); + + + /** + * 주 자원의 URI + */ + public static final String RESOURCE_URI = "/uac/service/col/rent"; + + + /** + * 대출 목록 조회한다. + * + * @param reqVO + * @return + */ + public DataApiResVO listRentItems(DataApiReqVO reqVO) { + reqVO.setReqUrl(RESOURCE_URI + "/list"); + return request(reqVO); + } + + /** + * 반납 연기 목록을 조회한다. + * + * @param reqVO + * @return + */ + public DataApiResVO listPostpones(DataApiReqVO reqVO) { + reqVO.setReqUrl(RESOURCE_URI + "/list"); + return request(reqVO); + } + + /** + * 대출 취소 목록을 조회한다. + * + * @param reqVO + * @return + */ + public DataApiResVO listCanceledRentItems(DataApiReqVO reqVO) { + reqVO.setReqUrl(RESOURCE_URI + "/list"); + return request(reqVO); + } + + /** + * 대출 예약 목록을 조회한다. + * + * @param reqVO + * @return + */ + public DataApiResVO listReservations(DataApiReqVO reqVO) { + reqVO.setReqUrl(RESOURCE_URI + "/list"); + return request(reqVO); + } + + public DataApiResVO cancelReservations(DataApiReqVO reqVO) { + return null; + } + + /** + * 열람 요청 목록을 조회한다. + * + * @param reqVO + * @return + */ + public DataApiResVO listRequestsForViewingItem(DataApiReqVO reqVO) { + reqVO.setReqUrl(RESOURCE_URI + "/read/list"); + return request(reqVO); + } + + public DataApiResVO selectRequestInfoForViewingItem(DataApiReqVO reqVO) { + reqVO.setReqUrl(RESOURCE_URI + "/read"); + return request(reqVO); + } + + +} \ No newline at end of file diff --git a/src/main/java/nlib/col/service/impl/RentServiceImpl.java b/src/main/java/nlib/col/service/impl/RentServiceImpl.java index eede3040..921afc97 100644 --- a/src/main/java/nlib/col/service/impl/RentServiceImpl.java +++ b/src/main/java/nlib/col/service/impl/RentServiceImpl.java @@ -1,14 +1,22 @@ package nlib.col.service.impl; +import java.util.HashMap; +import java.util.List; + import javax.annotation.Resource; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.springframework.http.HttpMethod; import org.springframework.stereotype.Service; +import nlib.col.service.CollectionVO; import nlib.col.service.RentService; +import nlib.restful.DataApi; import nlib.restful.service.DataApiReqVO; import nlib.restful.service.DataApiResVO; +import nlib.restful.service.XmlConverter; +import nlib.util.StringUtil; @Service("rentService") public class RentServiceImpl implements RentService @@ -17,66 +25,101 @@ public class RentServiceImpl implements RentService @Resource(name="rentDAO") private RentDAO rentDAO; + + /** RESTFul API 송수신 모듈 */ + @Resource(name = "dataApi") + private DataApi dataApi; - /* + + /** + * 사용자의 대출건이 존재하는 문화원 정보 목록을 조회한다. + * + * @param mbInfoId + * @return + */ + public List> listRentMngOrg(String mbInfoId) { + return rentDAO.listRentMngOrg(mbInfoId); + } + + /** * 대출 목록 조회한다. * - * (non-Javadoc) - * @see nlib.col.service.RentService#listRentItems(nlib.restful.service.DataApiReqVO) + * @param searchVO + * @return */ - public DataApiResVO listRentItems(DataApiReqVO reqVO) { - return rentDAO.listRentItems(reqVO); - } + public DataApiResVO listRentItems(CollectionVO searchVO) { + + if(searchVO == null || StringUtil.isEmpty(searchVO.getMbInfoId())) { + log.error("listRentItems > 대출 목록 조회 요청 정보가 없습니다."); + return null; + } - /* - * 반납 연기 목록을 조회한다. - * - * (non-Javadoc) - * @see nlib.col.service.RentService#listPostpones(nlib.restful.service.DataApiReqVO) - */ - public DataApiResVO listPostpones(DataApiReqVO reqVO) { - return rentDAO.listPostpones(reqVO); - } - /* - * 대출 취소 목록을 조회한다. - * - * (non-Javadoc) - * @see nlib.col.service.RentService#listCanceledRentItems(nlib.restful.service.DataApiReqVO) - */ - public DataApiResVO listCanceledRentItems(DataApiReqVO reqVO) { - return rentDAO.listCanceledRentItems(reqVO); - } - - /* - * 대출 예약 목록을 조회한다. - * - * (non-Javadoc) - * @see nlib.col.service.RentService#listReservations(nlib.restful.service.DataApiReqVO) - */ - public DataApiResVO listReservations(DataApiReqVO reqVO) { - return rentDAO.listReservations(reqVO); - } - - public DataApiResVO cancelReservations(DataApiReqVO reqVO) { - return null; - } - - /* - * 열람 요청 목록을 조회한다. - * - * (non-Javadoc) - * @see nlib.col.service.RentService#listRequestsForViewingItem(nlib.restful.service.DataApiReqVO) - */ - public DataApiResVO listRequestsForViewingItem(DataApiReqVO reqVO) { - return rentDAO.listRequestsForViewingItem(reqVO); - } - /* - * 열람 요청 상세 조회한다. - * - * (non-Javadoc) - * @see nlib.col.service.RentService#listRequestsForViewingItem(nlib.restful.service.DataApiReqVO) - */ - public DataApiResVO selectRequestInfoForViewingItem(DataApiReqVO reqVO) { - return rentDAO.selectRequestInfoForViewingItem(reqVO); + // API 호출 + /* + mngOrgCd 문화원코드 + mbInfoId 사용자아이디 + rows 페이지크기(페이지당최대표출건수) + page 페이지번호 + bookLtRvStatusCd 대출상태구분코드("": 전체, A:신청, B:대출준비완료, C:취소, W:대출중, R0:정상반납, R1:연체반납 P:연체) + */ + DataApiReqVO reqVO = new DataApiReqVO("/uac/service/nlib/rent/listRentItem", HttpMethod.GET); + reqVO.setMbInfoId(searchVO.getMbInfoId()); // 통신 시, 암호화되어 송수신됨 + reqVO.setPageSize(searchVO.getPageSize()); + reqVO.setPageIndex(searchVO.getPageIndex()); + reqVO.putInfoItem("mngOrgCd", searchVO.getMngOrgCd()); + reqVO.putInfoItem("bookLtRvStatusCd", searchVO.getBookLtRvStatusCd()); + return dataApi.request(reqVO); } +// +// /* +// * 반납 연기 목록을 조회한다. +// * +// * (non-Javadoc) +// * @see nlib.col.service.RentService#listPostpones(nlib.restful.service.DataApiReqVO) +// */ +// public DataApiResVO listPostpones(DataApiReqVO reqVO) { +// return rentDAO.listPostpones(reqVO); +// } +// /* +// * 대출 취소 목록을 조회한다. +// * +// * (non-Javadoc) +// * @see nlib.col.service.RentService#listCanceledRentItems(nlib.restful.service.DataApiReqVO) +// */ +// public DataApiResVO listCanceledRentItems(DataApiReqVO reqVO) { +// return rentDAO.listCanceledRentItems(reqVO); +// } +// +// /* +// * 대출 예약 목록을 조회한다. +// * +// * (non-Javadoc) +// * @see nlib.col.service.RentService#listReservations(nlib.restful.service.DataApiReqVO) +// */ +// public DataApiResVO listReservations(DataApiReqVO reqVO) { +// return rentDAO.listReservations(reqVO); +// } +// +// public DataApiResVO cancelReservations(DataApiReqVO reqVO) { +// return null; +// } +// +// /* +// * 열람 요청 목록을 조회한다. +// * +// * (non-Javadoc) +// * @see nlib.col.service.RentService#listRequestsForViewingItem(nlib.restful.service.DataApiReqVO) +// */ +// public DataApiResVO listRequestsForViewingItem(DataApiReqVO reqVO) { +// return rentDAO.listRequestsForViewingItem(reqVO); +// } +// /* +// * 열람 요청 상세 조회한다. +// * +// * (non-Javadoc) +// * @see nlib.col.service.RentService#listRequestsForViewingItem(nlib.restful.service.DataApiReqVO) +// */ +// public DataApiResVO selectRequestInfoForViewingItem(DataApiReqVO reqVO) { +// return rentDAO.selectRequestInfoForViewingItem(reqVO); +// } } \ No newline at end of file diff --git a/src/main/java/nlib/col/web/RentController.java b/src/main/java/nlib/col/web/RentController.java index 9c50d5c7..eaa015f6 100644 --- a/src/main/java/nlib/col/web/RentController.java +++ b/src/main/java/nlib/col/web/RentController.java @@ -1,6 +1,7 @@ package nlib.col.web; +import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -21,6 +22,7 @@ import org.springframework.web.bind.annotation.RequestParam; import nlib.cmm.NlibCommonController; import nlib.cmm.service.CodeService; import nlib.cmm.service.NlibProperty; +import nlib.col.service.CollectionVO; import nlib.col.service.RentService; import nlib.restful.service.DataApiReqVO; import nlib.restful.service.DataApiResVO; @@ -42,6 +44,7 @@ import nlib.util.StringUtil; * @ 수정일 수정자 수정내용 * @ ------------ -------- --------------------------- * @ 2021. 7. 21. JSYOO 최초 생성 + * @ 2021.10. 14. KNKIM 대출목록 API방식 변경 및 화면설계서 적용 개발 * * * @author 이씨플라자 * DIGITALSHIP JSYOO @@ -62,27 +65,38 @@ public class RentController extends NlibCommonController private CodeService codeService; - /** 대출 목록 화면을 호출한다. - * @param req + /** + * 대출 목록 화면을 호출한다. + * + * @param request + * @param searchVO + * @param model + * @param message * @return + * @throws Exception */ @RequestMapping("/rent/listRentItems.do") - public String listRentItems(HttpServletRequest req, Authentication authentication, @RequestParam Map paramMap, ModelMap model) throws Exception { - String searchKeyword = paramMap.get("searchKeyword"); - String pageIndex = StringUtil.getString(paramMap.get("pageIndex"), "1"); - String pageSize = StringUtil.getString(paramMap.get("pageSize") , DEFUALT_PAGE_SIZE); - - // 페이징 사이즈 코드 목록 조회 (DB방식으로 변경 2021.08.06 KNKIM) - List> pageSizeCodes = codeService.listCodes("PAGE_SIZE_OPTION"); + public String listRentItems(HttpServletRequest request, CollectionVO searchVO, ModelMap model, String message) throws Exception { - // 반환 정보 - model.addAttribute("pageIndex" , pageIndex); - model.addAttribute("pageSize" , pageSize); - model.addAttribute("searchKeyword", searchKeyword); - model.addAttribute("pageSizeCodes", pageSizeCodes); - return "nlib/rent/listRentItems"; - } - + String mbInfoId = getMbInfoId(request); + + if(StringUtil.isEmpty(mbInfoId)) { + message = "로그인하신 후, 이용바랍니다."; + model.addAttribute("message", message); + return "nlib/rent/listRentItems"; + } + + // 대출자료 문화원 목록 조회 + List> rentMngOrgList = rentService.listRentMngOrg(mbInfoId); + model.addAttribute("bookLtRvStatusCd", searchVO.getBookLtRvStatusCd()); + model.addAttribute("pageSize" , searchVO.getPageSize()); + model.addAttribute("pageSize" , searchVO.getPageSize()); + model.addAttribute("pageIndex" , searchVO.getPageIndex()); + model.addAttribute("message" , message); + + return "nlib/rent/listRentItems"; + } + /** * 대출 목록을 조회한다. * @@ -90,334 +104,364 @@ public class RentController extends NlibCommonController * @return */ @RequestMapping(value="/rent/listRentItemsAjax.do") - public ResponseEntity listRentItemsAjax(HttpServletRequest req, - Authentication authentication, @RequestBody Map paramMap) { - - String searchKeyword = paramMap.get("searchKeyword"); - String pageIndex = StringUtil.getString(paramMap.get("pageIndex"), "1"); - String pageSize = StringUtil.getString(paramMap.get("pageSize") , DEFUALT_PAGE_SIZE); - - //------------------------------- - // REQ VO 구성 - //------------------------------- - DataApiReqVO reqVO = new DataApiReqVO(); - reqVO.setPageIndex(pageIndex); - reqVO.setPageSize(pageSize); - reqVO.putInfoItem("searchKeyword", searchKeyword); + public ResponseEntity listRentItemsAjax( + HttpServletRequest request, + @RequestBody CollectionVO searchVO) { + + String message = null; + String mbInfoId = getMbInfoId(request); - // 요청 - DataApiResVO resVO = rentService.listRentItems(reqVO); + if(StringUtil.isEmpty(mbInfoId)) { + message = "로그인하신 후, 이용바랍니다."; + } //------------------------------- // JSON변환 응답 처리 //------------------------------- - // JS-GRID 페이징 처리를 포함한 응답값 처리 - // {data: [{...}], - // itemsCount: 255 - // } - HashMap retMap = new HashMap(); - retMap.put("data", resVO.getList(DataApiVO.XML_EL_NAME_RECORD)); - retMap.put("itemsCount", resVO.getRecordTotCount()); - - return makeResponseEntityJson(retMap); - } - - /** 대출 목록 화면을 호출한다. - * @param req - * @return - */ - @RequestMapping("/rent/listCanceledRentItems.do") - public String listCanceledRentItems(HttpServletRequest req, Authentication authentication, @RequestParam Map paramMap, ModelMap model) throws Exception { - String searchKeyword = paramMap.get("searchKeyword"); - String pageIndex = StringUtil.getString(paramMap.get("pageIndex"), "1"); - String pageSize = StringUtil.getString(paramMap.get("pageSize") , DEFUALT_PAGE_SIZE); - - // 페이징 사이즈 코드 목록 조회 (DB방식으로 변경 2021.08.06 KNKIM) - List> pageSizeCodes = codeService.listCodes("PAGE_SIZE_OPTION"); + // JS-GRID 페이징 처리를 포함한 응답값 처리 + // {data: [{...}], + // itemsCount: 255 + // } + HashMap retMap = new HashMap(); - // 반환 정보 - model.addAttribute("pageIndex" , pageIndex); - model.addAttribute("pageSize" , pageSize); - model.addAttribute("searchKeyword", searchKeyword); - model.addAttribute("pageSizeCodes", pageSizeCodes); - return "nlib/rent/listCanceledRentItems"; - } - - /** - * 대출 취소 목록을 조회한다. - * - * @param req - * @return - */ - @RequestMapping(value="/rent/listCanceledRentItemsAjax.do") - public ResponseEntity listCanceledRentItemsAjax(HttpServletRequest req, - Authentication authentication, @RequestBody Map paramMap) { + if(StringUtil.isNotEmpty(mbInfoId)) { + // 로그인 사용자 정보 설정 + searchVO.setMbInfoId(mbInfoId); + // TO-DO : DDDDDDDDDDDDDDDDDDDddd + // 기본값은 전체이나, API 반영전까지 문화원 코드 전송 + // if(StringUtil.isEmpty(searchVO.getMngOrgCd())) searchVO.setMngOrgCd(getCurCouncilCd(request)); + searchVO.setMngOrgCd("KCCF"); + + // 조회 + DataApiResVO resVO = rentService.listRentItems(searchVO); - String searchKeyword = paramMap.get("searchKeyword"); - String pageIndex = StringUtil.getString(paramMap.get("pageIndex"), "1"); - String pageSize = StringUtil.getString(paramMap.get("pageSize") , DEFUALT_PAGE_SIZE); + retMap.put("data" , resVO.getRecordList()); + retMap.put("itemsCount", resVO.getRecordTotCount()); + retMap.put("pageIndex" , resVO.getPageIndex()); + } else { + retMap.put("message" , "로그인하신 후, 이용바랍니다."); + } - //------------------------------- - // REQ VO 구성 - //------------------------------- - DataApiReqVO reqVO = new DataApiReqVO(); - reqVO.setPageIndex(pageIndex); - reqVO.setPageSize(pageSize); - reqVO.putInfoItem("searchKeyword", searchKeyword); - - // 요청 - DataApiResVO resVO = rentService.listCanceledRentItems(reqVO); - - //------------------------------- - // JSON변환 응답 처리 - //------------------------------- - // JS-GRID 페이징 처리를 포함한 응답값 처리 - // {data: [{...}], - // itemsCount: 255 - // } - HashMap retMap = new HashMap(); - retMap.put("data", resVO.getList(DataApiVO.XML_EL_NAME_RECORD)); - retMap.put("itemsCount", resVO.getRecordTotCount()); - - return makeResponseEntityJson(retMap); - } - - /** 반납 연기 화면을 호출한다. - * @param req - * @return - */ - @RequestMapping("/rent/listPostpones.do") - public String listPostpones(HttpServletRequest req, Authentication authentication, @RequestParam Map paramMap, ModelMap model) throws Exception { - String searchKeyword = paramMap.get("searchKeyword"); - String pageIndex = StringUtil.getString(paramMap.get("pageIndex"), "1"); - String pageSize = StringUtil.getString(paramMap.get("pageSize") , DEFUALT_PAGE_SIZE); - - // 페이징 사이즈 코드 목록 조회 (DB방식으로 변경 2021.08.06 KNKIM) - List> pageSizeCodes = codeService.listCodes("PAGE_SIZE_OPTION"); - - // 반환 정보 - model.addAttribute("pageIndex" , pageIndex); - model.addAttribute("pageSize" , pageSize); - model.addAttribute("searchKeyword", searchKeyword); - model.addAttribute("pageSizeCodes", pageSizeCodes); - return "nlib/rent/listPostpones"; - } - - /** - * 반납 연기 목록을 조회한다. - * - * @param req - * @return - */ - @RequestMapping(value="/rent/listPostponesAjax.do") - public ResponseEntity listPostponesAjax(HttpServletRequest req, - Authentication authentication, @RequestBody Map paramMap) { - - String searchKeyword = paramMap.get("searchKeyword"); - String pageIndex = StringUtil.getString(paramMap.get("pageIndex"), "1"); - String pageSize = StringUtil.getString(paramMap.get("pageSize") , DEFUALT_PAGE_SIZE); - - //------------------------------- - // REQ VO 구성 - //------------------------------- - DataApiReqVO reqVO = new DataApiReqVO(); - reqVO.setPageIndex(pageIndex); - reqVO.setPageSize(pageSize); - reqVO.putInfoItem("searchKeyword", searchKeyword); - - // 요청 - DataApiResVO resVO = rentService.listPostpones(reqVO); - - //------------------------------- - // JSON변환 응답 처리 - //------------------------------- - // JS-GRID 페이징 처리를 포함한 응답값 처리 - // {data: [{...}], - // itemsCount: 255 - // } - HashMap retMap = new HashMap(); - retMap.put("data", resVO.getList(DataApiVO.XML_EL_NAME_RECORD)); - retMap.put("itemsCount", resVO.getRecordTotCount()); - - return makeResponseEntityJson(retMap); - } - - public ModelMap listCanceledRentItems(HttpServletRequest req) { - return null; - } - - /** 대출 예약 화면을 호출한다. - * @param req - * @return - */ - @RequestMapping("/rent/listReservations.do") - public String listReservations(HttpServletRequest req, Authentication authentication, @RequestParam Map paramMap, ModelMap model) throws Exception { - String searchKeyword = paramMap.get("searchKeyword"); - String pageIndex = StringUtil.getString(paramMap.get("pageIndex"), "1"); - String pageSize = StringUtil.getString(paramMap.get("pageSize") , DEFUALT_PAGE_SIZE); - - // 페이징 사이즈 코드 목록 조회 (DB방식으로 변경 2021.08.06 KNKIM) - List> pageSizeCodes = codeService.listCodes("PAGE_SIZE_OPTION"); - - // 반환 정보 - model.addAttribute("pageIndex" , pageIndex); - model.addAttribute("pageSize" , pageSize); - model.addAttribute("searchKeyword", searchKeyword); - model.addAttribute("pageSizeCodes", pageSizeCodes); - return "nlib/rent/listReservations"; - } - - /** - * 대출 예약 목록을 조회한다. - * - * @param req - * @return - */ - @RequestMapping(value="/rent/listReservationsAjax.do") - public ResponseEntity listReservationsAjax(HttpServletRequest req, - Authentication authentication, @RequestBody Map paramMap) { - - String searchKeyword = paramMap.get("searchKeyword"); - String pageIndex = StringUtil.getString(paramMap.get("pageIndex"), "1"); - String pageSize = StringUtil.getString(paramMap.get("pageSize") , DEFUALT_PAGE_SIZE); - - //------------------------------- - // REQ VO 구성 - //------------------------------- - DataApiReqVO reqVO = new DataApiReqVO(); - reqVO.setPageIndex(pageIndex); - reqVO.setPageSize(pageSize); - reqVO.putInfoItem("searchKeyword", searchKeyword); - - // 요청 - DataApiResVO resVO = rentService.listReservations(reqVO); - - //------------------------------- - // JSON변환 응답 처리 - //------------------------------- - // JS-GRID 페이징 처리를 포함한 응답값 처리 - // {data: [{...}], - // itemsCount: 255 - // } - HashMap retMap = new HashMap(); - retMap.put("data", resVO.getList(DataApiVO.XML_EL_NAME_RECORD)); - retMap.put("itemsCount", resVO.getRecordTotCount()); - - return makeResponseEntityJson(retMap); - } - - public ModelMap cancelReservations(HttpServletRequest req) { - return null; - } - - /** - * 열람 요청 화면을 호출한다. - * - * @param req - * @return - */ - @RequestMapping("/rent/listRequestsForViewingItem.do") - public String listRequestsForViewingItem(HttpServletRequest req, Authentication authentication, @RequestParam Map paramMap, ModelMap model) throws Exception { - String searchKeyword = paramMap.get("searchKeyword"); - String pageIndex = StringUtil.getString(paramMap.get("pageIndex"), "1"); - String pageSize = StringUtil.getString(paramMap.get("pageSize") , DEFUALT_PAGE_SIZE); - - // 페이징 사이즈 코드 목록 조회 (DB방식으로 변경 2021.08.06 KNKIM) - List> pageSizeCodes = codeService.listCodes("PAGE_SIZE_OPTION"); - - // 반환 정보 - model.addAttribute("pageIndex" , pageIndex); - model.addAttribute("pageSize" , pageSize); - model.addAttribute("searchKeyword", searchKeyword); - model.addAttribute("pageSizeCodes", pageSizeCodes); - return "nlib/rent/listRequestsForViewingItem"; - } - - /** - * 열람 요청 목록을 조회한다. - * - * @param req - * @return - */ - @RequestMapping(value="/rent/listRequestsForViewingItemAjax.do") - public ResponseEntity listRequestsForViewingItemAjax(HttpServletRequest req, - Authentication authentication, @RequestBody Map paramMap) { - - String searchKeyword = paramMap.get("searchKeyword"); - String pageIndex = StringUtil.getString(paramMap.get("pageIndex"), "1"); - String pageSize = StringUtil.getString(paramMap.get("pageSize") , DEFUALT_PAGE_SIZE); - - //------------------------------- - // REQ VO 구성 - //------------------------------- - DataApiReqVO reqVO = new DataApiReqVO(); - reqVO.setPageIndex(pageIndex); - reqVO.setPageSize(pageSize); - reqVO.putInfoItem("searchKeyword", searchKeyword); - - // 요청 - DataApiResVO resVO = rentService.listRequestsForViewingItem(reqVO); - - //------------------------------- - // JSON변환 응답 처리 - //------------------------------- - // JS-GRID 페이징 처리를 포함한 응답값 처리 - // {data: [{...}], - // itemsCount: 255 - // } - HashMap retMap = new HashMap(); - retMap.put("data", resVO.getList(DataApiVO.XML_EL_NAME_RECORD)); - retMap.put("itemsCount", resVO.getRecordTotCount()); - - return makeResponseEntityJson(retMap); - } - - /** - * 묻고답하기 상세 내용 조회한다. - * - * @param req - * @return - */ - @RequestMapping("/rent/selectRequestInfoForViewingItem.do") - public String selectRequestInfoForViewingItem(HttpServletRequest req, Authentication authentication, @RequestParam Map paramMap, ModelMap model) { - - // 목록 이동시 전달할 매개변수 - String searchKeyword = paramMap.get("searchKeyword"); - String pageIndex = paramMap.get("pageIndex"); - String pageSize = paramMap.get("pageSize"); - String message = paramMap.get("message"); - - // 게시물 번호 - String articleNo = paramMap.get("articleNo"); - - log.debug("selectRequestInfoForViewingItem > pageIndex = " + pageIndex); - log.debug("selectRequestInfoForViewingItem > pageSize = " + pageSize); - log.debug("selectRequestInfoForViewingItem > searchKeyword = " + searchKeyword); - log.debug("selectRequestInfoForViewingItem > articleNo = " + articleNo); - log.debug("selectRequestInfoForViewingItem > message = " + message); - - //------------------------------- - // REQ VO 구성 - //------------------------------- - DataApiReqVO reqVO = new DataApiReqVO(); - reqVO.setPageIndex(pageIndex); - reqVO.setPageSize(pageSize); - reqVO.putInfoItem("boardNo", "QNA"); // 게시판ID - reqVO.putInfoItem("articleNo", articleNo); // 게시물번호 - - // 요청 - DataApiResVO resVO = rentService.selectRequestInfoForViewingItem(reqVO); - - // 반환 정보 - model.addAttribute("articleNo" , articleNo); - model.addAttribute("article" , resVO.getInfo()); // 게시물 상세 - model.addAttribute("preArticle" , resVO.getList(DataApiVO.XML_EL_NAME_RECORD).get(0)); // 이전글 정보 - model.addAttribute("nextArticle" , resVO.getList(DataApiVO.XML_EL_NAME_RECORD).get(1)); // 다음글 정보 - model.addAttribute("message" , message); - model.addAttribute("pageIndex" , pageIndex); - model.addAttribute("pageSize" , pageSize); - model.addAttribute("searchKeyword", searchKeyword); - - return "nlib/rent/selectRequestInfoForViewingItem"; + return makeResponseEntityJson(retMap); } +// +// /** 대출 목록 화면을 호출한다. +// * @param req +// * @return +// */ +// @RequestMapping("/rent/listRentItems_BK.do") +// public String listRentItems_BK(HttpServletRequest req, Authentication authentication, @RequestParam Map paramMap, ModelMap model) throws Exception { +// String searchKeyword = paramMap.get("searchKeyword"); +// String pageIndex = StringUtil.getString(paramMap.get("pageIndex"), "1"); +// String pageSize = StringUtil.getString(paramMap.get("pageSize") , DEFUALT_PAGE_SIZE); +// +// // 페이징 사이즈 코드 목록 조회 (DB방식으로 변경 2021.08.06 KNKIM) +// List> pageSizeCodes = codeService.listCodes("PAGE_SIZE_OPTION"); +// +// // 반환 정보 +// model.addAttribute("pageIndex" , pageIndex); +// model.addAttribute("pageSize" , pageSize); +// model.addAttribute("searchKeyword", searchKeyword); +// model.addAttribute("pageSizeCodes", pageSizeCodes); +// return "nlib/rent/listRentItems"; +// } +// +// /** 대출 목록 화면을 호출한다. +// * @param req +// * @return +// */ +// @RequestMapping("/rent/listCanceledRentItems.do") +// public String listCanceledRentItems(HttpServletRequest req, Authentication authentication, @RequestParam Map paramMap, ModelMap model) throws Exception { +// String searchKeyword = paramMap.get("searchKeyword"); +// String pageIndex = StringUtil.getString(paramMap.get("pageIndex"), "1"); +// String pageSize = StringUtil.getString(paramMap.get("pageSize") , DEFUALT_PAGE_SIZE); +// +// // 페이징 사이즈 코드 목록 조회 (DB방식으로 변경 2021.08.06 KNKIM) +// List> pageSizeCodes = codeService.listCodes("PAGE_SIZE_OPTION"); +// +// // 반환 정보 +// model.addAttribute("pageIndex" , pageIndex); +// model.addAttribute("pageSize" , pageSize); +// model.addAttribute("searchKeyword", searchKeyword); +// model.addAttribute("pageSizeCodes", pageSizeCodes); +// return "nlib/rent/listCanceledRentItems"; +// } +// +// /** +// * 대출 취소 목록을 조회한다. +// * +// * @param req +// * @return +// */ +// @RequestMapping(value="/rent/listCanceledRentItemsAjax.do") +// public ResponseEntity listCanceledRentItemsAjax(HttpServletRequest req, +// Authentication authentication, @RequestBody Map paramMap) { +// +// String searchKeyword = paramMap.get("searchKeyword"); +// String pageIndex = StringUtil.getString(paramMap.get("pageIndex"), "1"); +// String pageSize = StringUtil.getString(paramMap.get("pageSize") , DEFUALT_PAGE_SIZE); +// +// //------------------------------- +// // REQ VO 구성 +// //------------------------------- +// DataApiReqVO reqVO = new DataApiReqVO(); +// reqVO.setPageIndex(pageIndex); +// reqVO.setPageSize(pageSize); +// reqVO.putInfoItem("searchKeyword", searchKeyword); +// +// // 요청 +// DataApiResVO resVO = rentService.listCanceledRentItems(reqVO); +// +// //------------------------------- +// // JSON변환 응답 처리 +// //------------------------------- +// // JS-GRID 페이징 처리를 포함한 응답값 처리 +// // {data: [{...}], +// // itemsCount: 255 +// // } +// HashMap retMap = new HashMap(); +// retMap.put("data", resVO.getList(DataApiVO.XML_EL_NAME_RECORD)); +// retMap.put("itemsCount", resVO.getRecordTotCount()); +// +// return makeResponseEntityJson(retMap); +// } +// +// /** 반납 연기 화면을 호출한다. +// * @param req +// * @return +// */ +// @RequestMapping("/rent/listPostpones.do") +// public String listPostpones(HttpServletRequest req, Authentication authentication, @RequestParam Map paramMap, ModelMap model) throws Exception { +// String searchKeyword = paramMap.get("searchKeyword"); +// String pageIndex = StringUtil.getString(paramMap.get("pageIndex"), "1"); +// String pageSize = StringUtil.getString(paramMap.get("pageSize") , DEFUALT_PAGE_SIZE); +// +// // 페이징 사이즈 코드 목록 조회 (DB방식으로 변경 2021.08.06 KNKIM) +// List> pageSizeCodes = codeService.listCodes("PAGE_SIZE_OPTION"); +// +// // 반환 정보 +// model.addAttribute("pageIndex" , pageIndex); +// model.addAttribute("pageSize" , pageSize); +// model.addAttribute("searchKeyword", searchKeyword); +// model.addAttribute("pageSizeCodes", pageSizeCodes); +// return "nlib/rent/listPostpones"; +// } +// +// /** +// * 반납 연기 목록을 조회한다. +// * +// * @param req +// * @return +// */ +// @RequestMapping(value="/rent/listPostponesAjax.do") +// public ResponseEntity listPostponesAjax(HttpServletRequest req, +// Authentication authentication, @RequestBody Map paramMap) { +// +// String searchKeyword = paramMap.get("searchKeyword"); +// String pageIndex = StringUtil.getString(paramMap.get("pageIndex"), "1"); +// String pageSize = StringUtil.getString(paramMap.get("pageSize") , DEFUALT_PAGE_SIZE); +// +// //------------------------------- +// // REQ VO 구성 +// //------------------------------- +// DataApiReqVO reqVO = new DataApiReqVO(); +// reqVO.setPageIndex(pageIndex); +// reqVO.setPageSize(pageSize); +// reqVO.putInfoItem("searchKeyword", searchKeyword); +// +// // 요청 +// DataApiResVO resVO = rentService.listPostpones(reqVO); +// +// //------------------------------- +// // JSON변환 응답 처리 +// //------------------------------- +// // JS-GRID 페이징 처리를 포함한 응답값 처리 +// // {data: [{...}], +// // itemsCount: 255 +// // } +// HashMap retMap = new HashMap(); +// retMap.put("data", resVO.getList(DataApiVO.XML_EL_NAME_RECORD)); +// retMap.put("itemsCount", resVO.getRecordTotCount()); +// +// return makeResponseEntityJson(retMap); +// } +// +// public ModelMap listCanceledRentItems(HttpServletRequest req) { +// return null; +// } +// +// /** 대출 예약 화면을 호출한다. +// * @param req +// * @return +// */ +// @RequestMapping("/rent/listReservations.do") +// public String listReservations(HttpServletRequest req, Authentication authentication, @RequestParam Map paramMap, ModelMap model) throws Exception { +// String searchKeyword = paramMap.get("searchKeyword"); +// String pageIndex = StringUtil.getString(paramMap.get("pageIndex"), "1"); +// String pageSize = StringUtil.getString(paramMap.get("pageSize") , DEFUALT_PAGE_SIZE); +// +// // 페이징 사이즈 코드 목록 조회 (DB방식으로 변경 2021.08.06 KNKIM) +// List> pageSizeCodes = codeService.listCodes("PAGE_SIZE_OPTION"); +// +// // 반환 정보 +// model.addAttribute("pageIndex" , pageIndex); +// model.addAttribute("pageSize" , pageSize); +// model.addAttribute("searchKeyword", searchKeyword); +// model.addAttribute("pageSizeCodes", pageSizeCodes); +// return "nlib/rent/listReservations"; +// } +// +// /** +// * 대출 예약 목록을 조회한다. +// * +// * @param req +// * @return +// */ +// @RequestMapping(value="/rent/listReservationsAjax.do") +// public ResponseEntity listReservationsAjax(HttpServletRequest req, +// Authentication authentication, @RequestBody Map paramMap) { +// +// String searchKeyword = paramMap.get("searchKeyword"); +// String pageIndex = StringUtil.getString(paramMap.get("pageIndex"), "1"); +// String pageSize = StringUtil.getString(paramMap.get("pageSize") , DEFUALT_PAGE_SIZE); +// +// //------------------------------- +// // REQ VO 구성 +// //------------------------------- +// DataApiReqVO reqVO = new DataApiReqVO(); +// reqVO.setPageIndex(pageIndex); +// reqVO.setPageSize(pageSize); +// reqVO.putInfoItem("searchKeyword", searchKeyword); +// +// // 요청 +// DataApiResVO resVO = rentService.listReservations(reqVO); +// +// //------------------------------- +// // JSON변환 응답 처리 +// //------------------------------- +// // JS-GRID 페이징 처리를 포함한 응답값 처리 +// // {data: [{...}], +// // itemsCount: 255 +// // } +// HashMap retMap = new HashMap(); +// retMap.put("data", resVO.getList(DataApiVO.XML_EL_NAME_RECORD)); +// retMap.put("itemsCount", resVO.getRecordTotCount()); +// +// return makeResponseEntityJson(retMap); +// } +// +// public ModelMap cancelReservations(HttpServletRequest req) { +// return null; +// } +// +// /** +// * 열람 요청 화면을 호출한다. +// * +// * @param req +// * @return +// */ +// @RequestMapping("/rent/listRequestsForViewingItem.do") +// public String listRequestsForViewingItem(HttpServletRequest req, Authentication authentication, @RequestParam Map paramMap, ModelMap model) throws Exception { +// String searchKeyword = paramMap.get("searchKeyword"); +// String pageIndex = StringUtil.getString(paramMap.get("pageIndex"), "1"); +// String pageSize = StringUtil.getString(paramMap.get("pageSize") , DEFUALT_PAGE_SIZE); +// +// // 페이징 사이즈 코드 목록 조회 (DB방식으로 변경 2021.08.06 KNKIM) +// List> pageSizeCodes = codeService.listCodes("PAGE_SIZE_OPTION"); +// +// // 반환 정보 +// model.addAttribute("pageIndex" , pageIndex); +// model.addAttribute("pageSize" , pageSize); +// model.addAttribute("searchKeyword", searchKeyword); +// model.addAttribute("pageSizeCodes", pageSizeCodes); +// return "nlib/rent/listRequestsForViewingItem"; +// } +// +// /** +// * 열람 요청 목록을 조회한다. +// * +// * @param req +// * @return +// */ +// @RequestMapping(value="/rent/listRequestsForViewingItemAjax.do") +// public ResponseEntity listRequestsForViewingItemAjax(HttpServletRequest req, +// Authentication authentication, @RequestBody Map paramMap) { +// +// String searchKeyword = paramMap.get("searchKeyword"); +// String pageIndex = StringUtil.getString(paramMap.get("pageIndex"), "1"); +// String pageSize = StringUtil.getString(paramMap.get("pageSize") , DEFUALT_PAGE_SIZE); +// +// //------------------------------- +// // REQ VO 구성 +// //------------------------------- +// DataApiReqVO reqVO = new DataApiReqVO(); +// reqVO.setPageIndex(pageIndex); +// reqVO.setPageSize(pageSize); +// reqVO.putInfoItem("searchKeyword", searchKeyword); +// +// // 요청 +// DataApiResVO resVO = rentService.listRequestsForViewingItem(reqVO); +// +// //------------------------------- +// // JSON변환 응답 처리 +// //------------------------------- +// // JS-GRID 페이징 처리를 포함한 응답값 처리 +// // {data: [{...}], +// // itemsCount: 255 +// // } +// HashMap retMap = new HashMap(); +// retMap.put("data", resVO.getList(DataApiVO.XML_EL_NAME_RECORD)); +// retMap.put("itemsCount", resVO.getRecordTotCount()); +// +// return makeResponseEntityJson(retMap); +// } +// +// /** +// * 묻고답하기 상세 내용 조회한다. +// * +// * @param req +// * @return +// */ +// @RequestMapping("/rent/selectRequestInfoForViewingItem.do") +// public String selectRequestInfoForViewingItem(HttpServletRequest req, Authentication authentication, @RequestParam Map paramMap, ModelMap model) { +// +// // 목록 이동시 전달할 매개변수 +// String searchKeyword = paramMap.get("searchKeyword"); +// String pageIndex = paramMap.get("pageIndex"); +// String pageSize = paramMap.get("pageSize"); +// String message = paramMap.get("message"); +// +// // 게시물 번호 +// String articleNo = paramMap.get("articleNo"); +// +// log.debug("selectRequestInfoForViewingItem > pageIndex = " + pageIndex); +// log.debug("selectRequestInfoForViewingItem > pageSize = " + pageSize); +// log.debug("selectRequestInfoForViewingItem > searchKeyword = " + searchKeyword); +// log.debug("selectRequestInfoForViewingItem > articleNo = " + articleNo); +// log.debug("selectRequestInfoForViewingItem > message = " + message); +// +// //------------------------------- +// // REQ VO 구성 +// //------------------------------- +// DataApiReqVO reqVO = new DataApiReqVO(); +// reqVO.setPageIndex(pageIndex); +// reqVO.setPageSize(pageSize); +// reqVO.putInfoItem("boardNo", "QNA"); // 게시판ID +// reqVO.putInfoItem("articleNo", articleNo); // 게시물번호 +// +// // 요청 +// DataApiResVO resVO = rentService.selectRequestInfoForViewingItem(reqVO); +// +// // 반환 정보 +// model.addAttribute("articleNo" , articleNo); +// model.addAttribute("article" , resVO.getInfo()); // 게시물 상세 +// model.addAttribute("preArticle" , resVO.getList(DataApiVO.XML_EL_NAME_RECORD).get(0)); // 이전글 정보 +// model.addAttribute("nextArticle" , resVO.getList(DataApiVO.XML_EL_NAME_RECORD).get(1)); // 다음글 정보 +// model.addAttribute("message" , message); +// model.addAttribute("pageIndex" , pageIndex); +// model.addAttribute("pageSize" , pageSize); +// model.addAttribute("searchKeyword", searchKeyword); +// +// return "nlib/rent/selectRequestInfoForViewingItem"; +// } } \ No newline at end of file diff --git a/src/main/java/nlib/restful/service/DataApiVO.java b/src/main/java/nlib/restful/service/DataApiVO.java index 6f2d4664..fdda24e7 100644 --- a/src/main/java/nlib/restful/service/DataApiVO.java +++ b/src/main/java/nlib/restful/service/DataApiVO.java @@ -141,6 +141,24 @@ public class DataApiVO { return listMap.get(listName); } + public List> getRecordList() { + return getList(XML_EL_NAME_RECORD); + } + + public List getRecordList(Class clazz) { + List> list = getList(XML_EL_NAME_RECORD); + + if(list == null || list.size() < 1) return null; + + List retList = new ArrayList(); + for(HashMap map : list) { + T vo = (T)XmlConverter.convertMapToObject(map, clazz); + retList.add(vo); + } + + return retList; + } + public void setList(String listName, List> list) { if(StringUtil.isEmpty(listName)) return; if(listMap == null) initList(); @@ -174,7 +192,7 @@ public class DataApiVO { setPageIndex("" + pageIndex); } public void setPageIndex(String pageIndex) { - putInfoItem("XML_EL_NAME_PAGE_INDEX", pageIndex); + putInfoItem(XML_EL_NAME_PAGE_INDEX, pageIndex); } public int getPageLastIndex() { int pageLastIndex = 0; @@ -206,7 +224,7 @@ public class DataApiVO { setPageSize("" + pageSize); } public void setPageSize(String pageSize) { - putInfoItem("XML_EL_NAME_PAGE_SIZE", pageSize); + putInfoItem(XML_EL_NAME_PAGE_SIZE, pageSize); } public int getRecordTotCount() { int recordTotCount = 0; diff --git a/src/main/resources/egovframework/mapper/nlib/col/RentDAO_SQL.xml b/src/main/resources/egovframework/mapper/nlib/col/RentDAO_SQL.xml new file mode 100644 index 00000000..aab0fd5d --- /dev/null +++ b/src/main/resources/egovframework/mapper/nlib/col/RentDAO_SQL.xml @@ -0,0 +1,23 @@ + + + + + + + \ No newline at end of file diff --git a/src/main/webapp/WEB-INF/jsp/nlib/rent/listRentItems.jsp b/src/main/webapp/WEB-INF/jsp/nlib/rent/listRentItems.jsp index 3d1f2017..0968edff 100644 --- a/src/main/webapp/WEB-INF/jsp/nlib/rent/listRentItems.jsp +++ b/src/main/webapp/WEB-INF/jsp/nlib/rent/listRentItems.jsp @@ -14,6 +14,7 @@ * @ 수정일 수정자 수정내용 * @ ------------ -------- --------------------------- * @ 2021. 7. 21. JSYOO 최초 생성 + * @ 2021.10. 14. KNKIM 변경API 및 화면설계서 반영 * * * @author 이씨플라자 * DIGITALSHIP JSYOO @@ -30,8 +31,9 @@ <%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %> <%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %> <%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator" %> +<%@ taglib prefix="sec" uri="http://www.springframework.org/security/tags"%> -대출 목록 +대출관리 @@ -58,16 +60,17 @@ window.onload = function() { // 요청 정보 구성 : 시작 (각 요청에 맞게 조정) //====================================== var reqUrl = "${pageContext.request.contextPath}/rent/listRentItemsAjax.do"; - var searchKeyword = document.articleForm.searchKeyword.value; var pageIndex = ( filter && filter.pageIndex ? filter.pageIndex : $("#pageIndex").val()); var pageSize = ( filter && filter.pageSize ? filter.pageSize : $("#pageSize").val()); $("#pageIndex").val(pageIndex); var inputData = { - "searchKeyword" : searchKeyword - , "pageIndex" : pageIndex - , "pageSize": pageSize}; + "pageIndex" : pageIndex + , "pageSize" : pageSize + , "bookLtRvStatusCd" : $("#bookLtRvStatusCd").val() + , "mngOrgCd" : $("#mngOrgCd").val() + }; //-------------------------------------- @@ -85,7 +88,12 @@ window.onload = function() { // (1) 페이징 클라이언트에서 수행하는 경우(pageloading = false) : [{ "articleNo": 1, "articleType": "01" }, { "articleNo": 2, "articleType": "02" }] // (2) 페이징 서버에서 수행하는 경우(pageloading = true) : {data: [{...}], itemsCount: 255} %> - data.resolve(JSON.parse(response)); + var retObj = JSON.parse(response); + + if(retObj.data == null) { + retObj.data = []; + } + data.resolve(retObj); }); return data.promise(); } // loadData @@ -95,15 +103,19 @@ window.onload = function() { // 그리드 컬럼 정의 (각 요청에 맞게 조정) //====================================== fields: [ - { title:"번호", name: "articleNo" , type: "number" , width: 50, align: "center"}, - { title:"자료명", name: "rentItem", type: "text" , width: 200, align: "center" }, - { title:"관리번호", name: "ctrlNum", type: "number", width: 50, align: "center" }, - { title:"저자", name: "author", type: "text", width: 100, align: "center"}, - { title:"출판사", name: "publisher", type: "text", width: 100, align: "center"}, - { title:"대여일", name: "rentDate", type: "text", width: 100, align: "center"}, - { title:"반납예정일", name: "retDueDate", type: "text", width: 100, align: "center"}, - { title:"대출연장", name: "loanExtension", type: "text", width: 80, align: "center" , itemTemplate: function (_, item) { - var btn = $("