Compare commits

..

No commits in common. "ba0969523d910a8ed370c948ec17fbed32846b1b" and "b639e65807b17904bec3f4a569cc2d854c3641f1" have entirely different histories.

22 changed files with 277 additions and 521 deletions

BIN
.DS_Store vendored Normal file

Binary file not shown.

View File

@ -1 +1,28 @@
src\main\resources\egovframework\egovProps\globals.properties src\main\webapp\WEB-INF\views\home\include\top.jsp
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

BIN
src/.DS_Store vendored Normal file

Binary file not shown.

BIN
src/main/.DS_Store vendored Normal file

Binary file not shown.

BIN
src/main/java/.DS_Store vendored Normal file

Binary file not shown.

View File

@ -1,16 +1,13 @@
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;
@ -18,15 +15,12 @@ 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
@ -78,18 +72,66 @@ 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>());
//completeService.getCompleteList(request, response, null, params, model); } catch (SQLException e) {
Log.debug("error", e);
} catch (NumberFormatException e) { } catch (NumberFormatException e) {
Log.debug("error", e); Log.debug("error", e);
} catch (Exception e) { } catch (Exception e) {
@ -98,56 +140,4 @@ 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,6 +14,4 @@ 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,12 +3,6 @@ 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 {
@ -16,7 +10,5 @@ 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,30 +1,17 @@
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;
@ -49,114 +36,4 @@ 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

@ -0,0 +1,47 @@
##############################################
################### DB\uad00\ub828 ###################
##############################################
# Oracle
Oracle.Driver=oracle.jdbc.driver.OracleDriver
################################################################
# Oracle.Url=jdbc:oracle:thin:@192.168.0.8:3452:orcl is prod
#Oracle.Url=jdbc:oracle:thin:@192.168.0.8:3452:orcl
# dbnt devlop server
Oracle.Url=jdbc:oracle:thin:@118.219.150.34:1521:ORAGEODEV
# develop local server
#Oracle.Url=jdbc:oracle:thin:@192.168.86.2:1521:xe
# thkim local test
#Oracle.Url=jdbc:oracle:thin:@grok-10.com:1521:ORAGEODEV
################################################################
#Oracle.Url=jdbc:oracle:thin:@192.168.0.29:1521:xe
#Oracle.Url=jdbc:oracle:thin:@192.168.0.71:1521:orcl
#Oracle.Url=jdbc:oracle:thin:@220.121.145.78:7080:xe
#Oracle.Url=jdbc:oracle:thin:@localhost:1521:orcl
#Oracle.Url=jdbc:oracle:thin:@218.232.234.162:1521:ORAGEO
Oracle.ID=geoinfo
Oracle.Password=geoinfo
# thkim local test
#Oracle.Password=dbnt060928!rlaxogh
#Oracle.Password=!!kictgis1234
###############################################
################### \ud30c\uc77c\uad00\ub828 ###################
###############################################
#Geoinfo.FilePath=D:\\Tomcat6\\geoinfoEgov\\webapps\\geoinfo\\files\\
Geoinfo.FilePath=D:\\app_geoinfo\\app\\files\\
#\uac80\uc0c9\uc720\ud1b5 3\ucc28\uc6d0
#Geoinfo.FilePath3D=files\\4dim\\2014\\
Geoinfo.FilePath3D=D:\\app_geoinfo\\app\\files\\4dim\\2014\\
#\uc804\ubb38\uac00\uc758\uacac
Geoinfo.Report=files\\report\\
#\uc785\ub825\uc2dc\uc2a4\ud15c
Geoinfo.WebFilePath=files\\web\\
Globals.FileExtImg=.jpeg,.jpg,.bmp,.tiff,.gif,.png
Globals.FileExtZip=.hwp,.pdf,.zip,.xls,.xlsx,.ppt,.pptx

View File

@ -15,99 +15,25 @@
<select id="selectCompleteItems" parameterType="map" resultType="egovMap"> <select id="selectCompleteItems" parameterType="map" resultType="egovMap">
SELECT SELECT
* T.CLASS_CODE
FROM , T.PROJECT_CODE
( , T.REPORT_TYPE
SELECT , T.REPORT_TYPE_NAME
T.CLASS_CODE , REPLACE(T.PROJECT_NAME,'"','''') AS PROJECT_NAME
, T.PROJECT_CODE , T.USERID
, T.REPORT_TYPE , T.USER_NAME
, T.REPORT_TYPE_NAME , T.STATE
, REPLACE(T.PROJECT_NAME,'"','''') AS PROJECT_NAME , T.STATE_NAME
, T.USERID , T.CREATE_NAME
, T.USER_NAME , T.CREATE_USERID
, T.STATE , T.DATETIME
, T.STATE_NAME , T.MAP
, T.CREATE_NAME , T.INS
, T.CREATE_USERID , T.MODIFYCALL
, T.DATETIME , OB.HIST_SEQ
, T.MAP , TO_CHAR(OB.CREATEDATE,'YYYY-MM-DD HH24:MI:SS') AS CREATEDATE
, T.INS , TO_CHAR(OB.MODIFY_CALL_DATE,'YYYY-MM-DD HH24:MI:SS') AS MODIFYCALLDATE
, T.MODIFYCALL , NVL((SELECT DISTINCT(REPORT_FILE) FROM TEMP_EXPERT_OPINION WHERE PROJECT_CODE = T.PROJECT_CODE),'NO') AS EXPERT_FILE
, 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

BIN
src/main/webapp/.DS_Store vendored Normal file

Binary file not shown.

BIN
src/main/webapp/WEB-INF/.DS_Store vendored Normal file

Binary file not shown.

View File

@ -0,0 +1,46 @@
# Report Server Connection Config
# conntype : jdbc, jndi
# jdbc type : SQL_Server, MySQL, Oracle, Tibero, DB2, Sybase, UserCustom
# version SQL_Server 2000, 2005, 2008, 2012
dataconnection.count=3
dataconnection1.conntype=jdbc
dataconnection1.type=Oracle
dataconnection1.dbname=oracle1
dataconnection1.version=
#dataconnection1.url=jdbc:oracle:thin:@192.168.0.71:1521:orcl
#dataconnection1.url=jdbc:oracle:thin:@192.168.0.29:1521:xe
#dataconnection1.url=jdbc:oracle:thin:@192.168.0.8:1521:orcl
################################################################
# \uc544\ub798\ub294 \uac74\uae30\uc5f0 \uc6b4\uc601\uc11c\ubc84
# dataconnection1.url=jdbc:oracle:thin:@192.168.0.8:3452:orcl
#dataconnection1.url=jdbc:oracle:thin:@192.168.0.8:3452:orcl
# \uc544\ub798\ub294 \ub514\ube44\uc5d4\ud14d \uac1c\ubc1c\uc11c\ubc84
dataconnection1.url=jdbc:oracle:thin:@118.219.150.34:1521:orageodev
# \uc544\ub798\ub294 \ub514\ube44\uc5d4\ud14d \ub85c\uceec\uc11c\ubc84
#dataconnection1.url=jdbc:oracle:thin:@127.0.0.1:1521:ORAGEODEV
# thkim local test
#dataconnection1.url=jdbc:oracle:thin:@grok-10.com:1521:ORAGEODEV
################################################################
dataconnection1.user=geoinfo
dataconnection1.password=geoinfo
#dataconnection1.password=dbnt060928!rlaxogh
dataconnection1.encoding=
dataconnection2.conntype=jdbc
dataconnection2.type=UserCustom
dataconnection2.dbname=usercustom1
dataconnection2.version=
dataconnection2.driver=cubrid.jdbc.driver.CUBRIDDriver
dataconnection2.url=
dataconnection2.user=
dataconnection2.password=
dataconnection2.encoding=
dataconnection3.conntype=jndi
dataconnection3.dbname=dbname
dataconnection3.jndiname=jndiname
dataconnection3.encoding=

BIN
src/main/webapp/WEB-INF/views/.DS_Store vendored Normal file

Binary file not shown.

View File

@ -2,7 +2,6 @@
<%@ page language="java" import="Kisinfo.Check.IPINClient"%> <%@ page language="java" import="Kisinfo.Check.IPINClient"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%> <%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
<script type="text/javascript"> <script type="text/javascript">
let xhr; let xhr;
@ -34,52 +33,6 @@
return year + '-' + month + '-' + day + '(' + dayOfWeek + ')'; return year + '-' + month + '-' + day + '(' + dayOfWeek + ')';
} }
function formatUnixTimestamp(unixTimestamp) {
const date = new Date(unixTimestamp);
const year = date.getFullYear();
const month = date.getMonth() + 1; // getMonth()는 0부터 시작하므로 1을 더합니다.
const day = date.getDate();
let hours = date.getHours();
const minutes = date.getMinutes();
let ampm = "오전";
if (hours >= 12) {
ampm = "오후";
hours = hours - 12;
}
if (hours === 0) {
hours = 12; // 자정은 12시로 표시
}
return year+"년 " + month +"월 " + day + "일 " + ampm + " " + hours + "시";
}
function unixTimestampToFormattedDateTime(unixTimestamp) {
const date = new Date(unixTimestamp);
const year = date.getFullYear();
const month = ('0' + (date.getMonth() + 1)).slice(-2); // 월은 0부터 시작하므로 1을 더하고, 두 자리로 만들기 위해 0을 앞에 붙인 후 마지막 두 자리만 취함
const day = ('0' + date.getDate()).slice(-2); // 일도 두 자리로 만들기 위해 0을 앞에 붙인 후 마지막 두 자리만 취함
const daysOfWeek = ['일', '월', '화', '수', '목', '금', '토'];
const dayOfWeek = daysOfWeek[date.getDay()];
let hours = date.getHours();
const minutes = date.getMinutes();
let ampm = "오전";
if (hours >= 12) {
ampm = "오후";
hours = hours - 12;
}
if (hours === 0) {
hours = 12; // 자정은 12시로 표시
}
return year+"년 " + month +"월 " + day + "일 " + '(' + dayOfWeek + ') ' + ampm + " " + hours + "시";
}
function setDisplayEle(EleId, display) { function setDisplayEle(EleId, display) {
var myEle = document.getElementById(EleId); var myEle = document.getElementById(EleId);
if (myEle) { if (myEle) {
@ -115,41 +68,7 @@
} }
let dataRegistryCompanyName = e.getAttribute('data-registry-company-name');
if (dataRegistryCompanyName) {
var companyNameEle = document.getElementById('company-name');
if (companyNameEle) {
companyNameEle.value = dataRegistryCompanyName;
}
}
let dataRegistryReqDept = e.getAttribute('data-registry-req-dept');
if (dataRegistryReqDept) {
var reqDeptEle = document.getElementById('req-dept');
if (reqDeptEle) {
reqDeptEle.value = dataRegistryReqDept;
}
}
let dataRegistryReqName = e.getAttribute('data-registry-req-name');
if (dataRegistryReqName) {
var reqNameEle = document.getElementById('req-name');
if (reqNameEle) {
reqNameEle.value = dataRegistryReqName;
}
}
let dataRegistryReqTel = e.getAttribute('data-registry-req-tel');
if (dataRegistryReqTel) {
var reqTelEle = document.getElementById('req-tel');
if (reqTelEle) {
reqTelEle.value = dataRegistryReqTel;
}
}
let dataRegistryReqEmail = e.getAttribute('data-registry-req-email');
if (dataRegistryReqEmail) {
var reqEmailEle = document.getElementById('req-email');
if (reqEmailEle) {
reqEmailEle.value = dataRegistryReqEmail;
}
}
let dataRegistryReqPosition = e.getAttribute('data-registry-req-position'); let dataRegistryReqPosition = e.getAttribute('data-registry-req-position');
if (dataRegistryReqPosition) { if (dataRegistryReqPosition) {
var reqPositionEle = document.getElementById('req-position'); var reqPositionEle = document.getElementById('req-position');
@ -157,6 +76,15 @@
reqPositionEle.value = dataRegistryReqPosition; reqPositionEle.value = dataRegistryReqPosition;
} }
} }
/*
item.put("registryCompanyName
item.put("registryReqDept
item.put("registryReqName
item.put("registryReqTel
item.put("registryReqEmail
*/
var whtRegIdEle = document.getElementById('wht-reg-id'); var whtRegIdEle = document.getElementById('wht-reg-id');
if (whtRegIdEle) { if (whtRegIdEle) {
@ -177,13 +105,7 @@
return '<button type="button" class="deadline-button" disabled="disabled" data-seq="' + item.whtRegId + '">예정</button>'; return '<button type="button" class="deadline-button" disabled="disabled" data-seq="' + item.whtRegId + '">예정</button>';
} else if( item.stateCode === 'T' ) { } else if( item.stateCode === 'T' ) {
// 이미 신청이 완료된 교육 // 이미 신청이 완료된 교육
return '<a href="#request-button" class="approved-button open-popup-link" data-seq="' + item.whtRegId + '" data-mode="modification" onClick="onClickOpenPopupLink(this)" data-registry-crt-dt="' + item.registryCrtDt + return '<a href="#request-button" class="approved-button open-popup-link" data-seq="' + item.whtRegId + '" data-mode="modification" onClick="onClickOpenPopupLink(this)" data-registry-crt-dt="' + item.registryCrtDt + '" data-registry-req-position="' + item.registryReqPosition + '">수정</a>';
'" data-registry-company-name="' + item.registryCompanyName +
'" data-registry-req-dept="' + item.registryReqDept +
'" data-registry-req-name="' + item.registryReqName +
'" data-registry-req-tel="' + item.registryReqTel +
'" data-registry-req-email="' + item.registryReqEmail +
'" data-registry-req-position="' + item.registryReqPosition + '">수정</a>';
} else if( item.stateCode === 'D' ) { } else if( item.stateCode === 'D' ) {
// 삭제된 교육 // 삭제된 교육
return '<button type="button" class="deadline-button" disabled="disabled" data-seq="' + item.whtRegId + '">불가</button>'; return '<button type="button" class="deadline-button" disabled="disabled" data-seq="' + item.whtRegId + '">불가</button>';
@ -203,7 +125,6 @@
const homeVisitListEle = document.getElementById('home-visit-list'); const homeVisitListEle = document.getElementById('home-visit-list');
let homeVisitListHTML = ''; let homeVisitListHTML = '';
let validCnt = 0;
for( idx in data ) { for( idx in data ) {
if( data[idx].stateCode === 'D' ) { if( data[idx].stateCode === 'D' ) {
@ -212,17 +133,16 @@
homeVisitListHTML += homeVisitListHTML +=
` `
<tr> <tr>
<td>` + (validCnt+1) + `</td> <td>` + data[idx].whtRegId + `</td>
<td>` + data[idx].trainingName + `</td> <td>` + data[idx].trainingName + `</td>
<td>` + unixTimestampToFormattedDateTime(data[idx].trainingDatetime) + `</td> <td>` + unixTimestampToFormattedDate(data[idx].trainingDatetime) + `</td>
<td>` + data[idx].trainingLocation + `</td> <td>` + data[idx].trainingLocation + `</td>
<td>` + unixTimestampToFormattedDate(data[idx].regStartDate) + `~` + unixTimestampToFormattedDate(data[idx].regEndDate) + `</td> <td>` + unixTimestampToFormattedDate(data[idx].regStartDate) + `~` + unixTimestampToFormattedDate(data[idx].regEndDate) + `</td>
<td>` + getButtonHTML(data[idx]) + `</td> <td>` + getButtonHTML(data[idx]) + `</td>
</tr> </tr>
`; `;
validCnt ++;
} }
if( validCnt === 0 ) { if( data.length === 0 ) {
homeVisitListHTML = homeVisitListHTML =
` `
<tr> <tr>
@ -486,7 +406,7 @@
} }
document.addEventListener('DOMContentLoaded', function () { document.addEventListener('DOMContentLoaded', function () {
init(); init();
}); });
@ -518,8 +438,67 @@
</thead> </thead>
<tbody id="home-visit-list"> <tbody id="home-visit-list">
</tbody> </tbody>
<!--
<tr>
<td>3</td>
<td>24 제2차 국토지반정보 집합교육</td>
<td>2024-10-23(수) 14:00</td>
<td>한국건설기술연구원</td>
<td>2024-09-23(월) ~ 2024-10-18(금)</td>
<td><button type="button" class="edit-button">수정</button></td>
</tr>
<tr>
<td>2</td>
<td>24 제2차 국토지반정보 집합교육</td>
<td>2024-10-23(수) 14:00</td>
<td>한국건설기술연구원</td>
<td>2024-09-23(월) ~ 2024-10-18(금)</td>
<td><button type="button" class="request-button">신청</button></td>
</tr>
<tr>
<td>1</td>
<td>24 제2차 국토지반정보 집합교육</td>
<td>2024-10-23(수) 14:00</td>
<td>한국건설기술연구원</td>
<td>2024-09-23(월) ~ 2024-10-18(금)</td>
<td><button type="button" class="deadline-button" disabled="disabled">마감</button></td>
</tr>
-->
</table> </table>
</div> </div>
<!--
<div>
<table>
<tr>
<th>순번</th>
<th>교육 일시</th>
<th>위치</th>
<th>신청</th>
</tr>
<tr>
<td>1</td>
<td>2024-09-15 10:00 ~ 12:00</td>
<td>대전광역시청 3층 대강당</td>
<td>
<div class="form-group">
<button type="button" class="btn btn-primary" onClick="gourl('homeEducationApplicationInput')">신청 하기</button>
</div>
</td>
</tr>
<tr>
<td>2</td>
<td>2024-09-20 13:00 ~ 17:00</td>
<td>일산서구청 4층 대강당</td>
<td>
<div class="form-group">
<button type="button" class="btn btn-primary" onClick="gourl('homeEducationApplicationInput')">신청 하기</button>
</div>
</td>
</tr>
</table>
</div>
-->
</div> </div>
<!-- 그리드 끝 --> <!-- 그리드 끝 -->

Binary file not shown.

Binary file not shown.

View File

@ -169,96 +169,15 @@ 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);
}); });
} }
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: dataSource, dataSource: gridData,
columns: [ columns: [
{ field: "rowNumber", width: 50, title: "순번", template: "<span class='row-number'></span>" }, { field: "rowNumber", width: 50, title: "순번", template: "<span class='row-number'></span>" },
{ {
@ -277,57 +196,22 @@ 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');>" + userName + "</a>"; var url = "<a href=javascript:fn_ProviderInfoPopupDiv("+ param +",'ProviderInfo');>" + data.userName + "</a>";
return url; return url;
}, },
}, },
{ field: "datetime", width: 130, title: "입력일시", { field: "datetime", width: 130, title: "입력일시", template: "<div class='td-data'>#: datetime #</div>" },
template: function(data){ { field: "createdate", width: 130, title: "등록일시", template: "<div class='td-data'>#: createdate #</div>" },
let datetime = data.datetime; { field: "modifycalldate", width: 130, title: "수정요청일시", template: "<div class='td-data'>#: modifycalldate #</div>" },
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');>" + createName + "</a>"; var url = "<a href=javascript:fn_ProviderInfoPopupDiv("+ param +",'ProviderInfo');>" + data.createName + "</a>";
return url; return url;
}, },
}, },
@ -349,16 +233,7 @@ 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: "차수", { field: "histSeq", width: 60, title: "차수", template: "<div class='td-data'>#: histSeq #</div>" },
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: "변경",
@ -373,13 +248,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,
}); });
@ -469,7 +344,6 @@ 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.