열람 신청관련 개발
This commit is contained in:
parent
a06c7a6d74
commit
b6ea928065
49
src/main/java/nlib/col/service/ReadService.java
Normal file
49
src/main/java/nlib/col/service/ReadService.java
Normal file
@ -0,0 +1,49 @@
|
||||
package nlib.col.service;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* @Class Name : ReadService.java
|
||||
*
|
||||
* @Description :
|
||||
*
|
||||
*
|
||||
* @프로젝트명: 지방문화원 통합자료관리시스템 구축사업 (2021)
|
||||
*
|
||||
* </pre>
|
||||
*
|
||||
* @ ------------ -------- ---------------------------
|
||||
* @ 수정일 수정자 수정내용
|
||||
* @ ------------ -------- ---------------------------
|
||||
* @ 2021. 10. 27. KNKIM 최초 생성
|
||||
*
|
||||
*
|
||||
* @author 이씨플라자 * DIGITALSHIP KNKIM
|
||||
* @since 2021. 10. 27.
|
||||
* @version 1.0
|
||||
*
|
||||
*/
|
||||
public interface ReadService {
|
||||
|
||||
/**
|
||||
* 열람신청희망 가능 일자 목록을 조회한다.
|
||||
*
|
||||
* @param mbInfoId
|
||||
* @return
|
||||
*/
|
||||
public List<HashMap<String, String>> listDates();
|
||||
|
||||
|
||||
/**
|
||||
* 열람을 신청한다.
|
||||
*
|
||||
* @param list
|
||||
* @param mbInfoId
|
||||
* @param mngOrgCd
|
||||
* @return
|
||||
*/
|
||||
public List<CollectionVO> insertReadItems(List<CollectionVO> list, String mbInfoId, CollectionVO readVO) throws Exception;
|
||||
|
||||
}
|
||||
13
src/main/java/nlib/col/service/impl/ReadDAO.java
Normal file
13
src/main/java/nlib/col/service/impl/ReadDAO.java
Normal file
@ -0,0 +1,13 @@
|
||||
|
||||
package nlib.col.service.impl;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import egovframework.rte.psl.dataaccess.mapper.Mapper;
|
||||
|
||||
@Mapper("readDAO")
|
||||
public interface ReadDAO {
|
||||
|
||||
public List<HashMap<String, String>> listDates();
|
||||
|
||||
}
|
||||
155
src/main/java/nlib/col/service/impl/ReadServiceImpl.java
Normal file
155
src/main/java/nlib/col/service/impl/ReadServiceImpl.java
Normal file
@ -0,0 +1,155 @@
|
||||
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.ReadService;
|
||||
import nlib.info.service.InformService;
|
||||
import nlib.restful.DataApi;
|
||||
import nlib.restful.service.DataApiReqVO;
|
||||
import nlib.restful.service.DataApiResVO;
|
||||
import nlib.util.StringUtil;
|
||||
|
||||
@Service("readService")
|
||||
public class ReadServiceImpl implements ReadService {
|
||||
|
||||
private static final Logger log = LoggerFactory.getLogger(ReadServiceImpl.class);
|
||||
|
||||
@Resource(name="readDAO")
|
||||
private ReadDAO readDAO;
|
||||
|
||||
@Resource(name="informService")
|
||||
private InformService informService;
|
||||
|
||||
|
||||
/** RESTFul API 송수신 모듈 */
|
||||
@Resource(name = "dataApi")
|
||||
private DataApi dataApi;
|
||||
|
||||
|
||||
/**
|
||||
* 열람신청희망 가능 일자 목록을 조회한다.
|
||||
*
|
||||
* @param mbInfoId
|
||||
* @return
|
||||
*/
|
||||
public List<HashMap<String, String>> listDates() {
|
||||
return readDAO.listDates();
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 열람을 신청한다.
|
||||
*
|
||||
* @param list
|
||||
* @param mbInfoId
|
||||
* @param mngOrgCd
|
||||
* @return
|
||||
*/
|
||||
public List<CollectionVO> insertReadItems(List<CollectionVO> list, String mbInfoId, CollectionVO readVO) throws Exception {
|
||||
|
||||
if(list == null || list.size() < 1) {
|
||||
log.error("insertReadItems > 열람 신청 대상 목록이 없습니다.");
|
||||
return null;
|
||||
}
|
||||
if(readVO == null) {
|
||||
log.error("insertReadItems > 매개변수 readVO는 null일 수 없습니다.");
|
||||
return null;
|
||||
}
|
||||
|
||||
if(StringUtil.isEmpty(mbInfoId)) {
|
||||
log.error("insertReadItems > 사용자ID를 확인할 수 없습니다.");
|
||||
return null;
|
||||
}
|
||||
|
||||
if(StringUtil.isEmpty(readVO.getMngOrgCd())) {
|
||||
log.error("insertReadItems > 관리문화원 코드를 확인할 수 없습니다.");
|
||||
return null;
|
||||
}
|
||||
|
||||
if(StringUtil.isEmpty(readVO.getHopeReqPridDtmFrom() )) {
|
||||
log.error("insertReadItems > 방문희망일 시작일자를 확인할 수 없습니다.");
|
||||
return null;
|
||||
}
|
||||
|
||||
if(StringUtil.isEmpty(readVO.getHopeReqPridDtmTo() )) {
|
||||
log.error("insertReadItems > 방문희망일 종료일자를 확인할 수 없습니다.");
|
||||
return null;
|
||||
}
|
||||
|
||||
if(readVO.getHopeReqPridDtmFrom().compareTo(readVO.getHopeReqPridDtmTo()) > 0) {
|
||||
log.error("insertReadItems > 방문희망일 종료일자는 시작일자 이후이어야 합니다.");
|
||||
return null;
|
||||
}
|
||||
|
||||
// 해당 문화원의 업무시간 조회
|
||||
HashMap<String, String> operation = informService.selectNCultureOpenTime(readVO.getMngOrgCd());
|
||||
|
||||
// API 호출
|
||||
/*
|
||||
mngOrgCd 문화원코드 O String SU01
|
||||
mbInfoId 사용자아이디 O String "BDCCAF34CF8AA365C660ADB121CE6741
|
||||
(ARIAUtil 암호화)"
|
||||
jsonMasterId 자료번호목록 O String [{"masterId":"xxxx"}, {"masterId":"xxxb"},…]
|
||||
hopeReqPridDtmFrom 희망열람기간시작일자 O String 202109071300
|
||||
hopeReqPridDtmTo 희망열람기간종료일자 O String 202109101400
|
||||
purpose 열람목적 String 열람목적
|
||||
*/
|
||||
DataApiReqVO reqVO = new DataApiReqVO("/uac/service/nlib/col/insertReserveItem", HttpMethod.POST);
|
||||
reqVO.setMbInfoId(mbInfoId); // 통신 시, 암호화되어 송수신됨
|
||||
reqVO.putInfoItem("mngOrgCd" , readVO.getMngOrgCd());
|
||||
reqVO.putInfoItem("hopeReqPridDtmFrom", readVO.getHopeReqPridDtmFrom().replaceAll("-", "") + StringUtil.getString(operation.get("OPEN_TIME"), "0900").replaceAll(":", "").substring(0, 4));
|
||||
reqVO.putInfoItem("hopeReqPridDtmTo" , readVO.getHopeReqPridDtmTo().replaceAll("-", "") + StringUtil.getString(operation.get("CLOSED_TIME"), "1800").replaceAll(":", "").substring(0, 4));
|
||||
CollectionVO cVO = null;
|
||||
DataApiResVO resVO = null;
|
||||
String jsonMasterId = "";
|
||||
|
||||
for(int i=0; i<list.size(); i++) {
|
||||
cVO = list.get(i);
|
||||
if(StringUtil.isEmpty(cVO.getMasterId())) {
|
||||
cVO.setResult("F-REQ-MASTERID", "자료ID 정보가 없습니다.");
|
||||
continue;
|
||||
}
|
||||
jsonMasterId += (", {\"masterId\":" + "\"" + cVO.getMasterId() + "\"}");
|
||||
|
||||
}
|
||||
|
||||
if(StringUtil.isEmpty(jsonMasterId)) {
|
||||
log.error("insertReadItems > 열람 신청 대상으로 생성된 목록이 없습니다.");
|
||||
return null;
|
||||
}
|
||||
|
||||
jsonMasterId = "[" + jsonMasterId.substring(1) + "]";
|
||||
|
||||
reqVO.putInfoItem("jsonMasterId", jsonMasterId);
|
||||
resVO = dataApi.request(reqVO);
|
||||
CollectionVO rVO = null;
|
||||
cVO.setResult(resVO.getResultCode(), resVO.getResultMessage());
|
||||
|
||||
readVO.setResultCode(resVO.getResultCode());
|
||||
readVO.setResultMessage(resVO.getResultMessage());
|
||||
|
||||
// 대출예약번호/일자 설정 (rsrvId)
|
||||
if(StringUtil.startsWithIgnoreCase(resVO.getResultCode(), "S")) {
|
||||
readVO.setHopeReqPridDtmFrom(StringUtil.formatDateStr(resVO.getInfoItem("hopeReqPridDtmFrom", ""),""));
|
||||
readVO.setHopeReqPridDtmTo(StringUtil.formatDateStr(resVO.getInfoItem("hopeReqPridDtmTo", ""),""));
|
||||
readVO.setRsrvId(resVO.getInfoItem("reqId", "")); // 열람신청번호
|
||||
readVO.setRsrvId(resVO.getInfoItem("reqDd", "")); // 열람신청일자
|
||||
readVO.setSelItems(resVO.getInfoItem("masterId")); // 자료번호
|
||||
} else {
|
||||
readVO.setRsrvId(null); // 열람신청번호
|
||||
readVO.setRsrvId(null); // 열람신청일자
|
||||
}
|
||||
|
||||
return list;
|
||||
}
|
||||
|
||||
}
|
||||
@ -109,7 +109,7 @@ public class RentServiceImpl implements RentService
|
||||
CollectionVO cVO = null;
|
||||
DataApiResVO resVO = null;
|
||||
for(int i=0; i<list.size(); i++) {
|
||||
cVO = list.get(0);
|
||||
cVO = list.get(i);
|
||||
if(StringUtil.isEmpty(cVO.getMasterId())) {
|
||||
cVO.setResult("F-REQ-MASTERID", "자료ID 정보가 없습니다.");
|
||||
continue;
|
||||
|
||||
158
src/main/java/nlib/col/web/ReadController.java
Normal file
158
src/main/java/nlib/col/web/ReadController.java
Normal file
@ -0,0 +1,158 @@
|
||||
package nlib.col.web;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.ui.ModelMap;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
|
||||
import nlib.cmm.NlibCommonController;
|
||||
import nlib.cmm.service.NlibProperty;
|
||||
import nlib.col.service.CollectionService;
|
||||
import nlib.col.service.CollectionVO;
|
||||
import nlib.col.service.ReadService;
|
||||
import nlib.util.StringUtil;
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* @Class Name : ReadController.java
|
||||
*
|
||||
* @Description : 방문열람을 관리하는 컨트롤러
|
||||
*
|
||||
*
|
||||
* @프로젝트명: 지방문화원 통합자료관리시스템 구축사업 (2021)
|
||||
*
|
||||
* </pre>
|
||||
*
|
||||
* @ ------------ -------- ---------------------------
|
||||
* @ 수정일 수정자 수정내용
|
||||
* @ ------------ -------- ---------------------------
|
||||
* @ 2021. 10. 27. KNKIM 최초 생성
|
||||
*
|
||||
*
|
||||
* @author 이씨플라자 * DIGITALSHIP KNKIM
|
||||
* @since 2021. 10. 27.
|
||||
* @version 1.0
|
||||
*
|
||||
*/
|
||||
@Controller
|
||||
public class ReadController extends NlibCommonController {
|
||||
|
||||
private static final Logger log = LoggerFactory.getLogger(ReadController.class);
|
||||
|
||||
@Resource(name = "readService")
|
||||
private ReadService readService;
|
||||
|
||||
|
||||
@Resource(name = "collectionService")
|
||||
private CollectionService collectionService;
|
||||
|
||||
|
||||
/**
|
||||
* 열람신청을 등록하는 화면을 표출한다.
|
||||
*
|
||||
* @param request
|
||||
* @param readVO
|
||||
* @param model
|
||||
* @return
|
||||
* @throws Exception
|
||||
*/
|
||||
@RequestMapping(value={"/read/confirmReadFromCart.do", "/read/confirmRead.do"})
|
||||
public String confirmRent(HttpServletRequest request, CollectionVO readVO, ModelMap model) throws Exception {
|
||||
|
||||
String retJsp = "nlib/read/confirmRead";
|
||||
boolean fromCart = request.getServletPath().contains("Cart.do");
|
||||
|
||||
String mbInfoId = getMbInfoId(request);
|
||||
|
||||
if(StringUtil.isEmpty(mbInfoId)) {
|
||||
model.addAttribute("message", "로그인 후, 이용해 주시기 바랍니다.");
|
||||
return retJsp;
|
||||
}
|
||||
|
||||
if(readVO == null || StringUtil.isEmpty(readVO.getSelItems())) {
|
||||
model.addAttribute("message", "대출(예약)신청할 정보가 없습니다.");
|
||||
return retJsp;
|
||||
}
|
||||
|
||||
String selItems = readVO.getSelItems();
|
||||
|
||||
List<CollectionVO> list = collectionService.makeInfoListOfCollectionVO(selItems, mbInfoId, NlibProperty.getString("thumbnail.image.url.small"));
|
||||
List<HashMap<String, String>> listDates = readService.listDates();
|
||||
|
||||
model.addAttribute("readVO", readVO);
|
||||
model.addAttribute("list", list);
|
||||
model.addAttribute("listDates", listDates);
|
||||
if(fromCart) model.addAttribute("fromCart", fromCart ? "Y" : "N");
|
||||
|
||||
return retJsp;
|
||||
}
|
||||
|
||||
/**
|
||||
* 열람신청을 등록한다.
|
||||
*
|
||||
* @param request
|
||||
* @param readVO
|
||||
* @param model
|
||||
* @return
|
||||
* @throws Exception
|
||||
*/
|
||||
@RequestMapping(value={"/read/insertReadItemsFromCart.do", "/read/insertReadItems.do"})
|
||||
public String insertReadItems(HttpServletRequest request, CollectionVO readVO, ModelMap model) throws Exception {
|
||||
|
||||
boolean fromCart = request.getServletPath().contains("Cart.do");
|
||||
String retJsp = "nlib/read/insertReadItems";
|
||||
String mbInfoId = getMbInfoId(request);
|
||||
|
||||
if(StringUtil.isEmpty(mbInfoId)) {
|
||||
model.addAttribute("message", "로그인 후, 이용해 주시기 바랍니다.");
|
||||
return retJsp;
|
||||
}
|
||||
|
||||
if(readVO == null || StringUtil.isEmpty(readVO.getSelItems())) {
|
||||
model.addAttribute("message", "대출(예약)신청할 정보가 없습니다.");
|
||||
return retJsp;
|
||||
}
|
||||
|
||||
if(StringUtil.isEmpty(readVO.getMngOrgCd())) {
|
||||
model.addAttribute("message", "관리문화원 정보가 없습니다.");
|
||||
return retJsp;
|
||||
}
|
||||
|
||||
if(StringUtil.isEmpty(readVO.getHopeReqPridDtmFrom() )) {
|
||||
model.addAttribute("message", "방문희망일 시작일자를 확인할 수 없습니다.");
|
||||
return retJsp;
|
||||
}
|
||||
|
||||
if(StringUtil.isEmpty(readVO.getHopeReqPridDtmTo() )) {
|
||||
model.addAttribute("message", "방문희망일 종료일자를 확인할 수 없습니다.");
|
||||
return retJsp;
|
||||
}
|
||||
|
||||
if(readVO.getHopeReqPridDtmFrom().compareTo(readVO.getHopeReqPridDtmTo()) > 0) {
|
||||
model.addAttribute("message", "방문희망일 종료일자는 시작일자 이후이어야 합니다.");
|
||||
return retJsp;
|
||||
}
|
||||
|
||||
|
||||
String selItems = readVO.getSelItems();
|
||||
|
||||
List<CollectionVO> list = collectionService.makeListOfCollectionVO(selItems);
|
||||
|
||||
list = readService.insertReadItems(list, mbInfoId, readVO);
|
||||
list = collectionService.setDetailInfoForList(list, mbInfoId, NlibProperty.getString("thumbnail.image.url.small"));
|
||||
|
||||
model.addAttribute("readVO", readVO);
|
||||
model.addAttribute("list", list);
|
||||
if(fromCart) model.addAttribute("fromCart", fromCart ? "Y" : "N");
|
||||
|
||||
return retJsp;
|
||||
}
|
||||
|
||||
}
|
||||
@ -220,7 +220,6 @@ public class RentController extends NlibCommonController
|
||||
}
|
||||
|
||||
|
||||
|
||||
//
|
||||
//
|
||||
// /** 대출 목록 화면을 호출한다.
|
||||
|
||||
@ -53,6 +53,12 @@ public interface InformService
|
||||
*/
|
||||
public HashMap<String, String> selectNCultureOperationInfo(String councilCd) throws Exception ;
|
||||
|
||||
|
||||
/**
|
||||
* 해당 문화원의 운영 시간 및 공휴일 추가 정보를 조회한다.
|
||||
*/
|
||||
public HashMap<String, String> selectNCultureOpenTime(String orgCd) throws Exception;
|
||||
|
||||
/*
|
||||
* 찾아오는길 조회한다.
|
||||
*/
|
||||
|
||||
@ -117,7 +117,7 @@ public class InformServiceImpl implements InformService
|
||||
}
|
||||
|
||||
// 문화원별 개폐시간 및 휴관일
|
||||
HashMap<String, String> openTime = informDAO.selectNCultureOpenTime(orgCd);
|
||||
HashMap<String, String> openTime = selectNCultureOpenTime(orgCd);
|
||||
|
||||
operationInfo.put("informTitle" , (operation != null ? operation.get("TITLE") : ""));
|
||||
operationInfo.put("informContent" , content);
|
||||
@ -128,6 +128,17 @@ public class InformServiceImpl implements InformService
|
||||
return operationInfo;
|
||||
}
|
||||
|
||||
/**
|
||||
* 해당 문화원의 운영 시간 및 공휴일 추가 정보를 조회한다.
|
||||
*
|
||||
* @param orgCd
|
||||
* @return
|
||||
* @throws Exception
|
||||
*/
|
||||
public HashMap<String, String> selectNCultureOpenTime(String orgCd) throws Exception {
|
||||
return informDAO.selectNCultureOpenTime(orgCd);
|
||||
}
|
||||
|
||||
/*
|
||||
* 찾아오는길 조회한다.
|
||||
*
|
||||
|
||||
@ -0,0 +1,35 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?><!--Converted at: Wed May 11 15:49:38 KST 2016-->
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="nlib.col.service.impl.ReadDAO">
|
||||
|
||||
<select id="listDates" parameterType="String" resultType="EgovMap">
|
||||
<![CDATA[
|
||||
/* 희망방문일 선택 가능 기준
|
||||
- 시작일, 종료일 : 당일부터 2주이내 날짜 선택가능
|
||||
- 단, 문화원 운영시간이 지난 경우, 익일부터 2주이내 날짜 선택가능
|
||||
*/
|
||||
SELECT
|
||||
DT
|
||||
, CASE UPPER(DAYNAME(DT))
|
||||
WHEN 'MONDAY' THEN '월'
|
||||
WHEN 'TUESDAY' THEN '화'
|
||||
WHEN 'WEDNESDAY' THEN '수'
|
||||
WHEN 'THURSDAY' THEN '목'
|
||||
WHEN 'FRIDAY' THEN '금'
|
||||
END AS DT_NAME
|
||||
FROM (
|
||||
SELECT ADDDATE(CURDATE(), (D + W +
|
||||
CASE WHEN IFNULL( (SELECT CLOSED_TIME FROM SM_DEPT WHERE ORG_CD = #{orgCd}), '18:00') > DATE_FORMAT(NOW(), '%H:%i') THEN 0
|
||||
ELSE 1 END
|
||||
)
|
||||
) AS DT
|
||||
FROM (SELECT 0 AS D UNION SELECT 1 AS D UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5 UNION SELECT 6) TDAYS,
|
||||
(SELECT 0 AS W UNION SELECT 7) TWEEKS
|
||||
) T
|
||||
WHERE UPPER(DAYNAME(DT)) NOT IN ('SUNDAY', 'SATURDAY')
|
||||
ORDER BY DT
|
||||
]]>
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
@ -158,6 +158,16 @@ function fn_changeCartItems(cartTypeCd, cartTypeNm) {
|
||||
$("#frm").submit();
|
||||
}
|
||||
|
||||
|
||||
function fn_changeInterest(masterId, onOff) {
|
||||
alert("관심등록/삭제 준비중 : " + masterId + ", " + onOff);
|
||||
}
|
||||
|
||||
function fn_gotoDetail(masterId) {
|
||||
alert("상세보기 준비중 : " + masterId);
|
||||
}
|
||||
|
||||
// 대출신청으로 이동
|
||||
function fn_appRent() {
|
||||
|
||||
<sec:authorize access="not isAuthenticated()">
|
||||
@ -179,12 +189,26 @@ function fn_appRent() {
|
||||
|
||||
}
|
||||
|
||||
function fn_changeInterest(masterId, onOff) {
|
||||
alert("관심등록/삭제 준비중 : " + masterId + ", " + onOff);
|
||||
}
|
||||
// 열람신청으로 이동
|
||||
function fn_appVisit() {
|
||||
|
||||
<sec:authorize access="not isAuthenticated()">
|
||||
alert("먼저 로그인하신 후, 이용해 주시기 바랍니다.");
|
||||
</sec:authorize>
|
||||
|
||||
<sec:authorize access="isAuthenticated()">
|
||||
if($("[id^=chk_item_]:checked").length < 1) {
|
||||
alert("방문열람할 대상을 선택해 주세요.");
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
$("#selItems").val(fn_getCheckedCartItemsValues());
|
||||
$("#frm").attr("action","${pageContext.request.contextPath}/read/confirmReadFromCart.do");
|
||||
|
||||
$("#frm").submit();
|
||||
</sec:authorize>
|
||||
|
||||
function fn_gotoDetail(masterId) {
|
||||
alert("상세보기 준비중 : " + masterId);
|
||||
}
|
||||
|
||||
$(document).ready(function() {
|
||||
|
||||
343
src/main/webapp/WEB-INF/jsp/nlib/read/confirmRead.jsp
Normal file
343
src/main/webapp/WEB-INF/jsp/nlib/read/confirmRead.jsp
Normal file
@ -0,0 +1,343 @@
|
||||
<%
|
||||
/**
|
||||
* <pre>
|
||||
* @Class Name : confirmRent.jsp
|
||||
*
|
||||
* @Description : 대출신청 확인 화면
|
||||
*
|
||||
*
|
||||
* @프로젝트명: 지방문화원 통합자료관리시스템 구축사업 (2021)
|
||||
*
|
||||
* </pre>
|
||||
*
|
||||
* @ ------------ -------- ---------------------------
|
||||
* @ 수정일 수정자 수정내용
|
||||
* @ ------------ -------- ---------------------------
|
||||
* @ 2021. 10. 25. KNKIM 최초 생성
|
||||
*
|
||||
*
|
||||
* @author 이씨플라자 * DIGITALSHIP KNKIM
|
||||
* @since 2021. 10. 25.
|
||||
* @version 1.0
|
||||
*
|
||||
*/
|
||||
%>
|
||||
<%@ page language="java" contentType="text/html; charset=UTF-8" %>
|
||||
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
|
||||
<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui" %>
|
||||
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
|
||||
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
|
||||
<%@ 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"%>
|
||||
|
||||
<script type="text/javaScript" language="javascript">
|
||||
var BTN_APP_PREFIX = "대출신청/예약";
|
||||
|
||||
$( document ).ready(function() {
|
||||
|
||||
$("[id^=chk_item_]").prop("disabled", true);
|
||||
$("[id^=chk_all_]").prop("disabled", true);
|
||||
|
||||
$("[id=selMngOrgCd]").change(function(obj) {
|
||||
var checked = $(this).prop("checked");
|
||||
var mngOrgCd = $(this).val();
|
||||
|
||||
if(checked) {
|
||||
// uncheck others and disable
|
||||
// enable
|
||||
//$("[id^=chk_item_" + mngOrgCd + "]").prop("checked", false);
|
||||
$("[id^=chk_item_" + mngOrgCd + "]").prop("disabled", false);
|
||||
$("[id^=chk_all_" + mngOrgCd + "]").prop("disabled", false);
|
||||
|
||||
$("[id^=chk_item_]").not("[id^=chk_item_" + mngOrgCd + "]").prop("checked", false);
|
||||
$("[id^=chk_item_]").not("[id^=chk_item_" + mngOrgCd + "]").prop("disabled", true);
|
||||
|
||||
$("[id^=chk_all_]").not("[id^=chk_all_" + mngOrgCd + "]").prop("checked", false);
|
||||
$("[id^=chk_all_]").not("[id^=chk_all_" + mngOrgCd + "]").prop("disabled", true);
|
||||
|
||||
}
|
||||
$("#mngOrgCd").val(mngOrgCd);
|
||||
$("[id^=chk_item_" + mngOrgCd + "]").filter(":first").trigger("change");
|
||||
|
||||
});
|
||||
|
||||
$("[id^=chk_item_]").change(function(obj) {
|
||||
var mngOrgCd = $(this).attr("id").substr(9);
|
||||
|
||||
var totNum = $("[id^=chk_item_" + mngOrgCd + "]").length;
|
||||
var selNum = $("[id^=chk_item_" + mngOrgCd + "]:checked").length;
|
||||
|
||||
var checked = false;
|
||||
if(totNum <= selNum) checked = true;
|
||||
$("[id^=chk_all_" + mngOrgCd + "]").prop("checked", checked);
|
||||
|
||||
$("#btnApp").val(BTN_APP_PREFIX + " (" + selNum + ")");
|
||||
$("#appCnt").text("(" + selNum + ")");
|
||||
});
|
||||
|
||||
$("[id^=selMngOrgCd]").filter(":first").prop("checked", true);
|
||||
$("[id^=selMngOrgCd]").filter(":first").trigger("change",true);
|
||||
|
||||
}); // document ready
|
||||
|
||||
|
||||
|
||||
// 선택한 게시글 상세 보기로 이동
|
||||
function fn_viewDetail(articleNo) {
|
||||
$("#articleNo").val(articleNo);
|
||||
$("#articleForm").attr("action", "${pageContext.request.contextPath}/board/selectNotice.do");
|
||||
$("#articleForm").submit();
|
||||
}
|
||||
|
||||
function fn_insertReadItems() {
|
||||
|
||||
<sec:authorize access="not isAuthenticated()">
|
||||
alert("먼저 로그인하신 후, 이용해 주시기 바랍니다.");
|
||||
</sec:authorize>
|
||||
|
||||
<sec:authorize access="isAuthenticated()">
|
||||
if($("#selItems").val() == "" || $("#selItems").val() == ",") {
|
||||
alert("방문열람할 대상정보가 없습니다.");
|
||||
return;
|
||||
}
|
||||
|
||||
if($("#hopeReqPridDtmFrom").val() > $("#hopeReqPridDtmTo").val()) {
|
||||
alert("희망방문일 종료일은 시작일보다 이후 일자로 선택해 주세요.");
|
||||
$("#hopeReqPridDtmTo").focus();
|
||||
return;
|
||||
}
|
||||
|
||||
<c:if test='${fromCart == "Y" }'>
|
||||
$("#frm").attr("action","${pageContext.request.contextPath}/read/insertReadItemsFromCart.do");
|
||||
</c:if>
|
||||
|
||||
<c:if test='${fromCart != "Y" }'>
|
||||
$("#frm").attr("action","${pageContext.request.contextPath}/read/insertReadItems.do");
|
||||
</c:if>
|
||||
|
||||
$("#frm").submit();
|
||||
</sec:authorize>
|
||||
|
||||
}
|
||||
|
||||
function fn_changeInterest(masterId, onOff) {
|
||||
alert("관심등록/삭제 준비중 : " + masterId + ", " + onOff);
|
||||
}
|
||||
|
||||
function fn_gotoDetail(masterId) {
|
||||
alert("상세보기 준비중 : " + masterId);
|
||||
}
|
||||
|
||||
function fn_listCartItems() {
|
||||
$("#frm").attr("action","${pageContext.request.contextPath}/cart/listCartItems.do");
|
||||
$("#frm").submit();
|
||||
}
|
||||
|
||||
$(document).ready(function() {
|
||||
|
||||
/* 탭메뉴 */
|
||||
var selectedIdx = '> li:eq(' + (${cartTypeCd } -1) + ')';
|
||||
$('.cartTab ul.tabs').addClass('active').find(selectedIdx).addClass('current');
|
||||
|
||||
$('.tab ul.tabs li a').click(function (g) {
|
||||
var tab = $(this).closest('.tab'),
|
||||
index = $(this).closest('li').index();
|
||||
|
||||
tab.find('ul.tabs > li').removeClass('current');
|
||||
$(this).closest('li').addClass('current');
|
||||
|
||||
tab.find('.tab_content').find('div.tabs_item').not('div.tabs_item:eq(' + index + ')').hide();
|
||||
tab.find('.tab_content').find('div.tabs_item:eq(' + index + ')').show();
|
||||
g.preventDefault();
|
||||
});
|
||||
|
||||
if("${message}" != "") alert("${message}");
|
||||
|
||||
});
|
||||
|
||||
|
||||
|
||||
</script>
|
||||
|
||||
<form name="frm" id="frm" action="${pageContext.request.contextPath}/cart/listCartItems.do" method="post">
|
||||
<input type="text" id="cartTypeCd" name="cartTypeCd" value="${readVO.cartTypeCd }" />
|
||||
<input type="text" id="mngOrgCd" name="mngOrgCd" value="${readVO.mngOrgCd }" />
|
||||
<input type="text" id="mngOrgNm" name="mngOrgNm" value="${readVO.mngOrgNm }" />
|
||||
|
||||
|
||||
<!-- 카트 섹션 -->
|
||||
<section class="location cart">
|
||||
<h2 class="blind">카트 섹션영역</h2>
|
||||
<div class="inner">
|
||||
<div class="row-top">
|
||||
<div class="location-box">
|
||||
<ul class="loc">
|
||||
<li>HOME</li>
|
||||
<c:if test='${fromCart == "Y" }'>
|
||||
<li>카트</li>
|
||||
</c:if>
|
||||
<li class="on">방문열람신청</li>
|
||||
</ul>
|
||||
<ul class="tit">
|
||||
<li><span>방문열람신청</span></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="arr"><img src="/images/icon/icon-join-arr2.png" alt="화살표 아이콘"></div>
|
||||
</div>
|
||||
<div class="contents row-bottom">
|
||||
<div class="cart-box">
|
||||
<div class="tab">
|
||||
<div class="tab_content">
|
||||
<div class="tabs_item">
|
||||
<div class="inner">
|
||||
<div class="list-cart-wrap visit">
|
||||
|
||||
|
||||
<c:set var="totCnt" value="0" />
|
||||
<c:set var="rentType1Cnt" value="0" />
|
||||
<c:set var="rentType2Cnt" value="0" />
|
||||
<c:set var="curType" value="" />
|
||||
<c:set var="selItems" value="" />
|
||||
|
||||
<h3><label>방문열람신청확인 : ${readVO.mngOrgNm }</label></h3>
|
||||
<div class="list-cart">
|
||||
<div class="list t-tit-line">
|
||||
<div class="t-data">자료정보</div>
|
||||
<div class="t-state">이용상태</div>
|
||||
<div class="t-date">반납예정일</div>
|
||||
</div>
|
||||
|
||||
<c:forEach var="rent" items="${list}" varStatus="status">
|
||||
|
||||
<c:set var="curType" value="0" />
|
||||
|
||||
<%
|
||||
//-----------------------------------
|
||||
// 대출신청인 경우
|
||||
//-----------------------------------
|
||||
// 대출가능코드(operOutRangeCd)가 01:대출가능이면서
|
||||
// 이용상태코드 (useStatus)가 01:이용가능, 또는 05 : 이용가능, 또는 04 : 열람대기(대출가능) 인 경우
|
||||
%>
|
||||
<c:if test="${rent.operOutRangeCd == '01' and (rent.useStatus == '01' or rent.useStatus == '04' or rent.useStatus == '05') }">
|
||||
<c:set var="rentType1Cnt" value="${rentType1Cnt+1}" />
|
||||
<c:set var="curType" value="1" />
|
||||
<c:set var="selItems" value='${selItems += "," += rent.masterId }' />
|
||||
</c:if>
|
||||
|
||||
<%
|
||||
//-----------------------------------
|
||||
// 대출예약신청인 경우
|
||||
//-----------------------------------
|
||||
// 대출가능코드(operOutRangeCd)가 01 :대출가능이면서
|
||||
// 이용상태코드 (useStatus)가 02 : 대출중 (대기자 0명) 인 경우
|
||||
%>
|
||||
<c:if test="${rent.operOutRangeCd == '01' and rent.useStatus == '02' }">
|
||||
<c:set var="rentType2Cnt" value="${rentType2Cnt+1}" />
|
||||
<c:set var="curType" value="2" />
|
||||
<c:set var="selItems" value='${selItems += "," += rent.masterId }' />
|
||||
</c:if>
|
||||
|
||||
<div class="list">
|
||||
<div class="t-data">
|
||||
<div class="img"><a href="javascript:void(0)"><img src="${rent.rprsThumbUrl }" alt="" width="60" height="91" title="상세보기" onclick="fn_gotoDetail('${rent.masterId }')"></a>
|
||||
<c:if test='${cart.MUseYn == "Y"}'>
|
||||
<span class="favorites" onclick="fn_changeInterest('${rent.masterId }', 'off')" title="관심자료에서 삭제합니다.">
|
||||
<img src="/images/icon/icon-cart-Favorites-on.png" class="off" alt="즐겨찾기 아이콘">
|
||||
<img src="/images/icon/icon-cart-Favorites.png" class="on" alt="즐겨찾기 아이콘">
|
||||
</span>
|
||||
</c:if>
|
||||
<c:if test='${rent.MUseYn != "Y"}'>
|
||||
<span class="favorites" onclick="fn_changeInterest('${rent.masterId }', 'on')" title="관심자료로 등록합니다.">
|
||||
<img src="/images/icon/icon-cart-Favorites.png" class="off" alt="즐겨찾기 아이콘">
|
||||
<img src="/images/icon/icon-cart-Favorites-on.png" class="on" alt="즐겨찾기 아이콘">
|
||||
</span>
|
||||
</c:if>
|
||||
</div>
|
||||
<div class="type">
|
||||
<c:if test="${rent.openDivCd != '3' }">
|
||||
<span class="online">온라인열람</span>
|
||||
</c:if>
|
||||
|
||||
<c:if test="${rent.operOutRangeCd == '01' }">
|
||||
<span class="loan">대출</span>
|
||||
</c:if>
|
||||
|
||||
<c:if test="${rent.operReadRangeCd != '03' }">
|
||||
<span class="visit">방문열람</span>
|
||||
</c:if>
|
||||
</div>
|
||||
<div class="title"><a href="javascript:void(0)" onclick="fn_gotoDetail('${rent.masterId }')" title="상세보기">${rent.title }</a></div>
|
||||
</div>
|
||||
<div class="t-state <c:if test="${rent.useStatus != '03' and rent.useStatus != '06' }">poss</c:if> <c:if test="${rent.useStatus == '03' or rent.useStatus == '06' }">imposs</c:if>"><p>${rent.useStatusNm }</p></div>
|
||||
<div class="t-date">${rent.rtnExpctDd }</div>
|
||||
</div>
|
||||
|
||||
</c:forEach>
|
||||
|
||||
</div> <!-- 목록 테이블 list-cart : 종료 -->
|
||||
|
||||
<p class="te">- 관리자의 승인이 필요하며, 희망하신 날짜와 시간과는 다르게 조정될 수 있습니다.</p>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="v-date-box">
|
||||
<%
|
||||
//-----------------------------------
|
||||
// 희망방문일 선택 가능 기준
|
||||
//-----------------------------------
|
||||
// 시작일, 종료일 : 당일부터 2주이내 날짜 선택가능
|
||||
// 단, 문화원 운영시간이 지난 경우, 익일부터 2주이내 날짜 선택가능
|
||||
%>
|
||||
<h3><span>희망</span>방문일</h3>
|
||||
<div class="v-date">
|
||||
<select id="hopeReqPridDtmFrom" name="hopeReqPridDtmFrom">
|
||||
<c:forEach var="dtItem" items="${listDates}" varStatus="status">
|
||||
<option value="${dtItem.dt }">${dtItem.dt } (${dtItem.dtName })</option>
|
||||
</c:forEach>
|
||||
</select>
|
||||
<span>에서</span>
|
||||
<select id="hopeReqPridDtmTo" name="hopeReqPridDtmTo">
|
||||
<c:forEach var="dtItem" items="${listDates}" varStatus="status">
|
||||
<option value="${dtItem.dt }"
|
||||
<c:if test='${status.count == 2}'>selected</c:if>
|
||||
>${dtItem.dt } (${dtItem.dtName })</option>
|
||||
</c:forEach>
|
||||
</select>
|
||||
<span>사이</span>
|
||||
</div>
|
||||
</div>
|
||||
<p class="text">- 자료 열람은 방문열람신청이 승인된 후, 지정된 시간에 가능합니다.</p>
|
||||
<p class="text">- 방문열람신청이 승인되면 문자(SMS)나 이메일을 통해 안내 드립니다.</p>
|
||||
|
||||
<div class="btn-wrap">
|
||||
<button type="button" class="btn btn-gray" onclick="fn_listCartItems()">취소</button>
|
||||
<button type="button" class="btn btn-color"
|
||||
<c:if test="${(rentType1Cnt + rentType2Cnt) > 0}">
|
||||
onclick="fn_insertReadItems()"
|
||||
</c:if>
|
||||
<c:if test="${(rentType1Cnt + rentType2Cnt) < 1}">
|
||||
onclick="alert('방문열람 신청할 자료가 없습니다.');"
|
||||
</c:if>
|
||||
>신청하기 <span id="totCnt" class="count">(${rentType1Cnt + rentType2Cnt})</span></button>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<input type="text" id="selItemsOld" name="selItemsOld" value="${readVO.selItems }" />
|
||||
<input type="text" id="selItems" name="selItems" value="${selItems }" />
|
||||
|
||||
</form>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
277
src/main/webapp/WEB-INF/jsp/nlib/read/insertReadItems.jsp
Normal file
277
src/main/webapp/WEB-INF/jsp/nlib/read/insertReadItems.jsp
Normal file
@ -0,0 +1,277 @@
|
||||
<%
|
||||
/**
|
||||
* <pre>
|
||||
* @Class Name : confirmRent.jsp
|
||||
*
|
||||
* @Description : 대출신청 확인 화면
|
||||
*
|
||||
*
|
||||
* @프로젝트명: 지방문화원 통합자료관리시스템 구축사업 (2021)
|
||||
*
|
||||
* </pre>
|
||||
*
|
||||
* @ ------------ -------- ---------------------------
|
||||
* @ 수정일 수정자 수정내용
|
||||
* @ ------------ -------- ---------------------------
|
||||
* @ 2021. 10. 25. KNKIM 최초 생성
|
||||
*
|
||||
*
|
||||
* @author 이씨플라자 * DIGITALSHIP KNKIM
|
||||
* @since 2021. 10. 25.
|
||||
* @version 1.0
|
||||
*
|
||||
*/
|
||||
%>
|
||||
<%@ page language="java" contentType="text/html; charset=UTF-8" %>
|
||||
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
|
||||
<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui" %>
|
||||
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
|
||||
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
|
||||
<%@ 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"%>
|
||||
|
||||
<script type="text/javaScript" language="javascript">
|
||||
var BTN_APP_PREFIX = "대출신청/예약";
|
||||
|
||||
$( document ).ready(function() {
|
||||
|
||||
$("[id^=chk_item_]").prop("disabled", true);
|
||||
$("[id^=chk_all_]").prop("disabled", true);
|
||||
|
||||
$("[id=selMngOrgCd]").change(function(obj) {
|
||||
var checked = $(this).prop("checked");
|
||||
var mngOrgCd = $(this).val();
|
||||
|
||||
if(checked) {
|
||||
// uncheck others and disable
|
||||
// enable
|
||||
//$("[id^=chk_item_" + mngOrgCd + "]").prop("checked", false);
|
||||
$("[id^=chk_item_" + mngOrgCd + "]").prop("disabled", false);
|
||||
$("[id^=chk_all_" + mngOrgCd + "]").prop("disabled", false);
|
||||
|
||||
$("[id^=chk_item_]").not("[id^=chk_item_" + mngOrgCd + "]").prop("checked", false);
|
||||
$("[id^=chk_item_]").not("[id^=chk_item_" + mngOrgCd + "]").prop("disabled", true);
|
||||
|
||||
$("[id^=chk_all_]").not("[id^=chk_all_" + mngOrgCd + "]").prop("checked", false);
|
||||
$("[id^=chk_all_]").not("[id^=chk_all_" + mngOrgCd + "]").prop("disabled", true);
|
||||
|
||||
}
|
||||
$("#mngOrgCd").val(mngOrgCd);
|
||||
$("[id^=chk_item_" + mngOrgCd + "]").filter(":first").trigger("change");
|
||||
|
||||
});
|
||||
|
||||
$("[id^=chk_item_]").change(function(obj) {
|
||||
var mngOrgCd = $(this).attr("id").substr(9);
|
||||
|
||||
var totNum = $("[id^=chk_item_" + mngOrgCd + "]").length;
|
||||
var selNum = $("[id^=chk_item_" + mngOrgCd + "]:checked").length;
|
||||
|
||||
var checked = false;
|
||||
if(totNum <= selNum) checked = true;
|
||||
$("[id^=chk_all_" + mngOrgCd + "]").prop("checked", checked);
|
||||
|
||||
$("#btnApp").val(BTN_APP_PREFIX + " (" + selNum + ")");
|
||||
$("#appCnt").text("(" + selNum + ")");
|
||||
});
|
||||
|
||||
$("[id^=selMngOrgCd]").filter(":first").prop("checked", true);
|
||||
$("[id^=selMngOrgCd]").filter(":first").trigger("change",true);
|
||||
|
||||
}); // document ready
|
||||
|
||||
|
||||
|
||||
// 선택한 게시글 상세 보기로 이동
|
||||
function fn_viewDetail(articleNo) {
|
||||
$("#articleNo").val(articleNo);
|
||||
$("#articleForm").attr("action", "${pageContext.request.contextPath}/board/selectNotice.do");
|
||||
$("#articleForm").submit();
|
||||
}
|
||||
|
||||
function fn_insertRentItems() {
|
||||
|
||||
<sec:authorize access="not isAuthenticated()">
|
||||
alert("먼저 로그인하신 후, 이용해 주시기 바랍니다.");
|
||||
</sec:authorize>
|
||||
|
||||
<sec:authorize access="isAuthenticated()">
|
||||
if($("#selItems").val() == "" || $("#selItems").val() == ",") {
|
||||
alert("대출할 대상정보가 없습니다.");
|
||||
return;
|
||||
}
|
||||
|
||||
$("#frm").attr("action","${pageContext.request.contextPath}/rent/insertRentItems.do");
|
||||
$("#frm").submit();
|
||||
</sec:authorize>
|
||||
|
||||
}
|
||||
|
||||
function fn_changeInterest(masterId, onOff) {
|
||||
alert("관심등록/삭제 준비중 : " + masterId + ", " + onOff);
|
||||
}
|
||||
|
||||
function fn_gotoDetail(masterId) {
|
||||
alert("상세보기 준비중 : " + masterId);
|
||||
}
|
||||
|
||||
function fn_searchHome() {
|
||||
location.href = "/search/searchList.do";
|
||||
}
|
||||
|
||||
function fn_listReadItems() {
|
||||
location.href = "/read/listReadItems.do";
|
||||
}
|
||||
|
||||
$(document).ready(function() {
|
||||
|
||||
/* 탭메뉴 */
|
||||
var selectedIdx = '> li:eq(' + (${cartTypeCd } -1) + ')';
|
||||
$('.cartTab ul.tabs').addClass('active').find(selectedIdx).addClass('current');
|
||||
|
||||
$('.tab ul.tabs li a').click(function (g) {
|
||||
var tab = $(this).closest('.tab'),
|
||||
index = $(this).closest('li').index();
|
||||
|
||||
tab.find('ul.tabs > li').removeClass('current');
|
||||
$(this).closest('li').addClass('current');
|
||||
|
||||
tab.find('.tab_content').find('div.tabs_item').not('div.tabs_item:eq(' + index + ')').hide();
|
||||
tab.find('.tab_content').find('div.tabs_item:eq(' + index + ')').show();
|
||||
g.preventDefault();
|
||||
});
|
||||
|
||||
if("${message}" != "") alert("${message}");
|
||||
|
||||
|
||||
});
|
||||
|
||||
</script>
|
||||
|
||||
|
||||
|
||||
|
||||
<!-- 카트완료 섹션 -->
|
||||
<section class="location cart">
|
||||
<h2 class="blind">방문열람신청 섹션영역</h2>
|
||||
<div class="inner">
|
||||
<div class="row-top">
|
||||
<div class="location-box">
|
||||
<ul class="loc">
|
||||
<li>HOME</li>
|
||||
<c:if test='${fromCart == "Y" }'>
|
||||
<li>카트</li>
|
||||
</c:if>
|
||||
<li class="on">방문열람신청</li>
|
||||
</ul>
|
||||
<ul class="tit">
|
||||
<li><span>방문열람신청</span></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="arr"><img src="/images/icon/icon-join-arr2.png" alt="화살표 아이콘"></div>
|
||||
</div>
|
||||
<div class="contents row-bottom">
|
||||
<div class="cart-box">
|
||||
<div class="tab">
|
||||
<div class="tab_content">
|
||||
<div class="tabs_item">
|
||||
<div class="inner">
|
||||
<div class="list-cart-wrap complete com2">
|
||||
|
||||
<h3><label>방문열람신청완료 : ${readVO.mngOrgNm }</label></h3>
|
||||
|
||||
<div class="list-cart">
|
||||
<div class="list t-tit-line">
|
||||
<div class="t-data">자료정보</div>
|
||||
<div class="t-state">이용상태</div>
|
||||
<div class="t-date">반납예정일</div>
|
||||
<div class="t-reser">신청/예약정보</div>
|
||||
</div>
|
||||
|
||||
<c:set var="totCnt" value="0" />
|
||||
|
||||
<c:forEach var="rent" items="${list}" varStatus="status">
|
||||
<!-- 행 : 시작 -->
|
||||
<div class="list">
|
||||
<div class="t-data">
|
||||
<div class="img"><a href="javascript:void(0)"><img src="${rent.rprsThumbUrl }" alt="" width="60" height="91" title="상세보기" onclick="fn_gotoDetail('${rent.masterId }')"></a>
|
||||
<c:if test='${cart.MUseYn == "Y"}'>
|
||||
<span class="favorites" onclick="fn_changeInterest('${rent.masterId }', 'off')" title="관심자료에서 삭제합니다.">
|
||||
<img src="/images/icon/icon-cart-Favorites-on.png" class="off" alt="즐겨찾기 아이콘">
|
||||
<img src="/images/icon/icon-cart-Favorites.png" class="on" alt="즐겨찾기 아이콘">
|
||||
</span>
|
||||
</c:if>
|
||||
<c:if test='${rent.MUseYn != "Y"}'>
|
||||
<span class="favorites" onclick="fn_changeInterest('${rent.masterId }', 'on')" title="관심자료로 등록합니다.">
|
||||
<img src="/images/icon/icon-cart-Favorites.png" class="off" alt="즐겨찾기 아이콘">
|
||||
<img src="/images/icon/icon-cart-Favorites-on.png" class="on" alt="즐겨찾기 아이콘">
|
||||
</span>
|
||||
</c:if> </div>
|
||||
<div class="type">
|
||||
<c:if test="${rent.openDivCd != '3' }">
|
||||
<span class="online">온라인열람</span>
|
||||
</c:if>
|
||||
|
||||
<c:if test="${rent.operOutRangeCd == '01' }">
|
||||
<span class="loan">대출</span>
|
||||
</c:if>
|
||||
|
||||
<c:if test="${rent.operReadRangeCd != '03' }">
|
||||
<span class="visit">방문열람</span>
|
||||
</c:if>
|
||||
</div>
|
||||
<div class="title"><a href="javascript:void(0)" onclick="fn_gotoDetail('${rent.masterId }')" title="상세보기">${rent.title }</a></div>
|
||||
</div>
|
||||
<div class="t-state"><p>${rent.useStatusNm }</p></div>
|
||||
<div class="t-date">${rent.rtnExpctDd }</div>
|
||||
<div class="t-reser poss">${rent.bookLtRvStatusNm }
|
||||
<c:if test='${not empty rent.rsrvDd }'>
|
||||
(${rent.rsrvDd })
|
||||
</c:if>
|
||||
</div>
|
||||
</div>
|
||||
<!-- 행 : 종료 -->
|
||||
|
||||
<c:set var="totCnt" value="${totCnt+1}" />
|
||||
</c:forEach>
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="compl-box">
|
||||
<div class="compl-icon"><img src="/images/icon/icon-cart-com.png" alt="체크 아이콘"></div>
|
||||
|
||||
<c:if test='${readVO.resultMessage == "S"}'>
|
||||
<div class="compl-text">자료 <span>${totCnt}</span>건 방문열람신청이 접수되었습니다. [${readVO.rsrvId}]</div>
|
||||
<div class="compl-date">(희망방문일자: ${readVO.hopeReqPridDtmFrom} ~ ${readVO.hopeReqPridDtmTo})</div>
|
||||
</c:if>
|
||||
|
||||
<c:if test='${readVO.resultMessage != "S"}'>
|
||||
<div class="compl-text">처리에 실패하였습니다.</div>
|
||||
<div class="compl-date">${readVO.resultMessage } (${readVO.resultCode })</div>
|
||||
</c:if>
|
||||
</div>
|
||||
|
||||
<p class="text">- 방문열람신청 내역은 [마이페이지 > 방문열람관리]에서 확인하실 수 있습니다.</p>
|
||||
<p class="text">- 방문열람시간은 관리자가 지정하며, 승인 후 지정된 일시에 방문하지 않는 경우, 미열람 처리됩니다.</p>
|
||||
|
||||
<div class="btn-wrap">
|
||||
<button type="button" class="btn btn-color" onclick="fn_searchHome()">소장자료 가기</button>
|
||||
<button type="button" class="btn btn-green" onclick="fn_listReadItems()">방문열람관리 가기</button>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
|
||||
|
||||
|
||||
@ -120,6 +120,11 @@ function fn_changeInterest(masterId, onOff) {
|
||||
alert("관심등록/삭제 준비중 : " + masterId + ", " + onOff);
|
||||
}
|
||||
|
||||
function fn_listCartItems() {
|
||||
$("#frm").attr("action","${pageContext.request.contextPath}/cart/listCartItems.do");
|
||||
$("#frm").submit();
|
||||
}
|
||||
|
||||
function fn_gotoDetail(masterId) {
|
||||
alert("상세보기 준비중 : " + masterId);
|
||||
}
|
||||
@ -305,7 +310,7 @@ $(document).ready(function() {
|
||||
</c:if>
|
||||
|
||||
<div class="btn-wrap">
|
||||
<button type="button" class="btn btn-gray">취소</button>
|
||||
<button type="button" class="btn btn-gray" onclick="fn_listCartItems()">취소</button>
|
||||
|
||||
<c:if test="${(rentType1Cnt + rentType2Cnt) > 0}">
|
||||
<button type="button" class="btn btn-color" onclick="fn_insertRentItems()">신청/예약하기<span id="totCnt" class="count">(${rentType1Cnt + rentType2Cnt})</span></button>
|
||||
|
||||
@ -224,7 +224,11 @@ $(document).ready(function() {
|
||||
</div>
|
||||
<div class="t-state"><p>${rent.useStatusNm }</p></div>
|
||||
<div class="t-date">${rent.rtnExpctDd }</div>
|
||||
<div class="t-reser poss">${rent.bookLtRvStatusNm } (${rent.rsrvDd })</div>
|
||||
<div class="t-reser poss">${rent.bookLtRvStatusNm }
|
||||
<c:if test='${not empty rent.rsrvDd }'>
|
||||
(${rent.rsrvDd })
|
||||
</c:if>
|
||||
</div>
|
||||
<div class="t-visit long">
|
||||
<c:if test='${rent.bookLtRvStatusCd != "1" }'>
|
||||
대출신청 자료는 신청 다음날까지 방문대출이 가능합니다.
|
||||
|
||||
Loading…
Reference in New Issue
Block a user