This commit is contained in:
JSYOO 2021-11-16 13:31:48 +09:00
commit 5893d84226
11 changed files with 135 additions and 140 deletions

View File

@ -109,7 +109,7 @@ public class QnaController extends NlibCommonController {
totRecordCount = qnaService.countArticles(searchArticleVO);
} else {
list = new ArrayList<ArticleVO>();
message = "로그인이 필요합니다.";
message = "로그인 후, 이용하여 주시기 바랍니다";
}
//-------------------------------

View File

@ -75,12 +75,5 @@ public interface ReadService {
*/
public DataApiResVO cancelReadItem(CollectionVO searchVO);
/**
* 사용자의 방문열람현황을 조회한다.
*
* @param mbInfoId
* @return
*/
public Map<String, String> getReadStats(String mbInfoId);
}

View File

@ -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);
}

View File

@ -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);
}
}

View File

@ -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;
}

View File

@ -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();

View File

@ -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);

View File

@ -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>

View File

@ -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) {

View File

@ -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>

View File

@ -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>