Merge branch 'master' of http://docs.nculture.org:30000/nculture/iams.nlib
This commit is contained in:
commit
5893d84226
@ -109,7 +109,7 @@ public class QnaController extends NlibCommonController {
|
||||
totRecordCount = qnaService.countArticles(searchArticleVO);
|
||||
} else {
|
||||
list = new ArrayList<ArticleVO>();
|
||||
message = "로그인이 필요합니다.";
|
||||
message = "로그인 후, 이용하여 주시기 바랍니다";
|
||||
}
|
||||
|
||||
//-------------------------------
|
||||
|
||||
@ -75,12 +75,5 @@ public interface ReadService {
|
||||
*/
|
||||
public DataApiResVO cancelReadItem(CollectionVO searchVO);
|
||||
|
||||
/**
|
||||
* 사용자의 방문열람현황을 조회한다.
|
||||
*
|
||||
* @param mbInfoId
|
||||
* @return
|
||||
*/
|
||||
public Map<String, String> getReadStats(String mbInfoId);
|
||||
|
||||
}
|
||||
|
||||
@ -14,12 +14,4 @@ public interface ReadDAO {
|
||||
|
||||
public List<HashMap<String, String>> listReadMngOrg(String mbInfoId);
|
||||
|
||||
/**
|
||||
* 사용자의 방문열람현황을 조회한다.
|
||||
*
|
||||
* @param mbInfoId
|
||||
* @return
|
||||
*/
|
||||
public Map<String, String> getReadStats(String mbInfoId);
|
||||
|
||||
}
|
||||
|
||||
@ -261,14 +261,4 @@ public class ReadServiceImpl implements ReadService {
|
||||
return dataApi.request(reqVO);
|
||||
}
|
||||
|
||||
/**
|
||||
* 사용자의 방문열람현황을 조회한다.
|
||||
*
|
||||
* @param mbInfoId
|
||||
* @return
|
||||
*/
|
||||
public Map<String, String> getReadStats(String mbInfoId) {
|
||||
return readDAO.getReadStats(mbInfoId);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -202,7 +202,34 @@ public class RentServiceImpl implements RentService
|
||||
* @return
|
||||
*/
|
||||
public Map<String, String> getRentStats(String mbInfoId) {
|
||||
return rentDAO.getRentStats(mbInfoId);
|
||||
|
||||
if(StringUtil.isEmpty(mbInfoId)) return null;
|
||||
|
||||
DataApiReqVO reqVO = new DataApiReqVO("/uac/service/nlib/col/getLentReqStatCnt", HttpMethod.GET);
|
||||
reqVO.setMbInfoId(mbInfoId); // 통신 시, 암호화되어 송수신됨
|
||||
DataApiResVO resVO = dataApi.request(reqVO);
|
||||
Map<String, String> retMap = new HashMap<String, String>();
|
||||
|
||||
if(StringUtil.isNotEmpty(resVO.getResultCode()) && resVO.getResultCode().charAt(0) == 'S') {
|
||||
|
||||
retMap.put("lentAppCnt" , resVO.getInfoItem("lentAppCnt" , "0")); // 대출-신청
|
||||
retMap.put("lentResvCnt" , resVO.getInfoItem("lentResvCnt" , "0")); // 대출-예약
|
||||
retMap.put("lentCancelCnt", resVO.getInfoItem("lentCancelCnt", "0")); // 대출-취소
|
||||
retMap.put("lentCnt" , resVO.getInfoItem("lentCnt" , "0")); // 대출-대출중
|
||||
retMap.put("lentRtnCnt" , resVO.getInfoItem("lentRtnCnt" , "0")); // 대출-반납
|
||||
retMap.put("lentOverCnt" , resVO.getInfoItem("lentOverCnt" , "0")); // 대출-연체
|
||||
|
||||
retMap.put("reqAppCnt" , resVO.getInfoItem("reqAppCnt" , "0")); // 열람현황-신청
|
||||
retMap.put("reqCancelCnt" , resVO.getInfoItem("reqCancelCnt" , "0")); // 열람현황-취소
|
||||
retMap.put("reqOkCnt" , resVO.getInfoItem("reqOkCnt" , "0")); // 열람현황-승인
|
||||
retMap.put("reqCompCnt" , resVO.getInfoItem("reqCompCnt" , "0")); // 열람현황-반려
|
||||
|
||||
} else {
|
||||
|
||||
retMap.put("resultMessage" , resVO.getResultMessage());
|
||||
}
|
||||
|
||||
return retMap;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -170,10 +170,15 @@ public class LoginServiceImpl implements LoginService
|
||||
nlibLoginVO.setJoinCouncilCd((String)session.getAttribute("councilCd"));
|
||||
nlibLoginVO.setJoinCouncilNm((String)session.getAttribute("councilNm"));
|
||||
|
||||
OAuthUniversalUser ousr = SessionConfig.getLoginInfo(sessionId);
|
||||
nlibLoginVO.setSnsType(ousr.getSnsType());
|
||||
|
||||
// 실제 SecurityContext 에 authentication 정보를 등록한다.
|
||||
SecurityContextHolder.getContext().setAuthentication(authentication);
|
||||
|
||||
SessionConfig.removeLoginInfo(sessionId);
|
||||
|
||||
|
||||
} catch (DisabledException e) {
|
||||
log.error("loginProcSecurity > " + ERR_CODE_LOCKED);
|
||||
if(nlibLoginVO == null) nlibLoginVO = new NlibLoginVO();
|
||||
|
||||
@ -319,15 +319,10 @@ public class UserInfoController extends NlibCommonController {
|
||||
List<Map<String, String>> visitedOrgs = userInfoService.getVisitedOrgs(loginVO.getMbInfoId());
|
||||
model.addAttribute("visitedOrgs", visitedOrgs);
|
||||
|
||||
// 대출현황
|
||||
// 대출/방문열람 현황
|
||||
Map<String, String> rentStats = rentService.getRentStats(loginVO.getMbInfoId());
|
||||
model.addAttribute("rentStats", rentStats);
|
||||
|
||||
// 방문열람현황
|
||||
Map<String, String> readStats = readService.getReadStats(loginVO.getMbInfoId());
|
||||
model.addAttribute("readStats", readStats);
|
||||
|
||||
|
||||
CollectionVO searchCollectionVO = new CollectionVO();
|
||||
searchCollectionVO.setMbInfoId(loginVO.getMbInfoId());
|
||||
searchCollectionVO.setPageSize(5);
|
||||
|
||||
@ -43,17 +43,4 @@
|
||||
ORDER BY B.DEPT_NM
|
||||
</select>
|
||||
|
||||
<!-- 방문열람 현황 -->
|
||||
<select id="getReadStats" parameterType="String" resultType="EgovMap">
|
||||
<![CDATA[
|
||||
SELECT SUM(IF(B.REQ_PROC_SUB_STATUS = '1', 1, 0)) AS cntApp /* 신청 */
|
||||
, SUM(IF(B.REQ_PROC_SUB_STATUS = '2', 1, 0)) AS cntCancel /* 취소 */
|
||||
, SUM(IF(B.REQ_PROC_SUB_STATUS = '3', 1, 0)) AS cntProv /* 승인 */
|
||||
, SUM(IF(B.REQ_PROC_SUB_STATUS = '2', 1, 0)) AS cntRej /* 반려 */
|
||||
FROM US_REQ A
|
||||
INNER JOIN US_REQ_ITEM B ON (A.REQ_ID = B.REQ_ID)
|
||||
WHERE A.REQ_USER_ID = #{mbInfoId}
|
||||
]]>
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
@ -159,6 +159,11 @@
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
if(!fn_isEmpty(jsonObj.message)) {
|
||||
alert(jsonObj.message);
|
||||
}
|
||||
|
||||
pageLoad("fn_searchArticle", jsonObj.pagingPageIndex, jsonObj.pagingTotRecordCount, jsonObj.pagingStartPage, jsonObj.pagingEndPage, jsonObj.pagingLastPage);
|
||||
|
||||
}).fail(function (jqXHR, textStatus, errorThrown) {
|
||||
|
||||
@ -1,86 +1,86 @@
|
||||
<%
|
||||
/**
|
||||
* <pre>
|
||||
* @Class Name : accountConsolidationForm.jsp
|
||||
*
|
||||
* @Description : 계정통합처리 알림폼
|
||||
*
|
||||
*
|
||||
* @프로젝트명: 지방문화원 통합자료관리시스템 구축사업 (2021)
|
||||
*
|
||||
* </pre>
|
||||
*
|
||||
* @ ------------ -------- ---------------------------
|
||||
* @ 수정일 수정자 수정내용
|
||||
* @ ------------ -------- ---------------------------
|
||||
* @ 2021. 9. 1. JSYOO 최초 생성
|
||||
*
|
||||
*
|
||||
* @author 이씨플라자 * DIGITALSHIP JSYOO
|
||||
* @since 2021. 9. 1.
|
||||
* @version 1.0
|
||||
*
|
||||
*/
|
||||
%>
|
||||
<%@ page language="java" contentType="text/html; charset=UTF-8" %>
|
||||
<%@ page import="java.util.Date" %>
|
||||
<%@ page import="java.text.SimpleDateFormat" %>
|
||||
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
|
||||
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
|
||||
<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui" %>
|
||||
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
|
||||
<%@ taglib prefix="sec" uri="http://www.springframework.org/security/tags"%>
|
||||
<%
|
||||
Date nowTime = new Date();
|
||||
SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd");
|
||||
SimpleDateFormat sf2 = new SimpleDateFormat("a hh:mm:ss");
|
||||
%>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||
<title>Insert title here</title>
|
||||
</head>
|
||||
<body>
|
||||
<!-- 계정연결완료 섹션 -->
|
||||
<div class="location join succ connect">
|
||||
<h2 class="blind">계정연결완료 섹션영역</h2>
|
||||
<div class="inner">
|
||||
<div class="row-top icon">
|
||||
<div class="icon"><img src="/images/icon/icon-connect.png" alt="자물쇠 아이콘"></div>
|
||||
<p>계정연결 완료</p>
|
||||
</div>
|
||||
<div class="contents row-bottom">
|
||||
<div class="join-box">
|
||||
<div class="success">
|
||||
<div class="text">
|
||||
<p>기가입 계정에
|
||||
<span>
|
||||
<c:if test="${oauthUser.snsType eq 'NAVER'}">네이버</c:if>
|
||||
<c:if test="${oauthUser.snsType eq 'KAKAO'}">카카오</c:if>
|
||||
<c:if test="${oauthUser.snsType eq 'GOOGLE'}">구글</c:if>
|
||||
</span>계정이 통합되었습니다.
|
||||
</p>
|
||||
<p><button type="button"><span class="name"><c:out value="${result.name }"/></span><span class="mail"><c:out value="${result.email }"/></span></button></p>
|
||||
</div>
|
||||
<div class="box">
|
||||
<div class="icon">
|
||||
<c:if test="${oauthUser.snsType eq 'NAVER'}"><img src="/images/icon/icon-naver-login.png" alt="네이버 아이콘"></c:if>
|
||||
<c:if test="${oauthUser.snsType eq 'KAKAO'}"><img src="/images/icon/icon-kakao-login.png" alt="카카오 아이콘"></c:if>
|
||||
<c:if test="${oauthUser.snsType eq 'GOOGLE'}"><img src="/images/icon/icon-google-login.png" alt="구글 아이콘"></c:if>
|
||||
</div>
|
||||
<div class="text">
|
||||
<p><c:out value="${oauthUser.snsUserId }"/></p>
|
||||
<p><span class="date"><%= sf.format(nowTime) %></span><span class="time"><%= sf2.format(nowTime) %> 연결완료</span></p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="btn">
|
||||
<a href="/" class="btn-color">소장자료관으로</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
<%
|
||||
/**
|
||||
* <pre>
|
||||
* @Class Name : accountConsolidationForm.jsp
|
||||
*
|
||||
* @Description : 계정통합처리 알림폼
|
||||
*
|
||||
*
|
||||
* @프로젝트명: 지방문화원 통합자료관리시스템 구축사업 (2021)
|
||||
*
|
||||
* </pre>
|
||||
*
|
||||
* @ ------------ -------- ---------------------------
|
||||
* @ 수정일 수정자 수정내용
|
||||
* @ ------------ -------- ---------------------------
|
||||
* @ 2021. 9. 1. JSYOO 최초 생성
|
||||
*
|
||||
*
|
||||
* @author 이씨플라자 * DIGITALSHIP JSYOO
|
||||
* @since 2021. 9. 1.
|
||||
* @version 1.0
|
||||
*
|
||||
*/
|
||||
%>
|
||||
<%@ page language="java" contentType="text/html; charset=UTF-8" %>
|
||||
<%@ page import="java.util.Date" %>
|
||||
<%@ page import="java.text.SimpleDateFormat" %>
|
||||
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
|
||||
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
|
||||
<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui" %>
|
||||
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
|
||||
<%@ taglib prefix="sec" uri="http://www.springframework.org/security/tags"%>
|
||||
<%
|
||||
Date nowTime = new Date();
|
||||
SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd");
|
||||
SimpleDateFormat sf2 = new SimpleDateFormat("a hh:mm:ss");
|
||||
%>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||
<title>Insert title here</title>
|
||||
</head>
|
||||
<body>
|
||||
<!-- 계정연결완료 섹션 -->
|
||||
<div class="location join succ connect">
|
||||
<h2 class="blind">계정연결완료 섹션영역</h2>
|
||||
<div class="inner">
|
||||
<div class="row-top icon">
|
||||
<div class="icon"><img src="/images/icon/icon-connect.png" alt="자물쇠 아이콘"></div>
|
||||
<p>계정연결 완료</p>
|
||||
</div>
|
||||
<div class="contents row-bottom">
|
||||
<div class="join-box">
|
||||
<div class="success">
|
||||
<div class="text">
|
||||
<p>기가입 계정에
|
||||
<span>
|
||||
<c:if test="${oauthUser.snsType eq 'NAVER'}">네이버</c:if>
|
||||
<c:if test="${oauthUser.snsType eq 'KAKAO'}">카카오</c:if>
|
||||
<c:if test="${oauthUser.snsType eq 'GOOGLE'}">구글</c:if>
|
||||
</span>계정이 통합되었습니다.
|
||||
</p>
|
||||
<p><button type="button"><span class="name"><c:out value="${result.name }"/></span><span class="mail"><c:out value="${result.email }"/></span></button></p>
|
||||
</div>
|
||||
<div class="box">
|
||||
<div class="icon">
|
||||
<c:if test="${oauthUser.snsType eq 'NAVER'}"><img src="/images/icon/icon-naver-login.png" alt="네이버 아이콘"></c:if>
|
||||
<c:if test="${oauthUser.snsType eq 'KAKAO'}"><img src="/images/icon/icon-kakao-login.png" alt="카카오 아이콘"></c:if>
|
||||
<c:if test="${oauthUser.snsType eq 'GOOGLE'}"><img src="/images/icon/icon-google-login.png" alt="구글 아이콘"></c:if>
|
||||
</div>
|
||||
<div class="text">
|
||||
<p><c:out value="${oauthUser.snsUserId }"/></p>
|
||||
<p><span class="date"><%= sf.format(nowTime) %></span><span class="time"><%= sf2.format(nowTime) %> 연결완료</span></p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="btn">
|
||||
<a href="/" class="btn-color">소장자료관으로</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
@ -70,26 +70,27 @@
|
||||
<div class="right">
|
||||
<div class="top-box">
|
||||
<div class="con-1">
|
||||
|
||||
<h3>대출현황</h3>
|
||||
<div class="list-box">
|
||||
<div>
|
||||
<p>${rentStats.cntApp }/${rentStats.cntRes }</p>
|
||||
<p>${rentStats.lentAppCnt }/${rentStats.lentResvCnt }</p>
|
||||
<p>신청/예약</p>
|
||||
</div>
|
||||
<div>
|
||||
<p>${rentStats.cntCancel }</p>
|
||||
<p>${rentStats.lentCancelCnt }</p>
|
||||
<p>취소</p>
|
||||
</div>
|
||||
<div>
|
||||
<p>${rentStats.cntOut }</p>
|
||||
<p>${rentStats.lentCnt }</p>
|
||||
<p>대출중</p>
|
||||
</div>
|
||||
<div>
|
||||
<p>${rentStats.cntReturn }</p>
|
||||
<p>${rentStats.lentRtnCnt }</p>
|
||||
<p>반납</p>
|
||||
</div>
|
||||
<div>
|
||||
<p>${rentStats.cntDelay }</p>
|
||||
<p>${rentStats.lentOverCnt }</p>
|
||||
<p>연체</p>
|
||||
</div>
|
||||
</div>
|
||||
@ -98,19 +99,19 @@
|
||||
<h3>방문열람현황</h3>
|
||||
<div class="list-box">
|
||||
<div>
|
||||
<p>${readStats.cntApp }</p>
|
||||
<p>${rentStats.reqAppCnt }</p>
|
||||
<p>신청</p>
|
||||
</div>
|
||||
<div>
|
||||
<p>${readStats.cntCancel }</p>
|
||||
<p>${rentStats.reqCancelCnt }</p>
|
||||
<p>취소</p>
|
||||
</div>
|
||||
<div>
|
||||
<p>${readStats.cntProv }</p>
|
||||
<p>${rentStats.reqOkCnt }</p>
|
||||
<p>승인</p>
|
||||
</div>
|
||||
<div>
|
||||
<p>${readStats.cntRej }</p>
|
||||
<p>${rentStats.reqCompCnt }</p>
|
||||
<p>반려</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
Loading…
Reference in New Issue
Block a user