관리자 검수 페이지에서 '검수등록완료 목록' 로딩 속도 개선

main
thkim 2024-11-11 10:56:37 +09:00
parent ca837c7ecf
commit ba0969523d
10 changed files with 426 additions and 110 deletions

View File

@ -1,28 +1 @@
src\main\webapp\WEB-INF\views\home\include\top.jsp src\main\resources\egovframework\egovProps\globals.properties
src\main\java\geoinfo\main\main\MainController.java
src\main\java\geoinfo\main\login\LoginController.java
src\main\java\geoinfo\training\home\HomeTrainingController.java
src\main\java\geoinfo\training\home\service\HomeTrainingService.java
src\main\java\geoinfo\training\home\service\impl\HomeTrainingServiceImpl.java
src\main\java\geoinfo\training\home\service\HomeTrainingMapper.java
src\main\resources\egovframework\sqlmap\mapper\training\home\HomeTrainingMapper.xml
src\main\webapp\WEB-INF\views\visitEducationApplication\inquiry\visitEducationApplicationInquiry.jsp
src\main\webapp\WEB-INF\views\visitEducationApplication\input\visitEducationApplicationInput.jsp
src\main\webapp\com\img\visitEducationApplication\visitEducationApplicationSample.svg
src\main\webapp\WEB-INF\views\homeEducationApplication\inquiry\homeEducationApplicationInquiry.jsp
src\main\webapp\WEB-INF\views\homeEducationApplication\input\homeEducationApplicationInput.jsp
src\main\webapp\WEB-INF\views\home\main.jsp
src\main\webapp\WEB-INF\views\home\include\left_menu.jsp
src\main\webapp\com\css\common.v2.0.css
src\main\webapp\WEB-INF\views\home\index.jsp
src\main\webapp\com\img\common\bg\main_info_visual_20240905.png
src\main\webapp\com\img\common\bg\main_info_visual_20240906.png
src\main\webapp\com\fonts\NotoSansKr\NotoSansKR-Regular.woff2
src\main\webapp\com\fonts\NotoSansKr\NotoSansKR-Regular.woff
src\main\webapp\com\fonts\NotoSansKr\NotoSansKR-Regular.otf
src\main\webapp\com\fonts\NotoSansKr\NotoSansKR-Bold.woff2
src\main\webapp\com\fonts\NotoSansKr\NotoSansKR-Bold.woff
src\main\webapp\com\fonts\NotoSansKr\NotoSansKR-Bold.otf
src\main\resources\egovframework\sqlmap\mapper\main\Login_SQL.xml
src\main\resources\egovframework\spring\context-mybatis.xml
src\main\webapp\WEB-INF\views\home\main.jsp

View File

@ -1,13 +1,16 @@
package geoinfo.regi.complete; package geoinfo.regi.complete;
import geoinfo.com.GeoinfoCommon; import geoinfo.com.GeoinfoCommon;
import geoinfo.com.PaginationInfo;
import geoinfo.regi.complete.service.CompleteService; import geoinfo.regi.complete.service.CompleteService;
import geoinfo.util.MyUtil;
import ictway.comm.util.strUtil; import ictway.comm.util.strUtil;
import ictway.comm.web.WebUtil; import ictway.comm.web.WebUtil;
import ictway.session.UserInfoYu; import ictway.session.UserInfoYu;
import java.sql.SQLException; import java.sql.SQLException;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap; import java.util.HashMap;
import javax.annotation.Resource; import javax.annotation.Resource;
@ -15,12 +18,15 @@ import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import org.jfree.util.Log; import org.jfree.util.Log;
import org.json.simple.JSONObject;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Controller; import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap; import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.util.UrlPathHelper; import org.springframework.web.util.UrlPathHelper;
@Controller @Controller
@ -72,66 +78,18 @@ public class CompleteController {
// 지반정보 입력시스템 - 검수등록완료 목록 // 지반정보 입력시스템 - 검수등록완료 목록
@RequestMapping(value = "/manage/complete") @RequestMapping(value = "/manage/complete")
public String complete(@RequestParam HashMap<String, Object> params, ModelMap model, HttpServletRequest request, HttpServletResponse response) throws Exception { public String complete(@RequestParam HashMap<String, Object> params, ModelMap model, HttpServletRequest request, HttpServletResponse response) throws Exception {
// 관리자 아닐 경우 back(); // 관리자 아닐 경우 back();
if (!request.getSession().getAttribute("CLS").equals("9")) { if (!request.getSession().getAttribute("CLS").equals("9")) {
return ""; return "";
} }
strUtil sUtil = new strUtil();
WebUtil wUtil = new WebUtil();
wUtil.topTabId = "manageComplete"; // 검수일때 tab 활성화 시켜주기 위해
String LoginUserId = String.valueOf(request.getSession().getAttribute("USERID"));
// request
//240108 임효주 프로젝트 목록에 검색조건 추가
String srchStartDate = sUtil.checkNull((String)params.get("startDate"));
String srchEndDate = sUtil.checkNull((String)params.get("endDate"));
String srchReportType = sUtil.checkNull((String)params.get("searchReportType"));
String searchProjectName = sUtil.checkNull((String)params.get("searchProjectName"));
String searchProjectCode = sUtil.checkNull((String)params.get("searchProjectCode"));
String searchHistSeq = sUtil.checkNull((String)params.get("searchHistSeq"));
String searchUserName = sUtil.checkNull((String)params.get("searchUserName"));
String searchCreateName = sUtil.checkNull((String)params.get("searchCreateName"));
ArrayList arrayData = new ArrayList();
ArrayList arrayColumn = new ArrayList();
ArrayList arrayCommon = new ArrayList();
HashMap mapCommon = new HashMap();
int count = 0;
// data조회
try { try {
// **************************************공통코드**************************************// String LoginUserId = String.valueOf(request.getSession().getAttribute("USERID"));
String commCode = "CM016";
String commCode02 = "'CM016'";
params.put("commCode", commCode);
// common Array 로 받기
arrayCommon = completeService.selectWebCommCode(params);
// SelectBox형태로 map으로 받기
mapCommon = wUtil.getCommCodeSel(commCode, arrayCommon, "");
params.put("srchReportType", srchReportType);
params.put("searchProjectName", searchProjectName);
params.put("searchProjectCode", searchProjectCode);
params.put("searchHistSeq", searchHistSeq);
params.put("searchUserName", searchUserName);
params.put("searchCreateName", searchCreateName);
/*params.put("LoginUserId", LoginUserId);*/
// data정보
arrayData = completeService.selectCompleteItems(params);
params.put("LoginUserId", LoginUserId); params.put("LoginUserId", LoginUserId);
// column정보
// arrayColumn = wUtil.getColArrayList(rsmd, count);
model.put("arrayCommon", arrayCommon);
model.put("result", arrayData);
model.put("params", params); model.put("params", params);
model.put("result", new ArrayList<Object>());
} catch (SQLException e) { //completeService.getCompleteList(request, response, null, params, model);
Log.debug("error", e);
} catch (NumberFormatException e) { } catch (NumberFormatException e) {
Log.debug("error", e); Log.debug("error", e);
} catch (Exception e) { } catch (Exception e) {
@ -140,4 +98,56 @@ public class CompleteController {
return "web/manage/complete"; return "web/manage/complete";
} }
@RequestMapping(value = "/manage/complete/list.do", method = RequestMethod.GET)
@ResponseBody
public JSONObject getCompleteList(
HttpServletRequest request,
@RequestParam HashMap<String, Object> params,
HttpServletResponse response) {
JSONObject jsonResponse = new JSONObject();
System.out.println(
"\n--------------------------------------------------------------\n" +
request.getRequestURI() + " IN:" +
"\n--------------------------------------------------------------\n" +
"params.toString()" + params.toString() + "\n" +
"\n--------------------------------------------------------------\n"
);
try {
completeService.getCompleteList(request, response, jsonResponse, params, null);
jsonResponse.put("resultCode", 100);
jsonResponse.put("result", "true");
jsonResponse.put("message", "조회가 완료되었습니다.");
} catch (Exception e) {
// TODO Auto-generated catch block
String strTxt =
"---------- BUG REPORTING START ----------" + "\n" +
"에러 문구:[" + request.getRequestURI() + " " + "]" + "\n" +
"e.getMessage():[\n" + e.getMessage() + "\n]\n" + "\n" +
"new Date().toString():[" + new Date().toString() + "]\n" + "\n" +
"---------- BUG REPORTING END ----------" + "\n" +
"";
System.out.println(strTxt);
jsonResponse.put("resultCode", -1);
jsonResponse.put("result", "false");
jsonResponse.put("message", e.getMessage());
}
System.out.println(
"\n--------------------------------------------------------------\n" +
request.getRequestURI() + " OUT:" +
"\n--------------------------------------------------------------\n" +
"jsonResponse.toJSONString():[" + jsonResponse.toJSONString() + "]\n" +
"\n--------------------------------------------------------------\n"
);
return jsonResponse;
}
} }

View File

@ -14,4 +14,6 @@ public interface CompleteMapper {
public ArrayList selectWebCommCode(HashMap<String, Object> params) throws Exception; public ArrayList selectWebCommCode(HashMap<String, Object> params) throws Exception;
public ArrayList selectCompleteItems(HashMap<String, Object> params) throws Exception; public ArrayList selectCompleteItems(HashMap<String, Object> params) throws Exception;
public long selectCompleteItemsCnt(HashMap<String, Object> params) throws Exception;
} }

View File

@ -3,6 +3,12 @@ package geoinfo.regi.complete.service;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.json.simple.JSONObject;
import org.springframework.ui.ModelMap;
public interface CompleteService { public interface CompleteService {
@ -10,5 +16,7 @@ public interface CompleteService {
ArrayList selectCompleteItems(HashMap<String, Object> params) throws Exception; ArrayList selectCompleteItems(HashMap<String, Object> params) throws Exception;
long selectCompleteItemsCnt(HashMap<String, Object> params) throws Exception;
public void getCompleteList(HttpServletRequest request, HttpServletResponse response, JSONObject jsonResponse, HashMap<String, Object> params, ModelMap model) throws Exception;
} }

View File

@ -1,17 +1,30 @@
package geoinfo.regi.complete.service.impl; package geoinfo.regi.complete.service.impl;
import java.sql.SQLException;
import java.sql.Timestamp;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Enumeration;
import java.util.HashMap; import java.util.HashMap;
import egovframework.rte.psl.dataaccess.util.EgovMap; import egovframework.rte.psl.dataaccess.util.EgovMap;
import geoinfo.com.PaginationInfo;
import geoinfo.regi.complete.service.CompleteMapper; import geoinfo.regi.complete.service.CompleteMapper;
import geoinfo.regi.complete.service.CompleteService; import geoinfo.regi.complete.service.CompleteService;
import geoinfo.regi.status.service.RegiPageMapper; import geoinfo.regi.status.service.RegiPageMapper;
import geoinfo.regi.status.service.RegiPageService; import geoinfo.regi.status.service.RegiPageService;
import geoinfo.util.MyUtil;
import ictway.comm.util.strUtil;
import ictway.comm.web.WebUtil;
import oracle.sql.TIMESTAMP;
import javax.annotation.Resource; import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.jfree.util.Log;
import org.json.simple.JSONObject;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.ui.ModelMap;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
@ -36,4 +49,114 @@ public class CompleteServiceImpl implements CompleteService {
return completeMapper.selectCompleteItems(params); return completeMapper.selectCompleteItems(params);
} }
@Override
public long selectCompleteItemsCnt(HashMap<String, Object> params) throws Exception {
return completeMapper.selectCompleteItemsCnt(params);
}
@Override
public void getCompleteList(HttpServletRequest request, HttpServletResponse response, JSONObject jsonResponse, HashMap<String, Object> params, ModelMap model) throws Exception {
// 관리자 아닐 경우 back();
if (!request.getSession().getAttribute("CLS").equals("9")) {
throw new Exception( "로그인이 필요한 서비스 입니다." );
}
strUtil sUtil = new strUtil();
WebUtil wUtil = new WebUtil();
wUtil.topTabId = "manageComplete"; // 검수일때 tab 활성화 시켜주기 위해
String LoginUserId = String.valueOf(request.getSession().getAttribute("USERID"));
// request
//240108 임효주 프로젝트 목록에 검색조건 추가
String srchStartDate = sUtil.checkNull((String)params.get("startDate"));
String srchEndDate = sUtil.checkNull((String)params.get("endDate"));
String srchReportType = sUtil.checkNull((String)params.get("searchReportType"));
String searchProjectName = sUtil.checkNull((String)params.get("searchProjectName"));
String searchProjectCode = sUtil.checkNull((String)params.get("searchProjectCode"));
String searchHistSeq = sUtil.checkNull((String)params.get("searchHistSeq"));
String searchUserName = sUtil.checkNull((String)params.get("searchUserName"));
String searchCreateName = sUtil.checkNull((String)params.get("searchCreateName"));
ArrayList arrayData = new ArrayList();
ArrayList arrayColumn = new ArrayList();
ArrayList arrayCommon = new ArrayList();
HashMap mapCommon = new HashMap();
int count = 0;
// **************************************공통코드**************************************//
String commCode = "CM016";
String commCode02 = "'CM016'";
params.put("commCode", commCode);
// common Array 로 받기
arrayCommon = selectWebCommCode(params);
// SelectBox형태로 map으로 받기
mapCommon = wUtil.getCommCodeSel(commCode, arrayCommon, "");
params.put("srchReportType", srchReportType);
params.put("searchProjectName", searchProjectName);
params.put("searchProjectCode", searchProjectCode);
params.put("searchHistSeq", searchHistSeq);
params.put("searchUserName", searchUserName);
params.put("searchCreateName", searchCreateName);
/*params.put("LoginUserId", LoginUserId);*/
Long pageSize = MyUtil.getLongFromObject( params.get("pageSize") );
if( pageSize == null ) {
pageSize = 10l;
}
PaginationInfo paginationInfo = new PaginationInfo();
paginationInfo.setRecordCountPerPage(10);
paginationInfo.setPageSize(pageSize.intValue());
paginationInfo.setTotalRecordCount( MyUtil.getIntegerFromObject(selectCompleteItemsCnt(params)).intValue() );
if (params.get("pageIndex") == null || params.get("pageIndex").equals("") || Integer.parseInt((String) params.get("pageIndex"))<=0 ) {
paginationInfo.setCurrentPageNo(1);
params.put("pageIndex", 1);
}else if(Integer.parseInt((String)params.get("pageIndex")) > paginationInfo.getLastPageNo()){
paginationInfo.setCurrentPageNo(paginationInfo.getLastPageNo());
params.put("pageIndex", paginationInfo.getLastPageNo());
}else {
paginationInfo.setCurrentPageNo((Integer) Integer.valueOf((String) params.get("pageIndex")));
}
params.put("firstIndex", paginationInfo.getFirstRecordIndex());
params.put("recordCountPerPage", paginationInfo.getRecordCountPerPage());
// data정보
arrayData = selectCompleteItems(params);
params.put("LoginUserId", LoginUserId);
// column정보
// arrayColumn = wUtil.getColArrayList(rsmd, count);
if( model != null ) {
model.put("paginationInfo", paginationInfo);
model.put("arrayCommon", arrayCommon);
//model.put("result", arrayData);
model.put("params", params);
}
if( jsonResponse != null ) {
jsonResponse.put("paginationInfo", paginationInfo);
jsonResponse.put("arrayCommon", arrayCommon);
jsonResponse.put("data", arrayData);
jsonResponse.put("params", params);
/*
jsonResponse.put("take", 1);
jsonResponse.put("skip", 2);
jsonResponse.put("page", 3);
jsonResponse.put("pageSize", 4);
*/
jsonResponse.put("filter", null);
jsonResponse.put("total", paginationInfo.getTotalRecordCount());
}
}
} }

View File

@ -15,25 +15,99 @@
<select id="selectCompleteItems" parameterType="map" resultType="egovMap"> <select id="selectCompleteItems" parameterType="map" resultType="egovMap">
SELECT SELECT
T.CLASS_CODE *
, T.PROJECT_CODE FROM
, T.REPORT_TYPE (
, T.REPORT_TYPE_NAME SELECT
, REPLACE(T.PROJECT_NAME,'"','''') AS PROJECT_NAME T.CLASS_CODE
, T.USERID , T.PROJECT_CODE
, T.USER_NAME , T.REPORT_TYPE
, T.STATE , T.REPORT_TYPE_NAME
, T.STATE_NAME , REPLACE(T.PROJECT_NAME,'"','''') AS PROJECT_NAME
, T.CREATE_NAME , T.USERID
, T.CREATE_USERID , T.USER_NAME
, T.DATETIME , T.STATE
, T.MAP , T.STATE_NAME
, T.INS , T.CREATE_NAME
, T.MODIFYCALL , T.CREATE_USERID
, OB.HIST_SEQ , T.DATETIME
, TO_CHAR(OB.CREATEDATE,'YYYY-MM-DD HH24:MI:SS') AS CREATEDATE , T.MAP
, TO_CHAR(OB.MODIFY_CALL_DATE,'YYYY-MM-DD HH24:MI:SS') AS MODIFYCALLDATE , T.INS
, NVL((SELECT DISTINCT(REPORT_FILE) FROM TEMP_EXPERT_OPINION WHERE PROJECT_CODE = T.PROJECT_CODE),'NO') AS EXPERT_FILE , T.MODIFYCALL
, OB.HIST_SEQ
, TO_CHAR(OB.CREATEDATE,'YYYY-MM-DD HH24:MI:SS') AS CREATEDATE
, TO_CHAR(OB.MODIFY_CALL_DATE,'YYYY-MM-DD HH24:MI:SS') AS MODIFYCALLDATE
, NVL((SELECT DISTINCT(REPORT_FILE) FROM TEMP_EXPERT_OPINION WHERE PROJECT_CODE = T.PROJECT_CODE),'NO') AS EXPERT_FILE
, ROW_NUMBER() OVER(ORDER BY T.DATETIME DESC) AS RNK
FROM
(
SELECT
CLASS_CODE
, PROJECT_CODE
, REPORT_TYPE
, FUNC_COMM_NAME('CM016',REPORT_TYPE ) REPORT_TYPE_NAME
, PROJECT_NAME
, USERID
, (SELECT USER_NAME FROM WEB_MEMBER_IN WHERE USERID = INFO.USERID) AS USER_NAME
, STATE
, FUNC_COMM_NAME('CM001',STATE ) STATE_NAME
, (
SELECT
(SELECT USER_NAME FROM WEB_MEMBER_IN WHERE USERID = M.USERID)
FROM
TEMP_MANAGE_STATE M
WHERE
M.PROJECT_CODE = INFO.PROJECT_CODE
) AS CREATE_NAME
, (SELECT M.USERID FROM TEMP_MANAGE_STATE M WHERE M.PROJECT_CODE = INFO.PROJECT_CODE) AS CREATE_USERID
, TO_CHAR(DATETIME,'YYYY-MM-DD HH24:MI:SS') AS DATETIME
, DECODE(REPORT_TYPE,'CH','map','') AS MAP
, PROJECT_MASTER_COMPANY_O_CODE
, DECODE(STATE,'6','insert') AS INS
, DECODE(STATE,'6','modifycall') AS MODIFYCALL
FROM
TEMP_PROJECT_INFO INFO
WHERE STATE = '6'
) T
, TEMP_MANAGE_STATE OB
WHERE
T.PROJECT_CODE = OB.PROJECT_CODE(+)
<if test="srchReportType != null and srchReportType != '' and srchReportType != 'null'">
AND T.REPORT_TYPE = #{srchReportType}
</if>
<if test="searchProjectName != null and searchProjectName != '' and searchProjectName != 'null'">
AND T.PROJECT_NAME LIKE '%${searchProjectName}%'
</if>
<if test="searchProjectCode != null and searchProjectCode != '' and searchProjectCode != 'null'">
AND T.PROJECT_CODE LIKE '%${searchProjectCode}%'
</if>
<if test="searchUserName != null and searchUserName != '' and searchUserName != 'null'">
AND T.USER_NAME = #{searchUserName}
</if>
<if test="searchCreateName != null and searchCreateName != '' and searchCreateName != 'null'">
AND T.CREATE_NAME = #{searchCreateName}
</if>
<if test="searchHistSeq != null and searchHistSeq != '' and searchHistSeq != 'null'">
AND OB.HIST_SEQ = #{searchHistSeq}
</if>
<if test="LoginUserId != 'admin_user' and LoginUserId != null and LoginUserId != '' ">
AND T.PROJECT_MASTER_COMPANY_O_CODE = (SELECT MASTER_COMPANY_CODE FROM WEB_MEMBER_IN WHERE USERID = #{LoginUserId})
</if>
ORDER BY
T.DATETIME DESC
) A
WHERE
<![CDATA[
A.RNK BETWEEN #{firstIndex} + 1
AND #{firstIndex} + #{recordCountPerPage}
]]>
</select>
<select id="selectCompleteItemsCnt" parameterType="hashmap" resultType="long">
SELECT
COUNT(1)
FROM ( FROM (
SELECT SELECT
CLASS_CODE CLASS_CODE

View File

@ -169,6 +169,7 @@ function onDataBound(e) {
// 순번 // 순번
kendoJQuery(rows).each(function () { kendoJQuery(rows).each(function () {
//var noIndex = kendoJQuery(this).index() + 1 + (grid.dataSource.pageSize() * (grid.dataSource.page() - 1));
var noIndex = kendoJQuery(this).index() + 1 + (grid.dataSource.pageSize() * (grid.dataSource.page() - 1)); var noIndex = kendoJQuery(this).index() + 1 + (grid.dataSource.pageSize() * (grid.dataSource.page() - 1));
var rowLabel = kendoJQuery(this).find(".row-number"); var rowLabel = kendoJQuery(this).find(".row-number");
$(rowLabel).html(noIndex); $(rowLabel).html(noIndex);
@ -176,8 +177,88 @@ function onDataBound(e) {
} }
function kendoGrid() { function kendoGrid() {
var dataSource = new kendo.data.DataSource({
transport: {
read: function(options) {
var grid = kendoJQuery("#grid_type_1").data("kendoGrid");
let currentPage = 1;
if( typeof grid !== 'undefined' ) {
var dataSource = grid.dataSource; // dataSource 객체 가져오기
currentPage = dataSource.page(); // 현재 페이지 번호 가져오기
}
//사업명
let searchProjectName = null;
const searchProjectNameEle = document.getElementById('searchProjectName');
if( searchProjectNameEle ) {
searchProjectName = searchProjectNameEle.value;
}
//사업코드
let searchProjectCode = null;
const searchProjectCodeEle = document.getElementById('searchProjectCode');
if( searchProjectCodeEle ) {
searchProjectCode = searchProjectCodeEle.value;
}
//수정요청차수
let searchHistSeq = null;
const searchHistSeqEle = document.getElementById('searchHistSeq');
if( searchHistSeqEle ) {
searchHistSeq = searchHistSeqEle.value;
}
//공급자
let searchUserName = null;
const searchUserNameEle = document.getElementById('searchUserName');
if( searchUserNameEle ) {
searchUserName = searchUserNameEle.value;
}
//등록자
let searchCreateName = null;
const searchCreateNameEle = document.getElementById('searchCreateName');
if( searchCreateNameEle ) {
searchCreateName = searchCreateNameEle.value;
}
$.ajax({
url: "/manage/complete/list.do?pageIndex=" + currentPage
+ "&" + "searchProjectName=" + searchProjectName
+ "&" + "searchProjectCode=" + searchProjectCode
+ "&" + "searchHistSeq=" + searchHistSeq
+ "&" + "searchUserName=" + searchUserName
+ "&" + "searchCreateName=" + searchCreateName
,
contentType: 'application/json',
dataType: "json",
type: 'GET',
success: function(result) {
options.success(result);
},
error: function(result) {
options.error(result);
}
});
},
},
schema: {
data: function(response) {
return response.data;
},
total: function(response) {
return response.total;
}
},
pageSize: 10,
serverPaging: true
});
kendoJQuery("#grid_type_1").kendoGrid({ kendoJQuery("#grid_type_1").kendoGrid({
dataSource: gridData, dataSource: dataSource,
columns: [ columns: [
{ field: "rowNumber", width: 50, title: "순번", template: "<span class='row-number'></span>" }, { field: "rowNumber", width: 50, title: "순번", template: "<span class='row-number'></span>" },
{ {
@ -196,22 +277,57 @@ function kendoGrid() {
width: 80, width: 80,
title: "공급자", title: "공급자",
template: function(data){ template: function(data){
let userName = data.userName;
if( !data.userName ) {
userName = "";
}
var param = "'"+data.userid+"'"; var param = "'"+data.userid+"'";
var url = "<a href=javascript:fn_ProviderInfoPopupDiv("+ param +",'ProviderInfo');>" + data.userName + "</a>"; var url = "<a href=javascript:fn_ProviderInfoPopupDiv("+ param +",'ProviderInfo');>" + userName + "</a>";
return url; return url;
}, },
}, },
{ field: "datetime", width: 130, title: "입력일시", template: "<div class='td-data'>#: datetime #</div>" }, { field: "datetime", width: 130, title: "입력일시",
{ field: "createdate", width: 130, title: "등록일시", template: "<div class='td-data'>#: createdate #</div>" }, template: function(data){
{ field: "modifycalldate", width: 130, title: "수정요청일시", template: "<div class='td-data'>#: modifycalldate #</div>" }, let datetime = data.datetime;
if( !data.datetime ) {
datetime = "";
}
var url = "<div class='td-data'>" + datetime + "</div>";
return url;
}
},
{ field: "createdate", width: 130, title: "등록일시",
template: function(data){
let createdate = data.createdate;
if( !data.createdate ) {
createdate = "";
}
var url = "<div class='td-data'>" + createdate + "</div>";
return url;
}
},
{ field: "modifycalldate", width: 130, title: "수정요청일시",
template: function(data){
let modifycalldate = data.modifycalldate;
if( !data.modifycalldate ) {
modifycalldate = "";
}
var url = "<div class='td-data'>" + modifycalldate + "</div>";
return url;
}
},
{ field: "stateName", width: 80, title: "공급현황", template: "<div class='td-data'>#: stateName #</div>" }, { field: "stateName", width: 80, title: "공급현황", template: "<div class='td-data'>#: stateName #</div>" },
{ {
field: "createName", field: "createName",
width: 80, width: 80,
title: "등록자", title: "등록자",
template: function(data){ template: function(data){
let createName = data.createName;
if( !data.createName ) {
createName = "";
}
var param = "'"+data.createUserid+"'"; var param = "'"+data.createUserid+"'";
var url = "<a href=javascript:fn_ProviderInfoPopupDiv("+ param +",'ProviderInfo');>" + data.createName + "</a>"; var url = "<a href=javascript:fn_ProviderInfoPopupDiv("+ param +",'ProviderInfo');>" + createName + "</a>";
return url; return url;
}, },
}, },
@ -233,7 +349,16 @@ function kendoGrid() {
등록완료 후 프로젝트 정보 수정 시, TBL_HEADER_HOLE 테이블에서 수정 전 정보가 삭제되지 않아, 검색유통에 이중으로 나오는 문제 있음. --%> 등록완료 후 프로젝트 정보 수정 시, TBL_HEADER_HOLE 테이블에서 수정 전 정보가 삭제되지 않아, 검색유통에 이중으로 나오는 문제 있음. --%>
template: "<div class='td-data'>#= modifycallBtnTemplate(data.projectCode, data.createUserid, data.modifycall) #</div>" template: "<div class='td-data'>#= modifycallBtnTemplate(data.projectCode, data.createUserid, data.modifycall) #</div>"
}, },
{ field: "histSeq", width: 60, title: "차수", template: "<div class='td-data'>#: histSeq #</div>" }, { field: "histSeq", width: 60, title: "차수",
template: function(data){
let histSeq = data.histSeq;
if( !data.histSeq ) {
histSeq = "";
}
var url = "<div class='td-data'>" + histSeq + "</div>";
return url;
}
},
{ {
field: "modifyuser", field: "modifyuser",
width: 80, title: "변경", width: 80, title: "변경",
@ -248,13 +373,13 @@ function kendoGrid() {
pageable: { pageable: {
refresh: false, refresh: false,
pageSizes: true, pageSizes: true,
pageSize: 10, pageSize: 10, // 몇 개의 레코드를 보여줄 것인가?
//buttonCount: 10, //buttonCount: 10,
input: true, input: true,
numeric: false, numeric: false,
}, },
noRecords: { noRecords: {
template: "등록된데이터가 없습니다." template: "등록된 데이터가 없습니다."
}, },
dataBound: onDataBound, dataBound: onDataBound,
}); });
@ -344,6 +469,7 @@ function fn_grid_refresh(){
<!-- 검색영역 시작 --> <!-- 검색영역 시작 -->
<div class="page-top-search" data-target="project-search"> <div class="page-top-search" data-target="project-search">
<form name="frmSearch" id="frmSearch" action="/manage/complete.do" method="post"> <form name="frmSearch" id="frmSearch" action="/manage/complete.do" method="post">
<input id="pageIndex" name="pageIndex" type="hidden" value="1" />
<div class="form-inline row"> <div class="form-inline row">
<!-- 윗줄 --> <!-- 윗줄 -->
<div class="input-group col-md-4 col-xs-4 col-sm-4"> <div class="input-group col-md-4 col-xs-4 col-sm-4">

Binary file not shown.

Binary file not shown.

Binary file not shown.