33 Commits

Author SHA1 Message Date
dca7c687c8 Merge pull request '날짜표기수정' (#26) from feature/counting into master
All checks were successful
Main-Build / build-and-push (push) Successful in 26s
Reviewed-on: #26
Reviewed-by: saydev <gomdobi@sayinfo.co.kr>
2026-01-08 00:38:44 +00:00
revlis44
d0b75f6d83 날짜표기수정
All checks were successful
PR-CI / build-test (pull_request) Successful in 16s
2026-01-08 09:37:48 +09:00
9b35c0e445 Merge pull request 'css' (#25) from feature/counting into master
All checks were successful
Main-Build / build-and-push (push) Successful in 26s
Reviewed-on: #25
Reviewed-by: saydev <gomdobi@sayinfo.co.kr>
2026-01-07 23:45:53 +00:00
revlis44
d797aae068 css
All checks were successful
PR-CI / build-test (pull_request) Successful in 16s
2026-01-08 08:45:13 +09:00
5ca0ea9c92 Merge pull request 'css cash refresh' (#24) from feature/counting into master
All checks were successful
Main-Build / build-and-push (push) Successful in 27s
Reviewed-on: #24
Reviewed-by: saydev <gomdobi@sayinfo.co.kr>
2026-01-06 02:40:37 +00:00
revlis44
e546b17ff5 css cash refresh
All checks were successful
PR-CI / build-test (pull_request) Successful in 17s
2026-01-06 11:40:06 +09:00
441754d72c Merge pull request '처리 현황 집계 기준을 지난 한달간으로 변경하고 막대그래프 제목 아래에 연간요청현황 추가' (#23) from feature/counting into master
All checks were successful
Main-Build / build-and-push (push) Successful in 29s
Reviewed-on: #23
Reviewed-by: saydev <gomdobi@sayinfo.co.kr>
2026-01-06 02:31:17 +00:00
revlis44
baf73eb534 처리 현황 집계 기준을 지난 한달간으로 변경하고 막대그래프 제목 아래에 연간요청현황 추가
All checks were successful
PR-CI / build-test (pull_request) Successful in 19s
처리 현황이 업데이트 되면 즉시 집계에 반영되도록 변경
2026-01-06 11:28:51 +09:00
b652e9f9cc 작성일 시:분:초 표시 하도록 추가
All checks were successful
Main-Build / build-and-push (push) Successful in 32s
2025-12-11 16:01:12 +09:00
778747ba7e maven-cache 스토리지 방식 변경 (RWO > RWX)
All checks were successful
Main-Build / build-and-push (push) Successful in 44s
2025-12-11 15:57:04 +09:00
baccdcdf5f 날짜 형식 변환
All checks were successful
Main-Build / build-and-push (push) Successful in 1m2s
2025-12-11 15:41:03 +09:00
a396981ebb 날짜처리 에러 부분 수정
All checks were successful
Main-Build / build-and-push (push) Successful in 40s
2025-12-11 15:17:40 +09:00
179fd7d95c JSTL fmt:formatDate 이 LocalDateTime 처리 불가하기 때문에 재처리 기능 추가
All checks were successful
Main-Build / build-and-push (push) Successful in 42s
2025-12-11 13:40:17 +09:00
78b5561e7a mysql 8.4.7 로 원복
All checks were successful
Main-Build / build-and-push (push) Successful in 32s
소스 수정으로 localdatetime 문제 해결 진행
2025-12-11 12:03:29 +09:00
031a7fad81 mysql 8.4.7 테스트 - 1
All checks were successful
Main-Build / build-and-push (push) Successful in 29s
2025-12-11 11:12:08 +09:00
49b7f0b984 구 개발디비로 테스트 변경
All checks were successful
Main-Build / build-and-push (push) Successful in 26s
2025-12-11 10:58:08 +09:00
680bbce797 mysql connector 버전에 따른 localdatetime 포맷 문제 발생으로 구버전 라이브러리로 복원 - 2
All checks were successful
Main-Build / build-and-push (push) Successful in 26s
2025-12-11 10:42:30 +09:00
8a54aee412 mysql connector 버전에 따른 localdatetime 포맷 문제 발생으로 구버전 라이브러리로 복원
All checks were successful
Main-Build / build-and-push (push) Successful in 31s
2025-12-11 10:40:18 +09:00
049fe4ee29 mysql 8.4.7 로 변경 테스트 - 4
All checks were successful
Main-Build / build-and-push (push) Successful in 35s
2025-12-11 10:23:03 +09:00
000e3145bd mysql 8.4.7 로 변경 테스트 - 3
All checks were successful
Main-Build / build-and-push (push) Successful in 27s
2025-12-11 09:44:58 +09:00
862c73bd38 mysql 8.4.7 로 변경 테스트 - 2
All checks were successful
Main-Build / build-and-push (push) Successful in 26s
2025-12-11 09:37:28 +09:00
2f7fcc5081 mysql 8.4.7 로 변경 테스트
All checks were successful
Main-Build / build-and-push (push) Successful in 27s
2025-12-11 09:32:54 +09:00
a7cfad592b Merge pull request 'stage 추가' (#22) from feature/add-stage into master
All checks were successful
Main-Build / build-and-push (push) Successful in 28s
Reviewed-on: #22
Reviewed-by: saydev <gomdobi@sayinfo.co.kr>
2025-12-10 07:49:37 +00:00
revlis44
ff5959076f stage 추가
All checks were successful
PR-CI / build-test (pull_request) Successful in 17s
2025-12-10 16:48:51 +09:00
51847f834f Merge pull request 'stage 추가' (#21) from feature/add-stage into master
All checks were successful
Main-Build / build-and-push (push) Successful in 36s
Reviewed-on: #21
Reviewed-by: saydev <gomdobi@sayinfo.co.kr>
2025-12-10 07:02:52 +00:00
revlis44
433d47b80b stage 추가
All checks were successful
PR-CI / build-test (pull_request) Successful in 21s
2025-12-10 16:02:13 +09:00
85b7ba26d5 Merge pull request 'stage 버전 추가' (#20) from feature/add-stage into master
All checks were successful
Main-Build / build-and-push (push) Successful in 37s
Reviewed-on: #20
Reviewed-by: saydev <gomdobi@sayinfo.co.kr>
2025-12-10 06:54:07 +00:00
revlis44
dffebf63ae stage 버전 추가
All checks were successful
PR-CI / build-test (pull_request) Successful in 17s
2025-12-10 15:53:19 +09:00
495a4df169 필요 없는 확인 작업 제거
All checks were successful
Main-Build / build-and-push (push) Successful in 27s
2025-12-10 13:46:57 +09:00
bdfe760a88 크롤링 차단
All checks were successful
Main-Build / build-and-push (push) Successful in 27s
2025-12-10 13:40:36 +09:00
858a9e18cb Helpdesk dev, prod 배포환경 분리
All checks were successful
Main-Build / build-and-push (push) Successful in 1m17s
2025-12-10 13:27:49 +09:00
bc58f8629e Merge pull request 'feature/git-action5' (#19) from feature/git-action5 into master
All checks were successful
Main-Build / build-and-push (push) Successful in 59s
Reviewed-on: #19
Reviewed-by: saydev <gomdobi@sayinfo.co.kr>
2025-12-09 04:31:29 +00:00
ef4d58dfad Merge pull request 'feature/git-action5' (#18) from feature/git-action5 into master
Some checks failed
Main-Build / build-and-push (push) Failing after 19s
Reviewed-on: #18
Reviewed-by: saydev <gomdobi@sayinfo.co.kr>
2025-12-09 03:09:55 +00:00
25 changed files with 924 additions and 140 deletions

View File

@@ -10,11 +10,15 @@ RUN apk add --no-cache curl && \
# 2단계: Tomcat 이미지 (Java 8 기준)
FROM tomcat:9.0-jdk8-temurin
# 빌드 시 주입할 OTEL 관련 인자
ARG OTEL_ENV=prod
ARG OTEL_SERVICE_NAME=sayit-helpdesk
ENV TZ=Asia/Seoul \
OTEL_SERVICE_NAME=helpdesk_service \
OTEL_SERVICE_NAME=${OTEL_SERVICE_NAME} \
OTEL_EXPORTER_OTLP_ENDPOINT=http://192.168.100.203:4317 \
OTEL_EXPORTER_OTLP_PROTOCOL=grpc \
OTEL_RESOURCE_ATTRIBUTES="deployment.environment=prod" \
OTEL_RESOURCE_ATTRIBUTES="deployment.environment=${OTEL_ENV}" \
JAVA_TOOL_OPTIONS="\
-Xms1g \
-Xmx1g \

64
Jenkinsfile vendored
View File

@@ -1,10 +1,11 @@
// Jenkinsfile — Kaniko build + K8s deploy (빌드번호 태그 사용)
def L = 'kaniko-and-deploy'
def REG = 'harbor.sayinfo.co.kr'
def IMAGE = 'sayit-helpdesk/helpdesk-service' // Harbor 프로젝트/레포 이름
def APP_NS = 'sayit-helpdesk' // 실제 K8s 네임스페이스
def DEPLOY = 'sayit-helpdesk-service' // 실제 Deployment 이름
def IMAGE_TAG = "${env.BUILD_NUMBER}"
// Jenkinsfile — Kaniko build + K8s deploy
// - dev/stage/prod 잡 분리 전제
// - TARGET_ENV 는 Jenkins Job 설정에서 환경변수로 고정 (dev / prod / stage)
def L = 'kaniko-and-deploy'
def REG = 'harbor.sayinfo.co.kr'
def IMAGE = 'sayit-helpdesk/helpdesk-service'
def DEPLOY = 'sayit-helpdesk-service'
podTemplate(
label: L,
@@ -66,38 +67,62 @@ spec:
emptyDir: {}
- name: maven-cache
persistentVolumeClaim:
claimName: maven-repo-pvc
claimName: maven-repo-pvc-rwx
"""
) {
node(L) {
// Jenkins Job 설정에서 TARGET_ENV 를 dev / prod / stage로 고정해서 넘김
// (없으면 기본 dev로 간주)
def TARGET_ENV = env.TARGET_ENV ?: 'dev'
def MVN_PROFILE = (TARGET_ENV == 'dev') ? 'dev' : (TARGET_ENV == 'stage') ? 'stage' : 'prod'
def APP_NS = (TARGET_ENV == 'dev') ? 'sayit-helpdesk-dev' : (TARGET_ENV == 'stage') ? 'sayit-helpdesk-stage' : 'sayit-helpdesk'
def OTEL_ENV = (TARGET_ENV == 'dev') ? 'dev' : (TARGET_ENV == 'stage') ? 'stage' : 'prod'
def OTEL_SERVICE_NAME = (TARGET_ENV == 'dev') ? 'sayit-helpdesk-dev' : (TARGET_ENV == 'stage') ? 'sayit-helpdesk-stage' : 'sayit-helpdesk'
def IMAGE_TAG = "${TARGET_ENV}-${env.BUILD_NUMBER}" // dev-123 / stage-123 / prod-123
def LATEST_TAG = "latest-${TARGET_ENV}" // latest-dev / latest-stage / latest-prod
timestamps {
stage("Info") {
echo "TARGET_ENV = ${TARGET_ENV}"
echo "MVN_PROFILE = ${MVN_PROFILE}"
echo "APP_NS = ${APP_NS}"
echo "OTEL_ENV = ${OTEL_ENV}"
echo "OTEL_SERVICE_NAME = ${OTEL_SERVICE_NAME}"
echo "IMAGE_TAG = ${IMAGE_TAG}"
echo "LATEST_TAG = ${LATEST_TAG}"
}
stage('Checkout') {
checkout scm
}
stage('Maven Build') {
stage("Maven Build (${MVN_PROFILE})") {
container('maven') {
sh '''
sh """
set -eux
cd "${WORKSPACE}"
mvn -B -q -e -T 1C -s .mvn/settings.xml clean package -DskipTests
'''
cd "\${WORKSPACE}"
mvn -B -q -e -T 1C -s .mvn/settings.xml clean package -DskipTests -P${MVN_PROFILE}
"""
}
}
stage('Preflight (Kaniko)') {
container('kaniko') {
sh '''
sh """
set -eux
cd "${WORKSPACE}"
cd "\${WORKSPACE}"
test -f /kaniko/.docker/config.json
nslookup harbor.sayinfo.co.kr || true
grep harbor /etc/hosts || true
'''
"""
}
}
stage('Build & Push (Kaniko)') {
stage("Build & Push (Kaniko, tag=${IMAGE_TAG}, latest=${LATEST_TAG})") {
container('kaniko') {
sh """
set -eux
@@ -106,6 +131,9 @@ spec:
--context=. \\
--dockerfile=Dockerfile \\
--destination=${REG}/${IMAGE}:${IMAGE_TAG} \\
--destination=${REG}/${IMAGE}:${LATEST_TAG} \\
--build-arg OTEL_ENV=${OTEL_ENV} \\
--build-arg OTEL_SERVICE_NAME=${OTEL_SERVICE_NAME} \\
--snapshot-mode=redo \\
--skip-tls-verify \\
--cache=true \\
@@ -114,7 +142,7 @@ spec:
}
}
stage('Deploy to Kubernetes') {
stage("Deploy to Kubernetes (${APP_NS})") {
container('kubectl') {
sh """
set -eux

131
pom.xml
View File

@@ -229,16 +229,28 @@
<!-- </dependency>-->
<!-- Database -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.31</version>
</dependency>
<!-- mysql 5.X -->
<!-- <dependency>-->
<!-- <groupId>mysql</groupId>-->
<!-- <artifactId>mysql-connector-java</artifactId>-->
<!-- <version>5.1.31</version>-->
<!-- </dependency>-->
<dependency>
<groupId>commons-dbcp</groupId>
<artifactId>commons-dbcp</artifactId>
<version>1.4</version>
</dependency>
<!-- mysql 8.4.7 -->
<dependency>
<groupId>com.mysql</groupId>
<artifactId>mysql-connector-j</artifactId>
<version>9.5.0</version>
</dependency>
<dependency>
<groupId>commons-pool</groupId>
<artifactId>commons-pool</artifactId>
<version>1.6</version>
</dependency>
<!-- Logging (Log4j 2 + SLF4J) -->
<!-- <dependency>
@@ -532,17 +544,17 @@
<!-- </dependency>-->
<!-- &lt;!&ndash; Add other system jars similarly if compilation fails &ndash;&gt;-->
<dependency>
<groupId>com.tmax.tibero</groupId>
<artifactId>tibero-jdbc</artifactId>
<version>5.0</version>
</dependency>
<!-- <dependency>-->
<!-- <groupId>com.tmax.tibero</groupId>-->
<!-- <artifactId>tibero-jdbc</artifactId>-->
<!-- <version>5.0</version>-->
<!-- </dependency>-->
<dependency>
<groupId>oracle</groupId>
<artifactId>ojdbc14</artifactId>
<version>10.2.0.4.0</version>
</dependency>
<!-- <dependency>-->
<!-- <groupId>oracle</groupId>-->
<!-- <artifactId>ojdbc14</artifactId>-->
<!-- <version>10.2.0.4.0</version>-->
<!-- </dependency>-->
<dependency>
<groupId>com.acube</groupId>
@@ -700,4 +712,93 @@
</plugin>
</plugins>
</build>
<profiles>
<profile>
<id>dev</id>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<version>3.1.0</version>
<executions>
<execution>
<phase>process-resources</phase>
<configuration>
<target>
<copy
file="${basedir}/src/main/resources/egovframework/egovProps/globals-dev.properties"
tofile="${project.build.outputDirectory}/egovframework/egovProps/globals.properties"
overwrite="true"/>
</target>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>stage</id>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<version>3.1.0</version>
<executions>
<execution>
<phase>process-resources</phase>
<configuration>
<target>
<copy
file="${basedir}/src/main/resources/egovframework/egovProps/globals-stage.properties"
tofile="${project.build.outputDirectory}/egovframework/egovProps/globals.properties"
overwrite="true"/>
</target>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>prod</id>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<version>3.1.0</version>
<executions>
<execution>
<phase>process-resources</phase>
<configuration>
<target>
<copy
file="${basedir}/src/main/resources/egovframework/egovProps/globals-prod.properties"
tofile="${project.build.outputDirectory}/egovframework/egovProps/globals.properties"
overwrite="true"/>
</target>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
</profiles>
</project>

View File

@@ -46,6 +46,10 @@ extends EgovComAbstractDAO {
return (Integer)this.select("dmsHdbDAO.selectDmsHdbListTotCnt_S", (Object)searchVO);
}
public List selectDmsHdbStat(DmsHdbDefaultVO searchVO) throws Exception {
return this.list("dmsHdbDAO.selectDmsHdbStat_D", (Object)searchVO);
}
public List selectDmsHdbReplyList(DmsHdbDefaultVO searchVO) {
return this.list("dmsHdbDAO.selectDmsHdbReplyList_D", (Object)searchVO);
}
@@ -70,8 +74,10 @@ extends EgovComAbstractDAO {
return (List<DmsHdbGraphVO>) this.list("dmsHdbDAO.selectDmsHdbPerYearChart", (Object)searchVO);
}
public DmsHdbGraphVO selectDmsHdbForMonthChart(DmsHdbDefaultVO searchVO) {
return (DmsHdbGraphVO)this.select("dmsHdbDAO.selectDmsHdbForMonthChart", (Object)searchVO);
}
/*
* public DmsHdbGraphVO selectDmsHdbForMonthChart(DmsHdbDefaultVO searchVO) {
* return (DmsHdbGraphVO)this.select("dmsHdbDAO.selectDmsHdbForMonthChart",
* (Object)searchVO); }
*/
}

View File

@@ -32,6 +32,8 @@ public interface DmsHdbService {
public int selectDmsHdbListTotCnt(DmsHdbDefaultVO var1);
public List selectDmsHdbStat(DmsHdbDefaultVO var1) throws Exception;
public String checkFileWhiteList(MultipartHttpServletRequest var1, String var2, String var3) throws Exception;
public List selectDmsHdbReplyList(DmsHdbDefaultVO var1);
@@ -46,6 +48,6 @@ public interface DmsHdbService {
public List<DmsHdbGraphVO> selectDmsHdbPerYearChart(DmsHdbDefaultVO var1);
public DmsHdbGraphVO selectDmsHdbForMonthChart(DmsHdbDefaultVO var1);
/* public DmsHdbGraphVO selectDmsHdbForMonthChart(DmsHdbDefaultVO var1); */
}

View File

@@ -20,7 +20,10 @@ import egovframework.dms.prj.vo.DmsPrjDefaultVO;
import egovframework.edosi.egov.helper.UserDetailsHelper;
import egovframework.rte.fdl.idgnr.EgovIdGnrService;
import egovframework.rte.fdl.security.userdetails.util.EgovUserDetailsHelper;
import egovframework.rte.psl.dataaccess.util.EgovMap;
import java.text.SimpleDateFormat;
import java.time.format.DateTimeFormatter;
import java.util.Date;
import java.util.Iterator;
import java.util.List;
@@ -128,14 +131,34 @@ public class DmsHdbServiceImpl implements DmsHdbService {
return resultVO;
}
public List selectDmsHdbList(DmsHdbDefaultVO searchVO) throws Exception {
return this.dmsHdbDAO.selectDmsHdbList(searchVO);
@SuppressWarnings("unchecked")
public List<EgovMap> selectDmsHdbList(DmsHdbDefaultVO searchVO) throws Exception {
List<EgovMap> list = this.dmsHdbDAO.selectDmsHdbList(searchVO);
for (EgovMap map : list) {
Object createDateObj = map.get("createDate");
if (createDateObj != null) {
// ISO 문자열: 2025-11-11T11:44:43
String createDateStr = createDateObj.toString();
// T → 공백 치환
map.put("createDate", createDateStr.replace('T', ' '));
}
}
return list;
}
public int selectDmsHdbListTotCnt(DmsHdbDefaultVO searchVO) {
return this.dmsHdbDAO.selectDmsHdbListTotCnt(searchVO);
}
public List selectDmsHdbStat(DmsHdbDefaultVO searchVO) throws Exception {
return this.dmsHdbDAO.selectDmsHdbStat(searchVO);
}
public String addMultiFiles(MultipartHttpServletRequest multiRequest, String targetNm) throws Exception {
multiRequest.setCharacterEncoding("utf-8");
Map<String, MultipartFile> files = multiRequest.getFileMap();
@@ -301,7 +324,8 @@ public class DmsHdbServiceImpl implements DmsHdbService {
return this.dmsHdbDAO.selectDmsHdbPerYearChart(searchVO);
}
public DmsHdbGraphVO selectDmsHdbForMonthChart(DmsHdbDefaultVO searchVO) {
return this.dmsHdbDAO.selectDmsHdbForMonthChart(searchVO);
}
/*
* public DmsHdbGraphVO selectDmsHdbForMonthChart(DmsHdbDefaultVO searchVO) {
* return this.dmsHdbDAO.selectDmsHdbForMonthChart(searchVO); }
*/
}

View File

@@ -46,6 +46,7 @@ import egovframework.edosi.egov.helper.UserDetailsHelper;
import egovframework.edosi.filter.XssFilter;
import egovframework.edosi.resource.EdosiResource;
import egovframework.rte.fdl.property.EgovPropertyService;
import egovframework.rte.psl.dataaccess.util.EgovMap;
import egovframework.rte.ptl.mvc.tags.ui.pagination.PaginationInfo;
import java.util.HashMap;
import java.util.Iterator;
@@ -86,9 +87,6 @@ public class DmsHdbController {
String prjSeq = request.getParameter("prjSeq");
Map<String, Object> prjInfo = (Map<String, Object>) request.getSession().getAttribute("prjInfo");
String prjNm = prjInfo == null ? null : (String) prjInfo.get("prjNm");
String hdbStsA = prjInfo == null ? null : (String) prjInfo.get("hdbStsA");
String hdbStsB = prjInfo == null ? null : (String) prjInfo.get("hdbStsB");
String hdbStsC = prjInfo == null ? null : (String) prjInfo.get("hdbStsC");
if (moveDetail != null || prjSeq != null) {
request.getSession().setAttribute("prjSeq", (Object)prjSeq);
@@ -114,9 +112,6 @@ public class DmsHdbController {
model.addAttribute("ROLE_CUS", (Object)UserDetailsHelper.isRole((String)"ROLE_CUS"));
model.addAttribute("ROLE_EMP", (Object)UserDetailsHelper.isRole((String)"ROLE_EMP"));
model.addAttribute("prjNm", prjNm);
model.addAttribute("hdbStsA", hdbStsA);
model.addAttribute("hdbStsB", hdbStsB);
model.addAttribute("hdbStsC", hdbStsC);
this.initModelData(model, bmode);
return viewName;
}
@@ -159,6 +154,12 @@ public class DmsHdbController {
if (totCnt > 0) {
List dmsHdbList = this.dmsHdbService.selectDmsHdbList(searchVO);
model.addAttribute("resultList", (Object)dmsHdbList);
List dmsHdbStatList = this.dmsHdbService.selectDmsHdbStat(searchVO);
EgovMap dmsHdbStat = null;
if (dmsHdbStatList != null && !dmsHdbStatList.isEmpty()) {
dmsHdbStat = (EgovMap) dmsHdbStatList.get(0);
}
model.addAttribute("dmsHdbStat", (Object)dmsHdbStat);
}
}
catch (Exception e) {
@@ -170,8 +171,11 @@ public class DmsHdbController {
List<DmsHdbGraphVO> annualList = dmsHdbService.selectDmsHdbPerYearChart(searchVO);
model.addAttribute("annualList", annualList);
DmsHdbGraphVO monthlyList = dmsHdbService.selectDmsHdbForMonthChart(searchVO);
model.addAttribute("monthlyList", monthlyList);
/*
* DmsHdbGraphVO monthlyList =
* dmsHdbService.selectDmsHdbForMonthChart(searchVO);
* model.addAttribute("monthlyList", monthlyList);
*/
// model.addAttribute("year", year);
return "dms/dmsHdb/DmsHdbList";

View File

@@ -51,9 +51,6 @@ public class TemplateController {
HashMap<String, String> prjInfo = new HashMap<String, String>();
prjInfo.put("prjSeq", prjSeq);
prjInfo.put("prjNm", dmsPrjVO.getPrjNm());
prjInfo.put("hdbStsA", request.getParameter("hdbStsA"));
prjInfo.put("hdbStsB", request.getParameter("hdbStsB"));
prjInfo.put("hdbStsC", request.getParameter("hdbStsC"));
request.getSession().setAttribute("prjInfo", prjInfo);
}
}

View File

@@ -0,0 +1,154 @@
#-----------------------------------------------------------------------
#
# globals.properties : \uC2DC\uC2A4\uD15C
#
#-----------------------------------------------------------------------
# 1. key = value \uAD6C\uC870\uC785\uB2C8\uB2E4.
# 2. key\uAC12\uC740 \uACF5\uBC31\uBB38\uC790\uB97C \uD3EC\uD568\uBD88\uAC00, value\uAC12\uC740 \uACF5\uBC31\uBB38\uC790\uB97C \uAC00\uB2A5
# 3. key\uAC12\uC73C\uB85C \uD55C\uAE00\uC744 \uC0AC\uC6A9\uBD88\uAC00, value\uAC12\uC740 \uD55C\uAE00\uC0AC\uC6A9\uC774 \uAC00\uB2A5
# 4. \uC904\uC744 \uBC14\uAFC0 \uD544\uC694\uAC00 \uC788\uC73C\uBA74 '\'\uB97C \uB77C\uC778\uC758 \uB05D\uC5D0 \uCD94\uAC00(\uB9CC\uC57D '\'\uBB38\uC790\uB97C \uC0AC\uC6A9\uD574\uC57C \uD558\uB294 \uACBD\uC6B0\uB294 '\\'\uB97C \uC0AC\uC6A9)
# 5. Windows\uC5D0\uC11C\uC758 \uB514\uB809\uD1A0\uB9AC \uD45C\uC2DC : '\\' or '/' ('\' \uC0AC\uC6A9\uD558\uBA74 \uC548\uB428)
# 6. Unix\uC5D0\uC11C\uC758 \uB514\uB809\uD1A0\uB9AC \uD45C\uC2DC : '/'
# 7. \uC8FC\uC11D\uBB38 \uCC98\uB9AC\uB294 #\uC0AC\uC6A9
# 8. value\uAC12 \uB4A4\uC5D0 \uC2A4\uD398\uC774\uC2A4\uAC00 \uC874\uC7AC\uD558\uB294 \uACBD\uC6B0 \uC11C\uBE14\uB9BF\uC5D0\uC11C \uCC38\uC870\uD560\uB54C\uB294 \uC5D0\uB7EC\uBC1C\uC0DD\uD560 \uC218 \uC788\uC73C\uBBC0\uB85C trim()\uD558\uAC70\uB098 \uB9C8\uC9C0\uB9C9 \uACF5\uBC31\uC5C6\uC774 properties \uAC12\uC744 \uC124\uC815\uD560\uAC83
#-----------------------------------------------------------------------
# \uC6B4\uC601\uC11C\uBC84 \uD0C0\uC785(WINDOWS, UNIX)
Globals.OsType =UNIX
# DB\uC11C\uBC84 \uD0C0\uC785(ORACLE, MYSQL) - datasource \uBC0F sqlMap \uD30C\uC77C \uC9C0\uC815\uC5D0 \uC0AC\uC6A9\uB428
#Globals.DbType =oracle
Globals.DbType =mysql
# \uC704\uC800\uB4DC \uC0AC\uC6A9\uC2DC \uB370\uC774\uD130\uBCA0\uC774\uC2A4 \uAD00\uB828 \uC124\uC815\uC744 \uBD88\uB7EC\uC634
#Globals.DriverClassName=oracle.jdbc.OracleDriver
#Globals.Url=jdbc:oracle:thin:@122.199.152.76:1521:oradev
#Globals.UserName =say_cms
#Globals.Password =sksrhdqnffkr
## \uC138\uC774\uD5EC\uD504\uB370\uC2A4\uD06C
# mysql 5.X
#Globals.DriverClassName=com.mysql.jdbc.Driver
# mysql 8.4.7
Globals.DriverClassName=com.mysql.cj.jdbc.Driver
#\uC6B4\uC601
#Globals.Url=jdbc:mysql://192.168.0.217:3306/helpdesk_db?characterEncoding=utf8
#\uAC1C\uBC1C
## mysql 5.X
#Globals.Url=jdbc:mysql://192.168.0.114:13316/helpdesk_db?characterEncoding=utf8
## mysql 8.4.7
Globals.Url=jdbc:mysql://192.168.0.114:13316/helpdesk_db?characterEncoding=utf8
Globals.UserName =helpdesk
Globals.Password =helpdesk
# MainPage Setting
Globals.MainPage =/EgovContent.do
#\uD1B5\uD569\uBA54\uC778\uBA54\uB274
#Globals.MainPage = /sym/mnu/mpm/EgovMainMenuHome.do
SMS.DriverClassName=com.mysql.jdbc.Driver
SMS.Url=jdbc:mysql://122.199.152.77:3306/edosi?characterEncoding=utf8
SMS.UserName=edosi
SMS.Password=!dlehtl#
SMS.callback=07041152667
SMS.ddd=
SMS.guk=
Globals.Version=1.0
Globals.OrgKey=
Globals.OrgNm=\uC138\uC774\uC815\uBCF4\uAE30\uC220
Globals.OrgCode=8188
#Globals.AccessIp=10
Globals.SiteTitle=\uC138\uC774\uC815\uBCF4\uAE30\uC220 Help-desk (\uAC1C\uBC1C)
#Globals.MobileStartPage=/mobile/intro.do
Globals.MobileStartPage=/login.do
PushUrl=http://www.sejong.go.kr/sotong
#PushUrl=http://122.199.152.176:8080/sotong
fileLogUseYn=N
fileLogPath=/webapps/
MENU.PRJ = \uD504\uB85C\uC81D\uD2B8\uAD00\uB9AC
MENU.USER = \uD68C\uC6D0\uAD00\uB9AC
MENU.HDB = \uC694\uCCAD\uC791\uC5C5\uAD00\uB9AC
MENU.DTB = \uC790\uB8CC\uC2E4
MENU.MYPAGE = \uB9C8\uC774\uD398\uC774\uC9C0
MENU.BOARD.STT = \uAC8C\uC2DC\uD310\uC774\uC6A9\uD604\uD669
# \uD658\uACBD\uD30C\uC77C \uC704\uCE58
Globals.ShellFilePath =globals.properties
Globals.ServerConfPath =conf/server.properties
Globals.ClientConfPath =conf/client.properties
Globals.FileFormatPath =conf/format.properties
Globals.GPKIConfPath =conf/gpki.properties
Globals.ConfPath =conf
Globals.MailRequestPath =mail/request/
Globals.MailRResponsePath =mail/response/
Globals.SMEConfigPath =conf/SMEConfig.properties
# WINDOWS\uC6A9 \uC258\uD30C\uC77C \uC815\uBCF4
SHELL.WINDOWS.getHostName =prg/sh_001.bat
SHELL.WINDOWS.getDrctryByOwner =prg/getDrctryByOwner.bat
SHELL.WINDOWS.getDrctryOwner =prg/getDrctryOwner.bat
SHELL.WINDOWS.moveDrctry =prg/moveDrctry.bat
SHELL.WINDOWS.compileSchema =prg/compileSchema.bat
SHELL.WINDOWS.getDiskAttrb =prg/getDiskAttrb.bat
SHELL.WINDOWS.getDiskCpcty =prg/getDiskCpcty.bat
SHELL.WINDOWS.getDiskExst =prg/getDiskExst.bat
# UNIX\uC6A9 \uC258\uD30C\uC77C \uC815\uBCF4 - \uAC1C\uBC1Cwas jeus\uC5D0\uC11C \uC0AC\uC6A9\uD560\uB54C \uAE30\uC900
SHELL.UNIX.getHostName =prg/sh_001.sh
SHELL.UNIX.getDrctryByOwner =prg/getDrctryByOwner.sh
SHELL.UNIX.getDrctryOwner =prg/getDrctryOwner.sh
SHELL.UNIX.getDrctryAccess =prg/getDrctryAccess.sh
SHELL.UNIX.getMountLc =prg/getMountLc.sh
SHELL.UNIX.getDiskName =prg/getNetWorkInfo.sh
SHELL.UNIX.moveDrctry =prg/moveDrctry.sh
SHELL.UNIX.compileSchema =prg/compileSchema.sh
SHELL.UNIX.getDiskAttrb =prg/getDiskAttrb.sh
SHELL.UNIX.getDiskCpcty =prg/getDiskCpcty.sh
SHELL.UNIX.getDiskExst =prg/getDiskExst.sh
SHELL.UNIX.getProcInfo =prg/getProcInfo.sh
# LINUX\uC6A9 \uC258\uD30C\uC77C \uC815\uBCF4
# \uC5F0\uACC4
# \uAE30\uAD00\uCF54\uB4DC\uC218\uC2E0\uC6A9(\uACBD\uB85C \uC124\uC815\uC740 \uBC18\uB4DC\uC2DC \uC808\uB300\uACBD\uB85C\uB97C \uC0AC\uC6A9\uD574\uC57C\uD568.)
CNTC.INSTTCODE.DIR.rcv =D:/tmp/test/rcv/
CNTC.INSTTCODE.DIR.rcvold =D:/tmp/test/rcvold/
CNTC.INSTTCODE.DIR.bin =D:/tmp/test/bin/
CNTC.INSTTCODE.CMD.edircv =gcc_edircv.bat
CNTC.INSTTCODE.CMD.edircvmsg =gcc_edircvmsg.bat
CNTC.INSTTCODE.INFO.userid =USERID
CNTC.INSTTCODE.INFO.userpw =******
# \uD30C\uC77C \uC5C5\uB85C\uB4DC \uACBD\uB85C(\uACBD\uB85C \uC124\uC815\uC740 \uBC18\uB4DC\uC2DC \uC808\uB300\uACBD\uB85C\uB97C \uC0AC\uC6A9\uD574\uC57C\uD568, \uACBD\uB85C \uB4A4\uC5D0 /\uB97C \uBD99\uC5EC \uC8FC\uC5B4\uC57C\uD568.)
#Globals.fileStorePath =/webapps/upload/
Globals.fileStorePath =/webapps/proj/help_desk/upload/
# \uD30C\uC77C \uB3D9\uAE30\uD654 \uCEF4\uD3EC\uB10C\uD2B8\uC5D0\uC11C \uC0AC\uC6A9\uD560 \uD30C\uC77C \uC5C5\uB85C\uB4DC \uACBD\uB85C(\uACBD\uB85C \uC124\uC815\uC740 \uBC18\uB4DC\uC2DC \uC808\uB300\uACBD\uB85C\uB97C \uC0AC\uC6A9\uD574\uC57C\uD568, \uACBD\uB85C \uB4A4\uC5D0 /\uB97C \uBD99\uC5EC \uC8FC\uC5B4\uC57C\uD568.)
Globals.SynchrnServerPath =C:/egovframework/upload/Synch/
# for JFile properties
system.uploadpath =C:/egovframework/upload/
no.image.url =/resources/jfile/swfupload/images/no_img.gif
ftp.server.ip =127.0.0.1
ftp.user.id =test
ftp.user.password =test
# Social(Facebook, Oauth \uCEF4\uD3EC\uB10C\uD2B8 \uC0AC\uC6A9\uC2DC \uD65C\uC6A9)
facebook.appId =
facebook.appSecret =
twitter.consumerKey =
twitter.consumerSecret =
#LDAP\uC870\uC9C1\uB3C4\uAD00\uB9AC \uCEF4\uD3EC\uB10C\uD2B8 \uC0AC\uC6A9\uC2DC LDAP\uC11C\uBC84\uC124\uC815\uC815\uBCF4 \uD544\uC694
ldap.url =ldap://localhost:10389
ldap.rootDn =c=kr
ldap.username =uid=admin,ou=system
ldap.password =secret

View File

@@ -0,0 +1,152 @@
#-----------------------------------------------------------------------
#
# globals.properties : \uC2DC\uC2A4\uD15C
#
#-----------------------------------------------------------------------
# 1. key = value \uAD6C\uC870\uC785\uB2C8\uB2E4.
# 2. key\uAC12\uC740 \uACF5\uBC31\uBB38\uC790\uB97C \uD3EC\uD568\uBD88\uAC00, value\uAC12\uC740 \uACF5\uBC31\uBB38\uC790\uB97C \uAC00\uB2A5
# 3. key\uAC12\uC73C\uB85C \uD55C\uAE00\uC744 \uC0AC\uC6A9\uBD88\uAC00, value\uAC12\uC740 \uD55C\uAE00\uC0AC\uC6A9\uC774 \uAC00\uB2A5
# 4. \uC904\uC744 \uBC14\uAFC0 \uD544\uC694\uAC00 \uC788\uC73C\uBA74 '\'\uB97C \uB77C\uC778\uC758 \uB05D\uC5D0 \uCD94\uAC00(\uB9CC\uC57D '\'\uBB38\uC790\uB97C \uC0AC\uC6A9\uD574\uC57C \uD558\uB294 \uACBD\uC6B0\uB294 '\\'\uB97C \uC0AC\uC6A9)
# 5. Windows\uC5D0\uC11C\uC758 \uB514\uB809\uD1A0\uB9AC \uD45C\uC2DC : '\\' or '/' ('\' \uC0AC\uC6A9\uD558\uBA74 \uC548\uB428)
# 6. Unix\uC5D0\uC11C\uC758 \uB514\uB809\uD1A0\uB9AC \uD45C\uC2DC : '/'
# 7. \uC8FC\uC11D\uBB38 \uCC98\uB9AC\uB294 #\uC0AC\uC6A9
# 8. value\uAC12 \uB4A4\uC5D0 \uC2A4\uD398\uC774\uC2A4\uAC00 \uC874\uC7AC\uD558\uB294 \uACBD\uC6B0 \uC11C\uBE14\uB9BF\uC5D0\uC11C \uCC38\uC870\uD560\uB54C\uB294 \uC5D0\uB7EC\uBC1C\uC0DD\uD560 \uC218 \uC788\uC73C\uBBC0\uB85C trim()\uD558\uAC70\uB098 \uB9C8\uC9C0\uB9C9 \uACF5\uBC31\uC5C6\uC774 properties \uAC12\uC744 \uC124\uC815\uD560\uAC83
#-----------------------------------------------------------------------
# \uC6B4\uC601\uC11C\uBC84 \uD0C0\uC785(WINDOWS, UNIX)
Globals.OsType =UNIX
# DB\uC11C\uBC84 \uD0C0\uC785(ORACLE, MYSQL) - datasource \uBC0F sqlMap \uD30C\uC77C \uC9C0\uC815\uC5D0 \uC0AC\uC6A9\uB428
#Globals.DbType =oracle
Globals.DbType =mysql
# \uC704\uC800\uB4DC \uC0AC\uC6A9\uC2DC \uB370\uC774\uD130\uBCA0\uC774\uC2A4 \uAD00\uB828 \uC124\uC815\uC744 \uBD88\uB7EC\uC634
#Globals.DriverClassName=oracle.jdbc.OracleDriver
#Globals.Url=jdbc:oracle:thin:@122.199.152.76:1521:oradev
#Globals.UserName =say_cms
#Globals.Password =sksrhdqnffkr
## \uC138\uC774\uD5EC\uD504\uB370\uC2A4\uD06C
Globals.DriverClassName=com.mysql.jdbc.Driver
#\uC6B4\uC601
Globals.Url=jdbc:mysql://192.168.0.217:3306/helpdesk_db?characterEncoding=utf8
#\uAC1C\uBC1C
#Globals.Url=jdbc:mysql://192.168.0.114:13314/helpdesk_db?characterEncoding=utf8
Globals.UserName =helpdesk
Globals.Password =helpdesk
# MainPage Setting
Globals.MainPage =/EgovContent.do
#\uD1B5\uD569\uBA54\uC778\uBA54\uB274
#Globals.MainPage = /sym/mnu/mpm/EgovMainMenuHome.do
#SMS.DriverClassName=com.mysql.jdbc.Driver
#SMS.Url=jdbc:mysql://122.199.152.77:3306/edosi?characterEncoding=utf8
#SMS.UserName=edosi
#SMS.Password=!dlehtl#
SMS.DriverClassName=
SMS.Url=
SMS.UserName=
SMS.Password=
SMS.callback=
SMS.ddd=
SMS.guk=
Globals.Version=1.0
Globals.OrgKey=
Globals.OrgNm=\uC138\uC774\uC815\uBCF4\uAE30\uC220
Globals.OrgCode=8188
#Globals.AccessIp=10
Globals.SiteTitle=\uC138\uC774\uC815\uBCF4\uAE30\uC220 Help-desk
#Globals.MobileStartPage=/mobile/intro.do
Globals.MobileStartPage=/login.do
#PushUrl=http://www.sejong.go.kr/sotong
#PushUrl=http://122.199.152.176:8080/sotong
PushUrl=
fileLogUseYn=N
fileLogPath=/webapps/
MENU.PRJ = \uD504\uB85C\uC81D\uD2B8\uAD00\uB9AC
MENU.USER = \uD68C\uC6D0\uAD00\uB9AC
MENU.HDB = \uC694\uCCAD\uC791\uC5C5\uAD00\uB9AC
MENU.DTB = \uC790\uB8CC\uC2E4
MENU.MYPAGE = \uB9C8\uC774\uD398\uC774\uC9C0
MENU.BOARD.STT = \uAC8C\uC2DC\uD310\uC774\uC6A9\uD604\uD669
# \uD658\uACBD\uD30C\uC77C \uC704\uCE58
Globals.ShellFilePath =globals.properties
Globals.ServerConfPath =conf/server.properties
Globals.ClientConfPath =conf/client.properties
Globals.FileFormatPath =conf/format.properties
Globals.GPKIConfPath =conf/gpki.properties
Globals.ConfPath =conf
Globals.MailRequestPath =mail/request/
Globals.MailRResponsePath =mail/response/
Globals.SMEConfigPath =conf/SMEConfig.properties
# WINDOWS\uC6A9 \uC258\uD30C\uC77C \uC815\uBCF4
SHELL.WINDOWS.getHostName =prg/sh_001.bat
SHELL.WINDOWS.getDrctryByOwner =prg/getDrctryByOwner.bat
SHELL.WINDOWS.getDrctryOwner =prg/getDrctryOwner.bat
SHELL.WINDOWS.moveDrctry =prg/moveDrctry.bat
SHELL.WINDOWS.compileSchema =prg/compileSchema.bat
SHELL.WINDOWS.getDiskAttrb =prg/getDiskAttrb.bat
SHELL.WINDOWS.getDiskCpcty =prg/getDiskCpcty.bat
SHELL.WINDOWS.getDiskExst =prg/getDiskExst.bat
# UNIX\uC6A9 \uC258\uD30C\uC77C \uC815\uBCF4 - \uAC1C\uBC1Cwas jeus\uC5D0\uC11C \uC0AC\uC6A9\uD560\uB54C \uAE30\uC900
SHELL.UNIX.getHostName =prg/sh_001.sh
SHELL.UNIX.getDrctryByOwner =prg/getDrctryByOwner.sh
SHELL.UNIX.getDrctryOwner =prg/getDrctryOwner.sh
SHELL.UNIX.getDrctryAccess =prg/getDrctryAccess.sh
SHELL.UNIX.getMountLc =prg/getMountLc.sh
SHELL.UNIX.getDiskName =prg/getNetWorkInfo.sh
SHELL.UNIX.moveDrctry =prg/moveDrctry.sh
SHELL.UNIX.compileSchema =prg/compileSchema.sh
SHELL.UNIX.getDiskAttrb =prg/getDiskAttrb.sh
SHELL.UNIX.getDiskCpcty =prg/getDiskCpcty.sh
SHELL.UNIX.getDiskExst =prg/getDiskExst.sh
SHELL.UNIX.getProcInfo =prg/getProcInfo.sh
# LINUX\uC6A9 \uC258\uD30C\uC77C \uC815\uBCF4
# \uC5F0\uACC4
# \uAE30\uAD00\uCF54\uB4DC\uC218\uC2E0\uC6A9(\uACBD\uB85C \uC124\uC815\uC740 \uBC18\uB4DC\uC2DC \uC808\uB300\uACBD\uB85C\uB97C \uC0AC\uC6A9\uD574\uC57C\uD568.)
CNTC.INSTTCODE.DIR.rcv =D:/tmp/test/rcv/
CNTC.INSTTCODE.DIR.rcvold =D:/tmp/test/rcvold/
CNTC.INSTTCODE.DIR.bin =D:/tmp/test/bin/
CNTC.INSTTCODE.CMD.edircv =gcc_edircv.bat
CNTC.INSTTCODE.CMD.edircvmsg =gcc_edircvmsg.bat
CNTC.INSTTCODE.INFO.userid =USERID
CNTC.INSTTCODE.INFO.userpw =******
# \uD30C\uC77C \uC5C5\uB85C\uB4DC \uACBD\uB85C(\uACBD\uB85C \uC124\uC815\uC740 \uBC18\uB4DC\uC2DC \uC808\uB300\uACBD\uB85C\uB97C \uC0AC\uC6A9\uD574\uC57C\uD568, \uACBD\uB85C \uB4A4\uC5D0 /\uB97C \uBD99\uC5EC \uC8FC\uC5B4\uC57C\uD568.)
#Globals.fileStorePath =/webapps/upload/
Globals.fileStorePath =/webapps/proj/help_desk/upload/
# \uD30C\uC77C \uB3D9\uAE30\uD654 \uCEF4\uD3EC\uB10C\uD2B8\uC5D0\uC11C \uC0AC\uC6A9\uD560 \uD30C\uC77C \uC5C5\uB85C\uB4DC \uACBD\uB85C(\uACBD\uB85C \uC124\uC815\uC740 \uBC18\uB4DC\uC2DC \uC808\uB300\uACBD\uB85C\uB97C \uC0AC\uC6A9\uD574\uC57C\uD568, \uACBD\uB85C \uB4A4\uC5D0 /\uB97C \uBD99\uC5EC \uC8FC\uC5B4\uC57C\uD568.)
Globals.SynchrnServerPath =C:/egovframework/upload/Synch/
# for JFile properties
system.uploadpath =C:/egovframework/upload/
no.image.url =/resources/jfile/swfupload/images/no_img.gif
ftp.server.ip =127.0.0.1
ftp.user.id =test
ftp.user.password =test
# Social(Facebook, Oauth \uCEF4\uD3EC\uB10C\uD2B8 \uC0AC\uC6A9\uC2DC \uD65C\uC6A9)
facebook.appId =
facebook.appSecret =
twitter.consumerKey =
twitter.consumerSecret =
#LDAP\uC870\uC9C1\uB3C4\uAD00\uB9AC \uCEF4\uD3EC\uB10C\uD2B8 \uC0AC\uC6A9\uC2DC LDAP\uC11C\uBC84\uC124\uC815\uC815\uBCF4 \uD544\uC694
ldap.url =ldap://localhost:10389
ldap.rootDn =c=kr
ldap.username =uid=admin,ou=system
ldap.password =secret

View File

@@ -0,0 +1,147 @@
#-----------------------------------------------------------------------
#
# globals.properties : \uc2dc\uc2a4\ud15c
#
#-----------------------------------------------------------------------
# 1. key = value \uad6c\uc870\uc785\ub2c8\ub2e4.
# 2. key\uac12\uc740 \uacf5\ubc31\ubb38\uc790\ub97c \ud3ec\ud568\ubd88\uac00, value\uac12\uc740 \uacf5\ubc31\ubb38\uc790\ub97c \uac00\ub2a5
# 3. key\uac12\uc73c\ub85c \ud55c\uae00\uc744 \uc0ac\uc6a9\ubd88\uac00, value\uac12\uc740 \ud55c\uae00\uc0ac\uc6a9\uc774 \uac00\ub2a5
# 4. \uc904\uc744 \ubc14\uafc0 \ud544\uc694\uac00 \uc788\uc73c\uba74 '\'\ub97c \ub77c\uc778\uc758 \ub05d\uc5d0 \ucd94\uac00(\ub9cc\uc57d '\'\ubb38\uc790\ub97c \uc0ac\uc6a9\ud574\uc57c \ud558\ub294 \uacbd\uc6b0\ub294 '\\'\ub97c \uc0ac\uc6a9)
# 5. Windows\uc5d0\uc11c\uc758 \ub514\ub809\ud1a0\ub9ac \ud45c\uc2dc : '\\' or '/' ('\' \uc0ac\uc6a9\ud558\uba74 \uc548\ub428)
# 6. Unix\uc5d0\uc11c\uc758 \ub514\ub809\ud1a0\ub9ac \ud45c\uc2dc : '/'
# 7. \uc8fc\uc11d\ubb38 \ucc98\ub9ac\ub294 #\uc0ac\uc6a9
# 8. value\uac12 \ub4a4\uc5d0 \uc2a4\ud398\uc774\uc2a4\uac00 \uc874\uc7ac\ud558\ub294 \uacbd\uc6b0 \uc11c\ube14\ub9bf\uc5d0\uc11c \ucc38\uc870\ud560\ub54c\ub294 \uc5d0\ub7ec\ubc1c\uc0dd\ud560 \uc218 \uc788\uc73c\ubbc0\ub85c trim()\ud558\uac70\ub098 \ub9c8\uc9c0\ub9c9 \uacf5\ubc31\uc5c6\uc774 properties \uac12\uc744 \uc124\uc815\ud560\uac83
#-----------------------------------------------------------------------
# \uc6b4\uc601\uc11c\ubc84 \ud0c0\uc785(WINDOWS, UNIX)
Globals.OsType =UNIX
# DB\uc11c\ubc84 \ud0c0\uc785(ORACLE, MYSQL) - datasource \ubc0f sqlMap \ud30c\uc77c \uc9c0\uc815\uc5d0 \uc0ac\uc6a9\ub428
#Globals.DbType =oracle
Globals.DbType =mysql
# \uc704\uc800\ub4dc \uc0ac\uc6a9\uc2dc \ub370\uc774\ud130\ubca0\uc774\uc2a4 \uad00\ub828 \uc124\uc815\uc744 \ubd88\ub7ec\uc634
#Globals.DriverClassName=oracle.jdbc.OracleDriver
#Globals.Url=jdbc:oracle:thin:@122.199.152.76:1521:oradev
#Globals.UserName =say_cms
#Globals.Password =sksrhdqnffkr
## \uc138\uc774\ud5ec\ud504\ub370\uc2a4\ud06c
Globals.DriverClassName=com.mysql.jdbc.Driver
#\uc6b4\uc601
#Globals.Url=jdbc:mysql://192.168.0.217:3306/helpdesk_db?characterEncoding=utf8
#\uac1c\ubc1c
Globals.Url=jdbc:mysql://192.168.0.114:13314/helpdesk_db?characterEncoding=utf8
Globals.UserName =helpdesk
Globals.Password =helpdesk
# MainPage Setting
Globals.MainPage =/EgovContent.do
#\ud1b5\ud569\uba54\uc778\uba54\ub274
#Globals.MainPage = /sym/mnu/mpm/EgovMainMenuHome.do
SMS.DriverClassName=com.mysql.jdbc.Driver
SMS.Url=jdbc:mysql://122.199.152.77:3306/edosi?characterEncoding=utf8
SMS.UserName=edosi
SMS.Password=!dlehtl#
SMS.callback=07041152667
SMS.ddd=
SMS.guk=
Globals.Version=1.0
Globals.OrgKey=
Globals.OrgNm=\uc138\uc774\uc815\ubcf4\uae30\uc220
Globals.OrgCode=8188
#Globals.AccessIp=10
Globals.SiteTitle=\uc138\uc774\uc815\ubcf4\uae30\uc220 Help-desk (\uc2a4\ud14c\uc774\uc9d5)
#Globals.MobileStartPage=/mobile/intro.do
Globals.MobileStartPage=/login.do
PushUrl=http://www.sejong.go.kr/sotong
#PushUrl=http://122.199.152.176:8080/sotong
fileLogUseYn=N
fileLogPath=/webapps/
MENU.PRJ = \ud504\ub85c\uc81d\ud2b8\uad00\ub9ac
MENU.USER = \ud68c\uc6d0\uad00\ub9ac
MENU.HDB = \uc694\uccad\uc791\uc5c5\uad00\ub9ac
MENU.DTB = \uc790\ub8cc\uc2e4
MENU.MYPAGE = \ub9c8\uc774\ud398\uc774\uc9c0
MENU.BOARD.STT = \uac8c\uc2dc\ud310\uc774\uc6a9\ud604\ud669
# \ud658\uacbd\ud30c\uc77c \uc704\uce58
Globals.ShellFilePath =globals.properties
Globals.ServerConfPath =conf/server.properties
Globals.ClientConfPath =conf/client.properties
Globals.FileFormatPath =conf/format.properties
Globals.GPKIConfPath =conf/gpki.properties
Globals.ConfPath =conf
Globals.MailRequestPath =mail/request/
Globals.MailRResponsePath =mail/response/
Globals.SMEConfigPath =conf/SMEConfig.properties
# WINDOWS\uc6a9 \uc258\ud30c\uc77c \uc815\ubcf4
SHELL.WINDOWS.getHostName =prg/sh_001.bat
SHELL.WINDOWS.getDrctryByOwner =prg/getDrctryByOwner.bat
SHELL.WINDOWS.getDrctryOwner =prg/getDrctryOwner.bat
SHELL.WINDOWS.moveDrctry =prg/moveDrctry.bat
SHELL.WINDOWS.compileSchema =prg/compileSchema.bat
SHELL.WINDOWS.getDiskAttrb =prg/getDiskAttrb.bat
SHELL.WINDOWS.getDiskCpcty =prg/getDiskCpcty.bat
SHELL.WINDOWS.getDiskExst =prg/getDiskExst.bat
# UNIX\uc6a9 \uc258\ud30c\uc77c \uc815\ubcf4 - \uac1c\ubc1cwas jeus\uc5d0\uc11c \uc0ac\uc6a9\ud560\ub54c \uae30\uc900
SHELL.UNIX.getHostName =prg/sh_001.sh
SHELL.UNIX.getDrctryByOwner =prg/getDrctryByOwner.sh
SHELL.UNIX.getDrctryOwner =prg/getDrctryOwner.sh
SHELL.UNIX.getDrctryAccess =prg/getDrctryAccess.sh
SHELL.UNIX.getMountLc =prg/getMountLc.sh
SHELL.UNIX.getDiskName =prg/getNetWorkInfo.sh
SHELL.UNIX.moveDrctry =prg/moveDrctry.sh
SHELL.UNIX.compileSchema =prg/compileSchema.sh
SHELL.UNIX.getDiskAttrb =prg/getDiskAttrb.sh
SHELL.UNIX.getDiskCpcty =prg/getDiskCpcty.sh
SHELL.UNIX.getDiskExst =prg/getDiskExst.sh
SHELL.UNIX.getProcInfo =prg/getProcInfo.sh
# LINUX\uc6a9 \uc258\ud30c\uc77c \uc815\ubcf4
# \uc5f0\uacc4
# \uae30\uad00\ucf54\ub4dc\uc218\uc2e0\uc6a9(\uacbd\ub85c \uc124\uc815\uc740 \ubc18\ub4dc\uc2dc \uc808\ub300\uacbd\ub85c\ub97c \uc0ac\uc6a9\ud574\uc57c\ud568.)
CNTC.INSTTCODE.DIR.rcv =D:/tmp/test/rcv/
CNTC.INSTTCODE.DIR.rcvold =D:/tmp/test/rcvold/
CNTC.INSTTCODE.DIR.bin =D:/tmp/test/bin/
CNTC.INSTTCODE.CMD.edircv =gcc_edircv.bat
CNTC.INSTTCODE.CMD.edircvmsg =gcc_edircvmsg.bat
CNTC.INSTTCODE.INFO.userid =USERID
CNTC.INSTTCODE.INFO.userpw =******
# \ud30c\uc77c \uc5c5\ub85c\ub4dc \uacbd\ub85c(\uacbd\ub85c \uc124\uc815\uc740 \ubc18\ub4dc\uc2dc \uc808\ub300\uacbd\ub85c\ub97c \uc0ac\uc6a9\ud574\uc57c\ud568, \uacbd\ub85c \ub4a4\uc5d0 /\ub97c \ubd99\uc5ec \uc8fc\uc5b4\uc57c\ud568.)
#Globals.fileStorePath =/webapps/upload/
Globals.fileStorePath =/webapps/proj/help_desk/upload/
# \ud30c\uc77c \ub3d9\uae30\ud654 \ucef4\ud3ec\ub10c\ud2b8\uc5d0\uc11c \uc0ac\uc6a9\ud560 \ud30c\uc77c \uc5c5\ub85c\ub4dc \uacbd\ub85c(\uacbd\ub85c \uc124\uc815\uc740 \ubc18\ub4dc\uc2dc \uc808\ub300\uacbd\ub85c\ub97c \uc0ac\uc6a9\ud574\uc57c\ud568, \uacbd\ub85c \ub4a4\uc5d0 /\ub97c \ubd99\uc5ec \uc8fc\uc5b4\uc57c\ud568.)
Globals.SynchrnServerPath =C:/egovframework/upload/Synch/
# for JFile properties
system.uploadpath =C:/egovframework/upload/
no.image.url =/resources/jfile/swfupload/images/no_img.gif
ftp.server.ip =127.0.0.1
ftp.user.id =test
ftp.user.password =test
# Social(Facebook, Oauth \ucef4\ud3ec\ub10c\ud2b8 \uc0ac\uc6a9\uc2dc \ud65c\uc6a9)
facebook.appId =
facebook.appSecret =
twitter.consumerKey =
twitter.consumerSecret =
#LDAP\uc870\uc9c1\ub3c4\uad00\ub9ac \ucef4\ud3ec\ub10c\ud2b8 \uc0ac\uc6a9\uc2dc LDAP\uc11c\ubc84\uc124\uc815\uc815\ubcf4 \ud544\uc694
ldap.url =ldap://localhost:10389
ldap.rootDn =c=kr
ldap.username =uid=admin,ou=system
ldap.password =secret

View File

@@ -1,43 +1,50 @@
#-----------------------------------------------------------------------
#
# globals.properties : \uc2dc\uc2a4\ud15c
# globals.properties : \uC2DC\uC2A4\uD15C
#
#-----------------------------------------------------------------------
# 1. key = value \uad6c\uc870\uc785\ub2c8\ub2e4.
# 2. key\uac12\uc740 \uacf5\ubc31\ubb38\uc790\ub97c \ud3ec\ud568\ubd88\uac00, value\uac12\uc740 \uacf5\ubc31\ubb38\uc790\ub97c \uac00\ub2a5
# 3. key\uac12\uc73c\ub85c \ud55c\uae00\uc744 \uc0ac\uc6a9\ubd88\uac00, value\uac12\uc740 \ud55c\uae00\uc0ac\uc6a9\uc774 \uac00\ub2a5
# 4. \uc904\uc744 \ubc14\uafc0 \ud544\uc694\uac00 \uc788\uc73c\uba74 '\'\ub97c \ub77c\uc778\uc758 \ub05d\uc5d0 \ucd94\uac00(\ub9cc\uc57d '\'\ubb38\uc790\ub97c \uc0ac\uc6a9\ud574\uc57c \ud558\ub294 \uacbd\uc6b0\ub294 '\\'\ub97c \uc0ac\uc6a9)
# 5. Windows\uc5d0\uc11c\uc758 \ub514\ub809\ud1a0\ub9ac \ud45c\uc2dc : '\\' or '/' ('\' \uc0ac\uc6a9\ud558\uba74 \uc548\ub428)
# 6. Unix\uc5d0\uc11c\uc758 \ub514\ub809\ud1a0\ub9ac \ud45c\uc2dc : '/'
# 7. \uc8fc\uc11d\ubb38 \ucc98\ub9ac\ub294 #\uc0ac\uc6a9
# 8. value\uac12 \ub4a4\uc5d0 \uc2a4\ud398\uc774\uc2a4\uac00 \uc874\uc7ac\ud558\ub294 \uacbd\uc6b0 \uc11c\ube14\ub9bf\uc5d0\uc11c \ucc38\uc870\ud560\ub54c\ub294 \uc5d0\ub7ec\ubc1c\uc0dd\ud560 \uc218 \uc788\uc73c\ubbc0\ub85c trim()\ud558\uac70\ub098 \ub9c8\uc9c0\ub9c9 \uacf5\ubc31\uc5c6\uc774 properties \uac12\uc744 \uc124\uc815\ud560\uac83
# 1. key = value \uAD6C\uC870\uC785\uB2C8\uB2E4.
# 2. key\uAC12\uC740 \uACF5\uBC31\uBB38\uC790\uB97C \uD3EC\uD568\uBD88\uAC00, value\uAC12\uC740 \uACF5\uBC31\uBB38\uC790\uB97C \uAC00\uB2A5
# 3. key\uAC12\uC73C\uB85C \uD55C\uAE00\uC744 \uC0AC\uC6A9\uBD88\uAC00, value\uAC12\uC740 \uD55C\uAE00\uC0AC\uC6A9\uC774 \uAC00\uB2A5
# 4. \uC904\uC744 \uBC14\uAFC0 \uD544\uC694\uAC00 \uC788\uC73C\uBA74 '\'\uB97C \uB77C\uC778\uC758 \uB05D\uC5D0 \uCD94\uAC00(\uB9CC\uC57D '\'\uBB38\uC790\uB97C \uC0AC\uC6A9\uD574\uC57C \uD558\uB294 \uACBD\uC6B0\uB294 '\\'\uB97C \uC0AC\uC6A9)
# 5. Windows\uC5D0\uC11C\uC758 \uB514\uB809\uD1A0\uB9AC \uD45C\uC2DC : '\\' or '/' ('\' \uC0AC\uC6A9\uD558\uBA74 \uC548\uB428)
# 6. Unix\uC5D0\uC11C\uC758 \uB514\uB809\uD1A0\uB9AC \uD45C\uC2DC : '/'
# 7. \uC8FC\uC11D\uBB38 \uCC98\uB9AC\uB294 #\uC0AC\uC6A9
# 8. value\uAC12 \uB4A4\uC5D0 \uC2A4\uD398\uC774\uC2A4\uAC00 \uC874\uC7AC\uD558\uB294 \uACBD\uC6B0 \uC11C\uBE14\uB9BF\uC5D0\uC11C \uCC38\uC870\uD560\uB54C\uB294 \uC5D0\uB7EC\uBC1C\uC0DD\uD560 \uC218 \uC788\uC73C\uBBC0\uB85C trim()\uD558\uAC70\uB098 \uB9C8\uC9C0\uB9C9 \uACF5\uBC31\uC5C6\uC774 properties \uAC12\uC744 \uC124\uC815\uD560\uAC83
#-----------------------------------------------------------------------
# \uc6b4\uc601\uc11c\ubc84 \ud0c0\uc785(WINDOWS, UNIX)
# \uC6B4\uC601\uC11C\uBC84 \uD0C0\uC785(WINDOWS, UNIX)
Globals.OsType =UNIX
# DB\uc11c\ubc84 \ud0c0\uc785(ORACLE, MYSQL) - datasource \ubc0f sqlMap \ud30c\uc77c \uc9c0\uc815\uc5d0 \uc0ac\uc6a9\ub428
# DB\uC11C\uBC84 \uD0C0\uC785(ORACLE, MYSQL) - datasource \uBC0F sqlMap \uD30C\uC77C \uC9C0\uC815\uC5D0 \uC0AC\uC6A9\uB428
#Globals.DbType =oracle
Globals.DbType =mysql
# \uc704\uc800\ub4dc \uc0ac\uc6a9\uc2dc \ub370\uc774\ud130\ubca0\uc774\uc2a4 \uad00\ub828 \uc124\uc815\uc744 \ubd88\ub7ec\uc634
# \uC704\uC800\uB4DC \uC0AC\uC6A9\uC2DC \uB370\uC774\uD130\uBCA0\uC774\uC2A4 \uAD00\uB828 \uC124\uC815\uC744 \uBD88\uB7EC\uC634
#Globals.DriverClassName=oracle.jdbc.OracleDriver
#Globals.Url=jdbc:oracle:thin:@122.199.152.76:1521:oradev
#Globals.UserName =say_cms
#Globals.Password =sksrhdqnffkr
## \uc138\uc774\ud5ec\ud504\ub370\uc2a4\ud06c
Globals.DriverClassName=com.mysql.jdbc.Driver
#\uc6b4\uc601
Globals.Url=jdbc:mysql://192.168.0.217:3306/helpdesk_db?characterEncoding=utf8
#\uac1c\ubc1c
#Globals.Url=jdbc:mysql://192.168.0.114:13314/helpdesk_db?characterEncoding=utf8
## \uC138\uC774\uD5EC\uD504\uB370\uC2A4\uD06C
# mysql 5.X
#Globals.DriverClassName=com.mysql.jdbc.Driver
# mysql 8.4.7
Globals.DriverClassName=com.mysql.cj.jdbc.Driver
#\uC6B4\uC601
#Globals.Url=jdbc:mysql://192.168.0.217:3306/helpdesk_db?characterEncoding=utf8
#\uAC1C\uBC1C
## mysql 5.X
#Globals.Url=jdbc:mysql://192.168.0.114:13316/helpdesk_db?characterEncoding=utf8
## mysql 8.4.7
Globals.Url=jdbc:mysql://192.168.0.114:13316/helpdesk_db?characterEncoding=utf8
Globals.UserName =helpdesk
Globals.Password =helpdesk
# MainPage Setting
Globals.MainPage =/EgovContent.do
#\ud1b5\ud569\uba54\uc778\uba54\ub274
#\uD1B5\uD569\uBA54\uC778\uBA54\uB274
#Globals.MainPage = /sym/mnu/mpm/EgovMainMenuHome.do
SMS.DriverClassName=com.mysql.jdbc.Driver
@@ -51,11 +58,11 @@ SMS.guk=
Globals.Version=1.0
Globals.OrgKey=
Globals.OrgNm=\uc138\uc774\uc815\ubcf4\uae30\uc220
Globals.OrgNm=\uC138\uC774\uC815\uBCF4\uAE30\uC220
Globals.OrgCode=8188
#Globals.AccessIp=10
Globals.SiteTitle=\uc138\uc774\uc815\ubcf4\uae30\uc220 Help-desk
Globals.SiteTitle=\uC138\uC774\uC815\uBCF4\uAE30\uC220 Help-desk (\uAC1C\uBC1C)
#Globals.MobileStartPage=/mobile/intro.do
Globals.MobileStartPage=/login.do
PushUrl=http://www.sejong.go.kr/sotong
@@ -64,14 +71,14 @@ PushUrl=http://www.sejong.go.kr/sotong
fileLogUseYn=N
fileLogPath=/webapps/
MENU.PRJ = \ud504\ub85c\uc81d\ud2b8\uad00\ub9ac
MENU.USER = \ud68c\uc6d0\uad00\ub9ac
MENU.HDB = \uc694\uccad\uc791\uc5c5\uad00\ub9ac
MENU.DTB = \uc790\ub8cc\uc2e4
MENU.MYPAGE = \ub9c8\uc774\ud398\uc774\uc9c0
MENU.BOARD.STT = \uac8c\uc2dc\ud310\uc774\uc6a9\ud604\ud669
MENU.PRJ = \uD504\uB85C\uC81D\uD2B8\uAD00\uB9AC
MENU.USER = \uD68C\uC6D0\uAD00\uB9AC
MENU.HDB = \uC694\uCCAD\uC791\uC5C5\uAD00\uB9AC
MENU.DTB = \uC790\uB8CC\uC2E4
MENU.MYPAGE = \uB9C8\uC774\uD398\uC774\uC9C0
MENU.BOARD.STT = \uAC8C\uC2DC\uD310\uC774\uC6A9\uD604\uD669
# \ud658\uacbd\ud30c\uc77c \uc704\uce58
# \uD658\uACBD\uD30C\uC77C \uC704\uCE58
Globals.ShellFilePath =globals.properties
Globals.ServerConfPath =conf/server.properties
Globals.ClientConfPath =conf/client.properties
@@ -82,7 +89,7 @@ Globals.MailRequestPath =mail/request/
Globals.MailRResponsePath =mail/response/
Globals.SMEConfigPath =conf/SMEConfig.properties
# WINDOWS\uc6a9 \uc258\ud30c\uc77c \uc815\ubcf4
# WINDOWS\uC6A9 \uC258\uD30C\uC77C \uC815\uBCF4
SHELL.WINDOWS.getHostName =prg/sh_001.bat
SHELL.WINDOWS.getDrctryByOwner =prg/getDrctryByOwner.bat
SHELL.WINDOWS.getDrctryOwner =prg/getDrctryOwner.bat
@@ -92,7 +99,7 @@ SHELL.WINDOWS.getDiskAttrb =prg/getDiskAttrb.bat
SHELL.WINDOWS.getDiskCpcty =prg/getDiskCpcty.bat
SHELL.WINDOWS.getDiskExst =prg/getDiskExst.bat
# UNIX\uc6a9 \uc258\ud30c\uc77c \uc815\ubcf4 - \uac1c\ubc1cwas jeus\uc5d0\uc11c \uc0ac\uc6a9\ud560\ub54c \uae30\uc900
# UNIX\uC6A9 \uC258\uD30C\uC77C \uC815\uBCF4 - \uAC1C\uBC1Cwas jeus\uC5D0\uC11C \uC0AC\uC6A9\uD560\uB54C \uAE30\uC900
SHELL.UNIX.getHostName =prg/sh_001.sh
SHELL.UNIX.getDrctryByOwner =prg/getDrctryByOwner.sh
SHELL.UNIX.getDrctryOwner =prg/getDrctryOwner.sh
@@ -106,10 +113,10 @@ SHELL.UNIX.getDiskCpcty =prg/getDiskCpcty.sh
SHELL.UNIX.getDiskExst =prg/getDiskExst.sh
SHELL.UNIX.getProcInfo =prg/getProcInfo.sh
# LINUX\uc6a9 \uc258\ud30c\uc77c \uc815\ubcf4
# LINUX\uC6A9 \uC258\uD30C\uC77C \uC815\uBCF4
# \uc5f0\uacc4
# \uae30\uad00\ucf54\ub4dc\uc218\uc2e0\uc6a9(\uacbd\ub85c \uc124\uc815\uc740 \ubc18\ub4dc\uc2dc \uc808\ub300\uacbd\ub85c\ub97c \uc0ac\uc6a9\ud574\uc57c\ud568.)
# \uC5F0\uACC4
# \uAE30\uAD00\uCF54\uB4DC\uC218\uC2E0\uC6A9(\uACBD\uB85C \uC124\uC815\uC740 \uBC18\uB4DC\uC2DC \uC808\uB300\uACBD\uB85C\uB97C \uC0AC\uC6A9\uD574\uC57C\uD568.)
CNTC.INSTTCODE.DIR.rcv =D:/tmp/test/rcv/
CNTC.INSTTCODE.DIR.rcvold =D:/tmp/test/rcvold/
CNTC.INSTTCODE.DIR.bin =D:/tmp/test/bin/
@@ -120,11 +127,11 @@ CNTC.INSTTCODE.CMD.edircvmsg =gcc_edircvmsg.bat
CNTC.INSTTCODE.INFO.userid =USERID
CNTC.INSTTCODE.INFO.userpw =******
# \ud30c\uc77c \uc5c5\ub85c\ub4dc \uacbd\ub85c(\uacbd\ub85c \uc124\uc815\uc740 \ubc18\ub4dc\uc2dc \uc808\ub300\uacbd\ub85c\ub97c \uc0ac\uc6a9\ud574\uc57c\ud568, \uacbd\ub85c \ub4a4\uc5d0 /\ub97c \ubd99\uc5ec \uc8fc\uc5b4\uc57c\ud568.)
# \uD30C\uC77C \uC5C5\uB85C\uB4DC \uACBD\uB85C(\uACBD\uB85C \uC124\uC815\uC740 \uBC18\uB4DC\uC2DC \uC808\uB300\uACBD\uB85C\uB97C \uC0AC\uC6A9\uD574\uC57C\uD568, \uACBD\uB85C \uB4A4\uC5D0 /\uB97C \uBD99\uC5EC \uC8FC\uC5B4\uC57C\uD568.)
#Globals.fileStorePath =/webapps/upload/
Globals.fileStorePath =/webapps/proj/help_desk/upload/
# \ud30c\uc77c \ub3d9\uae30\ud654 \ucef4\ud3ec\ub10c\ud2b8\uc5d0\uc11c \uc0ac\uc6a9\ud560 \ud30c\uc77c \uc5c5\ub85c\ub4dc \uacbd\ub85c(\uacbd\ub85c \uc124\uc815\uc740 \ubc18\ub4dc\uc2dc \uc808\ub300\uacbd\ub85c\ub97c \uc0ac\uc6a9\ud574\uc57c\ud568, \uacbd\ub85c \ub4a4\uc5d0 /\ub97c \ubd99\uc5ec \uc8fc\uc5b4\uc57c\ud568.)
# \uD30C\uC77C \uB3D9\uAE30\uD654 \uCEF4\uD3EC\uB10C\uD2B8\uC5D0\uC11C \uC0AC\uC6A9\uD560 \uD30C\uC77C \uC5C5\uB85C\uB4DC \uACBD\uB85C(\uACBD\uB85C \uC124\uC815\uC740 \uBC18\uB4DC\uC2DC \uC808\uB300\uACBD\uB85C\uB97C \uC0AC\uC6A9\uD574\uC57C\uD568, \uACBD\uB85C \uB4A4\uC5D0 /\uB97C \uBD99\uC5EC \uC8FC\uC5B4\uC57C\uD568.)
Globals.SynchrnServerPath =C:/egovframework/upload/Synch/
# for JFile properties
@@ -134,13 +141,13 @@ ftp.server.ip =127.0.0.1
ftp.user.id =test
ftp.user.password =test
# Social(Facebook, Oauth \ucef4\ud3ec\ub10c\ud2b8 \uc0ac\uc6a9\uc2dc \ud65c\uc6a9)
# Social(Facebook, Oauth \uCEF4\uD3EC\uB10C\uD2B8 \uC0AC\uC6A9\uC2DC \uD65C\uC6A9)
facebook.appId =
facebook.appSecret =
twitter.consumerKey =
twitter.consumerSecret =
#LDAP\uc870\uc9c1\ub3c4\uad00\ub9ac \ucef4\ud3ec\ub10c\ud2b8 \uc0ac\uc6a9\uc2dc LDAP\uc11c\ubc84\uc124\uc815\uc815\ubcf4 \ud544\uc694
#LDAP\uC870\uC9C1\uB3C4\uAD00\uB9AC \uCEF4\uD3EC\uB10C\uD2B8 \uC0AC\uC6A9\uC2DC LDAP\uC11C\uBC84\uC124\uC815\uC815\uBCF4 \uD544\uC694
ldap.url =ldap://localhost:10389
ldap.rootDn =c=kr
ldap.username =uid=admin,ou=system

View File

@@ -171,6 +171,77 @@
</select>
<select id="dmsHdbDAO.selectDmsHdbStat_D" parameterClass="dmsHdbSerarchVO" resultClass="egovMap">
SELECT
COUNT(CASE
WHEN B.HDB_STS = 'A'
AND B.CREATE_DATE >= DATE_SUB(NOW(), INTERVAL 30 DAY)
AND B.REC_STS = 'A'
AND (B.TITLE != '' OR B.CONTENTS != '')
THEN 1
END) AS hdbStsA
, COUNT(CASE
WHEN B.HDB_STS = 'B'
AND B.CREATE_DATE >= DATE_SUB(NOW(), INTERVAL 30 DAY)
AND B.REC_STS = 'A'
AND (B.TITLE != '' OR B.CONTENTS != '')
THEN 1
END) AS hdbStsB
, COUNT(CASE
WHEN B.HDB_STS = 'C'
AND B.CREATE_DATE >= DATE_SUB(NOW(), INTERVAL 30 DAY)
AND B.REC_STS = 'A'
AND (B.TITLE != '' OR B.CONTENTS != '')
THEN 1
END) AS hdbStsC
, COUNT(CASE
WHEN B.HDB_STS = 'A'
AND YEAR(B.CREATE_DATE) = YEAR(NOW())
AND B.REC_STS = 'A'
AND (B.TITLE != '' OR B.CONTENTS != '')
THEN 1
END) AS hdbStsYrA
, COUNT(CASE
WHEN B.HDB_STS = 'B'
AND YEAR(B.CREATE_DATE) = YEAR(NOW())
AND B.REC_STS = 'A'
AND (B.TITLE != '' OR B.CONTENTS != '')
THEN 1
END) AS hdbStsYrB
, COUNT(CASE
WHEN B.HDB_STS = 'C'
AND YEAR(B.CREATE_DATE) = YEAR(NOW())
AND B.REC_STS = 'A'
AND (B.TITLE != '' OR B.CONTENTS != '')
THEN 1
END) AS hdbStsYrC
FROM
DMS_HDB B
WHERE 1=1
AND B.REC_STS = 'A'
AND (B.TITLE != '' OR B.CONTENTS != '')
<isNotEmpty property="prjSeq" prepend="AND">
B.PRJ_SEQ = #prjSeq#
</isNotEmpty>
<isNotEmpty property="searchKeyword">
<isEqual property="searchCondition" compareValue="1" prepend="AND">
B.TITLE LIKE CONCAT('%', #searchKeyword#, '%')
</isEqual>
<isEqual property="searchCondition" compareValue="2" prepend="AND">
B.WRITER_NM LIKE CONCAT('%', #searchKeyword#, '%')
</isEqual>
</isNotEmpty>
</select>
<select id="dmsHdbDAO.selectDmsHdbListTotCnt_S" parameterClass="dmsHdbSerarchVO" resultClass="int">
SELECT
COUNT(*) totcnt
@@ -306,7 +377,7 @@
</select>
<!-- 현재 기준 한달간 현황 donut chart -->
<select id="dmsHdbDAO.selectDmsHdbForMonthChart" parameterClass="dmsHdbSerarchVO" resultClass="egovframework.dms.hdb.vo.DmsHdbGraphVO">
<!-- <select id="dmsHdbDAO.selectDmsHdbForMonthChart" parameterClass="dmsHdbSerarchVO" resultClass="egovframework.dms.hdb.vo.DmsHdbGraphVO">
SELECT
COUNT(CASE WHEN HDB_STS = 'A' THEN 1 END) AS hdbStsA,
COUNT(CASE WHEN HDB_STS = 'B' THEN 1 END) AS hdbStsB,
@@ -316,5 +387,5 @@
AND D.PRJ_SEQ = #prjSeq#
AND (D.TITLE != '' OR D.CONTENTS != '')
<![CDATA[ AND D.CREATE_DATE >= DATE_SUB(NOW(), INTERVAL 30 DAY) ]]>
</select>
</select> -->
</sqlMap>

View File

@@ -128,9 +128,9 @@
B.DEPT_CD,
B.POSITION_NM,
C.PRJ_NM,
COUNT(CASE WHEN D.HDB_STS = 'A' AND YEAR(D.CREATE_DATE) = YEAR(NOW()) AND D.REC_STS = 'A' AND (D.TITLE != '' OR D.CONTENTS != '') THEN 1 END) AS hdbStsA,
COUNT(CASE WHEN D.HDB_STS = 'B' AND YEAR(D.CREATE_DATE) = YEAR(NOW()) AND D.REC_STS = 'A' AND (D.TITLE != '' OR D.CONTENTS != '') THEN 1 END) AS hdbStsB,
COUNT(CASE WHEN D.HDB_STS = 'C' AND YEAR(D.CREATE_DATE) = YEAR(NOW()) AND D.REC_STS = 'A' AND (D.TITLE != '' OR D.CONTENTS != '') THEN 1 END) AS hdbStsC
COUNT(CASE WHEN D.HDB_STS = 'A' AND D.CREATE_DATE >= DATE_SUB(NOW(), INTERVAL 30 DAY) AND D.REC_STS = 'A' AND (D.TITLE != '' OR D.CONTENTS != '') THEN 1 END) AS hdbStsA,
COUNT(CASE WHEN D.HDB_STS = 'B' AND D.CREATE_DATE >= DATE_SUB(NOW(), INTERVAL 30 DAY) AND D.REC_STS = 'A' AND (D.TITLE != '' OR D.CONTENTS != '') THEN 1 END) AS hdbStsB,
COUNT(CASE WHEN D.HDB_STS = 'C' AND D.CREATE_DATE >= DATE_SUB(NOW(), INTERVAL 30 DAY) AND D.REC_STS = 'A' AND (D.TITLE != '' OR D.CONTENTS != '') THEN 1 END) AS hdbStsC
FROM DMS_PRJ_AUTH_USER A
JOIN HMS_USER B
ON A.USER_ID = B.USER_ID

View File

@@ -129,9 +129,11 @@
<tbody>
<c:forEach var="list" items="${commentList }">
<tr>
<th class="left" colspan="3">
등록자 : ${list.userNm } | 등록일시 : <fmt:formatDate value="${list.createDate }" pattern="yyyy.MM.dd hh:mm"/>
<c:if test="${loginVO.name eq list.userNm }">&nbsp;<a href="#" onclick="fn_egov_comment_delete('${list.brdReplySeq }', '${commentVO.parentUrl}');">[삭제]</a> </c:if>
<th class="left" colspan="3">
등록자 : ${list.userNm } | 등록일시 :
<fmt:parseDate value="${list.createDate}" pattern="yyyy-MM-dd'T'HH:mm:ss" var="parsedCreateDate"/>
<fmt:formatDate value="${parsedCreateDate}" pattern="yyyy.MM.dd HH:mm"/>
<c:if test="${loginVO.name eq list.userNm }">&nbsp;<a href="#" onclick="fn_egov_comment_delete('${list.brdReplySeq }', '${commentVO.parentUrl}');">[삭제]</a></c:if>
</th>
</tr>
<tr>

View File

@@ -72,7 +72,11 @@
<td><a href="#view" onclick="return fn_egov_select('${list.userSeq}')">${list.userNm} (${list.userId})</a></td>
<td>${list.tel}</td>
<td>${list.deptNm}</td>
<td><fmt:formatDate value="${list.createDate }" pattern="yyyy-MM-dd" /></td>
<td>
<fmt:parseDate value="${list.createDate}" pattern="yyyy-MM-dd'T'HH:mm:ss" var="createdDate"/>
<fmt:formatDate value="${createdDate}" pattern="yyyy-MM-dd"/>
</td>
<td>${list.userType}</td>
</tr>
</c:forEach>

View File

@@ -24,11 +24,17 @@
<script src="/js/common/charts-plugin-datalabels.js"></script>
<c:set var="now" value="<%= new java.util.Date() %>" />
<fmt:formatDate value="${now}" pattern="yyyy" var="curYear" />
<div class="location_box">
<div class="loc_h3"><h3>${prjNm} <%=MainGlobals.MENU_HDB%>
(<span class="year-text"><fmt:formatDate value="${now}" pattern="yyyy" /> 년 - </span><span class="sts-a">접수: ${hdbStsA}</span>,
<span class="sts-b">처리중: ${hdbStsB}</span>,
<span class="sts-c">완료: ${hdbStsC}</span> )
(
<span class="year-text">
<%-- ${curYear} 년 --%>
한달간 처리 현황
</span>
<span class="sts-a">접수: ${dmsHdbStat.hdbStsA}</span>,
<span class="sts-b">처리중: ${dmsHdbStat.hdbStsB}</span>,
<span class="sts-c">완료: ${dmsHdbStat.hdbStsC}</span> )
</h3><span></span></div>
<span class="loccation"><img src="/images/admin/loccation_home.png" alt="홈" /> > <strong><%=MainGlobals.MENU_HDB%></strong></span>
</div>
@@ -111,7 +117,9 @@
<img src="/images/admin/cf_tit_ic.png">
</c:if>
</td>
<td>${list.createDate}</td>
<td>
${list.createDate}
</td>
<td>${list.rdCnt }</td>
<%-- <td>${list.compScdDate}</td> --%>
</tr>
@@ -154,19 +162,33 @@
sbData.append("]");
// 한달 현황 (도넛)
DmsHdbGraphVO monthlyList = (DmsHdbGraphVO) request.getAttribute("monthlyList");
/* DmsHdbGraphVO monthlyList = (DmsHdbGraphVO) request.getAttribute("monthlyList");
int cntA = monthlyList.getHdbStsA(); // 접수
int cntB = monthlyList.getHdbStsB(); // 처리중
int cntC = monthlyList.getHdbStsC(); // 완료
int cntC = monthlyList.getHdbStsC(); // 완료 */
%>
<div class="chart-container">
<!-- 막대 그래프 -->
<div class="chart-box" style="flex:2;">
<canvas id="yearChart"></canvas>
</div>
<div class="chart-wrapper">
<div class="chart-title">
<div class="chart-main-title">
${curYear}년 요청 통계
</div>
<div class="chart-sub-title"><strong>Total [ </strong>
<span class="sts-a">접수 ${dmsHdbStat.hdbStsYrA}건</span>
<span class="sep">/</span>
<span class="sts-b">처리중 ${dmsHdbStat.hdbStsYrB}건</span>
<span class="sep">/</span>
<span class="sts-c">완료 ${dmsHdbStat.hdbStsYrC}건</span>
<strong> ]</strong>
</div>
</div>
<!-- 막대 그래프 -->
<div class="chart-box" style="flex:2;">
<canvas id="yearChart"></canvas>
</div>
</div>
<!-- 도넛 그래프 -->
<div class="chart-box" style="flex:1; position:relative;">
<canvas id="monthChart"></canvas>
@@ -190,6 +212,11 @@ Chart.register(ChartDataLabels);
const annualLabels = <%= sbLabels.toString() %>;
const annualData = <%= sbData.toString() %>;
const YEAR = '${curYear}';
const hdbStsA = Number('${dmsHdbStat.hdbStsA != null ? hdbStsA : 0}');
const hdbStsB = Number('${dmsHdbStat.hdbStsB != null ? hdbStsB : 0}');
const hdbStsC = Number('${dmsHdbStat.hdbStsC != null ? hdbStsC : 0}');
new Chart(
document.getElementById('yearChart'),
{
@@ -210,8 +237,8 @@ new Chart(
plugins: {
title: {
display: true,
text: '2025년 월별 요청 통계',
display: false,
//text: YEAR + `년 요청 통계 (접수 ${hdbStsA}건 / 처리중 ${hdbStsB}건 / 완료 ${hdbStsC}건)`,
font: { size: 20, weight: 'bold' },
padding: { top: 10, bottom: 20 }
},
@@ -262,9 +289,9 @@ new Chart(
/****************************************
* 2) 한달 현황 도넛 차트
****************************************/
const cntA = <%= cntA %>; // 접수
const cntB = <%= cntB %>; // 처리중
const cntC = <%= cntC %>; // 완료
const cntA = ${dmsHdbStat.hdbStsA}; // 접수
const cntB = ${dmsHdbStat.hdbStsB}; // 처리중
const cntC = ${dmsHdbStat.hdbStsC}; // 완료
const monthChartCanvas = document.getElementById('monthChart');
const noDataMsg = document.getElementById('noDataMsg');

View File

@@ -16,7 +16,20 @@
<script src="js/common/common.js"></script>
<script src="js/common/login.js"></script>
<base target="_self" />
<title><%=MainGlobals.SITE_TITLE%></title>
<title><%= MainGlobals.SITE_TITLE %></title>
<%
String siteTitle = MainGlobals.SITE_TITLE;
if ("세이정보기술 Help-desk (스테이징)".equals(siteTitle)
|| "세이정보기술 Help-desk (개발)".equals(siteTitle)
|| "세이정보기술 Help-desk (로컬)".equals(siteTitle)) {
%>
<h1><%= siteTitle %></h1>
<%
}
%>
<link rel="icon" type="image/x-icon" href="${pageContext.request.contextPath}/Favicon.ico?v=20251209" />
<style>
.login_wrap_body{ background:url(${pageContext.request.contextPath}/images/admin/login_bg.gif) repeat left top; font-family:"맑은 고딕",Malgun Gothic,AppleGothic,sans-serif,"돋움", Dotum; }

View File

@@ -19,7 +19,7 @@
<script type="text/javascript" src="${pageContext.request.contextPath}/dwr/interface/DwrCommonService.js"></script>
<script type="text/javascript" src="${pageContext.request.contextPath}/js/common/jquery/jquery.js"></script>
<script type="text/javascript" src="${pageContext.request.contextPath}/js/common/common.js"></script>
<link rel="stylesheet" href="${pageContext.request.contextPath}/css/cms/all.css?ver=20251125_1">
<link rel="stylesheet" href="${pageContext.request.contextPath}/css/cms/all.css?ver=20260108_1">
<style>
.main_wrap_body{ background:url(${pageContext.request.contextPath}/images/admin/login_bg.gif) repeat left top; font-family:"맑은 고딕",Malgun Gothic,AppleGothic,sans-serif,"돋움", Dotum; }
.main_wrap{display:block; height:100%; left:0; position:fixed; top:0; width:100%; z-index:10000;}
@@ -46,9 +46,9 @@
.main_box .bottom_box .bottom_logo{width:20%; float: left; margin-left: 10px;}
/* .main_box .bottom_box .bottom_txt{width:70%; float: left;} */
.sts-a { color: red; font-size: 12px;}
.sts-b { color: green; font-size: 12px; }
.sts-c { color: blue; font-size: 12px; }
.sts-a { color: rgb(75,192,192); font-size: 12px;}
.sts-b { color: rgb(255,99,132); font-size: 12px; }
.sts-c { color: rgb(54,162,235); font-size: 12px; }
</style>
</head>
<body class="main_wrap_body">
@@ -67,7 +67,8 @@
<div class="cent_menu">
<p class="prj_txt">● 프로젝트 현황</p>
<c:set var="now" value="<%= new java.util.Date() %>" />
<span class="year-info">※괄호 안 현황 정보는 <fmt:formatDate value="${now}" pattern="yyyy" />년도 기준입니다.</span>
<%-- <span class="year-info">※괄호 안 현황 정보는 <fmt:formatDate value="${now}" pattern="yyyy" />년도 기준입니다.</span> --%>
<span class="year-info">※괄호 안 현황 정보는 지난 한달 간 데이터 집계입니다.</span>
<div class="txt_field">
<c:if test="${empty sessionPrjList }">
<p class="txt_list">담당하신 프로젝트가 없습니다. 관리자에게 문의해주세요.<p>
@@ -75,7 +76,7 @@
<c:if test="${!empty sessionPrjList }">
<c:forEach items="${sessionPrjList }" var="list">
<p class="txt_list">
<a href='/dms/contents/dms/hdb/01/hdb.01.001.motion?prjSeq=${list.prjSeq }&moveDetail=Y&hdbStsA=${list.hdbStsA}&hdbStsB=${list.hdbStsB}&hdbStsC=${list.hdbStsC}'>
<a href='/dms/contents/dms/hdb/01/hdb.01.001.motion?prjSeq=${list.prjSeq }&moveDetail=Y'>
- ${list.prjNm }
(<span class="sts-a">접수: ${list.hdbStsA}</span>,
<span class="sts-b">처리중: ${list.hdbStsB}</span>,

View File

@@ -43,8 +43,8 @@
<tr>
<th>등록일</th>
<td class="left">
<%-- <fmt:formatDate value="${dmsHdbVO.createDate}" pattern="yyyy-MM-dd" /> --%>
${dmsDtbVO.createDate}
<fmt:parseDate value="${dmsHdbVO.createDate}" pattern="yyyy-MM-dd'T'HH:mm:ss" var="parsedCreateDate"/>
<fmt:formatDate value="${parsedCreateDate}" pattern="yyyy-MM-dd" />
</td>
</tr>
<tr>

View File

@@ -45,8 +45,8 @@
<tr>
<th>등록일</th>
<td class="left">
<%-- <fmt:formatDate value="${dmsHdbVO.createDate}" pattern="yyyy-MM-dd" /> --%>
${dmsHdbVO.createDate}
<fmt:parseDate value="${dmsHdbVO.createDate}" pattern="yyyy-MM-dd'T'HH:mm:ss" var="createdDate"/>
<fmt:formatDate value="${createdDate}" pattern="yyyy-MM-dd HH:mm:ss"/>
</td>
</tr>
<tr>

View File

@@ -29,7 +29,7 @@ if(UserHelper.isAuthenticated()) {
<script type="text/javascript" src="${pageContext.request.contextPath}/dwr/interface/DwrCommonService.js"></script>
<link rel="stylesheet" href="${pageContext.request.contextPath}/css/mobile/common.css">
<link rel="stylesheet" href="${pageContext.request.contextPath}/css/mobile/layout.css">
<link rel="stylesheet" href="${pageContext.request.contextPath}/css/mobile/contents.css">
<link rel="stylesheet" href="${pageContext.request.contextPath}/css/mobile/contents.css?ver=20260106">
<script type="text/javascript" src="${pageContext.request.contextPath}/js/mobile/jquery-1.7.1.min.js"></script><!--전체메뉴-->
<script type="text/javascript" src="${pageContext.request.contextPath}/js/mobile/jquery.easing.1.3.js" ></script><!--전체메뉴-->
<script type="text/javascript" src="${pageContext.request.contextPath}/js/mobile/mobTnav.js" ></script><!--전체메뉴-->

View File

@@ -5,6 +5,6 @@
@import url(font.css);
@import url(main.css);
@import url(layout.css);
@import url(contents.css?ver=20251125);
@import url(contents.css);
@import url(login.css);
@import url(form.css);

View File

@@ -414,23 +414,23 @@ a.btn_search_gray:HOVER {background-color:#4c4c4c; border:1px solid #2f2f2f;}
}
/*요청처리현황*/
.sts-a { color: green !important; font-size: 12px; }
.sts-b { color: red !important; font-size: 12px; }
.sts-c { color: blue !important; font-size: 12px; }
.sts-a { color: rgb(75,192,192) !important; font-size: 12px; }
.sts-b { color: rgb(255,99,132) !important; font-size: 12px; }
.sts-c { color: rgb(54,162,235) !important; font-size: 12px; }
.year-text {
font-size: 12px;
}
.year-info-wrap {
text-align: right; /* 오른쪽 정렬 */
text-align: right;
}
.year-info {
font-size: 12px;
color: red; /* 빨간 글씨 */
color: red;
position: relative;
left: 370px;
left: 300px;
}
/*차트*/
@@ -444,9 +444,47 @@ a.btn_search_gray:HOVER {background-color:#4c4c4c; border:1px solid #2f2f2f;}
flex: 1;
}
.chart-wrapper {
width: 100%;
max-width: 900px; /* 차트 너비와 동일하게 */
margin: 0 auto; /* 중앙 정렬 */
}
.chart-title {
text-align: center;
margin-bottom: 16px;
}
.chart-main-title {
font-size: 20px;
font-weight: bold;
color: #666;
margin-bottom: 6px; /* 줄바꿈 간격 */
}
.chart-sub-title {
font-size: 14px;
}
/* 상태별 색상 */
.chart-sub-title .sts-a {
color: rgb(75,192,192); /* 접수 - 초록 */
font-weight: 600;
}
.chart-sub-title .sts-b {
color: rgb(255,99,132); /* 처리중 - 빨강 */
font-weight: 600;
}
.chart-sub-title .sts-c {
color: rgb(54,162,235); /* 완료 - 파랑 */
font-weight: 600;
}
.chart-sub-title .sep {
margin: 0 6px;
color: #666;
}

View File

@@ -0,0 +1,2 @@
User-agent: *
Disallow: /