Merge branch 'main' of http://10.dbnt.co.kr:50501/DBNT/geoinfo_eGov_work
commit
60cdaae017
|
|
@ -30,6 +30,8 @@ public interface GeoinfoApiV1Mapper {
|
|||
// 프로젝트 정보 (Project Info)
|
||||
// ==================================================================================================
|
||||
|
||||
/** API ON/OFF 처리를 위한 활성상태 조회 처리 */
|
||||
public String selectApiActiveYn(String spNamep) throws SQLException;
|
||||
public ArrayList<EgovMap> spGetTblProjectInfo(HashMap<String, Object> params) throws SQLException;
|
||||
public int spCntTblProjectInfo(HashMap<String, Object> params) throws SQLException;
|
||||
public ArrayList<EgovMap> spGetSelectclassInfoP(HashMap<String, Object> params) throws SQLException;
|
||||
|
|
|
|||
|
|
@ -36,6 +36,17 @@ public class GeoinfoApiV1ServiceImpl implements GeoinfoApiV1Service {
|
|||
|
||||
//호출 프로시저 유효성 체크
|
||||
spName = spName.trim();
|
||||
// API ACTIVE_YN 판별하여 'N'일 경우 일시중단상태.
|
||||
String apiStatus = geoinfoApiV1Mapper.selectApiActiveYn(spName);
|
||||
if (apiStatus != null && "N".equals(apiStatus)) {
|
||||
// 성공 응답 기본값 설정
|
||||
jsonResponse.put("resultCode", 0);
|
||||
jsonResponse.put("result", "true");
|
||||
jsonResponse.put("message", "DISABLE");
|
||||
|
||||
// 성공 코드 반환
|
||||
return 0;
|
||||
}
|
||||
|
||||
// 서비스 이름에 따라 분기 처리
|
||||
if ("sp-get-tbl-project-info".equalsIgnoreCase(spName)) {
|
||||
|
|
|
|||
|
|
@ -0,0 +1,58 @@
|
|||
package geoinfo.main.api;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
|
||||
import org.apache.log4j.Logger;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
import org.springframework.web.bind.annotation.ResponseBody;
|
||||
import org.springframework.web.servlet.ModelAndView;
|
||||
|
||||
import geoinfo.util.KeyGenerator;
|
||||
import ictway.comm.util.parseData;
|
||||
import ictway.comm.util.strUtil;
|
||||
|
||||
@Controller
|
||||
public class ApiController {
|
||||
Logger log = Logger.getLogger(this.getClass());
|
||||
|
||||
/*
|
||||
* 사용자 > API 신청 화면
|
||||
*/
|
||||
@RequestMapping(value = "apiKey.do")
|
||||
public ModelAndView goApiKeyPage(ModelAndView model, @RequestParam HashMap<String, Object> params) throws Exception {
|
||||
|
||||
|
||||
|
||||
model.setViewName("body/api/apiKey");
|
||||
|
||||
return model;
|
||||
}
|
||||
|
||||
@RequestMapping(value = "createApiKey.do")
|
||||
@ResponseBody
|
||||
public Map<String, Object> UserApiInfo(HttpServletRequest request, HttpServletResponse response, @RequestParam HashMap<String, Object> params) {
|
||||
Map<String, Object> resultMap = new HashMap<>();
|
||||
|
||||
|
||||
strUtil sUtil = new strUtil();
|
||||
String userType = sUtil.checkNull(parseData.parseData((String)params.get("userType")));
|
||||
|
||||
String apiKey = KeyGenerator.generateUniqueKey();
|
||||
System.out.println("Generated apiKey ==>" + apiKey);
|
||||
log.info("apiKey ==> " + apiKey);
|
||||
log.info("userType ==> " + userType);
|
||||
|
||||
resultMap.put("code", "SUCCESS");
|
||||
resultMap.put("msg", "API 신청이 완료됐습니다.");
|
||||
resultMap.put("data",apiKey);
|
||||
|
||||
return resultMap;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -372,6 +372,11 @@ public class MainController
|
|||
eGovUrl = "faq.do";
|
||||
mv.setViewName("home/main.jsp?url=/body/board/main");
|
||||
}
|
||||
else if (url.equals("apiKey"))
|
||||
{
|
||||
eGovUrl = "apiKey.do";
|
||||
mv.setViewName("home/main.jsp?url=/body/board/main");
|
||||
}
|
||||
else if (url.equals("join"))
|
||||
{
|
||||
eGovUrl = "join.do";
|
||||
|
|
|
|||
|
|
@ -120,15 +120,16 @@ public class CompleteServiceImpl implements CompleteService {
|
|||
params.put("sortDir", sortDir);
|
||||
}
|
||||
|
||||
|
||||
int total = MyUtil.getIntegerFromObject(selectCompleteItemsCnt(params)).intValue();
|
||||
Long pageSize = MyUtil.getLongFromObject( params.get("pageSize") );
|
||||
if( pageSize == null ) {
|
||||
pageSize = 10l;
|
||||
// pageSize = 10l;
|
||||
pageSize = (long) total; // 25.11.05(YJI) Kendo grid pager 'All' 처리
|
||||
}
|
||||
|
||||
PaginationInfo paginationInfo = new PaginationInfo();
|
||||
|
||||
paginationInfo.setRecordCountPerPage(10);
|
||||
paginationInfo.setRecordCountPerPage(pageSize.intValue());
|
||||
paginationInfo.setPageSize(pageSize.intValue());
|
||||
paginationInfo.setTotalRecordCount( MyUtil.getIntegerFromObject(selectCompleteItemsCnt(params)).intValue() );
|
||||
|
||||
|
|
|
|||
|
|
@ -101,13 +101,15 @@ public class HoleCoordinateController {
|
|||
@RequestMapping("/getHoleCoordList.do")
|
||||
@ResponseBody
|
||||
public Map<String, Object> getHoleCoordList(HttpServletRequest request, HttpServletResponse response, @RequestParam HashMap<String, Object> params) throws Exception {
|
||||
|
||||
int page = params.get("page").toString() != null ? Integer.parseInt(params.get("page").toString()) : 1;
|
||||
int pageSize = params.get("pageSize") != null ? Integer.parseInt((String)params.get("pageSize")) : 10; // 기본값 10
|
||||
int nCls = MyUtil.getIntegerFromObject(request.getSession().getAttribute("CLS"));
|
||||
strUtil sUtil = new strUtil();
|
||||
WebUtil wUtil = new WebUtil();
|
||||
wUtil.topTabId = "manageCoordinate"; // 검수일때 tab 활성화 시켜주기 위해
|
||||
String loginUserId = String.valueOf(request.getSession().getAttribute("USERID"));
|
||||
|
||||
// 정렬 필드/방향 처리
|
||||
String sortField = (String) params.get("sort[0][field]");
|
||||
String sortDir = (String) params.get("sort[0][dir]");
|
||||
String sortField = sUtil.checkNull(parseData.parseData((String)params.get("sortField")));
|
||||
String sortDir = sUtil.checkNull(parseData.parseData((String)params.get("sortDir")));
|
||||
|
||||
// 기본 정렬 지정 (없을 경우)
|
||||
if (sortField == null || sortField.isEmpty()) sortField = "datetime";
|
||||
|
|
@ -117,11 +119,6 @@ public class HoleCoordinateController {
|
|||
params.put("sortField", sortField);
|
||||
params.put("sortDir", sortDir);
|
||||
|
||||
int nCls = MyUtil.getIntegerFromObject(request.getSession().getAttribute("CLS"));
|
||||
strUtil sUtil = new strUtil();
|
||||
WebUtil wUtil = new WebUtil();
|
||||
wUtil.topTabId = "manageCoordinate"; // 검수일때 tab 활성화 시켜주기 위해
|
||||
String loginUserId = String.valueOf(request.getSession().getAttribute("USERID"));
|
||||
// request
|
||||
String srchStartDate = sUtil.checkNull(parseData.parseData((String)params.get("startDate")));
|
||||
String srchEndDate = sUtil.checkNull(parseData.parseData((String)params.get("endDate")));
|
||||
|
|
@ -130,15 +127,14 @@ public class HoleCoordinateController {
|
|||
String searchCreateName = sUtil.checkNull(parseData.parseData((String)params.get("searchCreateName")));
|
||||
params.put("loginUserId", loginUserId);
|
||||
params.put("cls", nCls);
|
||||
|
||||
int total = masterService.getDataListCount(params);
|
||||
int page = params.get("page").toString() != null ? Integer.parseInt(params.get("page").toString()) : 1;
|
||||
int pageSize = params.get("pageSize") != null ? Integer.parseInt((String)params.get("pageSize")) : total; // 기본값 10
|
||||
params.put("startRow", ((page - 1) * pageSize) + 1);
|
||||
if (page > 1) {
|
||||
params.put("endRow", (((page - 1) * pageSize) + 1) + pageSize - 1); // startRow + pageSize - 1
|
||||
} else {
|
||||
params.put("endRow", 10);
|
||||
}
|
||||
params.put("endRow", (((page - 1) * pageSize) + 1) + pageSize - 1); // startRow + pageSize - 1
|
||||
|
||||
List<?> items = masterService.getDataListPaging(params);
|
||||
int total = masterService.getDataListCount(params);
|
||||
|
||||
Map<String, Object> result = new HashMap<>();
|
||||
result.put("items", items);
|
||||
|
|
|
|||
|
|
@ -71,12 +71,9 @@ public class ListRegController {
|
|||
//request
|
||||
System.out.println("searchProjectName:"+request.getParameter("searchProjectName"));
|
||||
|
||||
int page = params.get("page").toString() != null ? Integer.parseInt(params.get("page").toString()) : 1;
|
||||
int pageSize = params.get("pageSize") != null ? Integer.parseInt((String)params.get("pageSize")) : 10; // 기본값 10
|
||||
|
||||
// 정렬 필드/방향 처리
|
||||
String sortField = (String) params.get("sort[0][field]");
|
||||
String sortDir = (String) params.get("sort[0][dir]");
|
||||
String sortField = sUtil.checkNull(parseData.parseData((String)params.get("sortField")));
|
||||
String sortDir = sUtil.checkNull(parseData.parseData((String)params.get("sortDir")));
|
||||
|
||||
// 기본 정렬 지정 (없을 경우)
|
||||
if (sortField == null || sortField.isEmpty()) sortField = "datetime";
|
||||
|
|
@ -85,16 +82,15 @@ public class ListRegController {
|
|||
// MyBatis에 넣을 때는 깔끔하게 키 이름 정리
|
||||
params.put("sortField", sortField);
|
||||
params.put("sortDir", sortDir);
|
||||
|
||||
int total = masterService.getRegListCount(params);
|
||||
int page = params.get("page").toString() != null ? Integer.parseInt(params.get("page").toString()) : 1;
|
||||
int pageSize = params.get("pageSize") != null ? Integer.parseInt((String)params.get("pageSize")) : total; // 기본값 10
|
||||
params.put("startRow", ((page - 1) * pageSize) + 1);
|
||||
if (page > 1) {
|
||||
params.put("endRow", (((page - 1) * pageSize) + 1) + pageSize - 1); // startRow + pageSize - 1
|
||||
} else {
|
||||
params.put("endRow", 10);
|
||||
}
|
||||
params.put("endRow", (((page - 1) * pageSize) + 1) + pageSize - 1); // startRow + pageSize - 1
|
||||
|
||||
//data정보
|
||||
ArrayList result = masterService.getRegList(params);
|
||||
int total = masterService.getRegListCount(params);
|
||||
|
||||
HashMap resultMap = new HashMap();
|
||||
resultMap.put("dataList1", result);
|
||||
|
|
|
|||
|
|
@ -113,12 +113,12 @@ public class ManageListController {
|
|||
@ResponseBody
|
||||
public Map<String, Object> getManageList(HttpServletRequest request, HttpServletResponse response, @RequestParam HashMap<String, Object> params) throws Exception {
|
||||
|
||||
int page = params.get("page").toString() != null ? Integer.parseInt(params.get("page").toString()) : 1;
|
||||
int pageSize = params.get("pageSize") != null ? Integer.parseInt((String)params.get("pageSize")) : 10; // 기본값 10
|
||||
|
||||
int nCls = MyUtil.getIntegerFromObject(request.getSession().getAttribute("CLS"));
|
||||
strUtil sUtil = new strUtil();
|
||||
WebUtil wUtil = new WebUtil();
|
||||
// 정렬 필드/방향 처리
|
||||
String sortField = (String) params.get("sort[0][field]");
|
||||
String sortDir = (String) params.get("sort[0][dir]");
|
||||
String sortField = sUtil.checkNull(parseData.parseData((String)params.get("sortField")));
|
||||
String sortDir = sUtil.checkNull(parseData.parseData((String)params.get("sortDir")));
|
||||
|
||||
// 기본 정렬 지정 (없을 경우)
|
||||
if (sortField == null || sortField.isEmpty()) sortField = "datetime";
|
||||
|
|
@ -128,9 +128,6 @@ public class ManageListController {
|
|||
params.put("sortField", sortField);
|
||||
params.put("sortDir", sortDir);
|
||||
|
||||
int nCls = MyUtil.getIntegerFromObject(request.getSession().getAttribute("CLS"));
|
||||
strUtil sUtil = new strUtil();
|
||||
WebUtil wUtil = new WebUtil();
|
||||
wUtil.topTabId = "manageCoordinate"; // 검수일때 tab 활성화 시켜주기 위해
|
||||
String loginUserId = String.valueOf(request.getSession().getAttribute("USERID"));
|
||||
// requestString srchReportType = sUtil.checkNull(parseData.parseData((String)params.get("searchReportType")));
|
||||
|
|
@ -142,15 +139,14 @@ public class ManageListController {
|
|||
|
||||
params.put("loginUserId", loginUserId);
|
||||
params.put("cls", nCls);
|
||||
|
||||
int total = masterService.getDataListCount(params);
|
||||
int page = params.get("page").toString() != null ? Integer.parseInt(params.get("page").toString()) : 1;
|
||||
int pageSize = params.get("pageSize") != null ? Integer.parseInt((String)params.get("pageSize")) : total; // 기본값 10
|
||||
params.put("startRow", ((page - 1) * pageSize) + 1);
|
||||
if (page > 1) {
|
||||
params.put("endRow", (((page - 1) * pageSize) + 1) + pageSize - 1); // startRow + pageSize - 1
|
||||
} else {
|
||||
params.put("endRow", 10);
|
||||
}
|
||||
params.put("endRow", (((page - 1) * pageSize) + 1) + pageSize - 1); // startRow + pageSize - 1
|
||||
|
||||
List<?> items = masterService.getDataListPaging(params);
|
||||
int total = masterService.getDataListCount(params);
|
||||
|
||||
Map<String, Object> result = new HashMap<>();
|
||||
result.put("items", items);
|
||||
|
|
|
|||
|
|
@ -0,0 +1,77 @@
|
|||
/*********************************************************************************
|
||||
* 파 일 명 : RsBox.java
|
||||
* 작 성 일 : 2005.02
|
||||
* 작 성 자 : 최군길
|
||||
*---------------------------------------------------------------------------------
|
||||
* 프로그램명 : RsBox
|
||||
* 기능 및 설명 : JDBC Result Set Box Util
|
||||
*---------------------------------------------------------------------------------
|
||||
* 기 타 :
|
||||
*********************************************************************************/
|
||||
package geoinfo.util;
|
||||
|
||||
import java.security.SecureRandom;
|
||||
import java.util.*;
|
||||
|
||||
public class KeyGenerator {
|
||||
/**
|
||||
* 키 생성에 사용될 문자셋 (영문 대문자 + 영문 소문자 + 숫자)
|
||||
*/
|
||||
private static final String ALPHANUMERIC_CHARACTERS =
|
||||
"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
|
||||
|
||||
/**
|
||||
* 생성할 키의 길이
|
||||
*/
|
||||
private static final int KEY_LENGTH = 43;
|
||||
|
||||
/**
|
||||
* 암호학적으로 안전한 난수 생성기 인스턴스.
|
||||
* 이 인스턴스는 한 번만 생성하여 재사용하는 것이 좋습니다.
|
||||
*/
|
||||
private static final SecureRandom secureRandom = new SecureRandom();
|
||||
|
||||
/**
|
||||
* 43글자의 고유한 랜덤 키를 생성합니다.
|
||||
*
|
||||
* @return 43글자의 영문/숫자 랜덤 키
|
||||
*/
|
||||
public static String generateUniqueKey() {
|
||||
// Java 1.7에서는 StringBuilder가 더 효율적입니다.
|
||||
// (StringBuffer는 스레드 안전성이 필요할 때 사용)
|
||||
StringBuilder sb = new StringBuilder(KEY_LENGTH);
|
||||
|
||||
for (int i = 0; i < KEY_LENGTH; i++) {
|
||||
// 0부터 (문자셋 길이 - 1) 사이의 랜덤 인덱스를 가져옵니다.
|
||||
int randomIndex = secureRandom.nextInt(ALPHANUMERIC_CHARACTERS.length());
|
||||
|
||||
// 문자셋에서 해당 인덱스의 문자를 선택하여 추가합니다.
|
||||
char randomChar = ALPHANUMERIC_CHARACTERS.charAt(randomIndex);
|
||||
sb.append(randomChar);
|
||||
}
|
||||
|
||||
return sb.toString();
|
||||
}
|
||||
|
||||
/**
|
||||
* 메인 메소드 (테스트용)
|
||||
*/
|
||||
public static void main(String[] args) {
|
||||
// 키 생성
|
||||
String key1 = KeyGenerator.generateUniqueKey();
|
||||
String key2 = KeyGenerator.generateUniqueKey();
|
||||
|
||||
// 생성된 키와 길이 출력
|
||||
System.out.println("생성된 키 1: " + key1);
|
||||
System.out.println("키 1의 길이 : " + key1.length());
|
||||
|
||||
System.out.println("-------------------------------------------------");
|
||||
|
||||
System.out.println("생성된 키 2: " + key2);
|
||||
System.out.println("키 2의 길이 : " + key2.length());
|
||||
|
||||
// 두 키가 다른지 확인 (거의 100% 다름)
|
||||
boolean areKeysDifferent = !key1.equals(key2);
|
||||
System.out.println("두 키가 다른가? " + areKeysDifferent);
|
||||
}
|
||||
}
|
||||
|
|
@ -6,7 +6,14 @@
|
|||
<!-- ================================================================================================== -->
|
||||
<!-- 프로젝트 정보 (Project Info) -->
|
||||
<!-- ================================================================================================== -->
|
||||
|
||||
|
||||
<!-- API ON/OFF 처리를 위한 활성상태 조회 처리 -->
|
||||
<select id="selectApiActiveYn" parameterType="String" resultType="String">
|
||||
SELECT ACTIVE_YN
|
||||
FROM WEB_API_INBOUND
|
||||
WHERE SP_NAME = #{spName}
|
||||
</select>
|
||||
|
||||
<select id="spGetTblProjectInfo" parameterType="map" resultType="egovMap">
|
||||
SELECT * FROM TABLE(SP_GET_TBL_PROJECT_INFO(
|
||||
#{prjCode, jdbcType=VARCHAR},
|
||||
|
|
|
|||
|
|
@ -190,11 +190,11 @@
|
|||
<choose>
|
||||
<!-- 프로젝트명 정렬 -->
|
||||
<when test="sortField == 'projectName' and sortDir == 'asc'">
|
||||
T.PROJECT_NAME ASC
|
||||
T.PROJECT_NAME ASC, DATETIME ASC, OB.MODIFY_CALL_DATE ASC
|
||||
</when>
|
||||
<!-- 프로젝트명 역순 정렬 -->
|
||||
<when test="sortField == 'projectName' and sortDir == 'desc'">
|
||||
T.PROJECT_NAME DESC
|
||||
T.PROJECT_NAME DESC, DATETIME ASC, OB.MODIFY_CALL_DATE ASC
|
||||
</when>
|
||||
|
||||
<!-- 공급자 정렬 -->
|
||||
|
|
@ -208,11 +208,11 @@
|
|||
|
||||
<!-- 입력일시 정렬 -->
|
||||
<when test="sortField == 'datetime' and sortDir == 'asc'">
|
||||
T.DATETIME ASC
|
||||
T.DATETIME ASC, OB.MODIFY_CALL_DATE ASC
|
||||
</when>
|
||||
<!-- 입력일시 역순 정렬 -->
|
||||
<when test="sortField == 'datetime' and sortDir == 'desc'">
|
||||
T.DATETIME DESC
|
||||
T.DATETIME DESC, OB.MODIFY_CALL_DATE ASC
|
||||
</when>
|
||||
|
||||
<!-- 공급일시 정렬 -->
|
||||
|
|
|
|||
|
|
@ -0,0 +1,43 @@
|
|||
<%@ 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" %>
|
||||
|
||||
|
||||
<script type="text/javascript">
|
||||
</script>
|
||||
|
||||
<form name="frm" method="post">
|
||||
|
||||
<%-- 사용자 타입(국토교통부/행정안전부/해안수산부/기타공공기관/일반) --%>
|
||||
<ul class="row marB30">
|
||||
<li class="col col-xs-4 text-center"><label><input type="radio" name="userType" value="국토교통부">국토교통부</label></li>
|
||||
<li class="col col-xs-4 text-center"><label><input type="radio" name="userType" value="행정안전부">행정안전부</label></li>
|
||||
<li class="col col-xs-4 text-center"><label><input type="radio" name="userType" value="해양수산부">해양수산부</label></li>
|
||||
</ul>
|
||||
|
||||
<div class="row text-center">
|
||||
<a href="javascript:void(0);" class="apiKeyReq btn btn-large btn-green" onclick="javascript:generateApiKey();"> 신청하기 </a>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
<!--function 정의 -->
|
||||
<script type="text/javascript">
|
||||
|
||||
// 사용자 > API 신청 버튼 클릭
|
||||
function generateApiKey() {
|
||||
var userType = $('input[name="userType"]:checked').val()
|
||||
$.ajax({
|
||||
url : "/createApiKey.do",
|
||||
type : "post",
|
||||
data : {userType: userType},
|
||||
dataType :"json",
|
||||
success : function(res){
|
||||
alert("apiKey ==> " + res.data)
|
||||
},
|
||||
error : function(){
|
||||
alert("오류입니다.");
|
||||
}
|
||||
});
|
||||
}
|
||||
</script>
|
||||
|
||||
|
|
@ -181,6 +181,11 @@
|
|||
</c:otherwise>
|
||||
</c:choose>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a href="#" onClick="gourl('apiKey')" onFocus="this.blur()" class="nav-link nav-toggle">
|
||||
<span class="title">API 신청</span>
|
||||
</a>
|
||||
</li>
|
||||
|
||||
<c:if test="${isLogin == true}">
|
||||
<c:if test="${cls == 0}">
|
||||
|
|
|
|||
|
|
@ -171,6 +171,9 @@
|
|||
<li class="dropdown">
|
||||
<a class="dropdown-toggle" data-toggle="dropdown" href="#" onClick="gourl('faq')" onFocus="this.blur()">시추정보 FAQ</a>
|
||||
</li>
|
||||
<li class="dropdown">
|
||||
<a class="dropdown-toggle" data-toggle="dropdown" href="#" onClick="gourl('apiKey')" onFocus="this.blur()">API 신청</a>
|
||||
</li>
|
||||
<c:if test="${isLogin == true}">
|
||||
<c:if test="${cls == 0}">
|
||||
<li class="dropdown">
|
||||
|
|
|
|||
|
|
@ -366,6 +366,27 @@
|
|||
<!-- 커뮤니티 > 시추정보 Q&A 끝 -->
|
||||
</c:if>
|
||||
|
||||
<c:if test="${eGovUrl == 'apiKey.do'}">
|
||||
<!-- 커뮤니티 > API 신청 시작 -->
|
||||
<h1 class="page-title">
|
||||
<span class="page-title-text">API 신청</span>
|
||||
<ul class="page-category">
|
||||
<li class="category-item">게시판</li>
|
||||
<li class="category-item">API 신청</li>
|
||||
</ul>
|
||||
</h1>
|
||||
<script>
|
||||
$(document).ready(function(){
|
||||
// 상단메뉴 활성화
|
||||
$(".nav > li.dropdown:eq(6)").addClass("on");
|
||||
// 왼쪽메뉴 활성화
|
||||
$("#community_sub_menu").css("display", "block");
|
||||
$("#community_sub_menu > li.nav-item:eq(4)").addClass("active");
|
||||
});
|
||||
</script>
|
||||
<!-- 커뮤니티 > 시추정보 Q&A 끝 -->
|
||||
</c:if>
|
||||
|
||||
<c:if test="${eGovUrl == 'homeEducationApplicationInquiry.do' || eGovUrl == 'homeEducationApplicationInput.do' }">
|
||||
<!-- 집합교육 신청 시작 -->
|
||||
<h1 class="page-title">
|
||||
|
|
|
|||
|
|
@ -247,7 +247,9 @@ function kendoGrid() {
|
|||
searchUserName: searchUserName,
|
||||
searchCreateName: searchCreateName,
|
||||
// Kendo UI가 전달하는 정렬, 페이징 정보 등을 options.data에서 가져와 추가
|
||||
sort: options.data.sort
|
||||
sort: options.data.sort ,
|
||||
page: options.data.page, // ✅ Kendo가 현재 페이지 전달
|
||||
pageSize: options.data.pageSize, // ✅ Kendo가 현재 페이지 크기 전달
|
||||
},
|
||||
contentType: 'application/json',
|
||||
dataType: "json",
|
||||
|
|
@ -277,7 +279,15 @@ function kendoGrid() {
|
|||
kendoJQuery("#grid_type_1").kendoGrid({
|
||||
dataSource: dataSource,
|
||||
columns: [
|
||||
{ field: "rowNumber", width: 50, title: "순번", template: "<span class='row-number'></span>" },
|
||||
// { field: "rowNumber", width: 50, title: "순번", template: "<span class='row-number'></span>" },
|
||||
{
|
||||
field: "rnk",
|
||||
width: 50,
|
||||
title: "순번",
|
||||
template: function(data) {
|
||||
return data.rnk ? parseInt(data.rnk) : "";
|
||||
}
|
||||
},
|
||||
{
|
||||
field: "projectName",
|
||||
width: "auto",
|
||||
|
|
|
|||
|
|
@ -161,15 +161,34 @@ function reloadGrid() {
|
|||
url: "/getHoleCoordList.do",
|
||||
dataType: "json",
|
||||
type: "POST",
|
||||
data: function() {
|
||||
// data: function() {
|
||||
// var ds = this; // DataSource
|
||||
// return {
|
||||
// startDate: $("#startDate").val(),
|
||||
// endDate: $("#endDate").val(),
|
||||
// searchProjectName: $("#searchProjectName").val(),
|
||||
// searchUserName: $("#searchUserName").val(),
|
||||
// searchCreateName: $("#searchCreateName").val(),
|
||||
// };
|
||||
// }
|
||||
},
|
||||
parameterMap: function(options, operation) {
|
||||
if (operation === "read") {
|
||||
// 정렬 정보 처리 추가
|
||||
var sortField = options.sort && options.sort[0] ? options.sort[0].field : null;
|
||||
var sortDir = options.sort && options.sort[0] ? options.sort[0].dir : null;
|
||||
|
||||
return {
|
||||
startDate: $("#startDate").val(),
|
||||
endDate: $("#endDate").val(),
|
||||
searchProjectName: $("#searchProjectName").val(),
|
||||
searchProjectCode: $("#searchProjectCode").val(),
|
||||
searchUserName: $("#searchUserName").val(),
|
||||
searchHistSeq: $("#searchHistSeq").val(),
|
||||
searchCreateName: $("#searchCreateName").val(),
|
||||
page: 1,
|
||||
pageSize: 10
|
||||
searchState: $("#searchState").val(),
|
||||
page: options.page, // ✅ Kendo가 현재 페이지 전달
|
||||
pageSize: options.pageSize, // ✅ Kendo가 현재 페이지 크기 전달
|
||||
sortField: sortField, // 정렬 필드
|
||||
sortDir: sortDir // 정렬 방향
|
||||
};
|
||||
}
|
||||
}
|
||||
|
|
@ -193,8 +212,15 @@ function reloadGrid() {
|
|||
pageSize: 10
|
||||
},
|
||||
columns: [
|
||||
|
||||
{ field: "rowNumber", width: 50, title: "순번", template: "<span class='row-number'></span>", sortable: false },
|
||||
// { field: "rowNumber", width: 50, title: "순번", template: "<span class='row-number'></span>", sortable: false },
|
||||
{
|
||||
field: "rn",
|
||||
width: 50,
|
||||
title: "순번",
|
||||
template: function(data) {
|
||||
return data.rn ? parseInt(data.rn) : "0";
|
||||
}
|
||||
},
|
||||
{
|
||||
field: "projectName",
|
||||
width: 262,
|
||||
|
|
|
|||
|
|
@ -363,7 +363,25 @@ function reloadGrid() {
|
|||
url: "/getManageList.do",
|
||||
dataType: "json",
|
||||
type: "POST",
|
||||
data: function() {
|
||||
// data: function() {
|
||||
// var ds = this; // DataSource
|
||||
// return {
|
||||
// searchProjectName: $("#searchProjectName").val(),
|
||||
// searchProjectCode: $("#searchProjectCode").val(),
|
||||
// searchUserName: $("#searchUserName").val(),
|
||||
// searchHistSeq: $("#searchHistSeq").val(),
|
||||
// searchCreateName: $("#searchCreateName").val(),
|
||||
// searchState: $("#searchState").val(),
|
||||
// page: ds.page(), // ✅ 현재 페이지
|
||||
// pageSize: ds.pageSize() // ✅ 현재 페이지당 개수
|
||||
// };
|
||||
// }
|
||||
},
|
||||
parameterMap: function(options, operation) {
|
||||
var sortField = options.sort && options.sort[0] ? options.sort[0].field : null;
|
||||
var sortDir = options.sort && options.sort[0] ? options.sort[0].dir : null;
|
||||
|
||||
if (operation === "read") {
|
||||
return {
|
||||
searchProjectName: $("#searchProjectName").val(),
|
||||
searchProjectCode: $("#searchProjectCode").val(),
|
||||
|
|
@ -371,15 +389,45 @@ function reloadGrid() {
|
|||
searchHistSeq: $("#searchHistSeq").val(),
|
||||
searchCreateName: $("#searchCreateName").val(),
|
||||
searchState: $("#searchState").val(),
|
||||
page: 1,
|
||||
pageSize: 10
|
||||
page: options.page, // ✅ Kendo가 현재 페이지 전달
|
||||
pageSize: options.pageSize, // ✅ Kendo가 현재 페이지 크기 전달
|
||||
sortField: sortField, // 정렬 필드
|
||||
sortDir: sortDir // 정렬 방향
|
||||
};
|
||||
}
|
||||
}
|
||||
},
|
||||
schema: {
|
||||
data: "items", // 서버에서 실제 데이터 Array key
|
||||
total: "total" // 서버에서 전체 개수 key
|
||||
total: "total", // 서버에서 전체 개수 key,
|
||||
model: {
|
||||
fields: {
|
||||
rn: { type: "number" }, // 순번
|
||||
classCode: { type: "string" },
|
||||
projectCode: { type: "string" },
|
||||
reportType: { type: "string" },
|
||||
reportTypeName: { type: "string" },
|
||||
projectName: { type: "string" },
|
||||
userid: { type: "string" },
|
||||
userName: { type: "string" },
|
||||
state: { type: "string" },
|
||||
stateName: { type: "string" },
|
||||
checkuserid: { type: "string" },
|
||||
datetime: { type: "string" }, // "YYYY-MM-DD HH:mm:ss" 형식
|
||||
regFinDate: { type: "string" },
|
||||
modifyCallDate: { type: "string" },
|
||||
modifyFinDate: { type: "string" },
|
||||
checkstart: { type: "string" },
|
||||
checkok: { type: "string" },
|
||||
ins: { type: "string" },
|
||||
authins: { type: "string" },
|
||||
map: { type: "string" },
|
||||
modifycall: { type: "string" },
|
||||
cursor: { type: "string" },
|
||||
histSeq: { type: "number" },
|
||||
expertFile: { type: "string" }
|
||||
}
|
||||
}
|
||||
},
|
||||
serverPaging: true,
|
||||
serverSorting: true,
|
||||
|
|
@ -396,7 +444,15 @@ function reloadGrid() {
|
|||
pageSize: 10
|
||||
},
|
||||
columns: [
|
||||
{ field: "rowNumber", width: 50, title: "순번", sortable: false, template: "<span class='row-number'></span>" },
|
||||
// { field: "rowNumber", width: 50, title: "순번", sortable: false, template: "<span class='row-number'></span>" },
|
||||
{
|
||||
field: "rn",
|
||||
width: 50,
|
||||
title: "순번",
|
||||
template: function(data) {
|
||||
return data.rn ? parseInt(data.rn) : "0";
|
||||
}
|
||||
},
|
||||
{
|
||||
field: "projectName",
|
||||
width: "auto",
|
||||
|
|
@ -505,7 +561,7 @@ function reloadGrid() {
|
|||
refresh: false,
|
||||
pageSizes: true,
|
||||
pageSize: 10,
|
||||
//buttonCount: 10,
|
||||
buttonCount: 10,
|
||||
input: true,
|
||||
numeric: false,
|
||||
},
|
||||
|
|
|
|||
|
|
@ -231,12 +231,29 @@ function reloadGrid() {
|
|||
url: "/list_reg_jsondata.do",
|
||||
dataType: "json",
|
||||
type: "POST",
|
||||
data: function() {
|
||||
// data: function() {
|
||||
// var ds = this; // DataSource
|
||||
// return {
|
||||
// searchProjectName: $("#searchProjectName").val(),
|
||||
// searchUserName: $("#searchUserName").val(),
|
||||
// page: ds.page(), // ✅ 현재 페이지
|
||||
// pageSize: ds.pageSize() // ✅ 현재 페이지당 개수
|
||||
// };
|
||||
// }
|
||||
},
|
||||
parameterMap: function(options, operation) {
|
||||
if (operation === "read") {
|
||||
// 정렬 정보 처리 추가
|
||||
var sortField = options.sort && options.sort[0] ? options.sort[0].field : null;
|
||||
var sortDir = options.sort && options.sort[0] ? options.sort[0].dir : null;
|
||||
|
||||
return {
|
||||
searchProjectName: $("#searchProjectName").val(),
|
||||
searchUserName: $("#searchUserName").val(),
|
||||
page: 1,
|
||||
pageSize: 10
|
||||
page: options.page, // ✅ Kendo가 현재 페이지 전달
|
||||
pageSize: options.pageSize, // ✅ Kendo가 현재 페이지 크기 전달
|
||||
sortField: sortField, // 정렬 필드
|
||||
sortDir: sortDir // 정렬 방향
|
||||
};
|
||||
}
|
||||
}
|
||||
|
|
@ -260,7 +277,15 @@ function reloadGrid() {
|
|||
pageSize: 10
|
||||
},
|
||||
columns: [
|
||||
{ field: "rowNumber", width: 50, title: "순번", template: "<span class='row-number'></span>" },
|
||||
// { field: "rowNumber", width: 50, title: "순번", template: "<span class='row-number'></span>" },
|
||||
{
|
||||
field: "rn",
|
||||
width: 50,
|
||||
title: "순번",
|
||||
template: function(data) {
|
||||
return data.rn ? parseInt(data.rn) : "0";
|
||||
}
|
||||
},
|
||||
{
|
||||
field: "projectName",
|
||||
title: "프로젝트명",
|
||||
|
|
|
|||
|
|
@ -191,15 +191,35 @@ function reloadGrid() {
|
|||
url: "/getHoleCoordList.do",
|
||||
dataType: "json",
|
||||
type: "POST",
|
||||
data: function() {
|
||||
// data: function() {
|
||||
// var ds = this; // DataSource
|
||||
// return {
|
||||
// startDate: $("#startDate").val(),
|
||||
// endDate: $("#endDate").val(),
|
||||
// searchProjectName: $("#searchProjectName").val(),
|
||||
// searchUserName: $("#searchUserName").val(),
|
||||
// searchCreateName: $("#searchCreateName").val(),
|
||||
// page: ds.page(), // ✅ 현재 페이지
|
||||
// pageSize: ds.pageSize() // ✅ 현재 페이지당 개수
|
||||
// };
|
||||
// }
|
||||
},
|
||||
parameterMap: function(options, operation) {
|
||||
if (operation === "read") {
|
||||
// 정렬 정보 처리 추가
|
||||
var sortField = options.sort && options.sort[0] ? options.sort[0].field : null;
|
||||
var sortDir = options.sort && options.sort[0] ? options.sort[0].dir : null;
|
||||
|
||||
return {
|
||||
startDate: $("#startDate").val(),
|
||||
endDate: $("#endDate").val(),
|
||||
searchProjectName: $("#searchProjectName").val(),
|
||||
searchUserName: $("#searchUserName").val(),
|
||||
searchCreateName: $("#searchCreateName").val(),
|
||||
page: 1,
|
||||
pageSize: 10
|
||||
page: options.page, // ✅ Kendo가 현재 페이지 전달
|
||||
pageSize: options.pageSize, // ✅ Kendo가 현재 페이지 크기 전달
|
||||
sortField: sortField, // 정렬 필드
|
||||
sortDir: sortDir // 정렬 방향
|
||||
};
|
||||
}
|
||||
}
|
||||
|
|
@ -223,8 +243,15 @@ function reloadGrid() {
|
|||
pageSize: 10
|
||||
},
|
||||
columns: [
|
||||
|
||||
{ field: "rowNumber", width: 50, title: "순번", template: "<span class='row-number'></span>", sortable: false },
|
||||
// { field: "rowNumber", width: 50, title: "순번", template: "<span class='row-number'></span>", sortable: false },
|
||||
{
|
||||
field: "rn",
|
||||
width: 50,
|
||||
title: "순번",
|
||||
template: function(data) {
|
||||
return data.rn ? parseInt(data.rn) : "0";
|
||||
}
|
||||
},
|
||||
{
|
||||
field: "projectName",
|
||||
width: 262,
|
||||
|
|
|
|||
|
|
@ -7395,10 +7395,6 @@ ul.faq-q > li textarea {
|
|||
/* ====================================== */
|
||||
/* ====================================== */
|
||||
/* ====================================== */
|
||||
.k-pager-wrap .k-pager-sizes.k-label {
|
||||
display: none;
|
||||
}
|
||||
|
||||
/* ====================================== */
|
||||
/* ====================================== */
|
||||
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
|
|
@ -5777,7 +5777,7 @@ ul.faq-q > li textarea {
|
|||
// (25.10.22 YJI) kendo-grid pager 숨김 시작
|
||||
/* ====================================== */
|
||||
.k-pager-wrap .k-pager-sizes.k-label {
|
||||
display: none;
|
||||
// display: none;
|
||||
}
|
||||
/* ====================================== */
|
||||
// (25.10.22 YJI) kendo-grid pager 숨김 끝
|
||||
|
|
|
|||
Loading…
Reference in New Issue