Merge branch 'main' of http://10.dbnt.co.kr:50501/DBNT/geoinfo_eGov_work
commit
d98248c586
|
|
@ -3,6 +3,7 @@ package geoinfo.main.api;
|
|||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
|
||||
|
|
@ -13,6 +14,8 @@ import org.springframework.web.bind.annotation.RequestParam;
|
|||
import org.springframework.web.bind.annotation.ResponseBody;
|
||||
import org.springframework.web.servlet.ModelAndView;
|
||||
|
||||
import egovframework.rte.psl.dataaccess.util.EgovMap;
|
||||
import geoinfo.main.api.service.ApiService;
|
||||
import geoinfo.util.KeyGenerator;
|
||||
import ictway.comm.util.parseData;
|
||||
import ictway.comm.util.strUtil;
|
||||
|
|
@ -21,14 +24,20 @@ import ictway.comm.util.strUtil;
|
|||
public class ApiController {
|
||||
Logger log = Logger.getLogger(this.getClass());
|
||||
|
||||
@Resource(name = "apiService")
|
||||
private ApiService apiService;
|
||||
|
||||
/*
|
||||
* 사용자 > API 신청 화면
|
||||
*/
|
||||
@RequestMapping(value = "apiKey.do")
|
||||
public ModelAndView goApiKeyPage(ModelAndView model, @RequestParam HashMap<String, Object> params) throws Exception {
|
||||
|
||||
public ModelAndView goApiKeyPage(HttpServletRequest request, HttpServletResponse response, ModelAndView model, @RequestParam HashMap<String, Object> params) throws Exception {
|
||||
|
||||
String loginUserId = String.valueOf(request.getSession().getAttribute("USERID"));
|
||||
params.put("userid", loginUserId);
|
||||
HashMap<String, Object> userLastApiKey = apiService.selectUserLatestKey(params);
|
||||
|
||||
model.addObject("userLastApiKey", userLastApiKey);
|
||||
model.setViewName("body/api/apiKey");
|
||||
|
||||
return model;
|
||||
|
|
|
|||
|
|
@ -0,0 +1,17 @@
|
|||
package geoinfo.main.api.service;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
|
||||
import egovframework.rte.psl.dataaccess.mapper.Mapper;
|
||||
import egovframework.rte.psl.dataaccess.util.EgovMap;
|
||||
|
||||
@Mapper("ApiMapper")
|
||||
public interface ApiMapper {
|
||||
|
||||
public int selectInfoListCnt(HashMap<String, Object> params) throws Exception;
|
||||
|
||||
public List<?> selectInfoList(HashMap<String, Object> params) throws Exception;
|
||||
|
||||
HashMap<String, Object> selectUserLatestKey(HashMap<String, Object> params) throws Exception;
|
||||
}
|
||||
|
|
@ -0,0 +1,15 @@
|
|||
package geoinfo.main.api.service;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
|
||||
import egovframework.rte.psl.dataaccess.util.EgovMap;
|
||||
|
||||
public interface ApiService {
|
||||
|
||||
int selectInfoListCnt(HashMap<String, Object> params) throws Exception;
|
||||
|
||||
List<?> selectInfoList(HashMap<String, Object> params) throws Exception;
|
||||
|
||||
HashMap<String, Object> selectUserLatestKey(HashMap<String, Object> params) throws Exception;
|
||||
}
|
||||
|
|
@ -0,0 +1,34 @@
|
|||
package geoinfo.main.api.service.impl;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import egovframework.rte.psl.dataaccess.util.EgovMap;
|
||||
import geoinfo.main.api.service.ApiMapper;
|
||||
import geoinfo.main.api.service.ApiService;
|
||||
|
||||
@Service("apiService")
|
||||
public class ApiServiceImpl implements ApiService{
|
||||
|
||||
@Resource(name="ApiMapper")
|
||||
private ApiMapper ApiMapper;
|
||||
|
||||
@Override
|
||||
public int selectInfoListCnt(HashMap<String, Object> params) throws Exception {
|
||||
return ApiMapper.selectInfoListCnt(params);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<?> selectInfoList(HashMap<String, Object> params) throws Exception {
|
||||
return ApiMapper.selectInfoList(params);
|
||||
}
|
||||
|
||||
@Override
|
||||
public HashMap<String, Object> selectUserLatestKey(HashMap<String, Object> params) throws Exception {
|
||||
return ApiMapper.selectUserLatestKey(params);
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,49 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
|
||||
<mapper namespace="geoinfo.main.api.service.ApiMapper">
|
||||
<select id="selectInfoList" parameterType="hashmap" resultType="org.apache.commons.collections.map.CaseInsensitiveMap">
|
||||
<![CDATA[
|
||||
SELECT IDX, NAME, Substr(SUBJECT, 1, 29) AS SUBJECT, SUBJECT AS SUBJECTLEN,
|
||||
READCOUNT, DATETIME, RN, REPLACE(CONTENT, '<br>', '') CONTENT
|
||||
FROM (SELECT ROWNUM RN, IDX, NAME, SUBJECT, READCOUNT, DATETIME, CONTENT
|
||||
FROM (SELECT IDX, NAME, SUBJECT, READCOUNT, CONTENT,
|
||||
To_char(DATETIME, 'YYYY-MM-DD') DATETIME
|
||||
FROM WEB_BOARD_CH
|
||||
WHERE CLS=2
|
||||
ORDER BY DATETIME DESC
|
||||
)
|
||||
]]>
|
||||
<if test="searchKey != null">
|
||||
WHERE SUBJECT LIKE '%' || #{searchKey} || '%' OR CONTENT LIKE '%' || #{searchKey} || '%'
|
||||
</if>
|
||||
<![CDATA[
|
||||
)
|
||||
WHERE RN BETWEEN #{firstIndex} + 1
|
||||
AND #{firstIndex} + #{recordCountPerPage}
|
||||
]]>
|
||||
</select>
|
||||
|
||||
<select id="selectInfoListCnt" parameterType="hashmap" resultType="int">
|
||||
<![CDATA[
|
||||
SELECT COUNT(*)
|
||||
FROM WEB_BOARD_CH
|
||||
WHERE CLS=2
|
||||
]]>
|
||||
<if test="searchKey != null">
|
||||
AND SUBJECT LIKE '%' || #{searchKey} || '%' OR CONTENT LIKE '%' || #{searchKey} || '%'
|
||||
</if>
|
||||
</select>
|
||||
|
||||
<!-- 사용자 최근 API KEY 조회 -->
|
||||
<select id="selectUserLatestKey" parameterType="map" resultType="HashMap">
|
||||
SELECT *
|
||||
FROM (SELECT *
|
||||
FROM WEB_API_KEY
|
||||
WHERE USERID = #{userid}
|
||||
AND END_DT >= SYSDATE
|
||||
ORDER BY END_DT DESC)
|
||||
WHERE ROWNUM = 1
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
|
|
@ -42,7 +42,9 @@
|
|||
ORDER BY
|
||||
<choose>
|
||||
<when test="sortField == 'projectName'"> T.PROJECT_NAME ${sortDir} </when>
|
||||
<when test="sortField == 'userName'"> T.USER_NAME ${sortDir} </when>
|
||||
<when test="sortField == 'userName'">
|
||||
T.USER_NAME ${sortDir} <if test='sortDir == "desc"'> NULLS LAST </if>
|
||||
</when>
|
||||
|
||||
<when test="sortField == 'datetime'">
|
||||
T.DATETIME ${sortDir} <if test='sortDir == "desc"'> NULLS LAST </if>
|
||||
|
|
|
|||
|
|
@ -101,32 +101,36 @@
|
|||
SELECT ROW_NUMBER() OVER (ORDER BY
|
||||
]]>
|
||||
<choose>
|
||||
<!-- 프로젝트명 -->
|
||||
<when test="sortField == 'projectName' and sortDir == 'asc'">
|
||||
T.PROJECT_NAME ASC
|
||||
</when>
|
||||
<when test="sortField == 'projectName' and sortDir == 'desc'">
|
||||
T.PROJECT_NAME DESC
|
||||
T.PROJECT_NAME DESC NULLS LAST
|
||||
</when>
|
||||
|
||||
<!-- 공급자 -->
|
||||
<when test="sortField == 'userName' and sortDir == 'asc'">
|
||||
T.USER_NAME ASC
|
||||
</when>
|
||||
<when test="sortField == 'userName' and sortDir == 'desc'">
|
||||
T.USER_NAME DESC
|
||||
T.USER_NAME DESC NULLS LAST
|
||||
</when>
|
||||
|
||||
<!-- 등록자 -->
|
||||
<when test="sortField == 'createName' and sortDir == 'asc'">
|
||||
T.CREATE_NAME ASC
|
||||
</when>
|
||||
<when test="sortField == 'createName' and sortDir == 'desc'">
|
||||
T.CREATE_NAME DESC
|
||||
T.CREATE_NAME DESC NULLS LAST
|
||||
</when>
|
||||
|
||||
<!-- 입력일시 -->
|
||||
<when test="sortField == 'datetime' and sortDir == 'asc'">
|
||||
T.DATETIME ASC
|
||||
</when>
|
||||
<otherwise>
|
||||
T.DATETIME DESC
|
||||
T.DATETIME DESC NULLS LAST
|
||||
</otherwise>
|
||||
</choose>
|
||||
<![CDATA[
|
||||
|
|
|
|||
|
|
@ -50,7 +50,7 @@
|
|||
</when>
|
||||
<!-- 프로젝트명 역순 정렬 -->
|
||||
<when test="sortField == 'projectName' and sortDir == 'desc'">
|
||||
F.PROJECT_NAME DESC
|
||||
F.PROJECT_NAME DESC NULLS LAST
|
||||
</when>
|
||||
|
||||
<!-- 공급자명 정렬 -->
|
||||
|
|
@ -59,7 +59,7 @@
|
|||
</when>
|
||||
<!-- 공급자명 역순 정렬 -->
|
||||
<when test="sortField == 'userName' and sortDir == 'desc'">
|
||||
F.USER_NAME DESC
|
||||
F.USER_NAME DESC NULLS LAST
|
||||
</when>
|
||||
|
||||
<!-- 시추공수 정렬 -->
|
||||
|
|
@ -68,7 +68,7 @@
|
|||
</when>
|
||||
<!-- 시추공수 역순 정렬 -->
|
||||
<when test="sortField == 'holeCnt' and sortDir == 'desc'">
|
||||
F.HOLE_CNT DESC
|
||||
F.HOLE_CNT DESC NULLS LAST
|
||||
</when>
|
||||
|
||||
<!-- 입력일시 정렬 -->
|
||||
|
|
@ -77,7 +77,7 @@
|
|||
</when>
|
||||
<!-- 입력일시 역순 정렬 -->
|
||||
<otherwise>
|
||||
F.DATETIME DESC
|
||||
F.DATETIME DESC NULLS LAST
|
||||
</otherwise>
|
||||
</choose>
|
||||
<![CDATA[
|
||||
|
|
|
|||
|
|
@ -203,7 +203,7 @@
|
|||
</when>
|
||||
<!-- 공급자 역순 정렬 -->
|
||||
<when test="sortField == 'userName' and sortDir == 'desc'">
|
||||
T.USER_NAME DESC
|
||||
T.USER_NAME DESC NULLS LAST
|
||||
</when>
|
||||
|
||||
<!-- 입력일시 정렬 -->
|
||||
|
|
@ -212,7 +212,7 @@
|
|||
</when>
|
||||
<!-- 입력일시 역순 정렬 -->
|
||||
<when test="sortField == 'datetime' and sortDir == 'desc'">
|
||||
T.DATETIME DESC, OB.MODIFY_CALL_DATE ASC
|
||||
T.DATETIME DESC NULLS LAST, OB.MODIFY_CALL_DATE ASC
|
||||
</when>
|
||||
|
||||
<!-- 공급일시 정렬 -->
|
||||
|
|
@ -221,7 +221,7 @@
|
|||
</when>
|
||||
<!-- 공급일시 역순 정렬 -->
|
||||
<when test="sortField == 'regFinDate' and sortDir == 'desc'">
|
||||
OC.DATETIME DESC
|
||||
OC.DATETIME DESC NULLS LAST
|
||||
</when>
|
||||
|
||||
<!-- 차수 정렬 -->
|
||||
|
|
@ -230,7 +230,7 @@
|
|||
</when>
|
||||
<!-- 차수 역순 정렬 -->
|
||||
<when test="sortField == 'histSeq' and sortDir == 'desc'">
|
||||
OB.HIST_SEQ DESC, OC.DATETIME DESC
|
||||
OB.HIST_SEQ DESC NULLS LAST, OC.DATETIME DESC NULLS LAST
|
||||
</when>
|
||||
|
||||
<!-- 요청일시 정렬 -->
|
||||
|
|
@ -239,7 +239,7 @@
|
|||
</when>
|
||||
<!-- 요청일시 역순 정렬 -->
|
||||
<when test="sortField == 'modifyCallDate' and sortDir == 'desc'">
|
||||
OB.MODIFY_CALL_DATE DESC
|
||||
OB.MODIFY_CALL_DATE DESC NULLS LAST
|
||||
</when>
|
||||
</choose>
|
||||
<![CDATA[
|
||||
|
|
|
|||
|
|
@ -1,11 +1,46 @@
|
|||
<%@ page language="java" contentType="text/html; charset=utf-8"%>
|
||||
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
|
||||
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
|
||||
|
||||
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
|
||||
|
||||
<script type="text/javascript">
|
||||
</script>
|
||||
|
||||
<c:choose>
|
||||
<c:when test="${not empty userLastApiKey}">
|
||||
<!-- <div> -->
|
||||
<%-- <p>API_SEQ: ${userLastApiKey.API_SEQ}</p> --%>
|
||||
<%-- <p>USERID: ${userLastApiKey.USERID}</p> --%>
|
||||
<%-- <p>USER_TYPE: ${userLastApiKey.USER_TYPE}</p> --%>
|
||||
<%-- <p>API_KEY: ${userLastApiKey.API_KEY}</p> --%>
|
||||
<%-- <p>START_DT: <fmt:formatDate value="${userLastApiKey.START_DT}" pattern="yyyy-MM-dd HH:mm:ss" /></p> --%>
|
||||
<%-- <p>END_DT: <fmt:formatDate value="${userLastApiKey.END_DT}" pattern="yyyy-MM-dd HH:mm:ss" /></p> --%>
|
||||
<%-- <p>APPROVE_YN: ${userLastApiKey.APPROVE_YN}</p> --%>
|
||||
<!-- </div> -->
|
||||
|
||||
<div class="table-scrollable">
|
||||
|
||||
<table class="table table-bordered table-data">
|
||||
<tbody>
|
||||
<tr>
|
||||
<th>신청일</th>
|
||||
<td><fmt:formatDate value="${userLastApiKey.START_DT}" pattern="yyyy-MM-dd HH:mm:ss" /></td>
|
||||
<th>만료일</th>
|
||||
<td><fmt:formatDate value="${userLastApiKey.END_DT}" pattern="yyyy-MM-dd HH:mm:ss" /></td>
|
||||
<th>승인상태</th>
|
||||
<td>${userLastApiKey.APPROVE_YN eq 'Y' ? '승인' : '미승인'}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th colspan="6">신청 KEY</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="6">${userLastApiKey.API_KEY}</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<form name="frm" method="post">
|
||||
|
||||
<%-- 사용자 타입(국토교통부/행정안전부/해안수산부/기타공공기관/일반) --%>
|
||||
|
|
@ -19,6 +54,9 @@
|
|||
<a href="javascript:void(0);" class="apiKeyReq btn btn-large btn-green" onclick="javascript:generateApiKey();"> 신청하기 </a>
|
||||
</div>
|
||||
</form>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
|
||||
|
||||
<!--function 정의 -->
|
||||
<script type="text/javascript">
|
||||
|
|
|
|||
|
|
@ -381,7 +381,7 @@
|
|||
$(".nav > li.dropdown:eq(6)").addClass("on");
|
||||
// 왼쪽메뉴 활성화
|
||||
$("#community_sub_menu").css("display", "block");
|
||||
$("#community_sub_menu > li.nav-item:eq(4)").addClass("active");
|
||||
$("#community_sub_menu > li.nav-item:eq(5)").addClass("active");
|
||||
});
|
||||
</script>
|
||||
<!-- 커뮤니티 > 시추정보 Q&A 끝 -->
|
||||
|
|
|
|||
Loading…
Reference in New Issue