이전 서버 체크인버전
This commit is contained in:
parent
5eefce1852
commit
8835fb255f
@ -1,428 +1,422 @@
|
||||
|
||||
package nlib.col.web;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
import org.springframework.security.core.Authentication;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.ui.ModelMap;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
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.RentService;
|
||||
import nlib.restful.service.DataApiReqVO;
|
||||
import nlib.restful.service.DataApiResVO;
|
||||
import nlib.util.StringUtil;
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* @Class Name : RentController.java
|
||||
*
|
||||
* @Description : 대출 Controller
|
||||
*
|
||||
*
|
||||
* @프로젝트명: 지방문화원 통합자료관리시스템 구축사업 (2021)
|
||||
*
|
||||
* </pre>
|
||||
*
|
||||
* @ ------------ -------- ---------------------------
|
||||
* @ 수정일 수정자 수정내용
|
||||
* @ ------------ -------- ---------------------------
|
||||
* @ 2021. 7. 21. JSYOO 최초 생성
|
||||
*
|
||||
*
|
||||
* @author 이씨플라자 * DIGITALSHIP JSYOO
|
||||
* @since 2021. 7. 21.
|
||||
* @version 1.0
|
||||
*
|
||||
*/
|
||||
@Controller
|
||||
public class RentController extends NlibCommonController
|
||||
{
|
||||
private static final Logger log = LoggerFactory.getLogger(RentController.class);
|
||||
static final String DEFUALT_PAGE_SIZE = NlibProperty.getProperty("list.paging.page.size");
|
||||
|
||||
@Resource(name = "rentService")
|
||||
private RentService rentService;
|
||||
|
||||
@Resource(name = "codeService")
|
||||
private CodeService codeService;
|
||||
|
||||
|
||||
/** 대출 목록 화면을 호출한다.
|
||||
* @param req
|
||||
* @return
|
||||
*/
|
||||
@RequestMapping("/rent/listRentItems.do")
|
||||
public String listRentItems(HttpServletRequest req, Authentication authentication, @RequestParam Map<String, String> 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<HashMap<String,String>> 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(value="/rent/listRentItemsAjax.do")
|
||||
public ResponseEntity<String> listRentItemsAjax(HttpServletRequest req,
|
||||
Authentication authentication, @RequestBody Map<String, String> 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.setAuthKey(createAuthKey(req, authentication));
|
||||
reqVO.setPageIndex(pageIndex);
|
||||
reqVO.setPageSize(pageSize);
|
||||
reqVO.addInfoItem("searchKeyword", searchKeyword);
|
||||
|
||||
// 요청
|
||||
DataApiResVO resVO = rentService.listRentItems(reqVO);
|
||||
|
||||
//-------------------------------
|
||||
// JSON변환 응답 처리
|
||||
//-------------------------------
|
||||
// JS-GRID 페이징 처리를 포함한 응답값 처리
|
||||
// {data: [{...}],
|
||||
// itemsCount: 255
|
||||
// }
|
||||
HashMap<String, Object> retMap = new HashMap<String, Object>();
|
||||
retMap.put("data", resVO.getList());
|
||||
retMap.put("itemsCount", resVO.getRecordTotCount());
|
||||
|
||||
return makeResponseEntityJson(retMap);
|
||||
}
|
||||
|
||||
/** 대출 목록 화면을 호출한다.
|
||||
* @param req
|
||||
* @return
|
||||
*/
|
||||
@RequestMapping("/rent/listCanceledRentItems.do")
|
||||
public String listCanceledRentItems(HttpServletRequest req, Authentication authentication, @RequestParam Map<String, String> 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<HashMap<String,String>> 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<String> listCanceledRentItemsAjax(HttpServletRequest req,
|
||||
Authentication authentication, @RequestBody Map<String, String> 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.setAuthKey(createAuthKey(req, authentication));
|
||||
reqVO.setPageIndex(pageIndex);
|
||||
reqVO.setPageSize(pageSize);
|
||||
reqVO.addInfoItem("searchKeyword", searchKeyword);
|
||||
|
||||
// 요청
|
||||
DataApiResVO resVO = rentService.listCanceledRentItems(reqVO);
|
||||
|
||||
//-------------------------------
|
||||
// JSON변환 응답 처리
|
||||
//-------------------------------
|
||||
// JS-GRID 페이징 처리를 포함한 응답값 처리
|
||||
// {data: [{...}],
|
||||
// itemsCount: 255
|
||||
// }
|
||||
HashMap<String, Object> retMap = new HashMap<String, Object>();
|
||||
retMap.put("data", resVO.getList());
|
||||
retMap.put("itemsCount", resVO.getRecordTotCount());
|
||||
|
||||
return makeResponseEntityJson(retMap);
|
||||
}
|
||||
|
||||
/** 반납 연기 화면을 호출한다.
|
||||
* @param req
|
||||
* @return
|
||||
*/
|
||||
@RequestMapping("/rent/listPostpones.do")
|
||||
public String listPostpones(HttpServletRequest req, Authentication authentication, @RequestParam Map<String, String> 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<HashMap<String,String>> 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<String> listPostponesAjax(HttpServletRequest req,
|
||||
Authentication authentication, @RequestBody Map<String, String> 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.setAuthKey(createAuthKey(req, authentication));
|
||||
reqVO.setPageIndex(pageIndex);
|
||||
reqVO.setPageSize(pageSize);
|
||||
reqVO.addInfoItem("searchKeyword", searchKeyword);
|
||||
|
||||
// 요청
|
||||
DataApiResVO resVO = rentService.listPostpones(reqVO);
|
||||
|
||||
//-------------------------------
|
||||
// JSON변환 응답 처리
|
||||
//-------------------------------
|
||||
// JS-GRID 페이징 처리를 포함한 응답값 처리
|
||||
// {data: [{...}],
|
||||
// itemsCount: 255
|
||||
// }
|
||||
HashMap<String, Object> retMap = new HashMap<String, Object>();
|
||||
retMap.put("data", resVO.getList());
|
||||
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<String, String> 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<HashMap<String,String>> 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<String> listReservationsAjax(HttpServletRequest req,
|
||||
Authentication authentication, @RequestBody Map<String, String> 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.setAuthKey(createAuthKey(req, authentication));
|
||||
reqVO.setPageIndex(pageIndex);
|
||||
reqVO.setPageSize(pageSize);
|
||||
reqVO.addInfoItem("searchKeyword", searchKeyword);
|
||||
|
||||
// 요청
|
||||
DataApiResVO resVO = rentService.listReservations(reqVO);
|
||||
|
||||
//-------------------------------
|
||||
// JSON변환 응답 처리
|
||||
//-------------------------------
|
||||
// JS-GRID 페이징 처리를 포함한 응답값 처리
|
||||
// {data: [{...}],
|
||||
// itemsCount: 255
|
||||
// }
|
||||
HashMap<String, Object> retMap = new HashMap<String, Object>();
|
||||
retMap.put("data", resVO.getList());
|
||||
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<String, String> 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<HashMap<String,String>> 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<String> listRequestsForViewingItemAjax(HttpServletRequest req,
|
||||
Authentication authentication, @RequestBody Map<String, String> 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.setAuthKey(createAuthKey(req, authentication));
|
||||
reqVO.setPageIndex(pageIndex);
|
||||
reqVO.setPageSize(pageSize);
|
||||
reqVO.addInfoItem("searchKeyword", searchKeyword);
|
||||
|
||||
// 요청
|
||||
DataApiResVO resVO = rentService.listRequestsForViewingItem(reqVO);
|
||||
|
||||
//-------------------------------
|
||||
// JSON변환 응답 처리
|
||||
//-------------------------------
|
||||
// JS-GRID 페이징 처리를 포함한 응답값 처리
|
||||
// {data: [{...}],
|
||||
// itemsCount: 255
|
||||
// }
|
||||
HashMap<String, Object> retMap = new HashMap<String, Object>();
|
||||
retMap.put("data", resVO.getList());
|
||||
retMap.put("itemsCount", resVO.getRecordTotCount());
|
||||
|
||||
return makeResponseEntityJson(retMap);
|
||||
}
|
||||
|
||||
/**
|
||||
* 묻고답하기 상세 내용 조회한다.
|
||||
*
|
||||
* @param req
|
||||
* @return
|
||||
*/
|
||||
@RequestMapping("/rent/selectRequestInfoForViewingItem.do")
|
||||
public String selectRequestInfoForViewingItem(HttpServletRequest req, Authentication authentication, @RequestParam Map<String, String> 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.setAuthKey(createAuthKey(req, authentication));
|
||||
reqVO.setPageIndex(pageIndex);
|
||||
reqVO.setPageSize(pageSize);
|
||||
reqVO.addInfoItem("boardNo", "QNA"); // 게시판ID
|
||||
reqVO.addInfoItem("articleNo", articleNo); // 게시물번호
|
||||
|
||||
// 요청
|
||||
DataApiResVO resVO = rentService.selectRequestInfoForViewingItem(reqVO);
|
||||
|
||||
// 반환 정보
|
||||
model.addAttribute("articleNo" , articleNo);
|
||||
model.addAttribute("article" , resVO.getInfo()); // 게시물 상세
|
||||
model.addAttribute("preArticle" , resVO.getList().get(0)); // 이전글 정보
|
||||
model.addAttribute("nextArticle" , resVO.getList().get(1)); // 다음글 정보
|
||||
model.addAttribute("message" , message);
|
||||
model.addAttribute("pageIndex" , pageIndex);
|
||||
model.addAttribute("pageSize" , pageSize);
|
||||
model.addAttribute("searchKeyword", searchKeyword);
|
||||
|
||||
return "nlib/rent/selectRequestInfoForViewingItem";
|
||||
}
|
||||
|
||||
package nlib.col.web;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
import org.springframework.security.core.Authentication;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.ui.ModelMap;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
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.RentService;
|
||||
import nlib.restful.service.DataApiReqVO;
|
||||
import nlib.restful.service.DataApiResVO;
|
||||
import nlib.util.StringUtil;
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* @Class Name : RentController.java
|
||||
*
|
||||
* @Description : 대출 Controller
|
||||
*
|
||||
*
|
||||
* @프로젝트명: 지방문화원 통합자료관리시스템 구축사업 (2021)
|
||||
*
|
||||
* </pre>
|
||||
*
|
||||
* @ ------------ -------- ---------------------------
|
||||
* @ 수정일 수정자 수정내용
|
||||
* @ ------------ -------- ---------------------------
|
||||
* @ 2021. 7. 21. JSYOO 최초 생성
|
||||
*
|
||||
*
|
||||
* @author 이씨플라자 * DIGITALSHIP JSYOO
|
||||
* @since 2021. 7. 21.
|
||||
* @version 1.0
|
||||
*
|
||||
*/
|
||||
@Controller
|
||||
public class RentController extends NlibCommonController
|
||||
{
|
||||
private static final Logger log = LoggerFactory.getLogger(RentController.class);
|
||||
static final String DEFUALT_PAGE_SIZE = NlibProperty.getProperty("list.paging.page.size");
|
||||
|
||||
@Resource(name = "rentService")
|
||||
private RentService rentService;
|
||||
|
||||
@Resource(name = "codeService")
|
||||
private CodeService codeService;
|
||||
|
||||
|
||||
/** 대출 목록 화면을 호출한다.
|
||||
* @param req
|
||||
* @return
|
||||
*/
|
||||
@RequestMapping("/rent/listRentItems.do")
|
||||
public String listRentItems(HttpServletRequest req, Authentication authentication, @RequestParam Map<String, String> 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<HashMap<String,String>> 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(value="/rent/listRentItemsAjax.do")
|
||||
public ResponseEntity<String> listRentItemsAjax(HttpServletRequest req,
|
||||
Authentication authentication, @RequestBody Map<String, String> 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.addInfoItem("searchKeyword", searchKeyword);
|
||||
|
||||
// 요청
|
||||
DataApiResVO resVO = rentService.listRentItems(reqVO);
|
||||
|
||||
//-------------------------------
|
||||
// JSON변환 응답 처리
|
||||
//-------------------------------
|
||||
// JS-GRID 페이징 처리를 포함한 응답값 처리
|
||||
// {data: [{...}],
|
||||
// itemsCount: 255
|
||||
// }
|
||||
HashMap<String, Object> retMap = new HashMap<String, Object>();
|
||||
retMap.put("data", resVO.getList());
|
||||
retMap.put("itemsCount", resVO.getRecordTotCount());
|
||||
|
||||
return makeResponseEntityJson(retMap);
|
||||
}
|
||||
|
||||
/** 대출 목록 화면을 호출한다.
|
||||
* @param req
|
||||
* @return
|
||||
*/
|
||||
@RequestMapping("/rent/listCanceledRentItems.do")
|
||||
public String listCanceledRentItems(HttpServletRequest req, Authentication authentication, @RequestParam Map<String, String> 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<HashMap<String,String>> 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<String> listCanceledRentItemsAjax(HttpServletRequest req,
|
||||
Authentication authentication, @RequestBody Map<String, String> 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.addInfoItem("searchKeyword", searchKeyword);
|
||||
|
||||
// 요청
|
||||
DataApiResVO resVO = rentService.listCanceledRentItems(reqVO);
|
||||
|
||||
//-------------------------------
|
||||
// JSON변환 응답 처리
|
||||
//-------------------------------
|
||||
// JS-GRID 페이징 처리를 포함한 응답값 처리
|
||||
// {data: [{...}],
|
||||
// itemsCount: 255
|
||||
// }
|
||||
HashMap<String, Object> retMap = new HashMap<String, Object>();
|
||||
retMap.put("data", resVO.getList());
|
||||
retMap.put("itemsCount", resVO.getRecordTotCount());
|
||||
|
||||
return makeResponseEntityJson(retMap);
|
||||
}
|
||||
|
||||
/** 반납 연기 화면을 호출한다.
|
||||
* @param req
|
||||
* @return
|
||||
*/
|
||||
@RequestMapping("/rent/listPostpones.do")
|
||||
public String listPostpones(HttpServletRequest req, Authentication authentication, @RequestParam Map<String, String> 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<HashMap<String,String>> 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<String> listPostponesAjax(HttpServletRequest req,
|
||||
Authentication authentication, @RequestBody Map<String, String> 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.addInfoItem("searchKeyword", searchKeyword);
|
||||
|
||||
// 요청
|
||||
DataApiResVO resVO = rentService.listPostpones(reqVO);
|
||||
|
||||
//-------------------------------
|
||||
// JSON변환 응답 처리
|
||||
//-------------------------------
|
||||
// JS-GRID 페이징 처리를 포함한 응답값 처리
|
||||
// {data: [{...}],
|
||||
// itemsCount: 255
|
||||
// }
|
||||
HashMap<String, Object> retMap = new HashMap<String, Object>();
|
||||
retMap.put("data", resVO.getList());
|
||||
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<String, String> 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<HashMap<String,String>> 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<String> listReservationsAjax(HttpServletRequest req,
|
||||
Authentication authentication, @RequestBody Map<String, String> 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.addInfoItem("searchKeyword", searchKeyword);
|
||||
|
||||
// 요청
|
||||
DataApiResVO resVO = rentService.listReservations(reqVO);
|
||||
|
||||
//-------------------------------
|
||||
// JSON변환 응답 처리
|
||||
//-------------------------------
|
||||
// JS-GRID 페이징 처리를 포함한 응답값 처리
|
||||
// {data: [{...}],
|
||||
// itemsCount: 255
|
||||
// }
|
||||
HashMap<String, Object> retMap = new HashMap<String, Object>();
|
||||
retMap.put("data", resVO.getList());
|
||||
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<String, String> 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<HashMap<String,String>> 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<String> listRequestsForViewingItemAjax(HttpServletRequest req,
|
||||
Authentication authentication, @RequestBody Map<String, String> 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.addInfoItem("searchKeyword", searchKeyword);
|
||||
|
||||
// 요청
|
||||
DataApiResVO resVO = rentService.listRequestsForViewingItem(reqVO);
|
||||
|
||||
//-------------------------------
|
||||
// JSON변환 응답 처리
|
||||
//-------------------------------
|
||||
// JS-GRID 페이징 처리를 포함한 응답값 처리
|
||||
// {data: [{...}],
|
||||
// itemsCount: 255
|
||||
// }
|
||||
HashMap<String, Object> retMap = new HashMap<String, Object>();
|
||||
retMap.put("data", resVO.getList());
|
||||
retMap.put("itemsCount", resVO.getRecordTotCount());
|
||||
|
||||
return makeResponseEntityJson(retMap);
|
||||
}
|
||||
|
||||
/**
|
||||
* 묻고답하기 상세 내용 조회한다.
|
||||
*
|
||||
* @param req
|
||||
* @return
|
||||
*/
|
||||
@RequestMapping("/rent/selectRequestInfoForViewingItem.do")
|
||||
public String selectRequestInfoForViewingItem(HttpServletRequest req, Authentication authentication, @RequestParam Map<String, String> 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.addInfoItem("boardNo", "QNA"); // 게시판ID
|
||||
reqVO.addInfoItem("articleNo", articleNo); // 게시물번호
|
||||
|
||||
// 요청
|
||||
DataApiResVO resVO = rentService.selectRequestInfoForViewingItem(reqVO);
|
||||
|
||||
// 반환 정보
|
||||
model.addAttribute("articleNo" , articleNo);
|
||||
model.addAttribute("article" , resVO.getInfo()); // 게시물 상세
|
||||
model.addAttribute("preArticle" , resVO.getList().get(0)); // 이전글 정보
|
||||
model.addAttribute("nextArticle" , resVO.getList().get(1)); // 다음글 정보
|
||||
model.addAttribute("message" , message);
|
||||
model.addAttribute("pageIndex" , pageIndex);
|
||||
model.addAttribute("pageSize" , pageSize);
|
||||
model.addAttribute("searchKeyword", searchKeyword);
|
||||
|
||||
return "nlib/rent/selectRequestInfoForViewingItem";
|
||||
}
|
||||
}
|
||||
@ -1,36 +1,45 @@
|
||||
package nlib.mail;
|
||||
|
||||
import javax.mail.internet.InternetAddress;
|
||||
import javax.mail.internet.MimeMessage;
|
||||
import javax.mail.internet.MimeMessage.RecipientType;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.mail.javamail.JavaMailSender;
|
||||
import org.springframework.mail.javamail.MimeMessageHelper;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import nlib.mail.service.EmailVO;
|
||||
|
||||
|
||||
@Component
|
||||
public class EmailSender {
|
||||
|
||||
@Autowired
|
||||
protected JavaMailSender mailSender;
|
||||
|
||||
public void SendEmail(EmailVO email) throws Exception {
|
||||
MimeMessage msg = mailSender.createMimeMessage();
|
||||
MimeMessageHelper helper = new MimeMessageHelper(msg, true, "utf-8");
|
||||
helper.setText(email.getContent(), true); //***HTML 적용
|
||||
helper.setTo(email.getReciver());
|
||||
helper.setSubject(email.getSubject());
|
||||
helper.setFrom("teachteam02@gmail.com","한국문화원연합회");
|
||||
|
||||
/* msg.setSubject(email.getSubject());
|
||||
msg.setText(email.getContent(),"text/html");
|
||||
msg.setText
|
||||
msg.setRecipient(RecipientType.TO , new InternetAddress(email.getReciver()));
|
||||
*/
|
||||
mailSender.send(msg);
|
||||
}
|
||||
package nlib.mail;
|
||||
|
||||
import java.io.Reader;
|
||||
import java.util.Properties;
|
||||
|
||||
import javax.mail.internet.InternetAddress;
|
||||
import javax.mail.internet.MimeMessage;
|
||||
import javax.mail.internet.MimeMessage.RecipientType;
|
||||
|
||||
import org.apache.ibatis.io.Resources;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.mail.javamail.JavaMailSender;
|
||||
import org.springframework.mail.javamail.MimeMessageHelper;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import nlib.mail.service.EmailVO;
|
||||
|
||||
|
||||
@Component
|
||||
public class EmailSender {
|
||||
|
||||
@Autowired
|
||||
protected JavaMailSender mailSender;
|
||||
|
||||
public void SendEmail(EmailVO email) throws Exception {
|
||||
String resource = "egovframework/egovProps/globals.properties";
|
||||
Properties properties = new Properties();
|
||||
|
||||
Reader reader = Resources.getResourceAsReader(resource);
|
||||
properties.load(reader);
|
||||
|
||||
String senderName = properties.getProperty("system.notification.email.sender.name");
|
||||
String sender = properties.getProperty("system.notification.email.sender");
|
||||
|
||||
MimeMessage msg = mailSender.createMimeMessage();
|
||||
MimeMessageHelper helper = new MimeMessageHelper(msg, true, "utf-8");
|
||||
helper.setText(email.getContent(), true); //***HTML 적용
|
||||
helper.setTo(email.getReciver());
|
||||
helper.setSubject(email.getSubject());
|
||||
helper.setFrom(sender,senderName);
|
||||
|
||||
mailSender.send(msg);
|
||||
}
|
||||
}
|
||||
@ -1,23 +1,31 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xmlns:p="http://www.springframework.org/schema/p"
|
||||
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd">
|
||||
|
||||
<!-- 이메일 발송 -->
|
||||
<bean id="mailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl"
|
||||
p:host="smtp.gmail.com"
|
||||
p:port="587"
|
||||
p:protocol="smtp"
|
||||
p:username="teachteam02@gmail.com"
|
||||
p:password="wltlrtkdjq11$$">
|
||||
<property name="javaMailProperties">
|
||||
<props>
|
||||
<prop key="mail.smtp.starttls.enable">true</prop>
|
||||
<prop key="mail.smtp.auth">true </prop>
|
||||
<prop key="mail.debug">true</prop>
|
||||
<prop key="mail.smtp.ssl.trust">smtp.gmail.com</prop>
|
||||
<prop key="mail.smtp.ssl.protocols">TLSv1.2</prop>
|
||||
</props>
|
||||
</property>
|
||||
</bean>
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xmlns:p="http://www.springframework.org/schema/p"
|
||||
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd">
|
||||
|
||||
<!-- <bean id="egov.propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
|
||||
<property name="locations">
|
||||
<list>
|
||||
<value>classpath:/egovframework/egovProps/globals.properties</value>
|
||||
value>file:/product/jeus/egovProps/globals.properties</value
|
||||
</list>
|
||||
</property>
|
||||
</bean> -->
|
||||
<!-- 이메일 발송 -->
|
||||
<bean id="mailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl"
|
||||
p:host="smtp.gmail.com"
|
||||
p:port="587"
|
||||
p:protocol="smtp"
|
||||
p:username="${system.notification.email.sender}"
|
||||
p:password="${system.notification.email.sender.password}">
|
||||
<property name="javaMailProperties">
|
||||
<props>
|
||||
<prop key="mail.smtp.starttls.enable">true</prop>
|
||||
<prop key="mail.smtp.auth">true </prop>
|
||||
<prop key="mail.debug">true</prop>
|
||||
<prop key="mail.smtp.ssl.trust">smtp.gmail.com</prop>
|
||||
<prop key="mail.smtp.ssl.protocols">TLSv1.2</prop>
|
||||
</props>
|
||||
</property>
|
||||
</bean>
|
||||
</beans>
|
||||
Loading…
Reference in New Issue
Block a user