Up to 2,000 files will be displayed.
+++ .gitignore
... | ... | @@ -0,0 +1,200 @@ |
| 1 | +HELP.md | |
| 2 | +target/ | |
| 3 | +!.mvn/wrapper/maven-wrapper.jar | |
| 4 | +!**/src/main/**/target/ | |
| 5 | +!**/src/test/**/target/ | |
| 6 | + | |
| 7 | +### STS ### | |
| 8 | +.apt_generated | |
| 9 | +.classpath | |
| 10 | +.factorypath | |
| 11 | +.project | |
| 12 | +.settings | |
| 13 | +.springBeans | |
| 14 | +.sts4-cache | |
| 15 | + | |
| 16 | +### IntelliJ IDEA ### | |
| 17 | +.idea | |
| 18 | +*.iws | |
| 19 | +*.iml | |
| 20 | +*.ipr | |
| 21 | + | |
| 22 | +### NetBeans ### | |
| 23 | +/nbproject/private/ | |
| 24 | +/nbbuild/ | |
| 25 | +/dist/ | |
| 26 | +/nbdist/ | |
| 27 | +/.nb-gradle/ | |
| 28 | +build/ | |
| 29 | +!**/src/main/**/build/ | |
| 30 | +!**/src/test/**/build/ | |
| 31 | + | |
| 32 | +### VS Code ### | |
| 33 | +.vscode/ | |
| 34 | + | |
| 35 | + | |
| 36 | +### Eclipse ### | |
| 37 | + | |
| 38 | +.metadata | |
| 39 | +bin/ | |
| 40 | +deploy/ | |
| 41 | +tmp/ | |
| 42 | + | |
| 43 | +*.tmp | |
| 44 | +*.bak | |
| 45 | +*.swp | |
| 46 | +*~.nib | |
| 47 | +local.properties | |
| 48 | +.settings | |
| 49 | +.loadpath | |
| 50 | +.recommenders | |
| 51 | + | |
| 52 | +# External tool builders | |
| 53 | +.externalToolBuilders/ | |
| 54 | + | |
| 55 | +# Locally stored "Eclipse launch configurations" | |
| 56 | +*.launch | |
| 57 | + | |
| 58 | +# PyDev specific (Python IDE for Eclipse) | |
| 59 | +*.pydevproject | |
| 60 | + | |
| 61 | +# CDT-specific (C/C++ Development Tooling) | |
| 62 | +.cproject | |
| 63 | + | |
| 64 | +# Java annotation processor (APT) | |
| 65 | +.factorypath | |
| 66 | + | |
| 67 | +# PDT-specific (PHP Development Tools) | |
| 68 | +.buildpath | |
| 69 | + | |
| 70 | +# sbteclipse plugin | |
| 71 | +.target | |
| 72 | + | |
| 73 | +# Tern plugin | |
| 74 | +.tern-project | |
| 75 | + | |
| 76 | +# TeXlipse plugin | |
| 77 | +.texlipse | |
| 78 | + | |
| 79 | +# STS (Spring Tool Suite) | |
| 80 | +.springBeans | |
| 81 | + | |
| 82 | +# Code Recommenders | |
| 83 | +.recommenders/ | |
| 84 | + | |
| 85 | +# Scala IDE specific (Scala & Java development for Eclipse) | |
| 86 | +.cache-main | |
| 87 | +.scala_dependencies | |
| 88 | +.worksheet | |
| 89 | + | |
| 90 | +### Eclipse Patch ### | |
| 91 | +# Eclipse Core | |
| 92 | +*.project | |
| 93 | + | |
| 94 | +# JDT-specific (Eclipse Java Development Tools) | |
| 95 | +*.classpath | |
| 96 | + | |
| 97 | +# End of https://www.gitignore.io/api/eclipse | |
| 98 | + | |
| 99 | +# Maven | |
| 100 | +target/ | |
| 101 | +pom.xml.tag | |
| 102 | +pom.xml.releaseBackup | |
| 103 | +pom.xml.versionsBackup | |
| 104 | +pom.xml.next | |
| 105 | +release.properties | |
| 106 | +dependency-reduced-pom.xml | |
| 107 | +buildNumber.properties | |
| 108 | +.mvn/timing.properties | |
| 109 | +.mvn | |
| 110 | + | |
| 111 | +### Intellij ### | |
| 112 | +# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio and Webstorm | |
| 113 | +# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839 | |
| 114 | + | |
| 115 | +# User-specific stuff: | |
| 116 | +.idea/**/workspace.xml | |
| 117 | +.idea/**/compiler.xml | |
| 118 | +.idea/**/encodings.xml | |
| 119 | +.idea/**/jarRepositories.xml | |
| 120 | +.idea/**/misc.xml | |
| 121 | +.idea/**/vcs.xml | |
| 122 | +.idea/**/tasks.xml | |
| 123 | +.idea/dictionaries | |
| 124 | + | |
| 125 | +# Sensitive or high-churn files: | |
| 126 | +.idea/**/dataSources/ | |
| 127 | +.idea/**/dataSources.ids | |
| 128 | +.idea/**/dataSources.xml | |
| 129 | +.idea/**/dataSources.local.xml | |
| 130 | +.idea/**/sqlDataSources.xml | |
| 131 | +.idea/**/dynamic.xml | |
| 132 | +.idea/**/uiDesigner.xml | |
| 133 | + | |
| 134 | +# Gradle: | |
| 135 | +.idea/**/gradle.xml | |
| 136 | +.idea/**/libraries | |
| 137 | + | |
| 138 | +# CMake | |
| 139 | +cmake-build-debug/ | |
| 140 | + | |
| 141 | +# Mongo Explorer plugin: | |
| 142 | +.idea/**/mongoSettings.xml | |
| 143 | + | |
| 144 | +## File-based project format: | |
| 145 | +*.iws | |
| 146 | +/.idea/ | |
| 147 | +.idea | |
| 148 | +*.iws | |
| 149 | +*.iml | |
| 150 | +*.ipr | |
| 151 | +compiler.xml | |
| 152 | + | |
| 153 | +## Plugin-specific files: | |
| 154 | + | |
| 155 | +# IntelliJ | |
| 156 | +/out/ | |
| 157 | + | |
| 158 | +# mpeltonen/sbt-idea plugin | |
| 159 | +.idea_modules/ | |
| 160 | + | |
| 161 | +# JIRA plugin | |
| 162 | +atlassian-ide-plugin.xml | |
| 163 | + | |
| 164 | +# Cursive Clojure plugin | |
| 165 | +.idea/replstate.xml | |
| 166 | + | |
| 167 | +# Ruby plugin and RubyMine | |
| 168 | +/.rakeTasks | |
| 169 | + | |
| 170 | +# Crashlytics plugin (for Android Studio and IntelliJ) | |
| 171 | +com_crashlytics_export_strings.xml | |
| 172 | +crashlytics.properties | |
| 173 | +crashlytics-build.properties | |
| 174 | +fabric.properties | |
| 175 | + | |
| 176 | +### Intellij Patch ### | |
| 177 | +# Comment Reason: https://github.com/joeblau/gitignore.io/issues/186#issuecomment-215987721 | |
| 178 | + | |
| 179 | +# modules.xml | |
| 180 | +# .idea/misc.xml | |
| 181 | +# *.ipr | |
| 182 | + | |
| 183 | +# Sonarlint plugin | |
| 184 | +.idea/sonarlint | |
| 185 | + | |
| 186 | + | |
| 187 | +# End of https://www.gitignore.io/api/intellij | |
| 188 | +# /src/main/resources/db.properties | |
| 189 | +# /src/main/resources/ako.properties | |
| 190 | +# /src/main/resources/ako.properties | |
| 191 | +# /src/main/resources/db.properties | |
| 192 | + | |
| 193 | + | |
| 194 | +### VS Code ### | |
| 195 | +.vscode/ | |
| 196 | + | |
| 197 | +# jrebel | |
| 198 | +rebel.xml | |
| 199 | +/mvnw | |
| 200 | +/mvnw.cmd |
+++ DATABASE/excel_batch_template/zip_excel_sample.xls
| Binary file is not shown |
+++ DATABASE/mysql/all_ebt_data_mysql.sql
... | ... | @@ -0,0 +1,365 @@ |
| 1 | +#아래순서로 테이블생성 및 기초데이터 입력 | |
| 2 | + | |
| 3 | +# ID Generation | |
| 4 | +INSERT INTO IDS(TABLE_NAME,NEXT_ID) VALUES ('BBS_ID',1); | |
| 5 | +INSERT INTO IDS(TABLE_NAME,NEXT_ID) VALUES ('FILE_ID',1); | |
| 6 | +INSERT INTO IDS(TABLE_NAME,NEXT_ID) VALUES ('GROUP_ID',1); | |
| 7 | +INSERT INTO IDS(TABLE_NAME,NEXT_ID) VALUES ('LOGINLOG_ID',1); | |
| 8 | +INSERT INTO IDS(TABLE_NAME,NEXT_ID) VALUES ('ROLE_ID',1); | |
| 9 | +INSERT INTO IDS(TABLE_NAME,NEXT_ID) VALUES ('SAMPLE',1); | |
| 10 | +INSERT INTO IDS(TABLE_NAME,NEXT_ID) VALUES ('SYSLOG_ID',1); | |
| 11 | +INSERT INTO IDS(TABLE_NAME,NEXT_ID) VALUES ('TMPLAT_ID',1); | |
| 12 | +INSERT INTO IDS(TABLE_NAME,NEXT_ID) VALUES ('USRCNFRM_ID',2); | |
| 13 | + | |
| 14 | + | |
| 15 | +# 분류코드 | |
| 16 | +INSERT INTO LETTCCMMNCLCODE(CL_CODE,CL_CODE_NM,CL_CODE_DC,USE_AT,FRST_REGIST_PNTTM,FRST_REGISTER_ID,LAST_UPDT_PNTTM,LAST_UPDUSR_ID) VALUES ('LET','전자정부 프레임워크 경량환경 템플릿','전자정부 프레임워크 경량환경 템플릿1','Y','2011-08-02 21:13:03','SYSTEM','2011-08-09 17:17:08',null); | |
| 17 | + | |
| 18 | + | |
| 19 | +# 공통코드 | |
| 20 | +INSERT INTO LETTCCMMNCODE(CODE_ID,CODE_ID_NM,CODE_ID_DC,USE_AT,CL_CODE,FRST_REGIST_PNTTM,FRST_REGISTER_ID,LAST_UPDT_PNTTM,LAST_UPDUSR_ID) VALUES ('COM001','등록구분','게시판, 커뮤니티, 동호회 등록구분코드1','Y','LET','2011-08-02 21:13:03','SYSTEM','2011-08-09 17:56:24',null); | |
| 21 | +INSERT INTO LETTCCMMNCODE(CODE_ID,CODE_ID_NM,CODE_ID_DC,USE_AT,CL_CODE,FRST_REGIST_PNTTM,FRST_REGISTER_ID,LAST_UPDT_PNTTM,LAST_UPDUSR_ID) VALUES ('COM003','업무구분','업무구분코드','Y','LET','2011-08-02 21:13:03','SYSTEM','2011-08-02 21:13:03','SYSTEM'); | |
| 22 | +INSERT INTO LETTCCMMNCODE(CODE_ID,CODE_ID_NM,CODE_ID_DC,USE_AT,CL_CODE,FRST_REGIST_PNTTM,FRST_REGISTER_ID,LAST_UPDT_PNTTM,LAST_UPDUSR_ID) VALUES ('COM004','게시판유형','게시판유형구분코드','Y','LET','2011-08-02 21:13:03','SYSTEM','2011-08-02 21:13:03','SYSTEM'); | |
| 23 | +INSERT INTO LETTCCMMNCODE(CODE_ID,CODE_ID_NM,CODE_ID_DC,USE_AT,CL_CODE,FRST_REGIST_PNTTM,FRST_REGISTER_ID,LAST_UPDT_PNTTM,LAST_UPDUSR_ID) VALUES ('COM005','템플릿유형','템플릿유형구분코드','Y','LET','2011-08-02 21:13:03','SYSTEM','2011-08-02 21:13:03','SYSTEM'); | |
| 24 | +INSERT INTO LETTCCMMNCODE(CODE_ID,CODE_ID_NM,CODE_ID_DC,USE_AT,CL_CODE,FRST_REGIST_PNTTM,FRST_REGISTER_ID,LAST_UPDT_PNTTM,LAST_UPDUSR_ID) VALUES ('COM009','게시판속성','게시판 속성','Y','LET','2011-08-02 21:13:03','SYSTEM','2011-08-02 21:13:03','SYSTEM'); | |
| 25 | +INSERT INTO LETTCCMMNCODE(CODE_ID,CODE_ID_NM,CODE_ID_DC,USE_AT,CL_CODE,FRST_REGIST_PNTTM,FRST_REGISTER_ID,LAST_UPDT_PNTTM,LAST_UPDUSR_ID) VALUES ('COM013','회원상태','회원 가입 신청/승인/삭제를 위한 상태 구분','Y','LET','2011-08-11 11:32:57','SYSTEM','2011-08-11 11:32:57','SYSTEM'); | |
| 26 | +INSERT INTO LETTCCMMNCODE(CODE_ID,CODE_ID_NM,CODE_ID_DC,USE_AT,CL_CODE,FRST_REGIST_PNTTM,FRST_REGISTER_ID,LAST_UPDT_PNTTM,LAST_UPDUSR_ID) VALUES ('COM014','성별구분','남녀 성별 구분','Y','LET','2011-08-11 11:32:50','SYSTEM','2011-08-11 11:32:50','SYSTEM'); | |
| 27 | +INSERT INTO LETTCCMMNCODE(CODE_ID,CODE_ID_NM,CODE_ID_DC,USE_AT,CL_CODE,FRST_REGIST_PNTTM,FRST_REGISTER_ID,LAST_UPDT_PNTTM,LAST_UPDUSR_ID) VALUES ('COM022','비밀번호 힌트','비밀번호 힌트 구분코드','Y','LET','2011-08-11 11:31:02','SYSTEM','2011-08-11 11:31:02','SYSTEM'); | |
| 28 | +INSERT INTO LETTCCMMNCODE(CODE_ID,CODE_ID_NM,CODE_ID_DC,USE_AT,CL_CODE,FRST_REGIST_PNTTM,FRST_REGISTER_ID,LAST_UPDT_PNTTM,LAST_UPDUSR_ID) VALUES ('COM025','소속기관','소속기관정보를 관리할때 사용하는 구분코드(시스템별로 재정의)','Y','LET','2011-08-11 11:32:57','SYSTEM','2011-08-11 11:32:57','SYSTEM'); | |
| 29 | +INSERT INTO LETTCCMMNCODE(CODE_ID,CODE_ID_NM,CODE_ID_DC,USE_AT,CL_CODE,FRST_REGIST_PNTTM,FRST_REGISTER_ID,LAST_UPDT_PNTTM,LAST_UPDUSR_ID) VALUES ('COM029','롤유형코드','','Y','LET','2011-08-12 10:45:16','SYSTEM','2011-08-12 10:45:16','SYSTEM'); | |
| 30 | + | |
| 31 | + | |
| 32 | +# 공통상세코드 | |
| 33 | +INSERT INTO LETTCCMMNDETAILCODE(CODE_ID,CODE,CODE_NM,CODE_DC,USE_AT,FRST_REGIST_PNTTM,FRST_REGISTER_ID,LAST_UPDT_PNTTM,LAST_UPDUSR_ID) VALUES ('COM001','REGC01','단일 게시판 이용등록','단일 게시판 이용등록','Y','2011-08-02 21:13:03','SYSTEM','2011-08-02 21:13:03','SYSTEM'); | |
| 34 | +INSERT INTO LETTCCMMNDETAILCODE(CODE_ID,CODE,CODE_NM,CODE_DC,USE_AT,FRST_REGIST_PNTTM,FRST_REGISTER_ID,LAST_UPDT_PNTTM,LAST_UPDUSR_ID) VALUES ('COM001','REGC07','게시판사용자등록','게시판사용자등록','Y','2011-08-02 21:13:03','SYSTEM','2011-08-02 21:13:03','SYSTEM'); | |
| 35 | +INSERT INTO LETTCCMMNDETAILCODE(CODE_ID,CODE,CODE_NM,CODE_DC,USE_AT,FRST_REGIST_PNTTM,FRST_REGISTER_ID,LAST_UPDT_PNTTM,LAST_UPDUSR_ID) VALUES ('COM003','BBS','게시판','게시판','Y','2011-08-02 21:13:03','SYSTEM','2011-08-02 21:13:03','SYSTEM'); | |
| 36 | +INSERT INTO LETTCCMMNDETAILCODE(CODE_ID,CODE,CODE_NM,CODE_DC,USE_AT,FRST_REGIST_PNTTM,FRST_REGISTER_ID,LAST_UPDT_PNTTM,LAST_UPDUSR_ID) VALUES ('COM004','BBST01','일반게시판','일반게시판','Y','2011-08-02 21:13:03','SYSTEM','2011-08-02 21:13:03','SYSTEM'); | |
| 37 | +INSERT INTO LETTCCMMNDETAILCODE(CODE_ID,CODE,CODE_NM,CODE_DC,USE_AT,FRST_REGIST_PNTTM,FRST_REGISTER_ID,LAST_UPDT_PNTTM,LAST_UPDUSR_ID) VALUES ('COM004','BBST02','익명게시판','익명게시판','N','2011-08-02 21:13:03','SYSTEM','2011-08-02 21:13:03','SYSTEM'); | |
| 38 | +INSERT INTO LETTCCMMNDETAILCODE(CODE_ID,CODE,CODE_NM,CODE_DC,USE_AT,FRST_REGIST_PNTTM,FRST_REGISTER_ID,LAST_UPDT_PNTTM,LAST_UPDUSR_ID) VALUES ('COM004','BBST03','공지게시판','공지게시판','Y','2011-08-02 21:13:03','SYSTEM','2011-08-02 21:13:03','SYSTEM'); | |
| 39 | +INSERT INTO LETTCCMMNDETAILCODE(CODE_ID,CODE,CODE_NM,CODE_DC,USE_AT,FRST_REGIST_PNTTM,FRST_REGISTER_ID,LAST_UPDT_PNTTM,LAST_UPDUSR_ID) VALUES ('COM005','TMPT01','게시판템플릿','게시판템플릿','Y','2011-08-02 21:13:03','SYSTEM','2011-08-02 21:13:03','SYSTEM'); | |
| 40 | +INSERT INTO LETTCCMMNDETAILCODE(CODE_ID,CODE,CODE_NM,CODE_DC,USE_AT,FRST_REGIST_PNTTM,FRST_REGISTER_ID,LAST_UPDT_PNTTM,LAST_UPDUSR_ID) VALUES ('COM009','BBSA01','유효게시판','유효게시판','N','2011-08-02 21:13:03','SYSTEM','2011-08-02 21:13:03','SYSTEM'); | |
| 41 | +INSERT INTO LETTCCMMNDETAILCODE(CODE_ID,CODE,CODE_NM,CODE_DC,USE_AT,FRST_REGIST_PNTTM,FRST_REGISTER_ID,LAST_UPDT_PNTTM,LAST_UPDUSR_ID) VALUES ('COM009','BBSA02','갤러리','갤러리','Y','2011-08-02 21:13:03','SYSTEM','2011-08-02 21:13:03','SYSTEM'); | |
| 42 | +INSERT INTO LETTCCMMNDETAILCODE(CODE_ID,CODE,CODE_NM,CODE_DC,USE_AT,FRST_REGIST_PNTTM,FRST_REGISTER_ID,LAST_UPDT_PNTTM,LAST_UPDUSR_ID) VALUES ('COM009','BBSA03','일반게시판','일반게시판','Y','2011-08-02 21:13:03','SYSTEM','2011-08-02 21:13:03','SYSTEM'); | |
| 43 | +INSERT INTO LETTCCMMNDETAILCODE(CODE_ID,CODE,CODE_NM,CODE_DC,USE_AT,FRST_REGIST_PNTTM,FRST_REGISTER_ID,LAST_UPDT_PNTTM,LAST_UPDUSR_ID) VALUES ('COM013','A','회원 가입 신청 상태','회원 가입 신청 상태','Y','2011-08-11 11:32:57','SYSTEM','2011-08-11 11:32:57','SYSTEM'); | |
| 44 | +INSERT INTO LETTCCMMNDETAILCODE(CODE_ID,CODE,CODE_NM,CODE_DC,USE_AT,FRST_REGIST_PNTTM,FRST_REGISTER_ID,LAST_UPDT_PNTTM,LAST_UPDUSR_ID) VALUES ('COM013','D','회원 가입 삭제 상태','회원 가입 삭제 상태','Y','2011-08-11 11:32:57','SYSTEM','2011-08-11 11:32:57','SYSTEM'); | |
| 45 | +INSERT INTO LETTCCMMNDETAILCODE(CODE_ID,CODE,CODE_NM,CODE_DC,USE_AT,FRST_REGIST_PNTTM,FRST_REGISTER_ID,LAST_UPDT_PNTTM,LAST_UPDUSR_ID) VALUES ('COM013','P','회원 가입 승인 상태','회원 가입 승인 상태','Y','2011-08-11 11:32:57','SYSTEM','2011-08-11 11:32:57','SYSTEM'); | |
| 46 | +INSERT INTO LETTCCMMNDETAILCODE(CODE_ID,CODE,CODE_NM,CODE_DC,USE_AT,FRST_REGIST_PNTTM,FRST_REGISTER_ID,LAST_UPDT_PNTTM,LAST_UPDUSR_ID) VALUES ('COM014','F','여자','여자','Y','2011-08-11 11:32:57','SYSTEM','2011-08-11 11:32:57','SYSTEM'); | |
| 47 | +INSERT INTO LETTCCMMNDETAILCODE(CODE_ID,CODE,CODE_NM,CODE_DC,USE_AT,FRST_REGIST_PNTTM,FRST_REGISTER_ID,LAST_UPDT_PNTTM,LAST_UPDUSR_ID) VALUES ('COM014','M','남자','남자','Y','2011-08-11 11:32:57','SYSTEM','2011-08-11 11:32:57','SYSTEM'); | |
| 48 | +INSERT INTO LETTCCMMNDETAILCODE(CODE_ID,CODE,CODE_NM,CODE_DC,USE_AT,FRST_REGIST_PNTTM,FRST_REGISTER_ID,LAST_UPDT_PNTTM,LAST_UPDUSR_ID) VALUES ('COM022',' P01','가장 기억에 남는 장소는?','가장 기억에 남는 장소는?','Y','2011-08-11 11:32:57','SYSTEM','2011-08-11 11:32:57','SYSTEM'); | |
| 49 | +INSERT INTO LETTCCMMNDETAILCODE(CODE_ID,CODE,CODE_NM,CODE_DC,USE_AT,FRST_REGIST_PNTTM,FRST_REGISTER_ID,LAST_UPDT_PNTTM,LAST_UPDUSR_ID) VALUES ('COM022',' P02','나의 좌우명은?','나의 좌우명은?','Y','2011-08-11 11:32:57','SYSTEM','2011-08-11 11:32:57','SYSTEM'); | |
| 50 | +INSERT INTO LETTCCMMNDETAILCODE(CODE_ID,CODE,CODE_NM,CODE_DC,USE_AT,FRST_REGIST_PNTTM,FRST_REGISTER_ID,LAST_UPDT_PNTTM,LAST_UPDUSR_ID) VALUES ('COM022',' P03','나의 보물 제1호는?','나의 보물 제1호는?','Y','2011-08-11 11:32:57','SYSTEM','2011-08-11 11:32:57','SYSTEM'); | |
| 51 | +INSERT INTO LETTCCMMNDETAILCODE(CODE_ID,CODE,CODE_NM,CODE_DC,USE_AT,FRST_REGIST_PNTTM,FRST_REGISTER_ID,LAST_UPDT_PNTTM,LAST_UPDUSR_ID) VALUES ('COM022',' P04','가장 기억에 남는 선생님 성함은?','가장 기억에 남는 선생님 성함은?','Y','2011-08-11 11:32:57','SYSTEM','2011-08-11 11:32:57','SYSTEM'); | |
| 52 | +INSERT INTO LETTCCMMNDETAILCODE(CODE_ID,CODE,CODE_NM,CODE_DC,USE_AT,FRST_REGIST_PNTTM,FRST_REGISTER_ID,LAST_UPDT_PNTTM,LAST_UPDUSR_ID) VALUES ('COM022',' P05','다른 사람은 모르는 나만의 신체비밀은?','다른 사람은 모르는 나만의 신체비밀은?','Y','2011-08-11 11:32:57','SYSTEM','2011-08-11 11:32:57','SYSTEM'); | |
| 53 | +INSERT INTO LETTCCMMNDETAILCODE(CODE_ID,CODE,CODE_NM,CODE_DC,USE_AT,FRST_REGIST_PNTTM,FRST_REGISTER_ID,LAST_UPDT_PNTTM,LAST_UPDUSR_ID) VALUES ('COM025','00000001','공공기관','공공기관','Y','2011-08-11 11:33:10','SYSTEM','2011-08-11 11:33:10','SYSTEM'); | |
| 54 | +INSERT INTO LETTCCMMNDETAILCODE(CODE_ID,CODE,CODE_NM,CODE_DC,USE_AT,FRST_REGIST_PNTTM,FRST_REGISTER_ID,LAST_UPDT_PNTTM,LAST_UPDUSR_ID) VALUES ('COM025','00000002','금융기관','금융기관','Y','2011-08-11 11:33:10','SYSTEM','2011-08-11 11:33:10','SYSTEM'); | |
| 55 | +INSERT INTO LETTCCMMNDETAILCODE(CODE_ID,CODE,CODE_NM,CODE_DC,USE_AT,FRST_REGIST_PNTTM,FRST_REGISTER_ID,LAST_UPDT_PNTTM,LAST_UPDUSR_ID) VALUES ('COM025','00000003','교육기관','교육기관','Y','2011-08-11 11:33:10','SYSTEM','2011-08-11 11:33:10','SYSTEM'); | |
| 56 | +INSERT INTO LETTCCMMNDETAILCODE(CODE_ID,CODE,CODE_NM,CODE_DC,USE_AT,FRST_REGIST_PNTTM,FRST_REGISTER_ID,LAST_UPDT_PNTTM,LAST_UPDUSR_ID) VALUES ('COM025','00000004','의료기관','의료기관','Y','2011-08-11 11:33:10','SYSTEM','2011-08-11 11:33:10','SYSTEM'); | |
| 57 | +INSERT INTO LETTCCMMNDETAILCODE(CODE_ID,CODE,CODE_NM,CODE_DC,USE_AT,FRST_REGIST_PNTTM,FRST_REGISTER_ID,LAST_UPDT_PNTTM,LAST_UPDUSR_ID) VALUES ('COM029','url','URL','URL','Y','2011-08-12 10:46:18','SYSTEM','2011-08-12 10:46:18','SYSTEM'); | |
| 58 | + | |
| 59 | + | |
| 60 | +# 조직정보 | |
| 61 | +INSERT INTO LETTNORGNZTINFO(ORGNZT_ID,ORGNZT_NM,ORGNZT_DC) VALUES ('ORGNZT_0000000000000','기본조직','기본조직'); | |
| 62 | + | |
| 63 | + | |
| 64 | +# 그룹정보 | |
| 65 | +INSERT INTO LETTNAUTHORGROUPINFO(GROUP_ID,GROUP_NM,GROUP_CREAT_DE,GROUP_DC) VALUES ('GROUP_00000000000000','기본 그룹입니다','2011-08-02 21:01:59','기본 그룹'); | |
| 66 | + | |
| 67 | + | |
| 68 | +# 권한정보 | |
| 69 | +INSERT INTO LETTNAUTHORINFO(AUTHOR_CODE,AUTHOR_NM,AUTHOR_DC,AUTHOR_CREAT_DE) VALUES ('ROLE_ADMIN','관리자','시스템관리자','2011-08-03'); | |
| 70 | +INSERT INTO LETTNAUTHORINFO(AUTHOR_CODE,AUTHOR_NM,AUTHOR_DC,AUTHOR_CREAT_DE) VALUES ('ROLE_ANONYMOUS','오픈기능','오픈기능','2011-08-03'); | |
| 71 | +INSERT INTO LETTNAUTHORINFO(AUTHOR_CODE,AUTHOR_NM,AUTHOR_DC,AUTHOR_CREAT_DE) VALUES ('ROLE_USER_MEMBER','사용자','일반사용자','2011-08-03'); | |
| 72 | + | |
| 73 | + | |
| 74 | +# 권한(롤)계층정보 | |
| 75 | +INSERT INTO LETTNROLES_HIERARCHY(PARNTS_ROLE,CHLDRN_ROLE) VALUES ('ROLE_USER_MEMBER','ROLE_ADMIN'); | |
| 76 | +INSERT INTO LETTNROLES_HIERARCHY(PARNTS_ROLE,CHLDRN_ROLE) VALUES ('ROLE_ANONYMOUS','ROLE_USER_MEMBER'); | |
| 77 | + | |
| 78 | + | |
| 79 | +# 롤정보 | |
| 80 | +INSERT INTO LETTNROLEINFO(ROLE_CODE,ROLE_NM,ROLE_PTTRN,ROLE_DC,ROLE_TY,ROLE_SORT,ROLE_CREAT_DE) VALUES ('cop-bbs','cop-bbs','/cop/bbs/.*.do.*','게시판','url','1','2011-08-31 15:41:24'); | |
| 81 | +INSERT INTO LETTNROLEINFO(ROLE_CODE,ROLE_NM,ROLE_PTTRN,ROLE_DC,ROLE_TY,ROLE_SORT,ROLE_CREAT_DE) VALUES ('cop-com','cop-com','/cop/com/.*.do.*','게시판사용','url','2','2011-08-24 0:00'); | |
| 82 | +INSERT INTO LETTNROLEINFO(ROLE_CODE,ROLE_NM,ROLE_PTTRN,ROLE_DC,ROLE_TY,ROLE_SORT,ROLE_CREAT_DE) VALUES ('sec-gmt','sec-gmt','/sec/gmt/.*.do.*','그룹관리','url','3','2011-08-24 0:00'); | |
| 83 | +INSERT INTO LETTNROLEINFO(ROLE_CODE,ROLE_NM,ROLE_PTTRN,ROLE_DC,ROLE_TY,ROLE_SORT,ROLE_CREAT_DE) VALUES ('sec-ram','sec-ram','/sec/ram/.*.do.*','권한관리','url','4','2011-08-24 0:00'); | |
| 84 | +INSERT INTO LETTNROLEINFO(ROLE_CODE,ROLE_NM,ROLE_PTTRN,ROLE_DC,ROLE_TY,ROLE_SORT,ROLE_CREAT_DE) VALUES ('sec-rgm','sec-rgm','/sec/rgm/.*.do.*','권한그룹관리','url','5','2011-08-24 0:00'); | |
| 85 | +INSERT INTO LETTNROLEINFO(ROLE_CODE,ROLE_NM,ROLE_PTTRN,ROLE_DC,ROLE_TY,ROLE_SORT,ROLE_CREAT_DE) VALUES ('sec-rmt','sec-rmt','/sec/rmt/.*.do.*','롤관리','url','6','2011-08-24 0:00'); | |
| 86 | +INSERT INTO LETTNROLEINFO(ROLE_CODE,ROLE_NM,ROLE_PTTRN,ROLE_DC,ROLE_TY,ROLE_SORT,ROLE_CREAT_DE) VALUES ('sts-cst','sts-cst','/sts/cst/.*.do.*','접속통계','url','7','2011-08-24 0:00'); | |
| 87 | +INSERT INTO LETTNROLEINFO(ROLE_CODE,ROLE_NM,ROLE_PTTRN,ROLE_DC,ROLE_TY,ROLE_SORT,ROLE_CREAT_DE) VALUES ('sym-ccm-cca','sym-ccm-cca','/sym/ccm/cca/.*.do.*','공통코드 등록','url','8','2011-08-24 0:00'); | |
| 88 | +INSERT INTO LETTNROLEINFO(ROLE_CODE,ROLE_NM,ROLE_PTTRN,ROLE_DC,ROLE_TY,ROLE_SORT,ROLE_CREAT_DE) VALUES ('sym-ccm-ccc','sym-ccm-ccc','/sym/ccm/ccc/.*.do.*','공통분류코드 상세조회','url','9','2011-08-24 0:00'); | |
| 89 | +INSERT INTO LETTNROLEINFO(ROLE_CODE,ROLE_NM,ROLE_PTTRN,ROLE_DC,ROLE_TY,ROLE_SORT,ROLE_CREAT_DE) VALUES ('sym-ccm-cde','sym-ccm-cde','/sym/ccm/cde/.*.do.*','공통상세코드 등록','url','10','2011-08-24 0:00'); | |
| 90 | +INSERT INTO LETTNROLEINFO(ROLE_CODE,ROLE_NM,ROLE_PTTRN,ROLE_DC,ROLE_TY,ROLE_SORT,ROLE_CREAT_DE) VALUES ('sym-ccm-zip','sym-ccm-zip','/sym/ccm/zip/.*.do.*','우편번호','url','11','2011-08-24 0:00'); | |
| 91 | +INSERT INTO LETTNROLEINFO(ROLE_CODE,ROLE_NM,ROLE_PTTRN,ROLE_DC,ROLE_TY,ROLE_SORT,ROLE_CREAT_DE) VALUES ('sym-cmm','sym-cmm','/sym/cmm/.*.do.*','우편번호 찾기','url','12','2011-08-24 0:00'); | |
| 92 | +INSERT INTO LETTNROLEINFO(ROLE_CODE,ROLE_NM,ROLE_PTTRN,ROLE_DC,ROLE_TY,ROLE_SORT,ROLE_CREAT_DE) VALUES ('sym-log-clg','sym-log-clg','/sym/log/clg/.*.do.*','로그인로그조회','url','13','2011-08-24 0:00'); | |
| 93 | +INSERT INTO LETTNROLEINFO(ROLE_CODE,ROLE_NM,ROLE_PTTRN,ROLE_DC,ROLE_TY,ROLE_SORT,ROLE_CREAT_DE) VALUES ('sym-mnu-mcm','sym-mnu-mcm','/sym/mnu/mcm/.*.do.*','메뉴생성관리','url','14','2011-08-24 0:00'); | |
| 94 | +INSERT INTO LETTNROLEINFO(ROLE_CODE,ROLE_NM,ROLE_PTTRN,ROLE_DC,ROLE_TY,ROLE_SORT,ROLE_CREAT_DE) VALUES ('sym-mnu-mpm','sym-mnu-mpm','/sym/mnu/mpm/.*.do.*','메뉴관리','url','15','2011-08-24 0:00'); | |
| 95 | +INSERT INTO LETTNROLEINFO(ROLE_CODE,ROLE_NM,ROLE_PTTRN,ROLE_DC,ROLE_TY,ROLE_SORT,ROLE_CREAT_DE) VALUES ('sym-prm','sym-prm','/sym/prm/.*.do.*','프로그램목록관리','url','16','2011-08-24 0:00'); | |
| 96 | +INSERT INTO LETTNROLEINFO(ROLE_CODE,ROLE_NM,ROLE_PTTRN,ROLE_DC,ROLE_TY,ROLE_SORT,ROLE_CREAT_DE) VALUES ('uat-uap','uat-uap','/uat/uap/.*.do.*','로그인정책관리','url','17','2011-08-24 0:00'); | |
| 97 | +INSERT INTO LETTNROLEINFO(ROLE_CODE,ROLE_NM,ROLE_PTTRN,ROLE_DC,ROLE_TY,ROLE_SORT,ROLE_CREAT_DE) VALUES ('uat-uia','uat-uia','/uat/uia/.*.do.*','로그인메인','url','18','2011-08-24 0:00'); | |
| 98 | +INSERT INTO LETTNROLEINFO(ROLE_CODE,ROLE_NM,ROLE_PTTRN,ROLE_DC,ROLE_TY,ROLE_SORT,ROLE_CREAT_DE) VALUES ('uss-ion-uas','uss-ion-uas','/uss/ion/uas/.*.do.*','사용자부재관리','url','19','2011-08-24 0:00'); | |
| 99 | +INSERT INTO LETTNROLEINFO(ROLE_CODE,ROLE_NM,ROLE_PTTRN,ROLE_DC,ROLE_TY,ROLE_SORT,ROLE_CREAT_DE) VALUES ('uss-umt-cmm','uss-umt-cmm','/uss/umt/cmm/.*.do.*','아이디중복확인','url','20','2011-08-24 0:00'); | |
| 100 | +INSERT INTO LETTNROLEINFO(ROLE_CODE,ROLE_NM,ROLE_PTTRN,ROLE_DC,ROLE_TY,ROLE_SORT,ROLE_CREAT_DE) VALUES ('uss-umt-user','uss-umt-user','/uss/umt/user/.*.do.*','사용자등록','url','21','2011-08-24 0:00'); | |
| 101 | + | |
| 102 | + | |
| 103 | +# 권한별 롤 | |
| 104 | +INSERT INTO LETTNAUTHORROLERELATE(AUTHOR_CODE,ROLE_CODE,CREAT_DT) VALUES ('ROLE_ADMIN','sec-gmt','2009-08-25 00:00:00'); | |
| 105 | +INSERT INTO LETTNAUTHORROLERELATE(AUTHOR_CODE,ROLE_CODE,CREAT_DT) VALUES ('ROLE_ADMIN','sec-ram','2009-08-25 00:00:00'); | |
| 106 | +INSERT INTO LETTNAUTHORROLERELATE(AUTHOR_CODE,ROLE_CODE,CREAT_DT) VALUES ('ROLE_ADMIN','sec-rgm','2009-08-25 00:00:00'); | |
| 107 | +INSERT INTO LETTNAUTHORROLERELATE(AUTHOR_CODE,ROLE_CODE,CREAT_DT) VALUES ('ROLE_ADMIN','sec-rmt','2009-08-25 00:00:00'); | |
| 108 | +INSERT INTO LETTNAUTHORROLERELATE(AUTHOR_CODE,ROLE_CODE,CREAT_DT) VALUES ('ROLE_ADMIN','sym-ccm-cca','2009-08-25 00:00:00'); | |
| 109 | +INSERT INTO LETTNAUTHORROLERELATE(AUTHOR_CODE,ROLE_CODE,CREAT_DT) VALUES ('ROLE_ADMIN','sym-ccm-ccc','2009-08-25 00:00:00'); | |
| 110 | +INSERT INTO LETTNAUTHORROLERELATE(AUTHOR_CODE,ROLE_CODE,CREAT_DT) VALUES ('ROLE_ADMIN','sym-ccm-cde','2009-08-25 00:00:00'); | |
| 111 | +INSERT INTO LETTNAUTHORROLERELATE(AUTHOR_CODE,ROLE_CODE,CREAT_DT) VALUES ('ROLE_ADMIN','sym-ccm-zip','2009-08-25 00:00:00'); | |
| 112 | +INSERT INTO LETTNAUTHORROLERELATE(AUTHOR_CODE,ROLE_CODE,CREAT_DT) VALUES ('ROLE_ADMIN','sym-mnu-mcm','2009-08-25 00:00:00'); | |
| 113 | +INSERT INTO LETTNAUTHORROLERELATE(AUTHOR_CODE,ROLE_CODE,CREAT_DT) VALUES ('ROLE_ADMIN','sym-mnu-mpm','2009-08-25 00:00:00'); | |
| 114 | +INSERT INTO LETTNAUTHORROLERELATE(AUTHOR_CODE,ROLE_CODE,CREAT_DT) VALUES ('ROLE_ADMIN','sym-prm','2009-08-25 00:00:00'); | |
| 115 | +INSERT INTO LETTNAUTHORROLERELATE(AUTHOR_CODE,ROLE_CODE,CREAT_DT) VALUES ('ROLE_ADMIN','uat-uap','2009-08-25 00:00:00'); | |
| 116 | +INSERT INTO LETTNAUTHORROLERELATE(AUTHOR_CODE,ROLE_CODE,CREAT_DT) VALUES ('ROLE_ADMIN','uss-umt-cmm','2009-08-25 00:00:00'); | |
| 117 | +INSERT INTO LETTNAUTHORROLERELATE(AUTHOR_CODE,ROLE_CODE,CREAT_DT) VALUES ('ROLE_ADMIN','uss-umt-user','2009-08-25 00:00:00'); | |
| 118 | +INSERT INTO LETTNAUTHORROLERELATE(AUTHOR_CODE,ROLE_CODE,CREAT_DT) VALUES ('ROLE_ANONYMOUS','cop-bbs','2009-08-25 00:00:00'); | |
| 119 | +INSERT INTO LETTNAUTHORROLERELATE(AUTHOR_CODE,ROLE_CODE,CREAT_DT) VALUES ('ROLE_ANONYMOUS','sym-cmm','2009-08-25 00:00:00'); | |
| 120 | +INSERT INTO LETTNAUTHORROLERELATE(AUTHOR_CODE,ROLE_CODE,CREAT_DT) VALUES ('ROLE_ANONYMOUS','uat-uia','2009-08-25 00:00:00'); | |
| 121 | +INSERT INTO LETTNAUTHORROLERELATE(AUTHOR_CODE,ROLE_CODE,CREAT_DT) VALUES ('ROLE_USER_MEMBER','cop-com','2009-08-25 00:00:00'); | |
| 122 | +INSERT INTO LETTNAUTHORROLERELATE(AUTHOR_CODE,ROLE_CODE,CREAT_DT) VALUES ('ROLE_USER_MEMBER','sts-cst','2009-08-25 00:00:00'); | |
| 123 | +INSERT INTO LETTNAUTHORROLERELATE(AUTHOR_CODE,ROLE_CODE,CREAT_DT) VALUES ('ROLE_USER_MEMBER','sym-log-clg','2009-08-25 00:00:00'); | |
| 124 | +INSERT INTO LETTNAUTHORROLERELATE(AUTHOR_CODE,ROLE_CODE,CREAT_DT) VALUES ('ROLE_USER_MEMBER','uss-ion-uas','2009-08-25 00:00:00'); | |
| 125 | + | |
| 126 | + | |
| 127 | +# 사용자정보 | |
| 128 | +INSERT INTO LETTNEMPLYRINFO(EMPLYR_ID,ORGNZT_ID,USER_NM,PASSWORD,EMPL_NO,IHIDNUM,SEXDSTN_CODE,BRTHDY,FXNUM,HOUSE_ADRES,PASSWORD_HINT,PASSWORD_CNSR,HOUSE_END_TELNO,AREA_NO,DETAIL_ADRES,ZIP,OFFM_TELNO,MBTLNUM,EMAIL_ADRES,OFCPS_NM,HOUSE_MIDDLE_TELNO,GROUP_ID,PSTINST_CODE,EMPLYR_STTUS_CODE,ESNTL_ID,CRTFC_DN_VALUE,SBSCRB_DE) VALUES ('admin','ORGNZT_0000000000000','관리자','JfQ7FIatlaE5jj7rPYO8QBABX8yb7bNbQy4AKY1QIfc=','','','','','','','P01','123','','','','','','123456789','admin@test.com','','','GROUP_00000000000000','00000000','P','USRCNFRM_00000000000','','2011-08-02 21:13:03'); | |
| 129 | +INSERT INTO LETTNEMPLYRINFO(EMPLYR_ID,ORGNZT_ID,USER_NM,PASSWORD,EMPL_NO,IHIDNUM,SEXDSTN_CODE,BRTHDY,FXNUM,HOUSE_ADRES,PASSWORD_HINT,PASSWORD_CNSR,HOUSE_END_TELNO,AREA_NO,DETAIL_ADRES,ZIP,OFFM_TELNO,MBTLNUM,EMAIL_ADRES,OFCPS_NM,HOUSE_MIDDLE_TELNO,GROUP_ID,PSTINST_CODE,EMPLYR_STTUS_CODE,ESNTL_ID,CRTFC_DN_VALUE,SBSCRB_DE) VALUES ('user1','ORGNZT_0000000000000','유저1','gRFeMeIqWAGxl3UOwS16Ua1pOqAX7Mi8oDPL1QCpKLY=','','','','','','','P01','123','','','','','','123456789','test01@test.com','','','GROUP_00000000000000','00000000','P','USRCNFRM_00000000001','','2011-08-11 17:00:18'); | |
| 130 | + | |
| 131 | + | |
| 132 | +# 사용자별권한설정 | |
| 133 | +INSERT INTO LETTNEMPLYRSCRTYESTBS(SCRTY_DTRMN_TRGET_ID,MBER_TY_CODE,AUTHOR_CODE) VALUES ('USRCNFRM_00000000000','USR','ROLE_ADMIN'); | |
| 134 | +INSERT INTO LETTNEMPLYRSCRTYESTBS(SCRTY_DTRMN_TRGET_ID,MBER_TY_CODE,AUTHOR_CODE) VALUES ('USRCNFRM_00000000001','USR','ROLE_USER_MEMBER'); | |
| 135 | + | |
| 136 | + | |
| 137 | +# 게시판템플릿 | |
| 138 | +INSERT INTO LETTNTMPLATINFO(TMPLAT_ID,TMPLAT_NM,TMPLAT_COURS,USE_AT,TMPLAT_SE_CODE,FRST_REGISTER_ID,FRST_REGIST_PNTTM,LAST_UPDUSR_ID,LAST_UPDT_PNTTM) VALUES ('TMPLAT_BOARD_DEFAULT','게시판 기본템플릿','/css/egovframework/cop/bbs/egovbbsTemplate.css','Y','TMPT01','USRCNFRM_00000000000','2011-08-02 21:01:59','USRCNFRM_00000000000','2011-08-08 16:12:57'); | |
| 139 | + | |
| 140 | + | |
| 141 | +# 게시판마스터 | |
| 142 | +INSERT INTO LETTNBBSMASTER(BBS_ID,BBS_NM,BBS_INTRCN,BBS_TY_CODE,BBS_ATTRB_CODE,REPLY_POSBL_AT,FILE_ATCH_POSBL_AT,ATCH_POSBL_FILE_NUMBER,ATCH_POSBL_FILE_SIZE,USE_AT,TMPLAT_ID,FRST_REGISTER_ID,FRST_REGIST_PNTTM,LAST_UPDUSR_ID,LAST_UPDT_PNTTM) VALUES ('BBSMSTR_AAAAAAAAAAAA','공지사항','공지사항게시판','BBST03','BBSA03','Y','Y',2,5242880,'Y','TMPLAT_BOARD_DEFAULT','USRCNFRM_00000000000','2011-08-31 12:00:00','USRCNFRM_00000000000','2011-08-31 12:00:00'); | |
| 143 | +INSERT INTO LETTNBBSMASTER(BBS_ID,BBS_NM,BBS_INTRCN,BBS_TY_CODE,BBS_ATTRB_CODE,REPLY_POSBL_AT,FILE_ATCH_POSBL_AT,ATCH_POSBL_FILE_NUMBER,ATCH_POSBL_FILE_SIZE,USE_AT,TMPLAT_ID,FRST_REGISTER_ID,FRST_REGIST_PNTTM,LAST_UPDUSR_ID,LAST_UPDT_PNTTM) VALUES ('BBSMSTR_BBBBBBBBBBBB','갤러리','갤러리게시판','BBST01','BBSA02','Y','Y',2,5242880,'Y','TMPLAT_BOARD_DEFAULT','USRCNFRM_00000000000','2011-08-31 12:00:00','USRCNFRM_00000000000','2011-08-31 12:00:00'); | |
| 144 | +INSERT INTO LETTNBBSMASTER(BBS_ID,BBS_NM,BBS_INTRCN,BBS_TY_CODE,BBS_ATTRB_CODE,REPLY_POSBL_AT,FILE_ATCH_POSBL_AT,ATCH_POSBL_FILE_NUMBER,ATCH_POSBL_FILE_SIZE,USE_AT,TMPLAT_ID,FRST_REGISTER_ID,FRST_REGIST_PNTTM,LAST_UPDUSR_ID,LAST_UPDT_PNTTM) VALUES ('BBSMSTR_CCCCCCCCCCCC','자료실','자료실게시판','BBST01','BBSA03','Y','Y',2,5242880,'Y','TMPLAT_BOARD_DEFAULT','USRCNFRM_00000000000','2011-08-31 12:00:00','USRCNFRM_00000000000','2011-08-31 12:00:00'); | |
| 145 | + | |
| 146 | + | |
| 147 | +# 게시판사용 | |
| 148 | +INSERT INTO LETTNBBSUSE(BBS_ID,TRGET_ID,USE_AT,REGIST_SE_CODE,FRST_REGIST_PNTTM,FRST_REGISTER_ID,LAST_UPDT_PNTTM,LAST_UPDUSR_ID) VALUES ('BBSMSTR_AAAAAAAAAAAA','SYSTEM_DEFAULT_BOARD','Y','REGC01','2011-08-31 12:00:00','USRCNFRM_00000000000','2011-08-31 12:00:00','USRCNFRM_00000000000'); | |
| 149 | +INSERT INTO LETTNBBSUSE(BBS_ID,TRGET_ID,USE_AT,REGIST_SE_CODE,FRST_REGIST_PNTTM,FRST_REGISTER_ID,LAST_UPDT_PNTTM,LAST_UPDUSR_ID) VALUES ('BBSMSTR_BBBBBBBBBBBB','SYSTEM_DEFAULT_BOARD','Y','REGC01','2011-08-31 12:00:00','USRCNFRM_00000000000','2011-08-31 12:00:00','USRCNFRM_00000000000'); | |
| 150 | +INSERT INTO LETTNBBSUSE(BBS_ID,TRGET_ID,USE_AT,REGIST_SE_CODE,FRST_REGIST_PNTTM,FRST_REGISTER_ID,LAST_UPDT_PNTTM,LAST_UPDUSR_ID) VALUES ('BBSMSTR_CCCCCCCCCCCC','SYSTEM_DEFAULT_BOARD','Y','REGC01','2011-08-31 12:00:00','USRCNFRM_00000000000','2011-08-31 12:00:00','USRCNFRM_00000000000'); | |
| 151 | + | |
| 152 | + | |
| 153 | +#프로그램목록 | |
| 154 | +INSERT INTO LETTNPROGRMLIST(PROGRM_FILE_NM,PROGRM_STRE_PATH,PROGRM_KOREAN_NM,PROGRM_DC,URL) VALUES ('dir','/','디렉토리','디렉토리','/'); | |
| 155 | +INSERT INTO LETTNPROGRMLIST(PROGRM_FILE_NM,PROGRM_STRE_PATH,PROGRM_KOREAN_NM,PROGRM_DC,URL) VALUES ('EgovAuthorGroupManage','/sec/rgm/','권한그룹관리','권한그룹관리','/sec/rgm/EgovAuthorGroupListView.do'); | |
| 156 | +INSERT INTO LETTNPROGRMLIST(PROGRM_FILE_NM,PROGRM_STRE_PATH,PROGRM_KOREAN_NM,PROGRM_DC,URL) VALUES ('EgovAuthorInsert','/sec/ram/','권한등록','권한등록','/sec/ram/EgovAuthorInsertView.do'); | |
| 157 | +INSERT INTO LETTNPROGRMLIST(PROGRM_FILE_NM,PROGRM_STRE_PATH,PROGRM_KOREAN_NM,PROGRM_DC,URL) VALUES ('EgovAuthorManage','/sec/ram/','권한관리','권한관리','/sec/ram/EgovAuthorList.do'); | |
| 158 | +INSERT INTO LETTNPROGRMLIST(PROGRM_FILE_NM,PROGRM_STRE_PATH,PROGRM_KOREAN_NM,PROGRM_DC,URL) VALUES ('EgovAuthorRoleManage','/sec/ram/','사용자별권한관리','사용자별권한롤관리','/sec/rgm/EgovAuthorGroupListView.do'); | |
| 159 | +INSERT INTO LETTNPROGRMLIST(PROGRM_FILE_NM,PROGRM_STRE_PATH,PROGRM_KOREAN_NM,PROGRM_DC,URL) VALUES ('EgovAuthorUpdt','/sec/ram/','권한수정','권한수정','/sec/ram/EgovAuthor.do'); | |
| 160 | +INSERT INTO LETTNPROGRMLIST(PROGRM_FILE_NM,PROGRM_STRE_PATH,PROGRM_KOREAN_NM,PROGRM_DC,URL) VALUES ('EgovBoardMstrList','/cop/bbs/','게시판 목록조회','게시판 목록조회','/cop/bbs/SelectBBSMasterInfs.do'); | |
| 161 | +INSERT INTO LETTNPROGRMLIST(PROGRM_FILE_NM,PROGRM_STRE_PATH,PROGRM_KOREAN_NM,PROGRM_DC,URL) VALUES ('EgovBoardMstrRegist','/cop/bbs/','게시판 생성','게시판 생성','/cop/bbs/addBBSMaster.do'); | |
| 162 | +INSERT INTO LETTNPROGRMLIST(PROGRM_FILE_NM,PROGRM_STRE_PATH,PROGRM_KOREAN_NM,PROGRM_DC,URL) VALUES ('EgovBoardMstrUpdt','/cop/bbs/','게시판 수정','게시판 수정','/cop/bbs/SelectBBSMasterInf.do'); | |
| 163 | +INSERT INTO LETTNPROGRMLIST(PROGRM_FILE_NM,PROGRM_STRE_PATH,PROGRM_KOREAN_NM,PROGRM_DC,URL) VALUES ('EgovBoardUseInfInqire','/cop/com/','게시판사용여부 상세조회','게시판사용여부 상세조회','/cop/com/selectBBSUseInf.do'); | |
| 164 | +INSERT INTO LETTNPROGRMLIST(PROGRM_FILE_NM,PROGRM_STRE_PATH,PROGRM_KOREAN_NM,PROGRM_DC,URL) VALUES ('EgovBoardUseInfList','/cop/com/','게시판사용여부 목록 조회','게시판사용여부 목록 조회','/cop/com/selectBBSUseInfs.do'); | |
| 165 | +INSERT INTO LETTNPROGRMLIST(PROGRM_FILE_NM,PROGRM_STRE_PATH,PROGRM_KOREAN_NM,PROGRM_DC,URL) VALUES ('EgovBoardUseInfRegist','/cop/com/','게시판사용여부 등록','게시판사용여부 등록','/cop/com/addBBSUseInf.do'); | |
| 166 | +INSERT INTO LETTNPROGRMLIST(PROGRM_FILE_NM,PROGRM_STRE_PATH,PROGRM_KOREAN_NM,PROGRM_DC,URL) VALUES ('EgovCcmCmmnClCodeDetail','/sym/ccm/ccc/','공통분류코드 상세조회','공통분류코드 상세조회','/sym/ccm/ccc/EgovCcmCmmnClCodeDetail.do'); | |
| 167 | +INSERT INTO LETTNPROGRMLIST(PROGRM_FILE_NM,PROGRM_STRE_PATH,PROGRM_KOREAN_NM,PROGRM_DC,URL) VALUES ('EgovCcmCmmnClCodeList','/sym/ccm/ccc/','공통분류코드목록 조회','공통분류코드목록 조회','/sym/ccm/ccc/EgovCcmCmmnClCodeList.do'); | |
| 168 | +INSERT INTO LETTNPROGRMLIST(PROGRM_FILE_NM,PROGRM_STRE_PATH,PROGRM_KOREAN_NM,PROGRM_DC,URL) VALUES ('EgovCcmCmmnClCodeModify','/sym/ccm/ccc/','공통분류코드 수정','공통분류코드 수정','/sym/ccm/ccc/EgovCcmCmmnClCodeModify.do'); | |
| 169 | +INSERT INTO LETTNPROGRMLIST(PROGRM_FILE_NM,PROGRM_STRE_PATH,PROGRM_KOREAN_NM,PROGRM_DC,URL) VALUES ('EgovCcmCmmnClCodeRegist','/sym/ccm/ccc/','공통분류코드 등록','공통분류코드 등록','/sym/ccm/ccc/EgovCcmCmmnClCodeRegist.do'); | |
| 170 | +INSERT INTO LETTNPROGRMLIST(PROGRM_FILE_NM,PROGRM_STRE_PATH,PROGRM_KOREAN_NM,PROGRM_DC,URL) VALUES ('EgovCcmCmmnCodeDetail','/sym/ccm/cca/','공통코드 상세조회','공통코드 상세조회','/sym/ccm/cca/EgovCcmCmmnCodeDetail.do'); | |
| 171 | +INSERT INTO LETTNPROGRMLIST(PROGRM_FILE_NM,PROGRM_STRE_PATH,PROGRM_KOREAN_NM,PROGRM_DC,URL) VALUES ('EgovCcmCmmnCodeList','/sym/ccm/cca/','공통코드목록 조회','공통코드목록 조회','/sym/ccm/cca/EgovCcmCmmnCodeList.do'); | |
| 172 | +INSERT INTO LETTNPROGRMLIST(PROGRM_FILE_NM,PROGRM_STRE_PATH,PROGRM_KOREAN_NM,PROGRM_DC,URL) VALUES ('EgovCcmCmmnCodeModify','/sym/ccm/cca/','공통코드 수정','공통코드 수정','/sym/ccm/cca/EgovCcmCmmnCodeModify.do'); | |
| 173 | +INSERT INTO LETTNPROGRMLIST(PROGRM_FILE_NM,PROGRM_STRE_PATH,PROGRM_KOREAN_NM,PROGRM_DC,URL) VALUES ('EgovCcmCmmnCodeRegist','/sym/ccm/cca/','공통코드 등록','공통코드 등록','/sym/ccm/cca/EgovCcmCmmnCodeRegist.do'); | |
| 174 | +INSERT INTO LETTNPROGRMLIST(PROGRM_FILE_NM,PROGRM_STRE_PATH,PROGRM_KOREAN_NM,PROGRM_DC,URL) VALUES ('EgovCcmCmmnDetailCodeDetail','/sym/ccm/cde/','공통상세코드 상세조회','공통상세코드 상세조회','/sym/ccm/cde/EgovCcmCmmnDetailCodeDetail.do'); | |
| 175 | +INSERT INTO LETTNPROGRMLIST(PROGRM_FILE_NM,PROGRM_STRE_PATH,PROGRM_KOREAN_NM,PROGRM_DC,URL) VALUES ('EgovCcmCmmnDetailCodeList','/sym/ccm/cde/','공통상세코드목록 조회','공통상세코드목록 조회','/sym/ccm/cde/EgovCcmCmmnDetailCodeList.do'); | |
| 176 | +INSERT INTO LETTNPROGRMLIST(PROGRM_FILE_NM,PROGRM_STRE_PATH,PROGRM_KOREAN_NM,PROGRM_DC,URL) VALUES ('EgovCcmCmmnDetailCodeModify','/sym/ccm/cde/','공통상세코드 수정','공통상세코드 수정','/sym/ccm/cde/EgovCcmCmmnDetailCodeModify.do'); | |
| 177 | +INSERT INTO LETTNPROGRMLIST(PROGRM_FILE_NM,PROGRM_STRE_PATH,PROGRM_KOREAN_NM,PROGRM_DC,URL) VALUES ('EgovCcmCmmnDetailCodeRegist','/sym/ccm/cde/','공통상세코드 등록','공통상세코드 등록','/sym/ccm/cde/EgovCcmCmmnDetailCodeRegist.do'); | |
| 178 | +INSERT INTO LETTNPROGRMLIST(PROGRM_FILE_NM,PROGRM_STRE_PATH,PROGRM_KOREAN_NM,PROGRM_DC,URL) VALUES ('EgovCcmExcelZipRegist','/sym/ccm/zip/','우편번호 엑셀파일 등록','우편번호 엑셀파일 등록','/sym/ccm/zip/EgovCcmExcelZipRegist.do'); | |
| 179 | +INSERT INTO LETTNPROGRMLIST(PROGRM_FILE_NM,PROGRM_STRE_PATH,PROGRM_KOREAN_NM,PROGRM_DC,URL) VALUES ('EgovCcmZipDetail','/sym/ccm/zip/','우편번호 상세조회','우편번호 상세조회','/sym/ccm/zip/EgovCcmZipDetail.do'); | |
| 180 | +INSERT INTO LETTNPROGRMLIST(PROGRM_FILE_NM,PROGRM_STRE_PATH,PROGRM_KOREAN_NM,PROGRM_DC,URL) VALUES ('EgovCcmZipList','/sym/ccm/zip/','우편번호목록 조회','우편번호목록 조회','/sym/ccm/zip/EgovCcmZipList.do'); | |
| 181 | +INSERT INTO LETTNPROGRMLIST(PROGRM_FILE_NM,PROGRM_STRE_PATH,PROGRM_KOREAN_NM,PROGRM_DC,URL) VALUES ('EgovCcmZipModify','/sym/ccm/zip/','우편번호 수정','우편번호 수정','/sym/ccm/zip/EgovCcmZipModify.do'); | |
| 182 | +INSERT INTO LETTNPROGRMLIST(PROGRM_FILE_NM,PROGRM_STRE_PATH,PROGRM_KOREAN_NM,PROGRM_DC,URL) VALUES ('EgovCcmZipRegist','/sym/ccm/zip/','우편번호 등록','우편번호 등록','/sym/ccm/zip/EgovCcmZipRegist.do'); | |
| 183 | +INSERT INTO LETTNPROGRMLIST(PROGRM_FILE_NM,PROGRM_STRE_PATH,PROGRM_KOREAN_NM,PROGRM_DC,URL) VALUES ('EgovCcmZipSearchPopup','/sym/cmm/','우편번호 찾기','우편번호 찾기','/sym/cmm/EgovCcmZipSearchPopup.do'); | |
| 184 | +INSERT INTO LETTNPROGRMLIST(PROGRM_FILE_NM,PROGRM_STRE_PATH,PROGRM_KOREAN_NM,PROGRM_DC,URL) VALUES ('EgovConectStats','/sts/cst/','접속통계','접속통계','/sts/cst/selectConectStats.do'); | |
| 185 | +INSERT INTO LETTNPROGRMLIST(PROGRM_FILE_NM,PROGRM_STRE_PATH,PROGRM_KOREAN_NM,PROGRM_DC,URL) VALUES ('EgovFileNmSearch','/sym/prm/','파일명검색','파일명검색','/sym/prm/EgovProgramListSearch.do'); | |
| 186 | +INSERT INTO LETTNPROGRMLIST(PROGRM_FILE_NM,PROGRM_STRE_PATH,PROGRM_KOREAN_NM,PROGRM_DC,URL) VALUES ('EgovGroupInsert','/sec/gmt/','그룹등록','그룹등록','/sec/gmt/EgovGroupInsertView.do'); | |
| 187 | +INSERT INTO LETTNPROGRMLIST(PROGRM_FILE_NM,PROGRM_STRE_PATH,PROGRM_KOREAN_NM,PROGRM_DC,URL) VALUES ('EgovGroupManage','/sec/gmt/','그룹관리','그룹관리','/sec/gmt/EgovGroupList.do'); | |
| 188 | +INSERT INTO LETTNPROGRMLIST(PROGRM_FILE_NM,PROGRM_STRE_PATH,PROGRM_KOREAN_NM,PROGRM_DC,URL) VALUES ('EgovGroupUpdt','/sec/gmt/','그룹수정','그룹수정','/sec/gmt/EgovGroup.do'); | |
| 189 | +INSERT INTO LETTNPROGRMLIST(PROGRM_FILE_NM,PROGRM_STRE_PATH,PROGRM_KOREAN_NM,PROGRM_DC,URL) VALUES ('EgovIdDplctCnfirm','/uss/umt/cmm/','아이디중복확인','아이디중복확인','/uss/umt/cmm/EgovIdDplctCnfirmView.do'); | |
| 190 | +INSERT INTO LETTNPROGRMLIST(PROGRM_FILE_NM,PROGRM_STRE_PATH,PROGRM_KOREAN_NM,PROGRM_DC,URL) VALUES ('EgovInfoNotice','/cop/bbs/','공지사항','공지사항','/cop/bbs/selectBoardList.do?bbsId=BBSMSTR_AAAAAAAAAAAA'); | |
| 191 | +INSERT INTO LETTNPROGRMLIST(PROGRM_FILE_NM,PROGRM_STRE_PATH,PROGRM_KOREAN_NM,PROGRM_DC,URL) VALUES ('EgovInfoNoticeAdmin','/cop/bbs/','공지사항관리','공지사항관리','/cop/bbs/selectBoardList.do?bbsId=BBSMSTR_AAAAAAAAAAAA'); | |
| 192 | +INSERT INTO LETTNPROGRMLIST(PROGRM_FILE_NM,PROGRM_STRE_PATH,PROGRM_KOREAN_NM,PROGRM_DC,URL) VALUES ('EgovInfoWork','/cop/bbs/','업무게시판','업무게시판','/cop/bbs/selectBoardList.do?bbsId=BBSMSTR_CCCCCCCCCCCC'); | |
| 193 | +INSERT INTO LETTNPROGRMLIST(PROGRM_FILE_NM,PROGRM_STRE_PATH,PROGRM_KOREAN_NM,PROGRM_DC,URL) VALUES ('EgovInfoWorkAdmin','/cop/bbs/','업무게시판관리','업무게시판관리','/cop/bbs/selectBoardList.do?bbsId=BBSMSTR_CCCCCCCCCCCC'); | |
| 194 | +INSERT INTO LETTNPROGRMLIST(PROGRM_FILE_NM,PROGRM_STRE_PATH,PROGRM_KOREAN_NM,PROGRM_DC,URL) VALUES ('EgovJoinHistory','/','입퇴사정보 관리','입퇴사정보 관리','/EgovPageLink.do?link=main/sample_menu/Sample'); | |
| 195 | +INSERT INTO LETTNPROGRMLIST(PROGRM_FILE_NM,PROGRM_STRE_PATH,PROGRM_KOREAN_NM,PROGRM_DC,URL) VALUES ('EgovLoginLogInqire','/sym/log/clg/','로그인로그상세조회','로그인로그상세조회','/sym/log/clg/SelectLoginLogList.do'); | |
| 196 | +INSERT INTO LETTNPROGRMLIST(PROGRM_FILE_NM,PROGRM_STRE_PATH,PROGRM_KOREAN_NM,PROGRM_DC,URL) VALUES ('EgovLoginLogList','/sym/log/clg/','로그인로그조회','로그인로그조회','/sym/log/clg/SelectLoginLogList.do'); | |
| 197 | +INSERT INTO LETTNPROGRMLIST(PROGRM_FILE_NM,PROGRM_STRE_PATH,PROGRM_KOREAN_NM,PROGRM_DC,URL) VALUES ('EgovLoginPolicyList','/uat/uap/','로그인정책관리','로그인정책관리','/uat/uap/selectLoginPolicyList.do'); | |
| 198 | +INSERT INTO LETTNPROGRMLIST(PROGRM_FILE_NM,PROGRM_STRE_PATH,PROGRM_KOREAN_NM,PROGRM_DC,URL) VALUES ('EgovLoginPolicyRegist','/uat/uap/','로그인정책등록','로그인정책등록','/uat/uap/getLoginPolicy.do'); | |
| 199 | +INSERT INTO LETTNPROGRMLIST(PROGRM_FILE_NM,PROGRM_STRE_PATH,PROGRM_KOREAN_NM,PROGRM_DC,URL) VALUES ('EgovLoginPolicyUpdt','/uat/uia/','로그인정책수정','로그인정책수정','/uat/uap/getLoginPolicy.do'); | |
| 200 | +INSERT INTO LETTNPROGRMLIST(PROGRM_FILE_NM,PROGRM_STRE_PATH,PROGRM_KOREAN_NM,PROGRM_DC,URL) VALUES ('EgovLoginUsr','/uat/uia/','내부업무 로그인','내부업무 로그인','/uat/uia/egovLoginUsr.do'); | |
| 201 | +INSERT INTO LETTNPROGRMLIST(PROGRM_FILE_NM,PROGRM_STRE_PATH,PROGRM_KOREAN_NM,PROGRM_DC,URL) VALUES ('EgovMainHome','/uat/uia/','내부업무 메인','내부업무 메인','/uat/uia/actionMain.do'); | |
| 202 | +INSERT INTO LETTNPROGRMLIST(PROGRM_FILE_NM,PROGRM_STRE_PATH,PROGRM_KOREAN_NM,PROGRM_DC,URL) VALUES ('EgovMberPositionl','/','직위정보 관리','직위정보 관리','/EgovPageLink.do?link=main/sample_menu/Sample'); | |
| 203 | +INSERT INTO LETTNPROGRMLIST(PROGRM_FILE_NM,PROGRM_STRE_PATH,PROGRM_KOREAN_NM,PROGRM_DC,URL) VALUES ('EgovMberRank','/','직급정보 관리','직급정보 관리','/EgovPageLink.do?link=main/sample_menu/Sample'); | |
| 204 | +INSERT INTO LETTNPROGRMLIST(PROGRM_FILE_NM,PROGRM_STRE_PATH,PROGRM_KOREAN_NM,PROGRM_DC,URL) VALUES ('EgovMenuBndeRegist','/sym/mnu/mpm/','메뉴일괄등록','메뉴일괄등록','/sym/mnu/mpm/EgovMenuBndeRegist.do'); | |
| 205 | +INSERT INTO LETTNPROGRMLIST(PROGRM_FILE_NM,PROGRM_STRE_PATH,PROGRM_KOREAN_NM,PROGRM_DC,URL) VALUES ('EgovMenuCreat','/sym/mnu/mcm/','메뉴생성','메뉴생성','/sym/mnu/mcm/EgovMenuCreatSelect.do'); | |
| 206 | +INSERT INTO LETTNPROGRMLIST(PROGRM_FILE_NM,PROGRM_STRE_PATH,PROGRM_KOREAN_NM,PROGRM_DC,URL) VALUES ('EgovMenuCreatManage','/sym/mnu/mcm/','메뉴생성관리','메뉴생성관리','/sym/mnu/mcm/EgovMenuCreatManageSelect.do'); | |
| 207 | +INSERT INTO LETTNPROGRMLIST(PROGRM_FILE_NM,PROGRM_STRE_PATH,PROGRM_KOREAN_NM,PROGRM_DC,URL) VALUES ('EgovMenuDetailSelectUpdt','/sym/mnu/mpm/','메뉴상세조회/수정','메뉴상세조회/수정','/sym/mnu/mpm/EgovMenuManageListDetailSelect.do'); | |
| 208 | +INSERT INTO LETTNPROGRMLIST(PROGRM_FILE_NM,PROGRM_STRE_PATH,PROGRM_KOREAN_NM,PROGRM_DC,URL) VALUES ('EgovMenuManage','/sym/mnu/mpm/','메뉴관리','메뉴관리','/sym/mnu/mpm/EgovMenuManageSelect.do'); | |
| 209 | +INSERT INTO LETTNPROGRMLIST(PROGRM_FILE_NM,PROGRM_STRE_PATH,PROGRM_KOREAN_NM,PROGRM_DC,URL) VALUES ('EgovMenuRegist','/sym/mnu/mpm/','메뉴등록','메뉴등록','/sym/mnu/mpm/EgovMenuRegistInsert.do'); | |
| 210 | +INSERT INTO LETTNPROGRMLIST(PROGRM_FILE_NM,PROGRM_STRE_PATH,PROGRM_KOREAN_NM,PROGRM_DC,URL) VALUES ('EgovNoticeInqire','/cop/bbs/','게시물조회','게시물조회','/cop/bbs/selectBoardArticle.do'); | |
| 211 | +INSERT INTO LETTNPROGRMLIST(PROGRM_FILE_NM,PROGRM_STRE_PATH,PROGRM_KOREAN_NM,PROGRM_DC,URL) VALUES ('EgovNoticeList','/cop/bbs/','게시물 목록','게시물 목록','/cop/bbs/selectBoardList.do'); | |
| 212 | +INSERT INTO LETTNPROGRMLIST(PROGRM_FILE_NM,PROGRM_STRE_PATH,PROGRM_KOREAN_NM,PROGRM_DC,URL) VALUES ('EgovNoticeRegist','/cop/bbs/','게시물 등록','게시물 등록','/cop/bbs/addBoardArticle.do'); | |
| 213 | +INSERT INTO LETTNPROGRMLIST(PROGRM_FILE_NM,PROGRM_STRE_PATH,PROGRM_KOREAN_NM,PROGRM_DC,URL) VALUES ('EgovNoticeReply','/cop/bbs/','답글 작성','답글 작성','/cop/bbs/addReplyBoardArticle.do'); | |
| 214 | +INSERT INTO LETTNPROGRMLIST(PROGRM_FILE_NM,PROGRM_STRE_PATH,PROGRM_KOREAN_NM,PROGRM_DC,URL) VALUES ('EgovNoticeUpdt','/cop/bbs/','게시물 수정','게시물 수정','/cop/bbs/forUpdateBoardArticle.do'); | |
| 215 | +INSERT INTO LETTNPROGRMLIST(PROGRM_FILE_NM,PROGRM_STRE_PATH,PROGRM_KOREAN_NM,PROGRM_DC,URL) VALUES ('EgovProgramListDetailSelectUpdt','/sym/prm/','프로그램목록상세조회/수정','프로그램목록상세조회/수정','/sym/prm/EgovProgramListDetailSelect.do'); | |
| 216 | +INSERT INTO LETTNPROGRMLIST(PROGRM_FILE_NM,PROGRM_STRE_PATH,PROGRM_KOREAN_NM,PROGRM_DC,URL) VALUES ('EgovProgramListManage','/sym/prm/','프로그램목록관리','프로그램목록관리','/sym/prm/EgovProgramListManageSelect.do'); | |
| 217 | +INSERT INTO LETTNPROGRMLIST(PROGRM_FILE_NM,PROGRM_STRE_PATH,PROGRM_KOREAN_NM,PROGRM_DC,URL) VALUES ('EgovProgramListRegist','/sym/prm/','프로그램목록등록','프로그램목록등록','/sym/prm/EgovProgramListRegist.do'); | |
| 218 | +INSERT INTO LETTNPROGRMLIST(PROGRM_FILE_NM,PROGRM_STRE_PATH,PROGRM_KOREAN_NM,PROGRM_DC,URL) VALUES ('EgovRoleInsert','/sec/rmt/','롤등록','롤등록','/sec/rmt/EgovRoleInsertView.do'); | |
| 219 | +INSERT INTO LETTNPROGRMLIST(PROGRM_FILE_NM,PROGRM_STRE_PATH,PROGRM_KOREAN_NM,PROGRM_DC,URL) VALUES ('EgovRoleManage','/sec/rmt/','롤관리','롤관리','/sec/rmt/EgovRoleList.do'); | |
| 220 | +INSERT INTO LETTNPROGRMLIST(PROGRM_FILE_NM,PROGRM_STRE_PATH,PROGRM_KOREAN_NM,PROGRM_DC,URL) VALUES ('EgovRoleUpdt','/sec/rmt/','롤수정','롤수정','/sec/rmt/EgovRole.do'); | |
| 221 | +INSERT INTO LETTNPROGRMLIST(PROGRM_FILE_NM,PROGRM_STRE_PATH,PROGRM_KOREAN_NM,PROGRM_DC,URL) VALUES ('EgovTemplateInqirePopup','/cop/com/','템플릿 조회팝업','템플릿 조회팝업','/cop/com/selectTemplateInfs.do'); | |
| 222 | +INSERT INTO LETTNPROGRMLIST(PROGRM_FILE_NM,PROGRM_STRE_PATH,PROGRM_KOREAN_NM,PROGRM_DC,URL) VALUES ('EgovTemplateList','/cop/com/','템플릿 목록 조회','템플릿 목록 조회','/cop/com/selectTemplateInfs.do'); | |
| 223 | +INSERT INTO LETTNPROGRMLIST(PROGRM_FILE_NM,PROGRM_STRE_PATH,PROGRM_KOREAN_NM,PROGRM_DC,URL) VALUES ('EgovTemplateRegist','/cop/com/','템플릿 등록','템플릿 등록','/cop/com/addTemplateInf.do'); | |
| 224 | +INSERT INTO LETTNPROGRMLIST(PROGRM_FILE_NM,PROGRM_STRE_PATH,PROGRM_KOREAN_NM,PROGRM_DC,URL) VALUES ('EgovTemplateUpdt','/cop/com/','템플릿 수정','템플릿 수정','/cop/com/selectTemplateInf.do'); | |
| 225 | +INSERT INTO LETTNPROGRMLIST(PROGRM_FILE_NM,PROGRM_STRE_PATH,PROGRM_KOREAN_NM,PROGRM_DC,URL) VALUES ('EgovUserAbsnceList','/uss/ion/uas/','사용자부재관리','사용자부재관리','/uss/ion/uas/selectUserAbsnceListView.do'); | |
| 226 | +INSERT INTO LETTNPROGRMLIST(PROGRM_FILE_NM,PROGRM_STRE_PATH,PROGRM_KOREAN_NM,PROGRM_DC,URL) VALUES ('EgovUserAbsnceRegist','/uss/ion/uas/','사용자부재등록','사용자부재등록','/uss/ion/uas/addViewUserAbsnce.do'); | |
| 227 | +INSERT INTO LETTNPROGRMLIST(PROGRM_FILE_NM,PROGRM_STRE_PATH,PROGRM_KOREAN_NM,PROGRM_DC,URL) VALUES ('EgovUserAbsnceUpdt','/uss/ion/uas/','사용자부재수정','사용자부재수정','/uss/ion/uas/getUserAbsnce.do'); | |
| 228 | +INSERT INTO LETTNPROGRMLIST(PROGRM_FILE_NM,PROGRM_STRE_PATH,PROGRM_KOREAN_NM,PROGRM_DC,URL) VALUES ('EgovUserInsert','/uss/umt/user/','사용자등록','사용자등록','/uss/umt/user/EgovUserInsertView.do'); | |
| 229 | +INSERT INTO LETTNPROGRMLIST(PROGRM_FILE_NM,PROGRM_STRE_PATH,PROGRM_KOREAN_NM,PROGRM_DC,URL) VALUES ('EgovUserManage','/uss/umt/user/','사용자관리(조회,삭제)','사용자관리(조회,삭제)','/uss/umt/user/EgovUserManage.do'); | |
| 230 | +INSERT INTO LETTNPROGRMLIST(PROGRM_FILE_NM,PROGRM_STRE_PATH,PROGRM_KOREAN_NM,PROGRM_DC,URL) VALUES ('EgovUserPasswordUpdt','/uss/umt/user/','사용자암호수정','사용자암호수정','/uss/umt/user/EgovUserPasswordUpdtView.do'); | |
| 231 | +INSERT INTO LETTNPROGRMLIST(PROGRM_FILE_NM,PROGRM_STRE_PATH,PROGRM_KOREAN_NM,PROGRM_DC,URL) VALUES ('EgovUserSelectUpdt','/uss/umt/user/','사용자상세조회,수정','사용자상세조회,수정','/uss/umt/user/EgovUserSelectUpdtView.do'); | |
| 232 | +INSERT INTO LETTNPROGRMLIST(PROGRM_FILE_NM,PROGRM_STRE_PATH,PROGRM_KOREAN_NM,PROGRM_DC,URL) VALUES ('EgovWorkAttendance','/','출퇴근정보 관리','출퇴근정보 관리','/EgovPageLink.do?link=main/sample_menu/Sample'); | |
| 233 | +INSERT INTO LETTNPROGRMLIST(PROGRM_FILE_NM,PROGRM_STRE_PATH,PROGRM_KOREAN_NM,PROGRM_DC,URL) VALUES ('EgovWorkAward','/','상벌정보 관리','상벌정보 관리','/EgovPageLink.do?link=main/sample_menu/Sample'); | |
| 234 | +INSERT INTO LETTNPROGRMLIST(PROGRM_FILE_NM,PROGRM_STRE_PATH,PROGRM_KOREAN_NM,PROGRM_DC,URL) VALUES ('EgovWorkEstimation','/','업무평가점수 관리','업무평가점수 관리','/EgovPageLink.do?link=main/sample_menu/Sample'); | |
| 235 | +INSERT INTO LETTNPROGRMLIST(PROGRM_FILE_NM,PROGRM_STRE_PATH,PROGRM_KOREAN_NM,PROGRM_DC,URL) VALUES ('EgovWorkVacation','/','휴무정보 관리','휴무정보 관리','/EgovPageLink.do?link=main/sample_menu/Sample'); | |
| 236 | + | |
| 237 | + | |
| 238 | +#메뉴목록 | |
| 239 | +INSERT INTO LETTNMENUINFO(MENU_NM,PROGRM_FILE_NM,MENU_NO,UPPER_MENU_NO,MENU_ORDR,MENU_DC,RELATE_IMAGE_PATH,RELATE_IMAGE_NM) VALUES ('root','dir',0,0,1,'root','/','/'); | |
| 240 | +INSERT INTO LETTNMENUINFO(MENU_NM,PROGRM_FILE_NM,MENU_NO,UPPER_MENU_NO,MENU_ORDR,MENU_DC,RELATE_IMAGE_PATH,RELATE_IMAGE_NM) VALUES ('알림정보','dir',1000000,0,1,'알림정보','/','/'); | |
| 241 | +INSERT INTO LETTNMENUINFO(MENU_NM,PROGRM_FILE_NM,MENU_NO,UPPER_MENU_NO,MENU_ORDR,MENU_DC,RELATE_IMAGE_PATH,RELATE_IMAGE_NM) VALUES ('공지사항','EgovInfoNotice',1010000,1000000,1,'공지사항','/','/'); | |
| 242 | +INSERT INTO LETTNMENUINFO(MENU_NM,PROGRM_FILE_NM,MENU_NO,UPPER_MENU_NO,MENU_ORDR,MENU_DC,RELATE_IMAGE_PATH,RELATE_IMAGE_NM) VALUES ('업무게시판','EgovInfoWork',1020000,1000000,2,'업무게시판','/','/'); | |
| 243 | +INSERT INTO LETTNMENUINFO(MENU_NM,PROGRM_FILE_NM,MENU_NO,UPPER_MENU_NO,MENU_ORDR,MENU_DC,RELATE_IMAGE_PATH,RELATE_IMAGE_NM) VALUES ('직급체계관리','dir',2000000,0,2,'직급체계관리','/','/'); | |
| 244 | +INSERT INTO LETTNMENUINFO(MENU_NM,PROGRM_FILE_NM,MENU_NO,UPPER_MENU_NO,MENU_ORDR,MENU_DC,RELATE_IMAGE_PATH,RELATE_IMAGE_NM) VALUES ('입퇴사정보 관리','EgovJoinHistory',2010000,2000000,1,'입퇴사정보 관리','/','/'); | |
| 245 | +INSERT INTO LETTNMENUINFO(MENU_NM,PROGRM_FILE_NM,MENU_NO,UPPER_MENU_NO,MENU_ORDR,MENU_DC,RELATE_IMAGE_PATH,RELATE_IMAGE_NM) VALUES ('직급정보 관리','EgovMberRank',2020000,2000000,2,'직급정보 관리','/','/'); | |
| 246 | +INSERT INTO LETTNMENUINFO(MENU_NM,PROGRM_FILE_NM,MENU_NO,UPPER_MENU_NO,MENU_ORDR,MENU_DC,RELATE_IMAGE_PATH,RELATE_IMAGE_NM) VALUES ('직위정보 관리','EgovMberPositionl',2030000,2000000,3,'직위정보 관리','/','/'); | |
| 247 | +INSERT INTO LETTNMENUINFO(MENU_NM,PROGRM_FILE_NM,MENU_NO,UPPER_MENU_NO,MENU_ORDR,MENU_DC,RELATE_IMAGE_PATH,RELATE_IMAGE_NM) VALUES ('진급관리','dir',3000000,0,3,'진급관리','/','/'); | |
| 248 | +INSERT INTO LETTNMENUINFO(MENU_NM,PROGRM_FILE_NM,MENU_NO,UPPER_MENU_NO,MENU_ORDR,MENU_DC,RELATE_IMAGE_PATH,RELATE_IMAGE_NM) VALUES ('업무평가점수 관리','EgovWorkEstimation',3010000,3000000,1,'업무평가점수 관리','/','/'); | |
| 249 | +INSERT INTO LETTNMENUINFO(MENU_NM,PROGRM_FILE_NM,MENU_NO,UPPER_MENU_NO,MENU_ORDR,MENU_DC,RELATE_IMAGE_PATH,RELATE_IMAGE_NM) VALUES ('상벌정보 관리','EgovWorkAward',3040000,3000000,2,'상벌정보 관리','/','/'); | |
| 250 | +INSERT INTO LETTNMENUINFO(MENU_NM,PROGRM_FILE_NM,MENU_NO,UPPER_MENU_NO,MENU_ORDR,MENU_DC,RELATE_IMAGE_PATH,RELATE_IMAGE_NM) VALUES ('근태관리','dir',4000000,0,4,'근태관리','/','/'); | |
| 251 | +INSERT INTO LETTNMENUINFO(MENU_NM,PROGRM_FILE_NM,MENU_NO,UPPER_MENU_NO,MENU_ORDR,MENU_DC,RELATE_IMAGE_PATH,RELATE_IMAGE_NM) VALUES ('출퇴근정보 관리','EgovWorkAttendance',4010000,4000000,1,'출퇴근정보 관리','/','/'); | |
| 252 | +INSERT INTO LETTNMENUINFO(MENU_NM,PROGRM_FILE_NM,MENU_NO,UPPER_MENU_NO,MENU_ORDR,MENU_DC,RELATE_IMAGE_PATH,RELATE_IMAGE_NM) VALUES ('휴무정보 관리','EgovWorkVacation',4020000,4000000,2,'휴무정보 관리','/','/'); | |
| 253 | +INSERT INTO LETTNMENUINFO(MENU_NM,PROGRM_FILE_NM,MENU_NO,UPPER_MENU_NO,MENU_ORDR,MENU_DC,RELATE_IMAGE_PATH,RELATE_IMAGE_NM) VALUES ('내부서비스관리','dir',5000000,0,5,'내부서비스관리','/','/'); | |
| 254 | +INSERT INTO LETTNMENUINFO(MENU_NM,PROGRM_FILE_NM,MENU_NO,UPPER_MENU_NO,MENU_ORDR,MENU_DC,RELATE_IMAGE_PATH,RELATE_IMAGE_NM) VALUES ('내부업무게시판관리','dir',5010000,5000000,1,'내부업무게시판관리','/','/'); | |
| 255 | +INSERT INTO LETTNMENUINFO(MENU_NM,PROGRM_FILE_NM,MENU_NO,UPPER_MENU_NO,MENU_ORDR,MENU_DC,RELATE_IMAGE_PATH,RELATE_IMAGE_NM) VALUES ('게시판템플릿관리','EgovTemplateList',5010100,5010000,1,'게시판템플릿관리','/','/'); | |
| 256 | +INSERT INTO LETTNMENUINFO(MENU_NM,PROGRM_FILE_NM,MENU_NO,UPPER_MENU_NO,MENU_ORDR,MENU_DC,RELATE_IMAGE_PATH,RELATE_IMAGE_NM) VALUES ('게시판생성관리','EgovBoardMstrList',5010200,5010000,2,'게시판생성관리','/','/'); | |
| 257 | +INSERT INTO LETTNMENUINFO(MENU_NM,PROGRM_FILE_NM,MENU_NO,UPPER_MENU_NO,MENU_ORDR,MENU_DC,RELATE_IMAGE_PATH,RELATE_IMAGE_NM) VALUES ('게시판사용관리','EgovBoardUseInfList',5010300,5010000,3,'게시판사용관리','/','/'); | |
| 258 | +INSERT INTO LETTNMENUINFO(MENU_NM,PROGRM_FILE_NM,MENU_NO,UPPER_MENU_NO,MENU_ORDR,MENU_DC,RELATE_IMAGE_PATH,RELATE_IMAGE_NM) VALUES ('공지사항관리','EgovInfoNoticeAdmin',5010400,5010000,4,'공지사항관리','/','/'); | |
| 259 | +INSERT INTO LETTNMENUINFO(MENU_NM,PROGRM_FILE_NM,MENU_NO,UPPER_MENU_NO,MENU_ORDR,MENU_DC,RELATE_IMAGE_PATH,RELATE_IMAGE_NM) VALUES ('업무게시판관리','EgovInfoWorkAdmin',5010500,5010000,5,'업무게시판관리','/','/'); | |
| 260 | +INSERT INTO LETTNMENUINFO(MENU_NM,PROGRM_FILE_NM,MENU_NO,UPPER_MENU_NO,MENU_ORDR,MENU_DC,RELATE_IMAGE_PATH,RELATE_IMAGE_NM) VALUES ('사용현황관리','dir',5020000,5000000,2,'사용현황관리','/','/'); | |
| 261 | +INSERT INTO LETTNMENUINFO(MENU_NM,PROGRM_FILE_NM,MENU_NO,UPPER_MENU_NO,MENU_ORDR,MENU_DC,RELATE_IMAGE_PATH,RELATE_IMAGE_NM) VALUES ('접속로그관리','EgovLoginLogList',5020100,5020000,1,'접속로그관리','/','/'); | |
| 262 | +INSERT INTO LETTNMENUINFO(MENU_NM,PROGRM_FILE_NM,MENU_NO,UPPER_MENU_NO,MENU_ORDR,MENU_DC,RELATE_IMAGE_PATH,RELATE_IMAGE_NM) VALUES ('접속통계관리','EgovConectStats',5020200,5020000,2,'접속통계관리','/','/'); | |
| 263 | +INSERT INTO LETTNMENUINFO(MENU_NM,PROGRM_FILE_NM,MENU_NO,UPPER_MENU_NO,MENU_ORDR,MENU_DC,RELATE_IMAGE_PATH,RELATE_IMAGE_NM) VALUES ('로그인정책관리','EgovLoginPolicyList',5020300,5020000,3,'로그인정책관리','',''); | |
| 264 | +INSERT INTO LETTNMENUINFO(MENU_NM,PROGRM_FILE_NM,MENU_NO,UPPER_MENU_NO,MENU_ORDR,MENU_DC,RELATE_IMAGE_PATH,RELATE_IMAGE_NM) VALUES ('내부시스템관리','dir',6000000,0,6,'내부시스템관리','/','/'); | |
| 265 | +INSERT INTO LETTNMENUINFO(MENU_NM,PROGRM_FILE_NM,MENU_NO,UPPER_MENU_NO,MENU_ORDR,MENU_DC,RELATE_IMAGE_PATH,RELATE_IMAGE_NM) VALUES ('사용자관리','dir',6010000,6000000,1,'사용자관리','/','/'); | |
| 266 | +INSERT INTO LETTNMENUINFO(MENU_NM,PROGRM_FILE_NM,MENU_NO,UPPER_MENU_NO,MENU_ORDR,MENU_DC,RELATE_IMAGE_PATH,RELATE_IMAGE_NM) VALUES ('사용자등록관리','EgovUserManage',6010100,6010000,1,'사용자등록관리','/','/'); | |
| 267 | +INSERT INTO LETTNMENUINFO(MENU_NM,PROGRM_FILE_NM,MENU_NO,UPPER_MENU_NO,MENU_ORDR,MENU_DC,RELATE_IMAGE_PATH,RELATE_IMAGE_NM) VALUES ('사용자부재관리','EgovUserAbsnceList',6010200,6010000,2,'사용자부재관리','/','/'); | |
| 268 | +INSERT INTO LETTNMENUINFO(MENU_NM,PROGRM_FILE_NM,MENU_NO,UPPER_MENU_NO,MENU_ORDR,MENU_DC,RELATE_IMAGE_PATH,RELATE_IMAGE_NM) VALUES ('사용자권한관리','dir',6020000,6000000,2,'사용자권한관리','/','/'); | |
| 269 | +INSERT INTO LETTNMENUINFO(MENU_NM,PROGRM_FILE_NM,MENU_NO,UPPER_MENU_NO,MENU_ORDR,MENU_DC,RELATE_IMAGE_PATH,RELATE_IMAGE_NM) VALUES ('권한관리','EgovAuthorManage',6020100,6020000,1,'권한관리','/','/'); | |
| 270 | +INSERT INTO LETTNMENUINFO(MENU_NM,PROGRM_FILE_NM,MENU_NO,UPPER_MENU_NO,MENU_ORDR,MENU_DC,RELATE_IMAGE_PATH,RELATE_IMAGE_NM) VALUES ('사용자그룹관리','EgovGroupManage',6020200,6020000,2,'사용자그룹관리','/','/'); | |
| 271 | +INSERT INTO LETTNMENUINFO(MENU_NM,PROGRM_FILE_NM,MENU_NO,UPPER_MENU_NO,MENU_ORDR,MENU_DC,RELATE_IMAGE_PATH,RELATE_IMAGE_NM) VALUES ('사용자별권한관리','EgovAuthorRoleManage',6020300,6020000,3,'사용자별권한관리','/','/'); | |
| 272 | +INSERT INTO LETTNMENUINFO(MENU_NM,PROGRM_FILE_NM,MENU_NO,UPPER_MENU_NO,MENU_ORDR,MENU_DC,RELATE_IMAGE_PATH,RELATE_IMAGE_NM) VALUES ('롤관리','EgovRoleManage',6020400,6020000,4,'롤관리','/','/'); | |
| 273 | +INSERT INTO LETTNMENUINFO(MENU_NM,PROGRM_FILE_NM,MENU_NO,UPPER_MENU_NO,MENU_ORDR,MENU_DC,RELATE_IMAGE_PATH,RELATE_IMAGE_NM) VALUES ('메뉴관리','dir',6030000,6000000,3,'메뉴관리','/','/'); | |
| 274 | +INSERT INTO LETTNMENUINFO(MENU_NM,PROGRM_FILE_NM,MENU_NO,UPPER_MENU_NO,MENU_ORDR,MENU_DC,RELATE_IMAGE_PATH,RELATE_IMAGE_NM) VALUES ('프로그램목록관리','EgovProgramListManage',6030100,6030000,1,'프로그램목록관리','/','/'); | |
| 275 | +INSERT INTO LETTNMENUINFO(MENU_NM,PROGRM_FILE_NM,MENU_NO,UPPER_MENU_NO,MENU_ORDR,MENU_DC,RELATE_IMAGE_PATH,RELATE_IMAGE_NM) VALUES ('메뉴생성관리','EgovMenuCreatManage',6030200,6030000,2,'메뉴생성관리','/','/'); | |
| 276 | +INSERT INTO LETTNMENUINFO(MENU_NM,PROGRM_FILE_NM,MENU_NO,UPPER_MENU_NO,MENU_ORDR,MENU_DC,RELATE_IMAGE_PATH,RELATE_IMAGE_NM) VALUES ('메뉴목록관리','EgovMenuManage',6030300,6030000,4,'메뉴목록관리','/','/'); | |
| 277 | +INSERT INTO LETTNMENUINFO(MENU_NM,PROGRM_FILE_NM,MENU_NO,UPPER_MENU_NO,MENU_ORDR,MENU_DC,RELATE_IMAGE_PATH,RELATE_IMAGE_NM) VALUES ('코드관리','dir',6040000,6000000,4,'코드관리','/','/'); | |
| 278 | +INSERT INTO LETTNMENUINFO(MENU_NM,PROGRM_FILE_NM,MENU_NO,UPPER_MENU_NO,MENU_ORDR,MENU_DC,RELATE_IMAGE_PATH,RELATE_IMAGE_NM) VALUES ('분류코드관리','EgovCcmCmmnClCodeList',6040100,6040000,1,'분류코드관리','/','/'); | |
| 279 | +INSERT INTO LETTNMENUINFO(MENU_NM,PROGRM_FILE_NM,MENU_NO,UPPER_MENU_NO,MENU_ORDR,MENU_DC,RELATE_IMAGE_PATH,RELATE_IMAGE_NM) VALUES ('공통코드관리','EgovCcmCmmnCodeList',6040200,6040000,2,'공통코드관리','/','/'); | |
| 280 | +INSERT INTO LETTNMENUINFO(MENU_NM,PROGRM_FILE_NM,MENU_NO,UPPER_MENU_NO,MENU_ORDR,MENU_DC,RELATE_IMAGE_PATH,RELATE_IMAGE_NM) VALUES ('상세코드관리','EgovCcmCmmnDetailCodeList',6040300,6040000,3,'상세코드관리','',''); | |
| 281 | +INSERT INTO LETTNMENUINFO(MENU_NM,PROGRM_FILE_NM,MENU_NO,UPPER_MENU_NO,MENU_ORDR,MENU_DC,RELATE_IMAGE_PATH,RELATE_IMAGE_NM) VALUES ('우편번호관리','EgovCcmZipList',6040400,6040000,4,'우편번호관리','/','/'); | |
| 282 | + | |
| 283 | + | |
| 284 | +#메뉴생성목록 | |
| 285 | +INSERT INTO LETTNMENUCREATDTLS(MENU_NO,AUTHOR_CODE,MAPNG_CREAT_ID) VALUES (1000000,'ROLE_ADMIN',null); | |
| 286 | +INSERT INTO LETTNMENUCREATDTLS(MENU_NO,AUTHOR_CODE,MAPNG_CREAT_ID) VALUES (1000000,'ROLE_USER_MEMBER',null); | |
| 287 | +INSERT INTO LETTNMENUCREATDTLS(MENU_NO,AUTHOR_CODE,MAPNG_CREAT_ID) VALUES (1010000,'ROLE_ADMIN',null); | |
| 288 | +INSERT INTO LETTNMENUCREATDTLS(MENU_NO,AUTHOR_CODE,MAPNG_CREAT_ID) VALUES (1010000,'ROLE_USER_MEMBER',null); | |
| 289 | +INSERT INTO LETTNMENUCREATDTLS(MENU_NO,AUTHOR_CODE,MAPNG_CREAT_ID) VALUES (1020000,'ROLE_ADMIN',null); | |
| 290 | +INSERT INTO LETTNMENUCREATDTLS(MENU_NO,AUTHOR_CODE,MAPNG_CREAT_ID) VALUES (1020000,'ROLE_USER_MEMBER',null); | |
| 291 | +INSERT INTO LETTNMENUCREATDTLS(MENU_NO,AUTHOR_CODE,MAPNG_CREAT_ID) VALUES (2000000,'ROLE_ADMIN',null); | |
| 292 | +INSERT INTO LETTNMENUCREATDTLS(MENU_NO,AUTHOR_CODE,MAPNG_CREAT_ID) VALUES (2000000,'ROLE_USER_MEMBER',null); | |
| 293 | +INSERT INTO LETTNMENUCREATDTLS(MENU_NO,AUTHOR_CODE,MAPNG_CREAT_ID) VALUES (2010000,'ROLE_ADMIN',null); | |
| 294 | +INSERT INTO LETTNMENUCREATDTLS(MENU_NO,AUTHOR_CODE,MAPNG_CREAT_ID) VALUES (2010000,'ROLE_USER_MEMBER',null); | |
| 295 | +INSERT INTO LETTNMENUCREATDTLS(MENU_NO,AUTHOR_CODE,MAPNG_CREAT_ID) VALUES (2020000,'ROLE_ADMIN',null); | |
| 296 | +INSERT INTO LETTNMENUCREATDTLS(MENU_NO,AUTHOR_CODE,MAPNG_CREAT_ID) VALUES (2020000,'ROLE_USER_MEMBER',null); | |
| 297 | +INSERT INTO LETTNMENUCREATDTLS(MENU_NO,AUTHOR_CODE,MAPNG_CREAT_ID) VALUES (2030000,'ROLE_ADMIN',null); | |
| 298 | +INSERT INTO LETTNMENUCREATDTLS(MENU_NO,AUTHOR_CODE,MAPNG_CREAT_ID) VALUES (2030000,'ROLE_USER_MEMBER',null); | |
| 299 | +INSERT INTO LETTNMENUCREATDTLS(MENU_NO,AUTHOR_CODE,MAPNG_CREAT_ID) VALUES (3000000,'ROLE_ADMIN',null); | |
| 300 | +INSERT INTO LETTNMENUCREATDTLS(MENU_NO,AUTHOR_CODE,MAPNG_CREAT_ID) VALUES (3000000,'ROLE_USER_MEMBER',null); | |
| 301 | +INSERT INTO LETTNMENUCREATDTLS(MENU_NO,AUTHOR_CODE,MAPNG_CREAT_ID) VALUES (3010000,'ROLE_ADMIN',null); | |
| 302 | +INSERT INTO LETTNMENUCREATDTLS(MENU_NO,AUTHOR_CODE,MAPNG_CREAT_ID) VALUES (3010000,'ROLE_USER_MEMBER',null); | |
| 303 | +INSERT INTO LETTNMENUCREATDTLS(MENU_NO,AUTHOR_CODE,MAPNG_CREAT_ID) VALUES (3040000,'ROLE_ADMIN',null); | |
| 304 | +INSERT INTO LETTNMENUCREATDTLS(MENU_NO,AUTHOR_CODE,MAPNG_CREAT_ID) VALUES (3040000,'ROLE_USER_MEMBER',null); | |
| 305 | +INSERT INTO LETTNMENUCREATDTLS(MENU_NO,AUTHOR_CODE,MAPNG_CREAT_ID) VALUES (4000000,'ROLE_ADMIN',null); | |
| 306 | +INSERT INTO LETTNMENUCREATDTLS(MENU_NO,AUTHOR_CODE,MAPNG_CREAT_ID) VALUES (4000000,'ROLE_USER_MEMBER',null); | |
| 307 | +INSERT INTO LETTNMENUCREATDTLS(MENU_NO,AUTHOR_CODE,MAPNG_CREAT_ID) VALUES (4010000,'ROLE_ADMIN',null); | |
| 308 | +INSERT INTO LETTNMENUCREATDTLS(MENU_NO,AUTHOR_CODE,MAPNG_CREAT_ID) VALUES (4010000,'ROLE_USER_MEMBER',null); | |
| 309 | +INSERT INTO LETTNMENUCREATDTLS(MENU_NO,AUTHOR_CODE,MAPNG_CREAT_ID) VALUES (4020000,'ROLE_ADMIN',null); | |
| 310 | +INSERT INTO LETTNMENUCREATDTLS(MENU_NO,AUTHOR_CODE,MAPNG_CREAT_ID) VALUES (4020000,'ROLE_USER_MEMBER',null); | |
| 311 | +INSERT INTO LETTNMENUCREATDTLS(MENU_NO,AUTHOR_CODE,MAPNG_CREAT_ID) VALUES (5000000,'ROLE_ADMIN',null); | |
| 312 | +INSERT INTO LETTNMENUCREATDTLS(MENU_NO,AUTHOR_CODE,MAPNG_CREAT_ID) VALUES (5000000,'ROLE_USER_MEMBER',null); | |
| 313 | +INSERT INTO LETTNMENUCREATDTLS(MENU_NO,AUTHOR_CODE,MAPNG_CREAT_ID) VALUES (5010000,'ROLE_ADMIN',null); | |
| 314 | +INSERT INTO LETTNMENUCREATDTLS(MENU_NO,AUTHOR_CODE,MAPNG_CREAT_ID) VALUES (5010000,'ROLE_USER_MEMBER',null); | |
| 315 | +INSERT INTO LETTNMENUCREATDTLS(MENU_NO,AUTHOR_CODE,MAPNG_CREAT_ID) VALUES (5010100,'ROLE_ADMIN',null); | |
| 316 | +INSERT INTO LETTNMENUCREATDTLS(MENU_NO,AUTHOR_CODE,MAPNG_CREAT_ID) VALUES (5010100,'ROLE_USER_MEMBER',null); | |
| 317 | +INSERT INTO LETTNMENUCREATDTLS(MENU_NO,AUTHOR_CODE,MAPNG_CREAT_ID) VALUES (5010200,'ROLE_ADMIN',null); | |
| 318 | +INSERT INTO LETTNMENUCREATDTLS(MENU_NO,AUTHOR_CODE,MAPNG_CREAT_ID) VALUES (5010200,'ROLE_USER_MEMBER',null); | |
| 319 | +INSERT INTO LETTNMENUCREATDTLS(MENU_NO,AUTHOR_CODE,MAPNG_CREAT_ID) VALUES (5010300,'ROLE_ADMIN',null); | |
| 320 | +INSERT INTO LETTNMENUCREATDTLS(MENU_NO,AUTHOR_CODE,MAPNG_CREAT_ID) VALUES (5010300,'ROLE_USER_MEMBER',null); | |
| 321 | +INSERT INTO LETTNMENUCREATDTLS(MENU_NO,AUTHOR_CODE,MAPNG_CREAT_ID) VALUES (5010400,'ROLE_ADMIN',null); | |
| 322 | +INSERT INTO LETTNMENUCREATDTLS(MENU_NO,AUTHOR_CODE,MAPNG_CREAT_ID) VALUES (5010400,'ROLE_USER_MEMBER',null); | |
| 323 | +INSERT INTO LETTNMENUCREATDTLS(MENU_NO,AUTHOR_CODE,MAPNG_CREAT_ID) VALUES (5010500,'ROLE_ADMIN',null); | |
| 324 | +INSERT INTO LETTNMENUCREATDTLS(MENU_NO,AUTHOR_CODE,MAPNG_CREAT_ID) VALUES (5010500,'ROLE_USER_MEMBER',null); | |
| 325 | +INSERT INTO LETTNMENUCREATDTLS(MENU_NO,AUTHOR_CODE,MAPNG_CREAT_ID) VALUES (5020000,'ROLE_ADMIN',null); | |
| 326 | +INSERT INTO LETTNMENUCREATDTLS(MENU_NO,AUTHOR_CODE,MAPNG_CREAT_ID) VALUES (5020000,'ROLE_USER_MEMBER',null); | |
| 327 | +INSERT INTO LETTNMENUCREATDTLS(MENU_NO,AUTHOR_CODE,MAPNG_CREAT_ID) VALUES (5020100,'ROLE_ADMIN',null); | |
| 328 | +INSERT INTO LETTNMENUCREATDTLS(MENU_NO,AUTHOR_CODE,MAPNG_CREAT_ID) VALUES (5020100,'ROLE_USER_MEMBER',null); | |
| 329 | +INSERT INTO LETTNMENUCREATDTLS(MENU_NO,AUTHOR_CODE,MAPNG_CREAT_ID) VALUES (5020200,'ROLE_ADMIN',null); | |
| 330 | +INSERT INTO LETTNMENUCREATDTLS(MENU_NO,AUTHOR_CODE,MAPNG_CREAT_ID) VALUES (5020200,'ROLE_USER_MEMBER',null); | |
| 331 | +INSERT INTO LETTNMENUCREATDTLS(MENU_NO,AUTHOR_CODE,MAPNG_CREAT_ID) VALUES (5020300,'ROLE_ADMIN',null); | |
| 332 | +INSERT INTO LETTNMENUCREATDTLS(MENU_NO,AUTHOR_CODE,MAPNG_CREAT_ID) VALUES (5020300,'ROLE_USER_MEMBER',null); | |
| 333 | +INSERT INTO LETTNMENUCREATDTLS(MENU_NO,AUTHOR_CODE,MAPNG_CREAT_ID) VALUES (6000000,'ROLE_ADMIN',null); | |
| 334 | +INSERT INTO LETTNMENUCREATDTLS(MENU_NO,AUTHOR_CODE,MAPNG_CREAT_ID) VALUES (6010000,'ROLE_ADMIN',null); | |
| 335 | +INSERT INTO LETTNMENUCREATDTLS(MENU_NO,AUTHOR_CODE,MAPNG_CREAT_ID) VALUES (6010100,'ROLE_ADMIN',null); | |
| 336 | +INSERT INTO LETTNMENUCREATDTLS(MENU_NO,AUTHOR_CODE,MAPNG_CREAT_ID) VALUES (6010200,'ROLE_ADMIN',null); | |
| 337 | +INSERT INTO LETTNMENUCREATDTLS(MENU_NO,AUTHOR_CODE,MAPNG_CREAT_ID) VALUES (6020000,'ROLE_ADMIN',null); | |
| 338 | +INSERT INTO LETTNMENUCREATDTLS(MENU_NO,AUTHOR_CODE,MAPNG_CREAT_ID) VALUES (6020100,'ROLE_ADMIN',null); | |
| 339 | +INSERT INTO LETTNMENUCREATDTLS(MENU_NO,AUTHOR_CODE,MAPNG_CREAT_ID) VALUES (6020200,'ROLE_ADMIN',null); | |
| 340 | +INSERT INTO LETTNMENUCREATDTLS(MENU_NO,AUTHOR_CODE,MAPNG_CREAT_ID) VALUES (6020300,'ROLE_ADMIN',null); | |
| 341 | +INSERT INTO LETTNMENUCREATDTLS(MENU_NO,AUTHOR_CODE,MAPNG_CREAT_ID) VALUES (6020400,'ROLE_ADMIN',null); | |
| 342 | +INSERT INTO LETTNMENUCREATDTLS(MENU_NO,AUTHOR_CODE,MAPNG_CREAT_ID) VALUES (6030000,'ROLE_ADMIN',null); | |
| 343 | +INSERT INTO LETTNMENUCREATDTLS(MENU_NO,AUTHOR_CODE,MAPNG_CREAT_ID) VALUES (6030100,'ROLE_ADMIN',null); | |
| 344 | +INSERT INTO LETTNMENUCREATDTLS(MENU_NO,AUTHOR_CODE,MAPNG_CREAT_ID) VALUES (6030200,'ROLE_ADMIN',null); | |
| 345 | +INSERT INTO LETTNMENUCREATDTLS(MENU_NO,AUTHOR_CODE,MAPNG_CREAT_ID) VALUES (6030300,'ROLE_ADMIN',null); | |
| 346 | +INSERT INTO LETTNMENUCREATDTLS(MENU_NO,AUTHOR_CODE,MAPNG_CREAT_ID) VALUES (6040000,'ROLE_ADMIN',null); | |
| 347 | +INSERT INTO LETTNMENUCREATDTLS(MENU_NO,AUTHOR_CODE,MAPNG_CREAT_ID) VALUES (6040100,'ROLE_ADMIN',null); | |
| 348 | +INSERT INTO LETTNMENUCREATDTLS(MENU_NO,AUTHOR_CODE,MAPNG_CREAT_ID) VALUES (6040200,'ROLE_ADMIN',null); | |
| 349 | +INSERT INTO LETTNMENUCREATDTLS(MENU_NO,AUTHOR_CODE,MAPNG_CREAT_ID) VALUES (6040300,'ROLE_ADMIN',null); | |
| 350 | +INSERT INTO LETTNMENUCREATDTLS(MENU_NO,AUTHOR_CODE,MAPNG_CREAT_ID) VALUES (6040400,'ROLE_ADMIN',null); | |
| 351 | + | |
| 352 | +#게시물 | |
| 353 | +INSERT INTO LETTNBBS(NTT_ID,BBS_ID,NTT_NO,NTT_SJ,NTT_CN,ANSWER_AT,PARNTSCTT_NO,ANSWER_LC,SORT_ORDR,RDCNT,USE_AT,NTCE_BGNDE,NTCE_ENDDE,NTCR_ID,NTCR_NM,PASSWORD,ATCH_FILE_ID,FRST_REGIST_PNTTM,FRST_REGISTER_ID,LAST_UPDT_PNTTM,LAST_UPDUSR_ID) VALUES (1,'BBSMSTR_AAAAAAAAAAAA',1,'홈페이지 샘플공지1','홈페이지 샘플공지1','N',0,0,2,0,'Y','10000101','99991231','','','',null,NOW(),'USRCNFRM_00000000000',null,null); | |
| 354 | +INSERT INTO LETTNBBS(NTT_ID,BBS_ID,NTT_NO,NTT_SJ,NTT_CN,ANSWER_AT,PARNTSCTT_NO,ANSWER_LC,SORT_ORDR,RDCNT,USE_AT,NTCE_BGNDE,NTCE_ENDDE,NTCR_ID,NTCR_NM,PASSWORD,ATCH_FILE_ID,FRST_REGIST_PNTTM,FRST_REGISTER_ID,LAST_UPDT_PNTTM,LAST_UPDUSR_ID) VALUES (2,'BBSMSTR_AAAAAAAAAAAA',1,'홈페이지 샘플공지2','홈페이지 샘플공지2','N',0,0,2,0,'Y','10000101','99991231','','','',null,NOW(),'USRCNFRM_00000000000',null,null); | |
| 355 | +INSERT INTO LETTNBBS(NTT_ID,BBS_ID,NTT_NO,NTT_SJ,NTT_CN,ANSWER_AT,PARNTSCTT_NO,ANSWER_LC,SORT_ORDR,RDCNT,USE_AT,NTCE_BGNDE,NTCE_ENDDE,NTCR_ID,NTCR_NM,PASSWORD,ATCH_FILE_ID,FRST_REGIST_PNTTM,FRST_REGISTER_ID,LAST_UPDT_PNTTM,LAST_UPDUSR_ID) VALUES (3,'BBSMSTR_AAAAAAAAAAAA',1,'홈페이지 샘플공지3','홈페이지 샘플공지3','N',0,0,2,0,'Y','10000101','99991231','','','',null,NOW(),'USRCNFRM_00000000000',null,null); | |
| 356 | +INSERT INTO LETTNBBS(NTT_ID,BBS_ID,NTT_NO,NTT_SJ,NTT_CN,ANSWER_AT,PARNTSCTT_NO,ANSWER_LC,SORT_ORDR,RDCNT,USE_AT,NTCE_BGNDE,NTCE_ENDDE,NTCR_ID,NTCR_NM,PASSWORD,ATCH_FILE_ID,FRST_REGIST_PNTTM,FRST_REGISTER_ID,LAST_UPDT_PNTTM,LAST_UPDUSR_ID) VALUES (4,'BBSMSTR_AAAAAAAAAAAA',1,'홈페이지 샘플공지4','홈페이지 샘플공지4','N',0,0,2,0,'Y','10000101','99991231','','','',null,NOW(),'USRCNFRM_00000000000',null,null); | |
| 357 | +INSERT INTO LETTNBBS(NTT_ID,BBS_ID,NTT_NO,NTT_SJ,NTT_CN,ANSWER_AT,PARNTSCTT_NO,ANSWER_LC,SORT_ORDR,RDCNT,USE_AT,NTCE_BGNDE,NTCE_ENDDE,NTCR_ID,NTCR_NM,PASSWORD,ATCH_FILE_ID,FRST_REGIST_PNTTM,FRST_REGISTER_ID,LAST_UPDT_PNTTM,LAST_UPDUSR_ID) VALUES (5,'BBSMSTR_AAAAAAAAAAAA',1,'홈페이지 샘플공지5','홈페이지 샘플공지5','N',0,0,2,0,'Y','10000101','99991231','','','',null,NOW(),'USRCNFRM_00000000000',null,null); | |
| 358 | +INSERT INTO LETTNBBS(NTT_ID,BBS_ID,NTT_NO,NTT_SJ,NTT_CN,ANSWER_AT,PARNTSCTT_NO,ANSWER_LC,SORT_ORDR,RDCNT,USE_AT,NTCE_BGNDE,NTCE_ENDDE,NTCR_ID,NTCR_NM,PASSWORD,ATCH_FILE_ID,FRST_REGIST_PNTTM,FRST_REGISTER_ID,LAST_UPDT_PNTTM,LAST_UPDUSR_ID) VALUES (6,'BBSMSTR_CCCCCCCCCCCC',1,'홈페이지 샘플업무1','홈페이지 샘플업무1','N',0,0,2,0,'Y','10000101','99991231','','','',null,NOW(),'USRCNFRM_00000000000',null,null); | |
| 359 | +INSERT INTO LETTNBBS(NTT_ID,BBS_ID,NTT_NO,NTT_SJ,NTT_CN,ANSWER_AT,PARNTSCTT_NO,ANSWER_LC,SORT_ORDR,RDCNT,USE_AT,NTCE_BGNDE,NTCE_ENDDE,NTCR_ID,NTCR_NM,PASSWORD,ATCH_FILE_ID,FRST_REGIST_PNTTM,FRST_REGISTER_ID,LAST_UPDT_PNTTM,LAST_UPDUSR_ID) VALUES (7,'BBSMSTR_CCCCCCCCCCCC',1,'홈페이지 샘플업무2','홈페이지 샘플업무2','N',0,0,2,0,'Y','10000101','99991231','','','',null,NOW(),'USRCNFRM_00000000000',null,null); | |
| 360 | +INSERT INTO LETTNBBS(NTT_ID,BBS_ID,NTT_NO,NTT_SJ,NTT_CN,ANSWER_AT,PARNTSCTT_NO,ANSWER_LC,SORT_ORDR,RDCNT,USE_AT,NTCE_BGNDE,NTCE_ENDDE,NTCR_ID,NTCR_NM,PASSWORD,ATCH_FILE_ID,FRST_REGIST_PNTTM,FRST_REGISTER_ID,LAST_UPDT_PNTTM,LAST_UPDUSR_ID) VALUES (8,'BBSMSTR_CCCCCCCCCCCC',1,'홈페이지 샘플업무3','홈페이지 샘플업무3','N',0,0,2,0,'Y','10000101','99991231','','','',null,NOW(),'USRCNFRM_00000000000',null,null); | |
| 361 | +INSERT INTO LETTNBBS(NTT_ID,BBS_ID,NTT_NO,NTT_SJ,NTT_CN,ANSWER_AT,PARNTSCTT_NO,ANSWER_LC,SORT_ORDR,RDCNT,USE_AT,NTCE_BGNDE,NTCE_ENDDE,NTCR_ID,NTCR_NM,PASSWORD,ATCH_FILE_ID,FRST_REGIST_PNTTM,FRST_REGISTER_ID,LAST_UPDT_PNTTM,LAST_UPDUSR_ID) VALUES (9,'BBSMSTR_CCCCCCCCCCCC',1,'홈페이지 샘플업무4','홈페이지 샘플업무4','N',0,0,2,0,'Y','10000101','99991231','','','',null,NOW(),'USRCNFRM_00000000000',null,null); | |
| 362 | +INSERT INTO LETTNBBS(NTT_ID,BBS_ID,NTT_NO,NTT_SJ,NTT_CN,ANSWER_AT,PARNTSCTT_NO,ANSWER_LC,SORT_ORDR,RDCNT,USE_AT,NTCE_BGNDE,NTCE_ENDDE,NTCR_ID,NTCR_NM,PASSWORD,ATCH_FILE_ID,FRST_REGIST_PNTTM,FRST_REGISTER_ID,LAST_UPDT_PNTTM,LAST_UPDUSR_ID) VALUES (10,'BBSMSTR_CCCCCCCCCCCC',1,'홈페이지 샘플업무5','홈페이지 샘플업무5','N',0,0,2,0,'Y','10000101','99991231','','','',null,NOW(),'USRCNFRM_00000000000',null,null); | |
| 363 | + | |
| 364 | +#우편번호 | |
| 365 | +INSERT INTO LETTCZIP(ZIP, SN, CTPRVN_NM, SIGNGU_NM, EMD_NM, LI_BULD_NM, LNBR_DONG_HO, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('100775',7381,'서울','중구','무교동','한국정보화진흥원','',SYSDATE(),'SYSTEM',SYSDATE(),'SYSTEM'); |
+++ DATABASE/mysql/all_ebt_ddl_mysql.sql
... | ... | @@ -0,0 +1,547 @@ |
| 1 | + | |
| 2 | + | |
| 3 | +CREATE TABLE IDS ( | |
| 4 | + TABLE_NAME varchar(20) NOT NULL, | |
| 5 | + NEXT_ID decimal(30,0) NOT NULL DEFAULT '0', | |
| 6 | + PRIMARY KEY (TABLE_NAME) | |
| 7 | +) ; | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | +CREATE TABLE LETTCCMMNCLCODE ( | |
| 12 | + CL_CODE char(3) NOT NULL, | |
| 13 | + CL_CODE_NM varchar(60) DEFAULT NULL, | |
| 14 | + CL_CODE_DC varchar(200) DEFAULT NULL, | |
| 15 | + USE_AT char(1) DEFAULT NULL, | |
| 16 | + FRST_REGIST_PNTTM datetime DEFAULT NULL, | |
| 17 | + FRST_REGISTER_ID varchar(20) DEFAULT NULL, | |
| 18 | + LAST_UPDT_PNTTM datetime DEFAULT NULL, | |
| 19 | + LAST_UPDUSR_ID varchar(20) DEFAULT NULL, | |
| 20 | + PRIMARY KEY (CL_CODE) | |
| 21 | +) ; | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | +CREATE TABLE LETTCCMMNCODE ( | |
| 26 | + CODE_ID varchar(6) NOT NULL, | |
| 27 | + CODE_ID_NM varchar(60) DEFAULT NULL, | |
| 28 | + CODE_ID_DC varchar(200) DEFAULT NULL, | |
| 29 | + USE_AT char(1) DEFAULT NULL, | |
| 30 | + CL_CODE char(3) DEFAULT NULL, | |
| 31 | + FRST_REGIST_PNTTM datetime DEFAULT NULL, | |
| 32 | + FRST_REGISTER_ID varchar(20) DEFAULT NULL, | |
| 33 | + LAST_UPDT_PNTTM datetime DEFAULT NULL, | |
| 34 | + LAST_UPDUSR_ID varchar(20) DEFAULT NULL, | |
| 35 | + PRIMARY KEY (CODE_ID), | |
| 36 | + KEY R_179 (CL_CODE), | |
| 37 | + CONSTRAINT LETTCCMMNCODE_ibfk_1 FOREIGN KEY (CL_CODE) REFERENCES LETTCCMMNCLCODE (CL_CODE) | |
| 38 | +) ; | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | +CREATE TABLE LETTCCMMNDETAILCODE ( | |
| 43 | + CODE_ID varchar(6) NOT NULL, | |
| 44 | + CODE varchar(15) NOT NULL, | |
| 45 | + CODE_NM varchar(60) DEFAULT NULL, | |
| 46 | + CODE_DC varchar(200) DEFAULT NULL, | |
| 47 | + USE_AT char(1) DEFAULT NULL, | |
| 48 | + FRST_REGIST_PNTTM datetime DEFAULT NULL, | |
| 49 | + FRST_REGISTER_ID varchar(20) DEFAULT NULL, | |
| 50 | + LAST_UPDT_PNTTM datetime DEFAULT NULL, | |
| 51 | + LAST_UPDUSR_ID varchar(20) DEFAULT NULL, | |
| 52 | + PRIMARY KEY (CODE_ID,CODE), | |
| 53 | + CONSTRAINT LETTCCMMNDETAILCODE_ibfk_1 FOREIGN KEY (CODE_ID) REFERENCES LETTCCMMNCODE (CODE_ID) | |
| 54 | +) ; | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | +CREATE TABLE LETTNORGNZTINFO ( | |
| 59 | + ORGNZT_ID char(20) NOT NULL DEFAULT '', | |
| 60 | + ORGNZT_NM varchar(20) NOT NULL, | |
| 61 | + ORGNZT_DC varchar(100) DEFAULT NULL, | |
| 62 | + PRIMARY KEY (ORGNZT_ID) | |
| 63 | +) ; | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | +CREATE TABLE LETTNAUTHORGROUPINFO ( | |
| 68 | + GROUP_ID char(20) NOT NULL DEFAULT '', | |
| 69 | + GROUP_NM varchar(60) NOT NULL, | |
| 70 | + GROUP_CREAT_DE char(20) NOT NULL, | |
| 71 | + GROUP_DC varchar(100) DEFAULT NULL, | |
| 72 | + PRIMARY KEY (GROUP_ID) | |
| 73 | +) ; | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | +CREATE TABLE LETTNAUTHORINFO ( | |
| 78 | + AUTHOR_CODE varchar(30) NOT NULL DEFAULT '', | |
| 79 | + AUTHOR_NM varchar(60) NOT NULL, | |
| 80 | + AUTHOR_DC varchar(200) DEFAULT NULL, | |
| 81 | + AUTHOR_CREAT_DE char(20) NOT NULL, | |
| 82 | + PRIMARY KEY (AUTHOR_CODE) | |
| 83 | +) ; | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | +CREATE TABLE LETTNROLES_HIERARCHY ( | |
| 88 | + PARNTS_ROLE varchar(30) NOT NULL, | |
| 89 | + CHLDRN_ROLE varchar(30) NOT NULL, | |
| 90 | + PRIMARY KEY (PARNTS_ROLE,CHLDRN_ROLE), | |
| 91 | + KEY R_308 (CHLDRN_ROLE), | |
| 92 | + CONSTRAINT LETTNROLES_HIERARCHY_ibfk_2 FOREIGN KEY (CHLDRN_ROLE) REFERENCES LETTNAUTHORINFO (AUTHOR_CODE) ON DELETE CASCADE, | |
| 93 | + CONSTRAINT LETTNROLES_HIERARCHY_ibfk_1 FOREIGN KEY (PARNTS_ROLE) REFERENCES LETTNAUTHORINFO (AUTHOR_CODE) ON DELETE CASCADE | |
| 94 | +) ; | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | +CREATE TABLE LETTNROLEINFO ( | |
| 99 | + ROLE_CODE varchar(50) NOT NULL DEFAULT '', | |
| 100 | + ROLE_NM varchar(60) NOT NULL, | |
| 101 | + ROLE_PTTRN varchar(300) DEFAULT NULL, | |
| 102 | + ROLE_DC varchar(200) DEFAULT NULL, | |
| 103 | + ROLE_TY varchar(80) DEFAULT NULL, | |
| 104 | + ROLE_SORT varchar(10) DEFAULT NULL, | |
| 105 | + ROLE_CREAT_DE char(20) NOT NULL, | |
| 106 | + PRIMARY KEY (ROLE_CODE) | |
| 107 | +) ; | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
| 111 | +CREATE TABLE LETTNAUTHORROLERELATE ( | |
| 112 | + AUTHOR_CODE varchar(30) NOT NULL, | |
| 113 | + ROLE_CODE varchar(50) NOT NULL, | |
| 114 | + CREAT_DT datetime DEFAULT NULL, | |
| 115 | + PRIMARY KEY (AUTHOR_CODE,ROLE_CODE), | |
| 116 | + KEY R_292 (ROLE_CODE), | |
| 117 | + CONSTRAINT LETTNAUTHORROLERELATE_ibfk_2 FOREIGN KEY (ROLE_CODE) REFERENCES LETTNROLEINFO (ROLE_CODE) ON DELETE CASCADE, | |
| 118 | + CONSTRAINT LETTNAUTHORROLERELATE_ibfk_1 FOREIGN KEY (AUTHOR_CODE) REFERENCES LETTNAUTHORINFO (AUTHOR_CODE) ON DELETE CASCADE | |
| 119 | +) ; | |
| 120 | + | |
| 121 | + | |
| 122 | + | |
| 123 | +CREATE TABLE LETTNEMPLYRINFO ( | |
| 124 | + EMPLYR_ID varchar(20) NOT NULL, | |
| 125 | + ORGNZT_ID char(20) DEFAULT NULL, | |
| 126 | + USER_NM varchar(60) NOT NULL, | |
| 127 | + PASSWORD varchar(200) NOT NULL, | |
| 128 | + EMPL_NO varchar(20) DEFAULT NULL, | |
| 129 | + IHIDNUM varchar(200) DEFAULT NULL, | |
| 130 | + SEXDSTN_CODE char(1) DEFAULT NULL, | |
| 131 | + BRTHDY char(20) DEFAULT NULL, | |
| 132 | + FXNUM varchar(20) DEFAULT NULL, | |
| 133 | + HOUSE_ADRES varchar(100) DEFAULT NULL, | |
| 134 | + PASSWORD_HINT varchar(100) NOT NULL, | |
| 135 | + PASSWORD_CNSR varchar(100) NOT NULL, | |
| 136 | + HOUSE_END_TELNO varchar(4) DEFAULT NULL, | |
| 137 | + AREA_NO varchar(4) DEFAULT NULL, | |
| 138 | + DETAIL_ADRES varchar(100) DEFAULT NULL, | |
| 139 | + ZIP varchar(6) DEFAULT NULL, | |
| 140 | + OFFM_TELNO varchar(20) DEFAULT NULL, | |
| 141 | + MBTLNUM varchar(20) DEFAULT NULL, | |
| 142 | + EMAIL_ADRES varchar(50) DEFAULT NULL, | |
| 143 | + OFCPS_NM varchar(60) DEFAULT NULL, | |
| 144 | + HOUSE_MIDDLE_TELNO varchar(4) DEFAULT NULL, | |
| 145 | + GROUP_ID char(20) DEFAULT NULL, | |
| 146 | + PSTINST_CODE char(8) DEFAULT NULL, | |
| 147 | + EMPLYR_STTUS_CODE varchar(15) NOT NULL, | |
| 148 | + ESNTL_ID char(20) NOT NULL, | |
| 149 | + CRTFC_DN_VALUE varchar(20) DEFAULT NULL, | |
| 150 | + SBSCRB_DE datetime DEFAULT NULL, | |
| 151 | + PRIMARY KEY (EMPLYR_ID), | |
| 152 | + KEY LETTNEMPLYRINFO_ibfk_2 (GROUP_ID), | |
| 153 | + KEY LETTNEMPLYRINFO_ibfk_1 (ORGNZT_ID), | |
| 154 | + CONSTRAINT LETTNEMPLYRINFO_ibfk_2 FOREIGN KEY (GROUP_ID) REFERENCES LETTNAUTHORGROUPINFO (GROUP_ID) ON DELETE CASCADE, | |
| 155 | + CONSTRAINT LETTNEMPLYRINFO_ibfk_1 FOREIGN KEY (ORGNZT_ID) REFERENCES LETTNORGNZTINFO (ORGNZT_ID) ON DELETE CASCADE | |
| 156 | +) ; | |
| 157 | + | |
| 158 | + | |
| 159 | + | |
| 160 | +CREATE TABLE LETTNEMPLYRSCRTYESTBS ( | |
| 161 | + SCRTY_DTRMN_TRGET_ID varchar(20) NOT NULL, | |
| 162 | + MBER_TY_CODE varchar(15) DEFAULT NULL, | |
| 163 | + AUTHOR_CODE varchar(30) NOT NULL, | |
| 164 | + PRIMARY KEY (SCRTY_DTRMN_TRGET_ID), | |
| 165 | + KEY LETTNEMPLYRSCRTYESTBS_ibfk_4 (AUTHOR_CODE), | |
| 166 | + CONSTRAINT LETTNEMPLYRSCRTYESTBS_ibfk_4 FOREIGN KEY (AUTHOR_CODE) REFERENCES LETTNAUTHORINFO (AUTHOR_CODE) | |
| 167 | +) ; | |
| 168 | + | |
| 169 | + | |
| 170 | + | |
| 171 | +CREATE TABLE LETTNTMPLATINFO ( | |
| 172 | + TMPLAT_ID char(20) NOT NULL DEFAULT '', | |
| 173 | + TMPLAT_NM varchar(255) DEFAULT NULL, | |
| 174 | + TMPLAT_COURS varchar(2000) DEFAULT NULL, | |
| 175 | + USE_AT char(1) DEFAULT NULL, | |
| 176 | + TMPLAT_SE_CODE char(6) DEFAULT NULL, | |
| 177 | + FRST_REGISTER_ID varchar(20) DEFAULT NULL, | |
| 178 | + FRST_REGIST_PNTTM datetime DEFAULT NULL, | |
| 179 | + LAST_UPDUSR_ID varchar(20) DEFAULT NULL, | |
| 180 | + LAST_UPDT_PNTTM datetime DEFAULT NULL, | |
| 181 | + PRIMARY KEY (TMPLAT_ID) | |
| 182 | +) ; | |
| 183 | + | |
| 184 | + | |
| 185 | + | |
| 186 | +CREATE TABLE LETTNBBSMASTER ( | |
| 187 | + BBS_ID char(20) NOT NULL, | |
| 188 | + BBS_NM varchar(255) NOT NULL, | |
| 189 | + BBS_INTRCN varchar(2400) DEFAULT NULL, | |
| 190 | + BBS_TY_CODE char(6) NOT NULL, | |
| 191 | + BBS_ATTRB_CODE char(6) NOT NULL, | |
| 192 | + REPLY_POSBL_AT char(1) DEFAULT NULL, | |
| 193 | + FILE_ATCH_POSBL_AT char(1) NOT NULL, | |
| 194 | + ATCH_POSBL_FILE_NUMBER decimal(2,0) NOT NULL, | |
| 195 | + ATCH_POSBL_FILE_SIZE decimal(8,0) DEFAULT NULL, | |
| 196 | + USE_AT char(1) NOT NULL, | |
| 197 | + TMPLAT_ID char(20) DEFAULT NULL, | |
| 198 | + FRST_REGISTER_ID varchar(20) NOT NULL, | |
| 199 | + FRST_REGIST_PNTTM datetime NOT NULL, | |
| 200 | + LAST_UPDUSR_ID varchar(20) DEFAULT NULL, | |
| 201 | + LAST_UPDT_PNTTM datetime DEFAULT NULL, | |
| 202 | + PRIMARY KEY (BBS_ID) | |
| 203 | +) ; | |
| 204 | + | |
| 205 | + | |
| 206 | + | |
| 207 | +CREATE TABLE LETTNBBSUSE ( | |
| 208 | + BBS_ID char(20) NOT NULL, | |
| 209 | + TRGET_ID char(20) NOT NULL DEFAULT '', | |
| 210 | + USE_AT char(1) NOT NULL, | |
| 211 | + REGIST_SE_CODE char(6) DEFAULT NULL, | |
| 212 | + FRST_REGIST_PNTTM datetime DEFAULT NULL, | |
| 213 | + FRST_REGISTER_ID varchar(20) NOT NULL, | |
| 214 | + LAST_UPDT_PNTTM datetime DEFAULT NULL, | |
| 215 | + LAST_UPDUSR_ID varchar(20) DEFAULT NULL, | |
| 216 | + PRIMARY KEY (BBS_ID,TRGET_ID), | |
| 217 | + CONSTRAINT LETTNBBSUSE_ibfk_1 FOREIGN KEY (BBS_ID) REFERENCES LETTNBBSMASTER (BBS_ID) | |
| 218 | +) ; | |
| 219 | + | |
| 220 | + | |
| 221 | + | |
| 222 | +CREATE TABLE LETTNBBS ( | |
| 223 | + NTT_ID decimal(20,0) NOT NULL, | |
| 224 | + BBS_ID char(20) NOT NULL, | |
| 225 | + NTT_NO decimal(20,0) DEFAULT NULL, | |
| 226 | + NTT_SJ varchar(2000) DEFAULT NULL, | |
| 227 | + NTT_CN mediumtext, | |
| 228 | + ANSWER_AT char(1) DEFAULT NULL, | |
| 229 | + PARNTSCTT_NO decimal(10,0) DEFAULT NULL, | |
| 230 | + ANSWER_LC int(11) DEFAULT NULL, | |
| 231 | + SORT_ORDR decimal(8,0) DEFAULT NULL, | |
| 232 | + RDCNT decimal(10,0) DEFAULT NULL, | |
| 233 | + USE_AT char(1) NOT NULL, | |
| 234 | + NTCE_BGNDE char(20) DEFAULT NULL, | |
| 235 | + NTCE_ENDDE char(20) DEFAULT NULL, | |
| 236 | + NTCR_ID varchar(20) DEFAULT NULL, | |
| 237 | + NTCR_NM varchar(20) DEFAULT NULL, | |
| 238 | + PASSWORD varchar(200) DEFAULT NULL, | |
| 239 | + ATCH_FILE_ID char(20) DEFAULT NULL, | |
| 240 | + FRST_REGIST_PNTTM datetime NOT NULL, | |
| 241 | + FRST_REGISTER_ID varchar(20) NOT NULL, | |
| 242 | + LAST_UPDT_PNTTM datetime DEFAULT NULL, | |
| 243 | + LAST_UPDUSR_ID varchar(20) DEFAULT NULL, | |
| 244 | + PRIMARY KEY (NTT_ID,BBS_ID), | |
| 245 | + KEY LETTNBBS_ibfk_1 (BBS_ID), | |
| 246 | + CONSTRAINT LETTNBBS_ibfk_1 FOREIGN KEY (BBS_ID) REFERENCES LETTNBBSMASTER (BBS_ID) | |
| 247 | +) ; | |
| 248 | + | |
| 249 | + | |
| 250 | + | |
| 251 | +CREATE TABLE LETTCZIP ( | |
| 252 | + ZIP varchar(6) NOT NULL, | |
| 253 | + SN decimal(10,0) NOT NULL DEFAULT '0', | |
| 254 | + CTPRVN_NM varchar(20) DEFAULT NULL, | |
| 255 | + SIGNGU_NM varchar(20) DEFAULT NULL, | |
| 256 | + EMD_NM varchar(60) DEFAULT NULL, | |
| 257 | + LI_BULD_NM varchar(60) DEFAULT NULL, | |
| 258 | + LNBR_DONG_HO varchar(20) DEFAULT NULL, | |
| 259 | + FRST_REGIST_PNTTM datetime DEFAULT NULL, | |
| 260 | + FRST_REGISTER_ID varchar(20) DEFAULT NULL, | |
| 261 | + LAST_UPDT_PNTTM datetime DEFAULT NULL, | |
| 262 | + LAST_UPDUSR_ID varchar(20) DEFAULT NULL, | |
| 263 | + PRIMARY KEY (ZIP,SN) | |
| 264 | +) ; | |
| 265 | + | |
| 266 | + | |
| 267 | + | |
| 268 | +CREATE TABLE LETTHEMPLYRINFOCHANGEDTLS ( | |
| 269 | + EMPLYR_ID varchar(20) NOT NULL, | |
| 270 | + CHANGE_DE DATETIME NOT NULL, | |
| 271 | + ORGNZT_ID char(20) DEFAULT NULL, | |
| 272 | + GROUP_ID char(20) DEFAULT NULL, | |
| 273 | + EMPL_NO varchar(20) DEFAULT NULL, | |
| 274 | + SEXDSTN_CODE char(1) DEFAULT NULL, | |
| 275 | + BRTHDY char(20) DEFAULT NULL, | |
| 276 | + FXNUM varchar(20) DEFAULT NULL, | |
| 277 | + HOUSE_ADRES varchar(100) DEFAULT NULL, | |
| 278 | + HOUSE_END_TELNO varchar(4) DEFAULT NULL, | |
| 279 | + AREA_NO varchar(4) DEFAULT NULL, | |
| 280 | + DETAIL_ADRES varchar(100) DEFAULT NULL, | |
| 281 | + ZIP varchar(6) DEFAULT NULL, | |
| 282 | + OFFM_TELNO varchar(20) DEFAULT NULL, | |
| 283 | + MBTLNUM varchar(20) DEFAULT NULL, | |
| 284 | + EMAIL_ADRES varchar(50) DEFAULT NULL, | |
| 285 | + HOUSE_MIDDLE_TELNO varchar(4) DEFAULT NULL, | |
| 286 | + PSTINST_CODE char(8) DEFAULT NULL, | |
| 287 | + EMPLYR_STTUS_CODE varchar(15) DEFAULT NULL, | |
| 288 | + ESNTL_ID char(20) DEFAULT NULL, | |
| 289 | + PRIMARY KEY (EMPLYR_ID,CHANGE_DE) | |
| 290 | +) ; | |
| 291 | + | |
| 292 | + | |
| 293 | + | |
| 294 | +CREATE TABLE LETTNBBSMASTEROPTN ( | |
| 295 | + BBS_ID char(20) NOT NULL DEFAULT '', | |
| 296 | + ANSWER_AT char(1) NOT NULL DEFAULT '', | |
| 297 | + STSFDG_AT char(1) NOT NULL DEFAULT '', | |
| 298 | + FRST_REGIST_PNTTM datetime NOT NULL DEFAULT '0000-00-00 00:00:00', | |
| 299 | + LAST_UPDT_PNTTM datetime DEFAULT NULL, | |
| 300 | + FRST_REGISTER_ID varchar(20) NOT NULL DEFAULT '', | |
| 301 | + LAST_UPDUSR_ID varchar(20) DEFAULT NULL, | |
| 302 | + PRIMARY KEY (BBS_ID) | |
| 303 | +) ; | |
| 304 | + | |
| 305 | + | |
| 306 | + | |
| 307 | +CREATE TABLE LETTNENTRPRSMBER ( | |
| 308 | + ENTRPRS_MBER_ID varchar(20) NOT NULL DEFAULT '', | |
| 309 | + ENTRPRS_SE_CODE char(15) DEFAULT NULL, | |
| 310 | + BIZRNO varchar(10) DEFAULT NULL, | |
| 311 | + JURIRNO varchar(13) DEFAULT NULL, | |
| 312 | + CMPNY_NM varchar(60) NOT NULL, | |
| 313 | + CXFC varchar(50) DEFAULT NULL, | |
| 314 | + ZIP varchar(6) DEFAULT NULL, | |
| 315 | + ADRES varchar(100) DEFAULT NULL, | |
| 316 | + ENTRPRS_MIDDLE_TELNO varchar(4) DEFAULT NULL, | |
| 317 | + FXNUM varchar(20) DEFAULT NULL, | |
| 318 | + INDUTY_CODE char(15) DEFAULT NULL, | |
| 319 | + APPLCNT_NM varchar(50) DEFAULT NULL, | |
| 320 | + APPLCNT_IHIDNUM varchar(200) DEFAULT NULL, | |
| 321 | + SBSCRB_DE datetime DEFAULT NULL, | |
| 322 | + ENTRPRS_MBER_STTUS varchar(15) DEFAULT NULL, | |
| 323 | + ENTRPRS_MBER_PASSWORD varchar(200) NOT NULL, | |
| 324 | + ENTRPRS_MBER_PASSWORD_HINT varchar(100) NOT NULL, | |
| 325 | + ENTRPRS_MBER_PASSWORD_CNSR varchar(100) NOT NULL, | |
| 326 | + GROUP_ID char(20) DEFAULT NULL, | |
| 327 | + DETAIL_ADRES varchar(100) DEFAULT NULL, | |
| 328 | + ENTRPRS_END_TELNO varchar(4) DEFAULT NULL, | |
| 329 | + AREA_NO varchar(4) DEFAULT NULL, | |
| 330 | + APPLCNT_EMAIL_ADRES varchar(50) DEFAULT NULL, | |
| 331 | + ESNTL_ID char(20) NOT NULL, | |
| 332 | + PRIMARY KEY (ENTRPRS_MBER_ID), | |
| 333 | + KEY LETTNENTRPRSMBER_ibfk_1 (GROUP_ID), | |
| 334 | + CONSTRAINT LETTNENTRPRSMBER_ibfk_1 FOREIGN KEY (GROUP_ID) REFERENCES LETTNAUTHORGROUPINFO (GROUP_ID) ON DELETE CASCADE | |
| 335 | +) ; | |
| 336 | + | |
| 337 | + | |
| 338 | + | |
| 339 | +CREATE TABLE LETTNFILE ( | |
| 340 | + ATCH_FILE_ID char(20) NOT NULL, | |
| 341 | + CREAT_DT datetime NOT NULL, | |
| 342 | + USE_AT char(1) DEFAULT NULL, | |
| 343 | + PRIMARY KEY (ATCH_FILE_ID) | |
| 344 | +) ; | |
| 345 | + | |
| 346 | + | |
| 347 | + | |
| 348 | +CREATE TABLE LETTNFILEDETAIL ( | |
| 349 | + ATCH_FILE_ID char(20) NOT NULL, | |
| 350 | + FILE_SN decimal(10,0) NOT NULL, | |
| 351 | + FILE_STRE_COURS varchar(2000) NOT NULL, | |
| 352 | + STRE_FILE_NM varchar(255) NOT NULL, | |
| 353 | + ORIGNL_FILE_NM varchar(255) DEFAULT NULL, | |
| 354 | + FILE_EXTSN varchar(20) NOT NULL, | |
| 355 | + FILE_CN mediumtext, | |
| 356 | + FILE_SIZE decimal(8,0) DEFAULT NULL, | |
| 357 | + PRIMARY KEY (ATCH_FILE_ID,FILE_SN), | |
| 358 | + CONSTRAINT LETTNFILEDETAIL_ibfk_1 FOREIGN KEY (ATCH_FILE_ID) REFERENCES LETTNFILE (ATCH_FILE_ID) | |
| 359 | +) ; | |
| 360 | + | |
| 361 | + | |
| 362 | + | |
| 363 | +CREATE TABLE LETTNGNRLMBER ( | |
| 364 | + MBER_ID varchar(20) NOT NULL DEFAULT '', | |
| 365 | + PASSWORD varchar(200) NOT NULL, | |
| 366 | + PASSWORD_HINT varchar(100) DEFAULT NULL, | |
| 367 | + PASSWORD_CNSR varchar(100) DEFAULT NULL, | |
| 368 | + IHIDNUM varchar(200) DEFAULT NULL, | |
| 369 | + MBER_NM varchar(50) NOT NULL, | |
| 370 | + ZIP varchar(6) DEFAULT NULL, | |
| 371 | + ADRES varchar(100) DEFAULT NULL, | |
| 372 | + AREA_NO varchar(4) DEFAULT NULL, | |
| 373 | + MBER_STTUS varchar(15) DEFAULT NULL, | |
| 374 | + DETAIL_ADRES varchar(100) DEFAULT NULL, | |
| 375 | + END_TELNO varchar(4) DEFAULT NULL, | |
| 376 | + MBTLNUM varchar(20) DEFAULT NULL, | |
| 377 | + GROUP_ID char(20) DEFAULT NULL, | |
| 378 | + MBER_FXNUM varchar(20) DEFAULT NULL, | |
| 379 | + MBER_EMAIL_ADRES varchar(50) DEFAULT NULL, | |
| 380 | + MIDDLE_TELNO varchar(4) DEFAULT NULL, | |
| 381 | + SBSCRB_DE datetime DEFAULT NULL, | |
| 382 | + SEXDSTN_CODE char(1) DEFAULT NULL, | |
| 383 | + ESNTL_ID char(20) NOT NULL, | |
| 384 | + PRIMARY KEY (MBER_ID), | |
| 385 | + KEY LETTNGNRLMBER_ibfk_1 (GROUP_ID), | |
| 386 | + CONSTRAINT LETTNGNRLMBER_ibfk_1 FOREIGN KEY (GROUP_ID) REFERENCES LETTNAUTHORGROUPINFO (GROUP_ID) ON DELETE CASCADE | |
| 387 | +) ; | |
| 388 | + | |
| 389 | + | |
| 390 | + | |
| 391 | +CREATE TABLE LETTNLOGINLOG ( | |
| 392 | + LOG_ID char(20) NOT NULL, | |
| 393 | + CONECT_ID varchar(20) DEFAULT NULL, | |
| 394 | + CONECT_IP varchar(23) DEFAULT NULL, | |
| 395 | + CONECT_MTHD char(4) DEFAULT NULL, | |
| 396 | + ERROR_OCCRRNC_AT char(1) DEFAULT NULL, | |
| 397 | + ERROR_CODE char(3) DEFAULT NULL, | |
| 398 | + CREAT_DT datetime DEFAULT NULL, | |
| 399 | + PRIMARY KEY (LOG_ID) | |
| 400 | +) ; | |
| 401 | + | |
| 402 | + | |
| 403 | + | |
| 404 | +CREATE TABLE LETTNLOGINPOLICY ( | |
| 405 | + EMPLYR_ID varchar(20) NOT NULL DEFAULT '', | |
| 406 | + IP_INFO varchar(23) NOT NULL, | |
| 407 | + DPLCT_PERM_AT char(1) NOT NULL, | |
| 408 | + LMTT_AT char(1) NOT NULL, | |
| 409 | + FRST_REGISTER_ID varchar(20) DEFAULT NULL, | |
| 410 | + FRST_REGIST_PNTTM datetime DEFAULT NULL, | |
| 411 | + LAST_UPDUSR_ID varchar(20) DEFAULT NULL, | |
| 412 | + LAST_UPDT_PNTTM datetime DEFAULT NULL, | |
| 413 | + PRIMARY KEY (EMPLYR_ID) | |
| 414 | +) ; | |
| 415 | + | |
| 416 | + | |
| 417 | + | |
| 418 | +CREATE TABLE LETTNPROGRMLIST ( | |
| 419 | + PROGRM_FILE_NM varchar(60) NOT NULL DEFAULT '', | |
| 420 | + PROGRM_STRE_PATH varchar(100) NOT NULL, | |
| 421 | + PROGRM_KOREAN_NM varchar(60) DEFAULT NULL, | |
| 422 | + PROGRM_DC varchar(200) DEFAULT NULL, | |
| 423 | + URL varchar(100) NOT NULL, | |
| 424 | + PRIMARY KEY (PROGRM_FILE_NM) | |
| 425 | +) ; | |
| 426 | + | |
| 427 | + | |
| 428 | + | |
| 429 | +CREATE TABLE LETTNMENUINFO ( | |
| 430 | + MENU_NM varchar(60) NOT NULL, | |
| 431 | + PROGRM_FILE_NM varchar(60) NOT NULL, | |
| 432 | + MENU_NO decimal(20,0) NOT NULL, | |
| 433 | + UPPER_MENU_NO decimal(20,0) DEFAULT NULL, | |
| 434 | + MENU_ORDR decimal(5,0) NOT NULL, | |
| 435 | + MENU_DC varchar(250) DEFAULT NULL, | |
| 436 | + RELATE_IMAGE_PATH varchar(100) DEFAULT NULL, | |
| 437 | + RELATE_IMAGE_NM varchar(60) DEFAULT NULL, | |
| 438 | + PRIMARY KEY (MENU_NO), | |
| 439 | + KEY R_2 (PROGRM_FILE_NM), | |
| 440 | + KEY R_4 (UPPER_MENU_NO), | |
| 441 | + CONSTRAINT LETTNMENUINFO_ibfk_2 FOREIGN KEY (UPPER_MENU_NO) REFERENCES LETTNMENUINFO (MENU_NO), | |
| 442 | + CONSTRAINT LETTNMENUINFO_ibfk_1 FOREIGN KEY (PROGRM_FILE_NM) REFERENCES LETTNPROGRMLIST (PROGRM_FILE_NM) ON DELETE CASCADE | |
| 443 | +) ; | |
| 444 | + | |
| 445 | + | |
| 446 | + | |
| 447 | +CREATE TABLE LETTNMENUCREATDTLS ( | |
| 448 | + MENU_NO decimal(20,0) NOT NULL, | |
| 449 | + AUTHOR_CODE varchar(30) NOT NULL, | |
| 450 | + MAPNG_CREAT_ID varchar(30) DEFAULT NULL, | |
| 451 | + PRIMARY KEY (MENU_NO,AUTHOR_CODE), | |
| 452 | + KEY R_247 (MAPNG_CREAT_ID), | |
| 453 | + KEY R_303 (AUTHOR_CODE), | |
| 454 | + CONSTRAINT LETTNMENUCREATDTLS_ibfk_3 FOREIGN KEY (AUTHOR_CODE) REFERENCES LETTNAUTHORINFO (AUTHOR_CODE), | |
| 455 | + CONSTRAINT LETTNMENUCREATDTLS_ibfk_1 FOREIGN KEY (MENU_NO) REFERENCES LETTNMENUINFO (MENU_NO) ON DELETE CASCADE | |
| 456 | +) ; | |
| 457 | + | |
| 458 | + | |
| 459 | + | |
| 460 | +CREATE TABLE LETTNUSERABSNCE ( | |
| 461 | + EMPLYR_ID varchar(20) NOT NULL DEFAULT '', | |
| 462 | + USER_ABSNCE_AT char(1) NOT NULL, | |
| 463 | + FRST_REGISTER_ID varchar(20) DEFAULT NULL, | |
| 464 | + FRST_REGIST_PNTTM datetime DEFAULT NULL, | |
| 465 | + LAST_UPDUSR_ID varchar(20) DEFAULT NULL, | |
| 466 | + LAST_UPDT_PNTTM datetime DEFAULT NULL, | |
| 467 | + PRIMARY KEY (EMPLYR_ID) | |
| 468 | +) ; | |
| 469 | + | |
| 470 | + | |
| 471 | + | |
| 472 | +CREATE TABLE LETTSSYSLOGSUMMARY ( | |
| 473 | + OCCRRNC_DE char(20) NOT NULL, | |
| 474 | + SRVC_NM varchar(255) NOT NULL, | |
| 475 | + METHOD_NM varchar(60) NOT NULL, | |
| 476 | + CREAT_CO decimal(10,0) DEFAULT NULL, | |
| 477 | + UPDT_CO decimal(10,0) DEFAULT NULL, | |
| 478 | + RDCNT decimal(10,0) DEFAULT NULL, | |
| 479 | + DELETE_CO decimal(10,0) DEFAULT NULL, | |
| 480 | + OUTPT_CO decimal(10,0) DEFAULT NULL, | |
| 481 | + ERROR_CO decimal(10,0) DEFAULT NULL, | |
| 482 | + PRIMARY KEY (OCCRRNC_DE,SRVC_NM,METHOD_NM) | |
| 483 | +) ; | |
| 484 | + | |
| 485 | +/* 180813 PART_IDX, OFFM_TELNO 추가 */ | |
| 486 | +CREATE OR REPLACE VIEW COMVNUSERMASTER ( ESNTL_ID,USER_ID,PASSWORD,USER_NM,USER_ZIP,USER_ADRES,USER_EMAIL,GROUP_ID, USER_SE, ORGNZT_ID, PART_IDX, OFFM_TELNO ) | |
| 487 | +AS | |
| 488 | + SELECT ESNTL_ID, MBER_ID,PASSWORD,MBER_NM,ZIP,ADRES,MBER_EMAIL_ADRES,' ','GNR' AS USER_SE, ' ' ORGNZT_ID, ' ' AS PART_IDX, ' ' AS OFFM_TELNO | |
| 489 | + FROM LETTNGNRLMBER | |
| 490 | + UNION ALL | |
| 491 | + SELECT ESNTL_ID,EMPLYR_ID,PASSWORD,USER_NM,ZIP,HOUSE_ADRES,EMAIL_ADRES,GROUP_ID ,'USR' AS USER_SE, ORGNZT_ID, PART_IDX, OFFM_TELNO | |
| 492 | + FROM LETTNEMPLYRINFO | |
| 493 | + UNION ALL | |
| 494 | + SELECT ESNTL_ID,ENTRPRS_MBER_ID,ENTRPRS_MBER_PASSWORD,CMPNY_NM,ZIP,ADRES,APPLCNT_EMAIL_ADRES,' ' ,'ENT' AS USER_SE, ' ' ORGNZT_ID, ' ' AS PART_IDX, ' ' AS OFFM_TELNO | |
| 495 | + FROM LETTNENTRPRSMBER | |
| 496 | +; | |
| 497 | + | |
| 498 | +/* 180802 개선버전 댓글 테이블 'COMTN' > 'LETTN' 변경하여 추가 */ | |
| 499 | +/* 댓글 */ | |
| 500 | +CREATE TABLE LETTNCOMMENT | |
| 501 | +( | |
| 502 | + NTT_ID NUMERIC(20) NOT NULL, | |
| 503 | + BBS_ID CHAR(20) NOT NULL, | |
| 504 | + ANSWER_NO NUMERIC(20) NOT NULL, | |
| 505 | + WRTER_ID VARCHAR(20) NULL, | |
| 506 | + WRTER_NM VARCHAR(20) NULL, | |
| 507 | + ANSWER VARCHAR(200) NULL, | |
| 508 | + USE_AT CHAR(1) NOT NULL, | |
| 509 | + FRST_REGIST_PNTTM DATETIME NOT NULL, | |
| 510 | + FRST_REGISTER_ID VARCHAR(20) NOT NULL, | |
| 511 | + LAST_UPDT_PNTTM DATETIME NULL, | |
| 512 | + LAST_UPDUSR_ID VARCHAR(20) NULL, | |
| 513 | + PASSWORD VARCHAR(200) NULL, | |
| 514 | + PRIMARY KEY (NTT_ID,BBS_ID,ANSWER_NO), | |
| 515 | + FOREIGN KEY LETTNCOMMENT_FK1 (NTT_ID,BBS_ID) REFERENCES LETTNBBS(NTT_ID,BBS_ID) | |
| 516 | +) | |
| 517 | +; | |
| 518 | + | |
| 519 | +CREATE UNIQUE INDEX LETTNCOMMENT_PK ON LETTNCOMMENT | |
| 520 | +( | |
| 521 | + NTT_ID, | |
| 522 | + BBS_ID, | |
| 523 | + ANSWER_NO | |
| 524 | +) | |
| 525 | +; | |
| 526 | +CREATE INDEX LETTNCOMMENT_i01 ON LETTNCOMMENT | |
| 527 | +( | |
| 528 | + NTT_ID, | |
| 529 | + BBS_ID | |
| 530 | +) | |
| 531 | +; | |
| 532 | + | |
| 533 | +/* 180817 게시판 이력 */ | |
| 534 | +CREATE TABLE LETTNBBSCHGHST ( | |
| 535 | + NTT_ID decimal(20,0) NOT NULL COMMENT '게시물 ID', | |
| 536 | + BBS_ID char(20) NOT NULL COMMENT '게시판 ID', | |
| 537 | + HIST_ID decimal(20,0) NOT NULL COMMENT '이력 ID', | |
| 538 | + HIST_SE char(20) NOT NULL COMMENT '이력 구분(CUD)', | |
| 539 | + NTT_SJ varchar(2000) DEFAULT NULL, | |
| 540 | + NTT_CN mediumtext, | |
| 541 | + FRST_REGIST_NM varchar(20) DEFAULT NULL, | |
| 542 | + FRST_REGIST_PNTTM datetime NOT NULL, | |
| 543 | + FRST_REGISTER_ID varchar(20) NOT NULL, | |
| 544 | + PRIMARY KEY (NTT_ID,BBS_ID, HIST_ID) | |
| 545 | +) ; | |
| 546 | + | |
| 547 | + |
+++ pom.xml
... | ... | @@ -0,0 +1,525 @@ |
| 1 | +<?xml version="1.0" encoding="UTF-8"?> | |
| 2 | +<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | |
| 3 | + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> | |
| 4 | + <modelVersion>4.0.0</modelVersion> | |
| 5 | + <groupId>egovframework.template.web</groupId> | |
| 6 | + <artifactId>Enterprise_Business</artifactId> | |
| 7 | + <packaging>war</packaging> | |
| 8 | + <version>3.8.0</version> | |
| 9 | + <name>Template-Web-Enterprise_Business</name> | |
| 10 | + <url>http://www.egovframe.go.kr</url> | |
| 11 | + | |
| 12 | + <licenses> | |
| 13 | + <license> | |
| 14 | + <name>The Apache Software License, Version 2.0</name> | |
| 15 | + <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url> | |
| 16 | + </license> | |
| 17 | + </licenses> | |
| 18 | + | |
| 19 | + <properties> | |
| 20 | + <spring.maven.artifact.version>4.3.16.RELEASE</spring.maven.artifact.version> | |
| 21 | + <egovframework.rte.version>3.8.0</egovframework.rte.version> | |
| 22 | + </properties> | |
| 23 | + | |
| 24 | + <repositories> | |
| 25 | + <repository> | |
| 26 | + <id>mvn2</id> | |
| 27 | + <url>http://repo1.maven.org/maven2/</url> | |
| 28 | + <releases> | |
| 29 | + <enabled>true</enabled> | |
| 30 | + </releases> | |
| 31 | + <snapshots> | |
| 32 | + <enabled>true</enabled> | |
| 33 | + </snapshots> | |
| 34 | + </repository> | |
| 35 | + <repository> | |
| 36 | + <id>egovframe</id> | |
| 37 | + <url>http://www.egovframe.go.kr/maven/</url> | |
| 38 | + <releases> | |
| 39 | + <enabled>true</enabled> | |
| 40 | + </releases> | |
| 41 | + <snapshots> | |
| 42 | + <enabled>false</enabled> | |
| 43 | + </snapshots> | |
| 44 | + </repository> | |
| 45 | + <repository> | |
| 46 | + <id>egovframe2</id> | |
| 47 | + <url>http://maven.egovframe.kr:8080/maven/</url> | |
| 48 | + <releases> | |
| 49 | + <enabled>true</enabled> | |
| 50 | + </releases> | |
| 51 | + <snapshots> | |
| 52 | + <enabled>false</enabled> | |
| 53 | + </snapshots> | |
| 54 | + </repository> | |
| 55 | + </repositories> | |
| 56 | + | |
| 57 | + <dependencies> | |
| 58 | + <dependency> | |
| 59 | + <groupId>egovframework.rte</groupId> | |
| 60 | + <artifactId>egovframework.rte.fdl.security</artifactId> | |
| 61 | + <version>${egovframework.rte.version}</version> | |
| 62 | + </dependency> | |
| 63 | + <dependency> | |
| 64 | + <groupId>egovframework.rte</groupId> | |
| 65 | + <artifactId>egovframework.rte.fdl.excel</artifactId> | |
| 66 | + <version>${egovframework.rte.version}</version> | |
| 67 | + </dependency> | |
| 68 | + <dependency> | |
| 69 | + <groupId>egovframework.rte</groupId> | |
| 70 | + <artifactId>egovframework.rte.ptl.mvc</artifactId> | |
| 71 | + <version>${egovframework.rte.version}</version> | |
| 72 | + </dependency> | |
| 73 | + <dependency> | |
| 74 | + <groupId>egovframework.rte</groupId> | |
| 75 | + <artifactId>egovframework.rte.fdl.idgnr</artifactId> | |
| 76 | + <version>${egovframework.rte.version}</version> | |
| 77 | + </dependency> | |
| 78 | + <dependency> | |
| 79 | + <groupId>egovframework.rte</groupId> | |
| 80 | + <artifactId>egovframework.rte.fdl.property</artifactId> | |
| 81 | + <version>${egovframework.rte.version}</version> | |
| 82 | + </dependency> | |
| 83 | + | |
| 84 | + <dependency> | |
| 85 | + <groupId>javax.servlet</groupId> | |
| 86 | + <artifactId>javax.servlet-api</artifactId> | |
| 87 | + <version>3.1.0</version> | |
| 88 | + <scope>provided</scope> | |
| 89 | + </dependency> | |
| 90 | + | |
| 91 | + <dependency> | |
| 92 | + <groupId>javax.servlet</groupId> | |
| 93 | + <artifactId>jstl</artifactId> | |
| 94 | + <version>1.2</version> | |
| 95 | + </dependency> | |
| 96 | + | |
| 97 | + <dependency> | |
| 98 | + <groupId>org.apache.httpcomponents</groupId> | |
| 99 | + <artifactId>httpclient</artifactId> | |
| 100 | + <version>4.5.2</version> | |
| 101 | + </dependency> | |
| 102 | + | |
| 103 | + <dependency> | |
| 104 | + <groupId>commons-dbcp</groupId> | |
| 105 | + <artifactId>commons-dbcp</artifactId> | |
| 106 | + <version>1.4</version> | |
| 107 | + </dependency> | |
| 108 | + | |
| 109 | + <dependency> | |
| 110 | + <groupId>taglibs</groupId> | |
| 111 | + <artifactId>standard</artifactId> | |
| 112 | + <version>1.1.2</version> | |
| 113 | + </dependency> | |
| 114 | + | |
| 115 | + <dependency> | |
| 116 | + <groupId>cglib</groupId> | |
| 117 | + <artifactId>cglib</artifactId> | |
| 118 | + <version>3.1</version> | |
| 119 | + </dependency> | |
| 120 | + | |
| 121 | + <dependency> | |
| 122 | + <groupId>org.antlr</groupId> | |
| 123 | + <artifactId>antlr</artifactId> | |
| 124 | + <version>3.5</version> | |
| 125 | + </dependency> | |
| 126 | + | |
| 127 | + <dependency> | |
| 128 | + <groupId>org.apache.commons</groupId> | |
| 129 | + <artifactId>commons-compress</artifactId> | |
| 130 | + <version>1.8.1</version> | |
| 131 | + </dependency> | |
| 132 | + | |
| 133 | + <dependency> | |
| 134 | + <groupId>oro</groupId> | |
| 135 | + <artifactId>oro</artifactId> | |
| 136 | + <version>2.0.8</version> | |
| 137 | + </dependency> | |
| 138 | + | |
| 139 | + <dependency> | |
| 140 | + <groupId>mysql</groupId> | |
| 141 | + <artifactId>mysql-connector-java</artifactId> | |
| 142 | + <version>5.1.31</version> | |
| 143 | + </dependency> | |
| 144 | + | |
| 145 | + <!-- oracle 10g driver --> | |
| 146 | + <!-- | |
| 147 | + <dependency> | |
| 148 | + <groupId>ojdbc</groupId> | |
| 149 | + <artifactId>ojdbc</artifactId> | |
| 150 | + <version>14</version> | |
| 151 | + </dependency> | |
| 152 | + --> | |
| 153 | + | |
| 154 | + <!-- altibase driver --> | |
| 155 | + <!-- | |
| 156 | + <dependency> | |
| 157 | + <groupId>altibase</groupId> | |
| 158 | + <artifactId>altibase-jdbc-driver</artifactId> | |
| 159 | + <version>5.1.3.18</version> | |
| 160 | + </dependency> | |
| 161 | + --> | |
| 162 | + | |
| 163 | + <!-- tibero driver --> | |
| 164 | + <!-- | |
| 165 | + <dependency> | |
| 166 | + <groupId>com.tmax.tibero</groupId> | |
| 167 | + <artifactId>tibero-jdbc</artifactId> | |
| 168 | + <version>3.0</version> | |
| 169 | + </dependency> | |
| 170 | + --> | |
| 171 | + | |
| 172 | + <!-- cubrid driver --> | |
| 173 | + <!-- | |
| 174 | + <dependency> | |
| 175 | + <groupId>cubrid</groupId> | |
| 176 | + <artifactId>cubrid-jdbc</artifactId> | |
| 177 | + <version>8.4</version> | |
| 178 | + </dependency> | |
| 179 | + --> | |
| 180 | + | |
| 181 | + <dependency> | |
| 182 | + <groupId>com.tmax.tibero</groupId> | |
| 183 | + <artifactId>tibero-jdbc</artifactId> | |
| 184 | + <version>6.0</version> | |
| 185 | + <scope>system</scope> | |
| 186 | + <systemPath>${basedir}/src/main/webapp/WEB-INF/lib/tibero6-jdbc.jar</systemPath> | |
| 187 | + </dependency> | |
| 188 | + | |
| 189 | + <dependency> | |
| 190 | + <groupId>commons-fileupload</groupId> | |
| 191 | + <artifactId>commons-fileupload</artifactId> | |
| 192 | + <version>1.3.1</version> | |
| 193 | + </dependency> | |
| 194 | + | |
| 195 | + <!-- Cross-Site Scripting --> | |
| 196 | + <dependency> | |
| 197 | + <groupId>javax.servlet.jsp</groupId> | |
| 198 | + <artifactId>jsp-api</artifactId> | |
| 199 | + <version>2.2</version> | |
| 200 | + <scope>provided</scope> | |
| 201 | + </dependency> | |
| 202 | + | |
| 203 | + <dependency> | |
| 204 | + <groupId>com.ibm.icu</groupId> | |
| 205 | + <artifactId>icu4j</artifactId> | |
| 206 | + <version>53.1</version> | |
| 207 | + </dependency> | |
| 208 | + | |
| 209 | + <!-- quartz --> | |
| 210 | + <dependency> | |
| 211 | + <groupId>org.quartz-scheduler</groupId> | |
| 212 | + <artifactId>quartz-weblogic</artifactId> | |
| 213 | + <version>2.1.7</version> | |
| 214 | + </dependency> | |
| 215 | + <dependency> | |
| 216 | + <groupId>org.quartz-scheduler</groupId> | |
| 217 | + <artifactId>quartz-jboss</artifactId> | |
| 218 | + <version>2.1.7</version> | |
| 219 | + </dependency> | |
| 220 | + | |
| 221 | + <!-- json 추가 --> | |
| 222 | + <dependency> | |
| 223 | + <groupId>com.fasterxml.jackson.core</groupId> | |
| 224 | + <artifactId>jackson-core</artifactId> | |
| 225 | + <version>2.5.1</version> | |
| 226 | + </dependency> | |
| 227 | + <dependency> | |
| 228 | + <groupId>com.fasterxml.jackson.core</groupId> | |
| 229 | + <artifactId>jackson-annotations</artifactId> | |
| 230 | + <version>2.5.1</version> | |
| 231 | + </dependency> | |
| 232 | + <dependency> | |
| 233 | + <groupId>com.fasterxml.jackson.core</groupId> | |
| 234 | + <artifactId>jackson-databind</artifactId> | |
| 235 | + <version>2.5.1</version> | |
| 236 | + </dependency> | |
| 237 | + | |
| 238 | + <dependency> | |
| 239 | + <groupId>org.codehaus.jackson</groupId> | |
| 240 | + <artifactId>jackson-mapper-asl</artifactId> | |
| 241 | + <version>1.9.2</version> | |
| 242 | + </dependency> | |
| 243 | + | |
| 244 | + <!-- site mesh --> | |
| 245 | + <dependency> | |
| 246 | + <groupId>opensymphony</groupId> | |
| 247 | + <artifactId>sitemesh</artifactId> | |
| 248 | + <version>2.4.2</version> | |
| 249 | + </dependency> | |
| 250 | + <!--// site mesh --> | |
| 251 | + | |
| 252 | + | |
| 253 | + <!-- https://mvnrepository.com/artifact/org.bgee.log4jdbc-log4j2/log4jdbc-log4j2-jdbc4.1 | |
| 254 | + <dependency> | |
| 255 | + <groupId>org.bgee.log4jdbc-log4j2</groupId> | |
| 256 | + <artifactId>log4jdbc-log4j2-jdbc4.1</artifactId> | |
| 257 | + <version>1.16</version> | |
| 258 | + </dependency>--> | |
| 259 | + <dependency> | |
| 260 | + <groupId>org.lazyluke</groupId> | |
| 261 | + <artifactId>log4jdbc-remix</artifactId> | |
| 262 | + <version>0.2.7</version> | |
| 263 | + </dependency> | |
| 264 | + | |
| 265 | + <!-- ckeditor --> | |
| 266 | + <dependency> | |
| 267 | + <groupId>com.ckeditor</groupId> | |
| 268 | + <artifactId>ckeditor-java-core</artifactId> | |
| 269 | + <version>3.5.3</version> | |
| 270 | + </dependency> | |
| 271 | + | |
| 272 | + <!-- json-simple --> | |
| 273 | + <dependency> | |
| 274 | + <groupId>com.googlecode.json-simple</groupId> | |
| 275 | + <artifactId>json-simple</artifactId> | |
| 276 | + <version>1.1.1</version> | |
| 277 | + </dependency> | |
| 278 | + | |
| 279 | + <dependency> | |
| 280 | + <groupId>commons-lang</groupId> | |
| 281 | + <artifactId>commons-lang</artifactId> | |
| 282 | + <version>2.4</version> | |
| 283 | + </dependency> | |
| 284 | + | |
| 285 | + <dependency> | |
| 286 | + <groupId>nl.captcha</groupId> | |
| 287 | + <artifactId>simplecaptcha</artifactId> | |
| 288 | + <version>1.2.1</version> | |
| 289 | + <scope>system</scope> | |
| 290 | + <systemPath>${basedir}/src/main/webapp/WEB-INF/lib/simplecaptcha-1.2.1_exp.jar</systemPath> | |
| 291 | + </dependency> | |
| 292 | + | |
| 293 | + <!-- sci 평가 siren24. 휴대폰 본인인증 --> | |
| 294 | + <dependency> | |
| 295 | + <groupId>sciSecuPCC</groupId> | |
| 296 | + <artifactId>sciSecuPCC</artifactId> | |
| 297 | + <version>2</version> | |
| 298 | + <scope>system</scope> | |
| 299 | + <systemPath>${basedir}/src/main/webapp/WEB-INF/lib/sciSecuPCC.jar</systemPath> | |
| 300 | + </dependency> | |
| 301 | + | |
| 302 | + <!-- sci 평가 siren24. 아이핀 본인인증 --> | |
| 303 | + <dependency> | |
| 304 | + <groupId>sciSecuIPIN</groupId> | |
| 305 | + <artifactId>sciSecuIPIN</artifactId> | |
| 306 | + <version>3</version> | |
| 307 | + <scope>system</scope> | |
| 308 | + <systemPath>${basedir}/src/main/webapp/WEB-INF/lib/sciSecuIPIN_v3.jar</systemPath> | |
| 309 | + </dependency> | |
| 310 | + | |
| 311 | + <!-- Jsoup HTML 파서 --> | |
| 312 | + <dependency> | |
| 313 | + <groupId>org.jsoup</groupId> | |
| 314 | + <artifactId>jsoup</artifactId> | |
| 315 | + <version>1.11.3</version> | |
| 316 | + <scope>system</scope> | |
| 317 | + <systemPath>${basedir}/src/main/webapp/WEB-INF/lib/jsoup-1.11.3.jar</systemPath> | |
| 318 | + </dependency> | |
| 319 | + | |
| 320 | + <!-- Email --> | |
| 321 | + <dependency> | |
| 322 | + <groupId>org.apache.commons</groupId> | |
| 323 | + <artifactId>commons-email</artifactId> | |
| 324 | + <version>1.3.2</version> | |
| 325 | + </dependency> | |
| 326 | + <dependency> | |
| 327 | + <groupId>egovframework.com.ems</groupId> | |
| 328 | + <artifactId>sndng-mail</artifactId> | |
| 329 | + <version>1.0</version> | |
| 330 | + </dependency> | |
| 331 | + | |
| 332 | + <!-- Solr --> | |
| 333 | + <dependency> | |
| 334 | + <groupId>org.apache.httpcomponents</groupId> | |
| 335 | + <artifactId>httpclient</artifactId> | |
| 336 | + <version>4.3.1</version> | |
| 337 | + </dependency> | |
| 338 | + | |
| 339 | + <dependency> | |
| 340 | + <groupId>org.apache.solr</groupId> | |
| 341 | + <artifactId>solr-solrj</artifactId> | |
| 342 | + <version>5.3.1</version> | |
| 343 | + </dependency> | |
| 344 | + | |
| 345 | + <!-- Java thumbnailator --> | |
| 346 | + <dependency> | |
| 347 | + <groupId>net.coobird</groupId> | |
| 348 | + <artifactId>thumbnailator</artifactId> | |
| 349 | + <version>[0.4, 0.5)</version> | |
| 350 | + </dependency> | |
| 351 | + | |
| 352 | + <!-- https://mvnrepository.com/artifact/org.apache.poi/poi --> | |
| 353 | + <dependency> | |
| 354 | + <groupId>org.apache.poi</groupId> | |
| 355 | + <artifactId>poi</artifactId> | |
| 356 | + <version>3.16</version> | |
| 357 | + </dependency> | |
| 358 | + | |
| 359 | + <dependency> | |
| 360 | + <groupId>org.apache.poi</groupId> | |
| 361 | + <artifactId>poi-ooxml</artifactId> | |
| 362 | + <version>3.16</version> | |
| 363 | + </dependency> | |
| 364 | + | |
| 365 | + </dependencies> | |
| 366 | + | |
| 367 | + <build> | |
| 368 | + <defaultGoal>install</defaultGoal> | |
| 369 | + <directory>${basedir}/target</directory> | |
| 370 | + <finalName>itsm_webapp</finalName> | |
| 371 | + <pluginManagement> | |
| 372 | + <plugins> | |
| 373 | + <plugin> | |
| 374 | + <groupId>org.apache.tomcat.maven</groupId> | |
| 375 | + <artifactId>tomcat7-maven-plugin</artifactId> | |
| 376 | + <version>2.2</version> | |
| 377 | + <configuration> | |
| 378 | + <port>80</port> | |
| 379 | + <path>/</path> | |
| 380 | + <systemProperties> | |
| 381 | + <JAVA_OPTS>-Xms256m -Xmx768m -XX:MaxPermSize=256m</JAVA_OPTS> | |
| 382 | + </systemProperties> | |
| 383 | + </configuration> | |
| 384 | + </plugin> | |
| 385 | + <plugin> | |
| 386 | + <groupId>org.apache.maven.plugins</groupId> | |
| 387 | + <artifactId>maven-compiler-plugin</artifactId> | |
| 388 | + <configuration> | |
| 389 | + <source>1.8</source> | |
| 390 | + <target>1.8</target> | |
| 391 | + <encoding>UTF-8</encoding> | |
| 392 | + </configuration> | |
| 393 | + </plugin> | |
| 394 | + <plugin> | |
| 395 | + <groupId>org.codehaus.mojo</groupId> | |
| 396 | + <artifactId>hibernate3-maven-plugin</artifactId> | |
| 397 | + <version>2.1</version> | |
| 398 | + <configuration> | |
| 399 | + <components> | |
| 400 | + <component> | |
| 401 | + <name>hbm2ddl</name> | |
| 402 | + <implementation>annotationconfiguration</implementation> | |
| 403 | + </component> | |
| 404 | + </components> | |
| 405 | + </configuration> | |
| 406 | + <dependencies> | |
| 407 | + <dependency> | |
| 408 | + <groupId>org.hsqldb</groupId> | |
| 409 | + <artifactId>hsqldb</artifactId> | |
| 410 | + <version>2.3.2</version> | |
| 411 | + </dependency> | |
| 412 | + </dependencies> | |
| 413 | + </plugin> | |
| 414 | + <!-- EMMA --> | |
| 415 | + <plugin> | |
| 416 | + <groupId>org.codehaus.mojo</groupId> | |
| 417 | + <artifactId>emma-maven-plugin</artifactId> | |
| 418 | + <version>1.0-alpha-3</version> | |
| 419 | + </plugin> | |
| 420 | + <!-- PMD manven plugin --> | |
| 421 | + <plugin> | |
| 422 | + <groupId>org.apache.maven.plugins</groupId> | |
| 423 | + <artifactId>maven-pmd-plugin</artifactId> | |
| 424 | + <version>3.1</version> | |
| 425 | + </plugin> | |
| 426 | + </plugins> | |
| 427 | + </pluginManagement> | |
| 428 | + <plugins> | |
| 429 | + <!-- EMMA --> | |
| 430 | + <plugin> | |
| 431 | + <groupId>org.apache.maven.plugins</groupId> | |
| 432 | + <artifactId>maven-surefire-plugin</artifactId> | |
| 433 | + <configuration> | |
| 434 | + <skipTests>true</skipTests> | |
| 435 | + <forkMode>once</forkMode> | |
| 436 | + <reportFormat>xml</reportFormat> | |
| 437 | + <excludes> | |
| 438 | + <exclude>**/Abstract*.java</exclude> | |
| 439 | + <exclude>**/*Suite.java</exclude> | |
| 440 | + </excludes> | |
| 441 | + <includes> | |
| 442 | + <include>**/*Test.java</include> | |
| 443 | + </includes> | |
| 444 | + </configuration> | |
| 445 | + </plugin> | |
| 446 | + <plugin> | |
| 447 | + <groupId>org.codehaus.mojo</groupId> | |
| 448 | + <artifactId>emma-maven-plugin</artifactId> | |
| 449 | + <inherited>true</inherited> | |
| 450 | + </plugin> | |
| 451 | + <!-- JavaDoc --> | |
| 452 | + <plugin> | |
| 453 | + <groupId>org.apache.maven.plugins</groupId> | |
| 454 | + <artifactId>maven-javadoc-plugin</artifactId> | |
| 455 | + <version>2.9.1</version> | |
| 456 | + </plugin> | |
| 457 | + </plugins> | |
| 458 | + </build> | |
| 459 | + <reporting> | |
| 460 | + <outputDirectory>${basedir}/target/site</outputDirectory> | |
| 461 | + <plugins> | |
| 462 | + <plugin> | |
| 463 | + <groupId>org.apache.maven.plugins</groupId> | |
| 464 | + <artifactId>maven-project-info-reports-plugin</artifactId> | |
| 465 | + <version>2.7</version> | |
| 466 | + <reportSets> | |
| 467 | + <reportSet> | |
| 468 | + <id>sunlink</id> | |
| 469 | + <reports> | |
| 470 | + <report>javadoc</report> | |
| 471 | + </reports> | |
| 472 | + <inherited>true</inherited> | |
| 473 | + <configuration> | |
| 474 | + <links> | |
| 475 | + <link>http://docs.oracle.com/javase/6/docs/api/</link> | |
| 476 | + </links> | |
| 477 | + </configuration> | |
| 478 | + </reportSet> | |
| 479 | + </reportSets> | |
| 480 | + </plugin> | |
| 481 | + <!-- JUnit Test Results & EMMA Coverage Reporting --> | |
| 482 | + <plugin> | |
| 483 | + <groupId>org.codehaus.mojo</groupId> | |
| 484 | + <artifactId>emma-maven-plugin</artifactId> | |
| 485 | + <inherited>true</inherited> | |
| 486 | + </plugin> | |
| 487 | + <plugin> | |
| 488 | + <groupId>org.codehaus.mojo</groupId> | |
| 489 | + <artifactId>surefire-report-maven-plugin</artifactId> | |
| 490 | + <inherited>true</inherited> | |
| 491 | + <reportSets> | |
| 492 | + <reportSet> | |
| 493 | + <reports> | |
| 494 | + <report>report-only</report> | |
| 495 | + </reports> | |
| 496 | + </reportSet> | |
| 497 | + </reportSets> | |
| 498 | + </plugin> | |
| 499 | + <!-- Generating JavaDoc Report --> | |
| 500 | + <plugin> | |
| 501 | + <groupId>org.apache.maven.plugins</groupId> | |
| 502 | + <artifactId>maven-javadoc-plugin</artifactId> | |
| 503 | + <configuration> | |
| 504 | + <minmemory>128m</minmemory> | |
| 505 | + <maxmemory>512m</maxmemory> | |
| 506 | + <encoding>${encoding}</encoding> | |
| 507 | + <docencoding>${encoding}</docencoding> | |
| 508 | + <charset>${encoding}</charset> | |
| 509 | + </configuration> | |
| 510 | + </plugin> | |
| 511 | + <!-- Generating Java Source in HTML --> | |
| 512 | + <plugin> | |
| 513 | + <groupId>org.apache.maven.plugins</groupId> | |
| 514 | + <artifactId>maven-jxr-plugin</artifactId> | |
| 515 | + <configuration> | |
| 516 | + <inputEncoding>${encoding}</inputEncoding> | |
| 517 | + <outputEncoding>${encoding}</outputEncoding> | |
| 518 | + <linkJavadoc>true</linkJavadoc> | |
| 519 | + <javadocDir>apidocs</javadocDir> | |
| 520 | + </configuration> | |
| 521 | + </plugin> | |
| 522 | + </plugins> | |
| 523 | + </reporting> | |
| 524 | +</project> | |
| 525 | + |
+++ searchQuery.sql
... | ... | @@ -0,0 +1,22 @@ |
| 1 | +SELECT b.BBS_NM | |
| 2 | + ,a.BBS_ID | |
| 3 | + ,a.NTT_ID AS ID | |
| 4 | + ,a.NTT_ID | |
| 5 | + ,a.NTT_SJ | |
| 6 | + ,a.NTT_CN | |
| 7 | + ,a.FRST_REGIST_PNTTM | |
| 8 | + ,DATE_FORMAT(a.FRST_REGIST_PNTTM, '%Y-%m-%d') AS REGIST_DT | |
| 9 | + ,CONCAT('/web/cop/bbs/selectBoardArticle.do?bbsId=', a.BBS_ID, '&nttId=', a.NTT_ID) AS URL | |
| 10 | + ,c.MENU_NM | |
| 11 | + ,get1DepthMenu(c.MENU_NO) AS CATEGORY | |
| 12 | + ,getMenuCours(c.MENU_NO) AS MENU_COURS | |
| 13 | + FROM LETTNBBS a | |
| 14 | + INNER JOIN LETTNBBSMASTER b ON a.BBS_ID = b.BBS_ID | |
| 15 | + inner JOIN ( | |
| 16 | + SELECT A.PROGRM_BBS_ID, B.MENU_NO, B.MENU_NM, B.MENU_USER_TYPE | |
| 17 | + FROM LETTNPROGRMLIST A | |
| 18 | + INNER JOIN LETTNMENUINFO B | |
| 19 | + ON A.PROGRM_FILE_NM = B.PROGRM_FILE_NM | |
| 20 | + ) C ON a.BBS_ID = c.PROGRM_BBS_ID | |
| 21 | + WHERE a.USE_AT = 'Y' | |
| 22 | + (No newline at end of file) |
+++ service/impl/AuthorManageDAO.java
... | ... | @@ -0,0 +1,110 @@ |
| 1 | +package egovframework.com.sec.ram.service.impl; | |
| 2 | + | |
| 3 | +import java.util.List; | |
| 4 | + | |
| 5 | +import egovframework.com.cmm.service.impl.EgovComAbstractDAO; | |
| 6 | +import egovframework.com.sec.ram.service.AuthorManage; | |
| 7 | +import egovframework.com.sec.ram.service.AuthorManageVO; | |
| 8 | + | |
| 9 | +import org.springframework.stereotype.Repository; | |
| 10 | + | |
| 11 | +/** | |
| 12 | + * 권한관리에 대한 DAO 클래스를 정의한다. | |
| 13 | + * @author 공통서비스 개발팀 이문준 | |
| 14 | + * @since 2009.06.01 | |
| 15 | + * @version 1.0 | |
| 16 | + * @see | |
| 17 | + * | |
| 18 | + * <pre> | |
| 19 | + * << 개정이력(Modification Information) >> | |
| 20 | + * | |
| 21 | + * 수정일 수정자 수정내용 | |
| 22 | + * ------- -------- --------------------------- | |
| 23 | + * 2009.03.11 이문준 최초 생성 | |
| 24 | + * | |
| 25 | + * </pre> | |
| 26 | + */ | |
| 27 | + | |
| 28 | +@Repository("authorManageDAO") | |
| 29 | +public class AuthorManageDAO extends EgovComAbstractDAO { | |
| 30 | + | |
| 31 | + /** | |
| 32 | + * 권한목록을 조회한다. | |
| 33 | + * @param authorManageVO AuthorManageVO | |
| 34 | + * @return List<AuthorManageVO> | |
| 35 | + * @exception Exception | |
| 36 | + */ | |
| 37 | + @SuppressWarnings("unchecked") | |
| 38 | + public List<AuthorManageVO> selectAuthorList(AuthorManageVO authorManageVO) throws Exception { | |
| 39 | + return (List<AuthorManageVO>) list("authorManageDAO.selectAuthorList", authorManageVO); | |
| 40 | + } | |
| 41 | + | |
| 42 | + /** | |
| 43 | + * 권한을 등록한다. | |
| 44 | + * @param authorManage AuthorManage | |
| 45 | + * @exception Exception | |
| 46 | + */ | |
| 47 | + public void insertAuthor(AuthorManage authorManage) throws Exception { | |
| 48 | + insert("authorManageDAO.insertAuthor", authorManage); | |
| 49 | + } | |
| 50 | + | |
| 51 | + /** | |
| 52 | + * 권한을 수정한다. | |
| 53 | + * @param authorManage AuthorManage | |
| 54 | + * @exception Exception | |
| 55 | + */ | |
| 56 | + public void updateAuthor(AuthorManage authorManage) throws Exception { | |
| 57 | + update("authorManageDAO.updateAuthor", authorManage); | |
| 58 | + } | |
| 59 | + | |
| 60 | + /** | |
| 61 | + * 권한을 삭제한다. | |
| 62 | + * @param authorManage AuthorManage | |
| 63 | + * @exception Exception | |
| 64 | + */ | |
| 65 | + public void deleteAuthor(AuthorManage authorManage) throws Exception { | |
| 66 | + delete("authorManageDAO.deleteAuthor", authorManage); | |
| 67 | + } | |
| 68 | + | |
| 69 | + /** | |
| 70 | + * 권한을 조회한다. | |
| 71 | + * @param authorManageVO AuthorManageVO | |
| 72 | + * @return AuthorManageVO | |
| 73 | + * @exception Exception | |
| 74 | + */ | |
| 75 | + public AuthorManageVO selectAuthor(AuthorManageVO authorManageVO) throws Exception { | |
| 76 | + return (AuthorManageVO) selectOne("authorManageDAO.selectAuthor", authorManageVO); | |
| 77 | + } | |
| 78 | + | |
| 79 | + /** | |
| 80 | + * 권한목록 총 갯수를 조회한다. | |
| 81 | + * @param authorManageVO AuthorManageVO | |
| 82 | + * @return int | |
| 83 | + * @exception Exception | |
| 84 | + */ | |
| 85 | + public int selectAuthorListTotCnt(AuthorManageVO authorManageVO) throws Exception { | |
| 86 | + return (Integer)selectOne("authorManageDAO.selectAuthorListTotCnt", authorManageVO); | |
| 87 | + } | |
| 88 | + | |
| 89 | + /** | |
| 90 | + * 모든 권한목록을 조회한다. | |
| 91 | + * @param authorManageVO AuthorManageVO | |
| 92 | + * @return List<AuthorManageVO> | |
| 93 | + * @exception Exception | |
| 94 | + */ | |
| 95 | + @SuppressWarnings("unchecked") | |
| 96 | + public List<AuthorManageVO> selectAuthorAllList(AuthorManageVO authorManageVO) throws Exception { | |
| 97 | + return (List<AuthorManageVO>) list("authorManageDAO.selectAuthorAllList", authorManageVO); | |
| 98 | + } | |
| 99 | + | |
| 100 | + /** | |
| 101 | + * 사용하는 모든 권한목록을 조회한다. | |
| 102 | + * @param authorManageVO AuthorManageVO | |
| 103 | + * @return List<AuthorManageVO> | |
| 104 | + * @exception Exception | |
| 105 | + */ | |
| 106 | + @SuppressWarnings("unchecked") | |
| 107 | + public List<AuthorManageVO> selectAuthorUseAllList(AuthorManageVO authorManageVO) throws Exception { | |
| 108 | + return (List<AuthorManageVO>) list("authorManageDAO.selectAuthorUseAllList", authorManageVO); | |
| 109 | + } | |
| 110 | +} |
+++ service/impl/AuthorRoleManageDAO.java
... | ... | @@ -0,0 +1,89 @@ |
| 1 | +package egovframework.com.sec.ram.service.impl; | |
| 2 | + | |
| 3 | +import java.util.List; | |
| 4 | + | |
| 5 | +import egovframework.com.cmm.service.impl.EgovComAbstractDAO; | |
| 6 | +import egovframework.com.sec.ram.service.AuthorRoleManage; | |
| 7 | +import egovframework.com.sec.ram.service.AuthorRoleManageVO; | |
| 8 | + | |
| 9 | +import org.springframework.stereotype.Repository; | |
| 10 | + | |
| 11 | +/** | |
| 12 | + * 권한별 롤관리에 대한 DAO 클래스를 정의한다. | |
| 13 | + * @author 공통서비스 개발팀 이문준 | |
| 14 | + * @since 2009.06.01 | |
| 15 | + * @version 1.0 | |
| 16 | + * @see | |
| 17 | + * | |
| 18 | + * <pre> | |
| 19 | + * << 개정이력(Modification Information) >> | |
| 20 | + * | |
| 21 | + * 수정일 수정자 수정내용 | |
| 22 | + * ------- -------- --------------------------- | |
| 23 | + * 2009.03.11 이문준 최초 생성 | |
| 24 | + * | |
| 25 | + * </pre> | |
| 26 | + */ | |
| 27 | + | |
| 28 | +@Repository("authorRoleManageDAO") | |
| 29 | +public class AuthorRoleManageDAO extends EgovComAbstractDAO { | |
| 30 | + | |
| 31 | + /** | |
| 32 | + * 권한 롤 관계정보를 조회 | |
| 33 | + * @param authorRoleManageVO AuthorRoleManageVO | |
| 34 | + * @return AuthorRoleManageVO | |
| 35 | + * @exception Exception | |
| 36 | + */ | |
| 37 | + public AuthorRoleManageVO selectAuthorRole(AuthorRoleManageVO authorRoleManageVO) throws Exception { | |
| 38 | + return (AuthorRoleManageVO) selectOne("authorRoleManageDAO.selectAuthorRole", authorRoleManageVO); | |
| 39 | + } | |
| 40 | + | |
| 41 | + /** | |
| 42 | + * 권한 롤 관계정보 목록 조회 | |
| 43 | + * @param authorRoleManageVO AuthorRoleManageVO | |
| 44 | + * @return List<AuthorRoleManageVO> | |
| 45 | + * @exception Exception | |
| 46 | + */ | |
| 47 | + @SuppressWarnings("unchecked") | |
| 48 | + public List<AuthorRoleManageVO> selectAuthorRoleList(AuthorRoleManageVO authorRoleManageVO) throws Exception { | |
| 49 | + return (List<AuthorRoleManageVO>) list("authorRoleManageDAO.selectAuthorRoleList", authorRoleManageVO); | |
| 50 | + } | |
| 51 | + | |
| 52 | + /** | |
| 53 | + * 권한 롤 관계정보를 화면에서 입력하여 입력항목의 정합성을 체크하고 데이터베이스에 저장 | |
| 54 | + * @param authorRoleManage AuthorRoleManage | |
| 55 | + * @exception Exception | |
| 56 | + */ | |
| 57 | + public void insertAuthorRole(AuthorRoleManage authorRoleManage) throws Exception { | |
| 58 | + insert("authorRoleManageDAO.insertAuthorRole", authorRoleManage); | |
| 59 | + } | |
| 60 | + | |
| 61 | + /** | |
| 62 | + * 수정된 권한 롤 관계정보를 데이터베이스에 반영 | |
| 63 | + * @param authorRoleManage AuthorRoleManage | |
| 64 | + * @exception Exception | |
| 65 | + */ | |
| 66 | + public void updateAuthorRole(AuthorRoleManage authorRoleManage) throws Exception { | |
| 67 | + update("authorRoleManageDAO.updateAuthorRole", authorRoleManage); | |
| 68 | + } | |
| 69 | + | |
| 70 | + /** | |
| 71 | + * 권한 롤 관계정보를 화면에 조회하여 데이터베이스에서 삭제 | |
| 72 | + * @param authorRoleManage AuthorRoleManage | |
| 73 | + * @exception Exception | |
| 74 | + */ | |
| 75 | + public void deleteAuthorRole(AuthorRoleManage authorRoleManage) throws Exception { | |
| 76 | + delete("authorRoleManageDAO.deleteAuthorRole", authorRoleManage); | |
| 77 | + } | |
| 78 | + | |
| 79 | + /** | |
| 80 | + * 목록조회 카운트를 반환한다 | |
| 81 | + * @param authorRoleManageVO AuthorRoleManageVO | |
| 82 | + * @return int | |
| 83 | + * @exception Exception | |
| 84 | + */ | |
| 85 | + public int selectAuthorRoleListTotCnt(AuthorRoleManageVO authorRoleManageVO) throws Exception { | |
| 86 | + return (Integer)selectOne("authorRoleManageDAO.selectAuthorRoleListTotCnt", authorRoleManageVO); | |
| 87 | + } | |
| 88 | + | |
| 89 | +}(No newline at end of file) |
+++ service/impl/EgovAuthorManageServiceImpl.java
... | ... | @@ -0,0 +1,117 @@ |
| 1 | +package egovframework.com.sec.ram.service.impl; | |
| 2 | + | |
| 3 | +import java.util.List; | |
| 4 | + | |
| 5 | +import egovframework.com.sec.ram.service.AuthorManage; | |
| 6 | +import egovframework.com.sec.ram.service.AuthorManageVO; | |
| 7 | +import egovframework.com.sec.ram.service.EgovAuthorManageService; | |
| 8 | + | |
| 9 | +import egovframework.rte.fdl.cmmn.EgovAbstractServiceImpl; | |
| 10 | + | |
| 11 | +import javax.annotation.Resource; | |
| 12 | + | |
| 13 | +import org.springframework.stereotype.Service; | |
| 14 | + | |
| 15 | +/** | |
| 16 | + * 권한관리에 관한 ServiceImpl 클래스를 정의한다. | |
| 17 | + * @author 공통서비스 개발팀 이문준 | |
| 18 | + * @since 2009.06.01 | |
| 19 | + * @version 1.0 | |
| 20 | + * @see | |
| 21 | + * | |
| 22 | + * <pre> | |
| 23 | + * << 개정이력(Modification Information) >> | |
| 24 | + * | |
| 25 | + * 수정일 수정자 수정내용 | |
| 26 | + * ------- -------- --------------------------- | |
| 27 | + * 2009.03.11 이문준 최초 생성 | |
| 28 | + * | |
| 29 | + * </pre> | |
| 30 | + */ | |
| 31 | + | |
| 32 | +@Service("egovAuthorManageService") | |
| 33 | +public class EgovAuthorManageServiceImpl extends EgovAbstractServiceImpl implements EgovAuthorManageService { | |
| 34 | + | |
| 35 | + @Resource(name="authorManageDAO") | |
| 36 | + private AuthorManageDAO authorManageDAO; | |
| 37 | + | |
| 38 | + /** | |
| 39 | + * 권한 목록을 조회한다. | |
| 40 | + * @param authorManageVO AuthorManageVO | |
| 41 | + * @return List<AuthorManageVO> | |
| 42 | + * @exception Exception | |
| 43 | + */ | |
| 44 | + public List<AuthorManageVO> selectAuthorList(AuthorManageVO authorManageVO) throws Exception { | |
| 45 | + return authorManageDAO.selectAuthorList(authorManageVO); | |
| 46 | + } | |
| 47 | + | |
| 48 | + /** | |
| 49 | + * 권한을 등록한다. | |
| 50 | + * @param authorManage AuthorManage | |
| 51 | + * @exception Exception | |
| 52 | + */ | |
| 53 | + public void insertAuthor(AuthorManage authorManage) throws Exception { | |
| 54 | + authorManageDAO.insertAuthor(authorManage); | |
| 55 | + } | |
| 56 | + | |
| 57 | + /** | |
| 58 | + * 권한을 수정한다. | |
| 59 | + * @param authorManage AuthorManage | |
| 60 | + * @exception Exception | |
| 61 | + */ | |
| 62 | + public void updateAuthor(AuthorManage authorManage) throws Exception { | |
| 63 | + authorManageDAO.updateAuthor(authorManage); | |
| 64 | + } | |
| 65 | + | |
| 66 | + /** | |
| 67 | + * 권한을 삭제한다. | |
| 68 | + * @param authorManage AuthorManage | |
| 69 | + * @exception Exception | |
| 70 | + */ | |
| 71 | + public void deleteAuthor(AuthorManage authorManage) throws Exception { | |
| 72 | + authorManageDAO.deleteAuthor(authorManage); | |
| 73 | + } | |
| 74 | + | |
| 75 | + /** | |
| 76 | + * 권한을 조회한다. | |
| 77 | + * @param authorManageVO AuthorManageVO | |
| 78 | + * @return AuthorManageVO | |
| 79 | + * @exception Exception | |
| 80 | + */ | |
| 81 | + public AuthorManageVO selectAuthor(AuthorManageVO authorManageVO) throws Exception { | |
| 82 | + AuthorManageVO resultVO = authorManageDAO.selectAuthor(authorManageVO); | |
| 83 | + if (resultVO == null) | |
| 84 | + throw processException("info.nodata.msg"); | |
| 85 | + return resultVO; | |
| 86 | + } | |
| 87 | + | |
| 88 | + /** | |
| 89 | + * 권한 목록 카운트를 조회한다. | |
| 90 | + * @param authorManageVO AuthorManageVO | |
| 91 | + * @return int | |
| 92 | + * @exception Exception | |
| 93 | + */ | |
| 94 | + public int selectAuthorListTotCnt(AuthorManageVO authorManageVO) throws Exception { | |
| 95 | + return authorManageDAO.selectAuthorListTotCnt(authorManageVO); | |
| 96 | + } | |
| 97 | + | |
| 98 | + /** | |
| 99 | + * 모든 권한목록을 조회한다. | |
| 100 | + * @param authorManageVO AuthorManageVO | |
| 101 | + * @return List<AuthorManageVO> | |
| 102 | + * @exception Exception | |
| 103 | + */ | |
| 104 | + public List<AuthorManageVO> selectAuthorAllList(AuthorManageVO authorManageVO) throws Exception { | |
| 105 | + return authorManageDAO.selectAuthorAllList(authorManageVO); | |
| 106 | + } | |
| 107 | + | |
| 108 | + /** | |
| 109 | + * 사용하는 모든 권한목록을 조회한다. | |
| 110 | + * @param authorManageVO AuthorManageVO | |
| 111 | + * @return List<AuthorManageVO> | |
| 112 | + * @exception Exception | |
| 113 | + */ | |
| 114 | + public List<AuthorManageVO> selectAuthorUseAllList(AuthorManageVO authorManageVO) throws Exception { | |
| 115 | + return authorManageDAO.selectAuthorUseAllList(authorManageVO); | |
| 116 | + } | |
| 117 | +} |
+++ service/impl/EgovAuthorRoleManageServiceImpl.java
... | ... | @@ -0,0 +1,94 @@ |
| 1 | +package egovframework.com.sec.ram.service.impl; | |
| 2 | + | |
| 3 | +import java.util.List; | |
| 4 | + | |
| 5 | +import egovframework.com.sec.ram.service.AuthorRoleManage; | |
| 6 | +import egovframework.com.sec.ram.service.AuthorRoleManageVO; | |
| 7 | +import egovframework.com.sec.ram.service.EgovAuthorRoleManageService; | |
| 8 | + | |
| 9 | +import egovframework.rte.fdl.cmmn.EgovAbstractServiceImpl; | |
| 10 | + | |
| 11 | +import javax.annotation.Resource; | |
| 12 | + | |
| 13 | +import org.springframework.stereotype.Service; | |
| 14 | + | |
| 15 | +/** | |
| 16 | + * 권한별 롤관리에 대한 DAO 클래스를 정의한다. | |
| 17 | + * @author 공통서비스 개발팀 이문준 | |
| 18 | + * @since 2009.06.01 | |
| 19 | + * @version 1.0 | |
| 20 | + * @see | |
| 21 | + * | |
| 22 | + * <pre> | |
| 23 | + * << 개정이력(Modification Information) >> | |
| 24 | + * | |
| 25 | + * 수정일 수정자 수정내용 | |
| 26 | + * ------- -------- --------------------------- | |
| 27 | + * 2009.03.11 이문준 최초 생성 | |
| 28 | + * | |
| 29 | + * </pre> | |
| 30 | + */ | |
| 31 | + | |
| 32 | +@Service("egovAuthorRoleManageService") | |
| 33 | +public class EgovAuthorRoleManageServiceImpl extends EgovAbstractServiceImpl implements EgovAuthorRoleManageService { | |
| 34 | + | |
| 35 | + @Resource(name="authorRoleManageDAO") | |
| 36 | + private AuthorRoleManageDAO authorRoleManageDAO; | |
| 37 | + | |
| 38 | + /** | |
| 39 | + * 권한 롤 관계정보를 조회 | |
| 40 | + * @param authorRoleManageVO AuthorRoleManageVO | |
| 41 | + * @return AuthorRoleManageVO | |
| 42 | + * @exception Exception | |
| 43 | + */ | |
| 44 | + public AuthorRoleManageVO selectAuthorRole(AuthorRoleManageVO authorRoleManageVO) throws Exception { | |
| 45 | + return authorRoleManageDAO.selectAuthorRole(authorRoleManageVO); | |
| 46 | + } | |
| 47 | + | |
| 48 | + /** | |
| 49 | + * 권한 롤 관계정보 목록 조회 | |
| 50 | + * @param authorRoleManageVO AuthorRoleManageVO | |
| 51 | + * @return List<AuthorRoleManageVO> | |
| 52 | + * @exception Exception | |
| 53 | + */ | |
| 54 | + public List<AuthorRoleManageVO> selectAuthorRoleList(AuthorRoleManageVO authorRoleManageVO) throws Exception { | |
| 55 | + return authorRoleManageDAO.selectAuthorRoleList(authorRoleManageVO); | |
| 56 | + } | |
| 57 | + | |
| 58 | + /** | |
| 59 | + * 권한 롤 관계정보를 화면에서 입력하여 입력항목의 정합성을 체크하고 데이터베이스에 저장 | |
| 60 | + * @param authorRoleManage AuthorRoleManage | |
| 61 | + * @exception Exception | |
| 62 | + */ | |
| 63 | + public void insertAuthorRole(AuthorRoleManage authorRoleManage) throws Exception { | |
| 64 | + authorRoleManageDAO.insertAuthorRole(authorRoleManage); | |
| 65 | + } | |
| 66 | + | |
| 67 | + /** | |
| 68 | + * 수정된 권한 롤 관계정보를 데이터베이스에 반영 | |
| 69 | + * @param authorRoleManage AuthorRoleManage | |
| 70 | + * @exception Exception | |
| 71 | + */ | |
| 72 | + public void updateAuthorRole(AuthorRoleManage authorRoleManage) throws Exception { | |
| 73 | + authorRoleManageDAO.updateAuthorRole(authorRoleManage); | |
| 74 | + } | |
| 75 | + | |
| 76 | + /** | |
| 77 | + * 권한 롤 관계정보를 화면에 조회하여 데이터베이스에서 삭제 | |
| 78 | + * @param authorRoleManage AuthorRoleManage | |
| 79 | + * @exception Exception | |
| 80 | + */ | |
| 81 | + public void deleteAuthorRole(AuthorRoleManage authorRoleManage) throws Exception { | |
| 82 | + authorRoleManageDAO.deleteAuthorRole(authorRoleManage); | |
| 83 | + } | |
| 84 | + | |
| 85 | + /** | |
| 86 | + * 목록조회 카운트를 반환한다 | |
| 87 | + * @param authorRoleManageVO AuthorRoleManageVO | |
| 88 | + * @return int | |
| 89 | + * @exception Exception | |
| 90 | + */ | |
| 91 | + public int selectAuthorRoleListTotCnt(AuthorRoleManageVO authorRoleManageVO) throws Exception { | |
| 92 | + return authorRoleManageDAO.selectAuthorRoleListTotCnt(authorRoleManageVO); | |
| 93 | + } | |
| 94 | +}(No newline at end of file) |
+++ service/impl/EgovUserDetailsSecurityServiceImpl.java
... | ... | @@ -0,0 +1,65 @@ |
| 1 | +package egovframework.com.sec.ram.service.impl; | |
| 2 | + | |
| 3 | +import java.util.List; | |
| 4 | + | |
| 5 | +import egovframework.com.cmm.service.EgovUserDetailsService; | |
| 6 | + | |
| 7 | +import egovframework.rte.fdl.cmmn.EgovAbstractServiceImpl; | |
| 8 | +import egovframework.rte.fdl.security.userdetails.util.EgovUserDetailsHelper; | |
| 9 | + | |
| 10 | +/** | |
| 11 | + *권한관리 인증에 대한 ServiceImpl 클래스를 정의한다. | |
| 12 | + * @author 공통서비스 개발팀 이문준 | |
| 13 | + * @since 2009.06.01 | |
| 14 | + * @version 1.0 | |
| 15 | + * @see | |
| 16 | + * | |
| 17 | + * <pre> | |
| 18 | + * << 개정이력(Modification Information) >> | |
| 19 | + * | |
| 20 | + * 수정일 수정자 수정내용 | |
| 21 | + * ------- -------- --------------------------- | |
| 22 | + * 2009.03.11 이문준 최초 생성 | |
| 23 | + * | |
| 24 | + * </pre> | |
| 25 | + */ | |
| 26 | + | |
| 27 | +public class EgovUserDetailsSecurityServiceImpl extends EgovAbstractServiceImpl implements EgovUserDetailsService { | |
| 28 | + | |
| 29 | + | |
| 30 | + /** | |
| 31 | + * 인증된 사용자객체를 VO형식으로 가져온다. | |
| 32 | + * @return Object - 사용자 ValueObject | |
| 33 | + */ | |
| 34 | + public Object getAuthenticatedUser() { | |
| 35 | + | |
| 36 | + // 이 메소드의 경우 인증이 되지 않더라고 null을 리턴하지 않기 때문에 | |
| 37 | + // 명시적으로 인증되지 않은 경우 null을 리턴하도록 수정함 | |
| 38 | + | |
| 39 | + if (EgovUserDetailsHelper.isAuthenticated()) { | |
| 40 | + return EgovUserDetailsHelper.getAuthenticatedUser(); | |
| 41 | + } | |
| 42 | + | |
| 43 | + return null; | |
| 44 | + } | |
| 45 | + | |
| 46 | + | |
| 47 | + /** | |
| 48 | + * 인증된 사용자의 권한 정보를 가져온다. | |
| 49 | + * 예) [ROLE_ADMIN, ROLE_USER, ROLE_A, ROLE_B, ROLE_RESTRICTED, IS_AUTHENTICATED_FULLY, IS_AUTHENTICATED_REMEMBERED, IS_AUTHENTICATED_ANONYMOUSLY] | |
| 50 | + * @return List - 사용자 권한정보 목록 | |
| 51 | + */ | |
| 52 | + public List<String> getAuthorities() { | |
| 53 | + return EgovUserDetailsHelper.getAuthorities(); | |
| 54 | + } | |
| 55 | + | |
| 56 | + /** | |
| 57 | + * 인증된 사용자 여부를 체크한다. | |
| 58 | + * @return Boolean - 인증된 사용자 여부(TRUE / FALSE) | |
| 59 | + */ | |
| 60 | + | |
| 61 | + public Boolean isAuthenticated() { | |
| 62 | + return EgovUserDetailsHelper.isAuthenticated(); | |
| 63 | + } | |
| 64 | + | |
| 65 | +} |
+++ src/main/java/egovframework/com/cmm/AltibaseClobStringTypeHandler.java
... | ... | @@ -0,0 +1,106 @@ |
| 1 | +package egovframework.com.cmm; | |
| 2 | + | |
| 3 | +/* | |
| 4 | + * Copyright 2002-2005 the original author or authors. | |
| 5 | + * | |
| 6 | + * Licensed under the Apache License, Version 2.0 (the "License"); | |
| 7 | + * you may not use this file except in compliance with the License. | |
| 8 | + * You may obtain a copy of the License at | |
| 9 | + * | |
| 10 | + * http://www.apache.org/licenses/LICENSE-2.0 | |
| 11 | + * | |
| 12 | + * Unless required by applicable law or agreed to in writing, software | |
| 13 | + * distributed under the License is distributed on an "AS IS" BASIS, | |
| 14 | + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
| 15 | + * See the License for the specific language governing permissions and | |
| 16 | + * limitations under the License. | |
| 17 | + */ | |
| 18 | + | |
| 19 | +import java.io.IOException; | |
| 20 | +import java.io.Reader; | |
| 21 | +import java.sql.PreparedStatement; | |
| 22 | +import java.sql.ResultSet; | |
| 23 | +import java.sql.SQLException; | |
| 24 | + | |
| 25 | +import org.slf4j.Logger; | |
| 26 | +import org.slf4j.LoggerFactory; | |
| 27 | +import org.springframework.jdbc.support.lob.LobCreator; | |
| 28 | +import org.springframework.jdbc.support.lob.LobHandler; | |
| 29 | +import egovframework.rte.psl.orm.ibatis.support.AbstractLobTypeHandler; | |
| 30 | + | |
| 31 | +/** | |
| 32 | + * iBATIS TypeHandler implementation for Strings that get mapped to CLOBs. | |
| 33 | + * Retrieves the LobHandler to use from SqlMapClientFactoryBean at config time. | |
| 34 | + * | |
| 35 | + * <p>Particularly useful for storing Strings with more than 4000 characters in an | |
| 36 | + * Oracle database (only possible via CLOBs), in combination with OracleLobHandler. | |
| 37 | + * | |
| 38 | + * <p>Can also be defined in generic iBATIS mappings, as DefaultLobCreator will | |
| 39 | + * work with most JDBC-compliant database drivers. In this case, the field type | |
| 40 | + * does not have to be BLOB: For databases like MySQL and MS SQL Server, any | |
| 41 | + * large enough binary type will work. | |
| 42 | + * | |
| 43 | + * @author Juergen Hoeller | |
| 44 | + * @since 1.1.5 | |
| 45 | + * @see org.springframework.orm.ibatis.SqlMapClientFactoryBean#setLobHandler | |
| 46 | + */ | |
| 47 | +@SuppressWarnings("deprecation") | |
| 48 | +public class AltibaseClobStringTypeHandler extends AbstractLobTypeHandler { | |
| 49 | + | |
| 50 | + private static final Logger LOGGER = LoggerFactory.getLogger(AltibaseClobStringTypeHandler.class); | |
| 51 | + | |
| 52 | + /** | |
| 53 | + * Constructor used by iBATIS: fetches config-time LobHandler from | |
| 54 | + * SqlMapClientFactoryBean. | |
| 55 | + * @see org.springframework.orm.ibatis.SqlMapClientFactoryBean#getConfigTimeLobHandler | |
| 56 | + */ | |
| 57 | + public AltibaseClobStringTypeHandler() { | |
| 58 | + super(); | |
| 59 | + } | |
| 60 | + | |
| 61 | + /** | |
| 62 | + * Constructor used for testing: takes an explicit LobHandler. | |
| 63 | + */ | |
| 64 | + protected AltibaseClobStringTypeHandler(LobHandler lobHandler) { | |
| 65 | + super(lobHandler); | |
| 66 | + } | |
| 67 | + | |
| 68 | + @Override | |
| 69 | + protected void setParameterInternal(PreparedStatement ps, int index, Object value, String jdbcType, LobCreator lobCreator) throws SQLException { | |
| 70 | + lobCreator.setClobAsString(ps, index, (String) value); | |
| 71 | + } | |
| 72 | + | |
| 73 | + @Override | |
| 74 | + protected Object getResultInternal(ResultSet rs, int index, LobHandler lobHandler) throws SQLException { | |
| 75 | + | |
| 76 | + StringBuffer read_data = new StringBuffer(""); | |
| 77 | + int read_length; | |
| 78 | + | |
| 79 | + char[] buf = new char[1024]; | |
| 80 | + | |
| 81 | + Reader rd = lobHandler.getClobAsCharacterStream(rs, index); | |
| 82 | + try { | |
| 83 | + while ((read_length = rd.read(buf)) != -1) { | |
| 84 | + read_data.append(buf, 0, read_length); | |
| 85 | + } | |
| 86 | + } catch (IOException ie) { | |
| 87 | + LOGGER.debug("ie: {}", ie); | |
| 88 | + } finally { | |
| 89 | + if (rd != null) { | |
| 90 | + try { | |
| 91 | + rd.close(); | |
| 92 | + } catch (Exception ignore) { | |
| 93 | + LOGGER.debug("IGNORE: {}", ignore.getMessage()); | |
| 94 | + } | |
| 95 | + } | |
| 96 | + } | |
| 97 | + | |
| 98 | + return read_data.toString(); | |
| 99 | + } | |
| 100 | + | |
| 101 | + @Override | |
| 102 | + public Object valueOf(String s) { | |
| 103 | + return s; | |
| 104 | + } | |
| 105 | + | |
| 106 | +} |
+++ src/main/java/egovframework/com/cmm/ComDefaultCodeVO.java
... | ... | @@ -0,0 +1,199 @@ |
| 1 | +package egovframework.com.cmm; | |
| 2 | + | |
| 3 | +import java.io.Serializable; | |
| 4 | + | |
| 5 | +import org.apache.commons.lang3.builder.ToStringBuilder; | |
| 6 | + | |
| 7 | +/** | |
| 8 | + * 클래스 | |
| 9 | + * @author 공통서비스개발팀 이삼섭 | |
| 10 | + * @since 2009.06.01 | |
| 11 | + * @version 1.0 | |
| 12 | + * @see | |
| 13 | + * | |
| 14 | + * <pre> | |
| 15 | + * << 개정이력(Modification Information) >> | |
| 16 | + * | |
| 17 | + * 수정일 수정자 수정내용 | |
| 18 | + * ------- -------- --------------------------- | |
| 19 | + * 2009.3.11 이삼섭 최초 생성 | |
| 20 | + * | |
| 21 | + * </pre> | |
| 22 | + */ | |
| 23 | +@SuppressWarnings("serial") | |
| 24 | +public class ComDefaultCodeVO implements Serializable { | |
| 25 | + /** 코드 ID */ | |
| 26 | + private String codeId = ""; | |
| 27 | + | |
| 28 | + /** 상세코드 */ | |
| 29 | + private String code = ""; | |
| 30 | + | |
| 31 | + /** 코드명 */ | |
| 32 | + private String codeNm = ""; | |
| 33 | + | |
| 34 | + /** 코드설명 */ | |
| 35 | + private String codeDc = ""; | |
| 36 | + | |
| 37 | + /** 특정테이블명 */ | |
| 38 | + private String tableNm = ""; //특정테이블에서 코드정보를추출시 사용 | |
| 39 | + | |
| 40 | + /** 상세 조건 여부 */ | |
| 41 | + private String haveDetailCondition = "N"; | |
| 42 | + | |
| 43 | + /** 상세 조건 */ | |
| 44 | + private String detailCondition = ""; | |
| 45 | + | |
| 46 | + private String orderByNm = ""; | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + /** | |
| 51 | + * codeId attribute를 리턴한다. | |
| 52 | + * | |
| 53 | + * @return the codeId | |
| 54 | + */ | |
| 55 | + public String getCodeId() { | |
| 56 | + return codeId; | |
| 57 | + } | |
| 58 | + | |
| 59 | + /** | |
| 60 | + * codeId attribute 값을 설정한다. | |
| 61 | + * | |
| 62 | + * @param codeId | |
| 63 | + * the codeId to set | |
| 64 | + */ | |
| 65 | + public void setCodeId(String codeId) { | |
| 66 | + this.codeId = codeId; | |
| 67 | + } | |
| 68 | + | |
| 69 | + /** | |
| 70 | + * code attribute를 리턴한다. | |
| 71 | + * | |
| 72 | + * @return the code | |
| 73 | + */ | |
| 74 | + public String getCode() { | |
| 75 | + return code; | |
| 76 | + } | |
| 77 | + | |
| 78 | + /** | |
| 79 | + * code attribute 값을 설정한다. | |
| 80 | + * | |
| 81 | + * @param code | |
| 82 | + * the code to set | |
| 83 | + */ | |
| 84 | + public void setCode(String code) { | |
| 85 | + this.code = code; | |
| 86 | + } | |
| 87 | + | |
| 88 | + /** | |
| 89 | + * codeNm attribute를 리턴한다. | |
| 90 | + * | |
| 91 | + * @return the codeNm | |
| 92 | + */ | |
| 93 | + public String getCodeNm() { | |
| 94 | + return codeNm; | |
| 95 | + } | |
| 96 | + | |
| 97 | + /** | |
| 98 | + * codeNm attribute 값을 설정한다. | |
| 99 | + * | |
| 100 | + * @param codeNm | |
| 101 | + * the codeNm to set | |
| 102 | + */ | |
| 103 | + public void setCodeNm(String codeNm) { | |
| 104 | + this.codeNm = codeNm; | |
| 105 | + } | |
| 106 | + | |
| 107 | + /** | |
| 108 | + * codeDc attribute를 리턴한다. | |
| 109 | + * | |
| 110 | + * @return the codeDc | |
| 111 | + */ | |
| 112 | + public String getCodeDc() { | |
| 113 | + return codeDc; | |
| 114 | + } | |
| 115 | + | |
| 116 | + /** | |
| 117 | + * codeDc attribute 값을 설정한다. | |
| 118 | + * | |
| 119 | + * @param codeDc | |
| 120 | + * the codeDc to set | |
| 121 | + */ | |
| 122 | + public void setCodeDc(String codeDc) { | |
| 123 | + this.codeDc = codeDc; | |
| 124 | + } | |
| 125 | + | |
| 126 | + /** | |
| 127 | + * tableNm attribute를 리턴한다. | |
| 128 | + * | |
| 129 | + * @return the tableNm | |
| 130 | + */ | |
| 131 | + public String getTableNm() { | |
| 132 | + return tableNm; | |
| 133 | + } | |
| 134 | + | |
| 135 | + /** | |
| 136 | + * tableNm attribute 값을 설정한다. | |
| 137 | + * | |
| 138 | + * @param tableNm | |
| 139 | + * the tableNm to set | |
| 140 | + */ | |
| 141 | + public void setTableNm(String tableNm) { | |
| 142 | + this.tableNm = tableNm; | |
| 143 | + } | |
| 144 | + | |
| 145 | + /** | |
| 146 | + * haveDetailCondition attribute를 리턴한다. | |
| 147 | + * | |
| 148 | + * @return the haveDetailCondition | |
| 149 | + */ | |
| 150 | + public String getHaveDetailCondition() { | |
| 151 | + return haveDetailCondition; | |
| 152 | + } | |
| 153 | + | |
| 154 | + /** | |
| 155 | + * haveDetailCondition attribute 값을 설정한다. | |
| 156 | + * | |
| 157 | + * @param haveDetailCondition | |
| 158 | + * the haveDetailCondition to set | |
| 159 | + */ | |
| 160 | + public void setHaveDetailCondition(String haveDetailCondition) { | |
| 161 | + this.haveDetailCondition = haveDetailCondition; | |
| 162 | + } | |
| 163 | + | |
| 164 | + /** | |
| 165 | + * detailCondition attribute를 리턴한다. | |
| 166 | + * | |
| 167 | + * @return the detailCondition | |
| 168 | + */ | |
| 169 | + public String getDetailCondition() { | |
| 170 | + return detailCondition; | |
| 171 | + } | |
| 172 | + | |
| 173 | + /** | |
| 174 | + * detailCondition attribute 값을 설정한다. | |
| 175 | + * | |
| 176 | + * @param detailCondition | |
| 177 | + * the detailCondition to set | |
| 178 | + */ | |
| 179 | + public void setDetailCondition(String detailCondition) { | |
| 180 | + this.detailCondition = detailCondition; | |
| 181 | + } | |
| 182 | + | |
| 183 | + /** | |
| 184 | + * toString 메소드를 대치한다. | |
| 185 | + */ | |
| 186 | + public String toString() { | |
| 187 | + return ToStringBuilder.reflectionToString(this); | |
| 188 | + } | |
| 189 | + | |
| 190 | + public String getOrderByNm() { | |
| 191 | + return orderByNm; | |
| 192 | + } | |
| 193 | + | |
| 194 | + public void setOrderByNm(String orderByNm) { | |
| 195 | + this.orderByNm = orderByNm; | |
| 196 | + } | |
| 197 | + | |
| 198 | + | |
| 199 | +} |
+++ src/main/java/egovframework/com/cmm/ComDefaultVO.java
... | ... | @@ -0,0 +1,282 @@ |
| 1 | +package egovframework.com.cmm; | |
| 2 | + | |
| 3 | +import java.io.Serializable; | |
| 4 | + | |
| 5 | +import org.apache.commons.lang3.builder.ToStringBuilder; | |
| 6 | + | |
| 7 | +/** | |
| 8 | + * @Class Name : ComDefaultVO.java | |
| 9 | + * @Description : ComDefaultVO class | |
| 10 | + * @Modification Information | |
| 11 | + * @ | |
| 12 | + * @ 수정일 수정자 수정내용 | |
| 13 | + * @ ------- -------- --------------------------- | |
| 14 | + * @ 2009.02.01 조재영 최초 생성 | |
| 15 | + * | |
| 16 | + * @author 공통서비스 개발팀 조재영 | |
| 17 | + * @since 2009.02.01 | |
| 18 | + * @version 1.0 | |
| 19 | + * @see | |
| 20 | + * | |
| 21 | + */ | |
| 22 | +public class ComDefaultVO implements Serializable { | |
| 23 | + | |
| 24 | + private static final long serialVersionUID = -6062858939907510631L; | |
| 25 | + | |
| 26 | + /** 통합검색 키(ID) */ | |
| 27 | + private String f1 = ""; | |
| 28 | + | |
| 29 | + /** 검색조건 */ | |
| 30 | + private String searchCondition = ""; | |
| 31 | + | |
| 32 | + /** 검색Keyword */ | |
| 33 | + private String searchKeyword = ""; | |
| 34 | + | |
| 35 | + /** 검색사용여부 */ | |
| 36 | + private String searchUseYn = ""; | |
| 37 | + | |
| 38 | + /** 현재페이지 */ | |
| 39 | + private int pageIndex = 1; | |
| 40 | + | |
| 41 | + /** 페이지갯수 */ | |
| 42 | + private int pageUnit = 10; | |
| 43 | + | |
| 44 | + /** 페이지사이즈 */ | |
| 45 | + private int pageSize = 10; | |
| 46 | + | |
| 47 | + /** firstIndex */ | |
| 48 | + private int firstIndex = 1; | |
| 49 | + | |
| 50 | + /** lastIndex */ | |
| 51 | + private int lastIndex = 1; | |
| 52 | + | |
| 53 | + /** recordCountPerPage */ | |
| 54 | + private int recordCountPerPage = 10; | |
| 55 | + | |
| 56 | + /** 검색KeywordFrom */ | |
| 57 | + private String searchKeywordFrom = ""; | |
| 58 | + | |
| 59 | + /** 검색KeywordTo */ | |
| 60 | + private String searchKeywordTo = ""; | |
| 61 | + | |
| 62 | + /** 검색 시작일 */ | |
| 63 | + private String searchStartDate = ""; | |
| 64 | + | |
| 65 | + /** 검색 종료일 */ | |
| 66 | + private String searchEndDate = ""; | |
| 67 | + | |
| 68 | + private String sortOrder = ""; | |
| 69 | + | |
| 70 | + private String searchCategory=""; | |
| 71 | + | |
| 72 | + private String searchSlaKeyword =""; | |
| 73 | + | |
| 74 | + private String searchWorkerKeyword=""; // 작업자 검색 | |
| 75 | + | |
| 76 | + private String searchCompanyKeyword=""; // 업체검색 | |
| 77 | + | |
| 78 | + private String searchSortCnd = ""; // 정렬 항목 | |
| 79 | + private String searchSortOrd = ""; // 정렬 구분(오름/내림) | |
| 80 | + | |
| 81 | + | |
| 82 | + private String searchNm = ""; //상세검색 이름 | |
| 83 | + | |
| 84 | + | |
| 85 | + public String getSearchNm() { | |
| 86 | + return searchNm; | |
| 87 | + } | |
| 88 | + | |
| 89 | + public void setSearchNm(String searchNm) { | |
| 90 | + this.searchNm = searchNm; | |
| 91 | + } | |
| 92 | + | |
| 93 | + public String getSearchSlaKeyword() { | |
| 94 | + return searchSlaKeyword; | |
| 95 | + } | |
| 96 | + | |
| 97 | + public void setSearchSlaKeyword(String searchSlaKeyword) { | |
| 98 | + this.searchSlaKeyword = searchSlaKeyword; | |
| 99 | + } | |
| 100 | + | |
| 101 | + public String getSearchWorkerKeyword() { | |
| 102 | + return searchWorkerKeyword; | |
| 103 | + } | |
| 104 | + | |
| 105 | + public void setSearchWorkerKeyword(String searchWorkerKeyword) { | |
| 106 | + this.searchWorkerKeyword = searchWorkerKeyword; | |
| 107 | + } | |
| 108 | + | |
| 109 | + public String getSearchCompanyKeyword() { | |
| 110 | + return searchCompanyKeyword; | |
| 111 | + } | |
| 112 | + | |
| 113 | + public void setSearchCompanyKeyword(String searchCompanyKeyword) { | |
| 114 | + this.searchCompanyKeyword = searchCompanyKeyword; | |
| 115 | + } | |
| 116 | + | |
| 117 | + public String getSearchCategory() { | |
| 118 | + return searchCategory; | |
| 119 | + } | |
| 120 | + | |
| 121 | + public void setSearchCategory(String searchCategory) { | |
| 122 | + this.searchCategory = searchCategory; | |
| 123 | + } | |
| 124 | + | |
| 125 | + public int getFirstIndex() { | |
| 126 | + return firstIndex; | |
| 127 | + } | |
| 128 | + | |
| 129 | + public void setFirstIndex(int firstIndex) { | |
| 130 | + this.firstIndex = firstIndex; | |
| 131 | + } | |
| 132 | + | |
| 133 | + public int getLastIndex() { | |
| 134 | + return lastIndex; | |
| 135 | + } | |
| 136 | + | |
| 137 | + public void setLastIndex(int lastIndex) { | |
| 138 | + this.lastIndex = lastIndex; | |
| 139 | + } | |
| 140 | + | |
| 141 | + public int getRecordCountPerPage() { | |
| 142 | + return recordCountPerPage; | |
| 143 | + } | |
| 144 | + | |
| 145 | + public void setRecordCountPerPage(int recordCountPerPage) { | |
| 146 | + this.recordCountPerPage = recordCountPerPage; | |
| 147 | + } | |
| 148 | + | |
| 149 | + public String getSearchCondition() { | |
| 150 | + return searchCondition; | |
| 151 | + } | |
| 152 | + | |
| 153 | + public void setSearchCondition(String searchCondition) { | |
| 154 | + this.searchCondition = searchCondition; | |
| 155 | + } | |
| 156 | + | |
| 157 | + public String getSearchKeyword() { | |
| 158 | + return searchKeyword; | |
| 159 | + } | |
| 160 | + | |
| 161 | + public void setSearchKeyword(String searchKeyword) { | |
| 162 | + this.searchKeyword = searchKeyword; | |
| 163 | + } | |
| 164 | + | |
| 165 | + public String getSearchUseYn() { | |
| 166 | + return searchUseYn; | |
| 167 | + } | |
| 168 | + | |
| 169 | + public void setSearchUseYn(String searchUseYn) { | |
| 170 | + this.searchUseYn = searchUseYn; | |
| 171 | + } | |
| 172 | + | |
| 173 | + public int getPageIndex() { | |
| 174 | + return pageIndex; | |
| 175 | + } | |
| 176 | + | |
| 177 | + public void setPageIndex(int pageIndex) { | |
| 178 | + this.pageIndex = pageIndex; | |
| 179 | + } | |
| 180 | + | |
| 181 | + public int getPageUnit() { | |
| 182 | + return pageUnit; | |
| 183 | + } | |
| 184 | + | |
| 185 | + public void setPageUnit(int pageUnit) { | |
| 186 | + this.pageUnit = pageUnit; | |
| 187 | + } | |
| 188 | + | |
| 189 | + public int getPageSize() { | |
| 190 | + return pageSize; | |
| 191 | + } | |
| 192 | + | |
| 193 | + public void setPageSize(int pageSize) { | |
| 194 | + this.pageSize = pageSize; | |
| 195 | + } | |
| 196 | + | |
| 197 | + public String toString() { | |
| 198 | + return ToStringBuilder.reflectionToString(this); | |
| 199 | + } | |
| 200 | + | |
| 201 | + | |
| 202 | + /** | |
| 203 | + * searchKeywordFrom attribute를 리턴한다. | |
| 204 | + * @return String | |
| 205 | + */ | |
| 206 | + public String getSearchKeywordFrom() { | |
| 207 | + return searchKeywordFrom; | |
| 208 | + } | |
| 209 | + | |
| 210 | + /** | |
| 211 | + * searchKeywordFrom attribute 값을 설정한다. | |
| 212 | + * @param searchKeywordFrom String | |
| 213 | + */ | |
| 214 | + public void setSearchKeywordFrom(String searchKeywordFrom) { | |
| 215 | + this.searchKeywordFrom = searchKeywordFrom; | |
| 216 | + } | |
| 217 | + | |
| 218 | + /** | |
| 219 | + * searchKeywordTo attribute를 리턴한다. | |
| 220 | + * @return String | |
| 221 | + */ | |
| 222 | + public String getSearchKeywordTo() { | |
| 223 | + return searchKeywordTo; | |
| 224 | + } | |
| 225 | + | |
| 226 | + /** | |
| 227 | + * searchKeywordTo attribute 값을 설정한다. | |
| 228 | + * @param searchKeywordTo String | |
| 229 | + */ | |
| 230 | + public void setSearchKeywordTo(String searchKeywordTo) { | |
| 231 | + this.searchKeywordTo = searchKeywordTo; | |
| 232 | + } | |
| 233 | + | |
| 234 | + public String getSearchStartDate() { | |
| 235 | + return searchStartDate; | |
| 236 | + } | |
| 237 | + | |
| 238 | + public void setSearchStartDate(String searchStartDate) { | |
| 239 | + this.searchStartDate = searchStartDate; | |
| 240 | + } | |
| 241 | + | |
| 242 | + public String getSearchEndDate() { | |
| 243 | + return searchEndDate; | |
| 244 | + } | |
| 245 | + | |
| 246 | + public void setSearchEndDate(String searchEndDate) { | |
| 247 | + this.searchEndDate = searchEndDate; | |
| 248 | + } | |
| 249 | + | |
| 250 | + public String getSortOrder() { | |
| 251 | + return sortOrder; | |
| 252 | + } | |
| 253 | + | |
| 254 | + public void setSortOrder(String sortOrder) { | |
| 255 | + this.sortOrder = sortOrder; | |
| 256 | + } | |
| 257 | + | |
| 258 | + public String getF1() { | |
| 259 | + return f1; | |
| 260 | + } | |
| 261 | + | |
| 262 | + public void setF1(String f1) { | |
| 263 | + this.f1 = f1; | |
| 264 | + } | |
| 265 | + | |
| 266 | + public String getSearchSortCnd() { | |
| 267 | + return searchSortCnd; | |
| 268 | + } | |
| 269 | + | |
| 270 | + public void setSearchSortCnd(String searchSortCnd) { | |
| 271 | + this.searchSortCnd = searchSortCnd; | |
| 272 | + } | |
| 273 | + | |
| 274 | + public String getSearchSortOrd() { | |
| 275 | + return searchSortOrd; | |
| 276 | + } | |
| 277 | + | |
| 278 | + public void setSearchSortOrd(String searchSortOrd) { | |
| 279 | + this.searchSortOrd = searchSortOrd; | |
| 280 | + } | |
| 281 | + | |
| 282 | +} |
+++ src/main/java/egovframework/com/cmm/EgovComCrossSiteHndlr.java
... | ... | @@ -0,0 +1,406 @@ |
| 1 | +package egovframework.com.cmm; | |
| 2 | + | |
| 3 | +import java.io.IOException; | |
| 4 | +import java.io.Reader; | |
| 5 | + | |
| 6 | +import javax.servlet.jsp.JspException; | |
| 7 | +import javax.servlet.jsp.JspWriter; | |
| 8 | +import javax.servlet.jsp.PageContext; | |
| 9 | +import javax.servlet.jsp.tagext.BodyTagSupport; | |
| 10 | + | |
| 11 | +import org.apache.taglibs.standard.tag.common.core.Util; | |
| 12 | + | |
| 13 | +/** | |
| 14 | + * Cross-Site Scripting 체크하여 값을 되돌려 받는 핸들러 JSP TLD, 자바에서 사용가능 | |
| 15 | + * | |
| 16 | + * @author 공통서비스 장동한 | |
| 17 | + * @since 2010.11.09 | |
| 18 | + * @version 1.0 | |
| 19 | + * @see <pre> | |
| 20 | + * << 개정이력(Modification Information) >> | |
| 21 | + * | |
| 22 | + * 수정일 수정자 수정내용 | |
| 23 | + * ------- -------- --------------------------- | |
| 24 | + * 2010.11.09 장동한 최초 생성 | |
| 25 | + * | |
| 26 | + * </pre> | |
| 27 | + */ | |
| 28 | +public class EgovComCrossSiteHndlr extends BodyTagSupport { | |
| 29 | + | |
| 30 | + /* | |
| 31 | + * (One almost wishes XML and JSP could support "anonymous tags," given the | |
| 32 | + * amount of trouble we had naming this one!) :-) - sb | |
| 33 | + */ | |
| 34 | + | |
| 35 | + // ********************************************************************* | |
| 36 | + // Internal state | |
| 37 | + | |
| 38 | + private static final long serialVersionUID = -6750233818675360686L; | |
| 39 | + | |
| 40 | + protected Object value; // tag attribute | |
| 41 | + protected String def; // tag attribute | |
| 42 | + protected boolean escapeXml; // tag attribute | |
| 43 | + private boolean needBody; // non-space body needed? | |
| 44 | + | |
| 45 | + // ********************************************************************* | |
| 46 | + // Construction and initialization | |
| 47 | + | |
| 48 | + private String m_sDiffChar ="()[]{}\"',:;= \t\r\n%!+-"; | |
| 49 | + //private String m_sDiffChar ="()[]{}\"',:;=%!+-"; | |
| 50 | + private String m_sArrDiffChar [] = { | |
| 51 | + "(",")", | |
| 52 | + "[","]", | |
| 53 | + "{","}", | |
| 54 | + ""","'", | |
| 55 | + ",",":", | |
| 56 | + ";","=", | |
| 57 | + " ","\t", //" ","\t", | |
| 58 | + "\r","\n", //"\r","\n", | |
| 59 | + "%","!", | |
| 60 | + "+","-" | |
| 61 | + }; | |
| 62 | + | |
| 63 | + /** | |
| 64 | + * Constructs a new handler. As with TagSupport, subclasses should not | |
| 65 | + * provide other constructors and are expected to call the superclass | |
| 66 | + * constructor. | |
| 67 | + */ | |
| 68 | + public EgovComCrossSiteHndlr() { | |
| 69 | + super(); | |
| 70 | + init(); | |
| 71 | + } | |
| 72 | + | |
| 73 | + // resets local state | |
| 74 | + private void init() { | |
| 75 | + value = def = null; | |
| 76 | + escapeXml = true; | |
| 77 | + needBody = false; | |
| 78 | + } | |
| 79 | + | |
| 80 | + // Releases any resources we may have (or inherit) | |
| 81 | + public void release() { | |
| 82 | + super.release(); | |
| 83 | + init(); | |
| 84 | + } | |
| 85 | + | |
| 86 | + // ********************************************************************* | |
| 87 | + // Tag logic | |
| 88 | + | |
| 89 | + // evaluates 'value' and determines if the body should be evaluted | |
| 90 | + public int doStartTag() throws JspException { | |
| 91 | + | |
| 92 | + needBody = false; // reset state related to 'default' | |
| 93 | + this.bodyContent = null; // clean-up body (just in case container is | |
| 94 | + // pooling tag handlers) | |
| 95 | + | |
| 96 | + JspWriter out = pageContext.getOut(); | |
| 97 | + //System.out.println("EgovComCrossSiteFilter> ============================"); | |
| 98 | + try { | |
| 99 | + // print value if available; otherwise, try 'default' | |
| 100 | + if (value != null) { | |
| 101 | + //System.out.println("EgovComCrossSiteFilter> =value"); | |
| 102 | + String sWriteEscapedXml = getWriteEscapedXml(); | |
| 103 | + //System.out.println("EgovComCrossSiteFilter sWriteEscapedXml>" + sWriteEscapedXml); | |
| 104 | + out.print(sWriteEscapedXml); | |
| 105 | + return SKIP_BODY; | |
| 106 | + } else { | |
| 107 | + // if we don't have a 'default' attribute, just go to the body | |
| 108 | + if (def == null) { | |
| 109 | + needBody = true; | |
| 110 | + return EVAL_BODY_BUFFERED; | |
| 111 | + } | |
| 112 | + | |
| 113 | + //System.out.println("EgovComCrossSiteFilter def> ="+def); | |
| 114 | + | |
| 115 | + // if we do have 'default', print it | |
| 116 | + if (def != null) { | |
| 117 | + // good 'default' | |
| 118 | + out(pageContext, escapeXml, def); | |
| 119 | + //System.out.println("EgovComCrossSiteFilter> ="+def); | |
| 120 | + } | |
| 121 | + return SKIP_BODY; | |
| 122 | + } | |
| 123 | + } catch (IOException ex) { | |
| 124 | + throw new JspException(ex.toString(), ex); | |
| 125 | + } | |
| 126 | + } | |
| 127 | + | |
| 128 | + // prints the body if necessary; reports errors | |
| 129 | + public int doEndTag() throws JspException { | |
| 130 | + try { | |
| 131 | + //System.out.println("EgovComCrossSiteFilter ==== doEndTag"); | |
| 132 | + if (!needBody){ | |
| 133 | + return EVAL_PAGE; // nothing more to do | |
| 134 | + } | |
| 135 | + | |
| 136 | + // trim and print out the body | |
| 137 | + if (bodyContent != null && bodyContent.getString() != null){ | |
| 138 | + //String sWriteEscapedXml = getWriteEscapedXml(); | |
| 139 | + //out2(pageContext, escapeXml, sWriteEscapedXml.toString()); | |
| 140 | + //System.out.println("EgovComCrossSiteFilter> end"); | |
| 141 | + //System.out.println("EgovComCrossSiteFilter sWriteEscapedXml > sWriteEscapedXml"); | |
| 142 | + out(pageContext, escapeXml, bodyContent.getString().trim()); | |
| 143 | + | |
| 144 | + } | |
| 145 | + return EVAL_PAGE; | |
| 146 | + } catch (IOException ex) { | |
| 147 | + throw new JspException(ex.toString(), ex); | |
| 148 | + } | |
| 149 | + } | |
| 150 | + | |
| 151 | + // ********************************************************************* | |
| 152 | + // Public utility methods | |
| 153 | + | |
| 154 | + /** | |
| 155 | + * Outputs <tt>text</tt> to <tt>pageContext</tt>'s current JspWriter. If | |
| 156 | + * <tt>escapeXml</tt> is true, performs the following substring replacements | |
| 157 | + * (to facilitate output to XML/HTML pages): | |
| 158 | + * | |
| 159 | + * & -> & < -> < > -> > " -> " ' -> ' | |
| 160 | + * | |
| 161 | + * See also Util.escapeXml(). | |
| 162 | + */ | |
| 163 | + public static void out(PageContext pageContext, boolean escapeXml, | |
| 164 | + Object obj) throws IOException { | |
| 165 | + JspWriter w = pageContext.getOut(); | |
| 166 | + | |
| 167 | + if (!escapeXml) { | |
| 168 | + // write chars as is | |
| 169 | + if (obj instanceof Reader) { | |
| 170 | + Reader reader = (Reader) obj; | |
| 171 | + char[] buf = new char[4096]; | |
| 172 | + int count; | |
| 173 | + while ((count = reader.read(buf, 0, 4096)) != -1) { | |
| 174 | + w.write(buf, 0, count); | |
| 175 | + } | |
| 176 | + } else { | |
| 177 | + w.write(obj.toString()); | |
| 178 | + } | |
| 179 | + } else { | |
| 180 | + // escape XML chars | |
| 181 | + if (obj instanceof Reader) { | |
| 182 | + Reader reader = (Reader) obj; | |
| 183 | + char[] buf = new char[4096]; | |
| 184 | + int count; | |
| 185 | + while ((count = reader.read(buf, 0, 4096)) != -1) { | |
| 186 | + writeEscapedXml(buf, count, w); | |
| 187 | + } | |
| 188 | + } else { | |
| 189 | + String text = obj.toString(); | |
| 190 | + writeEscapedXml(text.toCharArray(), text.length(), w); | |
| 191 | + } | |
| 192 | + } | |
| 193 | + | |
| 194 | + } | |
| 195 | + public static void out2(PageContext pageContext, boolean escapeXml, | |
| 196 | + Object obj) throws IOException { | |
| 197 | + JspWriter w = pageContext.getOut(); | |
| 198 | + | |
| 199 | + w.write(obj.toString()); | |
| 200 | + | |
| 201 | + } | |
| 202 | + | |
| 203 | + /** | |
| 204 | + * | |
| 205 | + * Optimized to create no extra objects and write directly to the JspWriter | |
| 206 | + * using blocks of escaped and unescaped characters | |
| 207 | + * | |
| 208 | + */ | |
| 209 | + private static void writeEscapedXml(char[] buffer, int length, JspWriter w) | |
| 210 | + throws IOException { | |
| 211 | + int start = 0; | |
| 212 | + | |
| 213 | + for (int i = 0; i < length; i++) { | |
| 214 | + char c = buffer[i]; | |
| 215 | + if (c <= Util.HIGHEST_SPECIAL) { | |
| 216 | + char[] escaped = Util.specialCharactersRepresentation[c]; | |
| 217 | + if (escaped != null) { | |
| 218 | + // add unescaped portion | |
| 219 | + if (start < i) { | |
| 220 | + w.write(buffer, start, i - start); | |
| 221 | + } | |
| 222 | + // add escaped xml | |
| 223 | + w.write(escaped); | |
| 224 | + start = i + 1; | |
| 225 | + } | |
| 226 | + } | |
| 227 | + } | |
| 228 | + // add rest of unescaped portion | |
| 229 | + if (start < length) { | |
| 230 | + w.write(buffer, start, length - start); | |
| 231 | + } | |
| 232 | + } | |
| 233 | + | |
| 234 | + /** | |
| 235 | + * | |
| 236 | + * Optimized to create no extra objects and write directly to the JspWriter | |
| 237 | + * using blocks of escaped and unescaped characters | |
| 238 | + * | |
| 239 | + */ | |
| 240 | + private String getWriteEscapedXml() throws IOException { | |
| 241 | + String sRtn = ""; | |
| 242 | + | |
| 243 | + Object obj = this.value; | |
| 244 | + | |
| 245 | + @SuppressWarnings("unused") | |
| 246 | + int start = 0; | |
| 247 | + String text = obj.toString(); | |
| 248 | + | |
| 249 | + int length = text.length(); | |
| 250 | + char[] buffer = text.toCharArray(); | |
| 251 | + boolean booleanDiff = false; | |
| 252 | + //String sDiffChar | |
| 253 | + //String sArrDiffChar | |
| 254 | + char[] cDiffChar = this.m_sDiffChar.toCharArray(); | |
| 255 | + | |
| 256 | + for(int i = 0; i < length; i++) { | |
| 257 | + char c = buffer[i]; | |
| 258 | + | |
| 259 | + booleanDiff = false; | |
| 260 | + | |
| 261 | + for(int k = 0; k < cDiffChar.length; k++){ | |
| 262 | + if(c == cDiffChar[k]){ | |
| 263 | + sRtn = sRtn + m_sArrDiffChar[k]; | |
| 264 | + booleanDiff = true; | |
| 265 | + continue; | |
| 266 | + } | |
| 267 | + } | |
| 268 | + | |
| 269 | + if(booleanDiff) continue; | |
| 270 | + | |
| 271 | + if (c <= Util.HIGHEST_SPECIAL) { | |
| 272 | + char[] escaped = Util.specialCharactersRepresentation[c]; | |
| 273 | + if (escaped != null) { | |
| 274 | + // add unescaped portion | |
| 275 | + //if (start < i) { | |
| 276 | + // sRtn = sRtn + text.substring(start, i - start); | |
| 277 | + //} | |
| 278 | + // add escaped xml | |
| 279 | + //sRtn = sRtn + escaped; | |
| 280 | + //System.out.println(buffer[i]+" :: " + escaped); | |
| 281 | + for (int j = 0; j < escaped.length; j++) { | |
| 282 | + //System.out.println(buffer[i]+" :>: " + escaped[j]); | |
| 283 | + sRtn = sRtn + escaped[j]; | |
| 284 | + } | |
| 285 | + //sRtn = sRtn+ escaped.toString(); | |
| 286 | + //sRtn = sRtn + String.valueOf(buffer[i]); | |
| 287 | + start = i + 1; | |
| 288 | + }else{ | |
| 289 | + sRtn = sRtn + c; | |
| 290 | + } | |
| 291 | + }else{ | |
| 292 | + sRtn = sRtn + c; | |
| 293 | + } | |
| 294 | + } | |
| 295 | + | |
| 296 | + return sRtn; | |
| 297 | + } | |
| 298 | + | |
| 299 | + /** | |
| 300 | + * | |
| 301 | + * Optimized to create no extra objects and write directly to the JspWriter | |
| 302 | + * using blocks of escaped and unescaped characters | |
| 303 | + * | |
| 304 | + */ | |
| 305 | + @SuppressWarnings("unused") | |
| 306 | + private String getWriteEscapedXml(String sWriteString) throws IOException { | |
| 307 | + | |
| 308 | + String sRtn = ""; | |
| 309 | + | |
| 310 | + Object obj = sWriteString; | |
| 311 | + | |
| 312 | + int start = 0; | |
| 313 | + String text = obj.toString(); | |
| 314 | + | |
| 315 | + int length = text.length(); | |
| 316 | + char[] buffer = text.toCharArray(); | |
| 317 | + boolean booleanDiff = false; | |
| 318 | + //String sDiffChar | |
| 319 | + //String sArrDiffChar | |
| 320 | + char[] cDiffChar = this.m_sDiffChar.toCharArray(); | |
| 321 | + | |
| 322 | + for(int i = 0; i < length; i++) { | |
| 323 | + char c = buffer[i]; | |
| 324 | + | |
| 325 | + booleanDiff = false; | |
| 326 | + | |
| 327 | + for(int k = 0; k < cDiffChar.length; k++){ | |
| 328 | + if(c == cDiffChar[k]){ | |
| 329 | + sRtn = sRtn + m_sArrDiffChar[k]; | |
| 330 | + booleanDiff = true; | |
| 331 | + continue; | |
| 332 | + } | |
| 333 | + } | |
| 334 | + | |
| 335 | + if(booleanDiff) continue; | |
| 336 | + | |
| 337 | + if (c <= Util.HIGHEST_SPECIAL) { | |
| 338 | + char[] escaped = Util.specialCharactersRepresentation[c]; | |
| 339 | + if (escaped != null) { | |
| 340 | + // add unescaped portion | |
| 341 | + //if (start < i) { | |
| 342 | + // sRtn = sRtn + text.substring(start, i - start); | |
| 343 | + //} | |
| 344 | + // add escaped xml | |
| 345 | + //sRtn = sRtn + escaped; | |
| 346 | + //System.out.println(buffer[i]+" :: " + escaped); | |
| 347 | + for (int j = 0; j < escaped.length; j++) { | |
| 348 | + //System.out.println(buffer[i]+" :>: " + escaped[j]); | |
| 349 | + sRtn = sRtn + escaped[j]; | |
| 350 | + } | |
| 351 | + //sRtn = sRtn+ escaped.toString(); | |
| 352 | + //sRtn = sRtn + String.valueOf(buffer[i]); | |
| 353 | + start = i + 1; | |
| 354 | + }else{ | |
| 355 | + sRtn = sRtn + c; | |
| 356 | + } | |
| 357 | + }else{ | |
| 358 | + sRtn = sRtn + c; | |
| 359 | + } | |
| 360 | + } | |
| 361 | + | |
| 362 | + return sRtn; | |
| 363 | + } | |
| 364 | + | |
| 365 | + // for tag attribute | |
| 366 | + public void setValue(Object value) { | |
| 367 | + this.value = value; | |
| 368 | + } | |
| 369 | + | |
| 370 | + // for tag attribute | |
| 371 | + public void setDefault(String def) { | |
| 372 | + this.def = def; | |
| 373 | + } | |
| 374 | + | |
| 375 | + // for tag attribute | |
| 376 | + public void setEscapeXml(boolean escapeXml) { | |
| 377 | + this.escapeXml = escapeXml; | |
| 378 | + } | |
| 379 | + /* | |
| 380 | + public static void main(String[] args) throws IOException | |
| 381 | + { | |
| 382 | + | |
| 383 | + EgovComCrossSiteHndlr egovComCrossSiteHndlr = new EgovComCrossSiteHndlr(); | |
| 384 | + | |
| 385 | + egovComCrossSiteHndlr.value = "TRNSMIT"; | |
| 386 | + | |
| 387 | + String sCrossSiteHndlr = egovComCrossSiteHndlr.getWriteEscapedXml(); | |
| 388 | + //System.out.println("writeEscapedXml " + egovComCrossSiteHndlr.getWriteEscapedXml()); | |
| 389 | + | |
| 390 | + System.out.println("sCrossSiteHndlr|"+ sCrossSiteHndlr + "|"); | |
| 391 | + | |
| 392 | + try{ | |
| 393 | + System.out.println("TRY TEST 1"); | |
| 394 | + throw new Exception(); | |
| 395 | + }catch(Exception e){ | |
| 396 | + System.out.println("TRY TEST 2"); | |
| 397 | + }finally{ | |
| 398 | + System.out.println("TRY TEST 3"); | |
| 399 | + | |
| 400 | + } | |
| 401 | + | |
| 402 | + } | |
| 403 | + */ | |
| 404 | + } | |
| 405 | + | |
| 406 | + |
+++ src/main/java/egovframework/com/cmm/EgovComExcepHndlr.java
... | ... | @@ -0,0 +1,35 @@ |
| 1 | +package egovframework.com.cmm; | |
| 2 | + | |
| 3 | +import egovframework.rte.fdl.cmmn.exception.handler.ExceptionHandler; | |
| 4 | + | |
| 5 | +import org.slf4j.Logger; | |
| 6 | +import org.slf4j.LoggerFactory; | |
| 7 | + | |
| 8 | +/** | |
| 9 | + * @Class Name : EgovComExcepHndlr.java | |
| 10 | + * @Description : 공통서비스의 exception 처리 클래스 | |
| 11 | + * @Modification Information | |
| 12 | + * | |
| 13 | + * 수정일 수정자 수정내용 | |
| 14 | + * ------- ------- ------------------- | |
| 15 | + * 2009. 3. 13. 이삼섭 | |
| 16 | + * | |
| 17 | + * @author 공통 서비스 개발팀 이삼섭 | |
| 18 | + * @since 2009. 3. 13. | |
| 19 | + * @version | |
| 20 | + * @see | |
| 21 | + * | |
| 22 | + */ | |
| 23 | +public class EgovComExcepHndlr implements ExceptionHandler { | |
| 24 | + | |
| 25 | + private static final Logger LOGGER = LoggerFactory.getLogger(EgovComExcepHndlr.class); | |
| 26 | + | |
| 27 | + /** | |
| 28 | + * 발생된 Exception을 처리한다. | |
| 29 | + */ | |
| 30 | + @Override | |
| 31 | + public void occur(Exception ex, String packageName) { | |
| 32 | + LOGGER.debug("[HANDLER][PACKAGE]::: {}", packageName); | |
| 33 | + LOGGER.debug("[HANDLER][Exception]:::", ex); | |
| 34 | + } | |
| 35 | +} |
+++ src/main/java/egovframework/com/cmm/EgovComOthersExcepHndlr.java
... | ... | @@ -0,0 +1,17 @@ |
| 1 | +package egovframework.com.cmm; | |
| 2 | + | |
| 3 | + | |
| 4 | +import egovframework.rte.fdl.cmmn.exception.handler.ExceptionHandler; | |
| 5 | + | |
| 6 | +import org.slf4j.Logger; | |
| 7 | +import org.slf4j.LoggerFactory; | |
| 8 | + | |
| 9 | +public class EgovComOthersExcepHndlr implements ExceptionHandler { | |
| 10 | + | |
| 11 | + private static final Logger LOGGER = LoggerFactory.getLogger(EgovComOthersExcepHndlr.class); | |
| 12 | + | |
| 13 | + public void occur(Exception exception, String packageName) { | |
| 14 | + //log.debug(" EgovServiceExceptionHandler run..............."); | |
| 15 | + LOGGER.error(packageName, exception); | |
| 16 | + } | |
| 17 | +} |
+++ src/main/java/egovframework/com/cmm/EgovComTraceHandler.java
... | ... | @@ -0,0 +1,34 @@ |
| 1 | +package egovframework.com.cmm; | |
| 2 | + | |
| 3 | +import egovframework.rte.fdl.cmmn.trace.handler.TraceHandler; | |
| 4 | + | |
| 5 | +import org.slf4j.Logger; | |
| 6 | +import org.slf4j.LoggerFactory; | |
| 7 | + | |
| 8 | +/** | |
| 9 | + * @Class Name : EgovComTraceHandler.java | |
| 10 | + * @Description : 공통서비스의 trace 처리 클래스 | |
| 11 | + * @Modification Information | |
| 12 | + * | |
| 13 | + * 수정일 수정자 수정내용 | |
| 14 | + * ------- ------- ------------------- | |
| 15 | + * 2011. 09. 30. JJY | |
| 16 | + * | |
| 17 | + * @author JJY | |
| 18 | + * @since 2011. 9. 30. | |
| 19 | + * | |
| 20 | + */ | |
| 21 | +public class EgovComTraceHandler implements TraceHandler { | |
| 22 | + | |
| 23 | + private static final Logger LOGGER = LoggerFactory.getLogger(EgovComTraceHandler.class); | |
| 24 | + | |
| 25 | + /** | |
| 26 | + * 발생된 메시지를 출력한다. | |
| 27 | + */ | |
| 28 | + @Override | |
| 29 | + public void todo(Class<?> clazz, String message) { | |
| 30 | + LOGGER.debug("[TRACE]CLASS::: {}", clazz.getName()); | |
| 31 | + LOGGER.debug("[TRACE]MESSAGE::: {}", message); | |
| 32 | + //이곳에서 후속처리로 필요한 액션을 취할 수 있다. | |
| 33 | + } | |
| 34 | +} |
+++ src/main/java/egovframework/com/cmm/EgovMessageSource.java
... | ... | @@ -0,0 +1,55 @@ |
| 1 | +package egovframework.com.cmm; | |
| 2 | + | |
| 3 | +import java.util.Locale; | |
| 4 | + | |
| 5 | +import org.springframework.context.MessageSource; | |
| 6 | +import org.springframework.context.support.ReloadableResourceBundleMessageSource; | |
| 7 | + | |
| 8 | +/** | |
| 9 | + * 메시지 리소스 사용을 위한 MessageSource 인터페이스 및 ReloadableResourceBundleMessageSource 클래스의 구현체 | |
| 10 | + * @author 공통서비스 개발팀 이문준 | |
| 11 | + * @since 2009.06.01 | |
| 12 | + * @version 1.0 | |
| 13 | + * @see | |
| 14 | + * | |
| 15 | + * <pre> | |
| 16 | + * << 개정이력(Modification Information) >> | |
| 17 | + * | |
| 18 | + * 수정일 수정자 수정내용 | |
| 19 | + * ------- -------- --------------------------- | |
| 20 | + * 2009.03.11 이문준 최초 생성 | |
| 21 | + * | |
| 22 | + * </pre> | |
| 23 | + */ | |
| 24 | + | |
| 25 | +public class EgovMessageSource extends ReloadableResourceBundleMessageSource implements MessageSource { | |
| 26 | + | |
| 27 | + private ReloadableResourceBundleMessageSource reloadableResourceBundleMessageSource; | |
| 28 | + | |
| 29 | + /** | |
| 30 | + * getReloadableResourceBundleMessageSource() | |
| 31 | + * @param reloadableResourceBundleMessageSource - resource MessageSource | |
| 32 | + * @return ReloadableResourceBundleMessageSource | |
| 33 | + */ | |
| 34 | + public void setReloadableResourceBundleMessageSource(ReloadableResourceBundleMessageSource reloadableResourceBundleMessageSource) { | |
| 35 | + this.reloadableResourceBundleMessageSource = reloadableResourceBundleMessageSource; | |
| 36 | + } | |
| 37 | + | |
| 38 | + /** | |
| 39 | + * getReloadableResourceBundleMessageSource() | |
| 40 | + * @return ReloadableResourceBundleMessageSource | |
| 41 | + */ | |
| 42 | + public ReloadableResourceBundleMessageSource getReloadableResourceBundleMessageSource() { | |
| 43 | + return reloadableResourceBundleMessageSource; | |
| 44 | + } | |
| 45 | + | |
| 46 | + /** | |
| 47 | + * 정의된 메세지 조회 | |
| 48 | + * @param code - 메세지 코드 | |
| 49 | + * @return String | |
| 50 | + */ | |
| 51 | + public String getMessage(String code) { | |
| 52 | + return getReloadableResourceBundleMessageSource().getMessage(code, null, Locale.getDefault()); | |
| 53 | + } | |
| 54 | + | |
| 55 | +} |
+++ src/main/java/egovframework/com/cmm/EgovMultiPartEmail.java
... | ... | @@ -0,0 +1,181 @@ |
| 1 | +package egovframework.com.cmm; | |
| 2 | + | |
| 3 | +import java.io.Serializable; | |
| 4 | +import java.net.MalformedURLException; | |
| 5 | + | |
| 6 | +import org.apache.commons.mail.DefaultAuthenticator; | |
| 7 | +import org.apache.commons.mail.Email; | |
| 8 | +import org.apache.commons.mail.EmailAttachment; | |
| 9 | +import org.apache.commons.mail.EmailException; | |
| 10 | +import org.apache.commons.mail.HtmlEmail; | |
| 11 | +import org.apache.commons.mail.MultiPartEmail; | |
| 12 | +import org.apache.commons.mail.SimpleEmail; | |
| 13 | +import org.springframework.mail.MailException; | |
| 14 | + | |
| 15 | +/** | |
| 16 | + * 발송메일에 첨부파일용으로 사용되는 VO 클래스 | |
| 17 | + * @author 공통서비스 개발팀 이기하 | |
| 18 | + * @since 2011.12.06 | |
| 19 | + * @version 1.0 | |
| 20 | + * @see | |
| 21 | + * | |
| 22 | + * <pre> | |
| 23 | + * << 개정이력(Modification Information) >> | |
| 24 | + * | |
| 25 | + * 수정일 수정자 수정내용 | |
| 26 | + * ---------- -------- --------------------------- | |
| 27 | + * 2011.12.06 이기하 최초 생성 | |
| 28 | + * 2013.05.23 이기하 thread-safe 하게 변경 | |
| 29 | + * | |
| 30 | + * </pre> | |
| 31 | + */ | |
| 32 | + | |
| 33 | +public class EgovMultiPartEmail implements Serializable { | |
| 34 | + | |
| 35 | + private static final long serialVersionUID = -4322006921324597283L; | |
| 36 | + private String id; | |
| 37 | + private String password; | |
| 38 | + private int port; | |
| 39 | + private String host; | |
| 40 | + private String emailAddress; | |
| 41 | + private String senderName; | |
| 42 | + | |
| 43 | + public String getId() { | |
| 44 | + return id; | |
| 45 | + } | |
| 46 | + | |
| 47 | + public void setId(String id) { | |
| 48 | + this.id = id; | |
| 49 | + } | |
| 50 | + | |
| 51 | + public String getPassword() { | |
| 52 | + return password; | |
| 53 | + } | |
| 54 | + | |
| 55 | + public void setPassword(String password) { | |
| 56 | + this.password = password; | |
| 57 | + } | |
| 58 | + | |
| 59 | + public int getPort() { | |
| 60 | + return port; | |
| 61 | + } | |
| 62 | + | |
| 63 | + public void setPort(int port) { | |
| 64 | + this.port = port; | |
| 65 | + } | |
| 66 | + | |
| 67 | + public String getHost() { | |
| 68 | + return host; | |
| 69 | + } | |
| 70 | + | |
| 71 | + public void setHost(String host) { | |
| 72 | + this.host = host; | |
| 73 | + } | |
| 74 | + | |
| 75 | + public String getEmailAddress() { | |
| 76 | + return emailAddress; | |
| 77 | + } | |
| 78 | + | |
| 79 | + public void setEmailAddress(String emailAddress) { | |
| 80 | + this.emailAddress = emailAddress; | |
| 81 | + } | |
| 82 | + | |
| 83 | + public String getSenderName() { | |
| 84 | + return senderName; | |
| 85 | + } | |
| 86 | + | |
| 87 | + public void setSenderName(String senderName) { | |
| 88 | + this.senderName = senderName; | |
| 89 | + } | |
| 90 | + | |
| 91 | + @Deprecated | |
| 92 | + public String send() throws EmailException { | |
| 93 | + MultiPartEmail email = new MultiPartEmail(); | |
| 94 | + | |
| 95 | + email.setCharset("UTF-8"); | |
| 96 | + email.setHostName(this.host); | |
| 97 | + email.setSmtpPort(this.port); | |
| 98 | + email.setStartTLSEnabled(true); | |
| 99 | + email.setAuthenticator(new DefaultAuthenticator(this.id, this.password)); | |
| 100 | + email.setSocketConnectionTimeout(60000); | |
| 101 | + email.setSocketTimeout(60000); | |
| 102 | + email.setFrom(this.emailAddress, this.senderName); | |
| 103 | + | |
| 104 | + return email.send(); | |
| 105 | + } | |
| 106 | + | |
| 107 | + // Simple 메일 | |
| 108 | + public String send(String addTo, String subject, String msg) throws Exception { | |
| 109 | + SimpleEmail email = new SimpleEmail(); | |
| 110 | + | |
| 111 | + setEmailInfo(addTo, subject, msg, email); | |
| 112 | + | |
| 113 | + return email.send(); | |
| 114 | + } | |
| 115 | + | |
| 116 | + // HTML 메일 | |
| 117 | + public String send(String addTo, String subject, String textMsg, String htmlMsg) throws MailException, MalformedURLException { | |
| 118 | + String result = ""; | |
| 119 | + try { | |
| 120 | + HtmlEmail email = new HtmlEmail(); | |
| 121 | + | |
| 122 | + // 3번째 파라미터 'html' 의미 없음. 단 문자 없으면 error | |
| 123 | + setEmailInfo(addTo, subject, "html", email); | |
| 124 | + email.setHtmlMsg(htmlMsg); | |
| 125 | + | |
| 126 | + // HTML 이메일을 지원하지 않는 클라이언트라면 다음 메세지를 뿌려웁니다 | |
| 127 | + email.setTextMsg("Your email client does not support HTML messages"); | |
| 128 | +// email.setTextMsg(textMsg); | |
| 129 | + | |
| 130 | + // 이미지 Sample | |
| 131 | + // 삽입할 이미지와 그 Content Id를 설정합니다. URL 이미지 사용 시 메일전송 지연될 수 있음 | |
| 132 | +// URL url = new URL("https://www.google.co.kr/images/branding/googlelogo/2x/googlelogo_color_120x44dp.png"); | |
| 133 | +// String cid = email.embed(url, "Apache logo"); | |
| 134 | +// // HTML 메세지를 설정합니다 | |
| 135 | +// email.setHtmlMsg("<html>The apache logo - <img src=\"cid:"+cid+"\"></html>"); | |
| 136 | + | |
| 137 | + result = email.send(); | |
| 138 | + } catch (EmailException e) { | |
| 139 | + result = "email.send() fail"; | |
| 140 | + e.printStackTrace(); | |
| 141 | + } | |
| 142 | + | |
| 143 | + return result; | |
| 144 | + } | |
| 145 | + | |
| 146 | + // 파일첨부 메일 | |
| 147 | + public String send(String addTo, String subject, String msg, EmailAttachment attachment) throws Exception { | |
| 148 | + MultiPartEmail email = new MultiPartEmail(); | |
| 149 | + | |
| 150 | + setEmailInfo(addTo, subject, msg, email); | |
| 151 | + | |
| 152 | + if (attachment != null) { | |
| 153 | + email.attach(attachment); | |
| 154 | + } | |
| 155 | + | |
| 156 | + return email.send(); | |
| 157 | + } | |
| 158 | + | |
| 159 | + private void setEmailInfo(String addTo, String subject, String msg, Email email) throws EmailException { | |
| 160 | + email.setCharset("UTF-8"); | |
| 161 | + email.setHostName(this.host); | |
| 162 | + email.setSmtpPort(this.port); | |
| 163 | + | |
| 164 | + /* 우체국 */ | |
| 165 | + email.setStartTLSEnabled(false); | |
| 166 | + email.setSSLOnConnect(false); | |
| 167 | + | |
| 168 | + // 테스트 - 네이버 | |
| 169 | + /*email.setAuthenticator(new DefaultAuthenticator(this.id, this.password)); | |
| 170 | + email.setStartTLSEnabled(true); | |
| 171 | + email.setSSLOnConnect(true);*/ | |
| 172 | + | |
| 173 | + | |
| 174 | + email.setSocketConnectionTimeout(60000); | |
| 175 | + email.setSocketTimeout(60000); | |
| 176 | + email.setFrom(this.emailAddress, this.senderName); | |
| 177 | + email.addTo(addTo); | |
| 178 | + email.setSubject(subject); | |
| 179 | + email.setMsg(msg); | |
| 180 | + } | |
| 181 | +} |
+++ src/main/java/egovframework/com/cmm/EgovWebUtil.java
... | ... | @@ -0,0 +1,109 @@ |
| 1 | +package egovframework.com.cmm; | |
| 2 | + | |
| 3 | +import java.util.regex.Pattern; | |
| 4 | + | |
| 5 | +/** | |
| 6 | + * 교차접속 스크립트 공격 취약성 방지(파라미터 문자열 교체) | |
| 7 | + * | |
| 8 | + * <pre> | |
| 9 | + * << 개정이력(Modification Information) >> | |
| 10 | + * | |
| 11 | + * 수정일 수정자 수정내용 | |
| 12 | + * ------- -------- --------------------------- | |
| 13 | + * 2011.10.10 한성곤 최초 생성 | |
| 14 | + * | |
| 15 | + * </pre> | |
| 16 | + */ | |
| 17 | + | |
| 18 | +public class EgovWebUtil { | |
| 19 | + public static String clearXSSMinimum(String value) { | |
| 20 | + if (value == null || value.trim().equals("")) { | |
| 21 | + return ""; | |
| 22 | + } | |
| 23 | + | |
| 24 | + String returnValue = value; | |
| 25 | + | |
| 26 | + returnValue = returnValue.replaceAll("&", "&"); | |
| 27 | + returnValue = returnValue.replaceAll("<", "<"); | |
| 28 | + returnValue = returnValue.replaceAll(">", ">"); | |
| 29 | + returnValue = returnValue.replaceAll("\"", """); | |
| 30 | + returnValue = returnValue.replaceAll("\'", "'"); | |
| 31 | + returnValue = returnValue.replaceAll("[.]", "."); | |
| 32 | + returnValue = returnValue.replaceAll("%2E", "."); | |
| 33 | + returnValue = returnValue.replaceAll("%2F", "/"); | |
| 34 | + return returnValue; | |
| 35 | + } | |
| 36 | + | |
| 37 | + public static String clearXSSMaximum(String value) { | |
| 38 | + String returnValue = value; | |
| 39 | + returnValue = clearXSSMinimum(returnValue); | |
| 40 | + | |
| 41 | + returnValue = returnValue.replaceAll("%00", null); | |
| 42 | + | |
| 43 | + returnValue = returnValue.replaceAll("%", "%"); | |
| 44 | + | |
| 45 | + // \\. => . | |
| 46 | + | |
| 47 | + returnValue = returnValue.replaceAll("\\.\\./", ""); // ../ | |
| 48 | + returnValue = returnValue.replaceAll("\\.\\.\\\\", ""); // ..\ | |
| 49 | + returnValue = returnValue.replaceAll("\\./", ""); // ./ | |
| 50 | + returnValue = returnValue.replaceAll("%2F", ""); | |
| 51 | + | |
| 52 | + return returnValue; | |
| 53 | + } | |
| 54 | + | |
| 55 | + public static String filePathBlackList(String value) { | |
| 56 | + String returnValue = value; | |
| 57 | + if (returnValue == null || returnValue.trim().equals("")) { | |
| 58 | + return ""; | |
| 59 | + } | |
| 60 | + | |
| 61 | + returnValue = returnValue.replaceAll("\\.\\./", ""); // ../ | |
| 62 | + returnValue = returnValue.replaceAll("\\.\\.\\\\", ""); // ..\ | |
| 63 | + | |
| 64 | + return returnValue; | |
| 65 | + } | |
| 66 | + | |
| 67 | + /** | |
| 68 | + * 행안부 보안취약점 점검 조치 방안. | |
| 69 | + * | |
| 70 | + * @param value | |
| 71 | + * @return | |
| 72 | + */ | |
| 73 | + public static String filePathReplaceAll(String value) { | |
| 74 | + String returnValue = value; | |
| 75 | + if (returnValue == null || returnValue.trim().equals("")) { | |
| 76 | + return ""; | |
| 77 | + } | |
| 78 | + | |
| 79 | + returnValue = returnValue.replaceAll("/", ""); | |
| 80 | + returnValue = returnValue.replaceAll("\\", ""); | |
| 81 | + returnValue = returnValue.replaceAll("\\.\\.", ""); // .. | |
| 82 | + returnValue = returnValue.replaceAll("&", ""); | |
| 83 | + | |
| 84 | + return returnValue; | |
| 85 | + } | |
| 86 | + | |
| 87 | + public static String filePathWhiteList(String value) { | |
| 88 | + return value; | |
| 89 | + } | |
| 90 | + | |
| 91 | + public static boolean isIPAddress(String str) { | |
| 92 | + Pattern ipPattern = Pattern.compile("\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}"); | |
| 93 | + | |
| 94 | + return ipPattern.matcher(str).matches(); | |
| 95 | + } | |
| 96 | + | |
| 97 | + public static String removeCRLF(String parameter) { | |
| 98 | + return parameter.replaceAll("\r", "").replaceAll("\n", ""); | |
| 99 | + } | |
| 100 | + | |
| 101 | + public static String removeSQLInjectionRisk(String parameter) { | |
| 102 | + return parameter.replaceAll("\\p{Space}", "").replaceAll("\\*", "").replaceAll("%", "").replaceAll(";", "").replaceAll("-", "").replaceAll("\\+", "").replaceAll(",", ""); | |
| 103 | + } | |
| 104 | + | |
| 105 | + public static String removeOSCmdRisk(String parameter) { | |
| 106 | + return parameter.replaceAll("\\p{Space}", "").replaceAll("\\*", "").replaceAll("|", "").replaceAll(";", ""); | |
| 107 | + } | |
| 108 | + | |
| 109 | +}(No newline at end of file) |
+++ src/main/java/egovframework/com/cmm/FacebookAPI.java
... | ... | @@ -0,0 +1,184 @@ |
| 1 | +/* | |
| 2 | + * Copyright 2008-2009 the original author or authors. | |
| 3 | + * | |
| 4 | + * Licensed under the Apache License, Version 2.0 (the "License"); | |
| 5 | + * you may not use this file except in compliance with the License. | |
| 6 | + * You may obtain a copy of the License at | |
| 7 | + * | |
| 8 | + * http://www.apache.org/licenses/LICENSE-2.0 | |
| 9 | + * | |
| 10 | + * Unless required by applicable law or agreed to in writing, software | |
| 11 | + * distributed under the License is distributed on an "AS IS" BASIS, | |
| 12 | + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
| 13 | + * See the License for the specific language governing permissions and | |
| 14 | + * limitations under the License. | |
| 15 | + */ | |
| 16 | +package egovframework.com.cmm; | |
| 17 | + | |
| 18 | +import java.io.IOException; | |
| 19 | +import java.io.InputStream; | |
| 20 | +import java.net.HttpURLConnection; | |
| 21 | +import java.net.MalformedURLException; | |
| 22 | +import java.net.URL; | |
| 23 | +import java.util.Scanner; | |
| 24 | +import org.json.simple.JSONObject; | |
| 25 | +import org.json.simple.JSONValue; | |
| 26 | + | |
| 27 | +/** | |
| 28 | + * @Class Name : FacebookAPI.java | |
| 29 | + * @Description : 페이스북 API Class | |
| 30 | + * @Modification Information | |
| 31 | + * @ | |
| 32 | + * @ 수정일 수정자 수정내용 | |
| 33 | + * @ --------- --------- ------------------------------- | |
| 34 | + * @ 2015.04.06 최초생성 | |
| 35 | + * | |
| 36 | + * @author (주)드림웨어 | |
| 37 | + * @version 1.0 | |
| 38 | + * @see | |
| 39 | + * | |
| 40 | + * | |
| 41 | + */ | |
| 42 | + | |
| 43 | +public class FacebookAPI{ | |
| 44 | + | |
| 45 | + private static FacebookAPI facebookAPI = null; | |
| 46 | + | |
| 47 | + private static String CLIENT_ID = "846197678724759"; | |
| 48 | + | |
| 49 | + private static String CLIENT_SECRET="75180f5cd6b38cd21ba7f756566e30e5"; | |
| 50 | + | |
| 51 | + //private static String REDIRECT_URI="http://YOUR_REDIRECT_URI"; | |
| 52 | + | |
| 53 | + private String getAccessToken() | |
| 54 | + { | |
| 55 | + URL url; | |
| 56 | + InputStream is = null; | |
| 57 | + try { | |
| 58 | + url = new URL("https://graph.facebook.com/oauth/access_token" | |
| 59 | + +"?client_id="+CLIENT_ID | |
| 60 | + +"&client_secret=" +CLIENT_SECRET | |
| 61 | + +"&grant_type=client_credentials"); | |
| 62 | + HttpURLConnection request = (HttpURLConnection) url.openConnection(); | |
| 63 | + is = request.getInputStream(); | |
| 64 | + } catch (MalformedURLException e) { | |
| 65 | + | |
| 66 | + // TODO Auto-generated catch block | |
| 67 | + | |
| 68 | + System.out.println("페이스북에러"); | |
| 69 | + | |
| 70 | + } catch (IOException e) { | |
| 71 | + | |
| 72 | + // TODO Auto-generated catch block | |
| 73 | + | |
| 74 | + System.out.println("페이스북에러"); | |
| 75 | + | |
| 76 | + } | |
| 77 | + | |
| 78 | + int result; | |
| 79 | + | |
| 80 | + StringBuffer buffer = new StringBuffer(); | |
| 81 | + Scanner scan = new Scanner(is, "UTF-8"); | |
| 82 | + while(scan.hasNextLine()) | |
| 83 | + { | |
| 84 | + buffer.append(scan.nextLine()); | |
| 85 | + | |
| 86 | + } | |
| 87 | + | |
| 88 | + //String access_token = buffer.substring(13); | |
| 89 | + JSONObject jsonObj = (JSONObject) JSONValue.parse(buffer.toString()); | |
| 90 | + String strAccess_token = jsonObj.get("access_token").toString() ; | |
| 91 | + | |
| 92 | + //System.out.println("access_token : "+access_token); | |
| 93 | + //return access_token; | |
| 94 | + return strAccess_token ; | |
| 95 | + | |
| 96 | + | |
| 97 | + } | |
| 98 | + | |
| 99 | + public String getPosts() | |
| 100 | + { | |
| 101 | + | |
| 102 | + URL url; | |
| 103 | + InputStream is = null; | |
| 104 | + String access_token = getAccessToken(); | |
| 105 | + try { | |
| 106 | + | |
| 107 | + /*url = new URL("https://graph.facebook.com/v2.3/457530414275899/posts" | |
| 108 | + +"?access_token="+access_token | |
| 109 | + +"&locale=ko_KR" | |
| 110 | + +"&limit=10");*/ | |
| 111 | + | |
| 112 | + access_token = "EAAMBnMAM1pcBAPZBlJUe2lP0CkXAbNoAyZBbZAjhZCZBVKI04p6ZA3Bu6z538bvh81IHM2HvZAP77DksglvH3SwJ8Sb0Rw3KTggGI21KYVaiNzshnRY8UOKUX8HpfnhEy1Gyu6ZB1YuDxvQq22KTiZAVpbXycH6x29tnJ6JIGQ6a7gKZAZBbBuvzwHd" ; | |
| 113 | + String fields = "type,picture,from,caption,message,description,story,name,link,permalink_url" ; | |
| 114 | + url = new URL("https://graph.facebook.com/v2.6/457530414275899/feed" | |
| 115 | + +"?access_token="+access_token | |
| 116 | + +"&fields="+fields + "&limit=10" ); | |
| 117 | + | |
| 118 | + HttpURLConnection request = (HttpURLConnection) url.openConnection(); | |
| 119 | + is = request.getInputStream(); | |
| 120 | + | |
| 121 | + } catch (IOException e) { | |
| 122 | + // TODO Auto-generated catch block | |
| 123 | + System.out.println("페이스북에러"); | |
| 124 | + } | |
| 125 | + | |
| 126 | + StringBuffer buffer = new StringBuffer(); | |
| 127 | + Scanner scan = new Scanner(is, "UTF-8"); | |
| 128 | + | |
| 129 | + while(scan.hasNextLine()) | |
| 130 | + { | |
| 131 | + buffer.append(scan.nextLine()); | |
| 132 | + } | |
| 133 | + return buffer.toString(); | |
| 134 | + } | |
| 135 | + | |
| 136 | + public String getPhoto() | |
| 137 | + { | |
| 138 | + | |
| 139 | + URL url; | |
| 140 | + InputStream is = null; | |
| 141 | + try { | |
| 142 | + | |
| 143 | + url = new URL("https://graph.facebook.com/v2.3/457530414275899/picture?redirect=false"); | |
| 144 | + HttpURLConnection request = (HttpURLConnection) url.openConnection(); | |
| 145 | + is = request.getInputStream(); | |
| 146 | + | |
| 147 | + } catch (IOException e) { | |
| 148 | + // TODO Auto-generated catch block | |
| 149 | + System.out.println("페이스북에러"); | |
| 150 | + } | |
| 151 | + | |
| 152 | + StringBuffer buffer = new StringBuffer(); | |
| 153 | + Scanner scan = new Scanner(is, "UTF-8"); | |
| 154 | + while(scan.hasNextLine()) | |
| 155 | + { | |
| 156 | + buffer.append(scan.nextLine()); | |
| 157 | + } | |
| 158 | + return buffer.toString(); | |
| 159 | + } | |
| 160 | + | |
| 161 | + | |
| 162 | + | |
| 163 | + | |
| 164 | + public static FacebookAPI getInstance() | |
| 165 | + | |
| 166 | + { | |
| 167 | + | |
| 168 | + if(facebookAPI==null) | |
| 169 | + | |
| 170 | + { | |
| 171 | + | |
| 172 | + facebookAPI = new FacebookAPI(); | |
| 173 | + | |
| 174 | + } | |
| 175 | + | |
| 176 | + return facebookAPI; | |
| 177 | + | |
| 178 | + } | |
| 179 | + | |
| 180 | + | |
| 181 | + | |
| 182 | + private FacebookAPI() {} | |
| 183 | + | |
| 184 | +} |
+++ src/main/java/egovframework/com/cmm/ImagePaginationRenderer.java
... | ... | @@ -0,0 +1,55 @@ |
| 1 | +package egovframework.com.cmm; | |
| 2 | + | |
| 3 | +import javax.servlet.ServletContext; | |
| 4 | + | |
| 5 | +import org.springframework.web.context.ServletContextAware; | |
| 6 | + | |
| 7 | +import egovframework.rte.ptl.mvc.tags.ui.pagination.AbstractPaginationRenderer; | |
| 8 | +/** | |
| 9 | + * ImagePaginationRenderer.java 클래스 | |
| 10 | + * | |
| 11 | + * @author 서준식 | |
| 12 | + * @since 2011. 9. 16. | |
| 13 | + * @version 1.0 | |
| 14 | + * @see | |
| 15 | + * | |
| 16 | + * <pre> | |
| 17 | + * << 개정이력(Modification Information) >> | |
| 18 | + * | |
| 19 | + * 수정일 수정자 수정내용 | |
| 20 | + * ------- ------------- ---------------------- | |
| 21 | + * 2011. 9. 16. 서준식 이미지 경로에 ContextPath추가 | |
| 22 | + * </pre> | |
| 23 | + */ | |
| 24 | +public class ImagePaginationRenderer extends AbstractPaginationRenderer implements ServletContextAware{ | |
| 25 | + | |
| 26 | + private ServletContext servletContext; | |
| 27 | + | |
| 28 | + public ImagePaginationRenderer() { | |
| 29 | + // no-op | |
| 30 | + } | |
| 31 | + | |
| 32 | + public void initVariables(){ | |
| 33 | + /*firstPageLabel = "<li><button onclick=\"{0}({1});return false;\"><img src=\"/img/post/board_btn1.jpg\"></button></li>"; | |
| 34 | + previousPageLabel = "<li><button onclick=\"{0}({1});return false;\"><img src=\"/img/post/board_btn2.jpg\"></button></li>"; | |
| 35 | + currentPageLabel = "<li><button id=\"page_btn\" disabled ><strong>{0}</strong></button></li>"; | |
| 36 | + otherPageLabel = "<li><button id=\"page_btn\" onclick=\"{0}({1});return false;\">{2}</button>"; | |
| 37 | + nextPageLabel = "<li><button onclick=\"{0}({1});return false;\"><img src=\"/img/post/board_btn3.jpg\"></button></li>"; | |
| 38 | + lastPageLabel = "<li><button onclick=\"{0}({1});return false;\"><img src=\"/img/post/board_btn4.jpg\"></button></li>";*/ | |
| 39 | + | |
| 40 | + firstPageLabel = "<li><input type=\"button\" onclick=\"{0}({1});return false;\" class=\"page_first\"></li>"; | |
| 41 | + previousPageLabel = "<li><input type=\"button\" onclick=\"{0}({1});return false;\" class=\"page_before\"></li>"; | |
| 42 | + currentPageLabel = "<li style=\"font-weight:bold;color:#0388d2;\"><strong>{0}</strong></li>"; | |
| 43 | + otherPageLabel = "<li onclick=\"{0}({1});return false;\" style=\"cursor:pointer;\" >{2}"; | |
| 44 | + nextPageLabel = "<li><input type=\"button\" onclick=\"{0}({1});return false;\" class=\"page_next\" ></li>"; | |
| 45 | + lastPageLabel = "<li><input type=\"button\" onclick=\"{0}({1});return false;\" class=\"page_last\" ></li>"; | |
| 46 | + | |
| 47 | + } | |
| 48 | + | |
| 49 | + @Override | |
| 50 | + public void setServletContext(ServletContext servletContext) { | |
| 51 | + this.servletContext = servletContext; | |
| 52 | + initVariables(); | |
| 53 | + } | |
| 54 | + | |
| 55 | +} |
+++ src/main/java/egovframework/com/cmm/ImagePaginationRendererListTop.java
... | ... | @@ -0,0 +1,49 @@ |
| 1 | +package egovframework.com.cmm; | |
| 2 | + | |
| 3 | +import egovframework.rte.ptl.mvc.tags.ui.pagination.AbstractPaginationRenderer; | |
| 4 | + | |
| 5 | +import javax.servlet.ServletContext; | |
| 6 | + | |
| 7 | +import org.springframework.web.context.ServletContextAware; | |
| 8 | +/** | |
| 9 | + * ImagePaginationRenderer.java 클래스 | |
| 10 | + * | |
| 11 | + * @author 서준식 | |
| 12 | + * @since 2011. 9. 16. | |
| 13 | + * @version 1.0 | |
| 14 | + * @see | |
| 15 | + * | |
| 16 | + * <pre> | |
| 17 | + * << 개정이력(Modification Information) >> | |
| 18 | + * | |
| 19 | + * 수정일 수정자 수정내용 | |
| 20 | + * ------- ------------- ---------------------- | |
| 21 | + * 2011. 9. 16. 서준식 이미지 경로에 ContextPath추가 | |
| 22 | + * </pre> | |
| 23 | + */ | |
| 24 | +public class ImagePaginationRendererListTop extends AbstractPaginationRenderer implements ServletContextAware{ | |
| 25 | + | |
| 26 | + private ServletContext servletContext; | |
| 27 | + | |
| 28 | + public ImagePaginationRendererListTop() { | |
| 29 | + // no-op | |
| 30 | + } | |
| 31 | + | |
| 32 | + public void initVariables(){ | |
| 33 | + firstPageLabel = "<li class=\"asset_page_first\"><a href=\"javascript:{0}({1});\"><img src=\"/direct/img/asset/page_first_btn.png\" alt=\"\"></a></li>"; | |
| 34 | + previousPageLabel = "<li class=\"asset_page_before\"><a href=\"javascript:{0}({1});\"><img src=\"/direct/img/asset/asset_page_before_btn.png\" alt=\"\"></a></li>"; | |
| 35 | + | |
| 36 | + currentPageLabel = "<li class=\"asset_page_on\">{0}</li>"; | |
| 37 | + otherPageLabel = "<li><a href=\"javascript:{0}({1});\">{2}</a></li>"; | |
| 38 | + | |
| 39 | + nextPageLabel = "<li class=\"asset_page_next\"><a href=\"javascript:{0}({1});\"><img src=\"/direct/img/asset/asset_page_next_btn.png\" alt=\"\"></a></li>"; | |
| 40 | + lastPageLabel = "<li class=\"asset_page_last\"><a href=\"javascript:{0}({1});\"><img src=\"/direct/img/asset/page_last_btn.png\" alt=\"\"></a></li>"; | |
| 41 | + } | |
| 42 | + | |
| 43 | + @Override | |
| 44 | + public void setServletContext(ServletContext servletContext) { | |
| 45 | + this.servletContext = servletContext; | |
| 46 | + initVariables(); | |
| 47 | + } | |
| 48 | + | |
| 49 | +} |
+++ src/main/java/egovframework/com/cmm/ImagePaginationRendererWeb.java
... | ... | @@ -0,0 +1,68 @@ |
| 1 | +package egovframework.com.cmm; | |
| 2 | + | |
| 3 | +import egovframework.rte.ptl.mvc.tags.ui.pagination.AbstractPaginationRenderer; | |
| 4 | + | |
| 5 | +import javax.servlet.ServletContext; | |
| 6 | + | |
| 7 | +import org.springframework.web.context.ServletContextAware; | |
| 8 | +/** | |
| 9 | + * ImagePaginationRenderer.java 클래스 | |
| 10 | + * | |
| 11 | + * @author 서준식 | |
| 12 | + * @since 2011. 9. 16. | |
| 13 | + * @version 1.0 | |
| 14 | + * @see | |
| 15 | + * | |
| 16 | + * <pre> | |
| 17 | + * << 개정이력(Modification Information) >> | |
| 18 | + * | |
| 19 | + * 수정일 수정자 수정내용 | |
| 20 | + * ------- ------------- ---------------------- | |
| 21 | + * 2011. 9. 16. 서준식 이미지 경로에 ContextPath추가 | |
| 22 | + * </pre> | |
| 23 | + */ | |
| 24 | +public class ImagePaginationRendererWeb extends AbstractPaginationRenderer implements ServletContextAware{ | |
| 25 | + | |
| 26 | + private ServletContext servletContext; | |
| 27 | + | |
| 28 | + public ImagePaginationRendererWeb() { | |
| 29 | + // no-op | |
| 30 | + } | |
| 31 | + | |
| 32 | + public void initVariables(){ | |
| 33 | + /*firstPageLabel = "<li> </li><li><a href=\"?pageIndex={1}\" onclick=\"{0}({1});return false; \"><img src=\"" + servletContext.getContextPath() + "/images/egovframework/com/cmm/mod/icon/icon_prevend.gif\" alt=\"처음\" border=\"0\"/></a></li>"; | |
| 34 | + previousPageLabel = "<li><a href=\"?pageIndex={1}\" onclick=\"{0}({1});return false; \"><img src=\"" + servletContext.getContextPath() + "/images/egovframework/com/cmm/mod/icon/icon_prev.gif\" alt=\"이전\" border=\"0\"/></a></li>"; | |
| 35 | + currentPageLabel = "<li><strong>{0}</strong></li>"; | |
| 36 | + otherPageLabel = "<li><a href=\"?pageIndex={1}\" onclick=\"{0}({1});return false; \">{2}</a></li>"; | |
| 37 | + nextPageLabel = "<li> <a href=\"?pageIndex={1}\" onclick=\"{0}({1});return false; \"><img src=\"" + servletContext.getContextPath() + "/images/egovframework/com/cmm/mod/icon/icon_next.gif\" alt=\"다음\" border=\"0\"/></a></li>"; | |
| 38 | + lastPageLabel = "<li><a href=\"?pageIndex={1}\" onclick=\"{0}({1});return false; \"><img src=\"" + servletContext.getContextPath() + "/images/egovframework/com/cmm/mod/icon/icon_nextend.gif\" alt=\"마지막\" border=\"0\"/></a></li>";*/ | |
| 39 | + | |
| 40 | + //firstPageLabel = "<a href=\"?pageIndex={1}\" onclick=\"{0}({1});return false; \"><button><img src=\"/img/post/board_btn1.jpg\"></button></a>"; | |
| 41 | + | |
| 42 | + /*firstPageLabel = "<span onclick=\"{0}({1});return false;\"><<</span> "; | |
| 43 | + previousPageLabel = "<span onclick=\"{0}({1});return false;\"><</span> "; | |
| 44 | + | |
| 45 | + currentPageLabel = "<span class=\"pg_current\">{0}</span> "; | |
| 46 | + otherPageLabel = "<span onclick=\"{0}({1});return false;\">{2}</span> "; | |
| 47 | + | |
| 48 | + nextPageLabel = "<span onclick=\"{0}({1});return false;\">></span> "; | |
| 49 | + lastPageLabel = "<span onclick=\"{0}({1});return false;\">>></span>";*/ | |
| 50 | + | |
| 51 | + firstPageLabel = "<a href='#Redirect' onclick=\"{0}({1});\"><span><<</span></a>"; | |
| 52 | + previousPageLabel = "<a href='#Redirect' onclick=\"{0}({1});\"><span><</span></a> "; | |
| 53 | + | |
| 54 | + currentPageLabel = "<span title={0}'Page' class=\"pg_current\">{0}</span> "; | |
| 55 | + otherPageLabel = "<a href='#Redirect' onclick=\"{0}({1});\"><span>{2}</span></a> "; | |
| 56 | + | |
| 57 | + nextPageLabel = "<a href='#Redirect' onclick=\"{0}({1});\"><span>></span></a> "; | |
| 58 | + lastPageLabel = "<a href='#Redirect' onclick=\"{0}({1});\"><span>>></span></a>"; | |
| 59 | + | |
| 60 | + } | |
| 61 | + | |
| 62 | + @Override | |
| 63 | + public void setServletContext(ServletContext servletContext) { | |
| 64 | + this.servletContext = servletContext; | |
| 65 | + initVariables(); | |
| 66 | + } | |
| 67 | + | |
| 68 | +} |
+++ src/main/java/egovframework/com/cmm/LoginVO.java
... | ... | @@ -0,0 +1,295 @@ |
| 1 | +package egovframework.com.cmm; | |
| 2 | + | |
| 3 | +import java.io.Serializable; | |
| 4 | + | |
| 5 | +/** | |
| 6 | + * @Class Name : LoginVO.java | |
| 7 | + * @Description : Login VO class | |
| 8 | + * @Modification Information | |
| 9 | + * @ | |
| 10 | + * @ 수정일 수정자 수정내용 | |
| 11 | + * @ ------- -------- --------------------------- | |
| 12 | + * @ 2009.03.03 박지욱 최초 생성 | |
| 13 | + * | |
| 14 | + * @author 공통서비스 개발팀 박지욱 | |
| 15 | + * @since 2009.03.03 | |
| 16 | + * @version 1.0 | |
| 17 | + * @see | |
| 18 | + * | |
| 19 | + */ | |
| 20 | +public class LoginVO implements Serializable{ | |
| 21 | + | |
| 22 | + /** | |
| 23 | + * | |
| 24 | + */ | |
| 25 | + private static final long serialVersionUID = -8274004534207618049L; | |
| 26 | + | |
| 27 | + /** 아이디 */ | |
| 28 | + private String id; | |
| 29 | + /** 이름 */ | |
| 30 | + private String name; | |
| 31 | + /** 주민등록번호 */ | |
| 32 | + private String ihidNum; | |
| 33 | + /** 이메일주소 */ | |
| 34 | + private String email; | |
| 35 | + /** 비밀번호 */ | |
| 36 | + private String password; | |
| 37 | + /** 비밀번호 힌트 */ | |
| 38 | + private String passwordHint; | |
| 39 | + /** 비밀번호 정답 */ | |
| 40 | + private String passwordCnsr; | |
| 41 | + /** 사용자구분 */ | |
| 42 | + private String userSe; | |
| 43 | + /** 조직(부서)ID */ | |
| 44 | + private String orgnztId; | |
| 45 | + /** 조직(부서)명 */ | |
| 46 | + private String orgnztNm; | |
| 47 | + /** 고유아이디 */ | |
| 48 | + private String uniqId; | |
| 49 | + /** 로그인 후 이동할 페이지 */ | |
| 50 | + private String url; | |
| 51 | + /** 사용자 IP정보 */ | |
| 52 | + private String ip; | |
| 53 | + /** GPKI인증 DN */ | |
| 54 | + private String dn; | |
| 55 | + | |
| 56 | + private String orgnztJob; | |
| 57 | + | |
| 58 | + private String tel; | |
| 59 | + private String orgnztNo; | |
| 60 | + private String orgnztPosi ; | |
| 61 | + private String emplNo ; | |
| 62 | + private String userWork ; | |
| 63 | + | |
| 64 | + /** | |
| 65 | + * id attribute 를 리턴한다. | |
| 66 | + * @return String | |
| 67 | + */ | |
| 68 | + public String getId() { | |
| 69 | + return id; | |
| 70 | + } | |
| 71 | + /** | |
| 72 | + * id attribute 값을 설정한다. | |
| 73 | + * @param id String | |
| 74 | + */ | |
| 75 | + public void setId(String id) { | |
| 76 | + this.id = id; | |
| 77 | + } | |
| 78 | + /** | |
| 79 | + * name attribute 를 리턴한다. | |
| 80 | + * @return String | |
| 81 | + */ | |
| 82 | + public String getName() { | |
| 83 | + return name; | |
| 84 | + } | |
| 85 | + /** | |
| 86 | + * name attribute 값을 설정한다. | |
| 87 | + * @param name String | |
| 88 | + */ | |
| 89 | + public void setName(String name) { | |
| 90 | + this.name = name; | |
| 91 | + } | |
| 92 | + /** | |
| 93 | + * ihidNum attribute 를 리턴한다. | |
| 94 | + * @return String | |
| 95 | + */ | |
| 96 | + public String getIhidNum() { | |
| 97 | + return ihidNum; | |
| 98 | + } | |
| 99 | + /** | |
| 100 | + * ihidNum attribute 값을 설정한다. | |
| 101 | + * @param ihidNum String | |
| 102 | + */ | |
| 103 | + public void setIhidNum(String ihidNum) { | |
| 104 | + this.ihidNum = ihidNum; | |
| 105 | + } | |
| 106 | + /** | |
| 107 | + * email attribute 를 리턴한다. | |
| 108 | + * @return String | |
| 109 | + */ | |
| 110 | + public String getEmail() { | |
| 111 | + return email; | |
| 112 | + } | |
| 113 | + /** | |
| 114 | + * email attribute 값을 설정한다. | |
| 115 | + * @param email String | |
| 116 | + */ | |
| 117 | + public void setEmail(String email) { | |
| 118 | + this.email = email; | |
| 119 | + } | |
| 120 | + /** | |
| 121 | + * password attribute 를 리턴한다. | |
| 122 | + * @return String | |
| 123 | + */ | |
| 124 | + public String getPassword() { | |
| 125 | + return password; | |
| 126 | + } | |
| 127 | + /** | |
| 128 | + * password attribute 값을 설정한다. | |
| 129 | + * @param password String | |
| 130 | + */ | |
| 131 | + public void setPassword(String password) { | |
| 132 | + this.password = password; | |
| 133 | + } | |
| 134 | + /** | |
| 135 | + * passwordHint attribute 를 리턴한다. | |
| 136 | + * @return String | |
| 137 | + */ | |
| 138 | + public String getPasswordHint() { | |
| 139 | + return passwordHint; | |
| 140 | + } | |
| 141 | + /** | |
| 142 | + * passwordHint attribute 값을 설정한다. | |
| 143 | + * @param passwordHint String | |
| 144 | + */ | |
| 145 | + public void setPasswordHint(String passwordHint) { | |
| 146 | + this.passwordHint = passwordHint; | |
| 147 | + } | |
| 148 | + /** | |
| 149 | + * passwordCnsr attribute 를 리턴한다. | |
| 150 | + * @return String | |
| 151 | + */ | |
| 152 | + public String getPasswordCnsr() { | |
| 153 | + return passwordCnsr; | |
| 154 | + } | |
| 155 | + /** | |
| 156 | + * passwordCnsr attribute 값을 설정한다. | |
| 157 | + * @param passwordCnsr String | |
| 158 | + */ | |
| 159 | + public void setPasswordCnsr(String passwordCnsr) { | |
| 160 | + this.passwordCnsr = passwordCnsr; | |
| 161 | + } | |
| 162 | + /** | |
| 163 | + * userSe attribute 를 리턴한다. | |
| 164 | + * @return String | |
| 165 | + */ | |
| 166 | + public String getUserSe() { | |
| 167 | + return userSe; | |
| 168 | + } | |
| 169 | + /** | |
| 170 | + * userSe attribute 값을 설정한다. | |
| 171 | + * @param userSe String | |
| 172 | + */ | |
| 173 | + public void setUserSe(String userSe) { | |
| 174 | + this.userSe = userSe; | |
| 175 | + } | |
| 176 | + /** | |
| 177 | + * orgnztId attribute 를 리턴한다. | |
| 178 | + * @return String | |
| 179 | + */ | |
| 180 | + public String getOrgnztId() { | |
| 181 | + return orgnztId; | |
| 182 | + } | |
| 183 | + /** | |
| 184 | + * orgnztId attribute 값을 설정한다. | |
| 185 | + * @param orgnztId String | |
| 186 | + */ | |
| 187 | + public void setOrgnztId(String orgnztId) { | |
| 188 | + this.orgnztId = orgnztId; | |
| 189 | + } | |
| 190 | + /** | |
| 191 | + * uniqId attribute 를 리턴한다. | |
| 192 | + * @return String | |
| 193 | + */ | |
| 194 | + public String getUniqId() { | |
| 195 | + return uniqId; | |
| 196 | + } | |
| 197 | + /** | |
| 198 | + * uniqId attribute 값을 설정한다. | |
| 199 | + * @param uniqId String | |
| 200 | + */ | |
| 201 | + public void setUniqId(String uniqId) { | |
| 202 | + this.uniqId = uniqId; | |
| 203 | + } | |
| 204 | + /** | |
| 205 | + * url attribute 를 리턴한다. | |
| 206 | + * @return String | |
| 207 | + */ | |
| 208 | + public String getUrl() { | |
| 209 | + return url; | |
| 210 | + } | |
| 211 | + /** | |
| 212 | + * url attribute 값을 설정한다. | |
| 213 | + * @param url String | |
| 214 | + */ | |
| 215 | + public void setUrl(String url) { | |
| 216 | + this.url = url; | |
| 217 | + } | |
| 218 | + /** | |
| 219 | + * ip attribute 를 리턴한다. | |
| 220 | + * @return String | |
| 221 | + */ | |
| 222 | + public String getIp() { | |
| 223 | + return ip; | |
| 224 | + } | |
| 225 | + /** | |
| 226 | + * ip attribute 값을 설정한다. | |
| 227 | + * @param ip String | |
| 228 | + */ | |
| 229 | + public void setIp(String ip) { | |
| 230 | + this.ip = ip; | |
| 231 | + } | |
| 232 | + /** | |
| 233 | + * dn attribute 를 리턴한다. | |
| 234 | + * @return String | |
| 235 | + */ | |
| 236 | + public String getDn() { | |
| 237 | + return dn; | |
| 238 | + } | |
| 239 | + /** | |
| 240 | + * dn attribute 값을 설정한다. | |
| 241 | + * @param dn String | |
| 242 | + */ | |
| 243 | + public void setDn(String dn) { | |
| 244 | + this.dn = dn; | |
| 245 | + } | |
| 246 | + /** | |
| 247 | + * @return the orgnztNm | |
| 248 | + */ | |
| 249 | + public String getOrgnztNm() { | |
| 250 | + return orgnztNm; | |
| 251 | + } | |
| 252 | + /** | |
| 253 | + * @param orgnztNm the orgnztNm to set | |
| 254 | + */ | |
| 255 | + public void setOrgnztNm(String orgnztNm) { | |
| 256 | + this.orgnztNm = orgnztNm; | |
| 257 | + } | |
| 258 | + public String getOrgnztJob() { | |
| 259 | + return orgnztJob; | |
| 260 | + } | |
| 261 | + public void setOrgnztJob(String orgnztJob) { | |
| 262 | + this.orgnztJob = orgnztJob; | |
| 263 | + } | |
| 264 | + public String getTel() { | |
| 265 | + return tel; | |
| 266 | + } | |
| 267 | + public void setTel(String tel) { | |
| 268 | + this.tel = tel; | |
| 269 | + } | |
| 270 | + public String getOrgnztNo() { | |
| 271 | + return orgnztNo; | |
| 272 | + } | |
| 273 | + public void setOrgnztNo(String orgnztNo) { | |
| 274 | + this.orgnztNo = orgnztNo; | |
| 275 | + } | |
| 276 | + public String getOrgnztPosi() { | |
| 277 | + return orgnztPosi; | |
| 278 | + } | |
| 279 | + public void setOrgnztPosi(String orgnztPosi) { | |
| 280 | + this.orgnztPosi = orgnztPosi; | |
| 281 | + } | |
| 282 | + public String getEmplNo() { | |
| 283 | + return emplNo; | |
| 284 | + } | |
| 285 | + public void setEmplNo(String emplNo) { | |
| 286 | + this.emplNo = emplNo; | |
| 287 | + } | |
| 288 | + public String getUserWork(){ | |
| 289 | + return userWork; | |
| 290 | + } | |
| 291 | + public void setUserWork(String userWork) { | |
| 292 | + this.userWork = userWork; | |
| 293 | + } | |
| 294 | + | |
| 295 | +} |
+++ src/main/java/egovframework/com/cmm/SessionVO.java
... | ... | @@ -0,0 +1,121 @@ |
| 1 | +package egovframework.com.cmm; | |
| 2 | + | |
| 3 | +import java.io.Serializable; | |
| 4 | + | |
| 5 | +/** | |
| 6 | + * 세션 VO 클래스 | |
| 7 | + * @author 공통서비스 개발팀 박지욱 | |
| 8 | + * @since 2009.03.06 | |
| 9 | + * @version 1.0 | |
| 10 | + * @see | |
| 11 | + * | |
| 12 | + * <pre> | |
| 13 | + * << 개정이력(Modification Information) >> | |
| 14 | + * | |
| 15 | + * 수정일 수정자 수정내용 | |
| 16 | + * ------- -------- --------------------------- | |
| 17 | + * 2009.03.06 박지욱 최초 생성 | |
| 18 | + * | |
| 19 | + * </pre> | |
| 20 | + */ | |
| 21 | +public class SessionVO implements Serializable { | |
| 22 | + | |
| 23 | + private static final long serialVersionUID = -2848741427493626376L; | |
| 24 | + | |
| 25 | + /** 아이디 */ | |
| 26 | + private String sUserId; | |
| 27 | + /** 이름 */ | |
| 28 | + private String sUserNm; | |
| 29 | + /** 이메일 */ | |
| 30 | + private String sEmail; | |
| 31 | + /** 사용자구분 */ | |
| 32 | + private String sUserSe; | |
| 33 | + /** 조직(부서)ID */ | |
| 34 | + private String orgnztId; | |
| 35 | + /** 고유아이디 */ | |
| 36 | + private String uniqId; | |
| 37 | + /** | |
| 38 | + * sUserId attribute 를 리턴한다. | |
| 39 | + * @return String | |
| 40 | + */ | |
| 41 | + public String getSUserId() { | |
| 42 | + return sUserId; | |
| 43 | + } | |
| 44 | + /** | |
| 45 | + * sUserId attribute 값을 설정한다. | |
| 46 | + * @param sUserId String | |
| 47 | + */ | |
| 48 | + public void setSUserId(String userId) { | |
| 49 | + sUserId = userId; | |
| 50 | + } | |
| 51 | + /** | |
| 52 | + * sUserNm attribute 를 리턴한다. | |
| 53 | + * @return String | |
| 54 | + */ | |
| 55 | + public String getSUserNm() { | |
| 56 | + return sUserNm; | |
| 57 | + } | |
| 58 | + /** | |
| 59 | + * sUserNm attribute 값을 설정한다. | |
| 60 | + * @param sUserNm String | |
| 61 | + */ | |
| 62 | + public void setSUserNm(String userNm) { | |
| 63 | + sUserNm = userNm; | |
| 64 | + } | |
| 65 | + /** | |
| 66 | + * sEmail attribute 를 리턴한다. | |
| 67 | + * @return String | |
| 68 | + */ | |
| 69 | + public String getSEmail() { | |
| 70 | + return sEmail; | |
| 71 | + } | |
| 72 | + /** | |
| 73 | + * sEmail attribute 값을 설정한다. | |
| 74 | + * @param sEmail String | |
| 75 | + */ | |
| 76 | + public void setSEmail(String email) { | |
| 77 | + sEmail = email; | |
| 78 | + } | |
| 79 | + /** | |
| 80 | + * sUserSe attribute 를 리턴한다. | |
| 81 | + * @return String | |
| 82 | + */ | |
| 83 | + public String getSUserSe() { | |
| 84 | + return sUserSe; | |
| 85 | + } | |
| 86 | + /** | |
| 87 | + * sUserSe attribute 값을 설정한다. | |
| 88 | + * @param sUserSe String | |
| 89 | + */ | |
| 90 | + public void setSUserSe(String userSe) { | |
| 91 | + sUserSe = userSe; | |
| 92 | + } | |
| 93 | + /** | |
| 94 | + * orgnztId attribute 를 리턴한다. | |
| 95 | + * @return String | |
| 96 | + */ | |
| 97 | + public String getOrgnztId() { | |
| 98 | + return orgnztId; | |
| 99 | + } | |
| 100 | + /** | |
| 101 | + * orgnztId attribute 값을 설정한다. | |
| 102 | + * @param orgnztId String | |
| 103 | + */ | |
| 104 | + public void setOrgnztId(String orgnztId) { | |
| 105 | + this.orgnztId = orgnztId; | |
| 106 | + } | |
| 107 | + /** | |
| 108 | + * uniqId attribute 를 리턴한다. | |
| 109 | + * @return String | |
| 110 | + */ | |
| 111 | + public String getUniqId() { | |
| 112 | + return uniqId; | |
| 113 | + } | |
| 114 | + /** | |
| 115 | + * uniqId attribute 값을 설정한다. | |
| 116 | + * @param uniqId String | |
| 117 | + */ | |
| 118 | + public void setUniqId(String uniqId) { | |
| 119 | + this.uniqId = uniqId; | |
| 120 | + } | |
| 121 | +} |
+++ src/main/java/egovframework/com/cmm/UserVO.java
... | ... | @@ -0,0 +1,139 @@ |
| 1 | +package egovframework.com.cmm; | |
| 2 | + | |
| 3 | +import java.io.Serializable; | |
| 4 | + | |
| 5 | +/** | |
| 6 | + * @Class Name : UserVO.java | |
| 7 | + * @Description : Login VO class | |
| 8 | + * @Modification Information | |
| 9 | + * @ | |
| 10 | + * @ 수정일 수정자 수정내용 | |
| 11 | + * @ ------- -------- --------------------------- | |
| 12 | + * @ 2018.09.27 ITN 최초 생성 | |
| 13 | + * | |
| 14 | + * @author ITN | |
| 15 | + * @since 2018.09.27 | |
| 16 | + * @version 1.0 | |
| 17 | + * @see | |
| 18 | + * | |
| 19 | + */ | |
| 20 | +public class UserVO implements Serializable{ | |
| 21 | + | |
| 22 | + /** | |
| 23 | + * | |
| 24 | + */ | |
| 25 | + private static final long serialVersionUID = 1L; | |
| 26 | + | |
| 27 | + /** 이름 */ | |
| 28 | + private String name; | |
| 29 | + /** 이메일주소 */ | |
| 30 | + private String email; | |
| 31 | + /** 사용자구분 */ | |
| 32 | + private String userSe; | |
| 33 | + /** 고유아이디 */ | |
| 34 | + private String uniqId; | |
| 35 | + /** 로그인 후 이동할 페이지 */ | |
| 36 | + private String url; | |
| 37 | + /** 사용자 IP정보 */ | |
| 38 | + private String ip; | |
| 39 | + /** GPKI인증 DN */ | |
| 40 | + private String dn; | |
| 41 | + /** 핸드폰인증 DN */ | |
| 42 | + private String mblDn; | |
| 43 | + /** | |
| 44 | + * @return the name | |
| 45 | + */ | |
| 46 | + public String getName() { | |
| 47 | + return name; | |
| 48 | + } | |
| 49 | + /** | |
| 50 | + * @param name the name to set | |
| 51 | + */ | |
| 52 | + public void setName(String name) { | |
| 53 | + this.name = name; | |
| 54 | + } | |
| 55 | + /** | |
| 56 | + * @return the email | |
| 57 | + */ | |
| 58 | + public String getEmail() { | |
| 59 | + return email; | |
| 60 | + } | |
| 61 | + /** | |
| 62 | + * @param email the email to set | |
| 63 | + */ | |
| 64 | + public void setEmail(String email) { | |
| 65 | + this.email = email; | |
| 66 | + } | |
| 67 | + /** | |
| 68 | + * @return the userSe | |
| 69 | + */ | |
| 70 | + public String getUserSe() { | |
| 71 | + return userSe; | |
| 72 | + } | |
| 73 | + /** | |
| 74 | + * @param userSe the userSe to set | |
| 75 | + */ | |
| 76 | + public void setUserSe(String userSe) { | |
| 77 | + this.userSe = userSe; | |
| 78 | + } | |
| 79 | + /** | |
| 80 | + * @return the uniqId | |
| 81 | + */ | |
| 82 | + public String getUniqId() { | |
| 83 | + return uniqId; | |
| 84 | + } | |
| 85 | + /** | |
| 86 | + * @param uniqId the uniqId to set | |
| 87 | + */ | |
| 88 | + public void setUniqId(String uniqId) { | |
| 89 | + this.uniqId = uniqId; | |
| 90 | + } | |
| 91 | + /** | |
| 92 | + * @return the url | |
| 93 | + */ | |
| 94 | + public String getUrl() { | |
| 95 | + return url; | |
| 96 | + } | |
| 97 | + /** | |
| 98 | + * @param url the url to set | |
| 99 | + */ | |
| 100 | + public void setUrl(String url) { | |
| 101 | + this.url = url; | |
| 102 | + } | |
| 103 | + /** | |
| 104 | + * @return the ip | |
| 105 | + */ | |
| 106 | + public String getIp() { | |
| 107 | + return ip; | |
| 108 | + } | |
| 109 | + /** | |
| 110 | + * @param ip the ip to set | |
| 111 | + */ | |
| 112 | + public void setIp(String ip) { | |
| 113 | + this.ip = ip; | |
| 114 | + } | |
| 115 | + /** | |
| 116 | + * @return the dn | |
| 117 | + */ | |
| 118 | + public String getDn() { | |
| 119 | + return dn; | |
| 120 | + } | |
| 121 | + /** | |
| 122 | + * @param dn the dn to set | |
| 123 | + */ | |
| 124 | + public void setDn(String dn) { | |
| 125 | + this.dn = dn; | |
| 126 | + } | |
| 127 | + /** | |
| 128 | + * @return the mblDn | |
| 129 | + */ | |
| 130 | + public String getMblDn() { | |
| 131 | + return mblDn; | |
| 132 | + } | |
| 133 | + /** | |
| 134 | + * @param mblDn the mblDn to set | |
| 135 | + */ | |
| 136 | + public void setMblDn(String mblDn) { | |
| 137 | + this.mblDn = mblDn; | |
| 138 | + } | |
| 139 | +} |
+++ src/main/java/egovframework/com/cmm/captcha/AudioCaptCha.java
... | ... | @@ -0,0 +1,40 @@ |
| 1 | +package egovframework.com.cmm.captcha; | |
| 2 | +import java.io.IOException; | |
| 3 | + | |
| 4 | +import javax.servlet.http.HttpServletRequest; | |
| 5 | +import javax.servlet.http.HttpServletResponse; | |
| 6 | +import javax.servlet.http.HttpSession; | |
| 7 | + | |
| 8 | +import nl.captcha.Captcha; | |
| 9 | +import nl.captcha.audio.AudioCaptcha; | |
| 10 | +import nl.captcha.audio.producer.VoiceProducer; | |
| 11 | +import nl.captcha.servlet.CaptchaServletUtil; | |
| 12 | + | |
| 13 | +public class AudioCaptCha { | |
| 14 | + public void getAudioCaptCha(HttpServletRequest req, HttpServletResponse resp, String answer) throws IOException | |
| 15 | + { | |
| 16 | + HttpSession session = req.getSession(); | |
| 17 | + Captcha captcha = (Captcha) session.getAttribute(Captcha.NAME); | |
| 18 | + String getAnswer = answer; | |
| 19 | + AudioCaptcha audiocaptcha = null; | |
| 20 | + if ( getAnswer == null || "".equals(getAnswer) ) getAnswer = captcha.getAnswer(); | |
| 21 | + | |
| 22 | + String lan = req.getParameter("lan"); | |
| 23 | + if( lan != null && "kor".equals(lan)) { | |
| 24 | + VoiceProducer vProd = new SetKorVoiceProducer(); //한글 음성을 생성해주는 객체 생성 | |
| 25 | + audiocaptcha = new AudioCaptcha.Builder() | |
| 26 | + .addAnswer(new SetTextProducer(getAnswer)) | |
| 27 | + .addVoice(vProd) //한글음성생성기를 AudioCaptcha에 적용 | |
| 28 | + .addNoise() | |
| 29 | + .build(); | |
| 30 | + } else { | |
| 31 | + audiocaptcha = new AudioCaptcha.Builder() | |
| 32 | + .addAnswer(new SetTextProducer(getAnswer)) | |
| 33 | + .addNoise() | |
| 34 | + .build(); | |
| 35 | + } | |
| 36 | + | |
| 37 | + String agent = req.getParameter("agent"); //브라우저마다 응답을 달리해야할경우 이용. | |
| 38 | + CaptchaServletUtil.writeAudio(resp, audiocaptcha.getChallenge()); | |
| 39 | + } | |
| 40 | +} |
+++ src/main/java/egovframework/com/cmm/captcha/CaptCha.java
... | ... | @@ -0,0 +1,66 @@ |
| 1 | +package egovframework.com.cmm.captcha; | |
| 2 | + | |
| 3 | +import static nl.captcha.Captcha.NAME; | |
| 4 | + | |
| 5 | +import java.awt.Color; | |
| 6 | +import java.awt.Font; | |
| 7 | +import java.io.IOException; | |
| 8 | +import java.util.ArrayList; | |
| 9 | +import java.util.List; | |
| 10 | + | |
| 11 | +import javax.servlet.http.HttpServletRequest; | |
| 12 | +import javax.servlet.http.HttpServletResponse; | |
| 13 | + | |
| 14 | +import nl.captcha.Captcha; | |
| 15 | +import nl.captcha.backgrounds.GradiatedBackgroundProducer; | |
| 16 | +import nl.captcha.gimpy.DropShadowGimpyRenderer; | |
| 17 | +import nl.captcha.servlet.CaptchaServletUtil; | |
| 18 | +import nl.captcha.text.producer.NumbersAnswerProducer; | |
| 19 | +import nl.captcha.text.renderer.DefaultWordRenderer; | |
| 20 | + | |
| 21 | +public class CaptCha { | |
| 22 | + private static final long serialVersionUID = 1L; | |
| 23 | + private static int _width = 150; //이미지 가로크기 | |
| 24 | + private static int _height = 50; //이미지 높이 | |
| 25 | + private static int _fontsize = 44; //폰트크기 | |
| 26 | + | |
| 27 | + public CaptCha() { | |
| 28 | + super(); | |
| 29 | + } | |
| 30 | + | |
| 31 | + public void getCaptCha(HttpServletRequest req, HttpServletResponse resp) | |
| 32 | + throws IOException { | |
| 33 | + try { | |
| 34 | + | |
| 35 | + // 폰트 설정 ========================================================= | |
| 36 | + List<Font> fontList = new ArrayList<Font>(); | |
| 37 | + fontList.add(new Font("", Font.HANGING_BASELINE, 40));// | |
| 38 | + fontList.add(new Font("Courier", Font.ITALIC, 40)); | |
| 39 | + fontList.add(new Font("", Font.PLAIN, 40)); | |
| 40 | + | |
| 41 | + List<Color> colorList = new ArrayList<Color>(); | |
| 42 | + // colorList.add(Color.green); | |
| 43 | + // colorList.add(Color.pink); | |
| 44 | + // colorList.add(Color.gray); | |
| 45 | + colorList.add(Color.black); | |
| 46 | + // colorList.add(Color.blue); | |
| 47 | + // 폰트 설정 ========================================================= | |
| 48 | + | |
| 49 | + Captcha captcha = new Captcha.Builder( _width, _height) | |
| 50 | + // .addText(wordRenderer) | |
| 51 | + .addText(new NumbersAnswerProducer(6), //6자리 숫자로 된 문자를 추가 | |
| 52 | + new DefaultWordRenderer(colorList, fontList)) //글자 꾸미기(색상, 폰트) | |
| 53 | + .gimp(new DropShadowGimpyRenderer()).gimp() | |
| 54 | + // BlockGimpyRenderer,FishEyeGimpyRenderer,RippleGimpyRenderer,ShearGimpyRenderer,StretchGimpyRenderer | |
| 55 | + .addNoise().addNoise().addBorder() | |
| 56 | + .addBackground(new GradiatedBackgroundProducer()) | |
| 57 | + // FlatColorBackgroundProducer,SquigglesBackgroundProducer,TransparentBackgroundProducer | |
| 58 | + .build(); | |
| 59 | + | |
| 60 | + req.getSession().setAttribute(NAME, captcha); | |
| 61 | + CaptchaServletUtil.writeImage(resp, captcha.getImage()); | |
| 62 | + } catch (Exception e) { | |
| 63 | + e.printStackTrace(); | |
| 64 | + } | |
| 65 | + } | |
| 66 | +} |
+++ src/main/java/egovframework/com/cmm/captcha/CaptchaUtil.java
... | ... | @@ -0,0 +1,59 @@ |
| 1 | +package egovframework.com.cmm.captcha; | |
| 2 | + | |
| 3 | +import javax.servlet.http.HttpServletRequest; | |
| 4 | +import javax.servlet.http.HttpServletResponse; | |
| 5 | + | |
| 6 | +import nl.captcha.Captcha; | |
| 7 | +import nl.captcha.audio.AudioCaptcha; | |
| 8 | +import nl.captcha.audio.producer.VoiceProducer; | |
| 9 | +import nl.captcha.backgrounds.GradiatedBackgroundProducer; | |
| 10 | +import nl.captcha.servlet.CaptchaServletUtil; | |
| 11 | +import nl.captcha.text.producer.NumbersAnswerProducer; | |
| 12 | + | |
| 13 | +public class CaptchaUtil { | |
| 14 | + public CaptchaUtil() { | |
| 15 | + | |
| 16 | + } | |
| 17 | + public void captchaImg(HttpServletRequest request, HttpServletResponse response){ | |
| 18 | + Captcha captcha = new Captcha.Builder(200, 60) | |
| 19 | + .addText(new NumbersAnswerProducer(6)) | |
| 20 | + .addNoise().addNoise().addNoise() | |
| 21 | + .addBackground(new GradiatedBackgroundProducer()) | |
| 22 | + .addBorder() | |
| 23 | + .build(); | |
| 24 | + | |
| 25 | + response.setHeader("Cache-Control", "no-cache"); | |
| 26 | + response.setDateHeader("Expires", 0); | |
| 27 | + response.setHeader("Pragma", "no-cache"); | |
| 28 | + response.setDateHeader("Max-Age", 0); | |
| 29 | + response.setContentType("image/png"); | |
| 30 | + | |
| 31 | + CaptchaServletUtil.writeImage(response, captcha.getImage());; | |
| 32 | + request.getSession().setAttribute("captcha", captcha.getAnswer()); | |
| 33 | + } | |
| 34 | + | |
| 35 | + public void captchaAudio(HttpServletRequest request, HttpServletResponse response){ | |
| 36 | + String getAnswer = (String) request.getSession().getAttribute("captcha"); | |
| 37 | + VoiceProducer vProd = new SetKorVoiceProducer(); //한글 음성을 생성해주는 객체 생성 | |
| 38 | + | |
| 39 | + /* AudioCaptcha ac = new AudioCaptcha.Builder() | |
| 40 | + .addAnswer(new SetTextProducer(getAnswer)) | |
| 41 | + .addVoice() | |
| 42 | + .addNoise() | |
| 43 | + .build();*/ | |
| 44 | + | |
| 45 | + AudioCaptcha ac = new AudioCaptcha.Builder() | |
| 46 | + .addAnswer(new SetTextProducer(getAnswer)) | |
| 47 | + .addVoice(vProd) | |
| 48 | + .addNoise() | |
| 49 | + .build() ; | |
| 50 | + | |
| 51 | + response.setHeader("Cache-Control", "no-cache"); | |
| 52 | + response.setDateHeader("Expires", 0); | |
| 53 | + response.setHeader("Pragma", "no-cache"); | |
| 54 | + response.setDateHeader("Max-Age", 0); | |
| 55 | + | |
| 56 | + CaptchaServletUtil.writeAudio(response, ac.getChallenge());; | |
| 57 | + request.getSession().setAttribute("captcha", ac.getAnswer()); | |
| 58 | + } | |
| 59 | +} |
+++ src/main/java/egovframework/com/cmm/captcha/SetKorVoiceProducer.java
... | ... | @@ -0,0 +1,50 @@ |
| 1 | +package egovframework.com.cmm.captcha; | |
| 2 | + | |
| 3 | +import java.util.HashMap; | |
| 4 | +import java.util.Map; | |
| 5 | + | |
| 6 | +import nl.captcha.audio.Sample; | |
| 7 | +import nl.captcha.audio.producer.VoiceProducer; | |
| 8 | +import nl.captcha.util.FileUtil; | |
| 9 | + | |
| 10 | +public class SetKorVoiceProducer implements VoiceProducer | |
| 11 | +{ | |
| 12 | + private static final Map<Integer, String> DEFAULT_VOICES_MAP; | |
| 13 | + | |
| 14 | + static { | |
| 15 | + DEFAULT_VOICES_MAP = new HashMap<Integer, String>(); | |
| 16 | + StringBuilder sb; | |
| 17 | + | |
| 18 | + for (int i = 0; i < 10; i++) { | |
| 19 | + sb = new StringBuilder("/sounds/ko/numbers/"); | |
| 20 | + sb.append(i); | |
| 21 | + sb.append(".wav"); | |
| 22 | + DEFAULT_VOICES_MAP.put(i, sb.toString()); | |
| 23 | + } | |
| 24 | + } | |
| 25 | + | |
| 26 | + private final Map<Integer, String> _voices; | |
| 27 | + | |
| 28 | + public SetKorVoiceProducer() { | |
| 29 | + this(DEFAULT_VOICES_MAP); | |
| 30 | + } | |
| 31 | + | |
| 32 | + | |
| 33 | + public SetKorVoiceProducer(Map<Integer, String> voices) { | |
| 34 | + _voices = voices; | |
| 35 | + } | |
| 36 | + | |
| 37 | + @Override | |
| 38 | + public Sample getVocalization(char num) { | |
| 39 | + try { | |
| 40 | + Integer.parseInt(num + ""); | |
| 41 | + } catch (NumberFormatException e) { | |
| 42 | + throw new IllegalArgumentException("Expected <num> to be a number, got '" + num + "' instead.",e); | |
| 43 | + } | |
| 44 | + | |
| 45 | + int idx = Integer.parseInt(num + ""); | |
| 46 | + String filename = _voices.get(idx); | |
| 47 | + return FileUtil.readSample(filename); | |
| 48 | + } | |
| 49 | + | |
| 50 | +} |
+++ src/main/java/egovframework/com/cmm/captcha/SetTextProducer.java
... | ... | @@ -0,0 +1,19 @@ |
| 1 | +package egovframework.com.cmm.captcha; | |
| 2 | + | |
| 3 | +/** | |
| 4 | + * 전달받은 문자열을 그대로 오디오캡차가 이용할수있도록 생성한 클래스 | |
| 5 | + */ | |
| 6 | +import nl.captcha.text.producer.TextProducer; | |
| 7 | + | |
| 8 | +public class SetTextProducer implements TextProducer { | |
| 9 | + private final String _getAnswer; | |
| 10 | + public SetTextProducer(String getAnswer){ | |
| 11 | + _getAnswer = getAnswer; | |
| 12 | + | |
| 13 | + } | |
| 14 | + | |
| 15 | + @Override | |
| 16 | + public String getText() { | |
| 17 | + return _getAnswer; | |
| 18 | + } | |
| 19 | +} |
+++ src/main/java/egovframework/com/cmm/filter/HTMLTagFilter.java
... | ... | @@ -0,0 +1,46 @@ |
| 1 | +/* | |
| 2 | + * Copyright 2008-2009 MOPAS(Ministry of Public Administration and Security). | |
| 3 | + * | |
| 4 | + * Licensed under the Apache License, Version 2.0 (the "License"); | |
| 5 | + * you may not use this file except in compliance with the License. | |
| 6 | + * You may obtain a copy of the License at | |
| 7 | + * | |
| 8 | + * http://www.apache.org/licenses/LICENSE-2.0 | |
| 9 | + * | |
| 10 | + * Unless required by applicable law or agreed to in writing, software | |
| 11 | + * distributed under the License is distributed on an "AS IS" BASIS, | |
| 12 | + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
| 13 | + * See the License for the specific language governing permissions and | |
| 14 | + * limitations under the License. | |
| 15 | + */ | |
| 16 | +package egovframework.com.cmm.filter; | |
| 17 | + | |
| 18 | +import java.io.IOException; | |
| 19 | + | |
| 20 | +import javax.servlet.Filter; | |
| 21 | +import javax.servlet.FilterChain; | |
| 22 | +import javax.servlet.FilterConfig; | |
| 23 | +import javax.servlet.ServletException; | |
| 24 | +import javax.servlet.ServletRequest; | |
| 25 | +import javax.servlet.ServletResponse; | |
| 26 | +import javax.servlet.http.HttpServletRequest; | |
| 27 | + | |
| 28 | +public class HTMLTagFilter implements Filter{ | |
| 29 | + | |
| 30 | + @SuppressWarnings("unused") | |
| 31 | + private FilterConfig config; | |
| 32 | + | |
| 33 | + public void doFilter(ServletRequest request, ServletResponse response, | |
| 34 | + FilterChain chain) throws IOException, ServletException { | |
| 35 | + | |
| 36 | + chain.doFilter(new HTMLTagFilterRequestWrapper((HttpServletRequest)request), response); | |
| 37 | + } | |
| 38 | + | |
| 39 | + public void init(FilterConfig config) throws ServletException { | |
| 40 | + this.config = config; | |
| 41 | + } | |
| 42 | + | |
| 43 | + public void destroy() { | |
| 44 | + | |
| 45 | + } | |
| 46 | +} |
+++ src/main/java/egovframework/com/cmm/filter/HTMLTagFilterRequestWrapper.java
... | ... | @@ -0,0 +1,109 @@ |
| 1 | +/* | |
| 2 | + * Copyright 2008-2009 MOPAS(Ministry of Public Administration and Security). | |
| 3 | + * | |
| 4 | + * Licensed under the Apache License, Version 2.0 (the "License"); | |
| 5 | + * you may not use this file except in compliance with the License. | |
| 6 | + * You may obtain a copy of the License at | |
| 7 | + * | |
| 8 | + * http://www.apache.org/licenses/LICENSE-2.0 | |
| 9 | + * | |
| 10 | + * Unless required by applicable law or agreed to in writing, software | |
| 11 | + * distributed under the License is distributed on an "AS IS" BASIS, | |
| 12 | + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
| 13 | + * See the License for the specific language governing permissions and | |
| 14 | + * limitations under the License. | |
| 15 | + */ | |
| 16 | +package egovframework.com.cmm.filter; | |
| 17 | + | |
| 18 | +import javax.servlet.http.HttpServletRequest; | |
| 19 | +import javax.servlet.http.HttpServletRequestWrapper; | |
| 20 | + | |
| 21 | +public class HTMLTagFilterRequestWrapper extends HttpServletRequestWrapper { | |
| 22 | + | |
| 23 | + public HTMLTagFilterRequestWrapper(HttpServletRequest request) { | |
| 24 | + super(request); | |
| 25 | + } | |
| 26 | + | |
| 27 | + public String[] getParameterValues(String parameter) { | |
| 28 | + | |
| 29 | + String[] values = super.getParameterValues(parameter); | |
| 30 | + | |
| 31 | + if(values==null){ | |
| 32 | + return null; | |
| 33 | + } | |
| 34 | + | |
| 35 | + for (int i = 0; i < values.length; i++) { | |
| 36 | + if (values[i] != null) { | |
| 37 | + StringBuffer strBuff = new StringBuffer(); | |
| 38 | + for (int j = 0; j < values[i].length(); j++) { | |
| 39 | + char c = values[i].charAt(j); | |
| 40 | + switch (c) { | |
| 41 | + case '<': | |
| 42 | + strBuff.append("<"); | |
| 43 | + break; | |
| 44 | + case '>': | |
| 45 | + strBuff.append(">"); | |
| 46 | + break; | |
| 47 | + //case '&': | |
| 48 | + //strBuff.append("&"); | |
| 49 | + //break; | |
| 50 | + case '"': | |
| 51 | + strBuff.append("""); | |
| 52 | + break; | |
| 53 | + case '\'': | |
| 54 | + strBuff.append("'"); | |
| 55 | + break; | |
| 56 | + default: | |
| 57 | + strBuff.append(c); | |
| 58 | + break; | |
| 59 | + } | |
| 60 | + } | |
| 61 | + values[i] = strBuff.toString(); | |
| 62 | + } else { | |
| 63 | + values[i] = null; | |
| 64 | + } | |
| 65 | + } | |
| 66 | + | |
| 67 | + return values; | |
| 68 | + } | |
| 69 | + | |
| 70 | + public String getParameter(String parameter) { | |
| 71 | + | |
| 72 | + String value = super.getParameter(parameter); | |
| 73 | + | |
| 74 | + if(value==null){ | |
| 75 | + return null; | |
| 76 | + } | |
| 77 | + | |
| 78 | + StringBuffer strBuff = new StringBuffer(); | |
| 79 | + | |
| 80 | + for (int i = 0; i < value.length(); i++) { | |
| 81 | + char c = value.charAt(i); | |
| 82 | + switch (c) { | |
| 83 | + case '<': | |
| 84 | + strBuff.append("<"); | |
| 85 | + break; | |
| 86 | + case '>': | |
| 87 | + strBuff.append(">"); | |
| 88 | + break; | |
| 89 | + case '&': | |
| 90 | + strBuff.append("&"); | |
| 91 | + break; | |
| 92 | + case '"': | |
| 93 | + strBuff.append("""); | |
| 94 | + break; | |
| 95 | + case '\'': | |
| 96 | + strBuff.append("'"); | |
| 97 | + break; | |
| 98 | + default: | |
| 99 | + strBuff.append(c); | |
| 100 | + break; | |
| 101 | + } | |
| 102 | + } | |
| 103 | + | |
| 104 | + value = strBuff.toString(); | |
| 105 | + | |
| 106 | + return value; | |
| 107 | + } | |
| 108 | + | |
| 109 | +}(No newline at end of file) |
+++ src/main/java/egovframework/com/cmm/filter/XssFilter.java
... | ... | @@ -0,0 +1,48 @@ |
| 1 | +/* | |
| 2 | + * Copyright 2008-2009 MOPAS(Ministry of Public Administration and Security). | |
| 3 | + * | |
| 4 | + * Licensed under the Apache License, Version 2.0 (the "License"); | |
| 5 | + * you may not use this file except in compliance with the License. | |
| 6 | + * You may obtain a copy of the License at | |
| 7 | + * | |
| 8 | + * http://www.apache.org/licenses/LICENSE-2.0 | |
| 9 | + * | |
| 10 | + * Unless required by applicable law or agreed to in writing, software | |
| 11 | + * distributed under the License is distributed on an "AS IS" BASIS, | |
| 12 | + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
| 13 | + * See the License for the specific language governing permissions and | |
| 14 | + * limitations under the License. | |
| 15 | + */ | |
| 16 | +package egovframework.com.cmm.filter; | |
| 17 | + | |
| 18 | +import java.io.IOException; | |
| 19 | + | |
| 20 | +import javax.servlet.Filter; | |
| 21 | +import javax.servlet.FilterChain; | |
| 22 | +import javax.servlet.FilterConfig; | |
| 23 | +import javax.servlet.ServletContext; | |
| 24 | +import javax.servlet.ServletException; | |
| 25 | +import javax.servlet.ServletRequest; | |
| 26 | +import javax.servlet.ServletResponse; | |
| 27 | +import javax.servlet.http.HttpServletRequest; | |
| 28 | + | |
| 29 | +public class XssFilter implements Filter{ | |
| 30 | + | |
| 31 | + @SuppressWarnings("unused") | |
| 32 | + private FilterConfig config; | |
| 33 | + | |
| 34 | + public void doFilter(ServletRequest request, ServletResponse response, | |
| 35 | + FilterChain chain) throws IOException, ServletException { | |
| 36 | + ServletContext context = config.getServletContext(); | |
| 37 | + //chain.doFilter(new XssFilterRequestWrapper((HttpServletRequest)request), response); | |
| 38 | + chain.doFilter(new XssFilterRequestWrapper((HttpServletRequest)request , response , context ), response); | |
| 39 | + } | |
| 40 | + | |
| 41 | + public void init(FilterConfig config) throws ServletException { | |
| 42 | + this.config = config; | |
| 43 | + } | |
| 44 | + | |
| 45 | + public void destroy() { | |
| 46 | + this.config = null; | |
| 47 | + } | |
| 48 | +} |
+++ src/main/java/egovframework/com/cmm/filter/XssFilterRequestWrapper.java
... | ... | @@ -0,0 +1,151 @@ |
| 1 | +/* | |
| 2 | + * Copyright 2008-2009 MOPAS(Ministry of Public Administration and Security). | |
| 3 | + * | |
| 4 | + * Licensed under the Apache License, Version 2.0 (the "License"); | |
| 5 | + * you may not use this file except in compliance with the License. | |
| 6 | + * You may obtain a copy of the License at | |
| 7 | + * | |
| 8 | + * http://www.apache.org/licenses/LICENSE-2.0 | |
| 9 | + * | |
| 10 | + * Unless required by applicable law or agreed to in writing, software | |
| 11 | + * distributed under the License is distributed on an "AS IS" BASIS, | |
| 12 | + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
| 13 | + * See the License for the specific language governing permissions and | |
| 14 | + * limitations under the License. | |
| 15 | + */ | |
| 16 | +package egovframework.com.cmm.filter; | |
| 17 | + | |
| 18 | +import java.io.IOException; | |
| 19 | + | |
| 20 | +import javax.servlet.ServletContext; | |
| 21 | +import javax.servlet.ServletException; | |
| 22 | +import javax.servlet.ServletResponse; | |
| 23 | +import javax.servlet.http.HttpServletRequest; | |
| 24 | +import javax.servlet.http.HttpServletRequestWrapper; | |
| 25 | + | |
| 26 | +public class XssFilterRequestWrapper extends HttpServletRequestWrapper { | |
| 27 | + | |
| 28 | + ServletContext context ; | |
| 29 | + HttpServletRequest request ; | |
| 30 | + ServletResponse response; | |
| 31 | + | |
| 32 | + public XssFilterRequestWrapper(HttpServletRequest request) { | |
| 33 | + super(request); | |
| 34 | + } | |
| 35 | + | |
| 36 | + public XssFilterRequestWrapper(HttpServletRequest request, ServletContext context) { | |
| 37 | + super(request); | |
| 38 | + this.context = context ; | |
| 39 | + this.request = request; | |
| 40 | + } | |
| 41 | + | |
| 42 | + public XssFilterRequestWrapper(HttpServletRequest request, ServletResponse response, ServletContext context) { | |
| 43 | + super(request); | |
| 44 | + this.context = context ; | |
| 45 | + this.request = request; | |
| 46 | + this.response = response ; | |
| 47 | + } | |
| 48 | + | |
| 49 | + public String[] getParameterValues(String parameter) { | |
| 50 | + | |
| 51 | + String[] values = super.getParameterValues(parameter); | |
| 52 | + | |
| 53 | + if(values==null){ | |
| 54 | + return null; | |
| 55 | + } | |
| 56 | + | |
| 57 | + int count = values.length; | |
| 58 | + String[] encodedValues = new String[count]; | |
| 59 | + for (int i = 0; i < count; i++) { | |
| 60 | + encodedValues[i] = cleanXSS(values[i]); | |
| 61 | + } | |
| 62 | + return encodedValues; | |
| 63 | + } | |
| 64 | + | |
| 65 | + public String getParameter(String parameter) { | |
| 66 | + String value = super.getParameter(parameter); | |
| 67 | + if (value == null) { | |
| 68 | + return null; | |
| 69 | + } | |
| 70 | + return cleanXSS(value); | |
| 71 | + } | |
| 72 | + | |
| 73 | + public String getHeader(String name) { | |
| 74 | + String value = super.getHeader(name); | |
| 75 | + if (value == null) | |
| 76 | + return null; | |
| 77 | + return cleanXSS(value); | |
| 78 | + | |
| 79 | + } | |
| 80 | + | |
| 81 | + private String cleanXSS(String test_str) { | |
| 82 | + // 특수 구문 필터링 (데이터베이스가 Oracle 인 경우) | |
| 83 | + | |
| 84 | + String test_str_low= test_str.toLowerCase(); | |
| 85 | + if(test_str_low.contains("union")|| | |
| 86 | + test_str_low.contains("select") || | |
| 87 | + test_str_low.contains("insert") || | |
| 88 | + test_str_low.contains("drop") || | |
| 89 | + test_str_low.contains("update") || | |
| 90 | + test_str_low.contains("delete") || | |
| 91 | + test_str_low.contains("join") || | |
| 92 | + test_str_low.contains("from") || | |
| 93 | + test_str_low.contains("where") || | |
| 94 | + test_str_low.contains("substr") || | |
| 95 | + test_str_low.contains("user_tables")|| | |
| 96 | + test_str_low.contains("script")|| | |
| 97 | + test_str_low.contains("<")|| | |
| 98 | + test_str_low.contains(">")|| | |
| 99 | + test_str_low.contains("alert")|| | |
| 100 | + test_str_low.contains("javascript")|| | |
| 101 | + test_str_low.contains("=")|| | |
| 102 | + test_str_low.contains("!")|| | |
| 103 | + test_str_low.contains("or")|| | |
| 104 | + test_str_low.contains("user_tables")|| | |
| 105 | + test_str_low.contains("\\(")|| | |
| 106 | + test_str_low.contains("\\)")|| | |
| 107 | + test_str_low.contains("user_tables")|| | |
| 108 | + test_str_low.contains("<") || | |
| 109 | + test_str_low.contains("\"") || | |
| 110 | + test_str_low.contains("%") || | |
| 111 | + test_str_low.contains("()") || | |
| 112 | + test_str_low.contains("+") || | |
| 113 | + test_str_low.contains("%") || | |
| 114 | + test_str_low.contains(">") | |
| 115 | + ) | |
| 116 | + { | |
| 117 | + | |
| 118 | + try { | |
| 119 | + context.getRequestDispatcher("/blank.do").forward(request, response); | |
| 120 | + } catch (ServletException e) { | |
| 121 | + // TODO Auto-generated catch block | |
| 122 | + e.printStackTrace(); | |
| 123 | + } catch (IOException e) { | |
| 124 | + // TODO Auto-generated catch block | |
| 125 | + e.printStackTrace(); | |
| 126 | + } | |
| 127 | + | |
| 128 | + test_str = test_str_low; | |
| 129 | + test_str = test_str.replaceAll("union", "q-union"); | |
| 130 | + test_str = test_str.replaceAll("select", "q-select"); | |
| 131 | + test_str = test_str.replaceAll("insert", "q-insert"); | |
| 132 | + test_str = test_str.replaceAll("drop", "q-drop"); | |
| 133 | + test_str = test_str.replaceAll("update", "q-update"); | |
| 134 | + test_str = test_str.replaceAll("delete", "q-delete"); | |
| 135 | + test_str = test_str.replaceAll("and", "q-and"); | |
| 136 | + test_str = test_str.replaceAll("or", "q-or"); | |
| 137 | + test_str = test_str.replaceAll("join", "q-join"); | |
| 138 | + test_str = test_str.replaceAll("substr", "q-substr"); | |
| 139 | + test_str = test_str.replaceAll("from", "q-from"); | |
| 140 | + test_str = test_str.replaceAll("where", "q-where"); | |
| 141 | + test_str = test_str.replaceAll("declare", "q-declare"); | |
| 142 | + test_str = test_str.replaceAll("openrowset", "q-openrowset"); | |
| 143 | + test_str = test_str.replaceAll("user_tables","q-user_tables"); | |
| 144 | + test_str = test_str.replaceAll("user_tab_columns","q-user_tab_columns"); | |
| 145 | + test_str = test_str.replaceAll("table_name","q-table_name"); | |
| 146 | + test_str = test_str.replaceAll("column_name","q-column_name"); | |
| 147 | + test_str = test_str.replaceAll("row_num","q-row_num"); | |
| 148 | + } | |
| 149 | + return test_str ; | |
| 150 | + } | |
| 151 | +}(No newline at end of file) |
+++ src/main/java/egovframework/com/cmm/selfauth/IpinauthController.java
... | ... | @@ -0,0 +1,270 @@ |
| 1 | +package egovframework.com.cmm.selfauth; | |
| 2 | + | |
| 3 | +import java.text.SimpleDateFormat; | |
| 4 | +import java.util.Calendar; | |
| 5 | +import java.util.Random; | |
| 6 | + | |
| 7 | +import javax.servlet.http.HttpServletRequest; | |
| 8 | + | |
| 9 | +import org.slf4j.Logger; | |
| 10 | +import org.slf4j.LoggerFactory; | |
| 11 | +import org.springframework.beans.factory.annotation.Value; | |
| 12 | +import org.springframework.stereotype.Controller; | |
| 13 | +import org.springframework.ui.ModelMap; | |
| 14 | +import org.springframework.web.bind.annotation.RequestMapping; | |
| 15 | +import org.springframework.web.servlet.mvc.support.RedirectAttributes; | |
| 16 | + | |
| 17 | +import com.sci.v2.ipinv2.secu.SciSecuManager; | |
| 18 | + | |
| 19 | +import egovframework.com.cmm.UserVO; | |
| 20 | +import egovframework.let.cop.bbs.service.BoardVO; | |
| 21 | + | |
| 22 | + | |
| 23 | +/** | |
| 24 | + * 휴대폰 인증 처리를 위한 컨트롤러 클래스 | |
| 25 | + * @author 공통 서비스 개발팀 이삼섭 | |
| 26 | + * @since 2009.03.19 | |
| 27 | + * @version 1.0 | |
| 28 | + * @see | |
| 29 | + * | |
| 30 | + * <pre> | |
| 31 | + * << 개정이력(Modification Information) >> | |
| 32 | + * | |
| 33 | + * 수정일 수정자 수정내용 | |
| 34 | + * ------- -------- --------------------------- | |
| 35 | + * 2009.03.19 이삼섭 최초 생성 | |
| 36 | + * 2009.06.29 한성곤 2단계 기능 추가 (댓글관리, 만족도조사) | |
| 37 | + * 2011.08.31 JJY 경량환경 템플릿 커스터마이징버전 생성 | |
| 38 | + * | |
| 39 | + * </pre> | |
| 40 | + */ | |
| 41 | +@Controller | |
| 42 | +public class IpinauthController { | |
| 43 | + | |
| 44 | + @Value("#{globalSettings['Globals.Site.URL']}") | |
| 45 | + private String SITE_URL; | |
| 46 | + | |
| 47 | + @Value("#{globalSettings['Globals.ipinauth.siteId']}") | |
| 48 | + private String IPINAUTH_SITE_ID; | |
| 49 | + @Value("#{globalSettings['Globals.ipinauth.srvNo']}") | |
| 50 | + private String IPINAUTH_SRV_NO; | |
| 51 | + | |
| 52 | + private static final Logger LOGGER = LoggerFactory.getLogger(IpinauthController.class); | |
| 53 | + | |
| 54 | + /** | |
| 55 | + * (사용자)아이핀서비스 요청 Sample Page - input 1 | |
| 56 | + */ | |
| 57 | + @RequestMapping("/web/cop/bbs/ipinInputSeedV2.do") | |
| 58 | + public String ipinInputSeedV2(HttpServletRequest request, ModelMap model, RedirectAttributes redirectAttributes)throws Exception { | |
| 59 | + return "web/cop/selfauth/ipin_input_seed"; | |
| 60 | + } | |
| 61 | + | |
| 62 | + /** | |
| 63 | + * (사용자)아이핀서비스 요청 Sample Page - request 2 | |
| 64 | + */ | |
| 65 | + @RequestMapping("/web/cop/bbs/ipinRequestSeedV2.do") | |
| 66 | + public String ipinRequestSeedV2(HttpServletRequest request, ModelMap model, RedirectAttributes redirectAttributes)throws Exception { | |
| 67 | + return "web/cop/selfauth/ipin_request_seed"; | |
| 68 | + } | |
| 69 | + | |
| 70 | + /** | |
| 71 | + * (사용자)아이핀서비스 요청 Sample Page - popup 3 | |
| 72 | + */ | |
| 73 | + @RequestMapping("/web/cop/bbs/ipinPopupSeedV2.do") | |
| 74 | + public String ipinPopupSeedV2(HttpServletRequest request, ModelMap model, RedirectAttributes redirectAttributes)throws Exception { | |
| 75 | + return "web/cop/selfauth/ipin_popup_seed"; | |
| 76 | + } | |
| 77 | + | |
| 78 | + /** | |
| 79 | + * (사용자)아이핀서비스 요청 Sample Page - result 4 | |
| 80 | + */ | |
| 81 | + @RequestMapping("/web/cop/bbs/ipinResultSeedV2.do") | |
| 82 | + public String ipinResultSeedV2(HttpServletRequest request, ModelMap model, RedirectAttributes redirectAttributes)throws Exception { | |
| 83 | + return "web/cop/selfauth/ipin_result_seed"; | |
| 84 | + } | |
| 85 | + | |
| 86 | + /** | |
| 87 | + * (사용자)아이핀인증 안내 화면 | |
| 88 | + * | |
| 89 | + * @param | |
| 90 | + * @return | |
| 91 | + * @throws Exception | |
| 92 | + */ | |
| 93 | +// @RequestMapping("/web/cop/selfauth/authentication.do") | |
| 94 | +// public String authentication(ModelMap model) throws Exception { | |
| 95 | +// | |
| 96 | +// model.addAttribute("SITE_URL", SITE_URL); | |
| 97 | +// return "web/cop/selfauth/authentication"; | |
| 98 | +// } | |
| 99 | + | |
| 100 | + /** | |
| 101 | + * (사용자) 아이핀 본인인증 요청 1 pop | |
| 102 | + * | |
| 103 | + * @param model | |
| 104 | + * @return | |
| 105 | + * @throws Exception | |
| 106 | + */ | |
| 107 | + @RequestMapping("/web/cop/selfauth/ipinauth.do") | |
| 108 | + public String ipinauth(HttpServletRequest request, ModelMap model, RedirectAttributes redirectAttributes)throws Exception { | |
| 109 | + // 사이렌 요청 URL 등록 : /web/cop/selfauth/ipinauth.do | |
| 110 | + // test 서버 서비스 번호 001003 | |
| 111 | + | |
| 112 | + java.util.Random ran = new Random(); | |
| 113 | + //랜던 문자 길이 | |
| 114 | + int numLength = 16; | |
| 115 | + String randomStr = ""; | |
| 116 | + | |
| 117 | + for (int i = 0; i < numLength; i++) { | |
| 118 | + //0 ~ 9 랜덤 숫자 생성 | |
| 119 | + randomStr += ran.nextInt(10); | |
| 120 | + } | |
| 121 | + | |
| 122 | + String reqNum = randomStr; | |
| 123 | + | |
| 124 | + String exVar = "0000000000000000"; // 복호화용 임시필드 | |
| 125 | + | |
| 126 | + request.getSession().setAttribute("reqNum", reqNum); // 결과값 복호화시 필요 | |
| 127 | + | |
| 128 | + //01. 암호화 모듈 선언 | |
| 129 | + SciSecuManager seed = new SciSecuManager(); | |
| 130 | + | |
| 131 | + // 아이핀 모듈 암호화 키 | |
| 132 | + seed.setInfoPublic(IPINAUTH_SITE_ID,"BA92414622515048479AB7B12A6DBD3A"); | |
| 133 | + | |
| 134 | + String encStr = ""; | |
| 135 | + String reqInfo = reqNum+"/"+IPINAUTH_SITE_ID+"/"+IPINAUTH_SRV_NO+"/"+exVar; // 데이터 암호화 | |
| 136 | + | |
| 137 | + // 1차 암호화 | |
| 138 | + encStr = seed.getEncPublic(reqInfo); | |
| 139 | + // 위변조 검증 값 등록 | |
| 140 | + String hmacMsg = seed.getEncReq(encStr,"HMAC"); | |
| 141 | + | |
| 142 | + // 2차 암호화 | |
| 143 | + reqInfo = seed.getEncPublic(encStr + "/" + hmacMsg + "/" + "00000000"); //2차암호화 | |
| 144 | + | |
| 145 | + //암호화키 값을 위한 아이디 | |
| 146 | + reqInfo = seed.EncPublic(reqInfo + "/" + IPINAUTH_SITE_ID + "/" + "00000000"); | |
| 147 | + | |
| 148 | +// request.getSession().setAttribute("encReqNum", seed.getEncPublic(seed.getEncReq(reqNum,"HMAC"))); // ? | |
| 149 | + | |
| 150 | + request.getSession().setAttribute("reqInfo", reqInfo); // 본인확인 요청 정보 | |
| 151 | + request.getSession().setAttribute("SITE_URL", SITE_URL); // 사이트 URL | |
| 152 | + request.getSession().setAttribute("reqNum", reqNum); // 요청번호 복호화 시 사용 | |
| 153 | + | |
| 154 | + return "web/cop/selfauth/ipinauth"; | |
| 155 | + } | |
| 156 | + | |
| 157 | + /** | |
| 158 | + * (사용자)아이핀인증 결과 리턴 2 | |
| 159 | + * | |
| 160 | + * @param model | |
| 161 | + * @return | |
| 162 | + * @throws Exception | |
| 163 | + */ | |
| 164 | + @RequestMapping("/web/cop/selfauth/ipinResultSeed.do") | |
| 165 | + public String ipinResultSeed(HttpServletRequest request, ModelMap model, RedirectAttributes redirectAttributes)throws Exception { | |
| 166 | + | |
| 167 | + String retInfo = request.getParameter("retInfo").trim(); | |
| 168 | + String tranjectionReqNum = (String)request.getSession().getAttribute("reqNum"); | |
| 169 | + | |
| 170 | + //복화화용 변수 | |
| 171 | + String encPara = ""; | |
| 172 | + String decPara = ""; | |
| 173 | + String encMsg = ""; // HMAC 메세지 | |
| 174 | + | |
| 175 | + String discrHash = ""; // 중복가입확인정보 | |
| 176 | + String name = ""; // 성명 | |
| 177 | +// String reqNum = ""; // 요청번호(복호화) | |
| 178 | +// String vDiscrNo = ""; // 가상식별번호 | |
| 179 | +// String result = ""; // 결과값 (1인경우에만 정상) | |
| 180 | +// String age = ""; | |
| 181 | +// String sex = ""; | |
| 182 | +// String ip = ""; | |
| 183 | +// String authInfo = ""; // 발급수단정보 | |
| 184 | +// String birth = ""; | |
| 185 | +// String fgn = ""; // 외국인구분 | |
| 186 | +// String ciVersion = ""; // 연계정보 버젼 | |
| 187 | +// String ciscrHash = ""; // 연계정보 | |
| 188 | + | |
| 189 | + String msgChk = "N"; // 위조/변조 검증 결과 | |
| 190 | + | |
| 191 | + // 1. 암호화 모듈 (jar) Loading | |
| 192 | + SciSecuManager sciSecuMg = new SciSecuManager(); | |
| 193 | + sciSecuMg.setInfoPublic("YYY001","BA92414622515048479AB7B12A6DBD3A"); | |
| 194 | + | |
| 195 | + retInfo = sciSecuMg.getDec(retInfo, tranjectionReqNum); | |
| 196 | + | |
| 197 | + // 2.1차 파싱--------------------------------------------------------------- | |
| 198 | + int inf1 = retInfo.indexOf("/",0); | |
| 199 | + int inf2 = retInfo.indexOf("/",inf1+1); | |
| 200 | + | |
| 201 | + encPara = retInfo.substring(0,inf1); //암호화된 통합 파라미터 | |
| 202 | + encMsg = retInfo.substring(inf1+1,inf2); //암호화된 통합 파라미터의 Hash값 | |
| 203 | + | |
| 204 | + if(sciSecuMg.getMsg(encPara).equals(encMsg)){ | |
| 205 | + msgChk="Y"; | |
| 206 | + } | |
| 207 | + | |
| 208 | + // 비정상 접근 처리 | |
| 209 | + if(msgChk.equals("N")) { | |
| 210 | + model.addAttribute("msgChk", msgChk); | |
| 211 | + return "web/cop/selfauth/ipinResultSeed"; | |
| 212 | + } | |
| 213 | + | |
| 214 | + // 4.파라미터별 값 가져오기 --------------------------------------------------------------- | |
| 215 | + decPara = sciSecuMg.getDec(encPara, tranjectionReqNum); | |
| 216 | + | |
| 217 | + int info1 = decPara.indexOf("/",0); | |
| 218 | + int info2 = decPara.indexOf("/",info1+1); | |
| 219 | + int info3 = decPara.indexOf("/",info2+1); | |
| 220 | + int info4 = decPara.indexOf("/",info3+1); | |
| 221 | + int info5 = decPara.indexOf("/",info4+1); | |
| 222 | + int info6 = decPara.indexOf("/",info5+1); | |
| 223 | + int info7 = decPara.indexOf("/",info6+1); | |
| 224 | + int info8 = decPara.indexOf("/",info7+1); | |
| 225 | + int info9 = decPara.indexOf("/",info8+1); | |
| 226 | + int info10 = decPara.indexOf("/",info9+1); | |
| 227 | + int info11 = decPara.indexOf("/",info10+1); | |
| 228 | + int info12 = decPara.indexOf("/",info11+1); | |
| 229 | + int info13 = decPara.indexOf("/",info12+1); | |
| 230 | + | |
| 231 | + name = decPara.substring(info2+1,info3); | |
| 232 | + discrHash = decPara.substring(info10+1,info11); | |
| 233 | + | |
| 234 | +// reqNum = decPara.substring(0,info1); | |
| 235 | +// vDiscrNo = decPara.substring(info1+1,info2); | |
| 236 | +// result = decPara.substring(info3+1,info4); | |
| 237 | +// age = decPara.substring(info4+1,info5); | |
| 238 | +// sex = decPara.substring(info5+1,info6); | |
| 239 | +// ip = decPara.substring(info6+1,info7); | |
| 240 | +// authInfo = decPara.substring(info7+1,info8); | |
| 241 | +// birth = decPara.substring(info8+1,info9); | |
| 242 | +// fgn = decPara.substring(info9+1,info10); | |
| 243 | + | |
| 244 | + // ciVersion = decPara.substring(info11+1,info12); //CI관련 데이터는 계약시 설정하는 값입니다. | |
| 245 | + // ciscrHash = decPara.substring(info12+1,info13); //데이터를 원하실 경우 영업팀을 통해 승인받으신후 주석제거 해주십시요 | |
| 246 | + | |
| 247 | + discrHash = sciSecuMg.getDec(discrHash, tranjectionReqNum); //중복가입확인정보는 한번더 복호화 | |
| 248 | + // ciscrHash = sciSecuMg.getDec(ciscrHash, tranjectionReqNum); //연계정보는 한번더 복호화 | |
| 249 | + | |
| 250 | + // 사용자 세션생성 | |
| 251 | + UserVO userVO = new UserVO(); | |
| 252 | + userVO.setName(name); | |
| 253 | + userVO.setMblDn(discrHash); | |
| 254 | + request.getSession().setAttribute("userVO", userVO); | |
| 255 | + | |
| 256 | + String returnType = (String)request.getSession().getAttribute("returnType"); | |
| 257 | + String returnUrl = (String)request.getSession().getAttribute("returnUrl"); | |
| 258 | + | |
| 259 | +// if (!("resveAdd").equals(returnType) && !("resveInqire").equals(returnType)) { | |
| 260 | +// BoardVO searchVO = (BoardVO)request.getSession().getAttribute("searchVO"); | |
| 261 | +// model.addAttribute("searchVO", searchVO); | |
| 262 | +// } | |
| 263 | + | |
| 264 | + model.addAttribute("returnType", returnType); | |
| 265 | + model.addAttribute("returnUrl", returnUrl); | |
| 266 | + model.addAttribute("name", name); | |
| 267 | + return "web/cop/selfauth/resultSeed"; | |
| 268 | + } | |
| 269 | + | |
| 270 | +} |
+++ src/main/java/egovframework/com/cmm/selfauth/SelfauthController.java
... | ... | @@ -0,0 +1,346 @@ |
| 1 | +package egovframework.com.cmm.selfauth; | |
| 2 | + | |
| 3 | +import java.text.SimpleDateFormat; | |
| 4 | +import java.util.Calendar; | |
| 5 | +import java.util.Map; | |
| 6 | +import java.util.Random; | |
| 7 | + | |
| 8 | +import javax.servlet.http.HttpServletRequest; | |
| 9 | + | |
| 10 | +import org.slf4j.Logger; | |
| 11 | +import org.slf4j.LoggerFactory; | |
| 12 | +import org.springframework.beans.factory.annotation.Value; | |
| 13 | +import org.springframework.stereotype.Controller; | |
| 14 | +import org.springframework.ui.ModelMap; | |
| 15 | +import org.springframework.web.bind.annotation.ModelAttribute; | |
| 16 | +import org.springframework.web.bind.annotation.RequestMapping; | |
| 17 | +import org.springframework.web.bind.annotation.RequestParam; | |
| 18 | +import org.springframework.web.servlet.ModelAndView; | |
| 19 | +import org.springframework.web.servlet.mvc.support.RedirectAttributes; | |
| 20 | + | |
| 21 | +import com.sci.v2.pcc.secu.SciSecuManager; | |
| 22 | +import com.sci.v2.pcc.secu.hmac.SciHmac; | |
| 23 | + | |
| 24 | +import egovframework.com.cmm.UserVO; | |
| 25 | +import egovframework.let.cop.bbs.service.BoardVO; | |
| 26 | +import egovframework.let.cop.resve.service.ResveVO; | |
| 27 | + | |
| 28 | +/** | |
| 29 | + * 휴대폰 인증 처리를 위한 컨트롤러 클래스 | |
| 30 | + * @author 공통 서비스 개발팀 이삼섭 | |
| 31 | + * @since 2009.03.19 | |
| 32 | + * @version 1.0 | |
| 33 | + * @see | |
| 34 | + * | |
| 35 | + * <pre> | |
| 36 | + * << 개정이력(Modification Information) >> | |
| 37 | + * | |
| 38 | + * 수정일 수정자 수정내용 | |
| 39 | + * ------- -------- --------------------------- | |
| 40 | + * 2009.03.19 이삼섭 최초 생성 | |
| 41 | + * 2009.06.29 한성곤 2단계 기능 추가 (댓글관리, 만족도조사) | |
| 42 | + * 2011.08.31 JJY 경량환경 템플릿 커스터마이징버전 생성 | |
| 43 | + * | |
| 44 | + * </pre> | |
| 45 | + */ | |
| 46 | +@Controller | |
| 47 | +public class SelfauthController { | |
| 48 | + | |
| 49 | + @Value("#{globalSettings['Globals.Site.URL']}") | |
| 50 | + private String SITE_URL; | |
| 51 | + @Value("#{globalSettings['Globals.selfauth.siteId']}") | |
| 52 | + private String SELFAUTH_SITE_ID; | |
| 53 | + @Value("#{globalSettings['Globals.selfauth.srvNo']}") | |
| 54 | + private String SELFAUTH_SRV_NO; | |
| 55 | + | |
| 56 | + private static final Logger LOGGER = LoggerFactory.getLogger(SelfauthController.class); | |
| 57 | + | |
| 58 | + /** | |
| 59 | + * (사용자)인증여부 체크 (본인인증(휴대폰), 아이핀인증) | |
| 60 | + * | |
| 61 | + * @param ResveVO | |
| 62 | + * @param model | |
| 63 | + * @return | |
| 64 | + * @throws Exception | |
| 65 | + */ | |
| 66 | + @RequestMapping("/web/cop/selfauth/authCheckAjax.do") | |
| 67 | + public ModelAndView authenticationAjax(HttpServletRequest request, @ModelAttribute("searchVO") ResveVO resveVO, ModelMap model, @RequestParam Map<String, Object> commandMap) throws Exception { | |
| 68 | + ModelAndView modelAndView = new ModelAndView(); | |
| 69 | + modelAndView.setViewName("jsonView"); | |
| 70 | + | |
| 71 | + String returnType = (String) commandMap.get("returnType"); | |
| 72 | + String returnUrl = (String) commandMap.get("returnUrl"); | |
| 73 | + | |
| 74 | + UserVO userVO = (UserVO)request.getSession().getAttribute("userVO"); // 사용자 정보 | |
| 75 | + String authChck = ""; | |
| 76 | + | |
| 77 | + // 인증여부 | |
| 78 | + if (userVO != null) { | |
| 79 | + authChck = "true"; | |
| 80 | + modelAndView.addObject("userNm", userVO.getName()); | |
| 81 | + } else { | |
| 82 | + authChck = "false"; | |
| 83 | + | |
| 84 | + request.getSession().setAttribute("returnType", returnType); | |
| 85 | + request.getSession().setAttribute("returnUrl", returnUrl); | |
| 86 | + } | |
| 87 | + | |
| 88 | + modelAndView.addObject("authChck", authChck); | |
| 89 | + return modelAndView; | |
| 90 | + } | |
| 91 | + | |
| 92 | + /** | |
| 93 | + * (사용자)인증 처리 Test | |
| 94 | + * | |
| 95 | + * @param boardVO | |
| 96 | + * @param model | |
| 97 | + * @return | |
| 98 | + * @throws Exception | |
| 99 | + */ | |
| 100 | + @RequestMapping("/web/cop/selfauth/authenticationResult.do") | |
| 101 | + public String authenticationResult(HttpServletRequest request, ModelMap model | |
| 102 | + ,RedirectAttributes redirectAttributes) throws Exception { | |
| 103 | + UserVO userVO = new UserVO(); | |
| 104 | + String nameEn = (String)request.getParameter("nameEn"); | |
| 105 | + String returnType = (String)request.getParameter("returnType"); | |
| 106 | + | |
| 107 | + switch (nameEn) { | |
| 108 | + case "yu1" : | |
| 109 | + userVO.setName("홍길동"); userVO.setMblDn("1111"); break; | |
| 110 | + case "yu2" : | |
| 111 | + userVO.setName("김길동"); userVO.setMblDn("2222"); break; | |
| 112 | + case "yu3" : | |
| 113 | + userVO.setName("박길동"); userVO.setMblDn("3333"); break; | |
| 114 | + } | |
| 115 | + | |
| 116 | + request.getSession().setAttribute("userVO", userVO); // 인증 처리 개발용이니 실서버 적용 되면 안됨. | |
| 117 | + | |
| 118 | + String url = returnType; | |
| 119 | + url = ""; | |
| 120 | +// if (("resveAdd").equals(returnType)) { | |
| 121 | +// url = "/web/cop/resve/addResveIntro.do"; | |
| 122 | +// } else if (("resveInqire").equals(returnType)) { | |
| 123 | +// url = "/web/cop/resve/selectResveList.do"; | |
| 124 | +// redirectAttributes.addAttribute("resveInqire", "resveInqire"); //내 대관현황 | |
| 125 | +// } | |
| 126 | + | |
| 127 | + | |
| 128 | +// url = "/web/cop/resve/selectResveList.do?viewCnd=resveList"; | |
| 129 | + | |
| 130 | + return "redirect:" + url; | |
| 131 | + } | |
| 132 | + | |
| 133 | + | |
| 134 | + | |
| 135 | + /** | |
| 136 | + * (사용자)본인인증 요청 입력 Sample | |
| 137 | + * | |
| 138 | + * @param model | |
| 139 | + * @return | |
| 140 | + * @throws Exception | |
| 141 | + */ | |
| 142 | + @RequestMapping("/web/cop/bbs/pccInput.do") | |
| 143 | + public String pccInput(HttpServletRequest request, ModelMap model, RedirectAttributes redirectAttributes)throws Exception { | |
| 144 | + | |
| 145 | + return "web/cop/selfauth/pcc_V3_input_seed"; | |
| 146 | + } | |
| 147 | + | |
| 148 | + /** | |
| 149 | + * (사용자)본인인증 요청 팝업 Sample | |
| 150 | + * | |
| 151 | + * @param model | |
| 152 | + * @return | |
| 153 | + * @throws Exception | |
| 154 | + */ | |
| 155 | + @RequestMapping("/web/cop/bbs/selfauth.do") | |
| 156 | + public String selfauthTest(HttpServletRequest request, ModelMap model, RedirectAttributes redirectAttributes)throws Exception { | |
| 157 | + | |
| 158 | + return "web/cop/selfauth/pcc_V3_sample_seed"; | |
| 159 | + } | |
| 160 | + | |
| 161 | + | |
| 162 | + | |
| 163 | + /** | |
| 164 | + * (사용자)본인인증 결과 리턴 Sample | |
| 165 | + * | |
| 166 | + * @param model | |
| 167 | + * @return | |
| 168 | + * @throws Exception | |
| 169 | + */ | |
| 170 | + @RequestMapping("/web/cop/bbs/pccPopSeed.do") | |
| 171 | + public String pccPopSeed(HttpServletRequest request, ModelMap model, RedirectAttributes redirectAttributes)throws Exception { | |
| 172 | + | |
| 173 | + return "web/cop/selfauth/pcc_V3_popup_seed"; | |
| 174 | + } | |
| 175 | + | |
| 176 | + /** | |
| 177 | + * (사용자)본인인증 결과 Sample | |
| 178 | + * | |
| 179 | + * @param model | |
| 180 | + * @return | |
| 181 | + * @throws Exception | |
| 182 | + */ | |
| 183 | + @RequestMapping("/web/cop/bbs/pccResult.do") | |
| 184 | + public String pccResult(HttpServletRequest request, ModelMap model, RedirectAttributes redirectAttributes)throws Exception { | |
| 185 | + | |
| 186 | + return "web/cop/selfauth/pcc_V3_result_seed"; | |
| 187 | + } | |
| 188 | + | |
| 189 | + | |
| 190 | + /** | |
| 191 | + * (사용자)본인인증 안내 화면 휴대폰인증. 사용안함 | |
| 192 | + * | |
| 193 | + * @param | |
| 194 | + * @return | |
| 195 | + * @throws Exception | |
| 196 | + */ | |
| 197 | + @RequestMapping("/web/cop/selfauth/authentication.do") | |
| 198 | + public String authentication(ModelMap model) throws Exception { | |
| 199 | + | |
| 200 | + model.addAttribute("SITE_URL", SITE_URL); | |
| 201 | + return "web/cop/selfauth/authentication"; | |
| 202 | + } | |
| 203 | + | |
| 204 | + /** | |
| 205 | + * (사용자) 휴대폰 본인인증 요청 1 pop | |
| 206 | + * | |
| 207 | + * @param model | |
| 208 | + * @return | |
| 209 | + * @throws Exception | |
| 210 | + */ | |
| 211 | + @RequestMapping("/web/cop/selfauth/selfauth.do") | |
| 212 | + public String selfauth(HttpServletRequest request, ModelMap model, RedirectAttributes redirectAttributes)throws Exception { | |
| 213 | + // 사이렌 요청 URL 등록 : /web/cop/selfauth/selfauth.do | |
| 214 | + // test 서버 서비스 번호 001001 | |
| 215 | + | |
| 216 | + //날짜 생성 | |
| 217 | + Calendar today = Calendar.getInstance(); | |
| 218 | + SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss"); | |
| 219 | + String day = sdf.format(today.getTime()); | |
| 220 | + | |
| 221 | + java.util.Random ran = new Random(); | |
| 222 | + //랜덤 문자 길이 | |
| 223 | + int numLength = 6; | |
| 224 | + String randomStr = ""; | |
| 225 | + | |
| 226 | + for (int i = 0; i < numLength; i++) { | |
| 227 | + //0 ~ 9 랜덤 숫자 생성 | |
| 228 | + randomStr += ran.nextInt(10); | |
| 229 | + } | |
| 230 | + | |
| 231 | + String reqNum = day + randomStr; // //reqNum은 최대 40byte 까지 사용 가능 | |
| 232 | + String certDate=day; | |
| 233 | + | |
| 234 | + String exVar = "0000000000000000"; // 복호화용 임시필드 | |
| 235 | + String certGb = "H"; // 인증구분 H: 휴대폰 | |
| 236 | + String addVar = ""; | |
| 237 | + | |
| 238 | + request.getSession().setAttribute("reqNum", reqNum); // 결과값 복호화시 필요 | |
| 239 | + | |
| 240 | + //01. 암호화 모듈 선언 | |
| 241 | + SciSecuManager seed = new SciSecuManager(); | |
| 242 | + | |
| 243 | + //02. 1차 암호화 | |
| 244 | + String encStr = ""; | |
| 245 | + String reqInfo = SELFAUTH_SITE_ID+"^"+SELFAUTH_SRV_NO+"^"+reqNum+"^"+certDate+"^"+certGb+"^"+addVar+"^"+exVar; // 데이터 암호화 | |
| 246 | + encStr = seed.getEncPublic(reqInfo); | |
| 247 | + | |
| 248 | + //03. 위변조 검증 값 생성 | |
| 249 | + String hmacMsg = SciHmac.HMacEncriptPublic(encStr); | |
| 250 | + | |
| 251 | + //03. 2차 암호화 | |
| 252 | + reqInfo = seed.getEncPublic(encStr + "^" + hmacMsg + "^" + "0000000000000000"); //2차암호화 | |
| 253 | + | |
| 254 | + request.getSession().setAttribute("reqInfo", reqInfo); // 본인확인 요청 정보 | |
| 255 | + request.getSession().setAttribute("SITE_URL", SITE_URL); // 사이트 URL | |
| 256 | + | |
| 257 | + return "web/cop/selfauth/selfauth"; | |
| 258 | + } | |
| 259 | + | |
| 260 | + /** | |
| 261 | + * (사용자)본인인증 결과 휴대폰인증2 리턴 | |
| 262 | + * | |
| 263 | + * @param model | |
| 264 | + * @return | |
| 265 | + * @throws Exception | |
| 266 | + */ | |
| 267 | + @RequestMapping("/web/cop/selfauth/resultSeed.do") | |
| 268 | + public String resultSeed(HttpServletRequest request, ModelMap model, RedirectAttributes redirectAttributes)throws Exception { | |
| 269 | + | |
| 270 | + String retInfo = request.getParameter("retInfo").trim(); | |
| 271 | + String cookiereqNum = (String)request.getSession().getAttribute("reqNum"); | |
| 272 | + | |
| 273 | + //복화화용 변수 | |
| 274 | + String encPara = ""; | |
| 275 | + String encMsg = ""; | |
| 276 | + String msgChk = "N"; | |
| 277 | + | |
| 278 | + // 1. 암호화 모듈 (jar) Loading | |
| 279 | + SciSecuManager sciSecuMg = new SciSecuManager(); | |
| 280 | + //쿠키에서 생성한 값을 Key로 생성 한다. | |
| 281 | + retInfo = sciSecuMg.getDec(retInfo, cookiereqNum); | |
| 282 | + | |
| 283 | + // 2.1차 파싱--------------------------------------------------------------- | |
| 284 | + String[] aRetInfo1 = retInfo.split("\\^"); | |
| 285 | + | |
| 286 | + encPara = aRetInfo1[0]; //암호화된 통합 파라미터 | |
| 287 | + encMsg = aRetInfo1[1]; //암호화된 통합 파라미터의 Hash값 | |
| 288 | + | |
| 289 | + String encMsg2 = sciSecuMg.getMsg(encPara); | |
| 290 | + // 3.위/변조 검증 --------------------------------------------------------------- | |
| 291 | + if(encMsg2.equals(encMsg)) msgChk="Y"; | |
| 292 | + | |
| 293 | + // 비정상 접근 처리 | |
| 294 | + if(msgChk.equals("N")) { | |
| 295 | + model.addAttribute("msgChk", msgChk); | |
| 296 | + return "web/cop/selfauth/resultSeed"; | |
| 297 | + } | |
| 298 | + | |
| 299 | + | |
| 300 | + retInfo = sciSecuMg.getDec(encPara, cookiereqNum); | |
| 301 | + | |
| 302 | + String[] aRetInfo = retInfo.split("\\^"); | |
| 303 | + String name = aRetInfo[0]; //성명 | |
| 304 | +// String birYMD = aRetInfo[1]; //생년월일 | |
| 305 | +// String sex = aRetInfo[2]; //성별 | |
| 306 | +// String fgnGbn = aRetInfo[3]; //내외국인 구분값 | |
| 307 | + String di = aRetInfo[4]; //DI | |
| 308 | +// String ci1 = aRetInfo[5]; //CI | |
| 309 | +// String ci2 = aRetInfo[6]; //CI | |
| 310 | +// String civersion = aRetInfo[7]; //CI Version | |
| 311 | +// String reqNum = aRetInfo[8]; // 본인확인 요청번호 | |
| 312 | +// String result = aRetInfo[9]; // 본인확인결과 (Y/N) | |
| 313 | +// String certGb = aRetInfo[10]; // 인증수단 | |
| 314 | +// String cellNo = aRetInfo[11]; // 핸드폰 번호 | |
| 315 | +// String cellCorp = aRetInfo[12]; // 이동통신사 | |
| 316 | +// String certDate = aRetInfo[13]; // 검증시간 | |
| 317 | +// String addVar = aRetInfo[14]; | |
| 318 | + | |
| 319 | + // 비정상 접근 처리 | |
| 320 | + if(di == null || di.equals("")) { | |
| 321 | + model.addAttribute("msgChk", "N"); | |
| 322 | + return "web/cop/selfauth/resultSeed"; | |
| 323 | + } | |
| 324 | + | |
| 325 | + | |
| 326 | + // 사용자 세션생성 | |
| 327 | + UserVO userVO = new UserVO(); | |
| 328 | + userVO.setName(name); | |
| 329 | + userVO.setMblDn(di); | |
| 330 | + request.getSession().setAttribute("userVO", userVO); | |
| 331 | + | |
| 332 | + String returnType = (String)request.getSession().getAttribute("returnType"); | |
| 333 | + String returnUrl = (String)request.getSession().getAttribute("returnUrl"); | |
| 334 | + | |
| 335 | +// if (!("resveAdd").equals(returnType) && !("resveInqire").equals(returnType)) { | |
| 336 | +// BoardVO searchVO = (BoardVO)request.getSession().getAttribute("searchVO"); | |
| 337 | +// model.addAttribute("searchVO", searchVO); | |
| 338 | +// } | |
| 339 | + | |
| 340 | + model.addAttribute("returnType", returnType); | |
| 341 | + model.addAttribute("returnUrl", returnUrl); | |
| 342 | + model.addAttribute("name", name); | |
| 343 | + return "web/cop/selfauth/resultSeed"; | |
| 344 | + } | |
| 345 | + | |
| 346 | +} |
+++ src/main/java/egovframework/com/cmm/service/CmmnDetailCode.java
... | ... | @@ -0,0 +1,224 @@ |
| 1 | +package egovframework.com.cmm.service; | |
| 2 | + | |
| 3 | +import java.io.Serializable; | |
| 4 | + | |
| 5 | +/** | |
| 6 | + * 공통상세코드 모델 클래스 | |
| 7 | + * @author 공통서비스 개발팀 이중호 | |
| 8 | + * @since 2009.04.01 | |
| 9 | + * @version 1.0 | |
| 10 | + * @see | |
| 11 | + * | |
| 12 | + * <pre> | |
| 13 | + * << 개정이력(Modification Information) >> | |
| 14 | + * | |
| 15 | + * 수정일 수정자 수정내용 | |
| 16 | + * ------- -------- --------------------------- | |
| 17 | + * 2009.04.01 이중호 최초 생성 | |
| 18 | + * | |
| 19 | + * </pre> | |
| 20 | + */ | |
| 21 | +public class CmmnDetailCode implements Serializable { | |
| 22 | + | |
| 23 | + private static final long serialVersionUID = -6508801327314181679L; | |
| 24 | + | |
| 25 | + /* | |
| 26 | + * 코드ID | |
| 27 | + */ | |
| 28 | + private String codeId = ""; | |
| 29 | + | |
| 30 | + /* | |
| 31 | + * 코드ID명 | |
| 32 | + */ | |
| 33 | + private String codeIdNm = ""; | |
| 34 | + | |
| 35 | + /* | |
| 36 | + * 코드 | |
| 37 | + */ | |
| 38 | + private String code = ""; | |
| 39 | + | |
| 40 | + /* | |
| 41 | + * 코드명 | |
| 42 | + */ | |
| 43 | + private String codeNm = ""; | |
| 44 | + | |
| 45 | + /* | |
| 46 | + * 코드설명 | |
| 47 | + */ | |
| 48 | + private String codeDc = ""; | |
| 49 | + | |
| 50 | + /* | |
| 51 | + * 사용여부 | |
| 52 | + */ | |
| 53 | + private String useAt = ""; | |
| 54 | + | |
| 55 | + /* | |
| 56 | + * 최초등록자ID | |
| 57 | + */ | |
| 58 | + private String frstRegisterId = ""; | |
| 59 | + | |
| 60 | + /* | |
| 61 | + * 최종수정자ID | |
| 62 | + */ | |
| 63 | + private String lastUpdusrId = ""; | |
| 64 | + | |
| 65 | + private String tempCodeId = ""; | |
| 66 | + | |
| 67 | + private String menuCodeChange = ""; | |
| 68 | + | |
| 69 | + private String sortOver = ""; | |
| 70 | + | |
| 71 | + | |
| 72 | + /** | |
| 73 | + * codeId attribute 를 리턴한다. | |
| 74 | + * @return String | |
| 75 | + */ | |
| 76 | + public String getCodeId() { | |
| 77 | + return codeId; | |
| 78 | + } | |
| 79 | + | |
| 80 | + /** | |
| 81 | + * codeId attribute 값을 설정한다. | |
| 82 | + * @param codeId String | |
| 83 | + */ | |
| 84 | + public void setCodeId(String codeId) { | |
| 85 | + this.codeId = codeId; | |
| 86 | + } | |
| 87 | + | |
| 88 | + /** | |
| 89 | + * codeIdNm attribute 를 리턴한다. | |
| 90 | + * @return String | |
| 91 | + */ | |
| 92 | + public String getCodeIdNm() { | |
| 93 | + return codeIdNm; | |
| 94 | + } | |
| 95 | + | |
| 96 | + /** | |
| 97 | + * codeIdNm attribute 값을 설정한다. | |
| 98 | + * @param codeIdNm String | |
| 99 | + */ | |
| 100 | + public void setCodeIdNm(String codeIdNm) { | |
| 101 | + this.codeIdNm = codeIdNm; | |
| 102 | + } | |
| 103 | + | |
| 104 | + /** | |
| 105 | + * code attribute 를 리턴한다. | |
| 106 | + * @return String | |
| 107 | + */ | |
| 108 | + public String getCode() { | |
| 109 | + return code; | |
| 110 | + } | |
| 111 | + | |
| 112 | + /** | |
| 113 | + * code attribute 값을 설정한다. | |
| 114 | + * @param code String | |
| 115 | + */ | |
| 116 | + public void setCode(String code) { | |
| 117 | + this.code = code; | |
| 118 | + } | |
| 119 | + | |
| 120 | + /** | |
| 121 | + * codeNm attribute 를 리턴한다. | |
| 122 | + * @return String | |
| 123 | + */ | |
| 124 | + public String getCodeNm() { | |
| 125 | + return codeNm; | |
| 126 | + } | |
| 127 | + | |
| 128 | + /** | |
| 129 | + * codeNm attribute 값을 설정한다. | |
| 130 | + * @param codeNm String | |
| 131 | + */ | |
| 132 | + public void setCodeNm(String codeNm) { | |
| 133 | + this.codeNm = codeNm; | |
| 134 | + } | |
| 135 | + | |
| 136 | + /** | |
| 137 | + * codeDc attribute 를 리턴한다. | |
| 138 | + * @return String | |
| 139 | + */ | |
| 140 | + public String getCodeDc() { | |
| 141 | + return codeDc; | |
| 142 | + } | |
| 143 | + | |
| 144 | + /** | |
| 145 | + * codeDc attribute 값을 설정한다. | |
| 146 | + * @param codeDc String | |
| 147 | + */ | |
| 148 | + public void setCodeDc(String codeDc) { | |
| 149 | + this.codeDc = codeDc; | |
| 150 | + } | |
| 151 | + | |
| 152 | + /** | |
| 153 | + * useAt attribute 를 리턴한다. | |
| 154 | + * @return String | |
| 155 | + */ | |
| 156 | + public String getUseAt() { | |
| 157 | + return useAt; | |
| 158 | + } | |
| 159 | + | |
| 160 | + /** | |
| 161 | + * useAt attribute 값을 설정한다. | |
| 162 | + * @param useAt String | |
| 163 | + */ | |
| 164 | + public void setUseAt(String useAt) { | |
| 165 | + this.useAt = useAt; | |
| 166 | + } | |
| 167 | + | |
| 168 | + /** | |
| 169 | + * frstRegisterId attribute 를 리턴한다. | |
| 170 | + * @return String | |
| 171 | + */ | |
| 172 | + public String getFrstRegisterId() { | |
| 173 | + return frstRegisterId; | |
| 174 | + } | |
| 175 | + | |
| 176 | + /** | |
| 177 | + * frstRegisterId attribute 값을 설정한다. | |
| 178 | + * @param frstRegisterId String | |
| 179 | + */ | |
| 180 | + public void setFrstRegisterId(String frstRegisterId) { | |
| 181 | + this.frstRegisterId = frstRegisterId; | |
| 182 | + } | |
| 183 | + | |
| 184 | + /** | |
| 185 | + * lastUpdusrId attribute 를 리턴한다. | |
| 186 | + * @return String | |
| 187 | + */ | |
| 188 | + public String getLastUpdusrId() { | |
| 189 | + return lastUpdusrId; | |
| 190 | + } | |
| 191 | + | |
| 192 | + /** | |
| 193 | + * lastUpdusrId attribute 값을 설정한다. | |
| 194 | + * @param lastUpdusrId String | |
| 195 | + */ | |
| 196 | + public void setLastUpdusrId(String lastUpdusrId) { | |
| 197 | + this.lastUpdusrId = lastUpdusrId; | |
| 198 | + } | |
| 199 | + | |
| 200 | + public String getTempCodeId() { | |
| 201 | + return tempCodeId; | |
| 202 | + } | |
| 203 | + | |
| 204 | + public void setTempCodeId(String tempCodeId) { | |
| 205 | + this.tempCodeId = tempCodeId; | |
| 206 | + } | |
| 207 | + | |
| 208 | + public String getMenuCodeChange() { | |
| 209 | + return menuCodeChange; | |
| 210 | + } | |
| 211 | + | |
| 212 | + public void setMenuCodeChange(String menuCodeChange) { | |
| 213 | + this.menuCodeChange = menuCodeChange; | |
| 214 | + } | |
| 215 | + | |
| 216 | + public String getSortOver() { | |
| 217 | + return sortOver; | |
| 218 | + } | |
| 219 | + | |
| 220 | + public void setSortOver(String sortOver) { | |
| 221 | + this.sortOver = sortOver; | |
| 222 | + } | |
| 223 | + | |
| 224 | +} |
+++ src/main/java/egovframework/com/cmm/service/EgovCmmUseService.java
... | ... | @@ -0,0 +1,67 @@ |
| 1 | +package egovframework.com.cmm.service; | |
| 2 | + | |
| 3 | +import java.util.List; | |
| 4 | +import java.util.Map; | |
| 5 | + | |
| 6 | +import egovframework.com.cmm.ComDefaultCodeVO; | |
| 7 | +import egovframework.let.sym.ccm.cca.service.CmmnCodeVO; | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | +/** | |
| 12 | + * | |
| 13 | + * 공통코드등 전체 업무에서 공용해서 사용해야 하는 서비스를 정의하기 위한 서비스 인터페이스 | |
| 14 | + * @author 공통서비스 개발팀 이삼섭 | |
| 15 | + * @since 2009.04.01 | |
| 16 | + * @version 1.0 | |
| 17 | + * @see | |
| 18 | + * | |
| 19 | + * <pre> | |
| 20 | + * << 개정이력(Modification Information) >> | |
| 21 | + * | |
| 22 | + * 수정일 수정자 수정내용 | |
| 23 | + * ------- -------- --------------------------- | |
| 24 | + * 2009.03.11 이삼섭 최초 생성 | |
| 25 | + * | |
| 26 | + * </pre> | |
| 27 | + */ | |
| 28 | +public interface EgovCmmUseService { | |
| 29 | + | |
| 30 | + /** | |
| 31 | + * 공통코드를 조회한다. | |
| 32 | + * | |
| 33 | + * @param vo | |
| 34 | + * @return List(코드) | |
| 35 | + * @throws Exception | |
| 36 | + */ | |
| 37 | + public List<CmmnDetailCode> selectCmmCodeDetail(ComDefaultCodeVO vo) throws Exception; | |
| 38 | + | |
| 39 | + /** | |
| 40 | + * ComDefaultCodeVO의 리스트를 받아서 여러개의 코드 리스트를 맵에 담아서 리턴한다. | |
| 41 | + * | |
| 42 | + * @param voList | |
| 43 | + * @return Map(코드) | |
| 44 | + * @throws Exception | |
| 45 | + */ | |
| 46 | + public Map<String, List<CmmnDetailCode>> selectCmmCodeDetails(List<?> voList) throws Exception; | |
| 47 | + | |
| 48 | + /** | |
| 49 | + * 조직정보를 코드형태로 리턴한다. | |
| 50 | + * | |
| 51 | + * @param 조회조건정보 vo | |
| 52 | + * @return 조직정보 List | |
| 53 | + * @throws Exception | |
| 54 | + */ | |
| 55 | + public List<CmmnDetailCode> selectOgrnztIdDetail(ComDefaultCodeVO vo) throws Exception; | |
| 56 | + | |
| 57 | + /** | |
| 58 | + * 그룹정보를 코드형태로 리턴한다. | |
| 59 | + * | |
| 60 | + * @param 조회조건정보 vo | |
| 61 | + * @return 그룹정보 List | |
| 62 | + * @throws Exception | |
| 63 | + */ | |
| 64 | + public List<CmmnDetailCode> selectGroupIdDetail(ComDefaultCodeVO vo) throws Exception; | |
| 65 | + | |
| 66 | + public List<CmmnDetailCode> selectCmmDetailCodeList(CmmnCodeVO cmmnCodeVO) throws Exception; | |
| 67 | +} |
+++ src/main/java/egovframework/com/cmm/service/EgovFileMngService.java
... | ... | @@ -0,0 +1,181 @@ |
| 1 | +package egovframework.com.cmm.service; | |
| 2 | + | |
| 3 | +import java.util.List; | |
| 4 | +import java.util.Map; | |
| 5 | + | |
| 6 | +/** | |
| 7 | + * @Class Name : EgovFileMngService.java | |
| 8 | + * @Description : 파일정보의 관리를 위한 서비스 인터페이스 | |
| 9 | + * @Modification Information | |
| 10 | + * | |
| 11 | + * 수정일 수정자 수정내용 | |
| 12 | + * ------- ------- ------------------- | |
| 13 | + * 2009. 3. 25. 이삼섭 최초생성 | |
| 14 | + * | |
| 15 | + * @author 공통 서비스 개발팀 이삼섭 | |
| 16 | + * @since 2009. 3. 25. | |
| 17 | + * @version | |
| 18 | + * @see | |
| 19 | + * | |
| 20 | + */ | |
| 21 | +public interface EgovFileMngService { | |
| 22 | + | |
| 23 | + /** | |
| 24 | + * 파일에 대한 목록을 조회한다. | |
| 25 | + * | |
| 26 | + * @param fvo | |
| 27 | + * @return | |
| 28 | + * @throws Exception | |
| 29 | + */ | |
| 30 | + public List<FileVO> selectFileInfs(FileVO fvo) throws Exception; | |
| 31 | + | |
| 32 | + public List<FileVO> selectSecFileInfs(FileVO fvo) throws Exception;//보안관리 첨부파일 | |
| 33 | + | |
| 34 | + public List<FileVO> selectBizFileInfs(FileVO fvo) throws Exception;//사업관리 첨부파일 | |
| 35 | + | |
| 36 | + public List<FileVO> selectEvalFileInfs(FileVO fvo) throws Exception;//개인정보실태평가,국정원실태평가,외부감사 첨부파일 | |
| 37 | + | |
| 38 | + public List<FileVO> selectNisEvalFileInfs(FileVO fvo) throws Exception;//국정원 실태평가 - 세부 평가지표 및 결과 | |
| 39 | + | |
| 40 | + public List<FileVO> selectSLAFileInfs(FileVO fvo) throws Exception;//개인정보실태평가 첨부파일 | |
| 41 | + | |
| 42 | + public List<FileVO> selectPerFileInfs(FileVO fvo) throws Exception;//정기점검 첨부파일 | |
| 43 | + | |
| 44 | + /** | |
| 45 | + * 하나의 파일에 대한 정보(속성 및 상세)를 등록한다. | |
| 46 | + * | |
| 47 | + * @param fvo | |
| 48 | + * @throws Exception | |
| 49 | + */ | |
| 50 | + public String insertFileInf(FileVO fvo) throws Exception; | |
| 51 | + | |
| 52 | + /** | |
| 53 | + * 여러 개의 파일에 대한 정보(속성 및 상세)를 등록한다. | |
| 54 | + * | |
| 55 | + * @param fvoList | |
| 56 | + * @throws Exception | |
| 57 | + */ | |
| 58 | + public String insertFileInfs(List<?> fvoList) throws Exception; | |
| 59 | + | |
| 60 | + /** | |
| 61 | + * 여러 개의 파일에 대한 정보(속성 및 상세)를 수정한다. | |
| 62 | + * | |
| 63 | + * @param fvoList | |
| 64 | + * @throws Exception | |
| 65 | + */ | |
| 66 | + public void updateFileInfs(List<?> fvoList) throws Exception; | |
| 67 | + | |
| 68 | + /** | |
| 69 | + * 여러 개의 파일을 삭제한다. | |
| 70 | + * | |
| 71 | + * @param fvoList | |
| 72 | + * @throws Exception | |
| 73 | + */ | |
| 74 | + public void deleteFileInfs(List<?> fvoList) throws Exception; | |
| 75 | + | |
| 76 | + /** | |
| 77 | + * 하나의 파일을 삭제한다. | |
| 78 | + * | |
| 79 | + * @param fvo | |
| 80 | + * @throws Exception | |
| 81 | + */ | |
| 82 | + public void deleteFileInf(FileVO fvo) throws Exception; | |
| 83 | + | |
| 84 | + /** | |
| 85 | + * 파일에 대한 상세정보를 조회한다. | |
| 86 | + * | |
| 87 | + * @param fvo | |
| 88 | + * @return | |
| 89 | + * @throws Exception | |
| 90 | + */ | |
| 91 | + public FileVO selectFileInf(FileVO fvo) throws Exception; | |
| 92 | + | |
| 93 | + /** | |
| 94 | + * 파일 구분자에 대한 최대값을 구한다. | |
| 95 | + * | |
| 96 | + * @param fvo | |
| 97 | + * @return | |
| 98 | + * @throws Exception | |
| 99 | + */ | |
| 100 | + public int getMaxFileSN(FileVO fvo) throws Exception; | |
| 101 | + | |
| 102 | + /** | |
| 103 | + * 전체 파일을 삭제한다. | |
| 104 | + * | |
| 105 | + * @param fvo | |
| 106 | + * @throws Exception | |
| 107 | + */ | |
| 108 | + public void deleteAllFileInf(FileVO fvo) throws Exception; | |
| 109 | + | |
| 110 | + /** | |
| 111 | + * 파일명 검색에 대한 목록을 조회한다. | |
| 112 | + * | |
| 113 | + * @param fvo | |
| 114 | + * @return | |
| 115 | + * @throws Exception | |
| 116 | + */ | |
| 117 | + public Map<String, Object> selectFileListByFileNm(FileVO fvo) throws Exception; | |
| 118 | + | |
| 119 | + /** | |
| 120 | + * 이미지 파일에 대한 목록을 조회한다. | |
| 121 | + * | |
| 122 | + * @param vo | |
| 123 | + * @return | |
| 124 | + * @throws Exception | |
| 125 | + */ | |
| 126 | + public List<FileVO> selectImageFileList(FileVO vo) throws Exception; | |
| 127 | + | |
| 128 | + /** | |
| 129 | + * 이미지 파일에 대한 목록을 업데이트하다. | |
| 130 | + * | |
| 131 | + * @param vo | |
| 132 | + * @return | |
| 133 | + * @throws Exception | |
| 134 | + */ | |
| 135 | + public void updateFileInfo(List<FileVO> _result) throws Exception; | |
| 136 | + | |
| 137 | + public void updateFileInf(FileVO fileVO) throws Exception; | |
| 138 | + | |
| 139 | + public String insertItsmFileInfs(List<FileVO> result) throws Exception; | |
| 140 | + | |
| 141 | + public FileVO selectItsmFileInf(FileVO fileVO) throws Exception; | |
| 142 | + | |
| 143 | + public FileVO selectItsmperFileInf(FileVO fileVO) throws Exception; | |
| 144 | + | |
| 145 | + public FileVO selectNisEvalItemFileInfo(FileVO fileVO) throws Exception; | |
| 146 | + | |
| 147 | + public String insertPerFileInfs(List<FileVO> result) throws Exception; | |
| 148 | + | |
| 149 | + public String insertNisEvitFileInfs(List<FileVO> result) throws Exception; | |
| 150 | + | |
| 151 | + public String insertAsserFileInfs(List<FileVO> result) throws Exception; | |
| 152 | + | |
| 153 | + public FileVO selectFileAssertInf(FileVO vo) throws Exception; | |
| 154 | + | |
| 155 | + public FileVO selectFileUserInf(FileVO vo) throws Exception; | |
| 156 | + | |
| 157 | + public String insertAsserFileInf(FileVO resultFile) throws Exception; | |
| 158 | + | |
| 159 | + public String insertUserFileInf(FileVO resultFile) throws Exception; | |
| 160 | + | |
| 161 | + public String insertAsserFilePlus(FileVO resultFile) throws Exception; | |
| 162 | + | |
| 163 | + public void deleteAssertFileInf(FileVO fileVO) throws Exception; | |
| 164 | + | |
| 165 | + public void deleteUserFileInf(FileVO fileVO) throws Exception; | |
| 166 | + | |
| 167 | + public List<FileVO> selectAssertFileList(FileVO fileVO) throws Exception; | |
| 168 | + | |
| 169 | + public void deleteAssertFileInfByRefIdList(FileVO paramFileVO) throws Exception; | |
| 170 | + | |
| 171 | + public List<FileVO> selectIpFileList(FileVO fileVO) throws Exception; | |
| 172 | + | |
| 173 | + public String insertIpFileInf(FileVO resultFile) throws Exception; | |
| 174 | + | |
| 175 | + public void deleteIpFileInf(FileVO fileVO) throws Exception; | |
| 176 | + | |
| 177 | + public FileVO selectItsmIpFileInf(FileVO fileVO) throws Exception; | |
| 178 | + | |
| 179 | + FileVO selectFileUSertInf(FileVO vo) throws Exception; | |
| 180 | + | |
| 181 | +} |
+++ src/main/java/egovframework/com/cmm/service/EgovFileMngUtil.java
... | ... | @@ -0,0 +1,735 @@ |
| 1 | +package egovframework.com.cmm.service; | |
| 2 | + | |
| 3 | +import java.awt.image.BufferedImage; | |
| 4 | +import java.io.BufferedInputStream; | |
| 5 | +import java.io.BufferedOutputStream; | |
| 6 | +import java.io.File; | |
| 7 | +import java.io.FileInputStream; | |
| 8 | +import java.io.FileNotFoundException; | |
| 9 | +import java.io.FileOutputStream; | |
| 10 | +import java.io.IOException; | |
| 11 | +import java.io.InputStream; | |
| 12 | +import java.io.OutputStream; | |
| 13 | +import java.nio.file.Files; | |
| 14 | +import java.util.ArrayList; | |
| 15 | +import java.util.Iterator; | |
| 16 | +import java.util.List; | |
| 17 | +import java.util.ListIterator; | |
| 18 | +import java.util.Map; | |
| 19 | + | |
| 20 | +import javax.annotation.Resource; | |
| 21 | +import javax.imageio.ImageIO; | |
| 22 | +import javax.servlet.http.HttpServletRequest; | |
| 23 | +import javax.servlet.http.HttpServletResponse; | |
| 24 | + | |
| 25 | +import org.apache.commons.lang3.ArrayUtils; | |
| 26 | +import org.slf4j.Logger; | |
| 27 | +import org.slf4j.LoggerFactory; | |
| 28 | +import org.springframework.stereotype.Component; | |
| 29 | +import org.springframework.util.FileCopyUtils; | |
| 30 | +import org.springframework.web.multipart.MultipartFile; | |
| 31 | + | |
| 32 | +import egovframework.let.itsm.asset.service.AssetVO; | |
| 33 | +import egovframework.let.utl.fcc.service.EgovStringUtil; | |
| 34 | +import egovframework.rte.fdl.idgnr.EgovIdGnrService; | |
| 35 | +import egovframework.rte.fdl.property.EgovPropertyService; | |
| 36 | +import net.coobird.thumbnailator.Thumbnails; | |
| 37 | + | |
| 38 | +/** | |
| 39 | + * @Class Name : EgovFileMngUtil.java | |
| 40 | + * @Description : 메시지 처리 관련 유틸리티 | |
| 41 | + * @Modification Information | |
| 42 | + * | |
| 43 | + * 수정일 수정자 수정내용 | |
| 44 | + * ------- -------- --------------------------- | |
| 45 | + * 2009.02.13 이삼섭 최초 생성 | |
| 46 | + * 2011.08.31 JJY 경량환경 템플릿 커스터마이징버전 생성 | |
| 47 | + * | |
| 48 | + * @author 공통 서비스 개발팀 이삼섭 | |
| 49 | + * @since 2009. 02. 13 | |
| 50 | + * @version 1.0 | |
| 51 | + * @see | |
| 52 | + * | |
| 53 | + */ | |
| 54 | +@Component("EgovFileMngUtil") | |
| 55 | +public class EgovFileMngUtil { | |
| 56 | + | |
| 57 | + public static final int BUFF_SIZE = 2048; | |
| 58 | + | |
| 59 | + @Resource(name = "propertiesService") | |
| 60 | + protected EgovPropertyService propertyService; | |
| 61 | + | |
| 62 | + @Resource(name = "egovFileIdGnrService") | |
| 63 | + private EgovIdGnrService idgenService; | |
| 64 | + | |
| 65 | + private static final Logger LOGGER = LoggerFactory.getLogger(EgovFileMngUtil.class); | |
| 66 | + | |
| 67 | + /** | |
| 68 | + * 첨부파일에 대한 목록 정보를 취득한다. | |
| 69 | + * | |
| 70 | + * @param files | |
| 71 | + * @return | |
| 72 | + * @throws Exception | |
| 73 | + */ | |
| 74 | + public List<FileVO> parseFileInf(Map<String, MultipartFile> files, String KeyStr, int fileKeyParam, String atchFileId, String storePath, String isThumbFile) throws Exception { | |
| 75 | + int fileKey = fileKeyParam; | |
| 76 | + | |
| 77 | + String storePathString = ""; | |
| 78 | + String atchFileIdString = ""; | |
| 79 | + | |
| 80 | + if ("".equals(storePath) || storePath == null) { | |
| 81 | + storePathString = propertyService.getString("Globals.fileStorePath"); | |
| 82 | + } else { | |
| 83 | + storePathString = propertyService.getString(storePath); | |
| 84 | + } | |
| 85 | + | |
| 86 | + if ("".equals(atchFileId) || atchFileId == null) { | |
| 87 | + atchFileIdString = idgenService.getNextStringId(); | |
| 88 | + } else { | |
| 89 | + atchFileIdString = atchFileId; | |
| 90 | + } | |
| 91 | + | |
| 92 | + File saveFolder = new File(storePathString); | |
| 93 | + | |
| 94 | + if (!saveFolder.exists() || saveFolder.isFile()) { | |
| 95 | + saveFolder.mkdirs(); | |
| 96 | + } | |
| 97 | + | |
| 98 | + | |
| 99 | +// Iterator<Entry<String, MultipartFile>> itr_bak = files.entrySet().iterator(); | |
| 100 | +// MultipartFile file_bak; | |
| 101 | +// while (itr_bak.hasNext()) { | |
| 102 | +// Entry<String, MultipartFile> entry = itr_bak.next(); | |
| 103 | +// | |
| 104 | +// file_bak = entry.getValue(); | |
| 105 | +// String orginFileName = file_bak.getOriginalFilename(); | |
| 106 | +// String aa = "aa"; | |
| 107 | +// } | |
| 108 | + | |
| 109 | + List<MultipartFile> tmp = new ArrayList<MultipartFile>(files.values()); | |
| 110 | + ListIterator<MultipartFile> itr = tmp.listIterator(tmp.size()); | |
| 111 | + | |
| 112 | + | |
| 113 | + MultipartFile file; | |
| 114 | + String filePath = ""; | |
| 115 | + List<FileVO> result = new ArrayList<FileVO>(); | |
| 116 | + FileVO fvo; | |
| 117 | + | |
| 118 | + while (itr.hasPrevious()) { | |
| 119 | +// Entry<String, MultipartFile> entry = itr.next(); | |
| 120 | +// file = entry.getValue(); | |
| 121 | + | |
| 122 | + file = itr.previous(); | |
| 123 | + | |
| 124 | + | |
| 125 | + String orginFileName = file.getOriginalFilename(); | |
| 126 | + | |
| 127 | + //-------------------------------------- | |
| 128 | + // 원 파일명이 없는 경우 처리 | |
| 129 | + // (첨부가 되지 않은 input file type) | |
| 130 | + //-------------------------------------- | |
| 131 | + if ("".equals(orginFileName)) { | |
| 132 | + continue; | |
| 133 | + } | |
| 134 | + ////------------------------------------ | |
| 135 | + | |
| 136 | + int index = orginFileName.lastIndexOf("."); | |
| 137 | + String fileExt = orginFileName.substring(index + 1); | |
| 138 | + String newName = KeyStr + EgovStringUtil.getTimeStamp() + fileKey; | |
| 139 | + long _size = file.getSize(); | |
| 140 | + | |
| 141 | + if (!"".equals(orginFileName)) { | |
| 142 | + filePath = storePathString + File.separator + newName; | |
| 143 | + file.transferTo(new File(filePath)); | |
| 144 | + } | |
| 145 | + | |
| 146 | + String thumbName = ""; | |
| 147 | + if(("thumbFile").equals(isThumbFile)) { | |
| 148 | + // file inputstream 으로 섬네일 생성후 저장 | |
| 149 | +// BufferedImage originalImage = ImageIO.read(new File("original.png")); | |
| 150 | + BufferedImage originalImage = ImageIO.read(file.getInputStream()); | |
| 151 | +// BufferedImage thumbnail = Thumbnails.of(originalImage).scale(0.25).asBufferedImage(); // 해상도 | |
| 152 | + BufferedImage thumbnail = Thumbnails.of(originalImage).size(360, 260).asBufferedImage(); // 사이즈 | |
| 153 | + | |
| 154 | + thumbName = newName + "_THUMB"; | |
| 155 | + String thumFilePath = storePathString + File.separator + thumbName; | |
| 156 | + File thumbFile = new File(thumFilePath); | |
| 157 | + ImageIO.write(thumbnail, fileExt, thumbFile); | |
| 158 | + | |
| 159 | + // 서버 파일로 섬네일 저장 | |
| 160 | +// File destinationDir = new File(filePath); | |
| 161 | +// Thumbnails.of(filePath).size(200, 200).toFiles(saveFolder, Rename.PREFIX_DOT_THUMBNAIL); // 이미지 확장자 파일 필요 | |
| 162 | + } | |
| 163 | + | |
| 164 | + fvo = new FileVO(); | |
| 165 | + fvo.setFileExtsn(fileExt); | |
| 166 | + fvo.setFileStreCours(storePathString); | |
| 167 | + fvo.setFileMg(Long.toString(_size)); | |
| 168 | + fvo.setOrignlFileNm(orginFileName); | |
| 169 | + fvo.setStreFileNm(newName); | |
| 170 | + fvo.setAtchFileId(atchFileIdString); | |
| 171 | + fvo.setFileSn(String.valueOf(fileKey)); | |
| 172 | + fvo.setThumbFileNm(thumbName); | |
| 173 | + | |
| 174 | +// writeFile(file, newName, storePathString); | |
| 175 | + result.add(fvo); | |
| 176 | + | |
| 177 | + fileKey++; | |
| 178 | + } | |
| 179 | + | |
| 180 | + return result; | |
| 181 | + } | |
| 182 | + | |
| 183 | + /** | |
| 184 | + * 첨부파일을 서버에 저장한다. | |
| 185 | + * | |
| 186 | + * @param file | |
| 187 | + * @param newName | |
| 188 | + * @param stordFilePath | |
| 189 | + * @throws Exception | |
| 190 | + */ | |
| 191 | + protected void writeUploadedFile(MultipartFile file, String newName, String stordFilePath) throws Exception { | |
| 192 | + InputStream stream = null; | |
| 193 | + OutputStream bos = null; | |
| 194 | + String stordFilePathReal = (stordFilePath==null?"":stordFilePath).replaceAll("..",""); | |
| 195 | + try { | |
| 196 | + stream = file.getInputStream(); | |
| 197 | + File cFile = new File(stordFilePathReal); | |
| 198 | + | |
| 199 | + if (!cFile.isDirectory()) { | |
| 200 | + boolean _flag = cFile.mkdir(); | |
| 201 | + if (!_flag) { | |
| 202 | + throw new IOException("Directory creation Failed "); | |
| 203 | + } | |
| 204 | + } | |
| 205 | + | |
| 206 | + bos = new FileOutputStream(stordFilePathReal + File.separator + newName); | |
| 207 | + | |
| 208 | + int bytesRead = 0; | |
| 209 | + byte[] buffer = new byte[BUFF_SIZE]; | |
| 210 | + | |
| 211 | + while ((bytesRead = stream.read(buffer, 0, BUFF_SIZE)) != -1) { | |
| 212 | + bos.write(buffer, 0, bytesRead); | |
| 213 | + } | |
| 214 | + } catch (FileNotFoundException fnfe) { | |
| 215 | + LOGGER.debug("fnfe: {}", fnfe); | |
| 216 | + } catch (IOException ioe) { | |
| 217 | + LOGGER.debug("ioe: {}", ioe); | |
| 218 | + } catch (Exception e) { | |
| 219 | + LOGGER.debug("e: {}", e); | |
| 220 | + } finally { | |
| 221 | + if (bos != null) { | |
| 222 | + try { | |
| 223 | + bos.close(); | |
| 224 | + } catch (Exception ignore) { | |
| 225 | + LOGGER.debug("IGNORED: {}", ignore.getMessage()); | |
| 226 | + } | |
| 227 | + } | |
| 228 | + if (stream != null) { | |
| 229 | + try { | |
| 230 | + stream.close(); | |
| 231 | + } catch (Exception ignore) { | |
| 232 | + LOGGER.debug("IGNORED: {}", ignore.getMessage()); | |
| 233 | + } | |
| 234 | + } | |
| 235 | + } | |
| 236 | + } | |
| 237 | + | |
| 238 | + /** | |
| 239 | + * 서버의 파일을 다운로드한다. | |
| 240 | + * | |
| 241 | + * @param request | |
| 242 | + * @param response | |
| 243 | + * @throws Exception | |
| 244 | + */ | |
| 245 | + public static void downFile(HttpServletRequest request, HttpServletResponse response) throws Exception { | |
| 246 | + | |
| 247 | + String downFileName = EgovStringUtil.isNullToString(request.getAttribute("downFile")).replaceAll("..",""); | |
| 248 | + String orgFileName = EgovStringUtil.isNullToString(request.getAttribute("orgFileName")).replaceAll("..",""); | |
| 249 | + | |
| 250 | + /*if ((String)request.getAttribute("downFile") == null) { | |
| 251 | + downFileName = ""; | |
| 252 | + } else { | |
| 253 | + downFileName = EgovStringUtil.isNullToString(request.getAttribute("downFile")); | |
| 254 | + }*/ | |
| 255 | + | |
| 256 | + /*if ((String)request.getAttribute("orgFileName") == null) { | |
| 257 | + orgFileName = ""; | |
| 258 | + } else { | |
| 259 | + orgFileName = (String)request.getAttribute("orginFile"); | |
| 260 | + }*/ | |
| 261 | + | |
| 262 | + File file = new File(downFileName); | |
| 263 | + | |
| 264 | + if (!file.exists()) { | |
| 265 | + throw new FileNotFoundException(downFileName); | |
| 266 | + } | |
| 267 | + | |
| 268 | + if (!file.isFile()) { | |
| 269 | + throw new FileNotFoundException(downFileName); | |
| 270 | + } | |
| 271 | + | |
| 272 | + byte[] b = new byte[BUFF_SIZE]; //buffer size 2K. | |
| 273 | + String fName = (new String(orgFileName.getBytes(), "UTF-8")).replaceAll("\r\n",""); | |
| 274 | + response.setContentType("application/x-msdownload"); | |
| 275 | + response.setHeader("Content-Disposition:", "attachment; filename=" + fName); | |
| 276 | + response.setHeader("Content-Transfer-Encoding", "binary"); | |
| 277 | + response.setHeader("Pragma", "no-cache"); | |
| 278 | + response.setHeader("Expires", "0"); | |
| 279 | + | |
| 280 | + BufferedInputStream fin = null; | |
| 281 | + BufferedOutputStream outs = null; | |
| 282 | + | |
| 283 | + try { | |
| 284 | + fin = new BufferedInputStream(new FileInputStream(file)); | |
| 285 | + outs = new BufferedOutputStream(response.getOutputStream()); | |
| 286 | + int read = 0; | |
| 287 | + | |
| 288 | + while ((read = fin.read(b)) != -1) { | |
| 289 | + outs.write(b, 0, read); | |
| 290 | + } | |
| 291 | + } finally { | |
| 292 | + if (outs != null) { | |
| 293 | + try { | |
| 294 | + outs.close(); | |
| 295 | + } catch (Exception ignore) { | |
| 296 | + LOGGER.debug("IGNORED: {}", ignore.getMessage()); | |
| 297 | + } | |
| 298 | + } | |
| 299 | + if (fin != null) { | |
| 300 | + try { | |
| 301 | + fin.close(); | |
| 302 | + } catch (Exception ignore) { | |
| 303 | + LOGGER.debug("IGNORED: {}", ignore.getMessage()); | |
| 304 | + } | |
| 305 | + } | |
| 306 | + } | |
| 307 | + } | |
| 308 | + | |
| 309 | + /** | |
| 310 | + * 첨부로 등록된 파일을 서버에 업로드한다. | |
| 311 | + * | |
| 312 | + * @param file | |
| 313 | + * @return | |
| 314 | + * @throws Exception | |
| 315 | + | |
| 316 | + public static HashMap<String, String> uploadFile(MultipartFile file) throws Exception { | |
| 317 | + | |
| 318 | + HashMap<String, String> map = new HashMap<String, String>(); | |
| 319 | + //Write File 이후 Move File???? | |
| 320 | + String newName = ""; | |
| 321 | + String stordFilePath = EgovProperties.getProperty("Globals.fileStorePath"); | |
| 322 | + String orginFileName = file.getOriginalFilename(); | |
| 323 | + | |
| 324 | + int index = orginFileName.lastIndexOf("."); | |
| 325 | + //String fileName = orginFileName.substring(0, _index); | |
| 326 | + String fileExt = orginFileName.substring(index + 1); | |
| 327 | + long size = file.getSize(); | |
| 328 | + | |
| 329 | + //newName 은 Naming Convention에 의해서 생성 | |
| 330 | + newName = EgovStringUtil.getTimeStamp() + "." + fileExt; | |
| 331 | + writeFile(file, newName, stordFilePath); | |
| 332 | + //storedFilePath는 지정 | |
| 333 | + map.put(Globals.ORIGIN_FILE_NM, orginFileName); | |
| 334 | + map.put(Globals.UPLOAD_FILE_NM, newName); | |
| 335 | + map.put(Globals.FILE_EXT, fileExt); | |
| 336 | + map.put(Globals.FILE_PATH, stordFilePath); | |
| 337 | + map.put(Globals.FILE_SIZE, String.valueOf(size)); | |
| 338 | + | |
| 339 | + return map; | |
| 340 | + } | |
| 341 | +*/ | |
| 342 | + /** | |
| 343 | + * 파일을 실제 물리적인 경로에 생성한다. | |
| 344 | + * | |
| 345 | + * @param file | |
| 346 | + * @param newName | |
| 347 | + * @param stordFilePath | |
| 348 | + * @throws Exception | |
| 349 | + */ | |
| 350 | + protected static void writeFile(MultipartFile file, String newName, String stordFilePath) throws Exception { | |
| 351 | + InputStream stream = null; | |
| 352 | + OutputStream bos = null; | |
| 353 | + newName = EgovStringUtil.isNullToString(newName).replaceAll("..", ""); | |
| 354 | + stordFilePath = EgovStringUtil.isNullToString(stordFilePath).replaceAll("..", ""); | |
| 355 | + try { | |
| 356 | + stream = file.getInputStream(); | |
| 357 | + File cFile = new File(stordFilePath); | |
| 358 | + | |
| 359 | + if (!cFile.isDirectory()) | |
| 360 | + cFile.mkdir(); | |
| 361 | + | |
| 362 | + bos = new FileOutputStream(stordFilePath + File.separator + newName); | |
| 363 | + | |
| 364 | + int bytesRead = 0; | |
| 365 | + byte[] buffer = new byte[BUFF_SIZE]; | |
| 366 | + | |
| 367 | + while ((bytesRead = stream.read(buffer, 0, BUFF_SIZE)) != -1) { | |
| 368 | + bos.write(buffer, 0, bytesRead); | |
| 369 | + } | |
| 370 | + } catch (FileNotFoundException fnfe) { | |
| 371 | + LOGGER.debug("fnfe: {}",fnfe); | |
| 372 | + } catch (IOException ioe) { | |
| 373 | + LOGGER.debug("ioe: {}", ioe); | |
| 374 | + } catch (Exception e) { | |
| 375 | + LOGGER.debug("e: {}", e); | |
| 376 | + } finally { | |
| 377 | + if (bos != null) { | |
| 378 | + try { | |
| 379 | + bos.close(); | |
| 380 | + } catch (Exception ignore) { | |
| 381 | + LOGGER.debug("IGNORED: {}", ignore.getMessage()); | |
| 382 | + } | |
| 383 | + } | |
| 384 | + if (stream != null) { | |
| 385 | + try { | |
| 386 | + stream.close(); | |
| 387 | + } catch (Exception ignore) { | |
| 388 | + LOGGER.debug("IGNORED: {}", ignore.getMessage()); | |
| 389 | + } | |
| 390 | + } | |
| 391 | + } | |
| 392 | + } | |
| 393 | + | |
| 394 | + /** | |
| 395 | + * 서버 파일에 대하여 다운로드를 처리한다. | |
| 396 | + * | |
| 397 | + * @param response | |
| 398 | + * @param streFileNm | |
| 399 | + * : 파일저장 경로가 포함된 형태 | |
| 400 | + * @param orignFileNm | |
| 401 | + * @throws Exception | |
| 402 | + */ | |
| 403 | + public void downFile(HttpServletResponse response, String streFileNm, String orignFileNm) throws Exception { | |
| 404 | + // String downFileName = EgovStringUtil.isNullToString(request.getAttribute("downFile")).replaceAll("..",""); | |
| 405 | + // String orgFileName = EgovStringUtil.isNullToString(request.getAttribute("orgFileName")).replaceAll("..",""); | |
| 406 | + String downFileName = EgovStringUtil.isNullToString(streFileNm).replaceAll("..",""); | |
| 407 | + String orgFileName = EgovStringUtil.isNullToString(orignFileNm).replaceAll("..",""); | |
| 408 | + | |
| 409 | + File file = new File(downFileName); | |
| 410 | + //log.debug(this.getClass().getName()+" downFile downFileName "+downFileName); | |
| 411 | + //log.debug(this.getClass().getName()+" downFile orgFileName "+orgFileName); | |
| 412 | + | |
| 413 | + if (!file.exists()) { | |
| 414 | + throw new FileNotFoundException(downFileName); | |
| 415 | + } | |
| 416 | + | |
| 417 | + if (!file.isFile()) { | |
| 418 | + throw new FileNotFoundException(downFileName); | |
| 419 | + } | |
| 420 | + | |
| 421 | + //byte[] b = new byte[BUFF_SIZE]; //buffer size 2K. | |
| 422 | + int fSize = (int)file.length(); | |
| 423 | + if (fSize > 0) { | |
| 424 | + BufferedInputStream in = null; | |
| 425 | + | |
| 426 | + try { | |
| 427 | + in = new BufferedInputStream(new FileInputStream(file)); | |
| 428 | + | |
| 429 | + String mimetype = "text/html"; //"application/x-msdownload" | |
| 430 | + | |
| 431 | + response.setBufferSize(fSize); | |
| 432 | + response.setContentType(mimetype); | |
| 433 | + response.setHeader("Content-Disposition:", "attachment; filename=" + orgFileName); | |
| 434 | + response.setContentLength(fSize); | |
| 435 | + //response.setHeader("Content-Transfer-Encoding","binary"); | |
| 436 | + //response.setHeader("Pragma","no-cache"); | |
| 437 | + //response.setHeader("Expires","0"); | |
| 438 | + FileCopyUtils.copy(in, response.getOutputStream()); | |
| 439 | + } finally { | |
| 440 | + if (in != null) { | |
| 441 | + try { | |
| 442 | + in.close(); | |
| 443 | + } catch (Exception ignore) { | |
| 444 | + | |
| 445 | + LOGGER.debug("IGNORED: {}", ignore.getMessage()); | |
| 446 | + } | |
| 447 | + } | |
| 448 | + } | |
| 449 | + response.getOutputStream().flush(); | |
| 450 | + response.getOutputStream().close(); | |
| 451 | + } | |
| 452 | + | |
| 453 | + /* | |
| 454 | + String uploadPath = propertiesService.getString("fileDir"); | |
| 455 | + | |
| 456 | + File uFile = new File(uploadPath, requestedFile); | |
| 457 | + int fSize = (int) uFile.length(); | |
| 458 | + | |
| 459 | + if (fSize > 0) { | |
| 460 | + BufferedInputStream in = new BufferedInputStream(new FileInputStream(uFile)); | |
| 461 | + | |
| 462 | + String mimetype = "text/html"; | |
| 463 | + | |
| 464 | + response.setBufferSize(fSize); | |
| 465 | + response.setContentType(mimetype); | |
| 466 | + response.setHeader("Content-Disposition", "attachment; filename=\"" | |
| 467 | + + requestedFile + "\""); | |
| 468 | + response.setContentLength(fSize); | |
| 469 | + | |
| 470 | + FileCopyUtils.copy(in, response.getOutputStream()); | |
| 471 | + in.close(); | |
| 472 | + response.getOutputStream().flush(); | |
| 473 | + response.getOutputStream().close(); | |
| 474 | + } else { | |
| 475 | + response.setContentType("text/html"); | |
| 476 | + PrintWriter printwriter = response.getWriter(); | |
| 477 | + printwriter.println("<html>"); | |
| 478 | + printwriter.println("<br><br><br><h2>Could not get file name:<br>" + requestedFile + "</h2>"); | |
| 479 | + printwriter.println("<br><br><br><center><h3><a href='javascript: history.go(-1)'>Back</a></h3></center>"); | |
| 480 | + printwriter.println("<br><br><br>© webAccess"); | |
| 481 | + printwriter.println("</html>"); | |
| 482 | + printwriter.flush(); | |
| 483 | + printwriter.close(); | |
| 484 | + } | |
| 485 | + //*/ | |
| 486 | + | |
| 487 | + | |
| 488 | + /* | |
| 489 | + response.setContentType("application/x-msdownload"); | |
| 490 | + response.setHeader("Content-Disposition:", "attachment; filename=" + new String(orgFileName.getBytes(),"UTF-8" )); | |
| 491 | + response.setHeader("Content-Transfer-Encoding","binary"); | |
| 492 | + response.setHeader("Pragma","no-cache"); | |
| 493 | + response.setHeader("Expires","0"); | |
| 494 | + | |
| 495 | + BufferedInputStream fin = new BufferedInputStream(new FileInputStream(file)); | |
| 496 | + BufferedOutputStream outs = new BufferedOutputStream(response.getOutputStream()); | |
| 497 | + int read = 0; | |
| 498 | + | |
| 499 | + while ((read = fin.read(b)) != -1) { | |
| 500 | + outs.write(b,0,read); | |
| 501 | + } | |
| 502 | + log.debug(this.getClass().getName()+" BufferedOutputStream Write Complete!!! "); | |
| 503 | + | |
| 504 | + outs.close(); | |
| 505 | + fin.close(); | |
| 506 | + //*/ | |
| 507 | + } | |
| 508 | + | |
| 509 | + public FileVO parseFileInfOne(MultipartFile multipartFile, String KeyStr, int fileKeyParam, String atchFileId, | |
| 510 | + String uploadFolder, String isThumbFile) { | |
| 511 | + int fileKey = fileKeyParam; | |
| 512 | + | |
| 513 | + String storePathString = ""; | |
| 514 | + String atchFileIdString = ""; | |
| 515 | + FileVO fvo; | |
| 516 | + fvo = new FileVO(); | |
| 517 | + storePathString = propertyService.getString("Globals.fileStorePath"); | |
| 518 | + try { | |
| 519 | + if ("".equals(atchFileId) || atchFileId == null) { | |
| 520 | + atchFileIdString = idgenService.getNextStringId(); | |
| 521 | + } else { | |
| 522 | + atchFileIdString = atchFileId; | |
| 523 | + } | |
| 524 | + | |
| 525 | + File saveFolder = new File(storePathString); | |
| 526 | + | |
| 527 | + if (!saveFolder.exists() || saveFolder.isFile()) { | |
| 528 | + saveFolder.mkdirs(); | |
| 529 | + } | |
| 530 | + | |
| 531 | + String orginFileName = multipartFile.getOriginalFilename(); | |
| 532 | + | |
| 533 | + int index = orginFileName.lastIndexOf("."); | |
| 534 | + String fileExt = orginFileName.substring(index + 1); | |
| 535 | + String newName = KeyStr + EgovStringUtil.getTimeStamp() + fileKey; | |
| 536 | + long _size = multipartFile.getSize(); | |
| 537 | + | |
| 538 | + String filePath = ""; | |
| 539 | + if (!"".equals(orginFileName)) { | |
| 540 | + filePath = storePathString + File.separator + newName; | |
| 541 | + multipartFile.transferTo(new File(filePath)); | |
| 542 | + } | |
| 543 | + String thumbName = ""; | |
| 544 | + | |
| 545 | + fvo.setFileExtsn(fileExt); | |
| 546 | + fvo.setFileStreCours(storePathString); | |
| 547 | + fvo.setFileMg(Long.toString(_size)); | |
| 548 | + fvo.setOrignlFileNm(orginFileName); | |
| 549 | + fvo.setStreFileNm(newName); | |
| 550 | + fvo.setAtchFileId(atchFileIdString); | |
| 551 | + fvo.setFileSn(String.valueOf(fileKey)); | |
| 552 | + fvo.setThumbFileNm(thumbName); | |
| 553 | + }catch(Exception e) { | |
| 554 | + | |
| 555 | + } | |
| 556 | + return fvo; | |
| 557 | + } | |
| 558 | + | |
| 559 | + public List<FileVO> parseFileAssetAll(Map<String, MultipartFile> files, String KeyStr, int fileKeyParam, String atchFileId, | |
| 560 | + String storePath, String isThumbFile, AssetVO assetVO) throws Exception { | |
| 561 | + int fileKey = fileKeyParam; | |
| 562 | + | |
| 563 | + String storePathString = ""; | |
| 564 | + String atchFileIdString = ""; | |
| 565 | + | |
| 566 | + if ("".equals(storePath) || storePath == null) { | |
| 567 | + storePathString = propertyService.getString("Globals.fileStorePath"); | |
| 568 | + } else { | |
| 569 | + storePathString = propertyService.getString(storePath); | |
| 570 | + } | |
| 571 | + | |
| 572 | + if ("".equals(atchFileId) || atchFileId == null) { | |
| 573 | + atchFileIdString = idgenService.getNextStringId(); | |
| 574 | + } else { | |
| 575 | + atchFileIdString = atchFileId; | |
| 576 | + } | |
| 577 | + | |
| 578 | + File saveFolder = new File(storePathString); | |
| 579 | + | |
| 580 | + if (!saveFolder.exists() || saveFolder.isFile()) { | |
| 581 | + saveFolder.mkdirs(); | |
| 582 | + } | |
| 583 | + | |
| 584 | + | |
| 585 | +// Iterator<Entry<String, MultipartFile>> itr_bak = files.entrySet().iterator(); | |
| 586 | +// MultipartFile file_bak; | |
| 587 | +// while (itr_bak.hasNext()) { | |
| 588 | +// Entry<String, MultipartFile> entry = itr_bak.next(); | |
| 589 | + // | |
| 590 | +// file_bak = entry.getValue(); | |
| 591 | +// String orginFileName = file_bak.getOriginalFilename(); | |
| 592 | +// String aa = "aa"; | |
| 593 | +// } | |
| 594 | + | |
| 595 | + List<MultipartFile> tmp = new ArrayList<MultipartFile>(files.values()); | |
| 596 | + ListIterator<MultipartFile> itr = tmp.listIterator(tmp.size()); | |
| 597 | + | |
| 598 | + | |
| 599 | + MultipartFile file; | |
| 600 | + String filePath = ""; | |
| 601 | + List<FileVO> result = new ArrayList<FileVO>(); | |
| 602 | + FileVO fvo; | |
| 603 | + | |
| 604 | + while (itr.hasPrevious()) { | |
| 605 | +// Entry<String, MultipartFile> entry = itr.next(); | |
| 606 | +// file = entry.getValue(); | |
| 607 | + | |
| 608 | + file = itr.previous(); | |
| 609 | + String orginFileName = file.getOriginalFilename(); | |
| 610 | + | |
| 611 | + //-------------------------------------- | |
| 612 | + // 원 파일명이 없는 경우 처리 | |
| 613 | + // (첨부가 되지 않은 input file type) | |
| 614 | + //-------------------------------------- | |
| 615 | + if ("".equals(orginFileName)) { | |
| 616 | + continue; | |
| 617 | + } | |
| 618 | + ////------------------------------------ | |
| 619 | + | |
| 620 | + int index = orginFileName.lastIndexOf("."); | |
| 621 | + String fileExt = orginFileName.substring(index + 1); | |
| 622 | + String newName = KeyStr + EgovStringUtil.getTimeStamp() + fileKey; | |
| 623 | + long _size = file.getSize(); | |
| 624 | + | |
| 625 | + if (!"".equals(orginFileName)) { | |
| 626 | + filePath = storePathString + File.separator + newName; | |
| 627 | + file.transferTo(new File(filePath)); | |
| 628 | + } | |
| 629 | + | |
| 630 | + fvo = new FileVO(); | |
| 631 | + fvo.setFileExtsn(fileExt); | |
| 632 | + fvo.setFileStreCours(storePathString); | |
| 633 | + fvo.setFileMg(Long.toString(_size)); | |
| 634 | + fvo.setOrignlFileNm(orginFileName); | |
| 635 | + fvo.setStreFileNm(newName); | |
| 636 | + fvo.setAtchFileId(atchFileIdString); | |
| 637 | + fvo.setFileSn(String.valueOf(fileKey)); | |
| 638 | + | |
| 639 | +// writeFile(file, newName, storePathString); | |
| 640 | + result.add(fvo); | |
| 641 | + | |
| 642 | + fileKey++; | |
| 643 | + } | |
| 644 | + | |
| 645 | + return result; | |
| 646 | + } | |
| 647 | + | |
| 648 | + public FileVO parseFileInfOneCopy(MultipartFile multipartFile, String KeyStr, int fileKeyParam, String atchFileId, | |
| 649 | + String uploadFolder, String isThumbFile, FileVO copyFileVO) { //두번 전송불가로 FileVO 가 null 이 아니면 copy | |
| 650 | + int fileKey = fileKeyParam; | |
| 651 | + | |
| 652 | + String storePathString = ""; | |
| 653 | + String atchFileIdString = ""; | |
| 654 | + FileVO fvo; | |
| 655 | + fvo = new FileVO(); | |
| 656 | + storePathString = propertyService.getString("Globals.fileStorePath"); | |
| 657 | + try { | |
| 658 | + if ("".equals(atchFileId) || atchFileId == null) { | |
| 659 | + atchFileIdString = idgenService.getNextStringId(); | |
| 660 | + } else { | |
| 661 | + atchFileIdString = atchFileId; | |
| 662 | + } | |
| 663 | + | |
| 664 | + File saveFolder = new File(storePathString); | |
| 665 | + | |
| 666 | + if (!saveFolder.exists() || saveFolder.isFile()) { | |
| 667 | + saveFolder.mkdirs(); | |
| 668 | + } | |
| 669 | + | |
| 670 | + String orginFileName = multipartFile.getOriginalFilename(); | |
| 671 | + | |
| 672 | + int index = orginFileName.lastIndexOf("."); | |
| 673 | + String fileExt = orginFileName.substring(index + 1); | |
| 674 | + String newName = KeyStr + EgovStringUtil.getTimeStamp() + fileKey; | |
| 675 | + long _size = multipartFile.getSize(); | |
| 676 | + | |
| 677 | + String filePath = ""; | |
| 678 | + if (!"".equals(orginFileName) && _size!=0) { | |
| 679 | + filePath = storePathString + File.separator + newName; | |
| 680 | + if(copyFileVO !=null) { | |
| 681 | + //fileCopy(storePathString+File.separator+copyFileVO.getStreFileNm(), filePath ); //파일복사 | |
| 682 | + Files.copy(new File(storePathString+File.separator+copyFileVO.getStreFileNm()).toPath(), new File(filePath).toPath()); | |
| 683 | + }else { | |
| 684 | + multipartFile.transferTo(new File(filePath)); //파일전송 | |
| 685 | + } | |
| 686 | + | |
| 687 | + } | |
| 688 | + String thumbName = ""; | |
| 689 | + | |
| 690 | + fvo.setFileExtsn(fileExt); | |
| 691 | + fvo.setFileStreCours(storePathString); | |
| 692 | + fvo.setFileMg(Long.toString(_size)); | |
| 693 | + fvo.setOrignlFileNm(orginFileName); | |
| 694 | + fvo.setStreFileNm(newName); | |
| 695 | + fvo.setAtchFileId(atchFileIdString); | |
| 696 | + fvo.setFileSn(String.valueOf(fileKey)); | |
| 697 | + fvo.setThumbFileNm(thumbName); | |
| 698 | + }catch(Exception e) { | |
| 699 | + | |
| 700 | + } | |
| 701 | + return fvo; | |
| 702 | + } | |
| 703 | + | |
| 704 | + //파일을 복사하는 메소드 | |
| 705 | + public static void fileCopy(String inFileName, String outFileName) { | |
| 706 | + try { | |
| 707 | + FileInputStream fis = new FileInputStream(inFileName); | |
| 708 | + FileOutputStream fos = new FileOutputStream(outFileName); | |
| 709 | + | |
| 710 | + int data = 0; | |
| 711 | + while((data=fis.read())!=-1) { | |
| 712 | + fos.write(data); | |
| 713 | + } | |
| 714 | + fis.close(); | |
| 715 | + fos.close(); | |
| 716 | + } catch (IOException e) { | |
| 717 | + e.printStackTrace(); | |
| 718 | + } | |
| 719 | + } | |
| 720 | + | |
| 721 | + // 파일 확장자 체크 | |
| 722 | + public boolean fileExtsnCheck(List<FileVO> fileResult, String[] exts) { | |
| 723 | + boolean posblAtchFileExtFlag = true; | |
| 724 | + Iterator<?> iter = fileResult.iterator(); | |
| 725 | + while (iter.hasNext()) { | |
| 726 | + FileVO vo = (FileVO) iter.next(); | |
| 727 | + String fileExt = vo.getFileExtsn(); | |
| 728 | + if ((ArrayUtils.indexOf(exts, fileExt.toLowerCase()) == -1)) { | |
| 729 | + posblAtchFileExtFlag = false; | |
| 730 | + return posblAtchFileExtFlag; | |
| 731 | + } | |
| 732 | + } | |
| 733 | + return posblAtchFileExtFlag; | |
| 734 | + } | |
| 735 | +} |
+++ src/main/java/egovframework/com/cmm/service/EgovProperties.java
... | ... | @@ -0,0 +1,252 @@ |
| 1 | +package egovframework.com.cmm.service; | |
| 2 | + | |
| 3 | +import java.io.BufferedInputStream; | |
| 4 | +import java.io.File; | |
| 5 | +import java.io.FileInputStream; | |
| 6 | +import java.io.FileNotFoundException; | |
| 7 | +import java.io.IOException; | |
| 8 | +import java.util.ArrayList; | |
| 9 | +import java.util.Enumeration; | |
| 10 | +import java.util.HashMap; | |
| 11 | +import java.util.Map; | |
| 12 | +import java.util.Properties; | |
| 13 | + | |
| 14 | +import org.slf4j.Logger; | |
| 15 | +import org.slf4j.LoggerFactory; | |
| 16 | + | |
| 17 | +import egovframework.com.cmm.EgovWebUtil; | |
| 18 | +import egovframework.com.cmm.util.EgovResourceCloseHelper; | |
| 19 | +//import java.io.FileNotFoundException; | |
| 20 | +//import java.io.IOException; | |
| 21 | +//import java.util.Properties; | |
| 22 | +/** | |
| 23 | + * Class Name : EgovProperties.java | |
| 24 | + * Description : properties값들을 파일로부터 읽어와 Globals클래스의 정적변수로 로드시켜주는 클래스로 | |
| 25 | + * 문자열 정보 기준으로 사용할 전역변수를 시스템 재시작으로 반영할 수 있도록 한다. | |
| 26 | + * Modification Information | |
| 27 | + * | |
| 28 | + * 수정일 수정자 수정내용 | |
| 29 | + * ------- -------- --------------------------- | |
| 30 | + * 2009.01.19 박지욱 최초 생성 | |
| 31 | + * 2011.07.20 서준식 Globals파일의 상대경로를 읽은 메서드 추가 | |
| 32 | + * 2011.08.31 JJY 경량환경 템플릿 커스터마이징버전 생성 | |
| 33 | + * | |
| 34 | + * @author 공통 서비스 개발팀 박지욱 | |
| 35 | + * @since 2009. 01. 19 | |
| 36 | + * @version 1.0 | |
| 37 | + * @see | |
| 38 | + * | |
| 39 | + */ | |
| 40 | + | |
| 41 | +public class EgovProperties{ | |
| 42 | + | |
| 43 | + private static final Logger LOGGER = LoggerFactory.getLogger(EgovProperties.class); | |
| 44 | + | |
| 45 | + //프로퍼티값 로드시 에러발생하면 반환되는 에러문자열 | |
| 46 | + public static final String ERR_CODE =" EXCEPTION OCCURRED"; | |
| 47 | + public static final String ERR_CODE_FNFE =" EXCEPTION(FNFE) OCCURRED"; | |
| 48 | + public static final String ERR_CODE_IOE =" EXCEPTION(IOE) OCCURRED"; | |
| 49 | + | |
| 50 | + //파일구분자 | |
| 51 | + static final char FILE_SEPARATOR = File.separatorChar; | |
| 52 | + | |
| 53 | + //프로퍼티 파일의 물리적 위치 | |
| 54 | + //public static final String GLOBALS_PROPERTIES_FILE = System.getProperty("user.home") + FILE_SEPARATOR + "egovProps" +FILE_SEPARATOR + "globals.properties"; | |
| 55 | + | |
| 56 | + //public static final String RELATIVE_PATH_PREFIX = EgovProperties.class.getResource("").getPath() + FILE_SEPARATOR+ ".." + FILE_SEPARATOR + ".." + FILE_SEPARATOR; | |
| 57 | + | |
| 58 | + public static final String RELATIVE_PATH_PREFIX = EgovProperties.class.getResource("").getPath().substring(0, EgovProperties.class.getResource("").getPath().lastIndexOf("com")); | |
| 59 | + | |
| 60 | + public static final String GLOBALS_PROPERTIES_FILE = RELATIVE_PATH_PREFIX + "egovProps" + FILE_SEPARATOR + "globals.properties"; | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + /** | |
| 65 | + * 인자로 주어진 문자열을 Key값으로 하는 상대경로 프로퍼티 값을 절대경로로 반환한다(Globals.java 전용) | |
| 66 | + * @param keyName String | |
| 67 | + * @return String | |
| 68 | + | |
| 69 | + public static String getPathProperty(String keyName){ | |
| 70 | + String value = ERR_CODE; | |
| 71 | + value="99"; | |
| 72 | + debug(GLOBALS_PROPERTIES_FILE + " : " + keyName); | |
| 73 | + FileInputStream fis = null; | |
| 74 | + try{ | |
| 75 | + Properties props = new Properties(); | |
| 76 | + fis = new FileInputStream(GLOBALS_PROPERTIES_FILE); | |
| 77 | + props.load(new java.io.BufferedInputStream(fis)); | |
| 78 | + value = props.getProperty(keyName).trim(); | |
| 79 | + value = RELATIVE_PATH_PREFIX + "egovProps" + System.getProperty("file.separator") + value; | |
| 80 | + }catch(FileNotFoundException fne){ | |
| 81 | + debug(fne); | |
| 82 | + }catch(IOException ioe){ | |
| 83 | + debug(ioe); | |
| 84 | + }catch(Exception e){ | |
| 85 | + debug(e); | |
| 86 | + }finally{ | |
| 87 | + try { | |
| 88 | + if (fis != null) fis.close(); | |
| 89 | + } catch (Exception ex) { | |
| 90 | + ex.printStackTrace(); | |
| 91 | + } | |
| 92 | + | |
| 93 | + } | |
| 94 | + return value; | |
| 95 | + } | |
| 96 | +*/ | |
| 97 | + | |
| 98 | + /** | |
| 99 | + * 인자로 주어진 문자열을 Key값으로 하는 프로퍼티 값을 반환한다(Globals.java 전용) | |
| 100 | + * @param keyName String | |
| 101 | + * @return String | |
| 102 | + */ | |
| 103 | + public static String getProperty(String keyName) { | |
| 104 | + String value = ""; | |
| 105 | + | |
| 106 | + LOGGER.debug("getProperty : {} = {}", GLOBALS_PROPERTIES_FILE, keyName); | |
| 107 | + | |
| 108 | + FileInputStream fis = null; | |
| 109 | + try { | |
| 110 | + Properties props = new Properties(); | |
| 111 | + | |
| 112 | + fis = new FileInputStream(EgovWebUtil.filePathBlackList(GLOBALS_PROPERTIES_FILE)); | |
| 113 | + | |
| 114 | + props.load(new BufferedInputStream(fis)); | |
| 115 | + if (props.getProperty(keyName) == null) { | |
| 116 | + return ""; | |
| 117 | + } | |
| 118 | + value = props.getProperty(keyName).trim(); | |
| 119 | + } catch (FileNotFoundException fne) { | |
| 120 | + LOGGER.debug("Property file not found.", fne); | |
| 121 | + throw new RuntimeException("Property file not found", fne); | |
| 122 | + } catch (IOException ioe) { | |
| 123 | + LOGGER.debug("Property file IO exception", ioe); | |
| 124 | + throw new RuntimeException("Property file IO exception", ioe); | |
| 125 | + } finally { | |
| 126 | + EgovResourceCloseHelper.close(fis); | |
| 127 | + } | |
| 128 | + | |
| 129 | + return value; | |
| 130 | + } | |
| 131 | + | |
| 132 | + /** | |
| 133 | + * 주어진 파일에서 인자로 주어진 문자열을 Key값으로 하는 프로퍼티 상대 경로값을 절대 경로값으로 반환한다 | |
| 134 | + * @param fileName String | |
| 135 | + * @param key String | |
| 136 | + * @return String | |
| 137 | + | |
| 138 | + public static String getPathProperty(String fileName, String key){ | |
| 139 | + FileInputStream fis = null; | |
| 140 | + try{ | |
| 141 | + java.util.Properties props = new java.util.Properties(); | |
| 142 | + fis = new FileInputStream(fileName); | |
| 143 | + props.load(new java.io.BufferedInputStream(fis)); | |
| 144 | + fis.close(); | |
| 145 | + | |
| 146 | + String value = props.getProperty(key); | |
| 147 | + value = RELATIVE_PATH_PREFIX + "egovProps" + System.getProperty("file.separator") + value; | |
| 148 | + return value; | |
| 149 | + }catch(java.io.FileNotFoundException fne){ | |
| 150 | + return ERR_CODE_FNFE; | |
| 151 | + }catch(java.io.IOException ioe){ | |
| 152 | + return ERR_CODE_IOE; | |
| 153 | + }finally{ | |
| 154 | + try { | |
| 155 | + if (fis != null) fis.close(); | |
| 156 | + } catch (Exception ex) { | |
| 157 | + ex.printStackTrace(); | |
| 158 | + } | |
| 159 | + } | |
| 160 | + } | |
| 161 | + */ | |
| 162 | + | |
| 163 | + /** | |
| 164 | + * 주어진 파일에서 인자로 주어진 문자열을 Key값으로 하는 프로퍼티 값을 반환한다 | |
| 165 | + * @param fileName String | |
| 166 | + * @param key String | |
| 167 | + * @return String | |
| 168 | + | |
| 169 | + public static String getProperty(String fileName, String key){ | |
| 170 | + FileInputStream fis = null; | |
| 171 | + try{ | |
| 172 | + java.util.Properties props = new java.util.Properties(); | |
| 173 | + fis = new FileInputStream(fileName); | |
| 174 | + props.load(new java.io.BufferedInputStream(fis)); | |
| 175 | + fis.close(); | |
| 176 | + | |
| 177 | + String value = props.getProperty(key); | |
| 178 | + return value; | |
| 179 | + }catch(java.io.FileNotFoundException fne){ | |
| 180 | + return ERR_CODE_FNFE; | |
| 181 | + }catch(java.io.IOException ioe){ | |
| 182 | + return ERR_CODE_IOE; | |
| 183 | + }finally{ | |
| 184 | + try { | |
| 185 | + if (fis != null) fis.close(); | |
| 186 | + } catch (Exception ex) { | |
| 187 | + ex.printStackTrace(); | |
| 188 | + } | |
| 189 | + } | |
| 190 | + } | |
| 191 | + */ | |
| 192 | + /** | |
| 193 | + * 주어진 프로파일의 내용을 파싱하여 (key-value) 형태의 구조체 배열을 반환한다. | |
| 194 | + * @param property String | |
| 195 | + * @return ArrayList | |
| 196 | + */ | |
| 197 | + @SuppressWarnings("unused") | |
| 198 | + public static ArrayList<Map<String, String>> loadPropertyFile(String property){ | |
| 199 | + | |
| 200 | + // key - value 형태로 된 배열 결과 | |
| 201 | + ArrayList<Map<String, String>> keyList = new ArrayList<Map<String, String>>(); | |
| 202 | + | |
| 203 | + String src = property.replace('\\', FILE_SEPARATOR).replace('/', FILE_SEPARATOR); | |
| 204 | + FileInputStream fis = null; | |
| 205 | + try | |
| 206 | + { | |
| 207 | + | |
| 208 | + File srcFile = new File(src); | |
| 209 | + if (srcFile.exists()) { | |
| 210 | + | |
| 211 | + java.util.Properties props = new java.util.Properties(); | |
| 212 | + fis = new FileInputStream(src); | |
| 213 | + props.load(new java.io.BufferedInputStream(fis)); | |
| 214 | + fis.close(); | |
| 215 | + | |
| 216 | + int i = 0; | |
| 217 | + Enumeration<?> plist = props.propertyNames(); | |
| 218 | + if (plist != null) { | |
| 219 | + while (plist.hasMoreElements()) { | |
| 220 | + Map<String, String> map = new HashMap<String, String>(); | |
| 221 | + String key = (String)plist.nextElement(); | |
| 222 | + map.put(key, props.getProperty(key)); | |
| 223 | + keyList.add(map); | |
| 224 | + } | |
| 225 | + } | |
| 226 | + } | |
| 227 | + } catch (Exception ex){ | |
| 228 | + debug("EX:"+ex); | |
| 229 | + } finally { | |
| 230 | + try { | |
| 231 | + if (fis != null) fis.close(); | |
| 232 | + } catch (Exception ex) { | |
| 233 | + debug("EX:"+ex);//ex.printStackTrace(); | |
| 234 | + } | |
| 235 | + } | |
| 236 | + | |
| 237 | + return keyList; | |
| 238 | + } | |
| 239 | + | |
| 240 | + /** | |
| 241 | + * 시스템 로그를 출력한다. | |
| 242 | + * @param obj Object | |
| 243 | + */ | |
| 244 | + private static void debug(Object obj) { | |
| 245 | + if (obj instanceof java.lang.Exception) { | |
| 246 | + //((Exception)obj).printStackTrace(); | |
| 247 | + //System.out.println("DEBUG: " + obj); // 2011.10.10 보안점검 후속조치 | |
| 248 | + LOGGER.debug("IGNORED: {}", ((Exception)obj).getMessage()); | |
| 249 | + } | |
| 250 | + } | |
| 251 | +} | |
| 252 | + |
+++ src/main/java/egovframework/com/cmm/service/EgovUserDetailsService.java
... | ... | @@ -0,0 +1,26 @@ |
| 1 | +package egovframework.com.cmm.service; | |
| 2 | + | |
| 3 | +import java.util.List; | |
| 4 | + | |
| 5 | +public interface EgovUserDetailsService { | |
| 6 | + | |
| 7 | + /** | |
| 8 | + * 인증된 사용자객체를 VO형식으로 가져온다. | |
| 9 | + * @return Object - 사용자 ValueObject | |
| 10 | + */ | |
| 11 | + public Object getAuthenticatedUser(); | |
| 12 | + | |
| 13 | + /** | |
| 14 | + * 인증된 사용자의 권한 정보를 가져온다. | |
| 15 | + * 예) [ROLE_ADMIN, ROLE_USER, ROLE_A, ROLE_B, ROLE_RESTRICTED, IS_AUTHENTICATED_FULLY, IS_AUTHENTICATED_REMEMBERED, IS_AUTHENTICATED_ANONYMOUSLY] | |
| 16 | + * @return List - 사용자 권한정보 목록 | |
| 17 | + */ | |
| 18 | + public List<String> getAuthorities(); | |
| 19 | + | |
| 20 | + /** | |
| 21 | + * 인증된 사용자 여부를 체크한다. | |
| 22 | + * @return Boolean - 인증된 사용자 여부(TRUE / FALSE) | |
| 23 | + */ | |
| 24 | + public Boolean isAuthenticated(); | |
| 25 | + | |
| 26 | +} |
+++ src/main/java/egovframework/com/cmm/service/FileVO.java
... | ... | @@ -0,0 +1,431 @@ |
| 1 | +package egovframework.com.cmm.service; | |
| 2 | + | |
| 3 | +import java.io.Serializable; | |
| 4 | +import java.util.ArrayList; | |
| 5 | +import java.util.List; | |
| 6 | + | |
| 7 | +import org.apache.commons.lang3.builder.ToStringBuilder; | |
| 8 | + | |
| 9 | +/** | |
| 10 | + * @Class Name : FileVO.java | |
| 11 | + * @Description : 파일정보 처리를 위한 VO 클래스 | |
| 12 | + * @Modification Information | |
| 13 | + * | |
| 14 | + * 수정일 수정자 수정내용 | |
| 15 | + * ------- ------- ------------------- | |
| 16 | + * 2009. 3. 25. 이삼섭 | |
| 17 | + * | |
| 18 | + * @author 공통 서비스 개발팀 이삼섭 | |
| 19 | + * @since 2009. 3. 25. | |
| 20 | + * @version | |
| 21 | + * @see | |
| 22 | + * | |
| 23 | + */ | |
| 24 | +@SuppressWarnings("serial") | |
| 25 | +public class FileVO implements Serializable { | |
| 26 | + | |
| 27 | + /** | |
| 28 | + * 첨부파일 아이디 | |
| 29 | + */ | |
| 30 | + public String atchFileId = ""; | |
| 31 | + /** | |
| 32 | + * 생성일자 | |
| 33 | + */ | |
| 34 | + public String creatDt = ""; | |
| 35 | + /** | |
| 36 | + * 파일내용 | |
| 37 | + */ | |
| 38 | + public String fileCn = ""; | |
| 39 | + /** | |
| 40 | + * 파일확장자 | |
| 41 | + */ | |
| 42 | + public String fileExtsn = ""; | |
| 43 | + /** | |
| 44 | + * 파일크기 | |
| 45 | + */ | |
| 46 | + public String fileMg = ""; | |
| 47 | + /** | |
| 48 | + * 파일연번 | |
| 49 | + */ | |
| 50 | + public String fileSn = ""; | |
| 51 | + /** | |
| 52 | + * 파일저장경로 | |
| 53 | + */ | |
| 54 | + public String fileStreCours = ""; | |
| 55 | + /** | |
| 56 | + * 원파일명 | |
| 57 | + */ | |
| 58 | + public String orignlFileNm = ""; | |
| 59 | + /** | |
| 60 | + * 저장파일명 | |
| 61 | + */ | |
| 62 | + public String streFileNm = ""; | |
| 63 | + | |
| 64 | + /** | |
| 65 | + * 섬네일 이미지 파일명 | |
| 66 | + */ | |
| 67 | + public String thumbFileNm = ""; | |
| 68 | + | |
| 69 | + public String refId = ""; | |
| 70 | + | |
| 71 | + public String refIdSp = ""; | |
| 72 | + | |
| 73 | + public String imsi = ""; | |
| 74 | + | |
| 75 | + public String frstRegisterId = ""; | |
| 76 | + | |
| 77 | + public String fileType = ""; //자산관리의 파일타입 | |
| 78 | + | |
| 79 | + public String fileSize = ""; //파일사이즈 | |
| 80 | + | |
| 81 | + public String frstRegistPnttm = ""; //파일사이즈 | |
| 82 | + | |
| 83 | + /** | |
| 84 | + * 국정원 실태평가 추가내역 | |
| 85 | + */ | |
| 86 | + public String nisEvIdSp; | |
| 87 | + | |
| 88 | + public String nisEvitId; | |
| 89 | + | |
| 90 | + public String nisAttchId; //세부평가지표(01:증빙자료,02:자체점검, 03:이행점검, 04:첨부파일) | |
| 91 | + | |
| 92 | + public List<String> atchFileIdList = new ArrayList<String>(); | |
| 93 | + | |
| 94 | + //보안관리 첨부파일 ID | |
| 95 | + public String secAttchId; | |
| 96 | + | |
| 97 | + //사업관리 첨부파일 ID | |
| 98 | + public String bizAttchId; | |
| 99 | + | |
| 100 | + //개인정보실태평가,국정원실태평가,외부감사 첨부파일 ID | |
| 101 | + public String autItemId; | |
| 102 | + | |
| 103 | + //SLA관리 첨부파일 ID | |
| 104 | + public String slaItemId; | |
| 105 | + /** | |
| 106 | + * atchFileId attribute를 리턴한다. | |
| 107 | + * | |
| 108 | + * @return the atchFileId | |
| 109 | + */ | |
| 110 | + | |
| 111 | + public String maxFileNum = ""; | |
| 112 | + | |
| 113 | + | |
| 114 | + public String getMaxFileNum() { | |
| 115 | + return maxFileNum; | |
| 116 | + } | |
| 117 | + | |
| 118 | + public void setMaxFileNum(String maxFileNum) { | |
| 119 | + this.maxFileNum = maxFileNum; | |
| 120 | + } | |
| 121 | + | |
| 122 | + public String getAtchFileId() { | |
| 123 | + return atchFileId; | |
| 124 | + } | |
| 125 | + | |
| 126 | + /** | |
| 127 | + * atchFileId attribute 값을 설정한다. | |
| 128 | + * | |
| 129 | + * @param atchFileId | |
| 130 | + * the atchFileId to set | |
| 131 | + */ | |
| 132 | + public void setAtchFileId(String atchFileId) { | |
| 133 | + this.atchFileId = atchFileId; | |
| 134 | + } | |
| 135 | + | |
| 136 | + /** | |
| 137 | + * creatDt attribute를 리턴한다. | |
| 138 | + * | |
| 139 | + * @return the creatDt | |
| 140 | + */ | |
| 141 | + public String getCreatDt() { | |
| 142 | + return creatDt; | |
| 143 | + } | |
| 144 | + | |
| 145 | + /** | |
| 146 | + * creatDt attribute 값을 설정한다. | |
| 147 | + * | |
| 148 | + * @param creatDt | |
| 149 | + * the creatDt to set | |
| 150 | + */ | |
| 151 | + public void setCreatDt(String creatDt) { | |
| 152 | + this.creatDt = creatDt; | |
| 153 | + } | |
| 154 | + | |
| 155 | + /** | |
| 156 | + * fileCn attribute를 리턴한다. | |
| 157 | + * | |
| 158 | + * @return the fileCn | |
| 159 | + */ | |
| 160 | + public String getFileCn() { | |
| 161 | + return fileCn; | |
| 162 | + } | |
| 163 | + | |
| 164 | + /** | |
| 165 | + * fileCn attribute 값을 설정한다. | |
| 166 | + * | |
| 167 | + * @param fileCn | |
| 168 | + * the fileCn to set | |
| 169 | + */ | |
| 170 | + public void setFileCn(String fileCn) { | |
| 171 | + this.fileCn = fileCn; | |
| 172 | + } | |
| 173 | + | |
| 174 | + /** | |
| 175 | + * fileExtsn attribute를 리턴한다. | |
| 176 | + * | |
| 177 | + * @return the fileExtsn | |
| 178 | + */ | |
| 179 | + public String getFileExtsn() { | |
| 180 | + return fileExtsn; | |
| 181 | + } | |
| 182 | + | |
| 183 | + /** | |
| 184 | + * fileExtsn attribute 값을 설정한다. | |
| 185 | + * | |
| 186 | + * @param fileExtsn | |
| 187 | + * the fileExtsn to set | |
| 188 | + */ | |
| 189 | + public void setFileExtsn(String fileExtsn) { | |
| 190 | + this.fileExtsn = fileExtsn; | |
| 191 | + } | |
| 192 | + | |
| 193 | + /** | |
| 194 | + * fileMg attribute를 리턴한다. | |
| 195 | + * | |
| 196 | + * @return the fileMg | |
| 197 | + */ | |
| 198 | + public String getFileMg() { | |
| 199 | + return fileMg; | |
| 200 | + } | |
| 201 | + | |
| 202 | + /** | |
| 203 | + * fileMg attribute 값을 설정한다. | |
| 204 | + * | |
| 205 | + * @param fileMg | |
| 206 | + * the fileMg to set | |
| 207 | + */ | |
| 208 | + public void setFileMg(String fileMg) { | |
| 209 | + this.fileMg = fileMg; | |
| 210 | + } | |
| 211 | + | |
| 212 | + /** | |
| 213 | + * fileSn attribute를 리턴한다. | |
| 214 | + * | |
| 215 | + * @return the fileSn | |
| 216 | + */ | |
| 217 | + public String getFileSn() { | |
| 218 | + return fileSn; | |
| 219 | + } | |
| 220 | + | |
| 221 | + /** | |
| 222 | + * fileSn attribute 값을 설정한다. | |
| 223 | + * | |
| 224 | + * @param fileSn | |
| 225 | + * the fileSn to set | |
| 226 | + */ | |
| 227 | + public void setFileSn(String fileSn) { | |
| 228 | + this.fileSn = fileSn; | |
| 229 | + } | |
| 230 | + | |
| 231 | + /** | |
| 232 | + * fileStreCours attribute를 리턴한다. | |
| 233 | + * | |
| 234 | + * @return the fileStreCours | |
| 235 | + */ | |
| 236 | + public String getFileStreCours() { | |
| 237 | + return fileStreCours; | |
| 238 | + } | |
| 239 | + | |
| 240 | + /** | |
| 241 | + * fileStreCours attribute 값을 설정한다. | |
| 242 | + * | |
| 243 | + * @param fileStreCours | |
| 244 | + * the fileStreCours to set | |
| 245 | + */ | |
| 246 | + public void setFileStreCours(String fileStreCours) { | |
| 247 | + this.fileStreCours = fileStreCours; | |
| 248 | + } | |
| 249 | + | |
| 250 | + /** | |
| 251 | + * orignlFileNm attribute를 리턴한다. | |
| 252 | + * | |
| 253 | + * @return the orignlFileNm | |
| 254 | + */ | |
| 255 | + public String getOrignlFileNm() { | |
| 256 | + return orignlFileNm; | |
| 257 | + } | |
| 258 | + | |
| 259 | + /** | |
| 260 | + * orignlFileNm attribute 값을 설정한다. | |
| 261 | + * | |
| 262 | + * @param orignlFileNm | |
| 263 | + * the orignlFileNm to set | |
| 264 | + */ | |
| 265 | + public void setOrignlFileNm(String orignlFileNm) { | |
| 266 | + this.orignlFileNm = orignlFileNm; | |
| 267 | + } | |
| 268 | + | |
| 269 | + /** | |
| 270 | + * streFileNm attribute를 리턴한다. | |
| 271 | + * | |
| 272 | + * @return the streFileNm | |
| 273 | + */ | |
| 274 | + public String getStreFileNm() { | |
| 275 | + return streFileNm; | |
| 276 | + } | |
| 277 | + | |
| 278 | + /** | |
| 279 | + * streFileNm attribute 값을 설정한다. | |
| 280 | + * | |
| 281 | + * @param streFileNm | |
| 282 | + * the streFileNm to set | |
| 283 | + */ | |
| 284 | + public void setStreFileNm(String streFileNm) { | |
| 285 | + this.streFileNm = streFileNm; | |
| 286 | + } | |
| 287 | + | |
| 288 | + /** | |
| 289 | + * @return the thumbFileNm | |
| 290 | + */ | |
| 291 | + public String getThumbFileNm() { | |
| 292 | + return thumbFileNm; | |
| 293 | + } | |
| 294 | + | |
| 295 | + /** | |
| 296 | + * @param thumbFileNm the thumbFileNm to set | |
| 297 | + */ | |
| 298 | + public void setThumbFileNm(String thumbFileNm) { | |
| 299 | + this.thumbFileNm = thumbFileNm; | |
| 300 | + } | |
| 301 | + | |
| 302 | + /** | |
| 303 | + * toString 메소드를 대치한다. | |
| 304 | + */ | |
| 305 | + public String toString() { | |
| 306 | + return ToStringBuilder.reflectionToString(this); | |
| 307 | + } | |
| 308 | + | |
| 309 | + public String getRefId() { | |
| 310 | + return refId; | |
| 311 | + } | |
| 312 | + | |
| 313 | + public void setRefId(String refId) { | |
| 314 | + this.refId = refId; | |
| 315 | + } | |
| 316 | + | |
| 317 | + public String getRefIdSp() { | |
| 318 | + return refIdSp; | |
| 319 | + } | |
| 320 | + | |
| 321 | + public void setRefIdSp(String refIdSp) { | |
| 322 | + this.refIdSp = refIdSp; | |
| 323 | + } | |
| 324 | + | |
| 325 | + public String getImsi() { | |
| 326 | + return imsi; | |
| 327 | + } | |
| 328 | + | |
| 329 | + public void setImsi(String imsi) { | |
| 330 | + this.imsi = imsi; | |
| 331 | + } | |
| 332 | + | |
| 333 | + public String getFrstRegisterId() { | |
| 334 | + return frstRegisterId; | |
| 335 | + } | |
| 336 | + | |
| 337 | + public void setFrstRegisterId(String frstRegisterId) { | |
| 338 | + this.frstRegisterId = frstRegisterId; | |
| 339 | + } | |
| 340 | + | |
| 341 | + public String getNisEvIdSp() { | |
| 342 | + return nisEvIdSp; | |
| 343 | + } | |
| 344 | + | |
| 345 | + public void setNisEvIdSp(String nisEvIdSp) { | |
| 346 | + this.nisEvIdSp = nisEvIdSp; | |
| 347 | + } | |
| 348 | + | |
| 349 | + public String getNisEvitId() { | |
| 350 | + return nisEvitId; | |
| 351 | + } | |
| 352 | + | |
| 353 | + public void setNisEvitId(String nisEvitId) { | |
| 354 | + this.nisEvitId = nisEvitId; | |
| 355 | + } | |
| 356 | + | |
| 357 | + public String getNisAttchId() { | |
| 358 | + return nisAttchId; | |
| 359 | + } | |
| 360 | + | |
| 361 | + public void setNisAttchId(String nisAttchId) { | |
| 362 | + this.nisAttchId = nisAttchId; | |
| 363 | + } | |
| 364 | + | |
| 365 | + public String getFileType() { | |
| 366 | + return fileType; | |
| 367 | + } | |
| 368 | + | |
| 369 | + public void setFileType(String fileType) { | |
| 370 | + this.fileType = fileType; | |
| 371 | + } | |
| 372 | + | |
| 373 | + public String getFileSize() { | |
| 374 | + return fileSize; | |
| 375 | + } | |
| 376 | + | |
| 377 | + public void setFileSize(String fileSize) { | |
| 378 | + this.fileSize = fileSize; | |
| 379 | + } | |
| 380 | + | |
| 381 | + public String getFrstRegistPnttm() { | |
| 382 | + return frstRegistPnttm; | |
| 383 | + } | |
| 384 | + | |
| 385 | + public void setFrstRegistPnttm(String frstRegistPnttm) { | |
| 386 | + this.frstRegistPnttm = frstRegistPnttm; | |
| 387 | + } | |
| 388 | + | |
| 389 | + public List<String> getAtchFileIdList() { | |
| 390 | + return atchFileIdList; | |
| 391 | + } | |
| 392 | + | |
| 393 | + public void setAtchFileIdList(List<String> atchFileIdList) { | |
| 394 | + this.atchFileIdList = atchFileIdList; | |
| 395 | + } | |
| 396 | + | |
| 397 | + public String getSecAttchId() { | |
| 398 | + return secAttchId; | |
| 399 | + } | |
| 400 | + | |
| 401 | + public void setSecAttchId(String secAttchId) { | |
| 402 | + this.secAttchId = secAttchId; | |
| 403 | + } | |
| 404 | + | |
| 405 | + public String getBizAttchId() { | |
| 406 | + return bizAttchId; | |
| 407 | + } | |
| 408 | + | |
| 409 | + public void setBizAttchId(String bizAttchId) { | |
| 410 | + this.bizAttchId = bizAttchId; | |
| 411 | + } | |
| 412 | + | |
| 413 | + public String getAutItemId() { | |
| 414 | + return autItemId; | |
| 415 | + } | |
| 416 | + | |
| 417 | + public void setAutItemId(String autItemId) { | |
| 418 | + this.autItemId = autItemId; | |
| 419 | + } | |
| 420 | + | |
| 421 | + public String getSlaItemId() { | |
| 422 | + return slaItemId; | |
| 423 | + } | |
| 424 | + | |
| 425 | + public void setSlaItemId(String slaItemId) { | |
| 426 | + this.slaItemId = slaItemId; | |
| 427 | + } | |
| 428 | + | |
| 429 | + | |
| 430 | + | |
| 431 | +} |
+++ src/main/java/egovframework/com/cmm/service/Globals.java
... | ... | @@ -0,0 +1,30 @@ |
| 1 | +package egovframework.com.cmm.service; | |
| 2 | + | |
| 3 | +/** | |
| 4 | + * Class Name : Globals.java | |
| 5 | + * Description : 시스템 구동 시 프로퍼티를 통해 사용될 전역변수를 정의한다. | |
| 6 | + * Modification Information | |
| 7 | + * | |
| 8 | + * 수정일 수정자 수정내용 | |
| 9 | + * ------- -------- --------------------------- | |
| 10 | + * 2009.01.19 박지욱 최초 생성 | |
| 11 | + * | |
| 12 | + * @author 공통 서비스 개발팀 박지욱 | |
| 13 | + * @since 2009. 01. 19 | |
| 14 | + * @version 1.0 | |
| 15 | + * @see | |
| 16 | + * | |
| 17 | + */ | |
| 18 | + | |
| 19 | +public class Globals { | |
| 20 | + //파일 업로드 원 파일명 | |
| 21 | + public static final String ORIGIN_FILE_NM = "originalFileName"; | |
| 22 | + //파일 확장자 | |
| 23 | + public static final String FILE_EXT = "fileExtension"; | |
| 24 | + //파일크기 | |
| 25 | + public static final String FILE_SIZE = "fileSize"; | |
| 26 | + //업로드된 파일명 | |
| 27 | + public static final String UPLOAD_FILE_NM = "uploadFileName"; | |
| 28 | + //파일경로 | |
| 29 | + public static final String FILE_PATH = "filePath"; | |
| 30 | +} |
+++ src/main/java/egovframework/com/cmm/service/impl/CmmUseDAO.java
... | ... | @@ -0,0 +1,69 @@ |
| 1 | +package egovframework.com.cmm.service.impl; | |
| 2 | + | |
| 3 | +import java.util.List; | |
| 4 | + | |
| 5 | +import org.springframework.stereotype.Repository; | |
| 6 | + | |
| 7 | +import egovframework.com.cmm.ComDefaultCodeVO; | |
| 8 | +import egovframework.com.cmm.service.CmmnDetailCode; | |
| 9 | +import egovframework.let.sym.ccm.cca.service.CmmnCodeVO; | |
| 10 | + | |
| 11 | +/** | |
| 12 | + * @Class Name : CmmUseDAO.java | |
| 13 | + * @Description : 공통코드등 전체 업무에서 공용해서 사용해야 하는 서비스를 정의하기위한 데이터 접근 클래스 | |
| 14 | + * @Modification Information | |
| 15 | + * | |
| 16 | + * 수정일 수정자 수정내용 | |
| 17 | + * ------- ------- ------------------- | |
| 18 | + * 2009. 3. 11. 이삼섭 | |
| 19 | + * | |
| 20 | + * @author 공통 서비스 개발팀 이삼섭 | |
| 21 | + * @since 2009. 3. 11. | |
| 22 | + * @version | |
| 23 | + * @see | |
| 24 | + * | |
| 25 | + */ | |
| 26 | +@Repository("cmmUseDAO") | |
| 27 | +public class CmmUseDAO extends EgovComAbstractDAO { | |
| 28 | + | |
| 29 | + /** | |
| 30 | + * 주어진 조건에 따른 공통코드를 불러온다. | |
| 31 | + * | |
| 32 | + * @param vo | |
| 33 | + * @return | |
| 34 | + * @throws Exception | |
| 35 | + */ | |
| 36 | + @SuppressWarnings("unchecked") | |
| 37 | + public List<CmmnDetailCode> selectCmmCodeDetail(ComDefaultCodeVO vo) throws Exception { | |
| 38 | + return (List<CmmnDetailCode>) list("CmmUseDAO.selectCmmCodeDetail", vo); | |
| 39 | + } | |
| 40 | + | |
| 41 | + /** | |
| 42 | + * 공통코드로 사용할 조직정보를 를 불러온다. | |
| 43 | + * | |
| 44 | + * @param vo | |
| 45 | + * @return | |
| 46 | + * @throws Exception | |
| 47 | + */ | |
| 48 | + @SuppressWarnings("unchecked") | |
| 49 | + public List<CmmnDetailCode> selectOgrnztIdDetail(ComDefaultCodeVO vo) throws Exception { | |
| 50 | + return (List<CmmnDetailCode>) list("CmmUseDAO.selectOgrnztIdDetail", vo); | |
| 51 | + } | |
| 52 | + | |
| 53 | + /** | |
| 54 | + * 공통코드로 사용할그룹정보를 를 불러온다. | |
| 55 | + * | |
| 56 | + * @param vo | |
| 57 | + * @return | |
| 58 | + * @throws Exception | |
| 59 | + */ | |
| 60 | + @SuppressWarnings("unchecked") | |
| 61 | + public List<CmmnDetailCode> selectGroupIdDetail(ComDefaultCodeVO vo) throws Exception { | |
| 62 | + return (List<CmmnDetailCode>) list("CmmUseDAO.selectGroupIdDetail", vo); | |
| 63 | + } | |
| 64 | + | |
| 65 | + @SuppressWarnings("unchecked") | |
| 66 | + public List<CmmnDetailCode> selectCmmDetailCodeList(CmmnCodeVO cmmnCodeVO) throws Exception { | |
| 67 | + return (List<CmmnDetailCode>) list("CmmUseDAO.selectCmmDetailCodeList", cmmnCodeVO); | |
| 68 | + } | |
| 69 | +} |
+++ src/main/java/egovframework/com/cmm/service/impl/EgovCmmUseServiceImpl.java
... | ... | @@ -0,0 +1,101 @@ |
| 1 | +package egovframework.com.cmm.service.impl; | |
| 2 | + | |
| 3 | +import java.util.HashMap; | |
| 4 | +import java.util.Iterator; | |
| 5 | +import java.util.List; | |
| 6 | +import java.util.Map; | |
| 7 | + | |
| 8 | +import javax.annotation.Resource; | |
| 9 | + | |
| 10 | +import org.springframework.stereotype.Service; | |
| 11 | + | |
| 12 | +import egovframework.com.cmm.ComDefaultCodeVO; | |
| 13 | +import egovframework.com.cmm.service.CmmnDetailCode; | |
| 14 | +import egovframework.com.cmm.service.EgovCmmUseService; | |
| 15 | +import egovframework.let.sym.ccm.cca.service.CmmnCodeVO; | |
| 16 | +import egovframework.rte.fdl.cmmn.EgovAbstractServiceImpl; | |
| 17 | + | |
| 18 | +/** | |
| 19 | + * @Class Name : EgovCmmUseServiceImpl.java | |
| 20 | + * @Description : 공통코드등 전체 업무에서 공용해서 사용해야 하는 서비스를 정의하기위한 서비스 구현 클래스 | |
| 21 | + * @Modification Information | |
| 22 | + * | |
| 23 | + * 수정일 수정자 수정내용 | |
| 24 | + * ------- ------- ------------------- | |
| 25 | + * 2009. 3. 11. 이삼섭 | |
| 26 | + * | |
| 27 | + * @author 공통 서비스 개발팀 이삼섭 | |
| 28 | + * @since 2009. 3. 11. | |
| 29 | + * @version | |
| 30 | + * @see | |
| 31 | + * | |
| 32 | + */ | |
| 33 | +@Service("EgovCmmUseService") | |
| 34 | +public class EgovCmmUseServiceImpl extends EgovAbstractServiceImpl implements EgovCmmUseService { | |
| 35 | + | |
| 36 | + @Resource(name = "cmmUseDAO") | |
| 37 | + private CmmUseDAO cmmUseDAO; | |
| 38 | + | |
| 39 | + /** | |
| 40 | + * 공통코드를 조회한다. | |
| 41 | + * | |
| 42 | + * @param vo | |
| 43 | + * @return | |
| 44 | + * @throws Exception | |
| 45 | + */ | |
| 46 | + @Override | |
| 47 | + public List<CmmnDetailCode> selectCmmCodeDetail(ComDefaultCodeVO vo) throws Exception { | |
| 48 | + return cmmUseDAO.selectCmmCodeDetail(vo); | |
| 49 | + } | |
| 50 | + | |
| 51 | + /** | |
| 52 | + * ComDefaultCodeVO의 리스트를 받아서 여러개의 코드 리스트를 맵에 담아서 리턴한다. | |
| 53 | + * | |
| 54 | + * @param voList | |
| 55 | + * @return | |
| 56 | + * @throws Exception | |
| 57 | + */ | |
| 58 | + @Override | |
| 59 | + @SuppressWarnings("rawtypes") | |
| 60 | + public Map<String, List<CmmnDetailCode>> selectCmmCodeDetails(List voList) throws Exception { | |
| 61 | + ComDefaultCodeVO vo; | |
| 62 | + Map<String, List<CmmnDetailCode>> map = new HashMap<String, List<CmmnDetailCode>>(); | |
| 63 | + | |
| 64 | + Iterator<?> iter = voList.iterator(); | |
| 65 | + while (iter.hasNext()) { | |
| 66 | + vo = (ComDefaultCodeVO) iter.next(); | |
| 67 | + map.put(vo.getCodeId(), cmmUseDAO.selectCmmCodeDetail(vo)); | |
| 68 | + } | |
| 69 | + | |
| 70 | + return map; | |
| 71 | + } | |
| 72 | + | |
| 73 | + /** | |
| 74 | + * 조직정보를 코드형태로 리턴한다. | |
| 75 | + * | |
| 76 | + * @param 조회조건정보 vo | |
| 77 | + * @return 조직정보 List | |
| 78 | + * @throws Exception | |
| 79 | + */ | |
| 80 | + @Override | |
| 81 | + public List<CmmnDetailCode> selectOgrnztIdDetail(ComDefaultCodeVO vo) throws Exception { | |
| 82 | + return cmmUseDAO.selectOgrnztIdDetail(vo); | |
| 83 | + } | |
| 84 | + | |
| 85 | + /** | |
| 86 | + * 그룹정보를 코드형태로 리턴한다. | |
| 87 | + * | |
| 88 | + * @param 조회조건정보 vo | |
| 89 | + * @return 그룹정보 List | |
| 90 | + * @throws Exception | |
| 91 | + */ | |
| 92 | + @Override | |
| 93 | + public List<CmmnDetailCode> selectGroupIdDetail(ComDefaultCodeVO vo) throws Exception { | |
| 94 | + return cmmUseDAO.selectGroupIdDetail(vo); | |
| 95 | + } | |
| 96 | + | |
| 97 | + @Override | |
| 98 | + public List<CmmnDetailCode> selectCmmDetailCodeList(CmmnCodeVO cmmnCodeVO) throws Exception { | |
| 99 | + return cmmUseDAO.selectCmmDetailCodeList(cmmnCodeVO); | |
| 100 | + } | |
| 101 | +} |
+++ src/main/java/egovframework/com/cmm/service/impl/EgovComAbstractDAO.java
... | ... | @@ -0,0 +1,33 @@ |
| 1 | +package egovframework.com.cmm.service.impl; | |
| 2 | + | |
| 3 | +import egovframework.rte.psl.dataaccess.EgovAbstractDAO; | |
| 4 | + | |
| 5 | +import javax.annotation.Resource; | |
| 6 | + | |
| 7 | +import com.ibatis.sqlmap.client.SqlMapClient; | |
| 8 | + | |
| 9 | +/** | |
| 10 | + * EgovComAbstractDAO.java 클래스 | |
| 11 | + * | |
| 12 | + * @author 서준식 | |
| 13 | + * @since 2011. 9. 23. | |
| 14 | + * @version 1.0 | |
| 15 | + * @see | |
| 16 | + * | |
| 17 | + * <pre> | |
| 18 | + * << 개정이력(Modification Information) >> | |
| 19 | + * | |
| 20 | + * 수정일 수정자 수정내용 | |
| 21 | + * ------- ------------- ---------------------- | |
| 22 | + * 2011. 9. 23. 서준식 최초 생성 | |
| 23 | + * </pre> | |
| 24 | + */ | |
| 25 | +public abstract class EgovComAbstractDAO extends EgovAbstractDAO { | |
| 26 | + | |
| 27 | + @Override | |
| 28 | + @Resource(name = "egov.sqlMapClient") | |
| 29 | + public void setSuperSqlMapClient(SqlMapClient sqlMapClient) { | |
| 30 | + super.setSuperSqlMapClient(sqlMapClient); | |
| 31 | + } | |
| 32 | + | |
| 33 | +} |
+++ src/main/java/egovframework/com/cmm/service/impl/EgovFileMngServiceImpl.java
... | ... | @@ -0,0 +1,440 @@ |
| 1 | +package egovframework.com.cmm.service.impl; | |
| 2 | + | |
| 3 | +import java.io.File; | |
| 4 | +import java.util.HashMap; | |
| 5 | +import java.util.List; | |
| 6 | +import java.util.Map; | |
| 7 | + | |
| 8 | +import javax.annotation.Resource; | |
| 9 | + | |
| 10 | +import org.springframework.stereotype.Service; | |
| 11 | + | |
| 12 | +import egovframework.com.cmm.service.EgovFileMngService; | |
| 13 | +import egovframework.com.cmm.service.FileVO; | |
| 14 | +import egovframework.rte.fdl.cmmn.EgovAbstractServiceImpl; | |
| 15 | +import egovframework.rte.fdl.idgnr.EgovIdGnrService; | |
| 16 | + | |
| 17 | +/** | |
| 18 | + * @Class Name : EgovFileMngServiceImpl.java | |
| 19 | + * @Description : 파일정보의 관리를 위한 구현 클래스 | |
| 20 | + * @Modification Information | |
| 21 | + * | |
| 22 | + * 수정일 수정자 수정내용 | |
| 23 | + * ------- ------- ------------------- | |
| 24 | + * 2009. 3. 25. 이삼섭 최초생성 | |
| 25 | + * | |
| 26 | + * @author 공통 서비스 개발팀 이삼섭 | |
| 27 | + * @since 2009. 3. 25. | |
| 28 | + * @version | |
| 29 | + * @see | |
| 30 | + * | |
| 31 | + */ | |
| 32 | +@Service("EgovFileMngService") | |
| 33 | +public class EgovFileMngServiceImpl extends EgovAbstractServiceImpl implements EgovFileMngService { | |
| 34 | + | |
| 35 | + @Resource(name = "egovFileIdGnrService") | |
| 36 | + private EgovIdGnrService idgenService; | |
| 37 | + | |
| 38 | + @Resource(name = "FileManageDAO") | |
| 39 | + private FileManageDAO fileMngDAO; | |
| 40 | + | |
| 41 | + /** | |
| 42 | + * 여러 개의 파일을 삭제한다. | |
| 43 | + * | |
| 44 | + * @see egovframework.com.cmm.service.EgovFileMngService#deleteFileInfs(java.util.List) | |
| 45 | + */ | |
| 46 | + @Override | |
| 47 | + @SuppressWarnings("rawtypes") | |
| 48 | + public void deleteFileInfs(List fvoList) throws Exception { | |
| 49 | + fileMngDAO.deleteFileInfs(fvoList); | |
| 50 | + } | |
| 51 | + | |
| 52 | + /** | |
| 53 | + * 하나의 파일에 대한 정보(속성 및 상세)를 등록한다. | |
| 54 | + * | |
| 55 | + * @see egovframework.com.cmm.service.EgovFileMngService#insertFileInf(egovframework.com.cmm.service.FileVO) | |
| 56 | + */ | |
| 57 | + @Override | |
| 58 | + public String insertFileInf(FileVO fvo) throws Exception { | |
| 59 | + String atchFileId = fvo.getAtchFileId(); | |
| 60 | + | |
| 61 | + fileMngDAO.insertFileInf(fvo); | |
| 62 | + | |
| 63 | + return atchFileId; | |
| 64 | + } | |
| 65 | + | |
| 66 | + /** | |
| 67 | + * 여러 개의 파일에 대한 정보(속성 및 상세)를 등록한다. | |
| 68 | + * | |
| 69 | + * @see egovframework.com.cmm.service.EgovFileMngService#insertFileInfs(java.util.List) | |
| 70 | + */ | |
| 71 | + @SuppressWarnings("rawtypes") | |
| 72 | + @Override | |
| 73 | + public String insertFileInfs(List fvoList) throws Exception { | |
| 74 | + String atchFileId = ""; | |
| 75 | + | |
| 76 | + if (fvoList.size() != 0) { | |
| 77 | + atchFileId = fileMngDAO.insertFileInfs(fvoList); | |
| 78 | + } | |
| 79 | + if (atchFileId == "") { | |
| 80 | + atchFileId = null; | |
| 81 | + } | |
| 82 | + return atchFileId; | |
| 83 | + } | |
| 84 | + | |
| 85 | + /** | |
| 86 | + * 파일에 대한 목록을 조회한다. | |
| 87 | + * | |
| 88 | + * @see egovframework.com.cmm.service.EgovFileMngService#selectFileInfs(egovframework.com.cmm.service.FileVO) | |
| 89 | + */ | |
| 90 | + @Override | |
| 91 | + public List<FileVO> selectFileInfs(FileVO fvo) throws Exception { | |
| 92 | + return fileMngDAO.selectFileInfs(fvo); | |
| 93 | + } | |
| 94 | + | |
| 95 | + //보안관리 첨부파일 | |
| 96 | + @Override | |
| 97 | + public List<FileVO> selectSecFileInfs(FileVO fvo) throws Exception { | |
| 98 | + return fileMngDAO.selectSecFileInfs(fvo); | |
| 99 | + } | |
| 100 | + | |
| 101 | + //사업관리 첨부파일 | |
| 102 | + @Override | |
| 103 | + public List<FileVO> selectBizFileInfs(FileVO fvo) throws Exception { | |
| 104 | + return fileMngDAO.selectBizFileInfs(fvo); | |
| 105 | + } | |
| 106 | + | |
| 107 | + //개인정보실태평가 첨부파일 | |
| 108 | + @Override | |
| 109 | + public List<FileVO> selectEvalFileInfs(FileVO fvo) throws Exception { | |
| 110 | + return fileMngDAO.selectEvalFileInfs(fvo); | |
| 111 | + } | |
| 112 | + | |
| 113 | + //국정원실태평가 세부평가지표 | |
| 114 | + @Override | |
| 115 | + public List<FileVO> selectNisEvalFileInfs(FileVO fvo) throws Exception { | |
| 116 | + return fileMngDAO.selectNisEvalFileInfs(fvo); | |
| 117 | + } | |
| 118 | + | |
| 119 | + //SLA관리 첨부파일 | |
| 120 | + @Override | |
| 121 | + public List<FileVO> selectSLAFileInfs(FileVO fvo) throws Exception { | |
| 122 | + return fileMngDAO.selectSLAFileInfs(fvo); | |
| 123 | + } | |
| 124 | + | |
| 125 | + //사업관리 첨부파일 | |
| 126 | + @Override | |
| 127 | + public List<FileVO> selectPerFileInfs(FileVO fvo) throws Exception { | |
| 128 | + return fileMngDAO.selectPerFileInfs(fvo); | |
| 129 | + } | |
| 130 | + | |
| 131 | + /** | |
| 132 | + * 여러 개의 파일에 대한 정보(속성 및 상세)를 수정한다. | |
| 133 | + * | |
| 134 | + * @see egovframework.com.cmm.service.EgovFileMngService#updateFileInfs(java.util.List) | |
| 135 | + */ | |
| 136 | + @SuppressWarnings("rawtypes") | |
| 137 | + @Override | |
| 138 | + public void updateFileInfs(List fvoList) throws Exception { | |
| 139 | + //Delete & Insert | |
| 140 | + fileMngDAO.updateFileInfs(fvoList); | |
| 141 | + } | |
| 142 | + | |
| 143 | + /** | |
| 144 | + * 하나의 파일을 삭제한다. | |
| 145 | + * | |
| 146 | + * @see egovframework.com.cmm.service.EgovFileMngService#deleteFileInf(egovframework.com.cmm.service.FileVO) | |
| 147 | + */ | |
| 148 | + @Override | |
| 149 | + public void deleteFileInf(FileVO fvo) throws Exception { | |
| 150 | + fileMngDAO.deleteFileInf(fvo); | |
| 151 | + } | |
| 152 | + | |
| 153 | + /** | |
| 154 | + * 파일에 대한 상세정보를 조회한다. | |
| 155 | + * | |
| 156 | + * @see egovframework.com.cmm.service.EgovFileMngService#selectFileInf(egovframework.com.cmm.service.FileVO) | |
| 157 | + */ | |
| 158 | + @Override | |
| 159 | + public FileVO selectFileInf(FileVO fvo) throws Exception { | |
| 160 | + return fileMngDAO.selectFileInf(fvo); | |
| 161 | + } | |
| 162 | + | |
| 163 | + /** | |
| 164 | + * 파일 구분자에 대한 최대값을 구한다. | |
| 165 | + * | |
| 166 | + * @see egovframework.com.cmm.service.EgovFileMngService#getMaxFileSN(egovframework.com.cmm.service.FileVO) | |
| 167 | + */ | |
| 168 | + @Override | |
| 169 | + public int getMaxFileSN(FileVO fvo) throws Exception { | |
| 170 | + return fileMngDAO.getMaxFileSN(fvo); | |
| 171 | + } | |
| 172 | + | |
| 173 | + /** | |
| 174 | + * 전체 파일을 삭제한다. | |
| 175 | + * | |
| 176 | + * @see egovframework.com.cmm.service.EgovFileMngService#deleteAllFileInf(egovframework.com.cmm.service.FileVO) | |
| 177 | + */ | |
| 178 | + @Override | |
| 179 | + public void deleteAllFileInf(FileVO fvo) throws Exception { | |
| 180 | + fileMngDAO.deleteAllFileInf(fvo); | |
| 181 | + } | |
| 182 | + | |
| 183 | + /** | |
| 184 | + * 파일명 검색에 대한 목록을 조회한다. | |
| 185 | + * | |
| 186 | + * @see egovframework.com.cmm.service.EgovFileMngService#selectFileListByFileNm(egovframework.com.cmm.service.FileVO) | |
| 187 | + */ | |
| 188 | + @Override | |
| 189 | + public Map<String, Object> selectFileListByFileNm(FileVO fvo) throws Exception { | |
| 190 | + List<FileVO> result = fileMngDAO.selectFileListByFileNm(fvo); | |
| 191 | + int cnt = fileMngDAO.selectFileListCntByFileNm(fvo); | |
| 192 | + | |
| 193 | + Map<String, Object> map = new HashMap<String, Object>(); | |
| 194 | + | |
| 195 | + map.put("resultList", result); | |
| 196 | + map.put("resultCnt", Integer.toString(cnt)); | |
| 197 | + | |
| 198 | + return map; | |
| 199 | + } | |
| 200 | + | |
| 201 | + /** | |
| 202 | + * 이미지 파일에 대한 목록을 조회한다. | |
| 203 | + * | |
| 204 | + * @see egovframework.com.cmm.service.EgovFileMngService#selectImageFileList(egovframework.com.cmm.service.FileVO) | |
| 205 | + */ | |
| 206 | + @Override | |
| 207 | + public List<FileVO> selectImageFileList(FileVO vo) throws Exception { | |
| 208 | + return fileMngDAO.selectImageFileList(vo); | |
| 209 | + } | |
| 210 | + | |
| 211 | + /*단일 파일업데이트*/ | |
| 212 | + @Override | |
| 213 | + public void updateFileInfo(List fvoList) throws Exception { | |
| 214 | + //Delete & Update | |
| 215 | + fileMngDAO.updateFileInfo(fvoList); | |
| 216 | + } | |
| 217 | + | |
| 218 | + @Override | |
| 219 | + public void updateFileInf(FileVO fileVO) throws Exception { | |
| 220 | + fileMngDAO.updateFileInf(fileVO); | |
| 221 | + } | |
| 222 | + | |
| 223 | + @Override | |
| 224 | + @SuppressWarnings("rawtypes") | |
| 225 | + public String insertItsmFileInfs(List fvoList) throws Exception { | |
| 226 | + String atchFileId = ""; | |
| 227 | + | |
| 228 | + if (fvoList.size() != 0) { | |
| 229 | + atchFileId = fileMngDAO.insertItsmFileInfs(fvoList); | |
| 230 | + } | |
| 231 | + if (atchFileId == "") { | |
| 232 | + atchFileId = null; | |
| 233 | + } | |
| 234 | + return atchFileId; | |
| 235 | + } | |
| 236 | + | |
| 237 | + @Override | |
| 238 | + public FileVO selectItsmFileInf(FileVO fvo) throws Exception { | |
| 239 | + return fileMngDAO.selectItsmFileInf(fvo); | |
| 240 | + } | |
| 241 | + | |
| 242 | + @Override | |
| 243 | + public FileVO selectItsmperFileInf(FileVO fvo) throws Exception { | |
| 244 | + return fileMngDAO.selectItsmperFileInf(fvo); | |
| 245 | + } | |
| 246 | + | |
| 247 | + public FileVO selectNisEvalItemFileInfo(FileVO fvo) throws Exception { | |
| 248 | + return fileMngDAO.selectNisEvalItemFileInfo(fvo); | |
| 249 | + } | |
| 250 | + | |
| 251 | + @Override | |
| 252 | + public String insertPerFileInfs(List<FileVO> fvoList) throws Exception { | |
| 253 | + String atchFileId = ""; | |
| 254 | + | |
| 255 | + if (fvoList.size() != 0) { | |
| 256 | + atchFileId = fileMngDAO.insertPerFileInfs(fvoList); | |
| 257 | + } | |
| 258 | + if (atchFileId == "") { | |
| 259 | + atchFileId = null; | |
| 260 | + } | |
| 261 | + return atchFileId; | |
| 262 | + } | |
| 263 | + | |
| 264 | + | |
| 265 | + @Override | |
| 266 | + public String insertNisEvitFileInfs(List<FileVO> fvoList) throws Exception { | |
| 267 | + String atchFileId = ""; | |
| 268 | + | |
| 269 | + if (fvoList.size() != 0) { | |
| 270 | + atchFileId = fileMngDAO.insertNisEvitFileInfs(fvoList); | |
| 271 | + } | |
| 272 | + if (atchFileId == "") { | |
| 273 | + atchFileId = null; | |
| 274 | + } | |
| 275 | + return atchFileId; | |
| 276 | + } | |
| 277 | + | |
| 278 | + @Override | |
| 279 | + public String insertAsserFileInfs(List<FileVO> fvoList) throws Exception { | |
| 280 | + String atchFileId = ""; | |
| 281 | + | |
| 282 | + if (fvoList.size() != 0) { | |
| 283 | + atchFileId = fileMngDAO.insertAsserFileInfs(fvoList); | |
| 284 | + } | |
| 285 | + if (atchFileId == "") { | |
| 286 | + atchFileId = null; | |
| 287 | + } | |
| 288 | + return atchFileId; | |
| 289 | + } | |
| 290 | + | |
| 291 | + @Override | |
| 292 | + public FileVO selectFileAssertInf(FileVO vo) throws Exception { | |
| 293 | + return fileMngDAO.selectFileAssertInf(vo); | |
| 294 | + } | |
| 295 | + | |
| 296 | + @Override | |
| 297 | + public FileVO selectFileUserInf(FileVO vo) throws Exception { | |
| 298 | + return fileMngDAO.selectFileUserInf(vo); | |
| 299 | + } | |
| 300 | + | |
| 301 | + @Override | |
| 302 | + public String insertAsserFileInf(FileVO resultFile) throws Exception { | |
| 303 | + | |
| 304 | + FileVO paramFileVO = new FileVO(); | |
| 305 | + FileVO returnFileVO = new FileVO(); | |
| 306 | + { | |
| 307 | + if("0".equals(resultFile.getFileType())){ //상세 또는 일괄등록에서 사진등록시 무조건 이전것 삭제 | |
| 308 | + paramFileVO.setFileType(resultFile.getFileType()); | |
| 309 | + paramFileVO.setRefId(resultFile.getRefId()); | |
| 310 | + returnFileVO = fileMngDAO.selectFileAssertInfByRefId(paramFileVO); | |
| 311 | + if(returnFileVO !=null) { | |
| 312 | + File delFile = new File(returnFileVO.getFileStreCours()+returnFileVO.getStreFileNm()); | |
| 313 | + delFile.delete(); //실제파일 deletePerFile 삭제 | |
| 314 | + } | |
| 315 | + fileMngDAO.deleteAsserFileInfByRefId(paramFileVO); //DB삭제 | |
| 316 | + } | |
| 317 | + | |
| 318 | + } | |
| 319 | + | |
| 320 | + String atchFileId = ""; | |
| 321 | + if (resultFile != null) { | |
| 322 | + atchFileId = fileMngDAO.insertAsserFileInf(resultFile); | |
| 323 | + } | |
| 324 | + if (atchFileId == "") { | |
| 325 | + atchFileId = null; | |
| 326 | + } | |
| 327 | + return atchFileId; | |
| 328 | + } | |
| 329 | + | |
| 330 | + @Override | |
| 331 | + public String insertUserFileInf(FileVO resultFile) throws Exception { | |
| 332 | + | |
| 333 | + FileVO paramFileVO = new FileVO(); | |
| 334 | + FileVO returnFileVO = new FileVO(); | |
| 335 | + { | |
| 336 | + paramFileVO.setRefId(resultFile.getRefId()); | |
| 337 | + returnFileVO = fileMngDAO.selectFileUserInfByRefId(paramFileVO); | |
| 338 | + if(returnFileVO !=null) { | |
| 339 | + File delFile = new File(returnFileVO.getFileStreCours()+returnFileVO.getStreFileNm()); | |
| 340 | + delFile.delete(); //실제파일 deletePerFile 삭제 | |
| 341 | + } | |
| 342 | + fileMngDAO.deleteUserFileInfByRefId(paramFileVO); //DB삭제 | |
| 343 | + | |
| 344 | + } | |
| 345 | + | |
| 346 | + String atchFileId = ""; | |
| 347 | + if (resultFile != null) { | |
| 348 | + atchFileId = fileMngDAO.insertUserFileInf(resultFile); | |
| 349 | + } | |
| 350 | + if (atchFileId == "") { | |
| 351 | + atchFileId = null; | |
| 352 | + } | |
| 353 | + return atchFileId; | |
| 354 | + } | |
| 355 | + | |
| 356 | + @Override | |
| 357 | + public String insertAsserFilePlus(FileVO resultFile) throws Exception { | |
| 358 | + String fileId = idgenService.getNextStringId(); | |
| 359 | + resultFile.setAtchFileId(fileId); | |
| 360 | + fileMngDAO.insertAsserFilePlus(resultFile); | |
| 361 | + return fileId; | |
| 362 | + } | |
| 363 | + | |
| 364 | + @Override | |
| 365 | + public void deleteAssertFileInf(FileVO fileVO) throws Exception { | |
| 366 | + FileVO returnFileVO = new FileVO(); | |
| 367 | + returnFileVO = fileMngDAO.selectFileAssertInf(fileVO); | |
| 368 | + if(returnFileVO !=null) { | |
| 369 | + File delFile = new File(returnFileVO.getFileStreCours()+returnFileVO.getStreFileNm()); | |
| 370 | + delFile.delete(); //실제파일 deletePerFile 삭제 | |
| 371 | + } | |
| 372 | + fileMngDAO.deleteAssertFileInf(fileVO); //DB삭제 | |
| 373 | + } | |
| 374 | + | |
| 375 | + @Override | |
| 376 | + public void deleteUserFileInf(FileVO fileVO) throws Exception { | |
| 377 | + FileVO returnFileVO = new FileVO(); | |
| 378 | + returnFileVO = fileMngDAO.selectFileUserInf(fileVO); | |
| 379 | + if(returnFileVO !=null) { | |
| 380 | + File delFile = new File(returnFileVO.getFileStreCours()+returnFileVO.getStreFileNm()); | |
| 381 | + delFile.delete(); //실제파일 deletePerFile 삭제 | |
| 382 | + } | |
| 383 | + fileMngDAO.deleteUserFileInf(fileVO); //DB삭제 | |
| 384 | + } | |
| 385 | + | |
| 386 | + @Override | |
| 387 | + public List<FileVO> selectAssertFileList(FileVO fileVO) throws Exception { | |
| 388 | + return fileMngDAO.selectAssertFileList(fileVO); | |
| 389 | + } | |
| 390 | + | |
| 391 | + @Override | |
| 392 | + public void deleteAssertFileInfByRefIdList(FileVO paramFileVO) throws Exception { | |
| 393 | + List<FileVO> returnFileList = fileMngDAO.selectFileAssertInfByRefIdList(paramFileVO); | |
| 394 | + for(FileVO tempFileVO : returnFileList) { | |
| 395 | + File delFile = new File(tempFileVO.getFileStreCours()+tempFileVO.getStreFileNm()); | |
| 396 | + delFile.delete(); //실제파일 deletePerFile 삭제 | |
| 397 | + fileMngDAO.deleteAsserFileInfByRefId(paramFileVO); //DB삭제 | |
| 398 | + } | |
| 399 | + } | |
| 400 | + | |
| 401 | + @Override | |
| 402 | + public List<FileVO> selectIpFileList(FileVO fileVO) throws Exception { | |
| 403 | + return fileMngDAO.selectIpFileList(fileVO); | |
| 404 | + } | |
| 405 | + | |
| 406 | + @Override | |
| 407 | + public String insertIpFileInf(FileVO resultFile) throws Exception { | |
| 408 | + String atchFileId = ""; | |
| 409 | + if (resultFile != null) { | |
| 410 | + atchFileId = fileMngDAO.insertIpFileInf(resultFile); | |
| 411 | + } | |
| 412 | + if (atchFileId == "") { | |
| 413 | + atchFileId = null; | |
| 414 | + } | |
| 415 | + return atchFileId; | |
| 416 | + } | |
| 417 | + | |
| 418 | + @Override | |
| 419 | + public void deleteIpFileInf(FileVO fileVO) throws Exception { | |
| 420 | + FileVO returnFileVO = new FileVO(); | |
| 421 | + returnFileVO = fileMngDAO.selectFileIpInf(fileVO); | |
| 422 | + if(returnFileVO !=null) { | |
| 423 | + File delFile = new File(returnFileVO.getFileStreCours()+returnFileVO.getStreFileNm()); | |
| 424 | + delFile.delete(); //실제파일 deletePerFile 삭제 | |
| 425 | + } | |
| 426 | + fileMngDAO.deleteIpFileInf(fileVO); //DB삭제 | |
| 427 | + } | |
| 428 | + | |
| 429 | + @Override | |
| 430 | + public FileVO selectItsmIpFileInf(FileVO fileVO) throws Exception { | |
| 431 | + return fileMngDAO.selectItsmIpFileInf(fileVO); | |
| 432 | + } | |
| 433 | + | |
| 434 | + @Override | |
| 435 | + public FileVO selectFileUSertInf(FileVO vo) throws Exception { | |
| 436 | + // TODO Auto-generated method stub | |
| 437 | + return null; | |
| 438 | + } | |
| 439 | + | |
| 440 | +} |
+++ src/main/java/egovframework/com/cmm/service/impl/EgovTestUserDetailsServiceImpl.java
... | ... | @@ -0,0 +1,67 @@ |
| 1 | +package egovframework.com.cmm.service.impl; | |
| 2 | + | |
| 3 | +import java.util.ArrayList; | |
| 4 | +import java.util.List; | |
| 5 | + | |
| 6 | +import egovframework.com.cmm.LoginVO; | |
| 7 | +import egovframework.com.cmm.service.EgovUserDetailsService; | |
| 8 | + | |
| 9 | +import egovframework.rte.fdl.cmmn.EgovAbstractServiceImpl; | |
| 10 | + | |
| 11 | +/** | |
| 12 | + * | |
| 13 | + * @author 공통서비스 개발팀 서준식 | |
| 14 | + * @since 2011. 8. 12. | |
| 15 | + * @version 1.0 | |
| 16 | + * @see | |
| 17 | + * | |
| 18 | + * <pre> | |
| 19 | + * 개정이력(Modification Information) | |
| 20 | + * | |
| 21 | + * 수정일 수정자 수정내용 | |
| 22 | + * ------- -------- --------------------------- | |
| 23 | + * 2011. 8. 12. 서준식 최초생성 | |
| 24 | + * | |
| 25 | + * </pre> | |
| 26 | + */ | |
| 27 | + | |
| 28 | +public class EgovTestUserDetailsServiceImpl extends EgovAbstractServiceImpl implements EgovUserDetailsService { | |
| 29 | + | |
| 30 | + @Override | |
| 31 | + public Object getAuthenticatedUser() { | |
| 32 | + | |
| 33 | + LoginVO loginVO = new LoginVO(); | |
| 34 | + loginVO.setId("TEST1"); | |
| 35 | + loginVO.setPassword("raHLBnHFcunwNzcDcfad4PhD11hHgXSUr7fc1Jk9uoQ="); | |
| 36 | + loginVO.setUserSe("USR"); | |
| 37 | + loginVO.setEmail("egovframe@nia.or.kr"); | |
| 38 | + loginVO.setIhidNum(""); | |
| 39 | + loginVO.setName("더미사용자"); | |
| 40 | + loginVO.setOrgnztId("ORGNZT_0000000000000"); | |
| 41 | + loginVO.setUniqId("USRCNFRM_00000000000"); | |
| 42 | + return loginVO; | |
| 43 | + | |
| 44 | + } | |
| 45 | + | |
| 46 | + @Override | |
| 47 | + public List<String> getAuthorities() { | |
| 48 | + | |
| 49 | + // 권한 설정을 리턴한다. | |
| 50 | + List<String> listAuth = new ArrayList<String>(); | |
| 51 | + listAuth.add("IS_AUTHENTICATED_ANONYMOUSLY"); | |
| 52 | + listAuth.add("IS_AUTHENTICATED_FULLY"); | |
| 53 | + listAuth.add("IS_AUTHENTICATED_REMEMBERED"); | |
| 54 | + listAuth.add("ROLE_ADMIN"); | |
| 55 | + listAuth.add("ROLE_ANONYMOUS"); | |
| 56 | + listAuth.add("ROLE_RESTRICTED"); | |
| 57 | + listAuth.add("ROLE_USER"); | |
| 58 | + | |
| 59 | + return listAuth; | |
| 60 | + } | |
| 61 | + | |
| 62 | + @Override | |
| 63 | + public Boolean isAuthenticated() { | |
| 64 | + return true; | |
| 65 | + } | |
| 66 | + | |
| 67 | +} |
+++ src/main/java/egovframework/com/cmm/service/impl/EgovUserDetailsSessionServiceImpl.java
... | ... | @@ -0,0 +1,65 @@ |
| 1 | +package egovframework.com.cmm.service.impl; | |
| 2 | + | |
| 3 | +import java.util.ArrayList; | |
| 4 | +import java.util.List; | |
| 5 | + | |
| 6 | +import egovframework.com.cmm.service.EgovUserDetailsService; | |
| 7 | + | |
| 8 | +import egovframework.rte.fdl.cmmn.EgovAbstractServiceImpl; | |
| 9 | + | |
| 10 | +import org.springframework.web.context.request.RequestAttributes; | |
| 11 | +import org.springframework.web.context.request.RequestContextHolder; | |
| 12 | + | |
| 13 | +/** | |
| 14 | + * | |
| 15 | + * @author 공통서비스 개발팀 서준식 | |
| 16 | + * @since 2011. 6. 25. | |
| 17 | + * @version 1.0 | |
| 18 | + * @see | |
| 19 | + * | |
| 20 | + * <pre> | |
| 21 | + * 개정이력(Modification Information) | |
| 22 | + * | |
| 23 | + * 수정일 수정자 수정내용 | |
| 24 | + * ------- -------- --------------------------- | |
| 25 | + * 2011. 8. 12. 서준식 최초생성 | |
| 26 | + * | |
| 27 | + * </pre> | |
| 28 | + */ | |
| 29 | + | |
| 30 | +public class EgovUserDetailsSessionServiceImpl extends EgovAbstractServiceImpl implements EgovUserDetailsService { | |
| 31 | + | |
| 32 | + @Override | |
| 33 | + public Object getAuthenticatedUser() { | |
| 34 | + | |
| 35 | + return RequestContextHolder.getRequestAttributes().getAttribute("loginVO", RequestAttributes.SCOPE_SESSION); | |
| 36 | + | |
| 37 | + } | |
| 38 | + | |
| 39 | + @Override | |
| 40 | + public List<String> getAuthorities() { | |
| 41 | + | |
| 42 | + // 권한 설정을 리턴한다. | |
| 43 | + List<String> listAuth = new ArrayList<String>(); | |
| 44 | + | |
| 45 | + return listAuth; | |
| 46 | + } | |
| 47 | + | |
| 48 | + @Override | |
| 49 | + public Boolean isAuthenticated() { | |
| 50 | + // 인증된 유저인지 확인한다. | |
| 51 | + | |
| 52 | + if (RequestContextHolder.getRequestAttributes() == null) { | |
| 53 | + return false; | |
| 54 | + } else { | |
| 55 | + | |
| 56 | + if (RequestContextHolder.getRequestAttributes().getAttribute("loginVO", RequestAttributes.SCOPE_SESSION) == null) { | |
| 57 | + return false; | |
| 58 | + } else { | |
| 59 | + return true; | |
| 60 | + } | |
| 61 | + } | |
| 62 | + | |
| 63 | + } | |
| 64 | + | |
| 65 | +} |
+++ src/main/java/egovframework/com/cmm/service/impl/FileManageDAO.java
... | ... | @@ -0,0 +1,406 @@ |
| 1 | +package egovframework.com.cmm.service.impl; | |
| 2 | + | |
| 3 | +import java.util.Iterator; | |
| 4 | +import java.util.List; | |
| 5 | + | |
| 6 | +import org.springframework.stereotype.Repository; | |
| 7 | + | |
| 8 | +import egovframework.com.cmm.service.FileVO; | |
| 9 | +import egovframework.let.itsm.per.service.PerispVO; | |
| 10 | + | |
| 11 | +/** | |
| 12 | + * @Class Name : EgovFileMngDAO.java | |
| 13 | + * @Description : 파일정보 관리를 위한 데이터 처리 클래스 | |
| 14 | + * @Modification Information | |
| 15 | + * | |
| 16 | + * 수정일 수정자 수정내용 | |
| 17 | + * ------- ------- ------------------- | |
| 18 | + * 2009. 3. 25. 이삼섭 최초생성 | |
| 19 | + * | |
| 20 | + * @author 공통 서비스 개발팀 이삼섭 | |
| 21 | + * @since 2009. 3. 25. | |
| 22 | + * @version | |
| 23 | + * @see | |
| 24 | + * | |
| 25 | + */ | |
| 26 | +@Repository("FileManageDAO") | |
| 27 | +public class FileManageDAO extends EgovComAbstractDAO { | |
| 28 | + | |
| 29 | + /** | |
| 30 | + * 여러 개의 파일에 대한 정보(속성 및 상세)를 등록한다. | |
| 31 | + * | |
| 32 | + * @param fileList | |
| 33 | + * @return | |
| 34 | + * @throws Exception | |
| 35 | + */ | |
| 36 | + public String insertFileInfs(List<?> fileList) throws Exception { | |
| 37 | + FileVO vo = (FileVO) fileList.get(0); | |
| 38 | + String atchFileId = vo.getAtchFileId(); | |
| 39 | + | |
| 40 | + insert("FileManageDAO.insertFileMaster", vo); | |
| 41 | + | |
| 42 | + Iterator<?> iter = fileList.iterator(); | |
| 43 | + while (iter.hasNext()) { | |
| 44 | + vo = (FileVO) iter.next(); | |
| 45 | + | |
| 46 | + insert("FileManageDAO.insertFileDetail", vo); | |
| 47 | + } | |
| 48 | + | |
| 49 | + return atchFileId; | |
| 50 | + } | |
| 51 | + | |
| 52 | + /** | |
| 53 | + * 하나의 파일에 대한 정보(속성 및 상세)를 등록한다. | |
| 54 | + * | |
| 55 | + * @param vo | |
| 56 | + * @throws Exception | |
| 57 | + */ | |
| 58 | + public void insertFileInf(FileVO vo) throws Exception { | |
| 59 | + insert("FileManageDAO.insertFileMaster", vo); | |
| 60 | + insert("FileManageDAO.insertFileDetail", vo); | |
| 61 | + } | |
| 62 | + | |
| 63 | + /** | |
| 64 | + * 여러 개의 파일에 대한 정보(속성 및 상세)를 수정한다. | |
| 65 | + * | |
| 66 | + * @param fileList | |
| 67 | + * @throws Exception | |
| 68 | + */ | |
| 69 | + public void updateFileInfs(List<?> fileList) throws Exception { | |
| 70 | + FileVO vo; | |
| 71 | + Iterator<?> iter = fileList.iterator(); | |
| 72 | + while (iter.hasNext()) { | |
| 73 | + vo = (FileVO) iter.next(); | |
| 74 | + | |
| 75 | + insert("FileManageDAO.insertFileDetail", vo); | |
| 76 | + } | |
| 77 | + } | |
| 78 | + | |
| 79 | + /** | |
| 80 | + * 여러 개의 파일을 삭제한다. | |
| 81 | + * | |
| 82 | + * @param fileList | |
| 83 | + * @throws Exception | |
| 84 | + */ | |
| 85 | + public void deleteFileInfs(List<?> fileList) throws Exception { | |
| 86 | + Iterator<?> iter = fileList.iterator(); | |
| 87 | + FileVO vo; | |
| 88 | + while (iter.hasNext()) { | |
| 89 | + vo = (FileVO) iter.next(); | |
| 90 | + | |
| 91 | + delete("FileManageDAO.deleteFileDetail", vo); | |
| 92 | + } | |
| 93 | + } | |
| 94 | + | |
| 95 | + /** | |
| 96 | + * 하나의 파일을 삭제한다. | |
| 97 | + * | |
| 98 | + * @param fvo | |
| 99 | + * @throws Exception | |
| 100 | + */ | |
| 101 | + public void deleteFileInf(FileVO fvo) throws Exception { | |
| 102 | + delete("FileManageDAO.deleteFileDetail", fvo); | |
| 103 | + } | |
| 104 | + | |
| 105 | + /** | |
| 106 | + * 파일에 대한 목록을 조회한다. | |
| 107 | + * | |
| 108 | + * @param vo | |
| 109 | + * @return | |
| 110 | + * @throws Exception | |
| 111 | + */ | |
| 112 | + @SuppressWarnings("unchecked") | |
| 113 | + public List<FileVO> selectFileInfs(FileVO vo) throws Exception { | |
| 114 | + return (List<FileVO>) list("FileManageDAO.selectFileList", vo); | |
| 115 | + } | |
| 116 | + | |
| 117 | + //보안관리 첨부파일 | |
| 118 | + @SuppressWarnings("unchecked") | |
| 119 | + public List<FileVO> selectSecFileInfs(FileVO vo) throws Exception { | |
| 120 | + return (List<FileVO>) list("FileManageDAO.selectSecFileList", vo); | |
| 121 | + } | |
| 122 | + | |
| 123 | + //사업관리 첨부파일 | |
| 124 | + @SuppressWarnings("unchecked") | |
| 125 | + public List<FileVO> selectBizFileInfs(FileVO vo) throws Exception { | |
| 126 | + return (List<FileVO>) list("FileManageDAO.selectBizFileList", vo); | |
| 127 | + } | |
| 128 | + | |
| 129 | + //개인정보실태평가,국정원실태평가,외부감사 관리 첨부파일 | |
| 130 | + @SuppressWarnings("unchecked") | |
| 131 | + public List<FileVO> selectEvalFileInfs(FileVO vo) throws Exception { | |
| 132 | + return (List<FileVO>) list("FileManageDAO.selectEvalFileList", vo); | |
| 133 | + } | |
| 134 | + | |
| 135 | + //개인정보실태평가,국정원실태평가,외부감사 관리 첨부파일 | |
| 136 | + @SuppressWarnings("unchecked") | |
| 137 | + public List<FileVO> selectNisEvalFileInfs(FileVO vo) throws Exception { | |
| 138 | + return (List<FileVO>) list("FileManageDAO.selectNisEvalFileList", vo); | |
| 139 | + } | |
| 140 | + | |
| 141 | + //SLA관리 첨부파일 | |
| 142 | + @SuppressWarnings("unchecked") | |
| 143 | + public List<FileVO> selectSLAFileInfs(FileVO vo) throws Exception { | |
| 144 | + return (List<FileVO>) list("FileManageDAO.selectSLAFileList", vo); | |
| 145 | + } | |
| 146 | + | |
| 147 | + //정기점검 첨부파일 | |
| 148 | + @SuppressWarnings("unchecked") | |
| 149 | + public List<FileVO> selectPerFileInfs(FileVO vo) throws Exception { | |
| 150 | + return (List<FileVO>) list("FileManageDAO.selectPerFileList", vo); | |
| 151 | + } | |
| 152 | + | |
| 153 | + /** | |
| 154 | + * 파일 구분자에 대한 최대값을 구한다. | |
| 155 | + * | |
| 156 | + * @param fvo | |
| 157 | + * @return | |
| 158 | + * @throws Exception | |
| 159 | + */ | |
| 160 | + public int getMaxFileSN(FileVO fvo) throws Exception { | |
| 161 | + return (Integer) select("FileManageDAO.getMaxFileSN", fvo); | |
| 162 | + } | |
| 163 | + | |
| 164 | + /** | |
| 165 | + * 파일에 대한 상세정보를 조회한다. | |
| 166 | + * | |
| 167 | + * @param fvo | |
| 168 | + * @return | |
| 169 | + * @throws Exception | |
| 170 | + */ | |
| 171 | + public FileVO selectFileInf(FileVO fvo) throws Exception { | |
| 172 | + return (FileVO) select("FileManageDAO.selectFileInf", fvo); | |
| 173 | + } | |
| 174 | + | |
| 175 | + /** | |
| 176 | + * 전체 파일을 삭제한다. | |
| 177 | + * | |
| 178 | + * @param fvo | |
| 179 | + * @throws Exception | |
| 180 | + */ | |
| 181 | + public void deleteAllFileInf(FileVO fvo) throws Exception { | |
| 182 | + update("FileManageDAO.deleteCOMTNFILE", fvo); | |
| 183 | + } | |
| 184 | + | |
| 185 | + /** | |
| 186 | + * 파일명 검색에 대한 목록을 조회한다. | |
| 187 | + * | |
| 188 | + * @param vo | |
| 189 | + * @return | |
| 190 | + * @throws Exception | |
| 191 | + */ | |
| 192 | + @SuppressWarnings("unchecked") | |
| 193 | + public List<FileVO> selectFileListByFileNm(FileVO fvo) throws Exception { | |
| 194 | + return (List<FileVO>) list("FileManageDAO.selectFileListByFileNm", fvo); | |
| 195 | + } | |
| 196 | + | |
| 197 | + /** | |
| 198 | + * 파일명 검색에 대한 목록 전체 건수를 조회한다. | |
| 199 | + * | |
| 200 | + * @param fvo | |
| 201 | + * @return | |
| 202 | + * @throws Exception | |
| 203 | + */ | |
| 204 | + public int selectFileListCntByFileNm(FileVO fvo) throws Exception { | |
| 205 | + return (Integer) select("FileManageDAO.selectFileListCntByFileNm", fvo); | |
| 206 | + } | |
| 207 | + | |
| 208 | + /** | |
| 209 | + * 이미지 파일에 대한 목록을 조회한다. | |
| 210 | + * | |
| 211 | + * @param vo | |
| 212 | + * @return | |
| 213 | + * @throws Exception | |
| 214 | + */ | |
| 215 | + @SuppressWarnings("unchecked") | |
| 216 | + public List<FileVO> selectImageFileList(FileVO vo) throws Exception { | |
| 217 | + return (List<FileVO>) list("FileManageDAO.selectImageFileList", vo); | |
| 218 | + } | |
| 219 | + | |
| 220 | + /*단일파일 수정*/ | |
| 221 | + public void updateFileInfo(List fvoList) { | |
| 222 | + FileVO vo; | |
| 223 | + Iterator<?> iter = fvoList.iterator(); | |
| 224 | + while (iter.hasNext()) { | |
| 225 | + vo = (FileVO) iter.next(); | |
| 226 | + update("FileManageDAO.updateFileInfo", vo); | |
| 227 | + } | |
| 228 | + } | |
| 229 | + | |
| 230 | + public void updateFileInf(FileVO vo) { | |
| 231 | + update("FileManageDAO.updateFileInfo", vo); | |
| 232 | + } | |
| 233 | + | |
| 234 | + public void insertAsserFilePlus(FileVO resultFile) throws Exception{ | |
| 235 | + insert("FileManageDAO.insertItsmFileInfs", resultFile); | |
| 236 | + } | |
| 237 | + | |
| 238 | + public String insertItsmFileInfs(List<?> fileList) throws Exception{ | |
| 239 | + FileVO vo = (FileVO) fileList.get(0); | |
| 240 | + String atchFileId = vo.getAtchFileId(); | |
| 241 | + | |
| 242 | + Iterator<?> iter = fileList.iterator(); | |
| 243 | + while (iter.hasNext()) { | |
| 244 | + vo = (FileVO) iter.next(); | |
| 245 | + | |
| 246 | + | |
| 247 | + | |
| 248 | + System.out.println("@@@@@@@@@@@@" + vo.getFileMg()); | |
| 249 | + | |
| 250 | + | |
| 251 | + insert("FileManageDAO.insertItsmFileInfs", vo); | |
| 252 | + } | |
| 253 | + return atchFileId; | |
| 254 | + } | |
| 255 | + | |
| 256 | + public FileVO selectItsmFileInf(FileVO fvo) throws Exception{ | |
| 257 | + return (FileVO) select("FileManageDAO.selectItsmFileInf", fvo); | |
| 258 | + } | |
| 259 | + | |
| 260 | + public FileVO selectItsmperFileInf(FileVO fvo) throws Exception{ | |
| 261 | + return (FileVO) select("FileManageDAO.selectItsmperFileInf", fvo); | |
| 262 | + } | |
| 263 | + | |
| 264 | + public FileVO selectNisEvalItemFileInfo(FileVO fvo) throws Exception{ | |
| 265 | + return (FileVO) select("nisMngDAO.selectNisEvalItemFileInfo", fvo); | |
| 266 | + } | |
| 267 | + | |
| 268 | + public void deleteItsmFileInf(FileVO fileVO) throws Exception{ | |
| 269 | + delete("FileManageDAO.deleteItsmFileInf", fileVO); | |
| 270 | + | |
| 271 | + } | |
| 272 | + | |
| 273 | + @SuppressWarnings("unchecked") | |
| 274 | + public List<FileVO> selectPerfile(PerispVO paramPerispVO) throws Exception{ //정기점검 파일조회 | |
| 275 | + return (List<FileVO>) list("FileManageDAO.selectPerfile", paramPerispVO); | |
| 276 | + } | |
| 277 | + | |
| 278 | + public String insertPerFileInfs(List<FileVO> fileList) throws Exception{ | |
| 279 | + FileVO vo = (FileVO) fileList.get(0); | |
| 280 | + String atchFileId = vo.getAtchFileId(); | |
| 281 | + | |
| 282 | + Iterator<?> iter = fileList.iterator(); | |
| 283 | + while (iter.hasNext()) { | |
| 284 | + vo = (FileVO) iter.next(); | |
| 285 | + insert("FileManageDAO.insertPerFileInfs", vo); | |
| 286 | + } | |
| 287 | + return atchFileId; | |
| 288 | + } | |
| 289 | + | |
| 290 | + @SuppressWarnings("unchecked") | |
| 291 | + public List<FileVO> selectNisEvitFile(PerispVO paramPerispVO) throws Exception{ //정기점검 파일조회 | |
| 292 | + return (List<FileVO>) list("FileManageDAO.selectNisEvitFile", paramPerispVO); | |
| 293 | + } | |
| 294 | + | |
| 295 | + public String insertNisEvitFileInfs(List<FileVO> fileList) throws Exception{ | |
| 296 | + FileVO vo = (FileVO) fileList.get(0); | |
| 297 | + String atchFileId = vo.getAtchFileId(); | |
| 298 | + | |
| 299 | + Iterator<?> iter = fileList.iterator(); | |
| 300 | + while (iter.hasNext()) { | |
| 301 | + vo = (FileVO) iter.next(); | |
| 302 | + insert("FileManageDAO.insertNisEvitFileInfs", vo); | |
| 303 | + } | |
| 304 | + return atchFileId; | |
| 305 | + } | |
| 306 | + | |
| 307 | + @SuppressWarnings("unchecked") | |
| 308 | + public List<FileVO> selectItsmFileList(FileVO tempFileVO) throws Exception{ | |
| 309 | + return (List<FileVO>) list("FileManageDAO.selectItsmFileList", tempFileVO); | |
| 310 | + } | |
| 311 | + | |
| 312 | + public void deleteEvalFile(FileVO tempFileVO) throws Exception{ | |
| 313 | + delete("FileManageDAO.deleteEvalFile", tempFileVO); | |
| 314 | + } | |
| 315 | + | |
| 316 | + public String insertAsserFileInfs(List<FileVO> fvoList) throws Exception{ | |
| 317 | + FileVO vo = (FileVO) fvoList.get(0); | |
| 318 | + String atchFileId = vo.getAtchFileId(); | |
| 319 | + | |
| 320 | + Iterator<?> iter = fvoList.iterator(); | |
| 321 | + while (iter.hasNext()) { | |
| 322 | + vo = (FileVO) iter.next(); | |
| 323 | + insert("FileManageDAO.insertAsserFileInfs", vo); | |
| 324 | + } | |
| 325 | + return atchFileId; | |
| 326 | + } | |
| 327 | + | |
| 328 | + public FileVO selectFileAssertInf(FileVO vo) throws Exception{ | |
| 329 | + return (FileVO) select("FileManageDAO.selectFileAssertInf", vo); | |
| 330 | + } | |
| 331 | + | |
| 332 | + public FileVO selectFileUserInf(FileVO vo) throws Exception{ | |
| 333 | + return (FileVO) select("FileManageDAO.selectFileUserInf", vo); | |
| 334 | + } | |
| 335 | + | |
| 336 | + public String insertAsserFileInf(FileVO resultFile) throws Exception{ | |
| 337 | + String atchFileId = resultFile.getAtchFileId(); | |
| 338 | + insert("FileManageDAO.insertAsserFileInf", resultFile); | |
| 339 | + return atchFileId; | |
| 340 | + } | |
| 341 | + | |
| 342 | + public String insertUserFileInf(FileVO resultFile) throws Exception{ | |
| 343 | + String atchFileId = resultFile.getAtchFileId(); | |
| 344 | + insert("FileManageDAO.insertUserFileInf", resultFile); | |
| 345 | + return atchFileId; | |
| 346 | + } | |
| 347 | + | |
| 348 | + | |
| 349 | + public FileVO selectFileAssertInfByRefId(FileVO resultFile) throws Exception{ | |
| 350 | + return (FileVO) select("FileManageDAO.selectFileAssertInfByRefId", resultFile); | |
| 351 | + } | |
| 352 | + | |
| 353 | + public FileVO selectFileUserInfByRefId(FileVO resultFile) throws Exception{ | |
| 354 | + return (FileVO) select("FileManageDAO.selectFileUserInfByRefId", resultFile); | |
| 355 | + } | |
| 356 | + | |
| 357 | + public void deleteAsserFileInfByRefId(FileVO resultFile) throws Exception{ | |
| 358 | + delete("FileManageDAO.deleteAsserFileInfByRefId", resultFile); | |
| 359 | + } | |
| 360 | + | |
| 361 | + public void deleteUserFileInfByRefId(FileVO resultFile) throws Exception{ | |
| 362 | + delete("FileManageDAO.deleteUserFileInfByRefId", resultFile); | |
| 363 | + } | |
| 364 | + | |
| 365 | + public void deleteAssertFileInf(FileVO fileVO) throws Exception{ | |
| 366 | + delete("FileManageDAO.deleteAssertFileInf", fileVO); | |
| 367 | + } | |
| 368 | + | |
| 369 | + public void deleteUserFileInf(FileVO fileVO) throws Exception{ | |
| 370 | + delete("FileManageDAO.deleteUserFileInf", fileVO); | |
| 371 | + } | |
| 372 | + | |
| 373 | + @SuppressWarnings("unchecked") | |
| 374 | + public List<FileVO> selectAssertFileList(FileVO fileVO) throws Exception{ | |
| 375 | + return (List<FileVO>) list("FileManageDAO.selectAssertFileList", fileVO); | |
| 376 | + } | |
| 377 | + | |
| 378 | + @SuppressWarnings("unchecked") | |
| 379 | + public List<FileVO> selectFileAssertInfByRefIdList(FileVO paramFileVO) throws Exception{ | |
| 380 | + return (List<FileVO>) list("FileManageDAO.selectFileAssertInfByRefId", paramFileVO); | |
| 381 | + } | |
| 382 | + | |
| 383 | + @SuppressWarnings("unchecked") | |
| 384 | + public List<FileVO> selectIpFileList(FileVO fileVO) throws Exception{ | |
| 385 | + return (List<FileVO>) list("FileManageDAO.selectIpFileList", fileVO); | |
| 386 | + } | |
| 387 | + | |
| 388 | + public String insertIpFileInf(FileVO resultFile) throws Exception{ | |
| 389 | + String atchFileId = resultFile.getAtchFileId(); | |
| 390 | + insert("FileManageDAO.insertIpFileInf", resultFile); | |
| 391 | + return atchFileId; | |
| 392 | + } | |
| 393 | + | |
| 394 | + public FileVO selectFileIpInf(FileVO fileVO) throws Exception{ | |
| 395 | + return (FileVO) select("FileManageDAO.selectFileIpInf", fileVO); | |
| 396 | + } | |
| 397 | + | |
| 398 | + public void deleteIpFileInf(FileVO fileVO) throws Exception{ | |
| 399 | + delete("FileManageDAO.deleteIpFileInf", fileVO); | |
| 400 | + } | |
| 401 | + | |
| 402 | + public FileVO selectItsmIpFileInf(FileVO fileVO) throws Exception{ | |
| 403 | + return (FileVO) select("FileManageDAO.selectItsmIpFileInf", fileVO); | |
| 404 | + } | |
| 405 | + | |
| 406 | +} |
+++ src/main/java/egovframework/com/cmm/taglibs/DoubleSubmitTag.java
... | ... | @@ -0,0 +1,88 @@ |
| 1 | +package egovframework.com.cmm.taglibs; | |
| 2 | + | |
| 3 | +import java.io.IOException; | |
| 4 | +import java.util.HashMap; | |
| 5 | +import java.util.Map; | |
| 6 | + | |
| 7 | +import egovframework.com.cmm.util.EgovDoubleSubmitHelper; | |
| 8 | + | |
| 9 | +import javax.servlet.http.HttpServletRequest; | |
| 10 | +import javax.servlet.http.HttpSession; | |
| 11 | +import javax.servlet.jsp.JspException; | |
| 12 | +import javax.servlet.jsp.JspTagException; | |
| 13 | +import javax.servlet.jsp.tagext.TagSupport; | |
| 14 | + | |
| 15 | +import org.slf4j.Logger; | |
| 16 | +import org.slf4j.LoggerFactory; | |
| 17 | + | |
| 18 | +/** | |
| 19 | + * TagSupport to support to double submit preventer | |
| 20 | + * @author Vincent Han | |
| 21 | + * @since 2014.08.07 | |
| 22 | + * @version 1.0 | |
| 23 | + * @see | |
| 24 | + * | |
| 25 | + * <pre> | |
| 26 | + * << 개정이력(Modification Information) >> | |
| 27 | + * | |
| 28 | + * 수정일 수정자 수정내용 | |
| 29 | + * ------- -------- --------------------------- | |
| 30 | + * 2014.08.07 표준프레임워크센터 최초 생성 | |
| 31 | + * | |
| 32 | + * </pre> | |
| 33 | + */ | |
| 34 | +public class DoubleSubmitTag extends TagSupport { | |
| 35 | + private static final Logger LOGGER = LoggerFactory.getLogger(DoubleSubmitTag.class); | |
| 36 | + | |
| 37 | + /** | |
| 38 | + * Generated Serial Version UID | |
| 39 | + */ | |
| 40 | + private static final long serialVersionUID = 5242217605452312594L; | |
| 41 | + | |
| 42 | + private String tokenKey = EgovDoubleSubmitHelper.DEFAULT_TOKEN_KEY; | |
| 43 | + | |
| 44 | + public String getTokenKey() { | |
| 45 | + return tokenKey; | |
| 46 | + } | |
| 47 | + | |
| 48 | + public void setTokenKey(String tokenKey) { | |
| 49 | + this.tokenKey = tokenKey; | |
| 50 | + } | |
| 51 | + | |
| 52 | + @SuppressWarnings("unchecked") | |
| 53 | + public int doStartTag() throws JspException { | |
| 54 | + StringBuilder buffer = new StringBuilder(); | |
| 55 | + | |
| 56 | + HttpServletRequest request = (HttpServletRequest)pageContext.getRequest(); | |
| 57 | + HttpSession session = request.getSession(); | |
| 58 | + | |
| 59 | + Map<String, String> map = null; | |
| 60 | + | |
| 61 | + if (session.getAttribute(EgovDoubleSubmitHelper.SESSION_TOKEN_KEY) == null) { | |
| 62 | + map = new HashMap<String, String>(); | |
| 63 | + | |
| 64 | + session.setAttribute(EgovDoubleSubmitHelper.SESSION_TOKEN_KEY, map); | |
| 65 | + } else { | |
| 66 | + map = (Map<String, String>) session.getAttribute(EgovDoubleSubmitHelper.SESSION_TOKEN_KEY); | |
| 67 | + } | |
| 68 | + | |
| 69 | + // First call (check session) | |
| 70 | + if (map.get(tokenKey) == null) { | |
| 71 | + | |
| 72 | + map.put(tokenKey, EgovDoubleSubmitHelper.getNewUUID()); | |
| 73 | + | |
| 74 | + LOGGER.debug("[Double Submit] session token created({}) : {}", tokenKey, map.get(tokenKey)); | |
| 75 | + } | |
| 76 | + | |
| 77 | + buffer.append("<input type='hidden' name='").append(EgovDoubleSubmitHelper.PARAMETER_NAME).append("' value='").append(map.get(tokenKey)).append("'/>"); | |
| 78 | + | |
| 79 | + try { | |
| 80 | + pageContext.getOut().print(buffer.toString()); | |
| 81 | + } catch (IOException e) { | |
| 82 | + throw new JspTagException("Error: IOException while writing to the user"); | |
| 83 | + } | |
| 84 | + | |
| 85 | + return SKIP_BODY; | |
| 86 | + } | |
| 87 | + | |
| 88 | +} |
+++ src/main/java/egovframework/com/cmm/util/Criteria.java
... | ... | @@ -0,0 +1,369 @@ |
| 1 | +package egovframework.com.cmm.util; | |
| 2 | + | |
| 3 | +import java.io.Serializable; | |
| 4 | +import java.io.UnsupportedEncodingException; | |
| 5 | +import java.net.URLEncoder; | |
| 6 | +import java.util.ArrayList; | |
| 7 | +import java.util.HashMap; | |
| 8 | +import java.util.Iterator; | |
| 9 | +import java.util.List; | |
| 10 | +import java.util.Map; | |
| 11 | +import java.util.Set; | |
| 12 | + | |
| 13 | +import javax.servlet.http.HttpServletRequest; | |
| 14 | + | |
| 15 | +import org.apache.commons.lang.StringUtils; | |
| 16 | +import org.apache.commons.lang.builder.ToStringBuilder; | |
| 17 | + | |
| 18 | +/** | |
| 19 | + * 프로그램 파일명 : Criteria.java | |
| 20 | + * | |
| 21 | + * 프로그램 설명 : 검색용 객체 | |
| 22 | + * | |
| 23 | + * 작 성 자 : jeong hoon hee | |
| 24 | + * | |
| 25 | + * 작 성 일 : 2013. 12. 02. | |
| 26 | + * | |
| 27 | + * Copyright(c) 2013 DAEYOON Co. Ltd. All rights reserved. | |
| 28 | + */ | |
| 29 | +public class Criteria implements Serializable { | |
| 30 | + | |
| 31 | + private static final long serialVersionUID = 1L; | |
| 32 | + | |
| 33 | + /** | |
| 34 | + * 검색용 맵 객체 | |
| 35 | + */ | |
| 36 | + private Map<String, Object> condition = new HashMap<String, Object>(); | |
| 37 | + | |
| 38 | + /** | |
| 39 | + * getParams() 메소드에서 append 할지여부의 condition맵 | |
| 40 | + */ | |
| 41 | + private Map<String, Boolean> paramViewMap = new HashMap<String, Boolean>(); | |
| 42 | + | |
| 43 | + /** | |
| 44 | + * 정렬용 리스트 객체 | |
| 45 | + */ | |
| 46 | + private List<Order> orderList = new ArrayList<Order>(); | |
| 47 | + | |
| 48 | + /** 검색조건 */ | |
| 49 | + private String searchCondition = ""; | |
| 50 | + | |
| 51 | + /** 검색Keyword */ | |
| 52 | + private String searchKeyword = ""; | |
| 53 | + | |
| 54 | + /** 검색사용여부 */ | |
| 55 | + private String searchUseYn = ""; | |
| 56 | + | |
| 57 | + /** 현재페이지 */ | |
| 58 | + private int pageIndex = 1; | |
| 59 | + | |
| 60 | + /** 페이지갯수 */ | |
| 61 | + private int pageUnit = 10; | |
| 62 | + | |
| 63 | + /** 페이지사이즈 */ | |
| 64 | + private int pageSize = 10; | |
| 65 | + | |
| 66 | + /** firstIndex */ | |
| 67 | + private int firstIndex = 1; | |
| 68 | + | |
| 69 | + /** lastIndex */ | |
| 70 | + private int lastIndex = 1; | |
| 71 | + | |
| 72 | + /** recordCountPerPage */ | |
| 73 | + private int recordCountPerPage = 10; | |
| 74 | + | |
| 75 | + /** 검색KeywordFrom */ | |
| 76 | + private String searchKeywordFrom = ""; | |
| 77 | + | |
| 78 | + /** 검색KeywordTo */ | |
| 79 | + private String searchKeywordTo = ""; | |
| 80 | + | |
| 81 | + /** 메뉴번호 */ | |
| 82 | + private Integer menuNo; | |
| 83 | + | |
| 84 | + /** | |
| 85 | + * 기본생성자 | |
| 86 | + */ | |
| 87 | + public Criteria() { | |
| 88 | + } | |
| 89 | + | |
| 90 | + /** | |
| 91 | + * request객체에서 넘어오는 검색파라미터를 셋팅한다. (* condition 맵처리) | |
| 92 | + * | |
| 93 | + * @param request | |
| 94 | + */ | |
| 95 | + @SuppressWarnings("unchecked") | |
| 96 | + public Criteria(HttpServletRequest request) { | |
| 97 | + | |
| 98 | + Set<String> set = request.getParameterMap().keySet(); | |
| 99 | + Iterator<String> iter = set.iterator(); | |
| 100 | + while (iter.hasNext()) { | |
| 101 | + String key = iter.next(); | |
| 102 | + if (key.equals("pageUnit")) { | |
| 103 | + try { | |
| 104 | + pageUnit = Integer.parseInt(request.getParameter(key)); | |
| 105 | + | |
| 106 | + this.condition.put("pageUnit", pageUnit); | |
| 107 | + this.paramViewMap.put("pageUnit", true); | |
| 108 | + } catch (Exception e) { | |
| 109 | + } | |
| 110 | + } else if (key.equals("pageSize")) { | |
| 111 | + try { | |
| 112 | + pageSize = Integer.parseInt(request.getParameter(key)); | |
| 113 | + | |
| 114 | + this.condition.put("pageSize", pageSize); | |
| 115 | + this.paramViewMap.put("pageSize", true); | |
| 116 | + } catch (Exception e) { | |
| 117 | + } | |
| 118 | + } else if (key.equals("pageIndex")) { | |
| 119 | + try { | |
| 120 | + pageIndex = Integer.parseInt(request.getParameter(key)); | |
| 121 | + | |
| 122 | + this.condition.put("pageIndex", pageIndex); | |
| 123 | + this.paramViewMap.put("pageIndex", true); | |
| 124 | + } catch (Exception e) { | |
| 125 | + } | |
| 126 | + } else if (key.equals("searchCondition")) { | |
| 127 | + try { | |
| 128 | + searchCondition = request.getParameter(key); | |
| 129 | + | |
| 130 | + this.condition.put("searchCondition", searchCondition); | |
| 131 | + this.paramViewMap.put("searchCondition", true); | |
| 132 | + } catch (Exception e) { | |
| 133 | + } | |
| 134 | + } else if (key.equals("searchKeyword")) { | |
| 135 | + try { | |
| 136 | + searchKeyword = request.getParameter(key); | |
| 137 | + | |
| 138 | + this.condition.put("searchKeyword", searchKeyword); | |
| 139 | + this.paramViewMap.put("searchKeyword", true); | |
| 140 | + } catch (Exception e) { | |
| 141 | + } | |
| 142 | + } else if (key.equals("menuNo")) { | |
| 143 | + try { | |
| 144 | + menuNo = Integer.parseInt(request.getParameter(key)); | |
| 145 | + | |
| 146 | + this.condition.put("menuNo", menuNo); | |
| 147 | + this.paramViewMap.put("menuNo", true); | |
| 148 | + } catch (Exception e) { | |
| 149 | + } | |
| 150 | + } else if (key.startsWith("condition.")) { | |
| 151 | + String conditionKey = StringUtils.substringAfter(key, "condition."); | |
| 152 | + String conditionValue = request.getParameter(key); | |
| 153 | + if (StringUtils.isNotEmpty(conditionValue)) { | |
| 154 | + this.condition.put(conditionKey, conditionValue); | |
| 155 | + this.paramViewMap.put(conditionKey, true); | |
| 156 | + } | |
| 157 | + } | |
| 158 | + } | |
| 159 | + } | |
| 160 | + | |
| 161 | + public Map<String, Object> getCondition() { | |
| 162 | + return condition; | |
| 163 | + } | |
| 164 | + | |
| 165 | + public void setCondition(Map<String, Object> condition) { | |
| 166 | + this.condition = condition; | |
| 167 | + } | |
| 168 | + | |
| 169 | + public Object remove(Object key) { | |
| 170 | + return this.condition.remove(key); | |
| 171 | + } | |
| 172 | + | |
| 173 | + public Object get(String key) { | |
| 174 | + return this.condition.get(key); | |
| 175 | + } | |
| 176 | + | |
| 177 | + public Object put(String key, Object value) { | |
| 178 | + this.paramViewMap.put(key, true); | |
| 179 | + return this.condition.put(key, value); | |
| 180 | + } | |
| 181 | + | |
| 182 | + public Object put(String key, Object value, boolean append) { | |
| 183 | + this.paramViewMap.put(key, append); | |
| 184 | + return this.condition.put(key, value); | |
| 185 | + } | |
| 186 | + | |
| 187 | + public List<Order> getOrderList() { | |
| 188 | + return orderList; | |
| 189 | + } | |
| 190 | + | |
| 191 | + public void setOrderList(List<Order> orderList) { | |
| 192 | + this.orderList = orderList; | |
| 193 | + } | |
| 194 | + | |
| 195 | + public void addOrder(Order order) { | |
| 196 | + this.orderList.add(order); | |
| 197 | + } | |
| 198 | + | |
| 199 | + public String getSearchCondition() { | |
| 200 | + return searchCondition; | |
| 201 | + } | |
| 202 | + | |
| 203 | + public void setSearchCondition(String searchCondition) { | |
| 204 | + this.searchCondition = searchCondition; | |
| 205 | + } | |
| 206 | + | |
| 207 | + public String getSearchKeyword() { | |
| 208 | + return searchKeyword; | |
| 209 | + } | |
| 210 | + | |
| 211 | + public void setSearchKeyword(String searchKeyword) { | |
| 212 | + this.searchKeyword = searchKeyword; | |
| 213 | + } | |
| 214 | + | |
| 215 | + public Integer getMenuNo() { | |
| 216 | + return menuNo; | |
| 217 | + } | |
| 218 | + | |
| 219 | + public void setMenuNo(Integer menuNo) { | |
| 220 | + this.menuNo = menuNo; | |
| 221 | + } | |
| 222 | + | |
| 223 | + public String getSearchUseYn() { | |
| 224 | + return searchUseYn; | |
| 225 | + } | |
| 226 | + | |
| 227 | + public void setSearchUseYn(String searchUseYn) { | |
| 228 | + this.searchUseYn = searchUseYn; | |
| 229 | + } | |
| 230 | + | |
| 231 | + public int getPageIndex() { | |
| 232 | + return pageIndex; | |
| 233 | + } | |
| 234 | + | |
| 235 | + public void setPageIndex(int pageIndex) { | |
| 236 | + this.pageIndex = pageIndex; | |
| 237 | + condition.put("pageIndex", pageIndex); | |
| 238 | + } | |
| 239 | + | |
| 240 | + public int getPageUnit() { | |
| 241 | + return pageUnit; | |
| 242 | + } | |
| 243 | + | |
| 244 | + public void setPageUnit(int pageUnit) { | |
| 245 | + this.pageUnit = pageUnit; | |
| 246 | + condition.put("pageUnit", pageUnit); | |
| 247 | + } | |
| 248 | + | |
| 249 | + public int getPageSize() { | |
| 250 | + return pageSize; | |
| 251 | + } | |
| 252 | + | |
| 253 | + public void setPageSize(int pageSize) { | |
| 254 | + this.pageSize = pageSize; | |
| 255 | + condition.put("pageSize", pageSize); | |
| 256 | + } | |
| 257 | + | |
| 258 | + public int getFirstIndex() { | |
| 259 | + return firstIndex; | |
| 260 | + } | |
| 261 | + | |
| 262 | + public void setFirstIndex(int firstIndex) { | |
| 263 | + this.firstIndex = firstIndex; | |
| 264 | + condition.put("firstIndex", firstIndex); | |
| 265 | + } | |
| 266 | + | |
| 267 | + public int getLastIndex() { | |
| 268 | + return lastIndex; | |
| 269 | + } | |
| 270 | + | |
| 271 | + public void setLastIndex(int lastIndex) { | |
| 272 | + this.lastIndex = lastIndex; | |
| 273 | + condition.put("lastIndex", lastIndex); | |
| 274 | + } | |
| 275 | + | |
| 276 | + public int getRecordCountPerPage() { | |
| 277 | + return recordCountPerPage; | |
| 278 | + } | |
| 279 | + | |
| 280 | + public void setRecordCountPerPage(int recordCountPerPage) { | |
| 281 | + this.recordCountPerPage = recordCountPerPage; | |
| 282 | + condition.put("recordCountPerPage", recordCountPerPage); | |
| 283 | + } | |
| 284 | + | |
| 285 | + public String getSearchKeywordFrom() { | |
| 286 | + return searchKeywordFrom; | |
| 287 | + } | |
| 288 | + | |
| 289 | + public void setSearchKeywordFrom(String searchKeywordFrom) { | |
| 290 | + this.searchKeywordFrom = searchKeywordFrom; | |
| 291 | + } | |
| 292 | + | |
| 293 | + public String getSearchKeywordTo() { | |
| 294 | + return searchKeywordTo; | |
| 295 | + } | |
| 296 | + | |
| 297 | + public void setSearchKeywordTo(String searchKeywordTo) { | |
| 298 | + this.searchKeywordTo = searchKeywordTo; | |
| 299 | + } | |
| 300 | + | |
| 301 | + /** | |
| 302 | + * 검색파라미터 문자열을 리턴한다. | |
| 303 | + * @return | |
| 304 | + */ | |
| 305 | + public String getParams() { | |
| 306 | + return getParams(true); | |
| 307 | + } | |
| 308 | + | |
| 309 | + /** | |
| 310 | + * 검색파라미터 문자열을 리턴한다. | |
| 311 | + * @param appendPageIndex-pageindex를 붙힐지말지여부 | |
| 312 | + * @return | |
| 313 | + */ | |
| 314 | + public String getParams(boolean appendPageIndex) { | |
| 315 | + StringBuffer parameterString = new StringBuffer(); | |
| 316 | + if (appendPageIndex) { | |
| 317 | + parameterString.append("pageIndex="); | |
| 318 | + parameterString.append(this.pageIndex); | |
| 319 | + parameterString.append("&"); | |
| 320 | + } | |
| 321 | + parameterString.append("pageUnit="); | |
| 322 | + parameterString.append(this.pageUnit); | |
| 323 | + parameterString.append("&pageSize="); | |
| 324 | + parameterString.append(this.pageSize); | |
| 325 | + parameterString.append("&searchCondition="); | |
| 326 | + parameterString.append(StringUtils.defaultString(this.searchCondition)); | |
| 327 | + parameterString.append("&searchKeyword="); | |
| 328 | + try { | |
| 329 | + parameterString.append(URLEncoder.encode(StringUtils.defaultString(this.searchKeyword), "UTF-8")); | |
| 330 | + } catch (UnsupportedEncodingException e) { | |
| 331 | + System.out.println("UnsupportedEncodingException By Criteria.getParams() [searchValue] : " + e.getMessage()); | |
| 332 | + } | |
| 333 | + parameterString.append("&menuNo="); | |
| 334 | + parameterString.append((this.menuNo != null) ? this.menuNo : ""); | |
| 335 | + if (this.condition.size() > 0) { | |
| 336 | + Set<String> set = this.condition.keySet(); | |
| 337 | + Iterator<String> iter = set.iterator(); | |
| 338 | + while (iter.hasNext()) { | |
| 339 | + String key = iter.next(); | |
| 340 | + Object value = this.condition.get(key); | |
| 341 | + Boolean append = this.paramViewMap.get(key)!=null?this.paramViewMap.get(key):true; | |
| 342 | + if (append) { | |
| 343 | + parameterString.append("&condition."); | |
| 344 | + parameterString.append(key); | |
| 345 | + parameterString.append("="); | |
| 346 | + if (value instanceof String) { | |
| 347 | + if (StringUtils.isNotEmpty((String) value)) { | |
| 348 | + try { | |
| 349 | + parameterString.append(URLEncoder.encode((String) value, "UTF-8")); | |
| 350 | + } catch (UnsupportedEncodingException e) { | |
| 351 | + System.out.println("UnsupportedEncodingException By Criteria.getParams() [condition] : " + e.getMessage()); | |
| 352 | + } | |
| 353 | + } | |
| 354 | + } else { | |
| 355 | + parameterString.append(value); | |
| 356 | + } | |
| 357 | + } | |
| 358 | + } | |
| 359 | + } | |
| 360 | + | |
| 361 | + return parameterString.toString(); | |
| 362 | + } | |
| 363 | + | |
| 364 | + @Override | |
| 365 | + public String toString() { | |
| 366 | + return ToStringBuilder.reflectionToString(this); | |
| 367 | + } | |
| 368 | + | |
| 369 | +} |
+++ src/main/java/egovframework/com/cmm/util/EgovBasicLogger.java
... | ... | @@ -0,0 +1,83 @@ |
| 1 | +package egovframework.com.cmm.util; | |
| 2 | + | |
| 3 | +import java.util.logging.Level; | |
| 4 | +import java.util.logging.Logger; | |
| 5 | + | |
| 6 | +/** | |
| 7 | + * Utility class to support to logging information | |
| 8 | + * @author Vincent Han | |
| 9 | + * @since 2014.09.18 | |
| 10 | + * @version 1.0 | |
| 11 | + * @see | |
| 12 | + * | |
| 13 | + * <pre> | |
| 14 | + * << 개정이력(Modification Information) >> | |
| 15 | + * | |
| 16 | + * 수정일 수정자 수정내용 | |
| 17 | + * ------- -------- --------------------------- | |
| 18 | + * 2014.09.18 표준프레임워크센터 최초 생성 | |
| 19 | + * | |
| 20 | + * </pre> | |
| 21 | + */ | |
| 22 | +public class EgovBasicLogger { | |
| 23 | + private static final Level IGNORE_INFO_LEVEL = Level.OFF; | |
| 24 | + private static final Level DEBUG_INFO_LEVEL = Level.FINEST; | |
| 25 | + private static final Level INFO_INFO_LEVEL = Level.INFO; | |
| 26 | + | |
| 27 | + private static final Logger ignoreLogger = Logger.getLogger("ignore"); | |
| 28 | + private static final Logger debugLogger = Logger.getLogger("debug"); | |
| 29 | + private static final Logger infoLogger = Logger.getLogger("info"); | |
| 30 | + | |
| 31 | + /** | |
| 32 | + * 기록이나 처리가 불필요한 경우 사용. | |
| 33 | + * @param message | |
| 34 | + * @param exception | |
| 35 | + */ | |
| 36 | + public static void ignore(String message, Exception exception) { | |
| 37 | + if (exception == null) { | |
| 38 | + ignoreLogger.log(IGNORE_INFO_LEVEL, message); | |
| 39 | + } else { | |
| 40 | + ignoreLogger.log(IGNORE_INFO_LEVEL, message, exception); | |
| 41 | + } | |
| 42 | + } | |
| 43 | + | |
| 44 | + /** | |
| 45 | + * 기록이나 처리가 불필요한 경우 사용. | |
| 46 | + * @param message | |
| 47 | + * @param exception | |
| 48 | + */ | |
| 49 | + public static void ignore(String message) { | |
| 50 | + ignore(message, null); | |
| 51 | + } | |
| 52 | + | |
| 53 | + /** | |
| 54 | + * 디버그 정보를 기록하는 경우 사용. | |
| 55 | + * @param message | |
| 56 | + * @param exception | |
| 57 | + */ | |
| 58 | + public static void debug(String message, Exception exception) { | |
| 59 | + if (exception == null) { | |
| 60 | + debugLogger.log(DEBUG_INFO_LEVEL, message); | |
| 61 | + } else { | |
| 62 | + debugLogger.log(DEBUG_INFO_LEVEL, message, exception); | |
| 63 | + } | |
| 64 | + } | |
| 65 | + | |
| 66 | + /** | |
| 67 | + * 디버그 정보를 기록하는 경우 사용. | |
| 68 | + * @param message | |
| 69 | + * @param exception | |
| 70 | + */ | |
| 71 | + public static void debug(String message) { | |
| 72 | + debug(message, null); | |
| 73 | + } | |
| 74 | + | |
| 75 | + /** | |
| 76 | + * 일반적이 정보를 기록하는 경우 사용. | |
| 77 | + * @param message | |
| 78 | + * @param exception | |
| 79 | + */ | |
| 80 | + public static void info(String message) { | |
| 81 | + infoLogger.log(INFO_INFO_LEVEL, message); | |
| 82 | + } | |
| 83 | +} |
+++ src/main/java/egovframework/com/cmm/util/EgovDoubleSubmitHelper.java
... | ... | @@ -0,0 +1,118 @@ |
| 1 | +package egovframework.com.cmm.util; | |
| 2 | + | |
| 3 | +import java.util.Map; | |
| 4 | +import java.util.UUID; | |
| 5 | + | |
| 6 | +import javax.servlet.http.HttpServletRequest; | |
| 7 | +import javax.servlet.http.HttpSession; | |
| 8 | + | |
| 9 | +import org.slf4j.Logger; | |
| 10 | +import org.slf4j.LoggerFactory; | |
| 11 | +import org.springframework.web.context.request.RequestContextHolder; | |
| 12 | +import org.springframework.web.context.request.ServletRequestAttributes; | |
| 13 | +import org.springframework.web.multipart.MultipartHttpServletRequest; | |
| 14 | + | |
| 15 | +/** | |
| 16 | + * Utility class to support to double submit preventer | |
| 17 | + * @author Vincent Han | |
| 18 | + * @since 2014.08.07 | |
| 19 | + * @version 1.0 | |
| 20 | + * @see | |
| 21 | + * | |
| 22 | + * <pre> | |
| 23 | + * << 개정이력(Modification Information) >> | |
| 24 | + * | |
| 25 | + * 수정일 수정자 수정내용 | |
| 26 | + * ------- -------- --------------------------- | |
| 27 | + * 2014.08.07 표준프레임워크센터 최초 생성 | |
| 28 | + * | |
| 29 | + * </pre> | |
| 30 | + */ | |
| 31 | +public class EgovDoubleSubmitHelper { | |
| 32 | + private static final Logger LOGGER = LoggerFactory.getLogger(EgovDoubleSubmitHelper.class); | |
| 33 | + | |
| 34 | + public final static String SESSION_TOKEN_KEY = "egovframework.double.submit.preventer.session.key"; | |
| 35 | + | |
| 36 | + public final static String PARAMETER_NAME = "egovframework.double.submit.preventer.parameter.name"; | |
| 37 | + | |
| 38 | + public final static String DEFAULT_TOKEN_KEY = "DEFAULT"; | |
| 39 | + | |
| 40 | + public static String getNewUUID() { | |
| 41 | + return UUID.randomUUID().toString().toUpperCase(); | |
| 42 | + } | |
| 43 | + | |
| 44 | + public static boolean checkAndSaveToken() { | |
| 45 | + return checkAndSaveToken(DEFAULT_TOKEN_KEY); | |
| 46 | + } | |
| 47 | + | |
| 48 | + public static boolean checkAndSaveToken(String tokenKey) { | |
| 49 | + | |
| 50 | + HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest(); | |
| 51 | + HttpSession session = request.getSession(); | |
| 52 | + | |
| 53 | + // check session... | |
| 54 | + if (session.getAttribute(EgovDoubleSubmitHelper.SESSION_TOKEN_KEY) == null) { | |
| 55 | + return false; | |
| 56 | + //throw new RuntimeException("Double Submit Preventer TagLig isn't set. Check JSP."); | |
| 57 | + } | |
| 58 | + | |
| 59 | + String parameter = request.getParameter(EgovDoubleSubmitHelper.PARAMETER_NAME); | |
| 60 | + | |
| 61 | + // check parameter | |
| 62 | + if (parameter == null) { | |
| 63 | + return false; | |
| 64 | + //throw new RuntimeException("Double Submit Preventer parameter isn't set. Check JSP."); | |
| 65 | + } | |
| 66 | + | |
| 67 | + @SuppressWarnings("unchecked") | |
| 68 | + Map<String, String> map = (Map<String, String>) session.getAttribute(EgovDoubleSubmitHelper.SESSION_TOKEN_KEY); | |
| 69 | + | |
| 70 | + if (parameter.equals(map.get(tokenKey))) { | |
| 71 | + | |
| 72 | + LOGGER.debug("[Double Submit] session token ({}) equals to parameter token.", tokenKey); | |
| 73 | + | |
| 74 | + map.put(tokenKey, getNewUUID()); | |
| 75 | + | |
| 76 | + return true; | |
| 77 | + } | |
| 78 | + | |
| 79 | + LOGGER.debug("[Double Submit] session token ({}) isn't equal to parameter token.", tokenKey); | |
| 80 | + | |
| 81 | + return false; | |
| 82 | + } | |
| 83 | + | |
| 84 | +public static boolean checkAndSaveToken(String tokenKey , MultipartHttpServletRequest multiRequest) { | |
| 85 | + | |
| 86 | + HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest(); | |
| 87 | + HttpSession session = request.getSession(); | |
| 88 | + | |
| 89 | + // check session... | |
| 90 | + if (session.getAttribute(EgovDoubleSubmitHelper.SESSION_TOKEN_KEY) == null) { | |
| 91 | + throw new RuntimeException("Double Submit Preventer TagLig isn't set. Check JSP."); | |
| 92 | + } | |
| 93 | + | |
| 94 | + //String parameter = request.getParameter(EgovDoubleSubmitHelper.PARAMETER_NAME); | |
| 95 | + String parameter = multiRequest.getParameter(EgovDoubleSubmitHelper.PARAMETER_NAME); | |
| 96 | + | |
| 97 | + // check parameter | |
| 98 | + if (parameter == null) { | |
| 99 | + throw new RuntimeException("Double Submit Preventer parameter isn't set. Check JSP."); | |
| 100 | + } | |
| 101 | + | |
| 102 | + @SuppressWarnings("unchecked") | |
| 103 | + Map<String, String> map = (Map<String, String>) session.getAttribute(EgovDoubleSubmitHelper.SESSION_TOKEN_KEY); | |
| 104 | + | |
| 105 | + if (parameter.equals(map.get(tokenKey))) { | |
| 106 | + | |
| 107 | + LOGGER.debug("[Double Submit] session token ({}) equals to parameter token.", tokenKey); | |
| 108 | + | |
| 109 | + map.put(tokenKey, getNewUUID()); | |
| 110 | + | |
| 111 | + return true; | |
| 112 | + } | |
| 113 | + | |
| 114 | + LOGGER.debug("[Double Submit] session token ({}) isn't equal to parameter token.", tokenKey); | |
| 115 | + | |
| 116 | + return false; | |
| 117 | + } | |
| 118 | +} |
+++ src/main/java/egovframework/com/cmm/util/EgovResourceCloseHelper.java
... | ... | @@ -0,0 +1,126 @@ |
| 1 | +package egovframework.com.cmm.util; | |
| 2 | + | |
| 3 | +import java.io.Closeable; | |
| 4 | +import java.net.ServerSocket; | |
| 5 | +import java.net.Socket; | |
| 6 | +import java.sql.Connection; | |
| 7 | +import java.sql.ResultSet; | |
| 8 | +import java.sql.Statement; | |
| 9 | +import java.sql.Wrapper; | |
| 10 | + | |
| 11 | +/** | |
| 12 | + * Utility class to support to close resources | |
| 13 | + * @author Vincent Han | |
| 14 | + * @since 2014.09.18 | |
| 15 | + * @version 1.0 | |
| 16 | + * @see | |
| 17 | + * | |
| 18 | + * <pre> | |
| 19 | + * << 개정이력(Modification Information) >> | |
| 20 | + * | |
| 21 | + * 수정일 수정자 수정내용 | |
| 22 | + * ------- -------- --------------------------- | |
| 23 | + * 2014.09.18 표준프레임워크센터 최초 생성 | |
| 24 | + * | |
| 25 | + * </pre> | |
| 26 | + */ | |
| 27 | +public class EgovResourceCloseHelper { | |
| 28 | + /** | |
| 29 | + * Resource close 처리. | |
| 30 | + * @param resources | |
| 31 | + */ | |
| 32 | + public static void close(Closeable ... resources) { | |
| 33 | + for (Closeable resource : resources) { | |
| 34 | + if (resource != null) { | |
| 35 | + try { | |
| 36 | + resource.close(); | |
| 37 | + } catch (Exception ignore) { | |
| 38 | + EgovBasicLogger.ignore("Occurred Exception to close resource is ingored!!"); | |
| 39 | + } | |
| 40 | + } | |
| 41 | + } | |
| 42 | + } | |
| 43 | + | |
| 44 | + /** | |
| 45 | + * JDBC 관련 resource 객체 close 처리 | |
| 46 | + * @param objects | |
| 47 | + */ | |
| 48 | + public static void closeDBObjects(Wrapper ... objects) { | |
| 49 | + for (Object object : objects) { | |
| 50 | + if (object != null) { | |
| 51 | + if (object instanceof ResultSet) { | |
| 52 | + try { | |
| 53 | + ((ResultSet)object).close(); | |
| 54 | + } catch (Exception ignore) { | |
| 55 | + EgovBasicLogger.ignore("Occurred Exception to close resource is ingored!!"); | |
| 56 | + } | |
| 57 | + } else if (object instanceof Statement) { | |
| 58 | + try { | |
| 59 | + ((Statement)object).close(); | |
| 60 | + } catch (Exception ignore) { | |
| 61 | + EgovBasicLogger.ignore("Occurred Exception to close resource is ingored!!"); | |
| 62 | + } | |
| 63 | + } else if (object instanceof Connection) { | |
| 64 | + try { | |
| 65 | + ((Connection)object).close(); | |
| 66 | + } catch (Exception ignore) { | |
| 67 | + EgovBasicLogger.ignore("Occurred Exception to close resource is ingored!!"); | |
| 68 | + } | |
| 69 | + } else { | |
| 70 | + throw new IllegalArgumentException("Wrapper type is not found : " + object.toString()); | |
| 71 | + } | |
| 72 | + } | |
| 73 | + } | |
| 74 | + } | |
| 75 | + | |
| 76 | + /** | |
| 77 | + * Socket 관련 resource 객체 close 처리 | |
| 78 | + * @param objects | |
| 79 | + */ | |
| 80 | + public static void closeSocketObjects(Socket socket, ServerSocket server) { | |
| 81 | + if (socket != null) { | |
| 82 | + try { | |
| 83 | + socket.shutdownOutput(); | |
| 84 | + } catch (Exception ignore) { | |
| 85 | + EgovBasicLogger.ignore("Occurred Exception to shutdown ouput is ignored!!"); | |
| 86 | + } | |
| 87 | + | |
| 88 | + try { | |
| 89 | + socket.close(); | |
| 90 | + } catch (Exception ignore) { | |
| 91 | + EgovBasicLogger.ignore("Occurred Exception to close resource is ignored!!"); | |
| 92 | + } | |
| 93 | + } | |
| 94 | + | |
| 95 | + if (server != null) { | |
| 96 | + try { | |
| 97 | + server.close(); | |
| 98 | + } catch (Exception ignore) { | |
| 99 | + EgovBasicLogger.ignore("Occurred Exception to close resource is ignored!!"); | |
| 100 | + } | |
| 101 | + } | |
| 102 | + } | |
| 103 | + | |
| 104 | + /** | |
| 105 | + * Socket 관련 resource 객체 close 처리 | |
| 106 | + * | |
| 107 | + * @param sockets | |
| 108 | + */ | |
| 109 | + public static void closeSockets(Socket ... sockets) { | |
| 110 | + for (Socket socket : sockets) { | |
| 111 | + if (socket != null) { | |
| 112 | + try { | |
| 113 | + socket.shutdownOutput(); | |
| 114 | + } catch (Exception ignore) { | |
| 115 | + EgovBasicLogger.ignore("Occurred Exception to shutdown ouput is ignored!!"); | |
| 116 | + } | |
| 117 | + | |
| 118 | + try { | |
| 119 | + socket.close(); | |
| 120 | + } catch (Exception ignore) { | |
| 121 | + EgovBasicLogger.ignore("Occurred Exception to close resource is ignored!!"); | |
| 122 | + } | |
| 123 | + } | |
| 124 | + } | |
| 125 | + } | |
| 126 | +}(No newline at end of file) |
+++ src/main/java/egovframework/com/cmm/util/EgovXSSUtil.java
... | ... | @@ -0,0 +1,83 @@ |
| 1 | +package egovframework.com.cmm.util; | |
| 2 | + | |
| 3 | +public class EgovXSSUtil { | |
| 4 | + | |
| 5 | + public String unscript(String data) { | |
| 6 | + if (data == null || data.trim().equals("")) { | |
| 7 | + return ""; | |
| 8 | + } | |
| 9 | + | |
| 10 | + String ret = data; | |
| 11 | + | |
| 12 | + ret = ret.replaceAll("\"", """); | |
| 13 | + ret = ret.replaceAll("\'", "'"); // single quot | |
| 14 | + ret = ret.replaceAll("\\(", "("); | |
| 15 | + ret = ret.replaceAll("\\)", ")"); | |
| 16 | + ret = ret.replaceAll("<", "<"); | |
| 17 | + ret = ret.replaceAll(">", ">"); | |
| 18 | + | |
| 19 | + ret = ret.replaceAll("<(S|s)(C|c)(R|r)(I|i)(P|p)(T|t)", "<script"); | |
| 20 | + ret = ret.replaceAll("</(S|s)(C|c)(R|r)(I|i)(P|p)(T|t)", "</script"); | |
| 21 | + | |
| 22 | + ret = ret.replaceAll("<(O|o)(B|b)(J|j)(E|e)(C|c)(T|t)", "<object"); | |
| 23 | + ret = ret.replaceAll("</(O|o)(B|b)(J|j)(E|e)(C|c)(T|t)", "</object"); | |
| 24 | + | |
| 25 | + ret = ret.replaceAll("<(A|a)(P|p)(P|p)(L|l)(E|e)(T|t)", "<applet"); | |
| 26 | + ret = ret.replaceAll("</(A|a)(P|p)(P|p)(L|l)(E|e)(T|t)", "</applet"); | |
| 27 | + | |
| 28 | + ret = ret.replaceAll("<(E|e)(M|m)(B|b)(E|e)(D|d)", "<embed"); | |
| 29 | + ret = ret.replaceAll("</(E|e)(M|m)(B|b)(E|e)(D|d)", "<embed"); | |
| 30 | + | |
| 31 | + ret = ret.replaceAll("<(F|f)(O|o)(R|r)(M|m)", "<form"); | |
| 32 | + ret = ret.replaceAll("</(F|f)(O|o)(R|r)(M|m)", "<form"); | |
| 33 | + | |
| 34 | + ret = ret.replaceAll("alert", ""); | |
| 35 | + | |
| 36 | + return ret; | |
| 37 | + } | |
| 38 | + | |
| 39 | + public String script(String data) { | |
| 40 | + if (data == null || data.trim().equals("")) { | |
| 41 | + return ""; | |
| 42 | + } | |
| 43 | + | |
| 44 | + String ret = data; | |
| 45 | + | |
| 46 | + ret = ret.replaceAll(""", "\""); | |
| 47 | + ret = ret.replaceAll("'", "\'"); // single quot | |
| 48 | + ret = ret.replaceAll("(", "\\("); | |
| 49 | + ret = ret.replaceAll(")", "\\)"); | |
| 50 | + ret = ret.replaceAll("<", "<"); | |
| 51 | + ret = ret.replaceAll(">", ">"); | |
| 52 | + | |
| 53 | + return ret; | |
| 54 | + } | |
| 55 | + | |
| 56 | + public String makeQuery(String str) { | |
| 57 | + String result = ""; | |
| 58 | + result = chkNull(str.replace("'", "")); | |
| 59 | + result = chkNull(str.replace(";", "")); | |
| 60 | + result = chkNull(str.replace("--", "")); | |
| 61 | + result = chkNull(str.replace("|", "")); | |
| 62 | + result = chkNull(str.replace(":", "")); | |
| 63 | + result = chkNull(str.replace("+", "")); | |
| 64 | + result = chkNull(str.replace("\\", "")); | |
| 65 | + result = chkNull(str.replace("/", "")); | |
| 66 | + result = chkNull(str.toLowerCase().replaceAll("select", "")); | |
| 67 | + result = chkNull(str.toLowerCase().replaceAll("update", "")); | |
| 68 | + result = chkNull(str.toLowerCase().replaceAll("delete", "")); | |
| 69 | + result = chkNull(str.toLowerCase().replaceAll("insert", "")); | |
| 70 | + result = chkNull(str.toLowerCase().replaceAll("where", "")); | |
| 71 | + result = chkNull(str.toLowerCase().replaceAll("from", "")); | |
| 72 | + | |
| 73 | + result = "'"+result+"'"; | |
| 74 | + return result; | |
| 75 | + } | |
| 76 | + | |
| 77 | + public static String chkNull(String str) { | |
| 78 | + if(str == null) | |
| 79 | + return ""; | |
| 80 | + else | |
| 81 | + return str; | |
| 82 | + } | |
| 83 | +} |
+++ src/main/java/egovframework/com/cmm/util/IpUtil.java
... | ... | @@ -0,0 +1,95 @@ |
| 1 | +/* | |
| 2 | + * Copyright 2008-2009 the original author or authors. | |
| 3 | + * | |
| 4 | + * Licensed under the Apache License, Version 2.0 (the "License"); | |
| 5 | + * you may not use this file except in compliance with the License. | |
| 6 | + * You may obtain a copy of the License at | |
| 7 | + * | |
| 8 | + * http://www.apache.org/licenses/LICENSE-2.0 | |
| 9 | + * | |
| 10 | + * Unless required by applicable law or agreed to in writing, software | |
| 11 | + * distributed under the License is distributed on an "AS IS" BASIS, | |
| 12 | + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
| 13 | + * See the License for the specific language governing permissions and | |
| 14 | + * limitations under the License. | |
| 15 | + */ | |
| 16 | +package egovframework.com.cmm.util; | |
| 17 | + | |
| 18 | +import java.io.UnsupportedEncodingException; | |
| 19 | +import java.net.URLEncoder; | |
| 20 | + | |
| 21 | +import javax.servlet.http.HttpServletRequest; | |
| 22 | + | |
| 23 | +public class IpUtil { | |
| 24 | + public static String getClientIP(HttpServletRequest request) { | |
| 25 | + String userip = request.getHeader("X-Forwarded-For"); // 아이피 가져오기 아파치 아래에 웹로직이 있을경우 | |
| 26 | + | |
| 27 | + if ( userip == null || "".equals(userip) ) { // 아이피 가져오기 , 바로 웹로직이 있을경우 | |
| 28 | + userip = request.getRemoteAddr(); | |
| 29 | + } | |
| 30 | + | |
| 31 | + if ( userip == null || "".equals(userip) ) { | |
| 32 | + return ""; | |
| 33 | + } | |
| 34 | + | |
| 35 | + String[] userips = userip.split(","); | |
| 36 | + return userips[0]; | |
| 37 | + } | |
| 38 | + | |
| 39 | + public static String getBrowser(HttpServletRequest request) { | |
| 40 | + String header = request.getHeader("User-Agent"); | |
| 41 | + | |
| 42 | + System.out.println("header:"+header); | |
| 43 | + | |
| 44 | + if (header.indexOf("MSIE") > -1 || header.indexOf("rv:11.0") > -1) { | |
| 45 | + return "MSIE"; | |
| 46 | + }else if (header.indexOf("Opera") > -1 || header.indexOf("OPR") > -1) { | |
| 47 | + return "Opera"; | |
| 48 | + }else if (header.indexOf("Chrome") > -1) { | |
| 49 | + return "Chrome"; | |
| 50 | + }else if (header.indexOf("Firefox") > -1) { | |
| 51 | + return "Firefox"; | |
| 52 | + } | |
| 53 | + return "Firefox"; | |
| 54 | + } | |
| 55 | + | |
| 56 | + public static String getStr(HttpServletRequest request,String str) throws UnsupportedEncodingException { | |
| 57 | + String header = request.getHeader("User-Agent"); | |
| 58 | + | |
| 59 | + String browser; | |
| 60 | + | |
| 61 | + if (header.indexOf("MSIE") > -1 || header.indexOf("rv:11.0") > -1) { | |
| 62 | + browser = "MSIE"; | |
| 63 | + } else if (header.indexOf("Chrome") > -1) { | |
| 64 | + browser = "Chrome"; | |
| 65 | + } else if (header.indexOf("Opera") > -1) { | |
| 66 | + browser = "Opera"; | |
| 67 | + } else { | |
| 68 | + browser = "Firefox"; | |
| 69 | + } | |
| 70 | + | |
| 71 | + if (browser.equals("MSIE")) { | |
| 72 | + str = URLEncoder.encode(str, "UTF-8") | |
| 73 | + .replaceAll("\\+", "%20"); | |
| 74 | + } else if (browser.equals("Firefox")) { | |
| 75 | + str = new String(str.getBytes("UTF-8"), "8859_1"); | |
| 76 | + } else if (browser.equals("Opera")) { | |
| 77 | + str = new String(str.getBytes("UTF-8"), "8859_1"); | |
| 78 | + } else if (browser.equals("Chrome")) { | |
| 79 | + StringBuffer sb = new StringBuffer(); | |
| 80 | + for (int i = 0; i < str.length(); i++) { | |
| 81 | + char c = str.charAt(i); | |
| 82 | + if (c > '~') { | |
| 83 | + sb.append(URLEncoder.encode("" + c, "UTF-8")); | |
| 84 | + } else { | |
| 85 | + sb.append(c); | |
| 86 | + } | |
| 87 | + } | |
| 88 | + str = sb.toString(); | |
| 89 | + } else { | |
| 90 | + str = "Not supported browser"; | |
| 91 | + } | |
| 92 | + | |
| 93 | + return str; | |
| 94 | + } | |
| 95 | +}(No newline at end of file) |
+++ src/main/java/egovframework/com/cmm/util/Order.java
... | ... | @@ -0,0 +1,60 @@ |
| 1 | +package egovframework.com.cmm.util; | |
| 2 | + | |
| 3 | + | |
| 4 | +/** | |
| 5 | + * 프로그램 파일명 : Order.java | |
| 6 | + * | |
| 7 | + * 프로그램 설명 : 쿼리에서 정렬방법을 정의하는 클래스 | |
| 8 | + * | |
| 9 | + * 작 성 자 : jeong hoon hee | |
| 10 | + * | |
| 11 | + * 작 성 일 : 2013. 6. 7. | |
| 12 | + * | |
| 13 | + * Copyright(c) 2013 DAEYOON Co. Ltd. All rights reserved. | |
| 14 | + */ | |
| 15 | +public class Order { | |
| 16 | + | |
| 17 | + private String columnName; | |
| 18 | + private String orderType; | |
| 19 | + | |
| 20 | + public Order() { | |
| 21 | + super(); | |
| 22 | + // TODO Auto-generated constructor stub | |
| 23 | + } | |
| 24 | + | |
| 25 | + public Order(String columnName, String orderType) { | |
| 26 | + super(); | |
| 27 | + this.columnName = columnName; | |
| 28 | + this.orderType = orderType; | |
| 29 | + } | |
| 30 | + | |
| 31 | + public static Order asc(String columnName) { | |
| 32 | + Order order = new Order(); | |
| 33 | + order.setColumnName(columnName); | |
| 34 | + order.setOrderType("ASC"); | |
| 35 | + return order; | |
| 36 | + } | |
| 37 | + | |
| 38 | + public static Order desc(String columnName) { | |
| 39 | + Order order = new Order(); | |
| 40 | + order.setColumnName(columnName); | |
| 41 | + order.setOrderType("DESC"); | |
| 42 | + return order; | |
| 43 | + } | |
| 44 | + | |
| 45 | + public String getColumnName() { | |
| 46 | + return columnName; | |
| 47 | + } | |
| 48 | + | |
| 49 | + public void setColumnName(String columnName) { | |
| 50 | + this.columnName = columnName; | |
| 51 | + } | |
| 52 | + | |
| 53 | + public String getOrderType() { | |
| 54 | + return orderType; | |
| 55 | + } | |
| 56 | + | |
| 57 | + public void setOrderType(String orderType) { | |
| 58 | + this.orderType = orderType; | |
| 59 | + } | |
| 60 | +} |
+++ src/main/java/egovframework/com/cmm/util/RedirectUrlMaker.java
... | ... | @@ -0,0 +1,142 @@ |
| 1 | +package egovframework.com.cmm.util; | |
| 2 | + | |
| 3 | +import java.io.UnsupportedEncodingException; | |
| 4 | +import java.net.URLEncoder; | |
| 5 | +import java.util.HashMap; | |
| 6 | +import java.util.Iterator; | |
| 7 | +import java.util.Map; | |
| 8 | +import java.util.Set; | |
| 9 | + | |
| 10 | +import org.apache.commons.lang.StringUtils; | |
| 11 | + | |
| 12 | +/** | |
| 13 | + * 프로그램 파일명 : RedirectUrlMaker.java | |
| 14 | + * | |
| 15 | + * 프로그램 설명 : 리다이렉트URL를 생성해주는 유틸클래스 | |
| 16 | + * | |
| 17 | + * 작 성 자 : jeong hoon hee | |
| 18 | + * | |
| 19 | + * 작 성 일 : 2013. 5. 15. | |
| 20 | + * | |
| 21 | + * Copyright(c) 2013 DAEYOON Co. Ltd. All rights reserved. | |
| 22 | + */ | |
| 23 | +public class RedirectUrlMaker { | |
| 24 | + | |
| 25 | + /** | |
| 26 | + * 요청매핑URL | |
| 27 | + */ | |
| 28 | + private String requestMappingUrl; | |
| 29 | + | |
| 30 | + /** | |
| 31 | + * 검색파라미터객체 | |
| 32 | + */ | |
| 33 | + private Criteria criteria; | |
| 34 | + | |
| 35 | + /** | |
| 36 | + * 추가파라미터맵 | |
| 37 | + */ | |
| 38 | + private Map<String, Object> paramMap = null; | |
| 39 | + | |
| 40 | + /** | |
| 41 | + * 생성자1 | |
| 42 | + * | |
| 43 | + * @param requestMappingUrl : 요청매핑URL (예: "/board/list.do") | |
| 44 | + * @param criteria : 검색파라미터객체 | |
| 45 | + */ | |
| 46 | + public RedirectUrlMaker(String requestMappingUrl, Criteria criteria) { | |
| 47 | + this.requestMappingUrl = requestMappingUrl; | |
| 48 | + this.criteria = criteria; | |
| 49 | + } | |
| 50 | + | |
| 51 | + /** | |
| 52 | + * 생성자2 | |
| 53 | + * @param requestMappingUrl | |
| 54 | + */ | |
| 55 | + public RedirectUrlMaker(String requestMappingUrl) { | |
| 56 | + this.requestMappingUrl = requestMappingUrl; | |
| 57 | + } | |
| 58 | + | |
| 59 | + public Object appendParam(String key, Object value) { | |
| 60 | + if (this.paramMap == null) { | |
| 61 | + this.paramMap = new HashMap<String, Object>(); | |
| 62 | + } | |
| 63 | + return this.paramMap.put(key, value); | |
| 64 | + } | |
| 65 | + | |
| 66 | + public Object getParam(String key) { | |
| 67 | + if (this.paramMap == null) { | |
| 68 | + return null; | |
| 69 | + } | |
| 70 | + return this.paramMap.get(key); | |
| 71 | + } | |
| 72 | + | |
| 73 | + public Map<String, Object> getParamMap() { | |
| 74 | + return paramMap; | |
| 75 | + } | |
| 76 | + | |
| 77 | + public void setParamMap(Map<String, Object> paramMap) { | |
| 78 | + this.paramMap = paramMap; | |
| 79 | + } | |
| 80 | + | |
| 81 | + /** | |
| 82 | + * 리다이렉트URL를 생성하여 리턴한다. | |
| 83 | + * | |
| 84 | + * @return | |
| 85 | + * @throws UnsupportedEncodingException | |
| 86 | + */ | |
| 87 | + public String getRedirectUrl() { | |
| 88 | + StringBuffer redirectUrl = new StringBuffer("redirect:"); | |
| 89 | + | |
| 90 | + if (StringUtils.isNotEmpty(this.requestMappingUrl)) { | |
| 91 | + if (this.requestMappingUrl.startsWith("/") == false) { | |
| 92 | + this.requestMappingUrl = "/" + this.requestMappingUrl; | |
| 93 | + } | |
| 94 | + if (this.requestMappingUrl.endsWith("?")) { | |
| 95 | + this.requestMappingUrl = this.requestMappingUrl.substring(0, this.requestMappingUrl.length()-1); | |
| 96 | + } | |
| 97 | + } | |
| 98 | + | |
| 99 | + redirectUrl.append(this.requestMappingUrl); | |
| 100 | + | |
| 101 | + if (this.criteria != null) { | |
| 102 | + if (redirectUrl.toString().indexOf("?") == -1) { | |
| 103 | + redirectUrl.append("?"); | |
| 104 | + } else { | |
| 105 | + redirectUrl.append("&"); | |
| 106 | + } | |
| 107 | + redirectUrl.append(this.criteria.getParams()); | |
| 108 | + } | |
| 109 | + | |
| 110 | + if (this.paramMap != null) { | |
| 111 | + if (this.paramMap.size() > 0) { | |
| 112 | + Set<String> set = this.paramMap.keySet(); | |
| 113 | + Iterator<String> iter = set.iterator(); | |
| 114 | + while (iter.hasNext()) { | |
| 115 | + String key = iter.next(); | |
| 116 | + Object value = this.paramMap.get(key); | |
| 117 | + redirectUrl.append("&"); | |
| 118 | + redirectUrl.append(key); | |
| 119 | + redirectUrl.append("="); | |
| 120 | + if (value instanceof String) { | |
| 121 | + if (StringUtils.isNotEmpty((String) value)) { | |
| 122 | + try { | |
| 123 | + redirectUrl.append(URLEncoder.encode((String) value, "UTF-8")); | |
| 124 | + } catch (UnsupportedEncodingException e) { | |
| 125 | + System.out.println("UnsupportedEncodingException By RedirectUrlMaker.getRedirectUrl() : " + e.getMessage()); | |
| 126 | + } | |
| 127 | + } | |
| 128 | + } else { | |
| 129 | + redirectUrl.append(value); | |
| 130 | + } | |
| 131 | + } | |
| 132 | + } | |
| 133 | + } | |
| 134 | + return redirectUrl.toString(); | |
| 135 | + } | |
| 136 | + | |
| 137 | + @Override | |
| 138 | + public String toString() { | |
| 139 | + return getRedirectUrl(); | |
| 140 | + } | |
| 141 | + | |
| 142 | +} |
+++ src/main/java/egovframework/com/cmm/util/StringUtil.java
... | ... | @@ -0,0 +1,344 @@ |
| 1 | +/* | |
| 2 | + * Copyright 2008-2009 the original author or authors. | |
| 3 | + * | |
| 4 | + * Licensed under the Apache License, Version 2.0 (the "License"); | |
| 5 | + * you may not use this file except in compliance with the License. | |
| 6 | + * You may obtain a copy of the License at | |
| 7 | + * | |
| 8 | + * http://www.apache.org/licenses/LICENSE-2.0 | |
| 9 | + * | |
| 10 | + * Unless required by applicable law or agreed to in writing, software | |
| 11 | + * distributed under the License is distributed on an "AS IS" BASIS, | |
| 12 | + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
| 13 | + * See the License for the specific language governing permissions and | |
| 14 | + * limitations under the License. | |
| 15 | + */ | |
| 16 | +package egovframework.com.cmm.util; | |
| 17 | + | |
| 18 | +import java.io.IOException; | |
| 19 | +import java.io.Reader; | |
| 20 | +import java.sql.Clob; | |
| 21 | +import java.sql.SQLException; | |
| 22 | +import java.text.SimpleDateFormat; | |
| 23 | +import java.util.Calendar; | |
| 24 | +import java.util.Date; | |
| 25 | +import java.util.regex.Pattern; | |
| 26 | + | |
| 27 | +import org.springframework.web.servlet.mvc.support.RedirectAttributes; | |
| 28 | + | |
| 29 | +public class StringUtil { | |
| 30 | + | |
| 31 | + public final static char[] byteCodes; | |
| 32 | + | |
| 33 | + static { | |
| 34 | + byteCodes = new char[] { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f' }; | |
| 35 | + } | |
| 36 | + | |
| 37 | + public static String bytesToOrgString(byte[] bytes) { | |
| 38 | + int len = bytes.length; | |
| 39 | + char[] chars = new char[len * 2]; | |
| 40 | + | |
| 41 | + for (int i = 0; i < len; ++i) { | |
| 42 | + chars[i * 2] = byteCodes[(bytes[i] & 0XF0) >> 4]; | |
| 43 | + chars[i * 2 + 1] = byteCodes[(bytes[i] & 0X0F)]; | |
| 44 | + } | |
| 45 | + return new String(chars); | |
| 46 | + } | |
| 47 | + | |
| 48 | + /** | |
| 49 | + * 글자 특정 사이즈로 잘라내기 | |
| 50 | + * | |
| 51 | + * @param str | |
| 52 | + * @param size | |
| 53 | + * @return String | |
| 54 | + */ | |
| 55 | + public String cutString(String str, int size) { | |
| 56 | + String returnStr = null; | |
| 57 | + if (str.length() > size) { | |
| 58 | + returnStr = str.substring(0, size) + "..."; | |
| 59 | + } | |
| 60 | + else { | |
| 61 | + returnStr = str; | |
| 62 | + } | |
| 63 | + return returnStr; | |
| 64 | + } | |
| 65 | + | |
| 66 | + /** | |
| 67 | + * 글자 특정 사이즈로 잘라내기 | |
| 68 | + * | |
| 69 | + * @param str | |
| 70 | + * @param size | |
| 71 | + * @param tail | |
| 72 | + * @return String | |
| 73 | + */ | |
| 74 | + public String cutString(String str, int size, boolean tail) { | |
| 75 | + String returnStr = null; | |
| 76 | + String tails = ""; | |
| 77 | + | |
| 78 | + if (tail == true) { | |
| 79 | + tails = "..."; | |
| 80 | + } | |
| 81 | + | |
| 82 | + if (str.length() > size) { | |
| 83 | + returnStr = str.substring(0, size) + tails; | |
| 84 | + } | |
| 85 | + else { | |
| 86 | + returnStr = str; | |
| 87 | + } | |
| 88 | + return returnStr; | |
| 89 | + } | |
| 90 | + | |
| 91 | + /** | |
| 92 | + * 글자 특정 사이즈로 <br/> 분이기 | |
| 93 | + * | |
| 94 | + * @param str | |
| 95 | + * @param size | |
| 96 | + * @return String | |
| 97 | + */ | |
| 98 | + public String brString(String str, int size) { | |
| 99 | + String returnStr = ""; | |
| 100 | + int j = 0; | |
| 101 | + for(int i = 0; i < str.length(); i++) | |
| 102 | + { | |
| 103 | + if(j >= size) | |
| 104 | + { | |
| 105 | + returnStr += "<br/>"; | |
| 106 | + j = 0; | |
| 107 | + } | |
| 108 | + returnStr += str.charAt(i); | |
| 109 | + j++; | |
| 110 | + } | |
| 111 | + return returnStr; | |
| 112 | + } | |
| 113 | + | |
| 114 | + /** | |
| 115 | + * \r\n을 <br/> 태그로 변환처리 | |
| 116 | + * | |
| 117 | + * @param str | |
| 118 | + * @return String | |
| 119 | + */ | |
| 120 | + public String nl2br(String str) { | |
| 121 | + String returnStr = null; | |
| 122 | + returnStr = str.replaceAll("\r\n", "<br/>"); | |
| 123 | + return returnStr; | |
| 124 | + } | |
| 125 | + | |
| 126 | + /** | |
| 127 | + * \r\n을 삭제 | |
| 128 | + * | |
| 129 | + * @param str | |
| 130 | + * @return String | |
| 131 | + */ | |
| 132 | + public String nl2Null(String str) { | |
| 133 | + String returnStr = null; | |
| 134 | + returnStr = str.replaceAll("\r\n", ""); | |
| 135 | + return returnStr; | |
| 136 | + } | |
| 137 | + | |
| 138 | + /** | |
| 139 | + * \n을 <br/> 태그로 변환처리 | |
| 140 | + * | |
| 141 | + * @param str | |
| 142 | + * @return String | |
| 143 | + */ | |
| 144 | + public String nl2br2(String str) { | |
| 145 | + String returnStr = null; | |
| 146 | + returnStr = str.replaceAll("\n", "<br/>"); | |
| 147 | + return returnStr; | |
| 148 | + } | |
| 149 | + | |
| 150 | + /** | |
| 151 | + * 특수문자를 변환합니다 | |
| 152 | + * | |
| 153 | + * @param str | |
| 154 | + * @return String | |
| 155 | + */ | |
| 156 | + public String middot(String str) { | |
| 157 | + str = str.replaceAll("·", "·"); | |
| 158 | + str = str.replaceAll("“", "“"); | |
| 159 | + str = str.replaceAll("”", "”"); | |
| 160 | + str = str.replaceAll("→", "→"); | |
| 161 | + | |
| 162 | + return str; | |
| 163 | + } | |
| 164 | + | |
| 165 | + /** | |
| 166 | + * html 태그를 제거합니다 | |
| 167 | + * | |
| 168 | + * @param str | |
| 169 | + * @return String | |
| 170 | + */ | |
| 171 | + public static String stripTag(String str) { | |
| 172 | + str = str.replaceAll("\\<.*?\\>", ""); | |
| 173 | + str = str.replaceAll(" ", ""); | |
| 174 | + str = str.replaceAll("<span>",""); | |
| 175 | + | |
| 176 | + return str; | |
| 177 | + } | |
| 178 | + | |
| 179 | + /** | |
| 180 | + * clob 스트링 출력 | |
| 181 | + * | |
| 182 | + * @param str | |
| 183 | + * @param size | |
| 184 | + * @return String | |
| 185 | + * @throws IOException | |
| 186 | + */ | |
| 187 | + public String getClob(Clob str) throws IOException { | |
| 188 | + try { | |
| 189 | + | |
| 190 | + Reader reader = str.getCharacterStream(); | |
| 191 | + | |
| 192 | + StringBuffer out = new StringBuffer(); | |
| 193 | + char[] buff = new char[1024]; | |
| 194 | + int nchars = 0; | |
| 195 | + | |
| 196 | + // 스트링 버퍼에 append 시킨후 | |
| 197 | + while ((nchars = reader.read(buff)) > 0) { | |
| 198 | + out.append(buff, 0, nchars); | |
| 199 | + } | |
| 200 | + | |
| 201 | + return out.toString(); | |
| 202 | + } catch (SQLException e) { | |
| 203 | + // TODO Auto-generated catch block | |
| 204 | + System.out.println("clob에러"); | |
| 205 | + return "clob에러"; | |
| 206 | + } | |
| 207 | + | |
| 208 | + } | |
| 209 | + | |
| 210 | + /** | |
| 211 | + * 글자 널값이면 대체하기 | |
| 212 | + * | |
| 213 | + * @param str | |
| 214 | + * @param size | |
| 215 | + * @return String | |
| 216 | + */ | |
| 217 | + public String nvl(String str, String str_r) { | |
| 218 | + String returnStr = str; | |
| 219 | + if (str == null) { | |
| 220 | + if (str_r == null) { | |
| 221 | + str_r = ""; | |
| 222 | + } | |
| 223 | + returnStr = str_r; | |
| 224 | + } else if (str.length() == 0) { | |
| 225 | + if (str_r == null) { | |
| 226 | + str_r = ""; | |
| 227 | + } | |
| 228 | + returnStr = str_r; | |
| 229 | + } | |
| 230 | + | |
| 231 | + return returnStr; | |
| 232 | + } | |
| 233 | + | |
| 234 | + /** | |
| 235 | + * https 검색 | |
| 236 | + * | |
| 237 | + * @param str | |
| 238 | + * @param size | |
| 239 | + * @return String | |
| 240 | + */ | |
| 241 | + public boolean httpsFind(String str) { | |
| 242 | + | |
| 243 | + if(str.matches("https://.*")) | |
| 244 | + return true; | |
| 245 | + | |
| 246 | + return false; | |
| 247 | + | |
| 248 | + } | |
| 249 | + | |
| 250 | + public boolean checkReg(String reg, String str) { | |
| 251 | + return Pattern.matches(reg, str); | |
| 252 | + } | |
| 253 | + | |
| 254 | + public static boolean checkRegKor(String str) { | |
| 255 | + return Pattern.matches("[가-힣]+", str); | |
| 256 | + } | |
| 257 | + | |
| 258 | + public boolean checkRegNum(String str) { | |
| 259 | + return Pattern.matches("[0-9]+", str); | |
| 260 | + } | |
| 261 | + | |
| 262 | + public boolean checkRegEng(String str) { | |
| 263 | + return Pattern.matches("[a-zA-z]+", str); | |
| 264 | + } | |
| 265 | + public boolean checkRegEngUp(String str) { | |
| 266 | + return Pattern.matches("[A-z]+", str); | |
| 267 | + } | |
| 268 | + public boolean checkRegEngLo(String str) { | |
| 269 | + return Pattern.matches("[a-z]+", str); | |
| 270 | + } | |
| 271 | + | |
| 272 | + public static boolean checkRegKorEngNum(String str) { | |
| 273 | + return Pattern.matches("[가-힣A-za-z0-9]+", str); | |
| 274 | + } | |
| 275 | + | |
| 276 | + /** | |
| 277 | + * 새 우편번호 변환 | |
| 278 | + */ | |
| 279 | + public String getPost(int area, int num) { | |
| 280 | + String[][] newPosts = { | |
| 281 | + {""} | |
| 282 | + ,{"05050","11787","13636","26475","25517","07988","05048"} | |
| 283 | + ,{"14041","14442","10449","14067","16704","21313"} | |
| 284 | + ,{"46700","44248","51708","52628"} | |
| 285 | + ,{"32840","32840","28684","31158","32839"} | |
| 286 | + ,{"62278","55316","57987","58457"} | |
| 287 | + ,{"41504","36709","37653"} | |
| 288 | + }; | |
| 289 | + return newPosts[area][num]; | |
| 290 | + } | |
| 291 | + | |
| 292 | + public String nl2br() { | |
| 293 | + String returnStr = null; | |
| 294 | + return returnStr; | |
| 295 | + } | |
| 296 | + | |
| 297 | + | |
| 298 | + public final boolean unscriptAlert(String data, RedirectAttributes redirectAttributes ) { | |
| 299 | + if (data == null || data.trim().equals("")) { | |
| 300 | + return false; | |
| 301 | + } | |
| 302 | + | |
| 303 | + String ret = data; | |
| 304 | + if( ret.contains("<(S|s)(C|c)(R|r)(I|i)(P|p)(T|t)") || | |
| 305 | + ret.contains("</(S|s)(C|c)(R|r)(I|i)(P|p)(T|t)") || | |
| 306 | + ret.contains("(O|o)(B|b)(J|j)(E|e)(C|c)(T|t)") || | |
| 307 | + ret.contains("</(O|o)(B|b)(J|j)(E|e)(C|c)(T|t)") || | |
| 308 | + ret.contains("alert") || | |
| 309 | + ret.contains("script") || | |
| 310 | + ret.contains("update") || | |
| 311 | + ret.contains("delete") || | |
| 312 | + ret.contains("!") || | |
| 313 | + ret.contains("<") || | |
| 314 | + ret.contains(">") || | |
| 315 | + ret.contains("<") || | |
| 316 | + ret.contains("=") ){ | |
| 317 | + return true; | |
| 318 | + } | |
| 319 | + | |
| 320 | + return false; | |
| 321 | + } | |
| 322 | + | |
| 323 | + | |
| 324 | + // 오늘 날짜 | |
| 325 | + public static String getTodayDate() throws Exception { | |
| 326 | + | |
| 327 | + Date toDay = new Date(); | |
| 328 | + SimpleDateFormat date = new SimpleDateFormat("yyyy-MM-dd"); | |
| 329 | + String rtnDay = date.format(toDay); | |
| 330 | + | |
| 331 | + return rtnDay; | |
| 332 | + } | |
| 333 | + | |
| 334 | + // 한달 전 날짜 | |
| 335 | + public static String getBefore1MonthDate() throws Exception { | |
| 336 | + Calendar mon = Calendar.getInstance(); | |
| 337 | + mon.add(Calendar.MONTH , -1); | |
| 338 | + String beforeMonthDay = new java.text.SimpleDateFormat("yyyy-MM-dd").format(mon.getTime()); | |
| 339 | + | |
| 340 | + return beforeMonthDay; | |
| 341 | + } | |
| 342 | + | |
| 343 | + | |
| 344 | +}(No newline at end of file) |
+++ src/main/java/egovframework/com/cmm/util/TokenUtil.java
... | ... | @@ -0,0 +1,100 @@ |
| 1 | +/* | |
| 2 | + * Copyright 2008-2009 the original author or authors. | |
| 3 | + * | |
| 4 | + * Licensed under the Apache License, Version 2.0 (the "License"); | |
| 5 | + * you may not use this file except in compliance with the License. | |
| 6 | + * You may obtain a copy of the License at | |
| 7 | + * | |
| 8 | + * http://www.apache.org/licenses/LICENSE-2.0 | |
| 9 | + * | |
| 10 | + * Unless required by applicable law or agreed to in writing, software | |
| 11 | + * distributed under the License is distributed on an "AS IS" BASIS, | |
| 12 | + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
| 13 | + * See the License for the specific language governing permissions and | |
| 14 | + * limitations under the License. | |
| 15 | + */ | |
| 16 | +package egovframework.com.cmm.util; | |
| 17 | + | |
| 18 | +import java.security.MessageDigest; | |
| 19 | +import java.security.NoSuchAlgorithmException; | |
| 20 | + | |
| 21 | +import javax.servlet.http.HttpServletRequest; | |
| 22 | +import javax.servlet.http.HttpSession; | |
| 23 | + | |
| 24 | +import org.apache.log4j.Logger; | |
| 25 | +import org.springframework.web.context.request.RequestContextHolder; | |
| 26 | +import org.springframework.web.context.request.ServletRequestAttributes; | |
| 27 | +import org.springframework.web.multipart.MultipartHttpServletRequest; | |
| 28 | + | |
| 29 | +import egovframework.rte.fdl.idgnr.impl.Base64; | |
| 30 | + | |
| 31 | +public class TokenUtil { | |
| 32 | + | |
| 33 | + private static final String TOKEN_KEY = "TOKEN_KEY"; | |
| 34 | + private static final Logger logger = Logger.getLogger(TokenUtil.class.getName()); | |
| 35 | + | |
| 36 | + /** | |
| 37 | + * 로직처리를 위해 세션과 request에 Token 생성 | |
| 38 | + * | |
| 39 | + * @param request | |
| 40 | + */ | |
| 41 | + public static void saveToken(HttpServletRequest request) { | |
| 42 | + HttpSession session = request.getSession(true); | |
| 43 | + long systemTime = System.currentTimeMillis(); | |
| 44 | + byte[] time = new Long(systemTime).toString().getBytes(); | |
| 45 | + byte[] id = session.getId().getBytes(); | |
| 46 | + | |
| 47 | + try { | |
| 48 | + MessageDigest SHA = MessageDigest.getInstance("SHA-256"); | |
| 49 | + SHA.update(id); | |
| 50 | + SHA.update(time); | |
| 51 | + | |
| 52 | + String token = Base64.encode(SHA.digest()); | |
| 53 | + request.setAttribute(TOKEN_KEY, token); | |
| 54 | + session.setAttribute(TOKEN_KEY, token); | |
| 55 | + | |
| 56 | + logger.error("#########################################################################"); | |
| 57 | + logger.error("# Generate Token Key Value = " + token + " #"); | |
| 58 | + logger.error("#########################################################################"); | |
| 59 | + | |
| 60 | + } catch (NoSuchAlgorithmException e) { | |
| 61 | + System.out.println("토큰에러"); | |
| 62 | + } | |
| 63 | + } | |
| 64 | + | |
| 65 | + /** | |
| 66 | + * 로직처리 이후 중복방지를 위해 세션의 Token 초기화 | |
| 67 | + * | |
| 68 | + * @param request | |
| 69 | + */ | |
| 70 | + public static void resetToken(HttpServletRequest request) { | |
| 71 | + HttpSession session = request.getSession(true); | |
| 72 | + | |
| 73 | + try { | |
| 74 | + session.removeAttribute(TOKEN_KEY); | |
| 75 | + } catch (Exception e) { | |
| 76 | + System.out.println("토큰에러"); | |
| 77 | + } | |
| 78 | + } | |
| 79 | + | |
| 80 | + /** | |
| 81 | + * 세션과 request의 Token이 동일한지 비교 | |
| 82 | + * | |
| 83 | + * @param request | |
| 84 | + * @return | |
| 85 | + */ | |
| 86 | + public static boolean isTokenValid(HttpServletRequest request) { | |
| 87 | + HttpSession session = request.getSession(true); | |
| 88 | + String requestToken = request.getParameter(TOKEN_KEY); | |
| 89 | + String sessionToken = (String) session.getAttribute(TOKEN_KEY); | |
| 90 | + | |
| 91 | + if (requestToken == null || sessionToken == null) { | |
| 92 | + logger.error("# null #"); | |
| 93 | + return false; | |
| 94 | + } else { | |
| 95 | + logger.error("# notnull #"); | |
| 96 | + return requestToken.equals(sessionToken); | |
| 97 | + } | |
| 98 | + } | |
| 99 | + | |
| 100 | +}(No newline at end of file) |
+++ src/main/java/egovframework/com/cmm/util/WebUtil.java
... | ... | @@ -0,0 +1,32 @@ |
| 1 | +package egovframework.com.cmm.util; | |
| 2 | + | |
| 3 | +public class WebUtil { | |
| 4 | + | |
| 5 | + | |
| 6 | + /** | |
| 7 | + * MD5 | |
| 8 | + * @return | |
| 9 | + */ | |
| 10 | + public String convertToHex(byte[] data ){ | |
| 11 | + StringBuffer buf = new StringBuffer(); | |
| 12 | + | |
| 13 | + for( int i=0; i< data.length; i++){ | |
| 14 | + int halfbyte = (data[i] >>> 4 ) & 0x0F; | |
| 15 | + int two_halfs =0; | |
| 16 | + | |
| 17 | + do{ | |
| 18 | + if((0 <= halfbyte) && (halfbyte <= 9)) | |
| 19 | + buf.append((char)('0' + halfbyte)); | |
| 20 | + else | |
| 21 | + buf.append((char)('a' + ( halfbyte - 10))); | |
| 22 | + halfbyte =data[i] & 0x0F; | |
| 23 | + | |
| 24 | + }while(two_halfs++ < 1); | |
| 25 | + } | |
| 26 | + | |
| 27 | + | |
| 28 | + return buf.toString(); | |
| 29 | + } | |
| 30 | + | |
| 31 | +} | |
| 32 | + |
+++ src/main/java/egovframework/com/cmm/util/XssInterceptor.java
... | ... | @@ -0,0 +1,53 @@ |
| 1 | +package egovframework.com.cmm.util; | |
| 2 | + | |
| 3 | +import javax.servlet.http.HttpServletRequest; | |
| 4 | +import javax.servlet.http.HttpServletResponse; | |
| 5 | + | |
| 6 | +import org.springframework.web.servlet.handler.HandlerInterceptorAdapter; | |
| 7 | + | |
| 8 | +public class XssInterceptor extends HandlerInterceptorAdapter{ | |
| 9 | + | |
| 10 | + @Override | |
| 11 | + public boolean preHandle(HttpServletRequest request, | |
| 12 | + HttpServletResponse response, Object handler) throws Exception { | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + System.out.println("--------4444444----------");; | |
| 17 | + | |
| 18 | + return false; | |
| 19 | + // 기능을 수행하고 Controller를 실행 하려면 | |
| 20 | + | |
| 21 | + // return true; | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + // 특정 체크에서 일치하지 않는다면 | |
| 26 | + | |
| 27 | + // response.sendRedirect("특정 에러 페이지로 보낸다"); | |
| 28 | + | |
| 29 | + // return false; | |
| 30 | + | |
| 31 | + | |
| 32 | + // 인증 체크가 필요 없는 URL 체크 | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + // 첫페이지가 로그인 페이지일 경우 | |
| 38 | + | |
| 39 | + // 첫페이지 jsession때문에 request.getRequestURI().indexOf("/login/login.do") != -1 사용 | |
| 40 | + | |
| 41 | + /*if(request.getRequestURI().indexOf(urls.get(i)) != -1){ | |
| 42 | + | |
| 43 | + return true; | |
| 44 | + | |
| 45 | + }*/ | |
| 46 | + | |
| 47 | + | |
| 48 | + } | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | +} |
+++ src/main/java/egovframework/com/cmm/web/EgovBindingInitializer.java
... | ... | @@ -0,0 +1,22 @@ |
| 1 | +package egovframework.com.cmm.web; | |
| 2 | + | |
| 3 | +import java.text.SimpleDateFormat; | |
| 4 | +import java.util.Date; | |
| 5 | + | |
| 6 | +import org.springframework.beans.propertyeditors.CustomDateEditor; | |
| 7 | +import org.springframework.beans.propertyeditors.StringTrimmerEditor; | |
| 8 | +import org.springframework.web.bind.WebDataBinder; | |
| 9 | +import org.springframework.web.bind.support.WebBindingInitializer; | |
| 10 | +import org.springframework.web.context.request.WebRequest; | |
| 11 | + | |
| 12 | +public class EgovBindingInitializer implements WebBindingInitializer { | |
| 13 | + | |
| 14 | + @Override | |
| 15 | + public void initBinder(WebDataBinder binder, WebRequest request) { | |
| 16 | + SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); | |
| 17 | + dateFormat.setLenient(false); | |
| 18 | + binder.registerCustomEditor(Date.class, new CustomDateEditor(dateFormat, false)); | |
| 19 | + binder.registerCustomEditor(String.class, new StringTrimmerEditor(false)); | |
| 20 | + } | |
| 21 | + | |
| 22 | +} |
+++ src/main/java/egovframework/com/cmm/web/EgovComUtlController.java
... | ... | @@ -0,0 +1,127 @@ |
| 1 | +package egovframework.com.cmm.web; | |
| 2 | + | |
| 3 | +import egovframework.com.cmm.util.EgovDoubleSubmitHelper; | |
| 4 | +import egovframework.com.cmm.util.RedirectUrlMaker; | |
| 5 | +import egovframework.rte.fdl.property.EgovPropertyService; | |
| 6 | +import nl.captcha.Captcha; | |
| 7 | + | |
| 8 | +import java.util.HashMap; | |
| 9 | + | |
| 10 | +import javax.annotation.Resource; | |
| 11 | +import javax.servlet.http.HttpServletRequest; | |
| 12 | +import javax.servlet.http.HttpSession; | |
| 13 | + | |
| 14 | +import org.springframework.stereotype.Controller; | |
| 15 | +import org.springframework.ui.Model; | |
| 16 | +import org.springframework.ui.ModelMap; | |
| 17 | +import org.springframework.web.bind.annotation.RequestMapping; | |
| 18 | +import org.springframework.web.bind.annotation.RequestParam; | |
| 19 | +import org.springframework.web.servlet.mvc.support.RedirectAttributes; | |
| 20 | + | |
| 21 | +/** | |
| 22 | + * 공통유틸리티성 작업을 위한 Controller 클래스 | |
| 23 | + * @author 공통 서비스 개발팀 JJY | |
| 24 | + * @since 2009.03.02 | |
| 25 | + * @version 1.0 | |
| 26 | + * @see | |
| 27 | + * | |
| 28 | + * <pre> | |
| 29 | + * << 개정이력(Modification Information) >> | |
| 30 | + * | |
| 31 | + * 수정일 수정자 수정내용 | |
| 32 | + * ------- -------- --------------------------- | |
| 33 | + * 2009.03.02 JJY 최초 생성 | |
| 34 | + * 2011.08.31 JJY 경량환경 템플릿 커스터마이징버전 생성 | |
| 35 | + * | |
| 36 | + * </pre> | |
| 37 | + */ | |
| 38 | +@Controller | |
| 39 | +public class EgovComUtlController { | |
| 40 | + | |
| 41 | + /** EgovPropertyService */ | |
| 42 | + @Resource(name = "propertiesService") | |
| 43 | + protected EgovPropertyService propertiesService; | |
| 44 | + | |
| 45 | + /** | |
| 46 | + * JSP 호출작업만 처리하는 공통 함수 | |
| 47 | + */ | |
| 48 | + @RequestMapping(value = "/EgovPageLink.do") | |
| 49 | + public String moveToPage(@RequestParam("link") String linkPage, HttpSession session, | |
| 50 | + @RequestParam(value = "baseMenuNo", required = false) String baseMenuNo, | |
| 51 | + @RequestParam(value = "baseMenuNm", required = false) String baseMenuNm, | |
| 52 | + Model model , HttpServletRequest request ) { | |
| 53 | + String link = linkPage; | |
| 54 | + // service 사용하여 리턴할 결과값 처리하는 부분은 생략하고 단순 페이지 링크만 처리함 | |
| 55 | + if (linkPage == null || linkPage.equals("")) { | |
| 56 | + link = "cmm/egovError"; | |
| 57 | + } else { | |
| 58 | + if (link.indexOf(",") > -1) { | |
| 59 | + link = link.substring(0, link.indexOf(",")); | |
| 60 | + } | |
| 61 | + } | |
| 62 | + // 선택된 메뉴정보를 세션으로 등록한다. | |
| 63 | + if (baseMenuNo != null && !baseMenuNo.equals("") && !baseMenuNo.equals("null")) { | |
| 64 | + session.setAttribute("baseMenuNo", baseMenuNo); | |
| 65 | + }else if(null != request.getAttribute("baseMenuNo")){ | |
| 66 | + session.setAttribute("baseMenuNo", (String)request.getAttribute("baseMenuNo")); | |
| 67 | + } | |
| 68 | + // 선택된 메뉴정보를 상단 이름을 세션으로 등록한다. | |
| 69 | + if (baseMenuNm != null && !baseMenuNm.equals("") && !baseMenuNm.equals("null")) { | |
| 70 | + session.setAttribute("baseMenuNm", baseMenuNm); | |
| 71 | + }else if(null != request.getAttribute("baseMenuNm")){ | |
| 72 | + session.setAttribute("baseMenuNm", (String)request.getAttribute("baseMenuNm")); | |
| 73 | + } | |
| 74 | + | |
| 75 | + if(request.getRequestURI().contains("/WEB-INF/jsp/main/EgovMainView.jsp")){//메인페이지일 경우, 상단 버튼 색상 default로, 이름을 | |
| 76 | + session.setAttribute("baseMenuNo", null); | |
| 77 | + session.setAttribute("baseMenuNm", "관리자 메인페이지"); | |
| 78 | + } | |
| 79 | + return link; | |
| 80 | + } | |
| 81 | + | |
| 82 | + /** | |
| 83 | + * JSP 호출작업만 처리하는 공통 함수 | |
| 84 | + */ | |
| 85 | + @RequestMapping(value = "/EgovPageLink.action") | |
| 86 | + public String moveToPage_action(@RequestParam("link") String linkPage) { | |
| 87 | + String link = linkPage; | |
| 88 | + // service 사용하여 리턴할 결과값 처리하는 부분은 생략하고 단순 페이지 링크만 처리함 | |
| 89 | + if (linkPage == null || linkPage.equals("")) { | |
| 90 | + link = "cmm/egovError"; | |
| 91 | + } | |
| 92 | + return link; | |
| 93 | + } | |
| 94 | + | |
| 95 | + /** | |
| 96 | + * validation rule dynamic java script | |
| 97 | + */ | |
| 98 | + @RequestMapping("/validator.do") | |
| 99 | + public String validate() { | |
| 100 | + return "cmm/validator"; | |
| 101 | + } | |
| 102 | + | |
| 103 | + | |
| 104 | + /** | |
| 105 | + * 상단 링크시 파라미터 삭제 후 페이지 호출 | |
| 106 | + */ | |
| 107 | + @RequestMapping(value = "/EgovTopPageLink") | |
| 108 | + public String EgovTopPageLink(@RequestParam("link") String linkPage , @RequestParam("baseMenuNo") String baseMenuNo , | |
| 109 | + @RequestParam(value = "baseMenuNm", required = false) String baseMenuNm, | |
| 110 | + ModelMap model, RedirectAttributes redirectAttributes, HttpServletRequest req) | |
| 111 | + throws Exception{ | |
| 112 | + String link = linkPage; | |
| 113 | + // service 사용하여 리턴할 결과값 처리하는 부분은 생략하고 단순 페이지 링크만 처리함 | |
| 114 | + if (linkPage == null || linkPage.equals("")) { | |
| 115 | + link = "cmm/egovError"; | |
| 116 | + } | |
| 117 | + | |
| 118 | + //linkPage = linkPage+"?baseMenuNo=" + baseMenuNo ; | |
| 119 | + redirectAttributes.addFlashAttribute("baseMenuNo", baseMenuNo); //파라미터숨기기 | |
| 120 | + redirectAttributes.addFlashAttribute("baseMenuNm", baseMenuNm); //파라미터숨기기 | |
| 121 | + RedirectUrlMaker redirectUrlMaker = new RedirectUrlMaker(link); | |
| 122 | + return redirectUrlMaker.getRedirectUrl(); | |
| 123 | + | |
| 124 | + } | |
| 125 | + | |
| 126 | + | |
| 127 | +}(No newline at end of file) |
+++ src/main/java/egovframework/com/cmm/web/EgovFileDownloadController.java
... | ... | @@ -0,0 +1,2070 @@ |
| 1 | +package egovframework.com.cmm.web; | |
| 2 | + | |
| 3 | +import java.io.BufferedInputStream; | |
| 4 | +import java.io.BufferedOutputStream; | |
| 5 | +import java.io.File; | |
| 6 | +import java.io.FileInputStream; | |
| 7 | +import java.io.FileNotFoundException; | |
| 8 | +import java.io.FileOutputStream; | |
| 9 | +import java.io.IOException; | |
| 10 | +import java.io.PrintWriter; | |
| 11 | +import java.net.URLEncoder; | |
| 12 | +import java.util.ArrayList; | |
| 13 | +import java.util.List; | |
| 14 | +import java.util.Map; | |
| 15 | + | |
| 16 | +import javax.annotation.Resource; | |
| 17 | +import javax.servlet.http.HttpServletRequest; | |
| 18 | +import javax.servlet.http.HttpServletResponse; | |
| 19 | +import javax.servlet.http.HttpSession; | |
| 20 | + | |
| 21 | +import org.apache.commons.compress.archivers.zip.ZipArchiveEntry; | |
| 22 | +import org.apache.commons.compress.archivers.zip.ZipArchiveOutputStream; | |
| 23 | +import org.slf4j.Logger; | |
| 24 | +import org.slf4j.LoggerFactory; | |
| 25 | +import org.springframework.stereotype.Controller; | |
| 26 | +import org.springframework.util.FileCopyUtils; | |
| 27 | +import org.springframework.web.bind.annotation.ModelAttribute; | |
| 28 | +import org.springframework.web.bind.annotation.RequestMapping; | |
| 29 | +import org.springframework.web.bind.annotation.RequestParam; | |
| 30 | +import org.springframework.web.servlet.ModelAndView; | |
| 31 | + | |
| 32 | +import egovframework.com.cmm.service.EgovFileMngService; | |
| 33 | +import egovframework.com.cmm.service.FileVO; | |
| 34 | +import egovframework.let.itsm.asset.service.AssetVO; | |
| 35 | +import egovframework.let.itsm.audit.service.AuditItemVO; | |
| 36 | +import egovframework.let.itsm.audit.service.AuditManageService; | |
| 37 | +import egovframework.let.itsm.audit.service.AuditVO; | |
| 38 | +import egovframework.let.itsm.bizCntrt.service.BizCntrtVO; | |
| 39 | +import egovframework.let.itsm.bizCntrt.service.BizItemVO; | |
| 40 | +import egovframework.let.itsm.edu.service.EduVO; | |
| 41 | +import egovframework.let.itsm.ip.service.IpVO; | |
| 42 | +import egovframework.let.itsm.per.service.PeriFile; | |
| 43 | +import egovframework.let.itsm.per.service.PerispVO; | |
| 44 | +import egovframework.let.itsm.per.service.PeritemVO; | |
| 45 | +import egovframework.let.itsm.security.service.SecVO; | |
| 46 | +import egovframework.let.itsm.sla.service.SlaAutItemVO; | |
| 47 | +import egovframework.let.itsm.sla.service.SlaAutscitecVO; | |
| 48 | + | |
| 49 | +/** | |
| 50 | + * 파일 다운로드를 위한 컨트롤러 클래스 | |
| 51 | + * @author 공통서비스개발팀 이삼섭 | |
| 52 | + * @since 2009.06.01 | |
| 53 | + * @version 1.0 | |
| 54 | + * @see | |
| 55 | + * | |
| 56 | + * <pre> | |
| 57 | + * << 개정이력(Modification Information) >> | |
| 58 | + * | |
| 59 | + * 수정일 수정자 수정내용 | |
| 60 | + * ------- -------- --------------------------- | |
| 61 | + * 2009.3.25 이삼섭 최초 생성 | |
| 62 | + * | |
| 63 | + * Copyright (C) 2009 by MOPAS All right reserved. | |
| 64 | + * </pre> | |
| 65 | + */ | |
| 66 | +@Controller | |
| 67 | +public class EgovFileDownloadController { | |
| 68 | + | |
| 69 | + @Resource(name = "EgovFileMngService") | |
| 70 | + private EgovFileMngService fileService; | |
| 71 | + | |
| 72 | + @Resource(name = "auditManageService") | |
| 73 | + private AuditManageService auditManageService; | |
| 74 | + | |
| 75 | + private static final Logger LOGGER = LoggerFactory.getLogger(EgovFileDownloadController.class); | |
| 76 | + | |
| 77 | + /** | |
| 78 | + * 브라우저 구분 얻기. | |
| 79 | + * | |
| 80 | + * @param request | |
| 81 | + * @return | |
| 82 | + */ | |
| 83 | + private String getBrowser(HttpServletRequest request) { | |
| 84 | + String header = request.getHeader("User-Agent"); | |
| 85 | + if (header.indexOf("MSIE") > -1) { | |
| 86 | + return "MSIE"; | |
| 87 | + } else if (header.indexOf("Trident") > -1) { // IE11 문자열 깨짐 방지 | |
| 88 | + return "Trident"; | |
| 89 | + } else if (header.indexOf("Chrome") > -1) { | |
| 90 | + return "Chrome"; | |
| 91 | + } else if (header.indexOf("Opera") > -1) { | |
| 92 | + return "Opera"; | |
| 93 | + } | |
| 94 | + return "Firefox"; | |
| 95 | + } | |
| 96 | + | |
| 97 | + /** | |
| 98 | + * Disposition 지정하기. | |
| 99 | + * | |
| 100 | + * @param filename | |
| 101 | + * @param request | |
| 102 | + * @param response | |
| 103 | + * @throws Exception | |
| 104 | + */ | |
| 105 | + private void setDisposition(String filename, HttpServletRequest request, HttpServletResponse response) throws Exception { | |
| 106 | + String browser = getBrowser(request); | |
| 107 | + | |
| 108 | + String dispositionPrefix = "attachment; filename="; | |
| 109 | + String encodedFilename = null; | |
| 110 | + | |
| 111 | + if (browser.equals("MSIE")) { | |
| 112 | + encodedFilename = URLEncoder.encode(filename, "UTF-8").replaceAll("\\+", "%20"); | |
| 113 | + } else if (browser.equals("Trident")) { // IE11 문자열 깨짐 방지 | |
| 114 | + encodedFilename = URLEncoder.encode(filename, "UTF-8").replaceAll("\\+", "%20"); | |
| 115 | + } else if (browser.equals("Firefox")) { | |
| 116 | + encodedFilename = "\"" + new String(filename.getBytes("UTF-8"), "8859_1") + "\""; | |
| 117 | + } else if (browser.equals("Opera")) { | |
| 118 | + encodedFilename = "\"" + new String(filename.getBytes("UTF-8"), "8859_1") + "\""; | |
| 119 | + } else if (browser.equals("Chrome")) { | |
| 120 | + StringBuffer sb = new StringBuffer(); | |
| 121 | + for (int i = 0; i < filename.length(); i++) { | |
| 122 | + char c = filename.charAt(i); | |
| 123 | + if (c > '~') { | |
| 124 | + sb.append(URLEncoder.encode("" + c, "UTF-8")); | |
| 125 | + } else { | |
| 126 | + sb.append(c); | |
| 127 | + } | |
| 128 | + } | |
| 129 | + encodedFilename = sb.toString(); | |
| 130 | + } else { | |
| 131 | + //throw new RuntimeException("Not supported browser"); | |
| 132 | + throw new IOException("Not supported browser"); | |
| 133 | + } | |
| 134 | + | |
| 135 | + response.setHeader("Content-Disposition", dispositionPrefix + encodedFilename); | |
| 136 | + | |
| 137 | + if ("Opera".equals(browser)) { | |
| 138 | + response.setContentType("application/octet-stream;charset=UTF-8"); | |
| 139 | + } | |
| 140 | + } | |
| 141 | + | |
| 142 | + /** | |
| 143 | + * 첨부파일로 등록된 파일에 대하여 다운로드를 제공한다. | |
| 144 | + * | |
| 145 | + * @param commandMap | |
| 146 | + * @param response | |
| 147 | + * @throws Exception | |
| 148 | + */ | |
| 149 | + @RequestMapping(value = "/cmm/fms/FileDown.do") | |
| 150 | + public void cvplFileDownload(@RequestParam Map<String, Object> commandMap | |
| 151 | + , HttpServletRequest request | |
| 152 | + , HttpServletResponse response | |
| 153 | + , HttpSession session | |
| 154 | + ) throws Exception { | |
| 155 | + | |
| 156 | + String atchFileId = (String) commandMap.get("atchFileId"); | |
| 157 | + String fileSn = (String) commandMap.get("fileSn"); | |
| 158 | + | |
| 159 | + String sessionFileId = (String)session.getAttribute("atchFileId"); | |
| 160 | + | |
| 161 | + if(sessionFileId != null) { | |
| 162 | + if(!sessionFileId.equals(atchFileId)) { | |
| 163 | + response.setCharacterEncoding("utf-8"); | |
| 164 | + response.setContentType("text/html; charset=utf-8"); | |
| 165 | + | |
| 166 | + PrintWriter printwriter = response.getWriter(); | |
| 167 | + printwriter.println("<script>"); | |
| 168 | + printwriter.println("alert('허가되지 않은 서비스 입니다.')"); | |
| 169 | + printwriter.println("self.close();"); | |
| 170 | + printwriter.println("</script>"); | |
| 171 | + printwriter.flush(); | |
| 172 | + printwriter.close(); | |
| 173 | + return ; | |
| 174 | + } | |
| 175 | + } | |
| 176 | + | |
| 177 | + | |
| 178 | + /*Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated();*/ | |
| 179 | + | |
| 180 | + /*if (isAuthenticated) {*/ | |
| 181 | + | |
| 182 | + FileVO fileVO = new FileVO(); | |
| 183 | + fileVO.setAtchFileId(atchFileId); | |
| 184 | + fileVO.setFileSn(fileSn); | |
| 185 | + FileVO fvo = fileService.selectFileInf(fileVO); | |
| 186 | + if(fvo == null){ | |
| 187 | + response.setContentType("application/x-msdownload"); | |
| 188 | + PrintWriter printwriter = response.getWriter(); | |
| 189 | + printwriter.println("<html>"); | |
| 190 | + printwriter.println("<br><br><br><h2>Could not get file name:<br></h2>"); | |
| 191 | + printwriter.println("<br><br><br><center><h3><a href='javascript: history.go(-1)'>Back</a></h3></center>"); | |
| 192 | + printwriter.println("<br><br><br>© webAccess"); | |
| 193 | + printwriter.println("</html>"); | |
| 194 | + printwriter.flush(); | |
| 195 | + printwriter.close(); | |
| 196 | + return ; | |
| 197 | + } | |
| 198 | + | |
| 199 | + File uFile = new File(fvo.getFileStreCours(), fvo.getStreFileNm()); | |
| 200 | + long fSize = uFile.length(); | |
| 201 | + | |
| 202 | + if (fSize > 0) { | |
| 203 | + String mimetype = "application/x-msdownload"; | |
| 204 | + | |
| 205 | + response.setContentType(mimetype); | |
| 206 | + setDisposition(fvo.getOrignlFileNm(), request, response); | |
| 207 | + //response.setContentLength(fSize); | |
| 208 | + | |
| 209 | + BufferedInputStream in = null; | |
| 210 | + BufferedOutputStream out = null; | |
| 211 | + | |
| 212 | + try { | |
| 213 | + in = new BufferedInputStream(new FileInputStream(uFile)); | |
| 214 | + out = new BufferedOutputStream(response.getOutputStream()); | |
| 215 | + | |
| 216 | + FileCopyUtils.copy(in, out); | |
| 217 | + out.flush(); | |
| 218 | + } catch (Exception ex) { | |
| 219 | + LOGGER.debug("IGNORED: {}", ex.getMessage()); | |
| 220 | + } finally { | |
| 221 | + if (in != null) { | |
| 222 | + try { | |
| 223 | + in.close(); | |
| 224 | + } catch (Exception ignore) { | |
| 225 | + LOGGER.debug("IGNORED: {}", ignore.getMessage()); | |
| 226 | + } | |
| 227 | + } | |
| 228 | + if (out != null) { | |
| 229 | + try { | |
| 230 | + out.close(); | |
| 231 | + } catch (Exception ignore) { | |
| 232 | + LOGGER.debug("IGNORED: {}", ignore.getMessage()); | |
| 233 | + } | |
| 234 | + } | |
| 235 | + } | |
| 236 | + | |
| 237 | + } else { | |
| 238 | + response.setContentType("application/x-msdownload"); | |
| 239 | + | |
| 240 | + PrintWriter printwriter = response.getWriter(); | |
| 241 | + printwriter.println("<html>"); | |
| 242 | + printwriter.println("<br><br><br><h2>Could not get file name:<br>" + fvo.getOrignlFileNm() + "</h2>"); | |
| 243 | + printwriter.println("<br><br><br><center><h3><a href='javascript: history.go(-1)'>Back</a></h3></center>"); | |
| 244 | + printwriter.println("<br><br><br>© webAccess"); | |
| 245 | + printwriter.println("</html>"); | |
| 246 | + printwriter.flush(); | |
| 247 | + printwriter.close(); | |
| 248 | + } | |
| 249 | + /*}*/ | |
| 250 | + } | |
| 251 | + | |
| 252 | + | |
| 253 | + /** | |
| 254 | + * 첨부파일로 등록된 PDF파일을 미리보기 한다. | |
| 255 | + * | |
| 256 | + * @param commandMap | |
| 257 | + * @param response | |
| 258 | + * @throws Exception | |
| 259 | + */ | |
| 260 | + @RequestMapping(value = "/cmm/fms/pdfView.do") | |
| 261 | + public void pdfView(@RequestParam Map<String, Object> commandMap, HttpServletRequest request, HttpServletResponse response) throws Exception { | |
| 262 | + String atchFileId = (String) commandMap.get("atchFileId"); | |
| 263 | + String fileSn = (String) commandMap.get("fileSn"); | |
| 264 | + FileVO fileVO = new FileVO(); | |
| 265 | + fileVO.setAtchFileId(atchFileId); | |
| 266 | + fileVO.setFileSn(fileSn); | |
| 267 | + FileVO fvo = fileService.selectFileInf(fileVO); | |
| 268 | + if(fvo == null){ | |
| 269 | + response.setContentType("application/x-msdownload"); | |
| 270 | + PrintWriter printwriter = response.getWriter(); | |
| 271 | + printwriter.println("<html>"); | |
| 272 | + printwriter.println("<br><br><br><h2>Could not get file name:<br></h2>"); | |
| 273 | + printwriter.println("<br><br><br><center><h3><a href='javascript: history.go(-1)'>Back</a></h3></center>"); | |
| 274 | + printwriter.println("<br><br><br>© webAccess"); | |
| 275 | + printwriter.println("</html>"); | |
| 276 | + printwriter.flush(); | |
| 277 | + printwriter.close(); | |
| 278 | + return ; | |
| 279 | + } | |
| 280 | + | |
| 281 | + FileInputStream fis = null; | |
| 282 | + BufferedOutputStream bos = null; | |
| 283 | + try{ | |
| 284 | + /* String pdfFileName = "C:/upload/TEST.pdf"; | |
| 285 | + File pdfFile = new File(pdfFileName);*/ | |
| 286 | + | |
| 287 | + File pdfFile = new File(fvo.getFileStreCours(), fvo.getStreFileNm()); | |
| 288 | + | |
| 289 | + //클라이언트 브라우져에서 바로 보는 방법(헤더 변경) | |
| 290 | + response.setContentType("application/pdf"); | |
| 291 | + //★ 이 구문이 있으면 [다운로드], 이 구문이 없다면 바로 target 지정된 곳에 view 해줍니다. | |
| 292 | + //response.addHeader("Content-Disposition", "attachment; filename="+pdfFile.getName()+".pdf"); | |
| 293 | + //파일 읽고 쓰는 건 일반적인 Write방식이랑 동일합니다. 다만 reponse 출력 스트림 객체에 write. | |
| 294 | + fis = new FileInputStream(pdfFile); | |
| 295 | + int size = fis.available(); //지정 파일에서 읽을 수 있는 바이트 수를 반환 | |
| 296 | + byte[] buf = new byte[size]; //버퍼설정 | |
| 297 | + int readCount = fis.read(buf); | |
| 298 | + response.flushBuffer(); | |
| 299 | + bos = new BufferedOutputStream(response.getOutputStream()); | |
| 300 | + bos.write(buf, 0, readCount); | |
| 301 | + bos.flush(); | |
| 302 | + } catch(Exception e) { | |
| 303 | + e.printStackTrace(); | |
| 304 | + } finally { | |
| 305 | + try{ | |
| 306 | + if (fis != null) fis.close(); //close는 꼭! 반드시! | |
| 307 | + if (bos != null) bos.close(); | |
| 308 | + } catch (IOException e) { | |
| 309 | + e.printStackTrace(); | |
| 310 | + } | |
| 311 | + } | |
| 312 | + } | |
| 313 | + | |
| 314 | + /*감사/담당자 명함 다운로드*/ | |
| 315 | + @RequestMapping(value = "/cmm/fms/ItsmFileDown.do") | |
| 316 | + public void itsmFileDown(@RequestParam Map<String, Object> commandMap, HttpServletRequest request, HttpServletResponse response) throws Exception { | |
| 317 | + | |
| 318 | + String atchFileId = (String) commandMap.get("atchFileId"); | |
| 319 | + String fileSn = (String) commandMap.get("fileSn"); | |
| 320 | + | |
| 321 | + FileVO fileVO = new FileVO(); | |
| 322 | + fileVO.setAtchFileId(atchFileId); | |
| 323 | + fileVO.setFileSn(fileSn); | |
| 324 | + FileVO fvo = fileService.selectItsmFileInf(fileVO); | |
| 325 | + if(fvo == null){ | |
| 326 | + response.setContentType("application/x-msdownload"); | |
| 327 | + PrintWriter printwriter = response.getWriter(); | |
| 328 | + printwriter.println("<html>"); | |
| 329 | + printwriter.println("<br><br><br><h2>Could not get file name:<br></h2>"); | |
| 330 | + printwriter.println("<br><br><br><center><h3><a href='javascript: history.go(-1)'>Back</a></h3></center>"); | |
| 331 | + printwriter.println("<br><br><br>© webAccess"); | |
| 332 | + printwriter.println("</html>"); | |
| 333 | + printwriter.flush(); | |
| 334 | + printwriter.close(); | |
| 335 | + return ; | |
| 336 | + } | |
| 337 | + | |
| 338 | + File uFile = new File(fvo.getFileStreCours(), fvo.getStreFileNm()); | |
| 339 | + long fSize = uFile.length(); | |
| 340 | + | |
| 341 | + if (fSize > 0) { | |
| 342 | + String mimetype = "application/x-msdownload"; | |
| 343 | + | |
| 344 | + response.setContentType(mimetype); | |
| 345 | + setDisposition(fvo.getOrignlFileNm(), request, response); | |
| 346 | + //response.setContentLength(fSize); | |
| 347 | + | |
| 348 | + BufferedInputStream in = null; | |
| 349 | + BufferedOutputStream out = null; | |
| 350 | + | |
| 351 | + try { | |
| 352 | + in = new BufferedInputStream(new FileInputStream(uFile)); | |
| 353 | + out = new BufferedOutputStream(response.getOutputStream()); | |
| 354 | + | |
| 355 | + FileCopyUtils.copy(in, out); | |
| 356 | + out.flush(); | |
| 357 | + } catch (Exception ex) { | |
| 358 | + LOGGER.debug("IGNORED: {}", ex.getMessage()); | |
| 359 | + } finally { | |
| 360 | + if (in != null) { | |
| 361 | + try { | |
| 362 | + in.close(); | |
| 363 | + } catch (Exception ignore) { | |
| 364 | + LOGGER.debug("IGNORED: {}", ignore.getMessage()); | |
| 365 | + } | |
| 366 | + } | |
| 367 | + if (out != null) { | |
| 368 | + try { | |
| 369 | + out.close(); | |
| 370 | + } catch (Exception ignore) { | |
| 371 | + LOGGER.debug("IGNORED: {}", ignore.getMessage()); | |
| 372 | + } | |
| 373 | + } | |
| 374 | + } | |
| 375 | + | |
| 376 | + } else { | |
| 377 | + response.setContentType("application/x-msdownload"); | |
| 378 | + PrintWriter printwriter = response.getWriter(); | |
| 379 | + printwriter.println("<html>"); | |
| 380 | + printwriter.println("<br><br><br><h2>Could not get file name:<br>" + fvo.getOrignlFileNm() + "</h2>"); | |
| 381 | + printwriter.println("<br><br><br><center><h3><a href='javascript: history.go(-1)'>Back</a></h3></center>"); | |
| 382 | + printwriter.println("<br><br><br>© webAccess"); | |
| 383 | + printwriter.println("</html>"); | |
| 384 | + printwriter.flush(); | |
| 385 | + printwriter.close(); | |
| 386 | + } | |
| 387 | + } | |
| 388 | + | |
| 389 | + /*정기점검 첨부파일 다운로드*/ | |
| 390 | + @RequestMapping(value = "/cmm/fms/perFileDown.do") | |
| 391 | + public void perFileDown(@RequestParam Map<String, Object> commandMap, HttpServletRequest request, HttpServletResponse response) throws Exception { | |
| 392 | + | |
| 393 | + String atchFileId = (String) commandMap.get("atchFileId"); | |
| 394 | + String fileSn = (String) commandMap.get("fileSn"); | |
| 395 | + | |
| 396 | + FileVO fileVO = new FileVO(); | |
| 397 | + fileVO.setAtchFileId(atchFileId); | |
| 398 | + fileVO.setFileSn(fileSn); | |
| 399 | + FileVO fvo = new FileVO(); | |
| 400 | + if(null != commandMap.get("dbType")){ | |
| 401 | + if("ipFile".equals((String) commandMap.get("dbType"))) { | |
| 402 | + fvo = fileService.selectItsmIpFileInf(fileVO); | |
| 403 | + } | |
| 404 | + }else { | |
| 405 | + fvo = fileService.selectItsmperFileInf(fileVO); | |
| 406 | + } | |
| 407 | + | |
| 408 | + | |
| 409 | + if(fvo == null){ | |
| 410 | + response.setContentType("application/x-msdownload"); | |
| 411 | + PrintWriter printwriter = response.getWriter(); | |
| 412 | + printwriter.println("<html>"); | |
| 413 | + printwriter.println("<br><br><br><h2>Could not get file name:<br></h2>"); | |
| 414 | + printwriter.println("<br><br><br><center><h3><a href='javascript: history.go(-1)'>Back</a></h3></center>"); | |
| 415 | + printwriter.println("<br><br><br>© webAccess"); | |
| 416 | + printwriter.println("</html>"); | |
| 417 | + printwriter.flush(); | |
| 418 | + printwriter.close(); | |
| 419 | + return ; | |
| 420 | + } | |
| 421 | + | |
| 422 | + File uFile = new File(fvo.getFileStreCours(), fvo.getStreFileNm()); | |
| 423 | + long fSize = uFile.length(); | |
| 424 | + | |
| 425 | + if (fSize > 0) { | |
| 426 | + String mimetype = "application/x-msdownload"; | |
| 427 | + | |
| 428 | + response.setContentType(mimetype); | |
| 429 | + setDisposition(fvo.getOrignlFileNm(), request, response); | |
| 430 | + //response.setContentLength(fSize); | |
| 431 | + | |
| 432 | + BufferedInputStream in = null; | |
| 433 | + BufferedOutputStream out = null; | |
| 434 | + | |
| 435 | + try { | |
| 436 | + in = new BufferedInputStream(new FileInputStream(uFile)); | |
| 437 | + out = new BufferedOutputStream(response.getOutputStream()); | |
| 438 | + | |
| 439 | + FileCopyUtils.copy(in, out); | |
| 440 | + out.flush(); | |
| 441 | + } catch (Exception ex) { | |
| 442 | + LOGGER.debug("IGNORED: {}", ex.getMessage()); | |
| 443 | + } finally { | |
| 444 | + if (in != null) { | |
| 445 | + try { | |
| 446 | + in.close(); | |
| 447 | + } catch (Exception ignore) { | |
| 448 | + LOGGER.debug("IGNORED: {}", ignore.getMessage()); | |
| 449 | + } | |
| 450 | + } | |
| 451 | + if (out != null) { | |
| 452 | + try { | |
| 453 | + out.close(); | |
| 454 | + } catch (Exception ignore) { | |
| 455 | + LOGGER.debug("IGNORED: {}", ignore.getMessage()); | |
| 456 | + } | |
| 457 | + } | |
| 458 | + } | |
| 459 | + | |
| 460 | + } else { | |
| 461 | + response.setContentType("application/x-msdownload"); | |
| 462 | + PrintWriter printwriter = response.getWriter(); | |
| 463 | + printwriter.println("<html>"); | |
| 464 | + printwriter.println("<br><br><br><h2>Could not get file name:<br>" + fvo.getOrignlFileNm() + "</h2>"); | |
| 465 | + printwriter.println("<br><br><br><center><h3><a href='javascript: history.go(-1)'>Back</a></h3></center>"); | |
| 466 | + printwriter.println("<br><br><br>© webAccess"); | |
| 467 | + printwriter.println("</html>"); | |
| 468 | + printwriter.flush(); | |
| 469 | + printwriter.close(); | |
| 470 | + } | |
| 471 | + } | |
| 472 | + | |
| 473 | + /* 파일 다운로드 - 일괄 zip 압축(기본)*/ | |
| 474 | + @RequestMapping(value = "/cmm/fms/fileDownZipTest.do") | |
| 475 | + public void fileDownZipTest(@RequestParam Map<String, Object> commandMap, HttpServletRequest request, HttpServletResponse response) throws Exception { | |
| 476 | + | |
| 477 | + | |
| 478 | + | |
| 479 | +// String atchFileId = (String) commandMap.get("atchFileId"); | |
| 480 | + String orgnZipNm = "test.zip"; // 압축 파일명 필요.. | |
| 481 | + String atchFileId = "FILE_000000000015459"; | |
| 482 | + | |
| 483 | + | |
| 484 | + | |
| 485 | + FileVO fileVO = new FileVO(); | |
| 486 | + fileVO.setAtchFileId(atchFileId); | |
| 487 | + List<FileVO> fvoList = fileService.selectFileInfs(fileVO); // 해당 기능에 맞게 파일 조회 | |
| 488 | + | |
| 489 | + if(fvoList.size() == 0){ | |
| 490 | + response.setContentType("application/x-msdownload"); | |
| 491 | + PrintWriter printwriter = response.getWriter(); | |
| 492 | + printwriter.println("<html>"); | |
| 493 | + printwriter.println("<br><br><br><h2>Could not get file name:<br></h2>"); | |
| 494 | + printwriter.println("<br><br><br><center><h3><a href='javascript: history.go(-1)'>Back</a></h3></center>"); | |
| 495 | + printwriter.println("<br><br><br>© webAccess"); | |
| 496 | + printwriter.println("</html>"); | |
| 497 | + printwriter.flush(); | |
| 498 | + printwriter.close(); | |
| 499 | + return ; | |
| 500 | + } | |
| 501 | + | |
| 502 | + | |
| 503 | + // buffer size | |
| 504 | + int size = 1024; | |
| 505 | + byte[] buf = new byte[size]; | |
| 506 | + | |
| 507 | + String outZipNm = fvoList.get(0).getFileStreCours()+File.separator + orgnZipNm; | |
| 508 | + FileInputStream fis = null; | |
| 509 | + ZipArchiveOutputStream zos = null; | |
| 510 | + BufferedInputStream bis = null; | |
| 511 | + | |
| 512 | + try { | |
| 513 | + // Zip 파일생성 | |
| 514 | + zos = new ZipArchiveOutputStream(new BufferedOutputStream(new FileOutputStream(outZipNm))); | |
| 515 | + | |
| 516 | + for ( FileVO vo : fvoList ){ | |
| 517 | + zos.setEncoding("UTF-8"); | |
| 518 | + | |
| 519 | + //buffer에 해당파일의 stream을 입력한다. | |
| 520 | + fis = new FileInputStream(vo.getFileStreCours() + "/" + vo.getStreFileNm()); | |
| 521 | + bis = new BufferedInputStream(fis,size); | |
| 522 | + | |
| 523 | + //zip에 넣을 다음 entry 를 가져온다. | |
| 524 | + zos.putArchiveEntry(new ZipArchiveEntry(vo.getOrignlFileNm())); | |
| 525 | + | |
| 526 | + //준비된 버퍼에서 집출력스트림으로 write 한다. | |
| 527 | + int len; | |
| 528 | + while((len = bis.read(buf,0,size)) != -1) zos.write(buf,0,len); | |
| 529 | + | |
| 530 | + bis.close(); | |
| 531 | + fis.close(); | |
| 532 | + zos.closeArchiveEntry(); | |
| 533 | + } | |
| 534 | + | |
| 535 | + zos.close(); | |
| 536 | + | |
| 537 | + } catch (FileNotFoundException e) { | |
| 538 | + e.printStackTrace(); | |
| 539 | + }finally{ | |
| 540 | + if( zos != null ) zos.close(); | |
| 541 | + if( fis != null ) fis.close(); | |
| 542 | + if( bis != null ) bis.close(); | |
| 543 | + } | |
| 544 | + | |
| 545 | + File uFile = new File(fvoList.get(0).getFileStreCours(), orgnZipNm); | |
| 546 | + long fSize = uFile.length(); | |
| 547 | + | |
| 548 | + if (fSize > 0) { | |
| 549 | + String mimetype = "application/x-msdownload"; | |
| 550 | + | |
| 551 | + response.setContentType(mimetype); | |
| 552 | + setDisposition(orgnZipNm, request, response); | |
| 553 | + //response.setContentLength(fSize); | |
| 554 | + | |
| 555 | + BufferedInputStream in = null; | |
| 556 | + BufferedOutputStream out = null; | |
| 557 | + | |
| 558 | + try { | |
| 559 | + in = new BufferedInputStream(new FileInputStream(uFile)); | |
| 560 | + out = new BufferedOutputStream(response.getOutputStream()); | |
| 561 | + | |
| 562 | + FileCopyUtils.copy(in, out); | |
| 563 | + out.flush(); | |
| 564 | + } catch (Exception ex) { | |
| 565 | + LOGGER.debug("IGNORED: {}", ex.getMessage()); | |
| 566 | + } finally { | |
| 567 | + if (in != null) { | |
| 568 | + try { | |
| 569 | + in.close(); | |
| 570 | + } catch (Exception ignore) { | |
| 571 | + LOGGER.debug("IGNORED: {}", ignore.getMessage()); | |
| 572 | + } | |
| 573 | + } | |
| 574 | + if (out != null) { | |
| 575 | + try { | |
| 576 | + out.close(); | |
| 577 | + } catch (Exception ignore) { | |
| 578 | + LOGGER.debug("IGNORED: {}", ignore.getMessage()); | |
| 579 | + } | |
| 580 | + } | |
| 581 | + } | |
| 582 | + //파일 다운로드 후 파일 삭제 | |
| 583 | + File delFile = new File(outZipNm); | |
| 584 | + delFile.delete(); | |
| 585 | + } else { | |
| 586 | + response.setContentType("application/x-msdownload"); | |
| 587 | + PrintWriter printwriter = response.getWriter(); | |
| 588 | + printwriter.println("<html>"); | |
| 589 | + printwriter.println("<br><br><br><h2>Could not get file name:<br>" + orgnZipNm + "</h2>"); | |
| 590 | + printwriter.println("<br><br><br><center><h3><a href='javascript: history.go(-1)'>Back</a></h3></center>"); | |
| 591 | + printwriter.println("<br><br><br>© webAccess"); | |
| 592 | + printwriter.println("</html>"); | |
| 593 | + printwriter.flush(); | |
| 594 | + printwriter.close(); | |
| 595 | + } | |
| 596 | + } | |
| 597 | + | |
| 598 | + /* 파일 다운로드 - 일괄 zip 압축(보안관리)*/ | |
| 599 | + @RequestMapping(value = "/cmm/fms/secFileDownZip.do") | |
| 600 | + public void secFileDownZip(@RequestParam Map<String, Object> commandMap, @ModelAttribute("sec") SecVO secVO, | |
| 601 | + HttpServletRequest request, HttpServletResponse response) throws Exception { | |
| 602 | + | |
| 603 | + //파일ID를 리스트에 담기 | |
| 604 | + List<String> atchFileIdList = new ArrayList<String>(); | |
| 605 | + //split을 이용해 아이디를 각자 배열에 담기 | |
| 606 | + String[] splitStr =((String) commandMap.get("atchFileId")).split(","); | |
| 607 | + //리스트에 아이디 담기 | |
| 608 | + for(int i=0; i<splitStr.length; i++) { | |
| 609 | + atchFileIdList.add(splitStr[i]); | |
| 610 | + } | |
| 611 | + | |
| 612 | + //zip파일 이름 (메뉴명+글 제목명 +날짜) | |
| 613 | + String menuNm = ""; | |
| 614 | + if(secVO.getSecCd().equals("02")) { | |
| 615 | + menuNm = "보안정책"; | |
| 616 | + }else if(secVO.getSecCd().equals("03")) { | |
| 617 | + menuNm = "보안서약서"; | |
| 618 | + }else if(secVO.getSecCd().equals("04")){ | |
| 619 | + menuNm = "모의훈련"; | |
| 620 | + } | |
| 621 | + | |
| 622 | + String orgnZipNm = menuNm+"_"+secVO.getSecSj()+"_"+secVO.getFrstRegistPnttm().substring(0,10)+".zip"; // 압축 파일명 필요.. | |
| 623 | + | |
| 624 | + | |
| 625 | + FileVO fileVO = new FileVO(); | |
| 626 | + fileVO.setAtchFileIdList(atchFileIdList); | |
| 627 | + List<FileVO> fvoList = fileService.selectSecFileInfs(fileVO); // 해당 기능에 맞게 파일 조회 | |
| 628 | + | |
| 629 | + if(fvoList.size() == 0){ | |
| 630 | + response.setContentType("application/x-msdownload"); | |
| 631 | + PrintWriter printwriter = response.getWriter(); | |
| 632 | + printwriter.println("<html>"); | |
| 633 | + printwriter.println("<br><br><br><h2>Could not get file name:<br></h2>"); | |
| 634 | + printwriter.println("<br><br><br><center><h3><a href='javascript: history.go(-1)'>Back</a></h3></center>"); | |
| 635 | + printwriter.println("<br><br><br>© webAccess"); | |
| 636 | + printwriter.println("</html>"); | |
| 637 | + printwriter.flush(); | |
| 638 | + printwriter.close(); | |
| 639 | + return ; | |
| 640 | + } | |
| 641 | + | |
| 642 | + | |
| 643 | + // buffer size | |
| 644 | + int size = 1024; | |
| 645 | + byte[] buf = new byte[size]; | |
| 646 | + | |
| 647 | + String outZipNm = fvoList.get(0).getFileStreCours()+File.separator + orgnZipNm; | |
| 648 | + FileInputStream fis = null; | |
| 649 | + ZipArchiveOutputStream zos = null; | |
| 650 | + BufferedInputStream bis = null; | |
| 651 | + | |
| 652 | + try { | |
| 653 | + // Zip 파일생성 | |
| 654 | + zos = new ZipArchiveOutputStream(new BufferedOutputStream(new FileOutputStream(outZipNm))); | |
| 655 | + | |
| 656 | + for ( FileVO vo : fvoList ){ | |
| 657 | + zos.setEncoding("UTF-8"); | |
| 658 | + | |
| 659 | + //buffer에 해당파일의 stream을 입력한다. | |
| 660 | + fis = new FileInputStream(vo.getFileStreCours() + "/" + vo.getStreFileNm()); | |
| 661 | + bis = new BufferedInputStream(fis,size); | |
| 662 | + | |
| 663 | + //zip에 넣을 다음 entry 를 가져온다. | |
| 664 | + zos.putArchiveEntry(new ZipArchiveEntry(vo.getOrignlFileNm())); | |
| 665 | + | |
| 666 | + //준비된 버퍼에서 집출력스트림으로 write 한다. | |
| 667 | + int len; | |
| 668 | + while((len = bis.read(buf,0,size)) != -1) zos.write(buf,0,len); | |
| 669 | + | |
| 670 | + bis.close(); | |
| 671 | + fis.close(); | |
| 672 | + zos.closeArchiveEntry(); | |
| 673 | + } | |
| 674 | + | |
| 675 | + zos.close(); | |
| 676 | + | |
| 677 | + } catch (FileNotFoundException e) { | |
| 678 | + e.printStackTrace(); | |
| 679 | + }finally{ | |
| 680 | + if( zos != null ) zos.close(); | |
| 681 | + if( fis != null ) fis.close(); | |
| 682 | + if( bis != null ) bis.close(); | |
| 683 | + } | |
| 684 | + | |
| 685 | + File uFile = new File(fvoList.get(0).getFileStreCours(), orgnZipNm); | |
| 686 | + long fSize = uFile.length(); | |
| 687 | + | |
| 688 | + if (fSize > 0) { | |
| 689 | + String mimetype = "application/x-msdownload"; | |
| 690 | + | |
| 691 | + response.setContentType(mimetype); | |
| 692 | + setDisposition(orgnZipNm, request, response); | |
| 693 | + //response.setContentLength(fSize); | |
| 694 | + | |
| 695 | + BufferedInputStream in = null; | |
| 696 | + BufferedOutputStream out = null; | |
| 697 | + | |
| 698 | + try { | |
| 699 | + in = new BufferedInputStream(new FileInputStream(uFile)); | |
| 700 | + out = new BufferedOutputStream(response.getOutputStream()); | |
| 701 | + | |
| 702 | + FileCopyUtils.copy(in, out); | |
| 703 | + out.flush(); | |
| 704 | + } catch (Exception ex) { | |
| 705 | + LOGGER.debug("IGNORED: {}", ex.getMessage()); | |
| 706 | + } finally { | |
| 707 | + if (in != null) { | |
| 708 | + try { | |
| 709 | + in.close(); | |
| 710 | + } catch (Exception ignore) { | |
| 711 | + LOGGER.debug("IGNORED: {}", ignore.getMessage()); | |
| 712 | + } | |
| 713 | + } | |
| 714 | + if (out != null) { | |
| 715 | + try { | |
| 716 | + out.close(); | |
| 717 | + } catch (Exception ignore) { | |
| 718 | + LOGGER.debug("IGNORED: {}", ignore.getMessage()); | |
| 719 | + } | |
| 720 | + } | |
| 721 | + } | |
| 722 | + | |
| 723 | + //파일 다운로드 후 파일 삭제 | |
| 724 | + File delFile = new File(outZipNm); | |
| 725 | + delFile.delete(); | |
| 726 | + } else { | |
| 727 | + response.setContentType("application/x-msdownload"); | |
| 728 | + PrintWriter printwriter = response.getWriter(); | |
| 729 | + printwriter.println("<html>"); | |
| 730 | + printwriter.println("<br><br><br><h2>Could not get file name:<br>" + orgnZipNm + "</h2>"); | |
| 731 | + printwriter.println("<br><br><br><center><h3><a href='javascript: history.go(-1)'>Back</a></h3></center>"); | |
| 732 | + printwriter.println("<br><br><br>© webAccess"); | |
| 733 | + printwriter.println("</html>"); | |
| 734 | + printwriter.flush(); | |
| 735 | + printwriter.close(); | |
| 736 | + } | |
| 737 | + } | |
| 738 | + | |
| 739 | + /* 파일 다운로드 - 일괄 zip 압축(사업관리)*/ | |
| 740 | + @RequestMapping(value = "/cmm/fms/bizFileDownZip.do") | |
| 741 | + public void bizFileDownZip(@RequestParam Map<String, Object> commandMap, @ModelAttribute("bizCntrtVO") BizCntrtVO bizCntrtVO, | |
| 742 | + BizItemVO bizItemVO, | |
| 743 | + HttpServletRequest request, HttpServletResponse response) throws Exception { | |
| 744 | + | |
| 745 | + //파일ID를 리스트에 담기 | |
| 746 | + List<String> atchFileIdList = new ArrayList<String>(); | |
| 747 | + //split을 이용해 아이디를 각자 배열에 담기 | |
| 748 | + String[] splitStr =bizItemVO.getAtchFileId().split(","); | |
| 749 | + //리스트에 아이디 담기 | |
| 750 | + for(int i=0; i<splitStr.length; i++) { | |
| 751 | + atchFileIdList.add(splitStr[i]); | |
| 752 | + } | |
| 753 | + | |
| 754 | + //zip파일 이름 (메뉴명+글 제목명 +날짜) | |
| 755 | + String menuNm = "사업관리"; | |
| 756 | + String orgnZipNm = menuNm+"_"+bizCntrtVO.getBizNm()+"_"+bizCntrtVO.getFrstRegistPnttm()+".zip"; // 압축 파일명 필요.. | |
| 757 | + | |
| 758 | + | |
| 759 | + FileVO fileVO = new FileVO(); | |
| 760 | + fileVO.setAtchFileIdList(atchFileIdList); | |
| 761 | + List<FileVO> fvoList = fileService.selectBizFileInfs(fileVO); // 해당 기능에 맞게 파일 조회 | |
| 762 | + | |
| 763 | + if(fvoList.size() == 0){ | |
| 764 | + response.setContentType("application/x-msdownload"); | |
| 765 | + PrintWriter printwriter = response.getWriter(); | |
| 766 | + printwriter.println("<html>"); | |
| 767 | + printwriter.println("<br><br><br><h2>Could not get file name:<br></h2>"); | |
| 768 | + printwriter.println("<br><br><br><center><h3><a href='javascript: history.go(-1)'>Back</a></h3></center>"); | |
| 769 | + printwriter.println("<br><br><br>© webAccess"); | |
| 770 | + printwriter.println("</html>"); | |
| 771 | + printwriter.flush(); | |
| 772 | + printwriter.close(); | |
| 773 | + return ; | |
| 774 | + } | |
| 775 | + | |
| 776 | + | |
| 777 | + // buffer size | |
| 778 | + int size = 1024; | |
| 779 | + byte[] buf = new byte[size]; | |
| 780 | + | |
| 781 | + String outZipNm = fvoList.get(0).getFileStreCours()+File.separator + orgnZipNm; | |
| 782 | + FileInputStream fis = null; | |
| 783 | + ZipArchiveOutputStream zos = null; | |
| 784 | + BufferedInputStream bis = null; | |
| 785 | + | |
| 786 | + try { | |
| 787 | + // Zip 파일생성 | |
| 788 | + zos = new ZipArchiveOutputStream(new BufferedOutputStream(new FileOutputStream(outZipNm))); | |
| 789 | + | |
| 790 | + for ( FileVO vo : fvoList ){ | |
| 791 | + zos.setEncoding("UTF-8"); | |
| 792 | + | |
| 793 | + //buffer에 해당파일의 stream을 입력한다. | |
| 794 | + fis = new FileInputStream(vo.getFileStreCours() + "/" + vo.getStreFileNm()); | |
| 795 | + bis = new BufferedInputStream(fis,size); | |
| 796 | + | |
| 797 | + //zip에 넣을 다음 entry 를 가져온다. | |
| 798 | + zos.putArchiveEntry(new ZipArchiveEntry(vo.getOrignlFileNm())); | |
| 799 | + | |
| 800 | + //준비된 버퍼에서 집출력스트림으로 write 한다. | |
| 801 | + int len; | |
| 802 | + while((len = bis.read(buf,0,size)) != -1) zos.write(buf,0,len); | |
| 803 | + | |
| 804 | + bis.close(); | |
| 805 | + fis.close(); | |
| 806 | + zos.closeArchiveEntry(); | |
| 807 | + } | |
| 808 | + | |
| 809 | + zos.close(); | |
| 810 | + | |
| 811 | + } catch (FileNotFoundException e) { | |
| 812 | + e.printStackTrace(); | |
| 813 | + }finally{ | |
| 814 | + if( zos != null ) zos.close(); | |
| 815 | + if( fis != null ) fis.close(); | |
| 816 | + if( bis != null ) bis.close(); | |
| 817 | + } | |
| 818 | + | |
| 819 | + File uFile = new File(fvoList.get(0).getFileStreCours(), orgnZipNm); | |
| 820 | + long fSize = uFile.length(); | |
| 821 | + | |
| 822 | + if (fSize > 0) { | |
| 823 | + String mimetype = "application/x-msdownload"; | |
| 824 | + | |
| 825 | + response.setContentType(mimetype); | |
| 826 | + setDisposition(orgnZipNm, request, response); | |
| 827 | + //response.setContentLength(fSize); | |
| 828 | + | |
| 829 | + BufferedInputStream in = null; | |
| 830 | + BufferedOutputStream out = null; | |
| 831 | + | |
| 832 | + try { | |
| 833 | + in = new BufferedInputStream(new FileInputStream(uFile)); | |
| 834 | + out = new BufferedOutputStream(response.getOutputStream()); | |
| 835 | + | |
| 836 | + FileCopyUtils.copy(in, out); | |
| 837 | + out.flush(); | |
| 838 | + } catch (Exception ex) { | |
| 839 | + LOGGER.debug("IGNORED: {}", ex.getMessage()); | |
| 840 | + } finally { | |
| 841 | + if (in != null) { | |
| 842 | + try { | |
| 843 | + in.close(); | |
| 844 | + } catch (Exception ignore) { | |
| 845 | + LOGGER.debug("IGNORED: {}", ignore.getMessage()); | |
| 846 | + } | |
| 847 | + } | |
| 848 | + if (out != null) { | |
| 849 | + try { | |
| 850 | + out.close(); | |
| 851 | + } catch (Exception ignore) { | |
| 852 | + LOGGER.debug("IGNORED: {}", ignore.getMessage()); | |
| 853 | + } | |
| 854 | + } | |
| 855 | + } | |
| 856 | + //파일 다운로드 후 파일 삭제 | |
| 857 | + File delFile = new File(outZipNm); | |
| 858 | + delFile.delete(); | |
| 859 | + } else { | |
| 860 | + response.setContentType("application/x-msdownload"); | |
| 861 | + PrintWriter printwriter = response.getWriter(); | |
| 862 | + printwriter.println("<html>"); | |
| 863 | + printwriter.println("<br><br><br><h2>Could not get file name:<br>" + orgnZipNm + "</h2>"); | |
| 864 | + printwriter.println("<br><br><br><center><h3><a href='javascript: history.go(-1)'>Back</a></h3></center>"); | |
| 865 | + printwriter.println("<br><br><br>© webAccess"); | |
| 866 | + printwriter.println("</html>"); | |
| 867 | + printwriter.flush(); | |
| 868 | + printwriter.close(); | |
| 869 | + } | |
| 870 | + } | |
| 871 | + | |
| 872 | + /* 파일 다운로드 - 일괄 zip 압축(개인정보실태평가,국정원실태평가,외부감사)*/ | |
| 873 | + @RequestMapping(value = "/cmm/fms/evalFileDownZip.do") | |
| 874 | + public void evalFileDownZip(@RequestParam Map<String, Object> commandMap | |
| 875 | + , @ModelAttribute("auditVO") AuditVO auditVO, | |
| 876 | + @ModelAttribute("auditItemVO") AuditItemVO auditItemVO | |
| 877 | + , EduVO eduVO, | |
| 878 | + HttpServletRequest request, HttpServletResponse response) throws Exception { | |
| 879 | + | |
| 880 | + //파일ID를 리스트에 담기 | |
| 881 | + List<String> atchFileIdList = new ArrayList<String>(); | |
| 882 | + //split을 이용해 아이디를 각자 배열에 담기 | |
| 883 | + String[] splitStr =auditItemVO.getAtchFileIdDown().split(","); | |
| 884 | + //리스트에 아이디 담기 | |
| 885 | + for(int i=0; i<splitStr.length; i++) { | |
| 886 | + atchFileIdList.add(splitStr[i]); | |
| 887 | + } | |
| 888 | + | |
| 889 | + //zip파일 이름 (메뉴명+글 제목명 +날짜) | |
| 890 | + String menuNm = ""; | |
| 891 | + if(auditVO.getAutCd().equals("21 ")) { | |
| 892 | + menuNm = "개인정보실태평가"; | |
| 893 | + }else if(auditVO.getAutCd().equals("03")) { | |
| 894 | + menuNm = "국정원실태평가"; | |
| 895 | + }else if(auditVO.getAutCd().equals("01")) { | |
| 896 | + menuNm = "외부감사"; | |
| 897 | + }else if(eduVO.getAutCd().equals("02")) { | |
| 898 | + if(eduVO.getAutConFlag().equals("01")) { | |
| 899 | + menuNm = "교육계획"; | |
| 900 | + }else if(eduVO.getAutConFlag().equals("02")) { | |
| 901 | + menuNm = "회의계획"; | |
| 902 | + }else if(eduVO.getAutConFlag().equals("03")) { | |
| 903 | + menuNm = "연간교육계획"; | |
| 904 | + } | |
| 905 | + } | |
| 906 | + String orgnZipNm = menuNm+"_"+auditVO.getAutSj()+"_"+auditVO.getFrstRegistPnttm().substring(0,10)+".zip"; // 압축 파일명 필요.. | |
| 907 | + | |
| 908 | + | |
| 909 | + FileVO fileVO = new FileVO(); | |
| 910 | + fileVO.setAtchFileIdList(atchFileIdList); | |
| 911 | + List<FileVO> fvoList = fileService.selectEvalFileInfs(fileVO); // 해당 기능에 맞게 파일 조회 | |
| 912 | + | |
| 913 | + if(fvoList.size() == 0){ | |
| 914 | + response.setContentType("application/x-msdownload"); | |
| 915 | + PrintWriter printwriter = response.getWriter(); | |
| 916 | + printwriter.println("<html>"); | |
| 917 | + printwriter.println("<br><br><br><h2>Could not get file name:<br></h2>"); | |
| 918 | + printwriter.println("<br><br><br><center><h3><a href='javascript: history.go(-1)'>Back</a></h3></center>"); | |
| 919 | + printwriter.println("<br><br><br>© webAccess"); | |
| 920 | + printwriter.println("</html>"); | |
| 921 | + printwriter.flush(); | |
| 922 | + printwriter.close(); | |
| 923 | + return ; | |
| 924 | + } | |
| 925 | + | |
| 926 | + | |
| 927 | + // buffer size | |
| 928 | + int size = 1024; | |
| 929 | + byte[] buf = new byte[size]; | |
| 930 | + | |
| 931 | + String outZipNm = fvoList.get(0).getFileStreCours()+File.separator + orgnZipNm; | |
| 932 | + FileInputStream fis = null; | |
| 933 | + ZipArchiveOutputStream zos = null; | |
| 934 | + BufferedInputStream bis = null; | |
| 935 | + | |
| 936 | + try { | |
| 937 | + // Zip 파일생성 | |
| 938 | + zos = new ZipArchiveOutputStream(new BufferedOutputStream(new FileOutputStream(outZipNm))); | |
| 939 | + | |
| 940 | + for ( FileVO vo : fvoList ){ | |
| 941 | + zos.setEncoding("UTF-8"); | |
| 942 | + | |
| 943 | + //buffer에 해당파일의 stream을 입력한다. | |
| 944 | + fis = new FileInputStream(vo.getFileStreCours() + "/" + vo.getStreFileNm()); | |
| 945 | + bis = new BufferedInputStream(fis,size); | |
| 946 | + | |
| 947 | + //zip에 넣을 다음 entry 를 가져온다. | |
| 948 | + zos.putArchiveEntry(new ZipArchiveEntry(vo.getOrignlFileNm())); | |
| 949 | + | |
| 950 | + //준비된 버퍼에서 집출력스트림으로 write 한다. | |
| 951 | + int len; | |
| 952 | + while((len = bis.read(buf,0,size)) != -1) zos.write(buf,0,len); | |
| 953 | + | |
| 954 | + bis.close(); | |
| 955 | + fis.close(); | |
| 956 | + zos.closeArchiveEntry(); | |
| 957 | + } | |
| 958 | + | |
| 959 | + zos.close(); | |
| 960 | + | |
| 961 | + } catch (FileNotFoundException e) { | |
| 962 | + e.printStackTrace(); | |
| 963 | + }finally{ | |
| 964 | + if( zos != null ) zos.close(); | |
| 965 | + if( fis != null ) fis.close(); | |
| 966 | + if( bis != null ) bis.close(); | |
| 967 | + } | |
| 968 | + | |
| 969 | + File uFile = new File(fvoList.get(0).getFileStreCours(), orgnZipNm); | |
| 970 | + long fSize = uFile.length(); | |
| 971 | + | |
| 972 | + if (fSize > 0) { | |
| 973 | + String mimetype = "application/x-msdownload"; | |
| 974 | + | |
| 975 | + response.setContentType(mimetype); | |
| 976 | + setDisposition(orgnZipNm, request, response); | |
| 977 | + //response.setContentLength(fSize); | |
| 978 | + | |
| 979 | + BufferedInputStream in = null; | |
| 980 | + BufferedOutputStream out = null; | |
| 981 | + | |
| 982 | + try { | |
| 983 | + in = new BufferedInputStream(new FileInputStream(uFile)); | |
| 984 | + out = new BufferedOutputStream(response.getOutputStream()); | |
| 985 | + | |
| 986 | + FileCopyUtils.copy(in, out); | |
| 987 | + out.flush(); | |
| 988 | + } catch (Exception ex) { | |
| 989 | + LOGGER.debug("IGNORED: {}", ex.getMessage()); | |
| 990 | + } finally { | |
| 991 | + if (in != null) { | |
| 992 | + try { | |
| 993 | + in.close(); | |
| 994 | + } catch (Exception ignore) { | |
| 995 | + LOGGER.debug("IGNORED: {}", ignore.getMessage()); | |
| 996 | + } | |
| 997 | + } | |
| 998 | + if (out != null) { | |
| 999 | + try { | |
| 1000 | + out.close(); | |
| 1001 | + } catch (Exception ignore) { | |
| 1002 | + LOGGER.debug("IGNORED: {}", ignore.getMessage()); | |
| 1003 | + } | |
| 1004 | + } | |
| 1005 | + } | |
| 1006 | + //파일 다운로드 후 파일 삭제 | |
| 1007 | + File delFile = new File(outZipNm); | |
| 1008 | + delFile.delete(); | |
| 1009 | + } else { | |
| 1010 | + response.setContentType("application/x-msdownload"); | |
| 1011 | + PrintWriter printwriter = response.getWriter(); | |
| 1012 | + printwriter.println("<html>"); | |
| 1013 | + printwriter.println("<br><br><br><h2>Could not get file name:<br>" + orgnZipNm + "</h2>"); | |
| 1014 | + printwriter.println("<br><br><br><center><h3><a href='javascript: history.go(-1)'>Back</a></h3></center>"); | |
| 1015 | + printwriter.println("<br><br><br>© webAccess"); | |
| 1016 | + printwriter.println("</html>"); | |
| 1017 | + printwriter.flush(); | |
| 1018 | + printwriter.close(); | |
| 1019 | + } | |
| 1020 | + } | |
| 1021 | + | |
| 1022 | + /* 파일 다운로드 - 일괄 zip 압축(교육회의관리)*/ | |
| 1023 | + @RequestMapping(value = "/cmm/fms/eduFileDownZip.do") | |
| 1024 | + public void eduFileDownZip(@RequestParam Map<String, Object> commandMap | |
| 1025 | + , @ModelAttribute("auditVO") AuditVO auditVO, | |
| 1026 | + @ModelAttribute("auditItemVO") AuditItemVO auditItemVO | |
| 1027 | + , EduVO eduVO, | |
| 1028 | + HttpServletRequest request, HttpServletResponse response) throws Exception { | |
| 1029 | + | |
| 1030 | + //파일ID를 리스트에 담기 | |
| 1031 | + List<String> atchFileIdList = new ArrayList<String>(); | |
| 1032 | + //split을 이용해 아이디를 각자 배열에 담기 | |
| 1033 | + String[] splitStr =auditItemVO.getAtchFileId().split(","); | |
| 1034 | + //리스트에 아이디 담기 | |
| 1035 | + for(int i=0; i<splitStr.length; i++) { | |
| 1036 | + atchFileIdList.add(splitStr[i]); | |
| 1037 | + } | |
| 1038 | + | |
| 1039 | + //zip파일 이름 (메뉴명+글 제목명 +날짜) | |
| 1040 | + String menuNm = ""; | |
| 1041 | + if(auditVO.getAutCd().equals("21 ")) { | |
| 1042 | + menuNm = "개인정보실태평가"; | |
| 1043 | + }else if(auditVO.getAutCd().equals("03")) { | |
| 1044 | + menuNm = "국정원실태평가"; | |
| 1045 | + }else if(auditVO.getAutCd().equals("01")) { | |
| 1046 | + menuNm = "외부감사"; | |
| 1047 | + }else if(eduVO.getAutCd().equals("02")) { | |
| 1048 | + if(eduVO.getAutConFlag().equals("01")) { | |
| 1049 | + menuNm = "교육계획"; | |
| 1050 | + }else if(eduVO.getAutConFlag().equals("02")) { | |
| 1051 | + menuNm = "회의계획"; | |
| 1052 | + }else if(eduVO.getAutConFlag().equals("03")) { | |
| 1053 | + menuNm = "연간교육계획"; | |
| 1054 | + } | |
| 1055 | + } | |
| 1056 | + String orgnZipNm = menuNm+"_"+auditVO.getAutSj()+"_"+auditVO.getFrstRegistPnttm().substring(0,10)+".zip"; // 압축 파일명 필요.. | |
| 1057 | + | |
| 1058 | + | |
| 1059 | + FileVO fileVO = new FileVO(); | |
| 1060 | + fileVO.setAtchFileIdList(atchFileIdList); | |
| 1061 | + List<FileVO> fvoList = fileService.selectEvalFileInfs(fileVO); // 해당 기능에 맞게 파일 조회 | |
| 1062 | + | |
| 1063 | + if(fvoList.size() == 0){ | |
| 1064 | + response.setContentType("application/x-msdownload"); | |
| 1065 | + PrintWriter printwriter = response.getWriter(); | |
| 1066 | + printwriter.println("<html>"); | |
| 1067 | + printwriter.println("<br><br><br><h2>Could not get file name:<br></h2>"); | |
| 1068 | + printwriter.println("<br><br><br><center><h3><a href='javascript: history.go(-1)'>Back</a></h3></center>"); | |
| 1069 | + printwriter.println("<br><br><br>© webAccess"); | |
| 1070 | + printwriter.println("</html>"); | |
| 1071 | + printwriter.flush(); | |
| 1072 | + printwriter.close(); | |
| 1073 | + return ; | |
| 1074 | + } | |
| 1075 | + | |
| 1076 | + | |
| 1077 | + // buffer size | |
| 1078 | + int size = 1024; | |
| 1079 | + byte[] buf = new byte[size]; | |
| 1080 | + | |
| 1081 | + String outZipNm = fvoList.get(0).getFileStreCours()+File.separator + orgnZipNm; | |
| 1082 | + FileInputStream fis = null; | |
| 1083 | + ZipArchiveOutputStream zos = null; | |
| 1084 | + BufferedInputStream bis = null; | |
| 1085 | + | |
| 1086 | + try { | |
| 1087 | + // Zip 파일생성 | |
| 1088 | + zos = new ZipArchiveOutputStream(new BufferedOutputStream(new FileOutputStream(outZipNm))); | |
| 1089 | + | |
| 1090 | + for ( FileVO vo : fvoList ){ | |
| 1091 | + zos.setEncoding("UTF-8"); | |
| 1092 | + | |
| 1093 | + //buffer에 해당파일의 stream을 입력한다. | |
| 1094 | + fis = new FileInputStream(vo.getFileStreCours() + "/" + vo.getStreFileNm()); | |
| 1095 | + bis = new BufferedInputStream(fis,size); | |
| 1096 | + | |
| 1097 | + //zip에 넣을 다음 entry 를 가져온다. | |
| 1098 | + zos.putArchiveEntry(new ZipArchiveEntry(vo.getOrignlFileNm())); | |
| 1099 | + | |
| 1100 | + //준비된 버퍼에서 집출력스트림으로 write 한다. | |
| 1101 | + int len; | |
| 1102 | + while((len = bis.read(buf,0,size)) != -1) zos.write(buf,0,len); | |
| 1103 | + | |
| 1104 | + bis.close(); | |
| 1105 | + fis.close(); | |
| 1106 | + zos.closeArchiveEntry(); | |
| 1107 | + } | |
| 1108 | + | |
| 1109 | + zos.close(); | |
| 1110 | + | |
| 1111 | + } catch (FileNotFoundException e) { | |
| 1112 | + e.printStackTrace(); | |
| 1113 | + }finally{ | |
| 1114 | + if( zos != null ) zos.close(); | |
| 1115 | + if( fis != null ) fis.close(); | |
| 1116 | + if( bis != null ) bis.close(); | |
| 1117 | + } | |
| 1118 | + | |
| 1119 | + File uFile = new File(fvoList.get(0).getFileStreCours(), orgnZipNm); | |
| 1120 | + long fSize = uFile.length(); | |
| 1121 | + | |
| 1122 | + if (fSize > 0) { | |
| 1123 | + String mimetype = "application/x-msdownload"; | |
| 1124 | + | |
| 1125 | + response.setContentType(mimetype); | |
| 1126 | + setDisposition(orgnZipNm, request, response); | |
| 1127 | + //response.setContentLength(fSize); | |
| 1128 | + | |
| 1129 | + BufferedInputStream in = null; | |
| 1130 | + BufferedOutputStream out = null; | |
| 1131 | + | |
| 1132 | + try { | |
| 1133 | + in = new BufferedInputStream(new FileInputStream(uFile)); | |
| 1134 | + out = new BufferedOutputStream(response.getOutputStream()); | |
| 1135 | + | |
| 1136 | + FileCopyUtils.copy(in, out); | |
| 1137 | + out.flush(); | |
| 1138 | + } catch (Exception ex) { | |
| 1139 | + LOGGER.debug("IGNORED: {}", ex.getMessage()); | |
| 1140 | + } finally { | |
| 1141 | + if (in != null) { | |
| 1142 | + try { | |
| 1143 | + in.close(); | |
| 1144 | + } catch (Exception ignore) { | |
| 1145 | + LOGGER.debug("IGNORED: {}", ignore.getMessage()); | |
| 1146 | + } | |
| 1147 | + } | |
| 1148 | + if (out != null) { | |
| 1149 | + try { | |
| 1150 | + out.close(); | |
| 1151 | + } catch (Exception ignore) { | |
| 1152 | + LOGGER.debug("IGNORED: {}", ignore.getMessage()); | |
| 1153 | + } | |
| 1154 | + } | |
| 1155 | + } | |
| 1156 | + //파일 다운로드 후 파일 삭제 | |
| 1157 | + File delFile = new File(outZipNm); | |
| 1158 | + delFile.delete(); | |
| 1159 | + } else { | |
| 1160 | + response.setContentType("application/x-msdownload"); | |
| 1161 | + PrintWriter printwriter = response.getWriter(); | |
| 1162 | + printwriter.println("<html>"); | |
| 1163 | + printwriter.println("<br><br><br><h2>Could not get file name:<br>" + orgnZipNm + "</h2>"); | |
| 1164 | + printwriter.println("<br><br><br><center><h3><a href='javascript: history.go(-1)'>Back</a></h3></center>"); | |
| 1165 | + printwriter.println("<br><br><br>© webAccess"); | |
| 1166 | + printwriter.println("</html>"); | |
| 1167 | + printwriter.flush(); | |
| 1168 | + printwriter.close(); | |
| 1169 | + } | |
| 1170 | + } | |
| 1171 | + /* 파일 다운로드 - 일괄 zip 압축(국정원실태평가 - 세부 평가지표 및 결과[파일디테일이 없어서 따로 만듬])*/ | |
| 1172 | + @RequestMapping(value = "/cmm/fms/evalFileDownZip2.do") | |
| 1173 | + public void evalFileDownZip2(@RequestParam Map<String, Object> commandMap | |
| 1174 | + , @ModelAttribute("auditVO") AuditVO auditVO, | |
| 1175 | + @ModelAttribute("auditItemVO") AuditItemVO auditItemVO | |
| 1176 | + , EduVO eduVO, | |
| 1177 | + HttpServletRequest request, HttpServletResponse response) throws Exception { | |
| 1178 | + | |
| 1179 | + //파일ID를 리스트에 담기 | |
| 1180 | + List<String> atchFileIdList = new ArrayList<String>(); | |
| 1181 | + //split을 이용해 아이디를 각자 배열에 담기 | |
| 1182 | + String[] splitStr =auditItemVO.getAtchFileIdDown().split(","); | |
| 1183 | + //리스트에 아이디 담기 | |
| 1184 | + for(int i=0; i<splitStr.length; i++) { | |
| 1185 | + atchFileIdList.add(splitStr[i]); | |
| 1186 | + } | |
| 1187 | + | |
| 1188 | + //zip파일 이름 (메뉴명+글 제목명 +날짜) | |
| 1189 | + String menuNm = ""; | |
| 1190 | + if(auditVO.getAutCd().equals("21 ")) { | |
| 1191 | + menuNm = "개인정보실태평가"; | |
| 1192 | + }else if(auditVO.getAutCd().equals("03")) { | |
| 1193 | + menuNm = "국정원실태평가"; | |
| 1194 | + }else if(auditVO.getAutCd().equals("01")) { | |
| 1195 | + menuNm = "외부감사"; | |
| 1196 | + }else if(eduVO.getAutCd().equals("02")) { | |
| 1197 | + if(eduVO.getAutConFlag().equals("01")) { | |
| 1198 | + menuNm = "교육계획"; | |
| 1199 | + }else if(eduVO.getAutConFlag().equals("02")) { | |
| 1200 | + menuNm = "회의계획"; | |
| 1201 | + }else if(eduVO.getAutConFlag().equals("03")) { | |
| 1202 | + menuNm = "연간교육계획"; | |
| 1203 | + } | |
| 1204 | + } | |
| 1205 | + String orgnZipNm = menuNm+"_"+auditVO.getAutSj()+"_"+auditVO.getFrstRegistPnttm().substring(0,10)+".zip"; // 압축 파일명 필요.. | |
| 1206 | + | |
| 1207 | + | |
| 1208 | + FileVO fileVO = new FileVO(); | |
| 1209 | + fileVO.setAtchFileIdList(atchFileIdList); | |
| 1210 | + List<FileVO> fvoList = fileService.selectNisEvalFileInfs(fileVO); // 해당 기능에 맞게 파일 조회 | |
| 1211 | + | |
| 1212 | + if(fvoList.size() == 0){ | |
| 1213 | + response.setContentType("application/x-msdownload"); | |
| 1214 | + PrintWriter printwriter = response.getWriter(); | |
| 1215 | + printwriter.println("<html>"); | |
| 1216 | + printwriter.println("<br><br><br><h2>Could not get file name:<br></h2>"); | |
| 1217 | + printwriter.println("<br><br><br><center><h3><a href='javascript: history.go(-1)'>Back</a></h3></center>"); | |
| 1218 | + printwriter.println("<br><br><br>© webAccess"); | |
| 1219 | + printwriter.println("</html>"); | |
| 1220 | + printwriter.flush(); | |
| 1221 | + printwriter.close(); | |
| 1222 | + return ; | |
| 1223 | + } | |
| 1224 | + | |
| 1225 | + | |
| 1226 | + // buffer size | |
| 1227 | + int size = 1024; | |
| 1228 | + byte[] buf = new byte[size]; | |
| 1229 | + | |
| 1230 | + String outZipNm = fvoList.get(0).getFileStreCours()+File.separator + orgnZipNm; | |
| 1231 | + FileInputStream fis = null; | |
| 1232 | + ZipArchiveOutputStream zos = null; | |
| 1233 | + BufferedInputStream bis = null; | |
| 1234 | + | |
| 1235 | + try { | |
| 1236 | + // Zip 파일생성 | |
| 1237 | + zos = new ZipArchiveOutputStream(new BufferedOutputStream(new FileOutputStream(outZipNm))); | |
| 1238 | + | |
| 1239 | + for ( FileVO vo : fvoList ){ | |
| 1240 | + zos.setEncoding("UTF-8"); | |
| 1241 | + | |
| 1242 | + //buffer에 해당파일의 stream을 입력한다. | |
| 1243 | + fis = new FileInputStream(vo.getFileStreCours() + "/" + vo.getStreFileNm()); | |
| 1244 | + bis = new BufferedInputStream(fis,size); | |
| 1245 | + | |
| 1246 | + //zip에 넣을 다음 entry 를 가져온다. | |
| 1247 | + zos.putArchiveEntry(new ZipArchiveEntry(vo.getOrignlFileNm())); | |
| 1248 | + | |
| 1249 | + //준비된 버퍼에서 집출력스트림으로 write 한다. | |
| 1250 | + int len; | |
| 1251 | + while((len = bis.read(buf,0,size)) != -1) zos.write(buf,0,len); | |
| 1252 | + | |
| 1253 | + bis.close(); | |
| 1254 | + fis.close(); | |
| 1255 | + zos.closeArchiveEntry(); | |
| 1256 | + } | |
| 1257 | + | |
| 1258 | + zos.close(); | |
| 1259 | + | |
| 1260 | + } catch (FileNotFoundException e) { | |
| 1261 | + e.printStackTrace(); | |
| 1262 | + }finally{ | |
| 1263 | + if( zos != null ) zos.close(); | |
| 1264 | + if( fis != null ) fis.close(); | |
| 1265 | + if( bis != null ) bis.close(); | |
| 1266 | + } | |
| 1267 | + | |
| 1268 | + File uFile = new File(fvoList.get(0).getFileStreCours(), orgnZipNm); | |
| 1269 | + long fSize = uFile.length(); | |
| 1270 | + | |
| 1271 | + if (fSize > 0) { | |
| 1272 | + String mimetype = "application/x-msdownload"; | |
| 1273 | + | |
| 1274 | + response.setContentType(mimetype); | |
| 1275 | + setDisposition(orgnZipNm, request, response); | |
| 1276 | + //response.setContentLength(fSize); | |
| 1277 | + | |
| 1278 | + BufferedInputStream in = null; | |
| 1279 | + BufferedOutputStream out = null; | |
| 1280 | + | |
| 1281 | + try { | |
| 1282 | + in = new BufferedInputStream(new FileInputStream(uFile)); | |
| 1283 | + out = new BufferedOutputStream(response.getOutputStream()); | |
| 1284 | + | |
| 1285 | + FileCopyUtils.copy(in, out); | |
| 1286 | + out.flush(); | |
| 1287 | + } catch (Exception ex) { | |
| 1288 | + LOGGER.debug("IGNORED: {}", ex.getMessage()); | |
| 1289 | + } finally { | |
| 1290 | + if (in != null) { | |
| 1291 | + try { | |
| 1292 | + in.close(); | |
| 1293 | + } catch (Exception ignore) { | |
| 1294 | + LOGGER.debug("IGNORED: {}", ignore.getMessage()); | |
| 1295 | + } | |
| 1296 | + } | |
| 1297 | + if (out != null) { | |
| 1298 | + try { | |
| 1299 | + out.close(); | |
| 1300 | + } catch (Exception ignore) { | |
| 1301 | + LOGGER.debug("IGNORED: {}", ignore.getMessage()); | |
| 1302 | + } | |
| 1303 | + } | |
| 1304 | + } | |
| 1305 | + //파일 다운로드 후 파일 삭제 | |
| 1306 | + File delFile = new File(outZipNm); | |
| 1307 | + delFile.delete(); | |
| 1308 | + } else { | |
| 1309 | + response.setContentType("application/x-msdownload"); | |
| 1310 | + PrintWriter printwriter = response.getWriter(); | |
| 1311 | + printwriter.println("<html>"); | |
| 1312 | + printwriter.println("<br><br><br><h2>Could not get file name:<br>" + orgnZipNm + "</h2>"); | |
| 1313 | + printwriter.println("<br><br><br><center><h3><a href='javascript: history.go(-1)'>Back</a></h3></center>"); | |
| 1314 | + printwriter.println("<br><br><br>© webAccess"); | |
| 1315 | + printwriter.println("</html>"); | |
| 1316 | + printwriter.flush(); | |
| 1317 | + printwriter.close(); | |
| 1318 | + } | |
| 1319 | + } | |
| 1320 | + | |
| 1321 | + /* 파일 다운로드 - 일괄 zip 압축(SLA관리)*/ | |
| 1322 | + @RequestMapping(value = "/cmm/fms/slaFileDownZip.do") | |
| 1323 | + public void slaFileDownZip(@RequestParam Map<String, Object> commandMap, @ModelAttribute("slaAutscitecVO") SlaAutscitecVO slaAutscitecVO, | |
| 1324 | + @ModelAttribute("slaAutItemVO") SlaAutItemVO slaAutItemVO, | |
| 1325 | + HttpServletRequest request, HttpServletResponse response) throws Exception { | |
| 1326 | + | |
| 1327 | + //파일ID를 리스트에 담기 | |
| 1328 | + List<String> atchFileIdList = new ArrayList<String>(); | |
| 1329 | + //split을 이용해 아이디를 각자 배열에 담기 | |
| 1330 | + String[] splitStr =slaAutItemVO.getAtchFileId().split(","); | |
| 1331 | + //리스트에 아이디 담기 | |
| 1332 | + for(int i=0; i<splitStr.length; i++) { | |
| 1333 | + atchFileIdList.add(splitStr[i]); | |
| 1334 | + } | |
| 1335 | + | |
| 1336 | + //zip파일 이름 (메뉴명+글 제목명 +날짜) | |
| 1337 | + String menuNm = "SLA관리"; | |
| 1338 | + String orgnZipNm = menuNm+"_"+slaAutscitecVO.getSlaSj()+"_"+slaAutscitecVO.getFrstRegistPnttm().substring(0,10)+".zip"; // 압축 파일명 필요.. | |
| 1339 | + | |
| 1340 | + | |
| 1341 | + FileVO fileVO = new FileVO(); | |
| 1342 | + fileVO.setAtchFileIdList(atchFileIdList); | |
| 1343 | + List<FileVO> fvoList = fileService.selectSLAFileInfs(fileVO); // 해당 기능에 맞게 파일 조회 | |
| 1344 | + | |
| 1345 | + if(fvoList.size() == 0){ | |
| 1346 | + response.setContentType("application/x-msdownload"); | |
| 1347 | + PrintWriter printwriter = response.getWriter(); | |
| 1348 | + printwriter.println("<html>"); | |
| 1349 | + printwriter.println("<br><br><br><h2>Could not get file name:<br></h2>"); | |
| 1350 | + printwriter.println("<br><br><br><center><h3><a href='javascript: history.go(-1)'>Back</a></h3></center>"); | |
| 1351 | + printwriter.println("<br><br><br>© webAccess"); | |
| 1352 | + printwriter.println("</html>"); | |
| 1353 | + printwriter.flush(); | |
| 1354 | + printwriter.close(); | |
| 1355 | + return ; | |
| 1356 | + } | |
| 1357 | + | |
| 1358 | + | |
| 1359 | + // buffer size | |
| 1360 | + int size = 1024; | |
| 1361 | + byte[] buf = new byte[size]; | |
| 1362 | + | |
| 1363 | + String outZipNm = fvoList.get(0).getFileStreCours()+File.separator + orgnZipNm; | |
| 1364 | + FileInputStream fis = null; | |
| 1365 | + ZipArchiveOutputStream zos = null; | |
| 1366 | + BufferedInputStream bis = null; | |
| 1367 | + | |
| 1368 | + try { | |
| 1369 | + // Zip 파일생성 | |
| 1370 | + zos = new ZipArchiveOutputStream(new BufferedOutputStream(new FileOutputStream(outZipNm))); | |
| 1371 | + | |
| 1372 | + for ( FileVO vo : fvoList ){ | |
| 1373 | + zos.setEncoding("UTF-8"); | |
| 1374 | + | |
| 1375 | + //buffer에 해당파일의 stream을 입력한다. | |
| 1376 | + fis = new FileInputStream(vo.getFileStreCours() + "/" + vo.getStreFileNm()); | |
| 1377 | + bis = new BufferedInputStream(fis,size); | |
| 1378 | + | |
| 1379 | + //zip에 넣을 다음 entry 를 가져온다. | |
| 1380 | + zos.putArchiveEntry(new ZipArchiveEntry(vo.getOrignlFileNm())); | |
| 1381 | + | |
| 1382 | + //준비된 버퍼에서 집출력스트림으로 write 한다. | |
| 1383 | + int len; | |
| 1384 | + while((len = bis.read(buf,0,size)) != -1) zos.write(buf,0,len); | |
| 1385 | + | |
| 1386 | + bis.close(); | |
| 1387 | + fis.close(); | |
| 1388 | + zos.closeArchiveEntry(); | |
| 1389 | + } | |
| 1390 | + | |
| 1391 | + zos.close(); | |
| 1392 | + | |
| 1393 | + } catch (FileNotFoundException e) { | |
| 1394 | + e.printStackTrace(); | |
| 1395 | + }finally{ | |
| 1396 | + if( zos != null ) zos.close(); | |
| 1397 | + if( fis != null ) fis.close(); | |
| 1398 | + if( bis != null ) bis.close(); | |
| 1399 | + } | |
| 1400 | + | |
| 1401 | + File uFile = new File(fvoList.get(0).getFileStreCours(), orgnZipNm); | |
| 1402 | + long fSize = uFile.length(); | |
| 1403 | + | |
| 1404 | + if (fSize > 0) { | |
| 1405 | + String mimetype = "application/x-msdownload"; | |
| 1406 | + | |
| 1407 | + response.setContentType(mimetype); | |
| 1408 | + setDisposition(orgnZipNm, request, response); | |
| 1409 | + //response.setContentLength(fSize); | |
| 1410 | + | |
| 1411 | + BufferedInputStream in = null; | |
| 1412 | + BufferedOutputStream out = null; | |
| 1413 | + | |
| 1414 | + try { | |
| 1415 | + in = new BufferedInputStream(new FileInputStream(uFile)); | |
| 1416 | + out = new BufferedOutputStream(response.getOutputStream()); | |
| 1417 | + | |
| 1418 | + FileCopyUtils.copy(in, out); | |
| 1419 | + out.flush(); | |
| 1420 | + } catch (Exception ex) { | |
| 1421 | + LOGGER.debug("IGNORED: {}", ex.getMessage()); | |
| 1422 | + } finally { | |
| 1423 | + if (in != null) { | |
| 1424 | + try { | |
| 1425 | + in.close(); | |
| 1426 | + } catch (Exception ignore) { | |
| 1427 | + LOGGER.debug("IGNORED: {}", ignore.getMessage()); | |
| 1428 | + } | |
| 1429 | + } | |
| 1430 | + if (out != null) { | |
| 1431 | + try { | |
| 1432 | + out.close(); | |
| 1433 | + } catch (Exception ignore) { | |
| 1434 | + LOGGER.debug("IGNORED: {}", ignore.getMessage()); | |
| 1435 | + } | |
| 1436 | + } | |
| 1437 | + } | |
| 1438 | + //파일 다운로드 후 파일 삭제 | |
| 1439 | + File delFile = new File(outZipNm); | |
| 1440 | + delFile.delete(); | |
| 1441 | + } else { | |
| 1442 | + response.setContentType("application/x-msdownload"); | |
| 1443 | + PrintWriter printwriter = response.getWriter(); | |
| 1444 | + printwriter.println("<html>"); | |
| 1445 | + printwriter.println("<br><br><br><h2>Could not get file name:<br>" + orgnZipNm + "</h2>"); | |
| 1446 | + printwriter.println("<br><br><br><center><h3><a href='javascript: history.go(-1)'>Back</a></h3></center>"); | |
| 1447 | + printwriter.println("<br><br><br>© webAccess"); | |
| 1448 | + printwriter.println("</html>"); | |
| 1449 | + printwriter.flush(); | |
| 1450 | + printwriter.close(); | |
| 1451 | + } | |
| 1452 | + } | |
| 1453 | + | |
| 1454 | + /* 파일 다운로드 - 일괄 zip 압축(정기점검)*/ | |
| 1455 | + @RequestMapping(value = "/cmm/fms/perFileDownZip.do") | |
| 1456 | + public void perFileDownZip(@RequestParam Map<String, Object> commandMap, PeriFile periFileVO, | |
| 1457 | + PeritemVO peritemVO, PerispVO perispVO, | |
| 1458 | + HttpServletRequest request, HttpServletResponse response) throws Exception { | |
| 1459 | + | |
| 1460 | + //파일ID를 리스트에 담기 | |
| 1461 | + List<String> atchFileIdList = new ArrayList<String>(); | |
| 1462 | + //split을 이용해 아이디를 각자 배열에 담기 | |
| 1463 | + String[] splitStr =periFileVO.getAtchFileId().split(","); | |
| 1464 | + //리스트에 아이디 담기 | |
| 1465 | + for(int i=0; i<splitStr.length; i++) { | |
| 1466 | + atchFileIdList.add(splitStr[i]); | |
| 1467 | + } | |
| 1468 | + | |
| 1469 | + //zip파일 이름 (메뉴명+글 제목명 +날짜) | |
| 1470 | + String menuNm = "정기점검"; | |
| 1471 | + String orgnZipNm = menuNm+"_"+perispVO.getPeriSj()+"_"+perispVO.getFrstRegistPnttm().substring(0,10)+".zip"; // 압축 파일명 필요.. | |
| 1472 | + | |
| 1473 | + | |
| 1474 | + FileVO fileVO = new FileVO(); | |
| 1475 | + fileVO.setAtchFileIdList(atchFileIdList); | |
| 1476 | + List<FileVO> fvoList = fileService.selectPerFileInfs(fileVO); // 해당 기능에 맞게 파일 조회 | |
| 1477 | + | |
| 1478 | + if(fvoList.size() == 0){ | |
| 1479 | + response.setContentType("application/x-msdownload"); | |
| 1480 | + PrintWriter printwriter = response.getWriter(); | |
| 1481 | + printwriter.println("<html>"); | |
| 1482 | + printwriter.println("<br><br><br><h2>Could not get file name:<br></h2>"); | |
| 1483 | + printwriter.println("<br><br><br><center><h3><a href='javascript: history.go(-1)'>Back</a></h3></center>"); | |
| 1484 | + printwriter.println("<br><br><br>© webAccess"); | |
| 1485 | + printwriter.println("</html>"); | |
| 1486 | + printwriter.flush(); | |
| 1487 | + printwriter.close(); | |
| 1488 | + return ; | |
| 1489 | + } | |
| 1490 | + | |
| 1491 | + | |
| 1492 | + // buffer size | |
| 1493 | + int size = 1024; | |
| 1494 | + byte[] buf = new byte[size]; | |
| 1495 | + | |
| 1496 | + String outZipNm = fvoList.get(0).getFileStreCours()+File.separator + orgnZipNm; | |
| 1497 | + FileInputStream fis = null; | |
| 1498 | + ZipArchiveOutputStream zos = null; | |
| 1499 | + BufferedInputStream bis = null; | |
| 1500 | + | |
| 1501 | + try { | |
| 1502 | + // Zip 파일생성 | |
| 1503 | + zos = new ZipArchiveOutputStream(new BufferedOutputStream(new FileOutputStream(outZipNm))); | |
| 1504 | + | |
| 1505 | + for ( FileVO vo : fvoList ){ | |
| 1506 | + zos.setEncoding("UTF-8"); | |
| 1507 | + | |
| 1508 | + //buffer에 해당파일의 stream을 입력한다. | |
| 1509 | + fis = new FileInputStream(vo.getFileStreCours() + "/" + vo.getStreFileNm()); | |
| 1510 | + bis = new BufferedInputStream(fis,size); | |
| 1511 | + | |
| 1512 | + //zip에 넣을 다음 entry 를 가져온다. | |
| 1513 | + zos.putArchiveEntry(new ZipArchiveEntry(vo.getOrignlFileNm())); | |
| 1514 | + | |
| 1515 | + //준비된 버퍼에서 집출력스트림으로 write 한다. | |
| 1516 | + int len; | |
| 1517 | + while((len = bis.read(buf,0,size)) != -1) zos.write(buf,0,len); | |
| 1518 | + | |
| 1519 | + bis.close(); | |
| 1520 | + fis.close(); | |
| 1521 | + zos.closeArchiveEntry(); | |
| 1522 | + } | |
| 1523 | + | |
| 1524 | + zos.close(); | |
| 1525 | + | |
| 1526 | + } catch (FileNotFoundException e) { | |
| 1527 | + e.printStackTrace(); | |
| 1528 | + }finally{ | |
| 1529 | + if( zos != null ) zos.close(); | |
| 1530 | + if( fis != null ) fis.close(); | |
| 1531 | + if( bis != null ) bis.close(); | |
| 1532 | + } | |
| 1533 | + | |
| 1534 | + File uFile = new File(fvoList.get(0).getFileStreCours(), orgnZipNm); | |
| 1535 | + long fSize = uFile.length(); | |
| 1536 | + | |
| 1537 | + if (fSize > 0) { | |
| 1538 | + String mimetype = "application/x-msdownload"; | |
| 1539 | + | |
| 1540 | + response.setContentType(mimetype); | |
| 1541 | + setDisposition(orgnZipNm, request, response); | |
| 1542 | + //response.setContentLength(fSize); | |
| 1543 | + | |
| 1544 | + BufferedInputStream in = null; | |
| 1545 | + BufferedOutputStream out = null; | |
| 1546 | + | |
| 1547 | + try { | |
| 1548 | + in = new BufferedInputStream(new FileInputStream(uFile)); | |
| 1549 | + out = new BufferedOutputStream(response.getOutputStream()); | |
| 1550 | + | |
| 1551 | + FileCopyUtils.copy(in, out); | |
| 1552 | + out.flush(); | |
| 1553 | + } catch (Exception ex) { | |
| 1554 | + LOGGER.debug("IGNORED: {}", ex.getMessage()); | |
| 1555 | + } finally { | |
| 1556 | + if (in != null) { | |
| 1557 | + try { | |
| 1558 | + in.close(); | |
| 1559 | + } catch (Exception ignore) { | |
| 1560 | + LOGGER.debug("IGNORED: {}", ignore.getMessage()); | |
| 1561 | + } | |
| 1562 | + } | |
| 1563 | + if (out != null) { | |
| 1564 | + try { | |
| 1565 | + out.close(); | |
| 1566 | + } catch (Exception ignore) { | |
| 1567 | + LOGGER.debug("IGNORED: {}", ignore.getMessage()); | |
| 1568 | + } | |
| 1569 | + } | |
| 1570 | + } | |
| 1571 | + //파일 다운로드 후 파일 삭제 | |
| 1572 | + File delFile = new File(outZipNm); | |
| 1573 | + delFile.delete(); | |
| 1574 | + } else { | |
| 1575 | + response.setContentType("application/x-msdownload"); | |
| 1576 | + PrintWriter printwriter = response.getWriter(); | |
| 1577 | + printwriter.println("<html>"); | |
| 1578 | + printwriter.println("<br><br><br><h2>Could not get file name:<br>" + orgnZipNm + "</h2>"); | |
| 1579 | + printwriter.println("<br><br><br><center><h3><a href='javascript: history.go(-1)'>Back</a></h3></center>"); | |
| 1580 | + printwriter.println("<br><br><br>© webAccess"); | |
| 1581 | + printwriter.println("</html>"); | |
| 1582 | + printwriter.flush(); | |
| 1583 | + printwriter.close(); | |
| 1584 | + } | |
| 1585 | + } | |
| 1586 | + | |
| 1587 | + /*감사 첨부파일 다운로드 */ | |
| 1588 | + @RequestMapping(value = "/uss/itsm/audit/SciTecAuditItemFileDown.do") | |
| 1589 | + public void fileDownSciTecAuditAjax(@RequestParam Map<?, ?> commandMap, | |
| 1590 | + AuditVO auditVO, | |
| 1591 | + AuditItemVO auditItemVO, | |
| 1592 | + @RequestParam("atchFileId") String[] atchFileId, | |
| 1593 | + HttpServletRequest request, HttpServletResponse response | |
| 1594 | + ) throws Exception { | |
| 1595 | + | |
| 1596 | + | |
| 1597 | + String fileSn = "0"; | |
| 1598 | + for(String id:atchFileId) { | |
| 1599 | + FileVO fileVO = new FileVO(); | |
| 1600 | + fileVO.setAtchFileId(id); | |
| 1601 | + fileVO.setFileSn(fileSn); | |
| 1602 | + FileVO fvo = fileService.selectItsmFileInf(fileVO); | |
| 1603 | + if(fvo == null){ | |
| 1604 | + response.setContentType("application/x-msdownload"); | |
| 1605 | + PrintWriter printwriter = response.getWriter(); | |
| 1606 | + printwriter.println("<html>"); | |
| 1607 | + printwriter.println("<br><br><br><h2>Could not get file name:<br></h2>"); | |
| 1608 | + printwriter.println("<br><br><br><center><h3><a href='javascript: history.go(-1)'>Back</a></h3></center>"); | |
| 1609 | + printwriter.println("<br><br><br>© webAccess"); | |
| 1610 | + printwriter.println("</html>"); | |
| 1611 | + printwriter.flush(); | |
| 1612 | + printwriter.close(); | |
| 1613 | + return ; | |
| 1614 | + }else { | |
| 1615 | + File uFile = new File(fvo.getFileStreCours(), fvo.getStreFileNm()); | |
| 1616 | + long fSize = uFile.length(); | |
| 1617 | + | |
| 1618 | + if (fSize > 0) { | |
| 1619 | + String mimetype = "application/x-msdownload"; | |
| 1620 | + | |
| 1621 | + response.setContentType(mimetype); | |
| 1622 | + setDisposition(fvo.getOrignlFileNm(), request, response); | |
| 1623 | + //response.setContentLength(fSize); | |
| 1624 | + | |
| 1625 | + BufferedInputStream in = null; | |
| 1626 | + BufferedOutputStream out = null; | |
| 1627 | + | |
| 1628 | + try { | |
| 1629 | + in = new BufferedInputStream(new FileInputStream(uFile)); | |
| 1630 | + out = new BufferedOutputStream(response.getOutputStream()); | |
| 1631 | + | |
| 1632 | + FileCopyUtils.copy(in, out); | |
| 1633 | + out.flush(); | |
| 1634 | + } catch (Exception ex) { | |
| 1635 | + LOGGER.debug("IGNORED: {}", ex.getMessage()); | |
| 1636 | + } finally { | |
| 1637 | + if (in != null) { | |
| 1638 | + try { | |
| 1639 | + in.close(); | |
| 1640 | + } catch (Exception ignore) { | |
| 1641 | + LOGGER.debug("IGNORED: {}", ignore.getMessage()); | |
| 1642 | + } | |
| 1643 | + } | |
| 1644 | + if (out != null) { | |
| 1645 | + try { | |
| 1646 | + out.close(); | |
| 1647 | + } catch (Exception ignore) { | |
| 1648 | + LOGGER.debug("IGNORED: {}", ignore.getMessage()); | |
| 1649 | + } | |
| 1650 | + } | |
| 1651 | + } | |
| 1652 | + | |
| 1653 | + } else { | |
| 1654 | + response.setContentType("application/x-msdownload"); | |
| 1655 | + PrintWriter printwriter = response.getWriter(); | |
| 1656 | + printwriter.println("<html>"); | |
| 1657 | + printwriter.println("<br><br><br><h2>Could not get file name:<br>" + fvo.getOrignlFileNm() + "</h2>"); | |
| 1658 | + printwriter.println("<br><br><br><center><h3><a href='javascript: history.go(-1)'>Back</a></h3></center>"); | |
| 1659 | + printwriter.println("<br><br><br>© webAccess"); | |
| 1660 | + printwriter.println("</html>"); | |
| 1661 | + printwriter.flush(); | |
| 1662 | + printwriter.close(); | |
| 1663 | + } | |
| 1664 | + } | |
| 1665 | + } | |
| 1666 | + } | |
| 1667 | + | |
| 1668 | + /*첨부파일 다운로드 */ | |
| 1669 | + @RequestMapping(value = "/uss/itsm/nis/NisEvalItemFileDown.do") | |
| 1670 | + public void fileDownNisEvalItemAjax(@RequestParam Map<?, ?> commandMap, | |
| 1671 | + AuditVO auditVO, | |
| 1672 | + AuditItemVO auditItemVO, | |
| 1673 | + @RequestParam("atchFileId") String[] atchFileId, | |
| 1674 | + HttpServletRequest request, HttpServletResponse response ) throws Exception { | |
| 1675 | + | |
| 1676 | + | |
| 1677 | + String fileSn = "0"; | |
| 1678 | + for(String id:atchFileId) { | |
| 1679 | + FileVO fileVO = new FileVO(); | |
| 1680 | + fileVO.setAtchFileId(id); | |
| 1681 | + fileVO.setFileSn(fileSn); | |
| 1682 | + FileVO fvo = fileService.selectNisEvalItemFileInfo(fileVO); | |
| 1683 | + if(fvo == null){ | |
| 1684 | + response.setContentType("application/x-msdownload"); | |
| 1685 | + PrintWriter printwriter = response.getWriter(); | |
| 1686 | + printwriter.println("<html>"); | |
| 1687 | + printwriter.println("<br><br><br><h2>Could not get file name:<br></h2>"); | |
| 1688 | + printwriter.println("<br><br><br><center><h3><a href='javascript: history.go(-1)'>Back</a></h3></center>"); | |
| 1689 | + printwriter.println("<br><br><br>© webAccess"); | |
| 1690 | + printwriter.println("</html>"); | |
| 1691 | + printwriter.flush(); | |
| 1692 | + printwriter.close(); | |
| 1693 | + return ; | |
| 1694 | + }else { | |
| 1695 | + File uFile = new File(fvo.getFileStreCours(), fvo.getStreFileNm()); | |
| 1696 | + long fSize = uFile.length(); | |
| 1697 | + | |
| 1698 | + if (fSize > 0) { | |
| 1699 | + String mimetype = "application/x-msdownload"; | |
| 1700 | + | |
| 1701 | + response.setContentType(mimetype); | |
| 1702 | + setDisposition(fvo.getOrignlFileNm(), request, response); | |
| 1703 | + //response.setContentLength(fSize); | |
| 1704 | + | |
| 1705 | + BufferedInputStream in = null; | |
| 1706 | + BufferedOutputStream out = null; | |
| 1707 | + | |
| 1708 | + try { | |
| 1709 | + in = new BufferedInputStream(new FileInputStream(uFile)); | |
| 1710 | + out = new BufferedOutputStream(response.getOutputStream()); | |
| 1711 | + | |
| 1712 | + FileCopyUtils.copy(in, out); | |
| 1713 | + out.flush(); | |
| 1714 | + } catch (Exception ex) { | |
| 1715 | + LOGGER.debug("IGNORED: {}", ex.getMessage()); | |
| 1716 | + } finally { | |
| 1717 | + if (in != null) { | |
| 1718 | + try { | |
| 1719 | + in.close(); | |
| 1720 | + } catch (Exception ignore) { | |
| 1721 | + LOGGER.debug("IGNORED: {}", ignore.getMessage()); | |
| 1722 | + } | |
| 1723 | + } | |
| 1724 | + if (out != null) { | |
| 1725 | + try { | |
| 1726 | + out.close(); | |
| 1727 | + } catch (Exception ignore) { | |
| 1728 | + LOGGER.debug("IGNORED: {}", ignore.getMessage()); | |
| 1729 | + } | |
| 1730 | + } | |
| 1731 | + } | |
| 1732 | + | |
| 1733 | + } else { | |
| 1734 | + response.setContentType("application/x-msdownload"); | |
| 1735 | + PrintWriter printwriter = response.getWriter(); | |
| 1736 | + printwriter.println("<html>"); | |
| 1737 | + printwriter.println("<br><br><br><h2>Could not get file name:<br>" + fvo.getOrignlFileNm() + "</h2>"); | |
| 1738 | + printwriter.println("<br><br><br><center><h3><a href='javascript: history.go(-1)'>Back</a></h3></center>"); | |
| 1739 | + printwriter.println("<br><br><br>© webAccess"); | |
| 1740 | + printwriter.println("</html>"); | |
| 1741 | + printwriter.flush(); | |
| 1742 | + printwriter.close(); | |
| 1743 | + } | |
| 1744 | + } | |
| 1745 | + } | |
| 1746 | + } | |
| 1747 | + | |
| 1748 | + | |
| 1749 | + /* 파일 다운로드 - 일괄 zip 압축(IP관리 등)*/ | |
| 1750 | + @RequestMapping(value = "/cmm/fms/fileDownZip.do") | |
| 1751 | + public void fileDownZip(@RequestParam Map<String, Object> commandMap, | |
| 1752 | + PeriFile periFileVO, IpVO ipVO , AssetVO assetVO , | |
| 1753 | + HttpServletRequest request, HttpServletResponse response) throws Exception { | |
| 1754 | + | |
| 1755 | + //파일ID를 리스트에 담기 | |
| 1756 | + List<String> atchFileIdList = new ArrayList<String>(); | |
| 1757 | + | |
| 1758 | + String menuNm = "IP관리"; | |
| 1759 | + String orgnZipNm = "IP관리.zip"; | |
| 1760 | + List<FileVO> fvoList = new ArrayList<>(); | |
| 1761 | + if(null != commandMap.get("dbType")){ | |
| 1762 | + if("ipFile".equals((String) commandMap.get("dbType"))) { //IP관리 페이지 | |
| 1763 | + for(String IpId : ipVO.getIpIds()) { | |
| 1764 | + atchFileIdList.add(IpId); | |
| 1765 | + } | |
| 1766 | + FileVO fileVO = new FileVO(); | |
| 1767 | + fileVO.setAtchFileIdList(atchFileIdList); | |
| 1768 | + fvoList = fileService.selectIpFileList(fileVO); | |
| 1769 | + menuNm = "IP관리" ; | |
| 1770 | + orgnZipNm = "IP관리.zip"; | |
| 1771 | + }else if("assetFile".equals((String) commandMap.get("dbType"))) { //IP관리 페이지 | |
| 1772 | + for(String astId : assetVO.getAstIds()) { | |
| 1773 | + atchFileIdList.add(astId); | |
| 1774 | + } | |
| 1775 | + FileVO fileVO = new FileVO(); | |
| 1776 | + fileVO.setAtchFileIdList(atchFileIdList); | |
| 1777 | + fvoList = fileService.selectAssertFileList(fileVO); | |
| 1778 | + menuNm = "자산관리" ; | |
| 1779 | + orgnZipNm = "자산관리.zip"; | |
| 1780 | + } | |
| 1781 | + | |
| 1782 | + }else { | |
| 1783 | + //fvoList = fileService.selectItsmperFileInf(fileVO); | |
| 1784 | + } | |
| 1785 | + | |
| 1786 | + if(fvoList.size() == 0){ | |
| 1787 | + response.setContentType("application/x-msdownload"); | |
| 1788 | + PrintWriter printwriter = response.getWriter(); | |
| 1789 | + printwriter.println("<html>"); | |
| 1790 | + printwriter.println("<br><br><br><h2>Could not get file name:<br></h2>"); | |
| 1791 | + printwriter.println("<br><br><br><center><h3><a href='javascript: history.go(-1)'>Back</a></h3></center>"); | |
| 1792 | + printwriter.println("<br><br><br>© webAccess"); | |
| 1793 | + printwriter.println("</html>"); | |
| 1794 | + printwriter.flush(); | |
| 1795 | + printwriter.close(); | |
| 1796 | + return ; | |
| 1797 | + } | |
| 1798 | + | |
| 1799 | + | |
| 1800 | + // buffer size | |
| 1801 | + int size = 1024; | |
| 1802 | + byte[] buf = new byte[size]; | |
| 1803 | + | |
| 1804 | + String outZipNm = fvoList.get(0).getFileStreCours()+File.separator + orgnZipNm; | |
| 1805 | + FileInputStream fis = null; | |
| 1806 | + ZipArchiveOutputStream zos = null; | |
| 1807 | + BufferedInputStream bis = null; | |
| 1808 | + | |
| 1809 | + try { | |
| 1810 | + // Zip 파일생성 | |
| 1811 | + zos = new ZipArchiveOutputStream(new BufferedOutputStream(new FileOutputStream(outZipNm))); | |
| 1812 | + | |
| 1813 | + for ( FileVO vo : fvoList ){ | |
| 1814 | + zos.setEncoding("UTF-8"); | |
| 1815 | + | |
| 1816 | + //buffer에 해당파일의 stream을 입력한다. | |
| 1817 | + fis = new FileInputStream(vo.getFileStreCours() + "/" + vo.getStreFileNm()); | |
| 1818 | + bis = new BufferedInputStream(fis,size); | |
| 1819 | + | |
| 1820 | + //zip에 넣을 다음 entry 를 가져온다. | |
| 1821 | + zos.putArchiveEntry(new ZipArchiveEntry(vo.getOrignlFileNm())); | |
| 1822 | + | |
| 1823 | + //준비된 버퍼에서 집출력스트림으로 write 한다. | |
| 1824 | + int len; | |
| 1825 | + while((len = bis.read(buf,0,size)) != -1) zos.write(buf,0,len); | |
| 1826 | + | |
| 1827 | + bis.close(); | |
| 1828 | + fis.close(); | |
| 1829 | + zos.closeArchiveEntry(); | |
| 1830 | + } | |
| 1831 | + zos.close(); | |
| 1832 | + } catch (FileNotFoundException e) { | |
| 1833 | + e.printStackTrace(); | |
| 1834 | + }finally{ | |
| 1835 | + if( zos != null ) zos.close(); | |
| 1836 | + if( fis != null ) fis.close(); | |
| 1837 | + if( bis != null ) bis.close(); | |
| 1838 | + } | |
| 1839 | + | |
| 1840 | + File uFile = new File(fvoList.get(0).getFileStreCours(), orgnZipNm); | |
| 1841 | + long fSize = uFile.length(); | |
| 1842 | + | |
| 1843 | + if (fSize > 0) { | |
| 1844 | + String mimetype = "application/x-msdownload"; | |
| 1845 | + response.setContentType(mimetype); | |
| 1846 | + setDisposition(orgnZipNm, request, response); | |
| 1847 | + //response.setContentLength(fSize); | |
| 1848 | + BufferedInputStream in = null; | |
| 1849 | + BufferedOutputStream out = null; | |
| 1850 | + | |
| 1851 | + try { | |
| 1852 | + in = new BufferedInputStream(new FileInputStream(uFile)); | |
| 1853 | + out = new BufferedOutputStream(response.getOutputStream()); | |
| 1854 | + | |
| 1855 | + FileCopyUtils.copy(in, out); | |
| 1856 | + out.flush(); | |
| 1857 | + } catch (Exception ex) { | |
| 1858 | + LOGGER.debug("IGNORED: {}", ex.getMessage()); | |
| 1859 | + } finally { | |
| 1860 | + if (in != null) { | |
| 1861 | + try { | |
| 1862 | + in.close(); | |
| 1863 | + } catch (Exception ignore) { | |
| 1864 | + LOGGER.debug("IGNORED: {}", ignore.getMessage()); | |
| 1865 | + } | |
| 1866 | + } | |
| 1867 | + if (out != null) { | |
| 1868 | + try { | |
| 1869 | + out.close(); | |
| 1870 | + } catch (Exception ignore) { | |
| 1871 | + LOGGER.debug("IGNORED: {}", ignore.getMessage()); | |
| 1872 | + } | |
| 1873 | + } | |
| 1874 | + } | |
| 1875 | + | |
| 1876 | + //파일 다운로드 후 파일 삭제 | |
| 1877 | + File delFile = new File(outZipNm); | |
| 1878 | + delFile.delete(); | |
| 1879 | + } else { | |
| 1880 | + response.setContentType("application/x-msdownload"); | |
| 1881 | + PrintWriter printwriter = response.getWriter(); | |
| 1882 | + printwriter.println("<html>"); | |
| 1883 | + printwriter.println("<br><br><br><h2>Could not get file name:<br>" + orgnZipNm + "</h2>"); | |
| 1884 | + printwriter.println("<br><br><br><center><h3><a href='javascript: history.go(-1)'>Back</a></h3></center>"); | |
| 1885 | + printwriter.println("<br><br><br>© webAccess"); | |
| 1886 | + printwriter.println("</html>"); | |
| 1887 | + printwriter.flush(); | |
| 1888 | + printwriter.close(); | |
| 1889 | + } | |
| 1890 | + } | |
| 1891 | + | |
| 1892 | + | |
| 1893 | + /* 파일 다운로드 체크(IP관리 등)*/ | |
| 1894 | + @RequestMapping(value = "/uss/itsm/ip/FileDownZipCheckAjax.do") | |
| 1895 | + public ModelAndView fileDownZipCheckAjax(@RequestParam Map<String, Object> commandMap, | |
| 1896 | + PeriFile periFileVO, IpVO ipVO , AssetVO assetVO | |
| 1897 | + ) throws Exception { | |
| 1898 | + ModelAndView modelAndView = new ModelAndView(); | |
| 1899 | + modelAndView.setViewName("jsonView"); | |
| 1900 | + | |
| 1901 | + //파일ID를 리스트에 담기 | |
| 1902 | + List<String> atchFileIdList = new ArrayList<String>(); | |
| 1903 | + List<FileVO> fvoList = new ArrayList<>(); | |
| 1904 | + if(null != commandMap.get("dbType")){ | |
| 1905 | + if("ipFile".equals((String) commandMap.get("dbType"))) { //IP관리 페이지 | |
| 1906 | + for(String IpId : ipVO.getIpIds()){ | |
| 1907 | + atchFileIdList.add(IpId); | |
| 1908 | + } | |
| 1909 | + FileVO fileVO = new FileVO(); | |
| 1910 | + fileVO.setAtchFileIdList(atchFileIdList); | |
| 1911 | + fvoList = fileService.selectIpFileList(fileVO); | |
| 1912 | + }else if("assetFile".equals((String) commandMap.get("dbType"))) { //자산관리 페이지 | |
| 1913 | + for(String astId : assetVO.getAstIds()){ | |
| 1914 | + atchFileIdList.add(astId); | |
| 1915 | + } | |
| 1916 | + FileVO fileVO = new FileVO(); | |
| 1917 | + fileVO.setAtchFileIdList(atchFileIdList); | |
| 1918 | + fvoList = fileService.selectAssertFileList(fileVO); | |
| 1919 | + } | |
| 1920 | + }else { | |
| 1921 | + modelAndView.addObject("result", "fail"); | |
| 1922 | + } | |
| 1923 | + | |
| 1924 | + if(fvoList.size() != 0){ | |
| 1925 | + modelAndView.addObject("result", "success"); | |
| 1926 | + }else { | |
| 1927 | + modelAndView.addObject("result", "fail"); | |
| 1928 | + } | |
| 1929 | + return modelAndView; | |
| 1930 | + } | |
| 1931 | + | |
| 1932 | + /* 파일 이동(개인정보실태평가,국정원실태평가,외부감사)*/ | |
| 1933 | + @RequestMapping(value = "/cmm/fms/EvalFileMoveAjax.do") | |
| 1934 | + public ModelAndView evalFileMoveAjax(@RequestParam Map<String, Object> commandMap | |
| 1935 | + , @ModelAttribute("auditVO") AuditVO auditVO, | |
| 1936 | + @ModelAttribute("auditItemVO") AuditItemVO auditItemVO | |
| 1937 | + , EduVO eduVO, | |
| 1938 | + HttpServletRequest request, HttpServletResponse response) throws Exception { | |
| 1939 | + | |
| 1940 | + ModelAndView modelAndView = new ModelAndView(); | |
| 1941 | + modelAndView.setViewName("jsonView"); | |
| 1942 | + | |
| 1943 | + //파일ID를 리스트에 담기 | |
| 1944 | + List<String> atchFileIdList = new ArrayList<String>(); | |
| 1945 | + //split을 이용해 아이디를 각자 배열에 담기 | |
| 1946 | + String[] splitStr =auditItemVO.getAtchFileIdDown().split(","); | |
| 1947 | + //리스트에 아이디 담기 | |
| 1948 | + for(int i=0; i<splitStr.length; i++) { | |
| 1949 | + atchFileIdList.add(splitStr[i]); | |
| 1950 | + } | |
| 1951 | + | |
| 1952 | + //zip파일 이름 (메뉴명+글 제목명 +날짜) | |
| 1953 | + String menuNm = ""; | |
| 1954 | + if(auditVO.getAutCd().equals("21") || auditVO.getAutCd().equals("03") || auditVO.getAutCd().equals("01")) { | |
| 1955 | + menuNm = "개인정보"; //21 | |
| 1956 | + menuNm = "국정원실태평가"; //03 | |
| 1957 | + menuNm = "외부감사"; //01 | |
| 1958 | + AuditItemVO updateAuditItemVO = new AuditItemVO(); | |
| 1959 | + for(String atchFileId : atchFileIdList) { | |
| 1960 | + updateAuditItemVO.setAtchFileId(atchFileId); | |
| 1961 | + updateAuditItemVO.setAutAttfile1dep((String)commandMap.get("upload_list")); | |
| 1962 | + updateAuditItemVO.setAutAttfile2dep((String)commandMap.get("upload_list_detail")); | |
| 1963 | + auditManageService.moveAutitem(updateAuditItemVO); | |
| 1964 | + } | |
| 1965 | + modelAndView.addObject("result", "success"); | |
| 1966 | + }else if(eduVO.getAutCd().equals("02")) { | |
| 1967 | + | |
| 1968 | + | |
| 1969 | + if(eduVO.getAutConFlag().equals("01")) { | |
| 1970 | + menuNm = "교육계획"; | |
| 1971 | + AuditItemVO updateAuditItemVO = new AuditItemVO(); | |
| 1972 | + for(String atchFileId : atchFileIdList) { | |
| 1973 | + updateAuditItemVO.setAtchFileId(atchFileId); | |
| 1974 | + updateAuditItemVO.setAutAttfile1dep((String)commandMap.get("upload_list")); | |
| 1975 | + updateAuditItemVO.setAutAttfile2dep((String)commandMap.get("upload_list_detail")); | |
| 1976 | + auditManageService.moveAutitem(updateAuditItemVO); | |
| 1977 | + } | |
| 1978 | + modelAndView.addObject("result", "success"); | |
| 1979 | + }else if(eduVO.getAutConFlag().equals("02")) { | |
| 1980 | + menuNm = "회의계획"; | |
| 1981 | + AuditItemVO updateAuditItemVO = new AuditItemVO(); | |
| 1982 | + for(String atchFileId : atchFileIdList) { | |
| 1983 | + updateAuditItemVO.setAtchFileId(atchFileId); | |
| 1984 | + updateAuditItemVO.setAutAttfile1dep((String)commandMap.get("upload_list2")); | |
| 1985 | + updateAuditItemVO.setAutAttfile2dep((String)commandMap.get("upload_list_detail")); | |
| 1986 | + auditManageService.moveAutitem(updateAuditItemVO); | |
| 1987 | + } | |
| 1988 | + modelAndView.addObject("result", "success"); | |
| 1989 | + }else if(eduVO.getAutConFlag().equals("03")) { | |
| 1990 | + menuNm = "연간교육계획"; | |
| 1991 | + } | |
| 1992 | + } | |
| 1993 | + return modelAndView; | |
| 1994 | + } | |
| 1995 | + | |
| 1996 | + /*감사/담당자 명함 다운로드*/ | |
| 1997 | + @RequestMapping(value = "/cmm/fms/itsmCompanyFileDown.do") | |
| 1998 | + public void itsmCompanyFileDown(@RequestParam Map<String, Object> commandMap, HttpServletRequest request, HttpServletResponse response) throws Exception { | |
| 1999 | + | |
| 2000 | + String atchFileId = (String) commandMap.get("atchFileId"); | |
| 2001 | + String fileSn = (String) commandMap.get("fileSn"); | |
| 2002 | + | |
| 2003 | + FileVO fileVO = new FileVO(); | |
| 2004 | + fileVO.setAtchFileId(atchFileId); | |
| 2005 | + fileVO.setFileSn(fileSn); | |
| 2006 | + FileVO fvo = fileService.selectItsmFileInf(fileVO); | |
| 2007 | + if(fvo == null){ | |
| 2008 | + response.setContentType("application/x-msdownload"); | |
| 2009 | + PrintWriter printwriter = response.getWriter(); | |
| 2010 | + printwriter.println("<html>"); | |
| 2011 | + printwriter.println("<br><br><br><h2>Could not get file name:<br></h2>"); | |
| 2012 | + printwriter.println("<br><br><br><center><h3><a href='javascript: history.go(-1)'>Back</a></h3></center>"); | |
| 2013 | + printwriter.println("<br><br><br>© webAccess"); | |
| 2014 | + printwriter.println("</html>"); | |
| 2015 | + printwriter.flush(); | |
| 2016 | + printwriter.close(); | |
| 2017 | + return ; | |
| 2018 | + } | |
| 2019 | + | |
| 2020 | + File uFile = new File(fvo.getFileStreCours(), fvo.getStreFileNm()); | |
| 2021 | + long fSize = uFile.length(); | |
| 2022 | + | |
| 2023 | + if (fSize > 0) { | |
| 2024 | + String mimetype = "application/x-msdownload"; | |
| 2025 | + | |
| 2026 | + response.setContentType(mimetype); | |
| 2027 | + setDisposition(fvo.getOrignlFileNm(), request, response); | |
| 2028 | + //response.setContentLength(fSize); | |
| 2029 | + | |
| 2030 | + BufferedInputStream in = null; | |
| 2031 | + BufferedOutputStream out = null; | |
| 2032 | + | |
| 2033 | + try { | |
| 2034 | + in = new BufferedInputStream(new FileInputStream(uFile)); | |
| 2035 | + out = new BufferedOutputStream(response.getOutputStream()); | |
| 2036 | + | |
| 2037 | + FileCopyUtils.copy(in, out); | |
| 2038 | + out.flush(); | |
| 2039 | + } catch (Exception ex) { | |
| 2040 | + LOGGER.debug("IGNORED: {}", ex.getMessage()); | |
| 2041 | + } finally { | |
| 2042 | + if (in != null) { | |
| 2043 | + try { | |
| 2044 | + in.close(); | |
| 2045 | + } catch (Exception ignore) { | |
| 2046 | + LOGGER.debug("IGNORED: {}", ignore.getMessage()); | |
| 2047 | + } | |
| 2048 | + } | |
| 2049 | + if (out != null) { | |
| 2050 | + try { | |
| 2051 | + out.close(); | |
| 2052 | + } catch (Exception ignore) { | |
| 2053 | + LOGGER.debug("IGNORED: {}", ignore.getMessage()); | |
| 2054 | + } | |
| 2055 | + } | |
| 2056 | + } | |
| 2057 | + | |
| 2058 | + } else { | |
| 2059 | + response.setContentType("application/x-msdownload"); | |
| 2060 | + PrintWriter printwriter = response.getWriter(); | |
| 2061 | + printwriter.println("<html>"); | |
| 2062 | + printwriter.println("<br><br><br><h2>Could not get file name:<br>" + fvo.getOrignlFileNm() + "</h2>"); | |
| 2063 | + printwriter.println("<br><br><br><center><h3><a href='javascript: history.go(-1)'>Back</a></h3></center>"); | |
| 2064 | + printwriter.println("<br><br><br>© webAccess"); | |
| 2065 | + printwriter.println("</html>"); | |
| 2066 | + printwriter.flush(); | |
| 2067 | + printwriter.close(); | |
| 2068 | + } | |
| 2069 | + } | |
| 2070 | +} |
+++ src/main/java/egovframework/com/cmm/web/EgovFileMngController.java
... | ... | @@ -0,0 +1,309 @@ |
| 1 | +package egovframework.com.cmm.web; | |
| 2 | + | |
| 3 | +import java.io.File; | |
| 4 | +import java.util.List; | |
| 5 | +import java.util.Map; | |
| 6 | + | |
| 7 | +import javax.annotation.Resource; | |
| 8 | +import javax.servlet.http.HttpServletRequest; | |
| 9 | +import javax.servlet.http.HttpSession; | |
| 10 | + | |
| 11 | +import org.springframework.stereotype.Controller; | |
| 12 | +import org.springframework.ui.ModelMap; | |
| 13 | +import org.springframework.web.bind.annotation.ModelAttribute; | |
| 14 | +import org.springframework.web.bind.annotation.RequestMapping; | |
| 15 | +import org.springframework.web.bind.annotation.RequestParam; | |
| 16 | + | |
| 17 | +import egovframework.com.cmm.service.EgovFileMngService; | |
| 18 | +import egovframework.com.cmm.service.FileVO; | |
| 19 | +import egovframework.rte.fdl.security.userdetails.util.EgovUserDetailsHelper; | |
| 20 | + | |
| 21 | +/** | |
| 22 | + * 파일 조회, 삭제, 다운로드 처리를 위한 컨트롤러 클래스 | |
| 23 | + * @author 공통서비스개발팀 이삼섭 | |
| 24 | + * @since 2009.06.01 | |
| 25 | + * @version 1.0 | |
| 26 | + * @see | |
| 27 | + * | |
| 28 | + * <pre> | |
| 29 | + * << 개정이력(Modification Information) >> | |
| 30 | + * | |
| 31 | + * 수정일 수정자 수정내용 | |
| 32 | + * ------- -------- --------------------------- | |
| 33 | + * 2009.03.25 이삼섭 최초 생성 | |
| 34 | + * 2011.08.31 JJY 경량환경 템플릿 커스터마이징버전 생성 | |
| 35 | + * | |
| 36 | + * </pre> | |
| 37 | + */ | |
| 38 | +@Controller | |
| 39 | +public class EgovFileMngController { | |
| 40 | + | |
| 41 | + @Resource(name = "EgovFileMngService") | |
| 42 | + private EgovFileMngService fileService; | |
| 43 | + | |
| 44 | + /** | |
| 45 | + * 첨부파일에 대한 목록을 조회한다. | |
| 46 | + * | |
| 47 | + * @param fileVO | |
| 48 | + * @param atchFileId | |
| 49 | + * @param sessionVO | |
| 50 | + * @param model | |
| 51 | + * @return | |
| 52 | + * @throws Exception | |
| 53 | + */ | |
| 54 | + @RequestMapping("/cmm/fms/selectFileInfs.do") | |
| 55 | + public String selectFileInfs(@ModelAttribute("searchVO") FileVO fileVO, @RequestParam Map<String, Object> commandMap, ModelMap model) throws Exception { | |
| 56 | + String atchFileId = (String) commandMap.get("param_atchFileId"); | |
| 57 | + | |
| 58 | + fileVO.setAtchFileId(atchFileId); | |
| 59 | + List<FileVO> result = fileService.selectFileInfs(fileVO); | |
| 60 | + | |
| 61 | + model.addAttribute("fileList", result); | |
| 62 | + model.addAttribute("updateFlag", "N"); | |
| 63 | + model.addAttribute("fileListCnt", result.size()); | |
| 64 | + model.addAttribute("atchFileId", atchFileId); | |
| 65 | + | |
| 66 | + return "cmm/fms/EgovFileList"; | |
| 67 | + } | |
| 68 | + | |
| 69 | + /** | |
| 70 | + * 첨부파일 변경을 위한 수정페이지로 이동한다. | |
| 71 | + * | |
| 72 | + * @param fileVO | |
| 73 | + * @param atchFileId | |
| 74 | + * @param sessionVO | |
| 75 | + * @param model | |
| 76 | + * @return | |
| 77 | + * @throws Exception | |
| 78 | + */ | |
| 79 | + @RequestMapping("/cmm/fms/selectFileInfsForUpdate.do") | |
| 80 | + public String selectFileInfsForUpdate(@ModelAttribute("searchVO") FileVO fileVO, @RequestParam Map<String, Object> commandMap, ModelMap model) throws Exception { | |
| 81 | + | |
| 82 | + String atchFileId = (String) commandMap.get("param_atchFileId"); | |
| 83 | + | |
| 84 | + fileVO.setAtchFileId(atchFileId); | |
| 85 | + | |
| 86 | + List<FileVO> result = fileService.selectFileInfs(fileVO); | |
| 87 | + | |
| 88 | + model.addAttribute("fileList", result); | |
| 89 | + model.addAttribute("updateFlag", "Y"); | |
| 90 | + model.addAttribute("fileListCnt", result.size()); | |
| 91 | + model.addAttribute("atchFileId", atchFileId); | |
| 92 | + if(commandMap.get("img_view") !=null){ | |
| 93 | + model.addAttribute("img_view", (String)commandMap.get("img_view")); | |
| 94 | + } | |
| 95 | + if(commandMap.get("img_view_w") !=null){ | |
| 96 | + model.addAttribute("img_view_w", (String)commandMap.get("img_view_w")); | |
| 97 | + } | |
| 98 | + if(commandMap.get("img_view_h") !=null){ | |
| 99 | + model.addAttribute("img_view_h", (String)commandMap.get("img_view_h")); | |
| 100 | + } | |
| 101 | + | |
| 102 | + if(commandMap.get("img_size_text") !=null){ | |
| 103 | + model.addAttribute("img_size_text", (String)commandMap.get("img_size_text")); | |
| 104 | + } | |
| 105 | + | |
| 106 | + | |
| 107 | + model.addAttribute("commandMap", commandMap); | |
| 108 | + return "cmm/fms/EgovFileList"; | |
| 109 | + } | |
| 110 | + | |
| 111 | + /** | |
| 112 | + * 첨부파일에 대한 삭제를 처리한다. | |
| 113 | + * | |
| 114 | + * @param fileVO | |
| 115 | + * @param returnUrl | |
| 116 | + * @param sessionVO | |
| 117 | + * @param model | |
| 118 | + * @return | |
| 119 | + * @throws Exception | |
| 120 | + */ | |
| 121 | + @RequestMapping("/cmm/fms/deleteFileInfs1.do") | |
| 122 | + public String deleteFileInf1(@ModelAttribute("searchVO") FileVO fileVO, @RequestParam("returnUrl") String returnUrl, HttpServletRequest request, ModelMap model) | |
| 123 | + throws Exception { | |
| 124 | + | |
| 125 | + Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated(); | |
| 126 | + | |
| 127 | + if (isAuthenticated) { | |
| 128 | + fileService.deleteFileInf(fileVO); | |
| 129 | + } | |
| 130 | + | |
| 131 | + return "blank"; | |
| 132 | + | |
| 133 | + //-------------------------------------------- | |
| 134 | + // contextRoot가 있는 경우 제외 시켜야 함 | |
| 135 | + //-------------------------------------------- | |
| 136 | + ////return "forward:/cmm/fms/selectFileInfs.do"; | |
| 137 | + //return "forward:" + returnUrl; | |
| 138 | + | |
| 139 | + /*if ("".equals(request.getContextPath()) || "/".equals(request.getContextPath())) { | |
| 140 | + return "forward:" + returnUrl; | |
| 141 | + } | |
| 142 | + | |
| 143 | + if (returnUrl.startsWith(request.getContextPath())) { | |
| 144 | + return "forward:" + returnUrl.substring(returnUrl.indexOf("/", 1)); | |
| 145 | + } else { | |
| 146 | + return "forward:" + returnUrl; | |
| 147 | + }*/ | |
| 148 | + ////------------------------------------------ | |
| 149 | + } | |
| 150 | + | |
| 151 | + @RequestMapping("/cmm/fms/deleteFileInfs.do") | |
| 152 | + public String deleteFileInf(@ModelAttribute("searchVO") FileVO fileVO , HttpServletRequest request, ModelMap model ) | |
| 153 | + throws Exception { | |
| 154 | + | |
| 155 | + Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated(); | |
| 156 | + | |
| 157 | + // 휴대폰 인증 유무 확인 필요 | |
| 158 | + boolean authYn = true; | |
| 159 | + boolean delete = false; | |
| 160 | + if (isAuthenticated || authYn) { | |
| 161 | + FileVO delFileVO =fileService.selectItsmFileInf(fileVO) ; //실제파일삭제 | |
| 162 | + if(delFileVO !=null){ | |
| 163 | + String fileStreCours = delFileVO.getFileStreCours(); | |
| 164 | + String streFileNm = delFileVO.getStreFileNm(); | |
| 165 | + File delFile = new File(fileStreCours+streFileNm); | |
| 166 | + delete = delFile.delete(); | |
| 167 | + } | |
| 168 | + fileService.deleteFileInf(fileVO); | |
| 169 | + } | |
| 170 | + return "blank"; | |
| 171 | + } | |
| 172 | + | |
| 173 | + /** | |
| 174 | + * 게시판 첨부파일에 대한 목록을 조회한다. | |
| 175 | + * | |
| 176 | + * @param fileVO | |
| 177 | + * @param commandMap | |
| 178 | + * @param model | |
| 179 | + * @return | |
| 180 | + * @throws Exception | |
| 181 | + */ | |
| 182 | + @RequestMapping("/cmm/fms/selectBBSFileInfs.do") | |
| 183 | + public String selectBBSFileInfs(@ModelAttribute("searchVO") FileVO fileVO | |
| 184 | + , @RequestParam Map<String, Object> commandMap | |
| 185 | + , ModelMap model | |
| 186 | + , HttpSession session | |
| 187 | + ) throws Exception { | |
| 188 | + String atchFileId = (String) commandMap.get("param_atchFileId"); | |
| 189 | + String pdfView = (String) commandMap.get("pdf_view"); //'Y' 이면 pdf 직접 보여주기 | |
| 190 | + // 세션에 파일ID 넣기 | |
| 191 | + session.setAttribute("atchFileId", atchFileId); | |
| 192 | + | |
| 193 | + fileVO.setAtchFileId(atchFileId); | |
| 194 | + List<FileVO> result = fileService.selectFileInfs(fileVO); | |
| 195 | + model.addAttribute("fileList", result); | |
| 196 | + model.addAttribute("updateFlag", "N"); | |
| 197 | + model.addAttribute("fileListCnt", result.size()); | |
| 198 | + model.addAttribute("atchFileId", atchFileId); | |
| 199 | + if("Y".equals(pdfView)){ | |
| 200 | + model.addAttribute("pdfView", pdfView); | |
| 201 | + } | |
| 202 | + | |
| 203 | + return "cmm/fms/EgovBBSFileList"; | |
| 204 | + } | |
| 205 | + | |
| 206 | + /** | |
| 207 | + * 게시판 첨부파일 변경을 위한 수정페이지로 이동한다. | |
| 208 | + * | |
| 209 | + * @param fileVO | |
| 210 | + * @param commandMap | |
| 211 | + * @param model | |
| 212 | + * @return | |
| 213 | + * @throws Exception | |
| 214 | + */ | |
| 215 | + @RequestMapping("/cmm/fms/selectBBSFileInfsForUpdate.do") | |
| 216 | + public String selectBBSFileInfsForUpdate(@ModelAttribute("searchVO") FileVO fileVO, @RequestParam Map<String, Object> commandMap, ModelMap model) throws Exception { | |
| 217 | + | |
| 218 | + String atchFileId = (String) commandMap.get("param_atchFileId"); | |
| 219 | + String isMultiAtchFile = (String) commandMap.get("isMultiAtchFile"); | |
| 220 | + boolean isImgView = (boolean) (commandMap.get("isImgView") != null ? | |
| 221 | + Boolean.parseBoolean((String)commandMap.get("isImgView")) : false); | |
| 222 | + String viewCnd = (String) commandMap.get("viewCnd"); | |
| 223 | + | |
| 224 | + fileVO.setAtchFileId(atchFileId); | |
| 225 | + | |
| 226 | + List<FileVO> result = fileService.selectFileInfs(fileVO); | |
| 227 | + | |
| 228 | + model.addAttribute("fileList", result); | |
| 229 | + model.addAttribute("updateFlag", "Y"); | |
| 230 | + model.addAttribute("isImgView", isImgView); | |
| 231 | + model.addAttribute("fileListCnt", result.size()); | |
| 232 | + model.addAttribute("atchFileId", atchFileId); | |
| 233 | + model.addAttribute("isMultiAtchFile", isMultiAtchFile); | |
| 234 | + model.addAttribute("viewCnd", viewCnd); | |
| 235 | + | |
| 236 | + return "cmm/fms/EgovBBSFileList"; | |
| 237 | + } | |
| 238 | + | |
| 239 | + /** | |
| 240 | + * 게시판 첨부파일에 대한 삭제를 처리한다. | |
| 241 | + * | |
| 242 | + * @param fileVO | |
| 243 | + * @param returnUrl | |
| 244 | + * @param request | |
| 245 | + * @param model | |
| 246 | + * @return | |
| 247 | + * @throws Exception | |
| 248 | + */ | |
| 249 | + @RequestMapping("/cmm/fms/deleteBBSFileInfs.do") | |
| 250 | + public String deleteBBSFileInfs(@ModelAttribute("searchVO") FileVO fileVO, @RequestParam("returnUrl") String returnUrl, HttpServletRequest request, ModelMap model) | |
| 251 | + throws Exception { | |
| 252 | + | |
| 253 | + Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated(); | |
| 254 | + | |
| 255 | + if (isAuthenticated) { | |
| 256 | + fileService.deleteFileInf(fileVO); | |
| 257 | + } | |
| 258 | + | |
| 259 | + return "blank"; | |
| 260 | + } | |
| 261 | + | |
| 262 | + /** | |
| 263 | + * 이미지 첨부파일에 대한 목록을 조회한다. | |
| 264 | + * | |
| 265 | + * @param fileVO | |
| 266 | + * @param atchFileId | |
| 267 | + * @param sessionVO | |
| 268 | + * @param model | |
| 269 | + * @return | |
| 270 | + * @throws Exception | |
| 271 | + */ | |
| 272 | + @RequestMapping("/cmm/fms/selectImageFileInfs.do") | |
| 273 | + public String selectImageFileInfs(@ModelAttribute("searchVO") FileVO fileVO, @RequestParam Map<String, Object> commandMap, ModelMap model) throws Exception { | |
| 274 | + | |
| 275 | + String atchFileId = (String) commandMap.get("atchFileId"); | |
| 276 | + | |
| 277 | + fileVO.setAtchFileId(atchFileId); | |
| 278 | + List<FileVO> result = fileService.selectImageFileList(fileVO); | |
| 279 | + | |
| 280 | + model.addAttribute("fileList", result); | |
| 281 | + | |
| 282 | + return "cmm/fms/EgovImgFileList"; | |
| 283 | + } | |
| 284 | + | |
| 285 | + /** | |
| 286 | + * (사용자)이미지 첨부파일에 대한 목록을 조회한다. | |
| 287 | + * | |
| 288 | + * @param fileVO | |
| 289 | + * @param atchFileId | |
| 290 | + * @param sessionVO | |
| 291 | + * @param model | |
| 292 | + * @return | |
| 293 | + * @throws Exception | |
| 294 | + */ | |
| 295 | + @RequestMapping("/cmm/fms/selectImageFileInfsWeb.do") | |
| 296 | + public String selectImageFileInfsWeb(@ModelAttribute("searchVO") FileVO fileVO, @RequestParam Map<String, Object> commandMap, ModelMap model) throws Exception { | |
| 297 | + | |
| 298 | + String atchFileId = (String) commandMap.get("atchFileId"); | |
| 299 | + | |
| 300 | + fileVO.setAtchFileId(atchFileId); | |
| 301 | + List<FileVO> result = fileService.selectImageFileList(fileVO); | |
| 302 | + | |
| 303 | + model.addAttribute("fileList", result); | |
| 304 | + | |
| 305 | + return "cmm/fms/EgovImgFileListWeb"; | |
| 306 | + } | |
| 307 | + | |
| 308 | + | |
| 309 | +} |
+++ src/main/java/egovframework/com/cmm/web/EgovImageProcessController.java
... | ... | @@ -0,0 +1,347 @@ |
| 1 | +package egovframework.com.cmm.web; | |
| 2 | + | |
| 3 | +import java.io.BufferedInputStream; | |
| 4 | +import java.io.ByteArrayOutputStream; | |
| 5 | +import java.io.File; | |
| 6 | +import java.io.FileInputStream; | |
| 7 | +import java.util.Map; | |
| 8 | + | |
| 9 | +import javax.annotation.Resource; | |
| 10 | +import javax.servlet.http.HttpServlet; | |
| 11 | +import javax.servlet.http.HttpServletResponse; | |
| 12 | + | |
| 13 | +import org.slf4j.Logger; | |
| 14 | +import org.slf4j.LoggerFactory; | |
| 15 | +import org.springframework.stereotype.Controller; | |
| 16 | +import org.springframework.ui.ModelMap; | |
| 17 | +import org.springframework.web.bind.annotation.RequestMapping; | |
| 18 | +import org.springframework.web.bind.annotation.RequestParam; | |
| 19 | + | |
| 20 | +import egovframework.com.cmm.SessionVO; | |
| 21 | +import egovframework.com.cmm.service.EgovFileMngService; | |
| 22 | +import egovframework.com.cmm.service.FileVO; | |
| 23 | + | |
| 24 | +/** | |
| 25 | + * @Class Name : EgovImageProcessController.java | |
| 26 | + * @Description : | |
| 27 | + * @Modification Information | |
| 28 | + * | |
| 29 | + * 수정일 수정자 수정내용 | |
| 30 | + * ------- ------- ------------------- | |
| 31 | + * 2009. 4. 2. 이삼섭 | |
| 32 | + * 2011.08.31. JJY 경량환경 템플릿 커스터마이징버전 생성 | |
| 33 | + * | |
| 34 | + * @author 공통 서비스 개발팀 이삼섭 | |
| 35 | + * @since 2009. 4. 2. | |
| 36 | + * @version | |
| 37 | + * @see | |
| 38 | + * | |
| 39 | + */ | |
| 40 | +@SuppressWarnings("serial") | |
| 41 | +@Controller | |
| 42 | +public class EgovImageProcessController extends HttpServlet { | |
| 43 | + | |
| 44 | + @Resource(name = "EgovFileMngService") | |
| 45 | + private EgovFileMngService fileService; | |
| 46 | + | |
| 47 | + private static final Logger LOGGER = LoggerFactory.getLogger(EgovImageProcessController.class); | |
| 48 | + | |
| 49 | + /** | |
| 50 | + * 첨부된 이미지에 대한 미리보기 기능을 제공한다. | |
| 51 | + * | |
| 52 | + * @param atchFileId | |
| 53 | + * @param fileSn | |
| 54 | + * @param sessionVO | |
| 55 | + * @param model | |
| 56 | + * @param response | |
| 57 | + * @throws Exception | |
| 58 | + */ | |
| 59 | + @SuppressWarnings("resource") | |
| 60 | + @RequestMapping("/cmm/fms/getImage.do") | |
| 61 | + public void getImageInf(SessionVO sessionVO, ModelMap model, @RequestParam Map<String, Object> commandMap, HttpServletResponse response) throws Exception { | |
| 62 | + | |
| 63 | + String atchFileId = (String) commandMap.get("atchFileId"); | |
| 64 | + String fileSn = (String) commandMap.get("fileSn"); | |
| 65 | + String isThumbFile = (String) commandMap.get("isThumbFile"); | |
| 66 | + | |
| 67 | + FileVO vo = new FileVO(); | |
| 68 | + | |
| 69 | + vo.setAtchFileId(atchFileId); | |
| 70 | + vo.setFileSn(fileSn); | |
| 71 | + | |
| 72 | + //------------------------------------------------------------ | |
| 73 | + // fileSn이 없는 경우 마지막 파일 참조 | |
| 74 | + //------------------------------------------------------------ | |
| 75 | + if (fileSn == null || fileSn.equals("")) { | |
| 76 | + int newMaxFileSN = fileService.getMaxFileSN(vo); | |
| 77 | + vo.setFileSn(Integer.toString(newMaxFileSN - 1)); | |
| 78 | + } | |
| 79 | + //------------------------------------------------------------ | |
| 80 | + FileVO fvo = fileService.selectFileInf(vo); | |
| 81 | + | |
| 82 | + String fileNm = fvo.getStreFileNm(); | |
| 83 | + // 섬네일 이미지 경우 | |
| 84 | + if (isThumbFile != null && ("thumbFile").equals(isThumbFile) && fvo.getThumbFileNm() != null) { | |
| 85 | + fileNm = fvo.getThumbFileNm(); | |
| 86 | + } | |
| 87 | + | |
| 88 | + File file = new File(fvo.getFileStreCours(), fileNm); | |
| 89 | + | |
| 90 | + FileInputStream fis = null; | |
| 91 | + new FileInputStream(file); | |
| 92 | + | |
| 93 | + BufferedInputStream in = null; | |
| 94 | + ByteArrayOutputStream bStream = null; | |
| 95 | + try { | |
| 96 | + fis = new FileInputStream(file); | |
| 97 | + in = new BufferedInputStream(fis); | |
| 98 | + bStream = new ByteArrayOutputStream(); | |
| 99 | + int imgByte; | |
| 100 | + /*while ((imgByte = in.read()) != -1) { | |
| 101 | + bStream.write(imgByte); | |
| 102 | + }*/ | |
| 103 | + | |
| 104 | + byte[] outputByte=new byte[104096]; | |
| 105 | + while ((imgByte =in.read(outputByte, 0, 4096 )) > 0 ) { | |
| 106 | + bStream.write(outputByte,0,imgByte); | |
| 107 | + } | |
| 108 | + String type = ""; | |
| 109 | + if (fvo.getFileExtsn() != null && !"".equals(fvo.getFileExtsn())) { | |
| 110 | + if ("jpg".equals(fvo.getFileExtsn().toLowerCase())) { | |
| 111 | + type = "image/jpeg"; | |
| 112 | + } else { | |
| 113 | + type = "image/" + fvo.getFileExtsn().toLowerCase(); | |
| 114 | + } | |
| 115 | + //type = "image/" + fvo.getFileExtsn().toLowerCase(); | |
| 116 | + | |
| 117 | + } else { | |
| 118 | + LOGGER.debug("Image fileType is null."); | |
| 119 | + } | |
| 120 | + | |
| 121 | + response.setHeader("Content-Type", type); | |
| 122 | + response.setContentLength(bStream.size()); | |
| 123 | + bStream.writeTo(response.getOutputStream()); | |
| 124 | + response.getOutputStream().flush(); | |
| 125 | + response.getOutputStream().close(); | |
| 126 | + | |
| 127 | + } catch (Exception e) { | |
| 128 | + LOGGER.debug("{}", e); | |
| 129 | + } finally { | |
| 130 | + if (bStream != null) { | |
| 131 | + try { | |
| 132 | + bStream.close(); | |
| 133 | + } catch (Exception est) { | |
| 134 | + LOGGER.debug("IGNORED: {}", est.getMessage()); | |
| 135 | + } | |
| 136 | + } | |
| 137 | + if (in != null) { | |
| 138 | + try { | |
| 139 | + in.close(); | |
| 140 | + } catch (Exception ei) { | |
| 141 | + LOGGER.debug("IGNORED: {}", ei.getMessage()); | |
| 142 | + } | |
| 143 | + } | |
| 144 | + if (fis != null) { | |
| 145 | + try { | |
| 146 | + fis.close(); | |
| 147 | + } catch (Exception efis) { | |
| 148 | + LOGGER.debug("IGNORED: {}", efis.getMessage()); | |
| 149 | + } | |
| 150 | + } | |
| 151 | + } | |
| 152 | + } | |
| 153 | + | |
| 154 | + | |
| 155 | + @SuppressWarnings("resource") | |
| 156 | + @RequestMapping("/cmm/fms/getAssetImage.do") | |
| 157 | + public void getAssetImage(SessionVO sessionVO, ModelMap model, @RequestParam Map<String, Object> commandMap, HttpServletResponse response) throws Exception { | |
| 158 | + | |
| 159 | + String atchFileId = (String) commandMap.get("atchFileId"); | |
| 160 | + String fileSn = (String) commandMap.get("fileSn"); | |
| 161 | + String isThumbFile = (String) commandMap.get("isThumbFile"); | |
| 162 | + | |
| 163 | + FileVO vo = new FileVO(); | |
| 164 | + | |
| 165 | + vo.setAtchFileId(atchFileId); | |
| 166 | + vo.setFileSn(fileSn); | |
| 167 | + | |
| 168 | + //------------------------------------------------------------ | |
| 169 | + // fileSn이 없는 경우 마지막 파일 참조 | |
| 170 | + //------------------------------------------------------------ | |
| 171 | + if (fileSn == null || fileSn.equals("")) { | |
| 172 | + int newMaxFileSN = fileService.getMaxFileSN(vo); | |
| 173 | + vo.setFileSn(Integer.toString(newMaxFileSN - 1)); | |
| 174 | + } | |
| 175 | + //------------------------------------------------------------ | |
| 176 | + //FileVO fvo = fileService.selectFileInf(vo); | |
| 177 | + | |
| 178 | + FileVO fvo = fileService.selectFileAssertInf(vo); | |
| 179 | + | |
| 180 | + | |
| 181 | + String fileNm = fvo.getStreFileNm(); | |
| 182 | + // 섬네일 이미지 경우 | |
| 183 | + if (isThumbFile != null && ("thumbFile").equals(isThumbFile) && fvo.getThumbFileNm() != null) { | |
| 184 | + fileNm = fvo.getThumbFileNm(); | |
| 185 | + } | |
| 186 | + | |
| 187 | + File file = new File(fvo.getFileStreCours(), fileNm); | |
| 188 | + | |
| 189 | + FileInputStream fis = null; | |
| 190 | + new FileInputStream(file); | |
| 191 | + | |
| 192 | + BufferedInputStream in = null; | |
| 193 | + ByteArrayOutputStream bStream = null; | |
| 194 | + try { | |
| 195 | + fis = new FileInputStream(file); | |
| 196 | + in = new BufferedInputStream(fis); | |
| 197 | + bStream = new ByteArrayOutputStream(); | |
| 198 | + int imgByte; | |
| 199 | + /*while ((imgByte = in.read()) != -1) { | |
| 200 | + bStream.write(imgByte); | |
| 201 | + }*/ | |
| 202 | + | |
| 203 | + byte[] outputByte=new byte[104096]; | |
| 204 | + while ((imgByte =in.read(outputByte, 0, 4096 )) > 0 ) { | |
| 205 | + bStream.write(outputByte,0,imgByte); | |
| 206 | + } | |
| 207 | + String type = ""; | |
| 208 | + if (fvo.getFileExtsn() != null && !"".equals(fvo.getFileExtsn())) { | |
| 209 | + if ("jpg".equals(fvo.getFileExtsn().toLowerCase())) { | |
| 210 | + type = "image/jpeg"; | |
| 211 | + } else { | |
| 212 | + type = "image/" + fvo.getFileExtsn().toLowerCase(); | |
| 213 | + } | |
| 214 | + } else { | |
| 215 | + LOGGER.debug("Image fileType is null."); | |
| 216 | + } | |
| 217 | + | |
| 218 | + response.setHeader("Content-Type", type); | |
| 219 | + response.setContentLength(bStream.size()); | |
| 220 | + bStream.writeTo(response.getOutputStream()); | |
| 221 | + response.getOutputStream().flush(); | |
| 222 | + response.getOutputStream().close(); | |
| 223 | + | |
| 224 | + } catch (Exception e) { | |
| 225 | + LOGGER.debug("{}", e); | |
| 226 | + } finally { | |
| 227 | + if (bStream != null) { | |
| 228 | + try { | |
| 229 | + bStream.close(); | |
| 230 | + } catch (Exception est) { | |
| 231 | + LOGGER.debug("IGNORED: {}", est.getMessage()); | |
| 232 | + } | |
| 233 | + } | |
| 234 | + if (in != null) { | |
| 235 | + try { | |
| 236 | + in.close(); | |
| 237 | + } catch (Exception ei) { | |
| 238 | + LOGGER.debug("IGNORED: {}", ei.getMessage()); | |
| 239 | + } | |
| 240 | + } | |
| 241 | + if (fis != null) { | |
| 242 | + try { | |
| 243 | + fis.close(); | |
| 244 | + } catch (Exception efis) { | |
| 245 | + LOGGER.debug("IGNORED: {}", efis.getMessage()); | |
| 246 | + } | |
| 247 | + } | |
| 248 | + } | |
| 249 | + } | |
| 250 | + | |
| 251 | + @SuppressWarnings("resource") | |
| 252 | + @RequestMapping("/cmm/fms/getUserImage.do") | |
| 253 | + public void getUserImage(SessionVO sessionVO, ModelMap model, @RequestParam Map<String, Object> commandMap, HttpServletResponse response) throws Exception { | |
| 254 | + | |
| 255 | + String atchFileId = (String) commandMap.get("atchFileId"); | |
| 256 | + String fileSn = (String) commandMap.get("fileSn"); | |
| 257 | + String isThumbFile = (String) commandMap.get("isThumbFile"); | |
| 258 | + | |
| 259 | + FileVO vo = new FileVO(); | |
| 260 | + | |
| 261 | + vo.setAtchFileId(atchFileId); | |
| 262 | + vo.setFileSn(fileSn); | |
| 263 | + | |
| 264 | + //------------------------------------------------------------ | |
| 265 | + // fileSn이 없는 경우 마지막 파일 참조 | |
| 266 | + //------------------------------------------------------------ | |
| 267 | + if (fileSn == null || fileSn.equals("")) { | |
| 268 | + int newMaxFileSN = fileService.getMaxFileSN(vo); | |
| 269 | + vo.setFileSn(Integer.toString(newMaxFileSN - 1)); | |
| 270 | + } | |
| 271 | + //------------------------------------------------------------ | |
| 272 | + //FileVO fvo = fileService.selectFileInf(vo); | |
| 273 | + | |
| 274 | + FileVO fvo = fileService.selectFileUserInf(vo); | |
| 275 | + | |
| 276 | + | |
| 277 | + String fileNm = fvo.getStreFileNm(); | |
| 278 | + // 섬네일 이미지 경우 | |
| 279 | + if (isThumbFile != null && ("thumbFile").equals(isThumbFile) && fvo.getThumbFileNm() != null) { | |
| 280 | + fileNm = fvo.getThumbFileNm(); | |
| 281 | + } | |
| 282 | + | |
| 283 | + File file = new File(fvo.getFileStreCours(), fileNm); | |
| 284 | + | |
| 285 | + FileInputStream fis = null; | |
| 286 | + new FileInputStream(file); | |
| 287 | + | |
| 288 | + BufferedInputStream in = null; | |
| 289 | + ByteArrayOutputStream bStream = null; | |
| 290 | + try { | |
| 291 | + fis = new FileInputStream(file); | |
| 292 | + in = new BufferedInputStream(fis); | |
| 293 | + bStream = new ByteArrayOutputStream(); | |
| 294 | + int imgByte; | |
| 295 | + /*while ((imgByte = in.read()) != -1) { | |
| 296 | + bStream.write(imgByte); | |
| 297 | + }*/ | |
| 298 | + | |
| 299 | + byte[] outputByte=new byte[104096]; | |
| 300 | + while ((imgByte =in.read(outputByte, 0, 4096 )) > 0 ) { | |
| 301 | + bStream.write(outputByte,0,imgByte); | |
| 302 | + } | |
| 303 | + String type = ""; | |
| 304 | + if (fvo.getFileExtsn() != null && !"".equals(fvo.getFileExtsn())) { | |
| 305 | + if ("jpg".equals(fvo.getFileExtsn().toLowerCase())) { | |
| 306 | + type = "image/jpeg"; | |
| 307 | + } else { | |
| 308 | + type = "image/" + fvo.getFileExtsn().toLowerCase(); | |
| 309 | + } | |
| 310 | + } else { | |
| 311 | + LOGGER.debug("Image fileType is null."); | |
| 312 | + } | |
| 313 | + | |
| 314 | + response.setHeader("Content-Type", type); | |
| 315 | + response.setContentLength(bStream.size()); | |
| 316 | + bStream.writeTo(response.getOutputStream()); | |
| 317 | + response.getOutputStream().flush(); | |
| 318 | + response.getOutputStream().close(); | |
| 319 | + | |
| 320 | + } catch (Exception e) { | |
| 321 | + LOGGER.debug("{}", e); | |
| 322 | + } finally { | |
| 323 | + if (bStream != null) { | |
| 324 | + try { | |
| 325 | + bStream.close(); | |
| 326 | + } catch (Exception est) { | |
| 327 | + LOGGER.debug("IGNORED: {}", est.getMessage()); | |
| 328 | + } | |
| 329 | + } | |
| 330 | + if (in != null) { | |
| 331 | + try { | |
| 332 | + in.close(); | |
| 333 | + } catch (Exception ei) { | |
| 334 | + LOGGER.debug("IGNORED: {}", ei.getMessage()); | |
| 335 | + } | |
| 336 | + } | |
| 337 | + if (fis != null) { | |
| 338 | + try { | |
| 339 | + fis.close(); | |
| 340 | + } catch (Exception efis) { | |
| 341 | + LOGGER.debug("IGNORED: {}", efis.getMessage()); | |
| 342 | + } | |
| 343 | + } | |
| 344 | + } | |
| 345 | + } | |
| 346 | + | |
| 347 | +} |
+++ src/main/java/egovframework/com/cmm/web/EgovMultipartResolver.java
... | ... | @@ -0,0 +1,125 @@ |
| 1 | +package egovframework.com.cmm.web; | |
| 2 | + | |
| 3 | +/* | |
| 4 | + * Copyright 2001-2006 The Apache Software Foundation. | |
| 5 | + * | |
| 6 | + * Licensed under the Apache License, Version 2.0 (the ";License"); | |
| 7 | + * you may not use this file except in compliance with the License. | |
| 8 | + * You may obtain a copy of the License at | |
| 9 | + * | |
| 10 | + * http://www.apache.org/licenses/LICENSE-2.0 | |
| 11 | + * | |
| 12 | + * Unless required by applicable law or agreed to in writing, software | |
| 13 | + * distributed under the License is distributed on an "AS IS"; BASIS, | |
| 14 | + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
| 15 | + * See the License for the specific language governing permissions and | |
| 16 | + * limitations under the License. | |
| 17 | + */ | |
| 18 | +import java.io.UnsupportedEncodingException; | |
| 19 | +import java.util.ArrayList; | |
| 20 | +import java.util.HashMap; | |
| 21 | +import java.util.Iterator; | |
| 22 | +import java.util.List; | |
| 23 | +import java.util.Map; | |
| 24 | + | |
| 25 | +import javax.servlet.ServletContext; | |
| 26 | + | |
| 27 | +import org.apache.commons.fileupload.FileItem; | |
| 28 | +import org.slf4j.Logger; | |
| 29 | +import org.slf4j.LoggerFactory; | |
| 30 | +import org.springframework.util.LinkedMultiValueMap; | |
| 31 | +import org.springframework.util.MultiValueMap; | |
| 32 | +import org.springframework.util.StringUtils; | |
| 33 | +import org.springframework.web.multipart.MultipartException; | |
| 34 | +import org.springframework.web.multipart.MultipartFile; | |
| 35 | +import org.springframework.web.multipart.commons.CommonsMultipartFile; | |
| 36 | +import org.springframework.web.multipart.commons.CommonsMultipartResolver; | |
| 37 | + | |
| 38 | +/** | |
| 39 | + * 실행환경의 파일업로드 처리를 위한 기능 클래스 | |
| 40 | + * @author 공통서비스개발팀 이삼섭 | |
| 41 | + * @since 2009.06.01 | |
| 42 | + * @version 1.0 | |
| 43 | + * @see | |
| 44 | + * | |
| 45 | + * <pre> | |
| 46 | + * << 개정이력(Modification Information) >> | |
| 47 | + * | |
| 48 | + * 수정일 수정자 수정내용 | |
| 49 | + * ------- -------- --------------------------- | |
| 50 | + * 2009.3.25 이삼섭 최초 생성 | |
| 51 | + * 2011.06.11 서준식 스프링 3.0 업그레이드 API변경으로인한 수정 | |
| 52 | + * | |
| 53 | + * </pre> | |
| 54 | + */ | |
| 55 | +public class EgovMultipartResolver extends CommonsMultipartResolver { | |
| 56 | + | |
| 57 | + private static final Logger LOGGER = LoggerFactory.getLogger(EgovMultipartResolver.class); | |
| 58 | + | |
| 59 | + public EgovMultipartResolver() { | |
| 60 | + } | |
| 61 | + | |
| 62 | + /** | |
| 63 | + * 첨부파일 처리를 위한 multipart resolver를 생성한다. | |
| 64 | + * | |
| 65 | + * @param servletContext | |
| 66 | + */ | |
| 67 | + public EgovMultipartResolver(ServletContext servletContext) { | |
| 68 | + super(servletContext); | |
| 69 | + } | |
| 70 | + | |
| 71 | + /** | |
| 72 | + * multipart에 대한 parsing을 처리한다. | |
| 73 | + */ | |
| 74 | + @SuppressWarnings("rawtypes") | |
| 75 | + @Override | |
| 76 | + protected MultipartParsingResult parseFileItems(List fileItems, String encoding) { | |
| 77 | + | |
| 78 | + MultiValueMap<String, MultipartFile> multipartFiles = new LinkedMultiValueMap<String, MultipartFile>(); | |
| 79 | + Map<String, String[]> multipartParameters = new HashMap<String, String[]>(); | |
| 80 | + | |
| 81 | + for (Iterator<?> it = fileItems.iterator(); it.hasNext();) { | |
| 82 | + FileItem fileItem = (FileItem) it.next(); | |
| 83 | + | |
| 84 | + if (fileItem.isFormField()) { | |
| 85 | + | |
| 86 | + String value = null; | |
| 87 | + if (encoding != null) { | |
| 88 | + try { | |
| 89 | + value = fileItem.getString(encoding); | |
| 90 | + } catch (UnsupportedEncodingException ex) { | |
| 91 | + LOGGER.warn("Could not decode multipart item '{}' with encoding '{}': using platform default", fileItem.getFieldName(), encoding); | |
| 92 | + value = fileItem.getString(); | |
| 93 | + } | |
| 94 | + } else { | |
| 95 | + value = fileItem.getString(); | |
| 96 | + } | |
| 97 | + String[] curParam = multipartParameters.get(fileItem.getFieldName()); | |
| 98 | + if (curParam == null) { | |
| 99 | + multipartParameters.put(fileItem.getFieldName(), new String[] { value }); | |
| 100 | + } else { | |
| 101 | + String[] newParam = StringUtils.addStringToArray(curParam, value); | |
| 102 | + multipartParameters.put(fileItem.getFieldName(), newParam); | |
| 103 | + } | |
| 104 | + } else { | |
| 105 | + | |
| 106 | + if (fileItem.getSize() > 0) { | |
| 107 | + CommonsMultipartFile file = new CommonsMultipartFile(fileItem); | |
| 108 | + | |
| 109 | + List<MultipartFile> fileList = new ArrayList<MultipartFile>(); | |
| 110 | + fileList.add(file); | |
| 111 | + | |
| 112 | + if (multipartFiles.put(fileItem.getName(), fileList) != null) { | |
| 113 | + throw new MultipartException("Multiple files for field name [" + file.getName() + "] found - not supported by MultipartResolver"); | |
| 114 | + } | |
| 115 | + LOGGER.debug("Found multipart file [" + file.getName() + "] of size " + file.getSize() + " bytes with original filename [" + file.getOriginalFilename() | |
| 116 | + + "], stored " + file.getStorageDescription()); | |
| 117 | + | |
| 118 | + } | |
| 119 | + | |
| 120 | + } | |
| 121 | + } | |
| 122 | + | |
| 123 | + return new MultipartParsingResult(multipartFiles, multipartParameters, null); | |
| 124 | + } | |
| 125 | +} |
+++ src/main/java/egovframework/com/sym/log/ulg/service/EgovUserLogScheduling.java
... | ... | @@ -0,0 +1,42 @@ |
| 1 | +package egovframework.com.sym.log.ulg.service; | |
| 2 | + | |
| 3 | +import egovframework.rte.fdl.cmmn.EgovAbstractServiceImpl; | |
| 4 | + | |
| 5 | +import javax.annotation.Resource; | |
| 6 | + | |
| 7 | +import org.springframework.stereotype.Service; | |
| 8 | + | |
| 9 | +/** | |
| 10 | + * @Class Name : EgovUserLogScheduling.java | |
| 11 | + * @Description : 사용로그 요약을 위한 스케쥴링 클래스 | |
| 12 | + * @Modification Information | |
| 13 | + * | |
| 14 | + * 수정일 수정자 수정내용 | |
| 15 | + * ------- ------- ------------------- | |
| 16 | + * 2009. 3. 11. 이삼섭 최초생성 | |
| 17 | + * 2011. 7. 01. 이기하 패키지 분리(sym.log -> sym.log.ulg) | |
| 18 | + * | |
| 19 | + * @author 공통 서비스 개발팀 이삼섭 | |
| 20 | + * @since 2009. 3. 11. | |
| 21 | + * @version | |
| 22 | + * @see | |
| 23 | + * | |
| 24 | + */ | |
| 25 | +@Service("egovUserLogScheduling") | |
| 26 | +public class EgovUserLogScheduling extends EgovAbstractServiceImpl { | |
| 27 | + | |
| 28 | + @Resource(name="EgovUserLogService") | |
| 29 | + private EgovUserLogService userLogService; | |
| 30 | + | |
| 31 | + /** | |
| 32 | + * 사용자 로그정보를 생성한다. | |
| 33 | + * | |
| 34 | + * @param | |
| 35 | + * @return | |
| 36 | + * @throws Exception | |
| 37 | + */ | |
| 38 | + public void userLogInsert() throws Exception { | |
| 39 | + //userLogService.logInsertUserLog(); | |
| 40 | + } | |
| 41 | + | |
| 42 | +} |
+++ src/main/java/egovframework/com/sym/log/ulg/service/EgovUserLogService.java
... | ... | @@ -0,0 +1,46 @@ |
| 1 | +package egovframework.com.sym.log.ulg.service; | |
| 2 | + | |
| 3 | +import java.util.Map; | |
| 4 | + | |
| 5 | +/** | |
| 6 | + * @Class Name : EgovUserLogService.java | |
| 7 | + * @Description : 사용로그 관리를 위한 서비스 인터페이스 | |
| 8 | + * @Modification Information | |
| 9 | + * | |
| 10 | + * 수정일 수정자 수정내용 | |
| 11 | + * ------- ------- ------------------- | |
| 12 | + * 2009. 3. 11. 이삼섭 최초생성 | |
| 13 | + * 2011. 7. 01. 이기하 패키지 분리(sym.log -> sym.log.ulg) | |
| 14 | + * | |
| 15 | + * @author 공통 서비스 개발팀 이삼섭 | |
| 16 | + * @since 2009. 3. 11. | |
| 17 | + * @version | |
| 18 | + * @see | |
| 19 | + * | |
| 20 | + */ | |
| 21 | +public interface EgovUserLogService { | |
| 22 | + | |
| 23 | + /** | |
| 24 | + * 사용자 로그정보를 생성한다. | |
| 25 | + * | |
| 26 | + * @param | |
| 27 | + */ | |
| 28 | + public void logInsertUserLog() throws Exception; | |
| 29 | + | |
| 30 | + /** | |
| 31 | + * 사용자로그 상세정보를 조회한다. | |
| 32 | + * | |
| 33 | + * @param userLog | |
| 34 | + * @return userLog | |
| 35 | + * @throws Exception | |
| 36 | + */ | |
| 37 | + public UserLog selectUserLog(UserLog userLog) throws Exception; | |
| 38 | + | |
| 39 | + /** | |
| 40 | + * 사용자 로그정보 목록을 조회한다. | |
| 41 | + * | |
| 42 | + * @param UserLog | |
| 43 | + */ | |
| 44 | + public Map<?, ?> selectUserLogInf(UserLog userLog) throws Exception; | |
| 45 | + | |
| 46 | +} |
+++ src/main/java/egovframework/com/sym/log/ulg/service/UserLog.java
... | ... | @@ -0,0 +1,422 @@ |
| 1 | +package egovframework.com.sym.log.ulg.service; | |
| 2 | + | |
| 3 | +import java.io.Serializable; | |
| 4 | + | |
| 5 | +import org.apache.commons.lang3.builder.ToStringBuilder; | |
| 6 | + | |
| 7 | +/** | |
| 8 | + * @Class Name : UserLog.java | |
| 9 | + * @Description : 사용자 로그 관리를 위한 VO 클래스 | |
| 10 | + * @Modification Information | |
| 11 | + * | |
| 12 | + * 수정일 수정자 수정내용 | |
| 13 | + * ------- ------- ------------------- | |
| 14 | + * 2009. 3. 11. 이삼섭 최초생성 | |
| 15 | + * 2011. 7. 01. 이기하 패키지 분리(sym.log -> sym.log.ulg) | |
| 16 | + * 2011.09.14 서준식 화면에 검색일자를 표시하기위한 멤버변수 추가. | |
| 17 | + * @author 공통 서비스 개발팀 이삼섭 | |
| 18 | + * @since 2009. 3. 11. | |
| 19 | + * @version | |
| 20 | + * @see | |
| 21 | + * | |
| 22 | + */ | |
| 23 | +public class UserLog implements Serializable { | |
| 24 | + | |
| 25 | + private static final long serialVersionUID = -3030641254553776910L; | |
| 26 | + /** | |
| 27 | + * 발생일자 | |
| 28 | + */ | |
| 29 | + private String occrrncDe = ""; | |
| 30 | + /** | |
| 31 | + * 요청자아이디 | |
| 32 | + */ | |
| 33 | + private String rqesterId = ""; | |
| 34 | + | |
| 35 | + private String requstId = ""; | |
| 36 | + private String rqesterIp = ""; | |
| 37 | + private String insttCode = ""; | |
| 38 | + private String trgetMenuNm = ""; | |
| 39 | + private String svcNm = ""; | |
| 40 | + private String processSeCode = ""; | |
| 41 | + private String processCo = ""; | |
| 42 | + private String processTime = ""; | |
| 43 | + private String rspnsCode = ""; | |
| 44 | + private String errorSe = ""; | |
| 45 | + private String errorCode = ""; | |
| 46 | + private String rqesterNm = ""; | |
| 47 | + private String jobSeCode = ""; | |
| 48 | + | |
| 49 | + /** | |
| 50 | + * 요청자 이름 | |
| 51 | + */ | |
| 52 | + private String rqsterNm = ""; | |
| 53 | + /** | |
| 54 | + * 메서드명 | |
| 55 | + */ | |
| 56 | + private String methodNm = ""; | |
| 57 | + /** | |
| 58 | + * 서비스명 | |
| 59 | + */ | |
| 60 | + private String srvcNm = ""; | |
| 61 | + /** | |
| 62 | + * 생성횟수 | |
| 63 | + */ | |
| 64 | + private String creatCo = ""; | |
| 65 | + /** | |
| 66 | + * 수정횟수 | |
| 67 | + */ | |
| 68 | + private String updtCo = ""; | |
| 69 | + /** | |
| 70 | + * 조회횟수 | |
| 71 | + */ | |
| 72 | + private String rdCnt = ""; | |
| 73 | + /** | |
| 74 | + * 삭제횟수 | |
| 75 | + */ | |
| 76 | + private String deleteCo = ""; | |
| 77 | + /** | |
| 78 | + * 출력횟수 | |
| 79 | + */ | |
| 80 | + private String outptCo = ""; | |
| 81 | + /** | |
| 82 | + * 에러횟수 | |
| 83 | + */ | |
| 84 | + private String errorCo = ""; | |
| 85 | + /** | |
| 86 | + * 검색시작일 | |
| 87 | + */ | |
| 88 | + private String searchBgnDe = ""; | |
| 89 | + /** | |
| 90 | + * 검색조건 | |
| 91 | + */ | |
| 92 | + private String searchCnd = ""; | |
| 93 | + /** | |
| 94 | + * 검색종료일 | |
| 95 | + */ | |
| 96 | + private String searchEndDe = ""; | |
| 97 | + /** | |
| 98 | + * 검색단어 | |
| 99 | + */ | |
| 100 | + private String searchWrd = ""; | |
| 101 | + /** | |
| 102 | + * 정렬순서(DESC,ASC) | |
| 103 | + */ | |
| 104 | + private String sortOrdr = ""; | |
| 105 | + | |
| 106 | + /** 검색사용여부 */ | |
| 107 | + private String searchUseYn = ""; | |
| 108 | + | |
| 109 | + /** 현재페이지 */ | |
| 110 | + private int pageIndex = 1; | |
| 111 | + | |
| 112 | + /** 페이지갯수 */ | |
| 113 | + private int pageUnit = 10; | |
| 114 | + | |
| 115 | + /** 페이지사이즈 */ | |
| 116 | + private int pageSize = 10; | |
| 117 | + | |
| 118 | + /** firstIndex */ | |
| 119 | + private int firstIndex = 1; | |
| 120 | + | |
| 121 | + /** lastIndex */ | |
| 122 | + private int lastIndex = 1; | |
| 123 | + | |
| 124 | + /** recordCountPerPage */ | |
| 125 | + private int recordCountPerPage = 10; | |
| 126 | + | |
| 127 | + /** rowNo */ | |
| 128 | + private int rowNo = 0; | |
| 129 | + | |
| 130 | + /** | |
| 131 | + * 검색시작일_화면용 | |
| 132 | + */ | |
| 133 | + private String searchBgnDeView = "";//2011.09.14 | |
| 134 | + | |
| 135 | + /** | |
| 136 | + * 검색종료일_화면용 | |
| 137 | + */ | |
| 138 | + private String searchEndDeView = "";//2011.09.14 | |
| 139 | + | |
| 140 | + public String getSearchEndDeView() { | |
| 141 | + return searchEndDeView; | |
| 142 | + } | |
| 143 | + public void setSearchEndDeView(String searchEndDeView) { | |
| 144 | + this.searchEndDeView = searchEndDeView; | |
| 145 | + } | |
| 146 | + public String getSearchBgnDeView() { | |
| 147 | + return searchBgnDeView; | |
| 148 | + } | |
| 149 | + public void setSearchBgnDeView(String searchBgnDeView) { | |
| 150 | + this.searchBgnDeView = searchBgnDeView; | |
| 151 | + } | |
| 152 | + | |
| 153 | + @Override | |
| 154 | + public String toString(){ | |
| 155 | + return ToStringBuilder.reflectionToString(this); | |
| 156 | + } | |
| 157 | + | |
| 158 | + public String getOccrrncDe() { | |
| 159 | + return occrrncDe; | |
| 160 | + } | |
| 161 | + | |
| 162 | + public void setOccrrncDe(String occrrncDe) { | |
| 163 | + this.occrrncDe = occrrncDe; | |
| 164 | + } | |
| 165 | + | |
| 166 | + public String getRqesterId() { | |
| 167 | + return rqesterId; | |
| 168 | + } | |
| 169 | + | |
| 170 | + public void setRqesterId(String rqesterId) { | |
| 171 | + this.rqesterId = rqesterId; | |
| 172 | + } | |
| 173 | + | |
| 174 | + public String getRqsterNm() { | |
| 175 | + return rqsterNm; | |
| 176 | + } | |
| 177 | + | |
| 178 | + public void setRqsterNm(String rqsterNm) { | |
| 179 | + this.rqsterNm = rqsterNm; | |
| 180 | + } | |
| 181 | + | |
| 182 | + public String getMethodNm() { | |
| 183 | + return methodNm; | |
| 184 | + } | |
| 185 | + | |
| 186 | + public void setMethodNm(String methodNm) { | |
| 187 | + this.methodNm = methodNm; | |
| 188 | + } | |
| 189 | + | |
| 190 | + public String getSrvcNm() { | |
| 191 | + return srvcNm; | |
| 192 | + } | |
| 193 | + | |
| 194 | + public void setSrvcNm(String srvcNm) { | |
| 195 | + this.srvcNm = srvcNm; | |
| 196 | + } | |
| 197 | + | |
| 198 | + public String getCreatCo() { | |
| 199 | + return creatCo; | |
| 200 | + } | |
| 201 | + | |
| 202 | + public void setCreatCo(String creatCo) { | |
| 203 | + this.creatCo = creatCo; | |
| 204 | + } | |
| 205 | + | |
| 206 | + public String getUpdtCo() { | |
| 207 | + return updtCo; | |
| 208 | + } | |
| 209 | + | |
| 210 | + public void setUpdtCo(String updtCo) { | |
| 211 | + this.updtCo = updtCo; | |
| 212 | + } | |
| 213 | + | |
| 214 | + public String getRdCnt() { | |
| 215 | + return rdCnt; | |
| 216 | + } | |
| 217 | + | |
| 218 | + public void setRdCnt(String rdCnt) { | |
| 219 | + this.rdCnt = rdCnt; | |
| 220 | + } | |
| 221 | + | |
| 222 | + public String getDeleteCo() { | |
| 223 | + return deleteCo; | |
| 224 | + } | |
| 225 | + | |
| 226 | + public void setDeleteCo(String deleteCo) { | |
| 227 | + this.deleteCo = deleteCo; | |
| 228 | + } | |
| 229 | + | |
| 230 | + public String getOutptCo() { | |
| 231 | + return outptCo; | |
| 232 | + } | |
| 233 | + | |
| 234 | + public void setOutptCo(String outptCo) { | |
| 235 | + this.outptCo = outptCo; | |
| 236 | + } | |
| 237 | + | |
| 238 | + public String getErrorCo() { | |
| 239 | + return errorCo; | |
| 240 | + } | |
| 241 | + | |
| 242 | + public void setErrorCo(String errorCo) { | |
| 243 | + this.errorCo = errorCo; | |
| 244 | + } | |
| 245 | + | |
| 246 | + public String getSearchBgnDe() { | |
| 247 | + return searchBgnDe; | |
| 248 | + } | |
| 249 | + | |
| 250 | + public void setSearchBgnDe(String searchBgnDe) { | |
| 251 | + this.searchBgnDe = searchBgnDe; | |
| 252 | + } | |
| 253 | + | |
| 254 | + public String getSearchCnd() { | |
| 255 | + return searchCnd; | |
| 256 | + } | |
| 257 | + | |
| 258 | + public void setSearchCnd(String searchCnd) { | |
| 259 | + this.searchCnd = searchCnd; | |
| 260 | + } | |
| 261 | + | |
| 262 | + public String getSearchEndDe() { | |
| 263 | + return searchEndDe; | |
| 264 | + } | |
| 265 | + | |
| 266 | + public void setSearchEndDe(String searchEndDe) { | |
| 267 | + this.searchEndDe = searchEndDe; | |
| 268 | + } | |
| 269 | + | |
| 270 | + public String getSearchWrd() { | |
| 271 | + return searchWrd; | |
| 272 | + } | |
| 273 | + | |
| 274 | + public void setSearchWrd(String searchWrd) { | |
| 275 | + this.searchWrd = searchWrd; | |
| 276 | + } | |
| 277 | + | |
| 278 | + public String getSortOrdr() { | |
| 279 | + return sortOrdr; | |
| 280 | + } | |
| 281 | + | |
| 282 | + public void setSortOrdr(String sortOrdr) { | |
| 283 | + this.sortOrdr = sortOrdr; | |
| 284 | + } | |
| 285 | + | |
| 286 | + public String getSearchUseYn() { | |
| 287 | + return searchUseYn; | |
| 288 | + } | |
| 289 | + | |
| 290 | + public void setSearchUseYn(String searchUseYn) { | |
| 291 | + this.searchUseYn = searchUseYn; | |
| 292 | + } | |
| 293 | + | |
| 294 | + public int getPageIndex() { | |
| 295 | + return pageIndex; | |
| 296 | + } | |
| 297 | + | |
| 298 | + public void setPageIndex(int pageIndex) { | |
| 299 | + this.pageIndex = pageIndex; | |
| 300 | + } | |
| 301 | + | |
| 302 | + public int getPageUnit() { | |
| 303 | + return pageUnit; | |
| 304 | + } | |
| 305 | + | |
| 306 | + public void setPageUnit(int pageUnit) { | |
| 307 | + this.pageUnit = pageUnit; | |
| 308 | + } | |
| 309 | + | |
| 310 | + public int getPageSize() { | |
| 311 | + return pageSize; | |
| 312 | + } | |
| 313 | + | |
| 314 | + public void setPageSize(int pageSize) { | |
| 315 | + this.pageSize = pageSize; | |
| 316 | + } | |
| 317 | + | |
| 318 | + public int getFirstIndex() { | |
| 319 | + return firstIndex; | |
| 320 | + } | |
| 321 | + | |
| 322 | + public void setFirstIndex(int firstIndex) { | |
| 323 | + this.firstIndex = firstIndex; | |
| 324 | + } | |
| 325 | + | |
| 326 | + public int getLastIndex() { | |
| 327 | + return lastIndex; | |
| 328 | + } | |
| 329 | + | |
| 330 | + public void setLastIndex(int lastIndex) { | |
| 331 | + this.lastIndex = lastIndex; | |
| 332 | + } | |
| 333 | + | |
| 334 | + public int getRecordCountPerPage() { | |
| 335 | + return recordCountPerPage; | |
| 336 | + } | |
| 337 | + | |
| 338 | + public void setRecordCountPerPage(int recordCountPerPage) { | |
| 339 | + this.recordCountPerPage = recordCountPerPage; | |
| 340 | + } | |
| 341 | + | |
| 342 | + public int getRowNo() { | |
| 343 | + return rowNo; | |
| 344 | + } | |
| 345 | + | |
| 346 | + public void setRowNo(int rowNo) { | |
| 347 | + this.rowNo = rowNo; | |
| 348 | + } | |
| 349 | + public String getRequstId() { | |
| 350 | + return requstId; | |
| 351 | + } | |
| 352 | + public void setRequstId(String requstId) { | |
| 353 | + this.requstId = requstId; | |
| 354 | + } | |
| 355 | + public String getRqesterIp() { | |
| 356 | + return rqesterIp; | |
| 357 | + } | |
| 358 | + public void setRqesterIp(String rqesterIp) { | |
| 359 | + this.rqesterIp = rqesterIp; | |
| 360 | + } | |
| 361 | + public String getInsttCode() { | |
| 362 | + return insttCode; | |
| 363 | + } | |
| 364 | + public void setInsttCode(String insttCode) { | |
| 365 | + this.insttCode = insttCode; | |
| 366 | + } | |
| 367 | + public String getTrgetMenuNm() { | |
| 368 | + return trgetMenuNm; | |
| 369 | + } | |
| 370 | + public void setTrgetMenuNm(String trgetMenuNm) { | |
| 371 | + this.trgetMenuNm = trgetMenuNm; | |
| 372 | + } | |
| 373 | + public String getSvcNm() { | |
| 374 | + return svcNm; | |
| 375 | + } | |
| 376 | + public void setSvcNm(String svcNm) { | |
| 377 | + this.svcNm = svcNm; | |
| 378 | + } | |
| 379 | + public String getProcessSeCode() { | |
| 380 | + return processSeCode; | |
| 381 | + } | |
| 382 | + public void setProcessSeCode(String processSeCode) { | |
| 383 | + this.processSeCode = processSeCode; | |
| 384 | + } | |
| 385 | + public String getProcessCo() { | |
| 386 | + return processCo; | |
| 387 | + } | |
| 388 | + public void setProcessCo(String processCo) { | |
| 389 | + this.processCo = processCo; | |
| 390 | + } | |
| 391 | + public String getProcessTime() { | |
| 392 | + return processTime; | |
| 393 | + } | |
| 394 | + public void setProcessTime(String processTime) { | |
| 395 | + this.processTime = processTime; | |
| 396 | + } | |
| 397 | + public String getRspnsCode() { | |
| 398 | + return rspnsCode; | |
| 399 | + } | |
| 400 | + public void setRspnsCode(String rspnsCode) { | |
| 401 | + this.rspnsCode = rspnsCode; | |
| 402 | + } | |
| 403 | + public String getErrorSe() { | |
| 404 | + return errorSe; | |
| 405 | + } | |
| 406 | + public void setErrorSe(String errorSe) { | |
| 407 | + this.errorSe = errorSe; | |
| 408 | + } | |
| 409 | + public String getErrorCode() { | |
| 410 | + return errorCode; | |
| 411 | + } | |
| 412 | + public void setErrorCode(String errorCode) { | |
| 413 | + this.errorCode = errorCode; | |
| 414 | + } | |
| 415 | + public String getRqesterNm() { | |
| 416 | + return rqesterNm; | |
| 417 | + } | |
| 418 | + public void setRqesterNm(String rqesterNm) { | |
| 419 | + this.rqesterNm = rqesterNm; | |
| 420 | + } | |
| 421 | + | |
| 422 | +} |
+++ src/main/java/egovframework/com/sym/log/ulg/service/impl/EgovUserLogServiceImpl.java
... | ... | @@ -0,0 +1,79 @@ |
| 1 | +package egovframework.com.sym.log.ulg.service.impl; | |
| 2 | + | |
| 3 | +import java.util.HashMap; | |
| 4 | +import java.util.List; | |
| 5 | +import java.util.Map; | |
| 6 | + | |
| 7 | +import javax.annotation.Resource; | |
| 8 | + | |
| 9 | +import org.springframework.stereotype.Service; | |
| 10 | + | |
| 11 | +import egovframework.com.sym.log.ulg.service.EgovUserLogService; | |
| 12 | +import egovframework.com.sym.log.ulg.service.UserLog; | |
| 13 | +import egovframework.rte.fdl.cmmn.EgovAbstractServiceImpl; | |
| 14 | + | |
| 15 | +/** | |
| 16 | + * @Class Name : EgovUserLogServiceImpl.java | |
| 17 | + * @Description : 사용로그 관리를 위한 서비스 구현 클래스 | |
| 18 | + * @Modification Information | |
| 19 | + * | |
| 20 | + * 수정일 수정자 수정내용 | |
| 21 | + * ------- ------- ------------------- | |
| 22 | + * 2009. 3. 11. 이삼섭 최초생성 | |
| 23 | + * 2011. 7. 01. 이기하 패키지 분리(sym.log -> sym.log.ulg) | |
| 24 | + * | |
| 25 | + * @author 공통 서비스 개발팀 이삼섭 | |
| 26 | + * @since 2009. 3. 11. | |
| 27 | + * @version | |
| 28 | + * @see | |
| 29 | + * | |
| 30 | + */ | |
| 31 | +@Service("EgovUserLogService") | |
| 32 | +public class EgovUserLogServiceImpl extends EgovAbstractServiceImpl implements | |
| 33 | + EgovUserLogService { | |
| 34 | + | |
| 35 | + @Resource(name="userLogDAO") | |
| 36 | + private UserLogDAO userLogDAO; | |
| 37 | + | |
| 38 | + /** | |
| 39 | + * 사용자 로그정보를 생성한다. | |
| 40 | + * | |
| 41 | + * @param | |
| 42 | + */ | |
| 43 | + @Override | |
| 44 | + public void logInsertUserLog() throws Exception { | |
| 45 | + | |
| 46 | + userLogDAO.logInsertUserLog(); | |
| 47 | + } | |
| 48 | + | |
| 49 | + /** | |
| 50 | + * 사용자 로그정보 상제정보를 조회한다. | |
| 51 | + * | |
| 52 | + * @param userLog | |
| 53 | + * @return userLog | |
| 54 | + * @throws Exception | |
| 55 | + */ | |
| 56 | + @Override | |
| 57 | + public UserLog selectUserLog(UserLog userLog) throws Exception{ | |
| 58 | + | |
| 59 | + return userLogDAO.selectUserLog(userLog); | |
| 60 | + } | |
| 61 | + | |
| 62 | + /** | |
| 63 | + * 사용자 로그정보 목록을 조회한다. | |
| 64 | + * | |
| 65 | + * @param UserLog | |
| 66 | + */ | |
| 67 | + @Override | |
| 68 | + public Map<?, ?> selectUserLogInf(UserLog userLog) throws Exception { | |
| 69 | + List<?> _result = userLogDAO.selectUserLogInf(userLog); | |
| 70 | + int _cnt = userLogDAO.selectUserLogInfCnt(userLog); | |
| 71 | + | |
| 72 | + Map<String, Object> _map = new HashMap<String, Object>(); | |
| 73 | + _map.put("resultList", _result); | |
| 74 | + _map.put("resultCnt", Integer.toString(_cnt)); | |
| 75 | + | |
| 76 | + return _map; | |
| 77 | + } | |
| 78 | + | |
| 79 | +} |
+++ src/main/java/egovframework/com/sym/log/ulg/service/impl/UserLogDAO.java
... | ... | @@ -0,0 +1,74 @@ |
| 1 | +package egovframework.com.sym.log.ulg.service.impl; | |
| 2 | + | |
| 3 | +import java.util.List; | |
| 4 | + | |
| 5 | +import org.springframework.stereotype.Repository; | |
| 6 | + | |
| 7 | +import egovframework.com.cmm.service.impl.EgovComAbstractDAO; | |
| 8 | +import egovframework.com.sym.log.ulg.service.UserLog; | |
| 9 | + | |
| 10 | +/** | |
| 11 | + * @Class Name : UserLogDAO.java | |
| 12 | + * @Description : 사용로그 관리를 위한 데이터 접근 클래스 | |
| 13 | + * @Modification Information | |
| 14 | + * | |
| 15 | + * 수정일 수정자 수정내용 | |
| 16 | + * ------- ------- ------------------- | |
| 17 | + * 2009. 3. 11. 이삼섭 최초생성 | |
| 18 | + * 2011. 7. 01. 이기하 패키지 분리(sym.log -> sym.log.ulg) | |
| 19 | + * | |
| 20 | + * @author 공통 서비스 개발팀 이삼섭 | |
| 21 | + * @since 2009. 3. 11. | |
| 22 | + * @version | |
| 23 | + * @see | |
| 24 | + * | |
| 25 | + */ | |
| 26 | +@Repository("userLogDAO") | |
| 27 | +public class UserLogDAO extends EgovComAbstractDAO { | |
| 28 | + | |
| 29 | + /** | |
| 30 | + * 사용자 로그정보를 생성한다. | |
| 31 | + * | |
| 32 | + * @param | |
| 33 | + * @return | |
| 34 | + * @throws Exception | |
| 35 | + */ | |
| 36 | + public void logInsertUserLog() throws Exception{ | |
| 37 | + insert("UserLog.logInsertUserLog", null); | |
| 38 | + } | |
| 39 | + | |
| 40 | + /** | |
| 41 | + * 사용자 로그정보 상세정보를 조회한다. | |
| 42 | + * | |
| 43 | + * @param userLog | |
| 44 | + * @return userLog | |
| 45 | + * @throws Exception | |
| 46 | + */ | |
| 47 | + public UserLog selectUserLog(UserLog userLog) throws Exception{ | |
| 48 | + | |
| 49 | + return (UserLog) select("UserLog.selectUserLog", userLog); | |
| 50 | + } | |
| 51 | + | |
| 52 | + /** | |
| 53 | + * 사용자 로그정보 목록을 조회한다. | |
| 54 | + * | |
| 55 | + * @param UserLog | |
| 56 | + * @return | |
| 57 | + * @throws Exception | |
| 58 | + */ | |
| 59 | + public List<?> selectUserLogInf(UserLog userLog) throws Exception{ | |
| 60 | + return list("UserLog.selectUserLogInf", userLog); | |
| 61 | + } | |
| 62 | + | |
| 63 | + /** | |
| 64 | + * 사용자 로그정보 목록의 숫자를 조회한다. | |
| 65 | + * @param UserLog | |
| 66 | + * @return | |
| 67 | + * @throws Exception | |
| 68 | + */ | |
| 69 | + public int selectUserLogInfCnt(UserLog userLog) throws Exception{ | |
| 70 | + | |
| 71 | + return (Integer)select("UserLog.selectUserLogInfCnt", userLog); | |
| 72 | + } | |
| 73 | + | |
| 74 | +} |
+++ src/main/java/egovframework/com/sym/log/ulg/web/EgovUserLogController.java
... | ... | @@ -0,0 +1,109 @@ |
| 1 | +package egovframework.com.sym.log.ulg.web; | |
| 2 | + | |
| 3 | +import java.util.HashMap; | |
| 4 | +import egovframework.com.sym.log.ulg.service.EgovUserLogService; | |
| 5 | +import egovframework.com.sym.log.ulg.service.UserLog; | |
| 6 | + | |
| 7 | +import egovframework.rte.fdl.property.EgovPropertyService; | |
| 8 | +import egovframework.rte.ptl.mvc.tags.ui.pagination.PaginationInfo; | |
| 9 | + | |
| 10 | +import javax.annotation.Resource; | |
| 11 | + | |
| 12 | +import org.springframework.stereotype.Controller; | |
| 13 | +import org.springframework.ui.ModelMap; | |
| 14 | +import org.springframework.web.bind.annotation.ModelAttribute; | |
| 15 | +import org.springframework.web.bind.annotation.RequestMapping; | |
| 16 | +import org.springframework.web.bind.annotation.RequestParam; | |
| 17 | + | |
| 18 | +/** | |
| 19 | + * @Class Name : EgovUserLogController.java | |
| 20 | + * @Description : 사용로그정보를 관리하기 위한 컨트롤러 클래스 | |
| 21 | + * @Modification Information | |
| 22 | + * | |
| 23 | + * 수정일 수정자 수정내용 | |
| 24 | + * ------- ------- ------------------- | |
| 25 | + * 2009. 3. 11. 이삼섭 최초생성 | |
| 26 | + * 2011. 7. 01. 이기하 패키지 분리(sym.log -> sym.log.ulg) | |
| 27 | + * 2011.8.26 정진오 IncludedInfo annotation 추가 | |
| 28 | + * 2017.09.14 이정은 표준프레임워크 v3.7 개선 | |
| 29 | + * | |
| 30 | + * @author 공통 서비스 개발팀 이삼섭 | |
| 31 | + * @since 2009. 3. 11. | |
| 32 | + * @version | |
| 33 | + * @see | |
| 34 | + * | |
| 35 | + */ | |
| 36 | + | |
| 37 | +@Controller | |
| 38 | +public class EgovUserLogController { | |
| 39 | + | |
| 40 | + @Resource(name="EgovUserLogService") | |
| 41 | + private EgovUserLogService userLogService; | |
| 42 | + | |
| 43 | + @Resource(name="propertiesService") | |
| 44 | + protected EgovPropertyService propertyService; | |
| 45 | + | |
| 46 | + /** | |
| 47 | + * 사용자 로그 목록 조회 | |
| 48 | + * | |
| 49 | + * @param UserLog | |
| 50 | + * @return sym/log/ulg/EgovUserLogList | |
| 51 | + * @throws Exception | |
| 52 | + */ | |
| 53 | + @RequestMapping(value="/sym/log/ulg/SelectUserLogList.do") | |
| 54 | + public String selectUserLogInf(@ModelAttribute("searchVO") UserLog userLog, | |
| 55 | + ModelMap model) throws Exception{ | |
| 56 | + | |
| 57 | + /** EgovPropertyService.sample */ | |
| 58 | + userLog.setPageUnit(propertyService.getInt("pageUnit")); | |
| 59 | + userLog.setPageSize(propertyService.getInt("pageSize")); | |
| 60 | + | |
| 61 | + /** pageing */ | |
| 62 | + PaginationInfo paginationInfo = new PaginationInfo(); | |
| 63 | + paginationInfo.setCurrentPageNo(userLog.getPageIndex()); | |
| 64 | + paginationInfo.setRecordCountPerPage(userLog.getPageUnit()); | |
| 65 | + paginationInfo.setPageSize(userLog.getPageSize()); | |
| 66 | + | |
| 67 | + userLog.setFirstIndex(paginationInfo.getFirstRecordIndex()); | |
| 68 | + userLog.setLastIndex(paginationInfo.getLastRecordIndex()); | |
| 69 | + userLog.setRecordCountPerPage(paginationInfo.getRecordCountPerPage()); | |
| 70 | + | |
| 71 | + HashMap<?, ?> _map = (HashMap<?, ?>)userLogService.selectUserLogInf(userLog); | |
| 72 | + int totCnt = Integer.parseInt((String)_map.get("resultCnt")); | |
| 73 | + | |
| 74 | + model.addAttribute("resultList", _map.get("resultList")); | |
| 75 | + model.addAttribute("resultCnt", _map.get("resultCnt")); | |
| 76 | + | |
| 77 | + paginationInfo.setTotalRecordCount(totCnt); | |
| 78 | + model.addAttribute("paginationInfo", paginationInfo); | |
| 79 | + | |
| 80 | + return "egovframework/com/sym/log/ulg/EgovUserLogList"; | |
| 81 | + } | |
| 82 | + | |
| 83 | + /** | |
| 84 | + * 사용자 로그 상세 조회 | |
| 85 | + * | |
| 86 | + * @param userLog | |
| 87 | + * @param model | |
| 88 | + * @return sym/log/ulg/EgovUserLogInqire | |
| 89 | + * @throws Exception | |
| 90 | + */ | |
| 91 | + @RequestMapping(value="/sym/log/ulg/SelectUserLogDetail.do") | |
| 92 | + public String selectUserLog(@ModelAttribute("searchVO") UserLog userLog, | |
| 93 | + @RequestParam("occrrncDe") String occrrncDe, | |
| 94 | + @RequestParam("rqesterId") String rqesterId, | |
| 95 | + @RequestParam("srvcNm") String srvcNm, | |
| 96 | + @RequestParam("methodNm") String methodNm, | |
| 97 | + ModelMap model) throws Exception{ | |
| 98 | + | |
| 99 | + userLog.setOccrrncDe(occrrncDe.trim()); | |
| 100 | + userLog.setRqesterId(rqesterId.trim()); | |
| 101 | + userLog.setSrvcNm(srvcNm.trim()); | |
| 102 | + userLog.setMethodNm(methodNm.trim()); | |
| 103 | + | |
| 104 | + UserLog vo = userLogService.selectUserLog(userLog); | |
| 105 | + model.addAttribute("result", vo); | |
| 106 | + return "egovframework/com/sym/log/ulg/EgovUserLogDetail"; | |
| 107 | + } | |
| 108 | + | |
| 109 | +} |
+++ src/main/java/egovframework/com/usr/search/web/SearchTotalController.java
... | ... | @@ -0,0 +1,85 @@ |
| 1 | +package egovframework.com.usr.search.web; | |
| 2 | + | |
| 3 | +import java.util.List; | |
| 4 | +import java.util.Map; | |
| 5 | + | |
| 6 | +import javax.annotation.Resource; | |
| 7 | + | |
| 8 | +import org.slf4j.Logger; | |
| 9 | +import org.slf4j.LoggerFactory; | |
| 10 | +import org.springframework.beans.factory.annotation.Autowired; | |
| 11 | +import org.springframework.stereotype.Controller; | |
| 12 | +import org.springframework.ui.ModelMap; | |
| 13 | +import org.springframework.web.bind.annotation.RequestMapping; | |
| 14 | +import org.springframework.web.bind.annotation.RequestParam; | |
| 15 | +import org.springframework.web.servlet.mvc.support.RedirectAttributes; | |
| 16 | +import org.springmodules.validation.commons.DefaultBeanValidator; | |
| 17 | + | |
| 18 | +import egovframework.com.cmm.ComDefaultCodeVO; | |
| 19 | +import egovframework.com.cmm.EgovMessageSource; | |
| 20 | +import egovframework.com.cmm.LoginVO; | |
| 21 | +import egovframework.com.cmm.service.EgovCmmUseService; | |
| 22 | +import egovframework.com.cmm.util.RedirectUrlMaker; | |
| 23 | +import egovframework.com.uss.ion.cyb.service.CyberAlertManageService; | |
| 24 | +import egovframework.com.uss.ion.cyb.service.CyberAlertManageVO; | |
| 25 | +import egovframework.rte.fdl.property.EgovPropertyService; | |
| 26 | +import egovframework.rte.fdl.security.userdetails.util.EgovUserDetailsHelper; | |
| 27 | +import egovframework.rte.psl.dataaccess.util.EgovMap; | |
| 28 | + | |
| 29 | +/** | |
| 30 | + * 개요 | |
| 31 | + * - 팝업창에 대한 Controller를 정의한다. | |
| 32 | + * | |
| 33 | + * 상세내용 | |
| 34 | + * - 팝업창에 대한 등록, 수정, 삭제, 조회, 반영확인 기능을 제공한다. | |
| 35 | + * - 팝업창의 조회기능은 목록조회, 상세조회로, 사용자 화면 보기로 구분된다. | |
| 36 | + * @author 이창원 | |
| 37 | + * @version 1.0 | |
| 38 | + * @created 05-8-2009 오후 2:19:57 | |
| 39 | + * <pre> | |
| 40 | + * << 개정이력(Modification Information) >> | |
| 41 | + * | |
| 42 | + * 수정일 수정자 수정내용 | |
| 43 | + * ------- -------- --------------------------- | |
| 44 | + * 2009.8.05 이창원 최초 생성 | |
| 45 | + * 2011.8.26 정진오 IncludedInfo annotation 추가 | |
| 46 | + * | |
| 47 | + * </pre> | |
| 48 | + */ | |
| 49 | + | |
| 50 | +@Controller | |
| 51 | +public class SearchTotalController { | |
| 52 | + | |
| 53 | + private static final Logger LOGGER = LoggerFactory.getLogger(SearchTotalController.class); | |
| 54 | + | |
| 55 | + @Autowired | |
| 56 | + private DefaultBeanValidator beanValidator; | |
| 57 | + | |
| 58 | + /** cmmUseService */ | |
| 59 | + @Resource(name = "EgovCmmUseService") | |
| 60 | + private EgovCmmUseService cmmUseService; | |
| 61 | + /** EgovMessageSource */ | |
| 62 | + @Resource(name = "egovMessageSource") | |
| 63 | + EgovMessageSource egovMessageSource; | |
| 64 | + | |
| 65 | + /** EgovPropertyService */ | |
| 66 | + @Resource(name = "propertiesService") | |
| 67 | + protected EgovPropertyService propertiesService; | |
| 68 | + | |
| 69 | + /** cyberAlertManageService */ | |
| 70 | + @Resource(name = "cyberAlertManageService") | |
| 71 | + private CyberAlertManageService cyberAlertManageService; | |
| 72 | + | |
| 73 | + /** | |
| 74 | + * 토탈 검색 예제 페이지 | |
| 75 | + * @param popupManageVO | |
| 76 | + * @param model | |
| 77 | + * @return "web/search/totalResearch" | |
| 78 | + * @throws Exception | |
| 79 | + */ | |
| 80 | + @RequestMapping(value = "/usr/search/totalSearch.do") | |
| 81 | + public String totalResearch(@RequestParam Map<?, ?> commandMap, RedirectAttributes redirectAttributes, ModelMap model) throws Exception { | |
| 82 | + return "web/search/totalSearch"; | |
| 83 | + } | |
| 84 | + | |
| 85 | +}(No newline at end of file) |
+++ src/main/java/egovframework/com/uss/ion/bnr/service/Banner.java
... | ... | @@ -0,0 +1,248 @@ |
| 1 | +/** | |
| 2 | + * 개요 | |
| 3 | + * - 배너에 대한 model 클래스를 정의한다. | |
| 4 | + * | |
| 5 | + * 상세내용 | |
| 6 | + * - 배너의 일련번호, 배너명, 링크URL, 배너설명, 반영여부 항목을 관리한다. | |
| 7 | + * @author 이문준 | |
| 8 | + * @version 1.0 | |
| 9 | + * @created 03-8-2009 오후 2:07:10 | |
| 10 | + */ | |
| 11 | + | |
| 12 | +package egovframework.com.uss.ion.bnr.service; | |
| 13 | + | |
| 14 | +import egovframework.com.cmm.ComDefaultVO; | |
| 15 | + | |
| 16 | +public class Banner extends ComDefaultVO { | |
| 17 | + | |
| 18 | + /** | |
| 19 | + * serialVersionUID | |
| 20 | + */ | |
| 21 | + private static final long serialVersionUID = 1L; | |
| 22 | + /** | |
| 23 | + * 배너 ID | |
| 24 | + */ | |
| 25 | + private String bannerId; | |
| 26 | + /** | |
| 27 | + * 배너 명 | |
| 28 | + */ | |
| 29 | + private String bannerNm; | |
| 30 | + /** | |
| 31 | + * 링크 URL | |
| 32 | + */ | |
| 33 | + private String linkUrl; | |
| 34 | + /** | |
| 35 | + * 배너 이미지 | |
| 36 | + */ | |
| 37 | + private String bannerImage; | |
| 38 | + /** | |
| 39 | + * 배너 이미지 파일 | |
| 40 | + */ | |
| 41 | + private String bannerImageFile; | |
| 42 | + /** | |
| 43 | + * 배너 설명 | |
| 44 | + */ | |
| 45 | + private String bannerDc; | |
| 46 | + /** | |
| 47 | + * 정렬 순서 | |
| 48 | + */ | |
| 49 | + private String sortOrdr; | |
| 50 | + /** | |
| 51 | + * 반영여부 | |
| 52 | + */ | |
| 53 | + private String reflctAt; | |
| 54 | + /** | |
| 55 | + * 사용자 ID | |
| 56 | + */ | |
| 57 | + private String userId; | |
| 58 | + /** | |
| 59 | + * 등록일자 | |
| 60 | + */ | |
| 61 | + private String regDate; | |
| 62 | + /** | |
| 63 | + * 파일첨부여부 | |
| 64 | + */ | |
| 65 | + private boolean isAtchFile; | |
| 66 | + | |
| 67 | + /** | |
| 68 | + * 삭제여부 | |
| 69 | + */ | |
| 70 | + private String delSttus; | |
| 71 | + | |
| 72 | + /** | |
| 73 | + * SORT 마지막 선택여부 | |
| 74 | + */ | |
| 75 | + private String sortOver; | |
| 76 | + | |
| 77 | + private String registerId; | |
| 78 | + private String istarget; | |
| 79 | + | |
| 80 | + private String beSortOrdr; | |
| 81 | + | |
| 82 | + | |
| 83 | + /** | |
| 84 | + * @return the bannerId | |
| 85 | + */ | |
| 86 | + public String getBannerId() { | |
| 87 | + return bannerId; | |
| 88 | + } | |
| 89 | + /** | |
| 90 | + * @param bannerId the bannerId to set | |
| 91 | + */ | |
| 92 | + public void setBannerId(String bannerId) { | |
| 93 | + this.bannerId = bannerId; | |
| 94 | + } | |
| 95 | + /** | |
| 96 | + * @return the bannerNm | |
| 97 | + */ | |
| 98 | + public String getBannerNm() { | |
| 99 | + return bannerNm; | |
| 100 | + } | |
| 101 | + /** | |
| 102 | + * @param bannerNm the bannerNm to set | |
| 103 | + */ | |
| 104 | + public void setBannerNm(String bannerNm) { | |
| 105 | + this.bannerNm = bannerNm; | |
| 106 | + } | |
| 107 | + /** | |
| 108 | + * @return the linkUrl | |
| 109 | + */ | |
| 110 | + public String getLinkUrl() { | |
| 111 | + return linkUrl; | |
| 112 | + } | |
| 113 | + /** | |
| 114 | + * @param linkUrl the linkUrl to set | |
| 115 | + */ | |
| 116 | + public void setLinkUrl(String linkUrl) { | |
| 117 | + this.linkUrl = linkUrl; | |
| 118 | + } | |
| 119 | + /** | |
| 120 | + * @return the bannerImage | |
| 121 | + */ | |
| 122 | + public String getBannerImage() { | |
| 123 | + return bannerImage; | |
| 124 | + } | |
| 125 | + /** | |
| 126 | + * @param bannerImage the bannerImage to set | |
| 127 | + */ | |
| 128 | + public void setBannerImage(String bannerImage) { | |
| 129 | + this.bannerImage = bannerImage; | |
| 130 | + } | |
| 131 | + /** | |
| 132 | + * @return the bannerImageFile | |
| 133 | + */ | |
| 134 | + public String getBannerImageFile() { | |
| 135 | + return bannerImageFile; | |
| 136 | + } | |
| 137 | + /** | |
| 138 | + * @param bannerImageFile the bannerImageFile to set | |
| 139 | + */ | |
| 140 | + public void setBannerImageFile(String bannerImageFile) { | |
| 141 | + this.bannerImageFile = bannerImageFile; | |
| 142 | + } | |
| 143 | + /** | |
| 144 | + * @return the bannerDc | |
| 145 | + */ | |
| 146 | + public String getBannerDc() { | |
| 147 | + return bannerDc; | |
| 148 | + } | |
| 149 | + /** | |
| 150 | + * @param bannerDc the bannerDc to set | |
| 151 | + */ | |
| 152 | + public void setBannerDc(String bannerDc) { | |
| 153 | + this.bannerDc = bannerDc; | |
| 154 | + } | |
| 155 | + /** | |
| 156 | + * @return the sortOrdr | |
| 157 | + */ | |
| 158 | + public String getSortOrdr() { | |
| 159 | + return sortOrdr; | |
| 160 | + } | |
| 161 | + /** | |
| 162 | + * @param sortOrdr the sortOrdr to set | |
| 163 | + */ | |
| 164 | + public void setSortOrdr(String sortOrdr) { | |
| 165 | + this.sortOrdr = sortOrdr; | |
| 166 | + } | |
| 167 | + /** | |
| 168 | + * @return the reflctAt | |
| 169 | + */ | |
| 170 | + public String getReflctAt() { | |
| 171 | + return reflctAt; | |
| 172 | + } | |
| 173 | + /** | |
| 174 | + * @param reflctAt the reflctAt to set | |
| 175 | + */ | |
| 176 | + public void setReflctAt(String reflctAt) { | |
| 177 | + this.reflctAt = reflctAt; | |
| 178 | + } | |
| 179 | + /** | |
| 180 | + * @return the userId | |
| 181 | + */ | |
| 182 | + public String getUserId() { | |
| 183 | + return userId; | |
| 184 | + } | |
| 185 | + /** | |
| 186 | + * @param userId the userId to set | |
| 187 | + */ | |
| 188 | + public void setUserId(String userId) { | |
| 189 | + this.userId = userId; | |
| 190 | + } | |
| 191 | + /** | |
| 192 | + * @return the regDate | |
| 193 | + */ | |
| 194 | + public String getRegDate() { | |
| 195 | + return regDate; | |
| 196 | + } | |
| 197 | + /** | |
| 198 | + * @param regDate the regDate to set | |
| 199 | + */ | |
| 200 | + public void setRegDate(String regDate) { | |
| 201 | + this.regDate = regDate; | |
| 202 | + } | |
| 203 | + /** | |
| 204 | + * @return the isAtchFile | |
| 205 | + */ | |
| 206 | + public boolean isAtchFile() { | |
| 207 | + return isAtchFile; | |
| 208 | + } | |
| 209 | + /** | |
| 210 | + * @param isAtchFile the isAtchFile to set | |
| 211 | + */ | |
| 212 | + public void setAtchFile(boolean isAtchFile) { | |
| 213 | + this.isAtchFile = isAtchFile; | |
| 214 | + } | |
| 215 | + | |
| 216 | + public String getDelSttus() { | |
| 217 | + return delSttus; | |
| 218 | + } | |
| 219 | + public void setDelSttus(String delSttus) { | |
| 220 | + this.delSttus = delSttus; | |
| 221 | + } | |
| 222 | + | |
| 223 | + public String getSortOver() { | |
| 224 | + return sortOver; | |
| 225 | + } | |
| 226 | + public void setSortOver(String sortOver) { | |
| 227 | + this.sortOver = sortOver; | |
| 228 | + } | |
| 229 | + public String getRegisterId() { | |
| 230 | + return registerId; | |
| 231 | + } | |
| 232 | + public void setRegisterId(String registerId) { | |
| 233 | + this.registerId = registerId; | |
| 234 | + } | |
| 235 | + public String getIstarget() { | |
| 236 | + return istarget; | |
| 237 | + } | |
| 238 | + public void setIstarget(String istarget) { | |
| 239 | + this.istarget = istarget; | |
| 240 | + } | |
| 241 | + public String getBeSortOrdr() { | |
| 242 | + return beSortOrdr; | |
| 243 | + } | |
| 244 | + public void setBeSortOrdr(String beSortOrdr) { | |
| 245 | + this.beSortOrdr = beSortOrdr; | |
| 246 | + } | |
| 247 | + | |
| 248 | +} |
+++ src/main/java/egovframework/com/uss/ion/bnr/service/BannerVO.java
... | ... | @@ -0,0 +1,75 @@ |
| 1 | +/** | |
| 2 | + * 개요 | |
| 3 | + * - 배너에 대한 Vo 클래스를 정의한다. | |
| 4 | + * | |
| 5 | + * 상세내용 | |
| 6 | + * - 배너의 목록 항목을 관리한다. | |
| 7 | + * @author 이문준 | |
| 8 | + * @version 1.0 | |
| 9 | + * @created 03-8-2009 오후 2:07:13 | |
| 10 | + */ | |
| 11 | + | |
| 12 | +package egovframework.com.uss.ion.bnr.service; | |
| 13 | + | |
| 14 | +import java.util.List; | |
| 15 | + | |
| 16 | +public class BannerVO extends Banner { | |
| 17 | + | |
| 18 | + /** | |
| 19 | + * serialVersionUID | |
| 20 | + */ | |
| 21 | + private static final long serialVersionUID = 1L; | |
| 22 | + /** | |
| 23 | + * 배너 목록 | |
| 24 | + */ | |
| 25 | + List<BannerVO> bannerList; | |
| 26 | + /** | |
| 27 | + * 삭제대상 목록 | |
| 28 | + */ | |
| 29 | + String[] delYn; | |
| 30 | + /** | |
| 31 | + * 결과 반영 타입 | |
| 32 | + * vertical : 세로 | |
| 33 | + * horizontal : 가로 | |
| 34 | + */ | |
| 35 | + String resultType = "horizontal"; | |
| 36 | + | |
| 37 | + /** | |
| 38 | + * @return the bannerList | |
| 39 | + */ | |
| 40 | + public List<BannerVO> getBannerList() { | |
| 41 | + return bannerList; | |
| 42 | + } | |
| 43 | + /** | |
| 44 | + * @param bannerList the bannerList to set | |
| 45 | + */ | |
| 46 | + public void setBannerList(List<BannerVO> bannerList) { | |
| 47 | + this.bannerList = bannerList; | |
| 48 | + } | |
| 49 | + /** | |
| 50 | + * @return the delYn | |
| 51 | + */ | |
| 52 | + public String[] getDelYn() { | |
| 53 | + return delYn; | |
| 54 | + } | |
| 55 | + /** | |
| 56 | + * @param delYn the delYn to set | |
| 57 | + */ | |
| 58 | + public void setDelYn(String[] delYn) { | |
| 59 | + this.delYn = delYn; | |
| 60 | + } | |
| 61 | + /** | |
| 62 | + * @return the resultType | |
| 63 | + */ | |
| 64 | + public String getResultType() { | |
| 65 | + return resultType; | |
| 66 | + } | |
| 67 | + /** | |
| 68 | + * @param resultType the resultType to set | |
| 69 | + */ | |
| 70 | + public void setResultType(String resultType) { | |
| 71 | + this.resultType = resultType; | |
| 72 | + } | |
| 73 | + | |
| 74 | + | |
| 75 | +} |
+++ src/main/java/egovframework/com/uss/ion/bnr/service/EgovBannerService.java
... | ... | @@ -0,0 +1,100 @@ |
| 1 | +/** | |
| 2 | + * 개요 | |
| 3 | + * - 배너에 대한 Service Interface를 정의한다. | |
| 4 | + * | |
| 5 | + * 상세내용 | |
| 6 | + * - 배너에 대한 등록, 수정, 삭제, 조회, 반영확인 기능을 제공한다. | |
| 7 | + * - 배너의 조회기능은 목록조회, 상세조회로 구분된다. | |
| 8 | + * @author 이문준 | |
| 9 | + * @version 1.0 | |
| 10 | + * @created 03-8-2009 오후 2:07:12 | |
| 11 | + */ | |
| 12 | + | |
| 13 | +package egovframework.com.uss.ion.bnr.service; | |
| 14 | + | |
| 15 | +import java.util.List; | |
| 16 | +import java.util.Map; | |
| 17 | + | |
| 18 | +import egovframework.com.uss.ion.pwm.service.SortVO; | |
| 19 | + | |
| 20 | +public interface EgovBannerService { | |
| 21 | + | |
| 22 | + /** | |
| 23 | + * 배너를 관리하기 위해 등록된 배너목록을 조회한다. | |
| 24 | + * @param bannerVO - 배너 Vo | |
| 25 | + * @return List - 배너 목록 | |
| 26 | + * | |
| 27 | + * @param bannerVO | |
| 28 | + */ | |
| 29 | + public List<BannerVO> selectBannerList(BannerVO bannerVO) throws Exception; | |
| 30 | + | |
| 31 | + /** | |
| 32 | + * 배너목록 총 갯수를 조회한다. | |
| 33 | + * @param bannerVO - 배너 Vo | |
| 34 | + * @return int - 배너 카운트 수 | |
| 35 | + * | |
| 36 | + * @param bannerVO | |
| 37 | + */ | |
| 38 | + public int selectBannerListTotCnt(BannerVO bannerVO) throws Exception; | |
| 39 | + | |
| 40 | + /** | |
| 41 | + * 등록된 배너의 상세정보를 조회한다. | |
| 42 | + * @param bannerVO - 배너 Vo | |
| 43 | + * @return BannerVO - 배너 Vo | |
| 44 | + * | |
| 45 | + * @param bannerVO | |
| 46 | + */ | |
| 47 | + public BannerVO selectBanner(BannerVO bannerVO) throws Exception; | |
| 48 | + | |
| 49 | + /** | |
| 50 | + * 배너정보를 신규로 등록한다. | |
| 51 | + * @param banner - 배너 model | |
| 52 | + * | |
| 53 | + * @param banner | |
| 54 | + */ | |
| 55 | + public BannerVO insertBanner(Banner banner, BannerVO bannerVO) throws Exception; | |
| 56 | + | |
| 57 | + /** | |
| 58 | + * 기 등록된 배너정보를 수정한다. | |
| 59 | + * @param banner - 배너 model | |
| 60 | + * | |
| 61 | + * @param banner | |
| 62 | + */ | |
| 63 | + public void updateBanner(Banner banner) throws Exception; | |
| 64 | + | |
| 65 | + /** | |
| 66 | + * 기 등록된 배너정보를 삭제한다. | |
| 67 | + * @param banner - 배너 model | |
| 68 | + * | |
| 69 | + * @param banner | |
| 70 | + */ | |
| 71 | + public void deleteBanner(Banner banner) throws Exception; | |
| 72 | + | |
| 73 | + /** | |
| 74 | + * 기 등록된 배너정보의 이미지파일을 삭제한다. | |
| 75 | + * @param banner - 배너 model | |
| 76 | + * | |
| 77 | + * @param banner | |
| 78 | + */ | |
| 79 | + public void deleteBannerFile(Banner banner) throws Exception; | |
| 80 | + | |
| 81 | + /** | |
| 82 | + * 배너가 특정화면에 반영된 결과를 조회한다. | |
| 83 | + * @param bannerVO - 배너 Vo | |
| 84 | + * @return BannerVO - 배너 Vo | |
| 85 | + * | |
| 86 | + * @param bannerVO | |
| 87 | + */ | |
| 88 | + public List<BannerVO> selectBannerResult(BannerVO bannerVO) throws Exception; | |
| 89 | + | |
| 90 | + public Map<String, String> getSortList(int i) throws Exception; | |
| 91 | + | |
| 92 | + public int getMaxSort() throws Exception; | |
| 93 | + | |
| 94 | + public void updateSortUp(SortVO sortVO) throws Exception; | |
| 95 | + | |
| 96 | + public void resetSort(BannerVO bannerVO) throws Exception; | |
| 97 | + | |
| 98 | + public void updateSortDown(SortVO sortVO) throws Exception; | |
| 99 | + | |
| 100 | +} |
+++ src/main/java/egovframework/com/uss/ion/bnr/service/impl/BannerDAO.java
... | ... | @@ -0,0 +1,129 @@ |
| 1 | +/** | |
| 2 | + * 개요 | |
| 3 | + * - 배너에 대한 DAO 클래스를 정의한다. | |
| 4 | + * | |
| 5 | + * 상세내용 | |
| 6 | + * - 배너에 대한 등록, 수정, 삭제, 조회, 반영확인 기능을 제공한다. | |
| 7 | + * - 배너의 조회기능은 목록조회, 상세조회로 구분된다. | |
| 8 | + * @author 이문준 | |
| 9 | + * @version 1.0 | |
| 10 | + * @created 03-8-2009 오후 2:07:11 | |
| 11 | + */ | |
| 12 | + | |
| 13 | +package egovframework.com.uss.ion.bnr.service.impl; | |
| 14 | + | |
| 15 | +import java.util.List; | |
| 16 | + | |
| 17 | +import egovframework.com.cmm.service.FileVO; | |
| 18 | +import egovframework.com.cmm.service.impl.EgovComAbstractDAO; | |
| 19 | +import egovframework.com.uss.ion.bnr.service.Banner; | |
| 20 | +import egovframework.com.uss.ion.bnr.service.BannerVO; | |
| 21 | +import egovframework.com.uss.ion.pwm.service.SortVO; | |
| 22 | +import egovframework.rte.psl.dataaccess.util.EgovMap; | |
| 23 | + | |
| 24 | +import org.springframework.stereotype.Repository; | |
| 25 | + | |
| 26 | +@Repository("bannerDAO") | |
| 27 | +public class BannerDAO extends EgovComAbstractDAO { | |
| 28 | + | |
| 29 | + /** | |
| 30 | + * 배너를 관리하기 위해 등록된 배너목록을 조회한다. | |
| 31 | + * @param bannerVO - 배너 Vo | |
| 32 | + * @return List - 배너 목록 | |
| 33 | + * @exception Exception | |
| 34 | + */ | |
| 35 | + @SuppressWarnings("unchecked") | |
| 36 | + public List<BannerVO> selectBannerList(BannerVO bannerVO) throws Exception { | |
| 37 | + return (List<BannerVO>) list("bannerDAO.selectBannerList", bannerVO); | |
| 38 | + } | |
| 39 | + | |
| 40 | + /** | |
| 41 | + * 배너목록 총 갯수를 조회한다. | |
| 42 | + * @param bannerVO BannerVO | |
| 43 | + * @return int | |
| 44 | + * @exception Exception | |
| 45 | + */ | |
| 46 | + public int selectBannerListTotCnt(BannerVO bannerVO) throws Exception { | |
| 47 | + return (Integer)select("bannerDAO.selectBannerListTotCnt", bannerVO); | |
| 48 | + } | |
| 49 | + | |
| 50 | + /** | |
| 51 | + * 등록된 배너의 상세정보를 조회한다. | |
| 52 | + * @param bannerVO - 배너 Vo | |
| 53 | + * @return BannerVO - 배너 Vo | |
| 54 | + * | |
| 55 | + * @param bannerVO | |
| 56 | + */ | |
| 57 | + public BannerVO selectBanner(BannerVO bannerVO) throws Exception { | |
| 58 | + return (BannerVO) select("bannerDAO.selectBanner", bannerVO); | |
| 59 | + } | |
| 60 | + | |
| 61 | + /** | |
| 62 | + * 배너정보를 신규로 등록한다. | |
| 63 | + * @param banner - 배너 model | |
| 64 | + */ | |
| 65 | + public void insertBanner(Banner banner) throws Exception { | |
| 66 | + insert("bannerDAO.insertBanner", banner); | |
| 67 | + } | |
| 68 | + | |
| 69 | + /** | |
| 70 | + * 기 등록된 배너정보를 수정한다. | |
| 71 | + * @param banner - 배너 model | |
| 72 | + */ | |
| 73 | + public void updateBanner(Banner banner) throws Exception { | |
| 74 | + update("bannerDAO.updateBanner", banner); | |
| 75 | + } | |
| 76 | + | |
| 77 | + /** | |
| 78 | + * 기 등록된 배너정보를 삭제한다. | |
| 79 | + * @param banner - 배너 model | |
| 80 | + * | |
| 81 | + * @param banner | |
| 82 | + */ | |
| 83 | + public void deleteBanner(Banner banner) throws Exception { | |
| 84 | + delete("bannerDAO.deleteBanner", banner); | |
| 85 | + } | |
| 86 | + | |
| 87 | + /** | |
| 88 | + * 기 등록된 배너정보의 이미지파일을 삭제하기 위해 파일정보를 조회한다. | |
| 89 | + * @param banner - 배너 model | |
| 90 | + * @return FileVO - 파일 VO | |
| 91 | + */ | |
| 92 | + public FileVO selectBannerFile(Banner banner) throws Exception { | |
| 93 | + return (FileVO) select("bannerDAO.selectBannerFile", banner); | |
| 94 | + } | |
| 95 | + | |
| 96 | + /** | |
| 97 | + * 배너가 특정화면에 반영된 결과를 조회한다. | |
| 98 | + * @param bannerVO - 배너 VO | |
| 99 | + * @return BannerVO - 배너 VO | |
| 100 | + * @exception Exception | |
| 101 | + */ | |
| 102 | + @SuppressWarnings("unchecked") | |
| 103 | + public List<BannerVO> selectBannerResult(BannerVO bannerVO) throws Exception { | |
| 104 | + return (List<BannerVO>) list("bannerDAO.selectBannerResult", bannerVO); | |
| 105 | + } | |
| 106 | + | |
| 107 | + @SuppressWarnings("unchecked") | |
| 108 | + public List<EgovMap> getSortList() throws Exception { | |
| 109 | + return (List<EgovMap>) list("bannerDAO.getSortList",null); | |
| 110 | + } | |
| 111 | + | |
| 112 | + public int getMaxSort() throws Exception { | |
| 113 | + return (Integer)select("bannerDAO.getMaxSort") ; | |
| 114 | + } | |
| 115 | + | |
| 116 | + public void updateSortUp(SortVO sortVO) throws Exception { | |
| 117 | + update("bannerDAO.updateSortUp", sortVO); | |
| 118 | + | |
| 119 | + } | |
| 120 | + | |
| 121 | + public void resetSort(BannerVO bannerVO) throws Exception { | |
| 122 | + update("bannerDAO.resetSort", bannerVO); | |
| 123 | + } | |
| 124 | + | |
| 125 | + public void updateSortDown(SortVO sortVO) { | |
| 126 | + update("bannerDAO.updateSortDown", sortVO); | |
| 127 | + } | |
| 128 | + | |
| 129 | +} |
+++ src/main/java/egovframework/com/uss/ion/bnr/service/impl/EgovBannerServiceImpl.java
... | ... | @@ -0,0 +1,168 @@ |
| 1 | +/** | |
| 2 | + * 개요 | |
| 3 | + * - 배너에 대한 ServiceImpl 클래스를 정의한다. | |
| 4 | + * | |
| 5 | + * 상세내용 | |
| 6 | + * - 배너에 대한 등록, 수정, 삭제, 조회, 반영확인 기능을 제공한다. | |
| 7 | + * - 배너의 조회기능은 목록조회, 상세조회로 구분된다. | |
| 8 | + * @author 이문준 | |
| 9 | + * @version 1.0 | |
| 10 | + * @created 03-8-2009 오후 2:07:12 | |
| 11 | + */ | |
| 12 | + | |
| 13 | +package egovframework.com.uss.ion.bnr.service.impl; | |
| 14 | + | |
| 15 | +import java.io.File; | |
| 16 | +import java.math.BigDecimal; | |
| 17 | +import java.util.LinkedHashMap; | |
| 18 | +import java.util.List; | |
| 19 | +import java.util.Map; | |
| 20 | + | |
| 21 | +import egovframework.com.cmm.service.FileVO; | |
| 22 | +import egovframework.com.uss.ion.bnr.service.Banner; | |
| 23 | +import egovframework.com.uss.ion.bnr.service.BannerVO; | |
| 24 | +import egovframework.com.uss.ion.bnr.service.EgovBannerService; | |
| 25 | +import egovframework.com.uss.ion.pwm.service.SortVO; | |
| 26 | +import egovframework.rte.fdl.cmmn.EgovAbstractServiceImpl; | |
| 27 | +import egovframework.rte.psl.dataaccess.util.EgovMap; | |
| 28 | + | |
| 29 | +import javax.annotation.Resource; | |
| 30 | + | |
| 31 | +import org.slf4j.Logger; | |
| 32 | +import org.slf4j.LoggerFactory; | |
| 33 | +import org.springframework.stereotype.Service; | |
| 34 | + | |
| 35 | +@Service("egovBannerService") | |
| 36 | +public class EgovBannerServiceImpl extends EgovAbstractServiceImpl implements EgovBannerService { | |
| 37 | + | |
| 38 | + /** logger */ | |
| 39 | + private static final Logger LOGGER = LoggerFactory.getLogger(EgovBannerServiceImpl.class); | |
| 40 | + | |
| 41 | + @Resource(name="bannerDAO") | |
| 42 | + private BannerDAO bannerDAO; | |
| 43 | + | |
| 44 | + /** | |
| 45 | + * 배너를 관리하기 위해 등록된 배너목록을 조회한다. | |
| 46 | + * @param bannerVO - 배너 VO | |
| 47 | + * @return List - 배너 목록 | |
| 48 | + */ | |
| 49 | + public List<BannerVO> selectBannerList(BannerVO bannerVO) throws Exception{ | |
| 50 | + return bannerDAO.selectBannerList(bannerVO); | |
| 51 | + } | |
| 52 | + | |
| 53 | + /** | |
| 54 | + * 배너목록 총 갯수를 조회한다. | |
| 55 | + * @param bannerVO - 배너 VO | |
| 56 | + * @return int - 배너 카운트 수 | |
| 57 | + */ | |
| 58 | + public int selectBannerListTotCnt(BannerVO bannerVO) throws Exception { | |
| 59 | + return bannerDAO.selectBannerListTotCnt(bannerVO); | |
| 60 | + } | |
| 61 | + | |
| 62 | + /** | |
| 63 | + * 등록된 배너의 상세정보를 조회한다. | |
| 64 | + * @param bannerVO - 배너 VO | |
| 65 | + * @return BannerVO - 배너 VO | |
| 66 | + */ | |
| 67 | + public BannerVO selectBanner(BannerVO bannerVO) throws Exception{ | |
| 68 | + return bannerDAO.selectBanner(bannerVO); | |
| 69 | + } | |
| 70 | + | |
| 71 | + /** | |
| 72 | + * 배너정보를 신규로 등록한다. | |
| 73 | + * @param banner - 배너 model | |
| 74 | + */ | |
| 75 | + public BannerVO insertBanner(Banner banner, BannerVO bannerVO) throws Exception{ | |
| 76 | + bannerDAO.insertBanner(banner); | |
| 77 | + bannerVO.setBannerId(banner.getBannerId()); | |
| 78 | + return selectBanner(bannerVO); | |
| 79 | + } | |
| 80 | + | |
| 81 | + /** | |
| 82 | + * 기 등록된 배너정보를 수정한다. | |
| 83 | + * @param banner - 배너 model | |
| 84 | + */ | |
| 85 | + public void updateBanner(Banner banner) throws Exception{ | |
| 86 | + bannerDAO.updateBanner(banner); | |
| 87 | + } | |
| 88 | + | |
| 89 | + /** | |
| 90 | + * 기 등록된 배너정보를 삭제한다. | |
| 91 | + * @param banner - 배너 model | |
| 92 | + */ | |
| 93 | + public void deleteBanner(Banner banner) throws Exception { | |
| 94 | + deleteBannerFile(banner); | |
| 95 | + bannerDAO.deleteBanner(banner); | |
| 96 | + } | |
| 97 | + | |
| 98 | + /** | |
| 99 | + * 기 등록된 배너정보의 이미지파일을 삭제한다. | |
| 100 | + * @param banner - 배너 model | |
| 101 | + */ | |
| 102 | + public void deleteBannerFile(Banner banner) throws Exception{ | |
| 103 | + FileVO fileVO = (FileVO)bannerDAO.selectBannerFile(banner); | |
| 104 | + | |
| 105 | + if(null != fileVO){ | |
| 106 | + File file = new File(fileVO.getFileStreCours()+fileVO.getStreFileNm()); | |
| 107 | + //2017.02.08 이정은 시큐어코딩(ES)-부적절한 예외 처리[CWE-253, CWE-440, CWE-754] | |
| 108 | + if(file.delete()){ | |
| 109 | + LOGGER.debug("[file.delete] file : File Deletion Success"); | |
| 110 | + }else{ | |
| 111 | + LOGGER.error("[file.delete] file : File Deletion Fail"); | |
| 112 | + } | |
| 113 | + } | |
| 114 | + } | |
| 115 | + | |
| 116 | + /** | |
| 117 | + * 배너가 특정화면에 반영된 결과를 조회한다. | |
| 118 | + * @param bannerVO - 배너 VO | |
| 119 | + * @return BannerVO - 배너 VO | |
| 120 | + */ | |
| 121 | + public List<BannerVO> selectBannerResult(BannerVO bannerVO) throws Exception{ | |
| 122 | + return bannerDAO.selectBannerResult(bannerVO); | |
| 123 | + } | |
| 124 | + | |
| 125 | + @Override | |
| 126 | + public Map<String, String> getSortList(int mode) throws Exception { | |
| 127 | + List<EgovMap> egovMapList = bannerDAO.getSortList(); | |
| 128 | + | |
| 129 | + Map<String, String> codeMap = new LinkedHashMap<String, String>(); | |
| 130 | + | |
| 131 | + int maxnum = 1; | |
| 132 | + for(EgovMap egovMap:egovMapList){ | |
| 133 | + codeMap.put(String.valueOf(egovMap.get("cmSubCode")), String.valueOf(egovMap.get("cmCodeName"))); | |
| 134 | + BigDecimal bd; | |
| 135 | + bd = (BigDecimal)egovMap.get("cmCodeName"); | |
| 136 | + maxnum = bd.intValue() + 1; | |
| 137 | + } | |
| 138 | + | |
| 139 | + if(mode == 0) | |
| 140 | + { | |
| 141 | + codeMap.put(String.valueOf(maxnum), String.valueOf(maxnum)); | |
| 142 | + } | |
| 143 | + return codeMap; | |
| 144 | + } | |
| 145 | + | |
| 146 | + @Override | |
| 147 | + public int getMaxSort() throws Exception { | |
| 148 | + return bannerDAO.getMaxSort(); | |
| 149 | + } | |
| 150 | + | |
| 151 | + @Override | |
| 152 | + public void updateSortUp(SortVO sortVO) throws Exception { | |
| 153 | + bannerDAO.updateSortUp(sortVO); | |
| 154 | + | |
| 155 | + } | |
| 156 | + | |
| 157 | + @Override | |
| 158 | + public void resetSort(BannerVO bannerVO) throws Exception { | |
| 159 | + bannerDAO.resetSort(bannerVO); | |
| 160 | + } | |
| 161 | + | |
| 162 | + @Override | |
| 163 | + public void updateSortDown(SortVO sortVO) throws Exception { | |
| 164 | + bannerDAO.updateSortDown(sortVO); | |
| 165 | + | |
| 166 | + } | |
| 167 | + | |
| 168 | +}(No newline at end of file) |
+++ src/main/java/egovframework/com/uss/ion/bnr/web/EgovBannerController.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/com/uss/ion/cyb/service/CyberAlertManageDAO.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/com/uss/ion/cyb/service/CyberAlertManageService.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/com/uss/ion/cyb/service/CyberAlertManageVO.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/com/uss/ion/cyb/service/impl/CyberAlertManageServiceImpl.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/com/uss/ion/cyb/web/CyberAlertManageController.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/com/uss/ion/fms/service/FmsFileService.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/com/uss/ion/fms/service/FmsFileVO.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/com/uss/ion/fms/service/impl/FmsFileDAO.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/com/uss/ion/fms/service/impl/FmsFileServiceImpl.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/com/uss/ion/fms/web/FmsFileController.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/com/uss/ion/pub/service/EgovPublishService.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/com/uss/ion/pub/service/PublishVO.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/com/uss/ion/pub/service/impl/EgovPublishServiceImpl.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/com/uss/ion/pub/service/impl/PublishDAO.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/com/uss/ion/pub/web/EgovPubController.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/com/uss/ion/pwm/service/EgovPopupManageService.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/com/uss/ion/pwm/service/MainzoneVO.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/com/uss/ion/pwm/service/PopupManage.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/com/uss/ion/pwm/service/PopupManageVO.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/com/uss/ion/pwm/service/PopupzoneVO.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/com/uss/ion/pwm/service/SortVO.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/com/uss/ion/pwm/service/impl/EgovPopupManageServiceImpl.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/com/uss/ion/pwm/service/impl/PopupManageDAO.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/com/uss/ion/pwm/service/impl/PopupzoneManageDAO.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/com/uss/ion/pwm/web/EgovPopupManageController.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/com/uss/ion/pwm/web/EgovServiceManageController.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/com/utl/fcc/service/EgovDateFormat.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/com/utl/fcc/service/EgovDateUtil.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/com/utl/fcc/service/EgovFileUploadUtil.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/com/utl/fcc/service/EgovFormBasedFileUtil.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/com/utl/fcc/service/EgovFormBasedFileVo.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/com/utl/fcc/service/EgovFormBasedUUID.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/com/utl/fcc/service/EgovFormatCheckUtil.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/com/utl/fcc/service/EgovNumberCheckUtil.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/com/utl/fcc/service/EgovNumberFormat.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/com/utl/fcc/service/EgovNumberUtil.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/com/utl/fcc/service/EgovStringUtil.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/com/utl/wed/filter/CkFilter.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/com/utl/wed/filter/CkImageSaver.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/com/utl/wed/filter/DefaultFileSaveManager.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/com/utl/wed/filter/DirectoryPathManager.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/com/utl/wed/filter/FileSaveManager.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/com/utl/wed/web/EgovWebEditorImageController.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/cop/bbs/service/Board.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/cop/bbs/service/BoardChgHst.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/cop/bbs/service/BoardMaster.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/cop/bbs/service/BoardMasterVO.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/cop/bbs/service/BoardVO.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/cop/bbs/service/EgovBBSAttributeManageService.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/cop/bbs/service/EgovBBSChgHstAspect.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/cop/bbs/service/EgovBBSLoneMasterService.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/cop/bbs/service/EgovBBSManageService.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/cop/bbs/service/impl/BBSAddedOptionsDAO.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/cop/bbs/service/impl/BBSAttributeManageDAO.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/cop/bbs/service/impl/BBSLoneMasterDAO.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/cop/bbs/service/impl/BBSManageDAO.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/cop/bbs/service/impl/EgovBBSAttributeManageServiceImpl.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/cop/bbs/service/impl/EgovBBSLoneMasterServiceImpl.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/cop/bbs/service/impl/EgovBBSManageServiceImpl.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/cop/bbs/web/EgovBBSAttributeManageController.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/cop/bbs/web/EgovBBSLoneMasterController.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/cop/bbs/web/EgovBBSManageController.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/cop/bizIntro/service/BizIntroService.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/cop/bizIntro/service/BizIntroVO.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/cop/bizIntro/service/QnaVO.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/cop/bizIntro/service/SubsrUserVo.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/cop/bizIntro/service/impl/BizIntroDAO.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/cop/bizIntro/service/impl/BizIntroServiceImpl.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/cop/bizIntro/web/BizIntroController.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/cop/bizIntro/web/EngBizIntroController.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/cop/cmt/service/Comment.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/cop/cmt/service/CommentVO.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/cop/cmt/service/EgovArticleCommentService.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/cop/cmt/service/impl/EgovArticleCommentDAO.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/cop/cmt/service/impl/EgovArticleCommentServiceImpl.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/cop/cmt/web/EgovArticleCommentController.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/cop/com/service/BoardUseInf.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/cop/com/service/BoardUseInfVO.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/cop/com/service/EgovBBSUseInfoManageService.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/cop/com/service/EgovTemplateManageService.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/cop/com/service/EgovUserInfManageService.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/cop/com/service/TemplateInf.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/cop/com/service/TemplateInfVO.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/cop/com/service/UserInfVO.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/cop/com/service/impl/BBSUseInfoManageDAO.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/cop/com/service/impl/EgovBBSUseInfoManageServiceImpl.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/cop/com/service/impl/EgovTemplateManageServiceImpl.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/cop/com/service/impl/EgovUserInfManageDAO.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/cop/com/service/impl/EgovUserInfManageServiceImpl.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/cop/com/service/impl/TemplateManageDAO.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/cop/com/web/EgovBBSUseInfoManageController.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/cop/com/web/EgovTemplateManageController.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/cop/org/service/EgovOrgChartManageService.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/cop/org/service/EmpInfVO.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/cop/org/service/PartInfVO.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/cop/org/service/impl/EgovOrgChartManageServiceImpl.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/cop/org/service/impl/OrgChartManageDAO.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/cop/org/web/EgovOrgChartManageController.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/cop/resve/service/Resve.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/cop/resve/service/ResveManageService.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/cop/resve/service/ResveVO.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/cop/resve/service/impl/ResveManageDAO.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/cop/resve/service/impl/ResveManageServiceImpl.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/cop/resve/web/ResveManageController.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/cop/smt/sim/service/EgovIndvdlSchdulManageService.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/cop/smt/sim/service/IndvdlSchdulManageVO.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/cop/smt/sim/service/impl/EgovIndvdlSchdulManageServiceImpl.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/cop/smt/sim/service/impl/IndvdlSchdulManageDao.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/cop/smt/sim/web/EgovIndvdlSchdulManageController.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/itsm/asset/service/AssetFile.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/itsm/asset/service/AssetHisVO.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/itsm/asset/service/AssetManageService.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/itsm/asset/service/AssetReVO.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/itsm/asset/service/AssetRtVO.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/itsm/asset/service/AssetVO.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/itsm/asset/service/LocVO.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/itsm/asset/service/impl/AssetManageDAO.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/itsm/asset/service/impl/AssetManageServiceImpl.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/itsm/asset/web/AssetManageController.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/itsm/audit/service/AuditItemVO.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/itsm/audit/service/AuditManageService.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/itsm/audit/service/AuditVO.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/itsm/audit/service/AutItemListVO.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/itsm/audit/service/impl/AuditManageDAO.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/itsm/audit/service/impl/AuditManageServiceImpl.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/itsm/audit/web/AuditManageController.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/itsm/bizCntrt/service/BizCntrtManageService.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/itsm/bizCntrt/service/BizCntrtVO.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/itsm/bizCntrt/service/BizHistListVO.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/itsm/bizCntrt/service/BizHistVO.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/itsm/bizCntrt/service/BizItemVO.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/itsm/bizCntrt/service/impl/BizCntrtManageDAO.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/itsm/bizCntrt/service/impl/BizCntrtManageServiceImpl.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/itsm/bizCntrt/web/BizCntrtManageController.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/itsm/company/service/CompanyFileVO.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/itsm/company/service/CompanyMngService.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/itsm/company/service/CompanyMngVO.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/itsm/company/service/impl/CompanyMngDAO.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/itsm/company/service/impl/CompanyMngServiceImpl.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/itsm/company/web/CompanyManageController.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/itsm/cvlCmplnt/service/ApprovalVO.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/itsm/cvlCmplnt/service/CvlCmplntManageService.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/itsm/cvlCmplnt/service/CvlCmplntVO.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/itsm/cvlCmplnt/service/EqRntlVO.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/itsm/cvlCmplnt/service/EqpmntRentalManageService.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/itsm/cvlCmplnt/service/SchdlrManageService.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/itsm/cvlCmplnt/service/SchdlrVO.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/itsm/cvlCmplnt/service/impl/CvlCmplntManageDAO.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/itsm/cvlCmplnt/service/impl/CvlCmplntManageServiceImpl.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/itsm/cvlCmplnt/service/impl/EqpmntRentalManageDAO.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/itsm/cvlCmplnt/service/impl/EqpmntRentalManageServiceImpl.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/itsm/cvlCmplnt/service/impl/SchdlrManageDAO.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/itsm/cvlCmplnt/service/impl/SchdlrManageServiceImpl.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/itsm/cvlCmplnt/web/CvlCmplntManageController.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/itsm/cvlCmplnt/web/EqpmntRentalManageController.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/itsm/cvlCmplnt/web/SchMailSendScheduling.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/itsm/cvlCmplnt/web/SchdlrManageController.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/itsm/edu/service/EduManageService.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/itsm/edu/service/EduVO.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/itsm/edu/service/impl/EduManageDAO.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/itsm/edu/service/impl/EduManageServiceImpl.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/itsm/edu/web/EduManageController.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/itsm/fault/service/FaultCalendarVO.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/itsm/fault/service/FaultMngService.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/itsm/fault/service/FaultMngVO.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/itsm/fault/service/FaultReportVO.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/itsm/fault/service/impl/FaultMngDAO.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/itsm/fault/service/impl/FaultMngServiceImpl.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/itsm/fault/web/FaultManageController.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/itsm/ip/service/IpFile.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/itsm/ip/service/IpHisVO.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/itsm/ip/service/IpManageService.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/itsm/ip/service/IpRecVO.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/itsm/ip/service/IpTeVO.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/itsm/ip/service/IpVO.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/itsm/ip/web/IpManageController.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/itsm/ip/web/service/impl/IpManageDAO.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/itsm/ip/web/service/impl/IpManageServiceImpl.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/itsm/nis/service/NisMngFile.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/itsm/nis/service/NisMngService.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/itsm/nis/service/NisMnglVO.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/itsm/nis/service/impl/NisMngDAO.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/itsm/nis/service/impl/NisMngServiceImpl.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/itsm/nis/web/NisManageController.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/itsm/org/service/OrgCharVO.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/itsm/org/service/OrgChartManageService.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/itsm/org/service/impl/ItsmOrgChartManageDAO.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/itsm/org/service/impl/OrgChartManageServiceImpl.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/itsm/org/web/OrgChartManageController.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/itsm/per/service/PerManageService.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/itsm/per/service/PeriFile.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/itsm/per/service/PerispVO.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/itsm/per/service/PeritemListVO.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/itsm/per/service/PeritemVO.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/itsm/per/service/impl/PerManageDAO.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/itsm/per/service/impl/PerManageServiceImpl.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/itsm/per/web/PerManageController.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/itsm/security/service/RuleVO.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/itsm/security/service/SecItemVO.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/itsm/security/service/SecManageService.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/itsm/security/service/SecVO.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/itsm/security/service/impl/SecManageDAO.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/itsm/security/service/impl/SecManageServiceImpl.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/itsm/security/web/RuleManageController.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/itsm/security/web/SecManageController.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/itsm/sla/service/EvalMngService.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/itsm/sla/service/EvalVO.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/itsm/sla/service/EvalitemVO.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/itsm/sla/service/SlaAutItemVO.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/itsm/sla/service/SlaAutscitecVO.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/itsm/sla/service/SlaEvitVO.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/itsm/sla/service/SlaMngService.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/itsm/sla/service/impl/EvalItemServiceImpl.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/itsm/sla/service/impl/EvalMngDAO.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/itsm/sla/service/impl/SlaMngDAO.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/itsm/sla/service/impl/SlaMngServiceImpl.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/itsm/sla/web/EvalManageController.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/itsm/sla/web/SlaManageController.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/itsm/sync/service/SyncDeptVO.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/itsm/sync/service/SyncGetMngService.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/itsm/sync/service/SyncManageScheduling.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/itsm/sync/service/SyncSetMngService.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/itsm/sync/service/SyncUserVO.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/itsm/sync/service/impl/SyncGetMngDAO.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/itsm/sync/service/impl/SyncGetMngServiceImpl.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/itsm/sync/service/impl/SyncGetMngTiberoDAO.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/itsm/sync/service/impl/SyncSetMngDAO.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/itsm/sync/service/impl/SyncSetMngServiceImpl.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/itsm/sync/web/SyncManageController.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/kcdf/search/impl/SearchServiceImpl.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/kcdf/search/service/SearchService.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/kcdf/search/web/SearchContorller.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/kopost/sys/impl/ResearchDAO.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/kopost/sys/impl/ResearchServiceImpl.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/kopost/sys/service/ResearchService.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/kopost/sys/service/ResearchVO.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/kopost/sys/web/ResearchController.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/main/service/EgovMainContentsVO.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/main/web/EgovMainController.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/main/web/FacebookAPI.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/sec/gmt/service/EgovGroupManageService.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/sec/gmt/service/GroupManage.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/sec/gmt/service/GroupManageVO.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/sec/gmt/service/impl/EgovGroupManageServiceImpl.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/sec/gmt/service/impl/GroupManageDAO.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/sec/gmt/web/EgovGroupManageController.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/sec/ram/service/AuthorManage.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/sec/ram/service/AuthorManageVO.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/sec/ram/service/AuthorRoleManage.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/sec/ram/service/AuthorRoleManageVO.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/sec/ram/service/EgovAuthorManageService.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/sec/ram/service/EgovAuthorRoleManageService.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/sec/ram/service/impl/AuthorManageDAO.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/sec/ram/service/impl/AuthorRoleManageDAO.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/sec/ram/service/impl/EgovAuthorManageServiceImpl.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/sec/ram/service/impl/EgovAuthorRoleManageServiceImpl.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/sec/ram/web/EgovAuthorManageController.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/sec/ram/web/EgovAuthorRoleController.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/sec/rgm/service/AuthorGroup.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/sec/rgm/service/AuthorGroupVO.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/sec/rgm/service/EgovAuthorGroupService.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/sec/rgm/service/impl/AuthorGroupDAO.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/sec/rgm/service/impl/EgovAuthorGroupServiceImpl.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/sec/rgm/web/EgovAuthorGroupController.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/sec/rmt/service/EgovRoleManageService.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/sec/rmt/service/RoleManage.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/sec/rmt/service/RoleManageVO.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/sec/rmt/service/impl/EgovRoleManageServiceImpl.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/sec/rmt/service/impl/RoleManageDAO.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/sec/rmt/web/EgovRoleManageController.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/sts/com/KPostStatsVO.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/sts/com/StatsVO.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/sts/cst/service/EgovConectStatsService.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/sts/cst/service/impl/ConectStatsDAO.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/sts/cst/service/impl/EgovConectStatsServiceImpl.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/sts/cst/web/EgovConectStatsController.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/sym/cal/service/EgovCalRestdeManageService.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/sym/cal/service/Restde.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/sym/cal/service/RestdeVO.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/sym/cal/service/impl/EgovCalRestdeManageServiceImpl.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/sym/cal/service/impl/RestdeManageDAO.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/sym/cal/web/EgovCalRestdeManageController.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/sym/ccm/cca/service/CmmnCode.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/sym/ccm/cca/service/CmmnCodeVO.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/sym/ccm/cca/service/EgovCcmCmmnCodeManageService.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/sym/ccm/cca/service/impl/CmmnCodeManageDAO.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/sym/ccm/cca/service/impl/EgovCcmCmmnCodeManageServiceImpl.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/sym/ccm/cca/web/EgovCcmCmmnCodeManageController.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/sym/ccm/ccc/service/CmmnClCode.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/sym/ccm/ccc/service/CmmnClCodeVO.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/sym/ccm/ccc/service/EgovCcmCmmnClCodeManageService.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/sym/ccm/ccc/service/impl/CmmnClCodeManageDAO.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/sym/ccm/ccc/service/impl/EgovCcmCmmnClCodeManageServiceImpl.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/sym/ccm/ccc/web/EgovCcmCmmnClCodeManageController.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/sym/ccm/cde/service/CmmnDetailCodeVO.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/sym/ccm/cde/service/EgovCcmCmmnDetailCodeManageService.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/sym/ccm/cde/service/impl/CmmnDetailCodeManageDAO.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/sym/ccm/cde/service/impl/EgovCcmCmmnDetailCodeManageServiceImpl.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/sym/ccm/cde/web/EgovCcmCmmnDetailCodeManageController.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/sym/ccm/zip/service/EgovCcmZipManageService.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/sym/ccm/zip/service/Zip.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/sym/ccm/zip/service/ZipVO.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/sym/ccm/zip/service/impl/EgovCcmExcelZipMapping.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/sym/ccm/zip/service/impl/EgovCcmZipManageServiceImpl.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/sym/ccm/zip/service/impl/ZipManageDAO.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/sym/ccm/zip/web/EgovCcmZipManageController.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/sym/log/clg/service/EgovLoginLogAspect.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/sym/log/clg/service/EgovLoginLogService.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/sym/log/clg/service/LoginLog.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/sym/log/clg/service/impl/EgovLoginLogServiceImpl.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/sym/log/clg/service/impl/LoginLogDAO.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/sym/log/clg/web/EgovLoginLogController.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/sym/log/lgm/service/EgovSysLogAspect.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/sym/log/lgm/service/EgovSysLogScheduling.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/sym/log/lgm/service/EgovSysLogService.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/sym/log/lgm/service/SysLog.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/sym/log/lgm/service/impl/EgovSysLogServiceImpl.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/sym/log/lgm/service/impl/SysLogDAO.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/sym/log/lgm/web/EgovSysLogController.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/sym/mnu/mcm/service/EgovMenuCreateManageService.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/sym/mnu/mcm/service/MenuCreat.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/sym/mnu/mcm/service/MenuCreatVO.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/sym/mnu/mcm/service/impl/EgovMenuCreateManageServiceImpl.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/sym/mnu/mcm/service/impl/MenuCreateManageDAO.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/sym/mnu/mcm/web/EgovMenuCreateManageController.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/sym/mnu/mpm/service/EgovMenuManageService.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/sym/mnu/mpm/service/MenuManage.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/sym/mnu/mpm/service/MenuManageJTreeVO.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/sym/mnu/mpm/service/MenuManageVO.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/sym/mnu/mpm/service/impl/EgovMenuManageServiceImpl.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/sym/mnu/mpm/service/impl/MenuManageDAO.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/sym/mnu/mpm/web/EgovMenuManageController.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/sym/prm/service/EgovProgrmManageService.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/sym/prm/service/ProgrmManage.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/sym/prm/service/ProgrmManageDtlVO.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/sym/prm/service/ProgrmManageDtls.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/sym/prm/service/ProgrmManageVO.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/sym/prm/service/impl/EgovProgrmManageServiceImpl.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/sym/prm/service/impl/ProgrmManageDAO.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/sym/prm/web/EgovProgrmManageController.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/uat/uap/filter/EgovLoginPolicyFilter.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/uat/uap/service/EgovLoginPolicyService.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/uat/uap/service/LoginPolicy.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/uat/uap/service/LoginPolicyVO.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/uat/uap/service/impl/EgovLoginPolicyServiceImpl.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/uat/uap/service/impl/LoginPolicyDAO.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/uat/uap/web/EgovLoginPolicyController.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/uat/uia/service/EgovLoginService.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/uat/uia/service/impl/EgovLoginServiceImpl.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/uat/uia/service/impl/EgovMberManageServiceImpl.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/uat/uia/service/impl/EgovSessionMapping.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/uat/uia/service/impl/LoginDAO.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/uat/uia/service/impl/MberManageDAO.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/uat/uia/web/EgovLoginController.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/uss/ion/cnt/impl/CntManageDAO.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/uss/ion/cnt/impl/EgovCntManageServiceImpl.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/uss/ion/cnt/service/CntManageVO.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/uss/ion/cnt/service/EgovCntManageService.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/uss/ion/cnt/web/EgovCntController.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/uss/ion/uas/service/EgovUserAbsnceService.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/uss/ion/uas/service/UserAbsnce.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/uss/ion/uas/service/UserAbsnceVO.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/uss/ion/uas/service/impl/EgovUserAbsnceServiceImpl.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/uss/ion/uas/service/impl/UserAbsnceDAO.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/uss/ion/uas/web/EgovUserAbsnceController.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/uss/olp/qim/service/EgovQustnrItemManageService.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/uss/olp/qim/service/QustnrItemManageVO.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/uss/olp/qim/service/impl/EgovQustnrItemManageServiceImpl.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/uss/olp/qim/service/impl/QustnrItemManageDao.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/uss/olp/qim/web/EgovQustnrItemManageController.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/uss/olp/qmc/service/EgovQustnrManageService.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/uss/olp/qmc/service/QustnrManageVO.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/uss/olp/qmc/service/impl/EgovQustnrManageServiceImpl.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/uss/olp/qmc/service/impl/QustnrManageDao.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/uss/olp/qmc/web/EgovQustnrManageController.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/uss/olp/qqm/service/EgovQustnrQestnManageService.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/uss/olp/qqm/service/QustnrQestnManageVO.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/uss/olp/qqm/service/impl/EgovQustnrQestnManageServiceImpl.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/uss/olp/qqm/service/impl/QustnrQestnManageDao.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/uss/olp/qqm/web/EgovQustnrQestnManageController.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/uss/olp/qri/service/EgovQustnrRespondInfoService.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/uss/olp/qri/service/QustnrRespondInfoVO.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/uss/olp/qri/service/impl/EgovQustnrRespondInfoServiceImpl.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/uss/olp/qri/service/impl/QustnrRespondInfoDao.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/uss/olp/qri/web/EgovQustnrRespondInfoController.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/uss/olp/qrm/service/EgovQustnrRespondManageService.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/uss/olp/qrm/service/QustnrRespondManageVO.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/uss/olp/qrm/service/impl/EgovQustnrRespondManageServiceImpl.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/uss/olp/qrm/service/impl/QustnrRespondManageDao.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/uss/olp/qrm/web/EgovQustnrRespondManageController.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/uss/olp/qtm/service/EgovQustnrTmplatManageService.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/uss/olp/qtm/service/QustnrTmplatManageVO.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/uss/olp/qtm/service/impl/EgovQustnrTmplatManageServiceImpl.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/uss/olp/qtm/service/impl/QustnrTmplatManageDao.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/uss/olp/qtm/web/EgovQustnrTmplatManageController.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/uss/umt/service/EgovMberManageService.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/uss/umt/service/EgovUserManageService.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/uss/umt/service/MberManageConfigVO.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/uss/umt/service/MberManageVO.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/uss/umt/service/UserDefaultVO.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/uss/umt/service/UserFIle.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/uss/umt/service/UserManageVO.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/uss/umt/service/impl/EgovUserManageServiceImpl.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/uss/umt/service/impl/UserManageDAO.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/uss/umt/web/EgovUserManageController.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/utl/fcc/service/EgovDateUtil.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/utl/fcc/service/EgovNumberUtil.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/utl/fcc/service/EgovStringUtil.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/utl/log4j/Log4JdbcCustomFormatter.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/utl/sim/service/EgovClntInfo.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/let/utl/sim/service/EgovFileScrty.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/web/ContentController.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/java/egovframework/web/MainController.java
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/egovProps/ck.properties
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/egovProps/globals.properties
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/egovProps/globals_svr.properties
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/message/com/message-common.properties
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/message/com/message-common_en.properties
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/message/com/message-common_ko.properties
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/spring/com/context-aspect.xml
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/spring/com/context-bbsChgHst.xml
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/spring/com/context-common.xml
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/spring/com/context-datasource.xml
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/spring/com/context-excel.xml
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/spring/com/context-idgen.xml
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/spring/com/context-mail.xml
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/spring/com/context-properties.xml
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/spring/com/context-scheduling-sym-log-lgm.xml
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/spring/com/context-scheduling-sym-log-lgm.xml_201106
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/spring/com/context-scheduling-sym-log-lgm.xml_201109
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/spring/com/context-scheduling-sym-log-lgm.xml_201123
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/spring/com/context-scheduling-sym-log-lgm.xml_210308
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/spring/com/context-scheduling-sym-log-lgm.xml_210308_2
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/spring/com/context-security.xml
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/spring/com/context-sqlMap.xml
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/spring/com/context-syslogaop.xml
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/spring/com/context-transaction.xml
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/spring/com/context-validator.xml
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/sqlmap/com/uss/ion/bnr/EgovBanner_SQL_Mysql.xml
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/sqlmap/com/uss/ion/pub/EgovPublish_SQL_Mysql.xml
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/sqlmap/config/mysql/sql-map-config-mysql-audit.xml
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/sqlmap/config/mysql/sql-map-config-mysql-cmm.xml
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/sqlmap/config/mysql/sql-map-config-mysql-cop-bbs.xml
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/sqlmap/config/mysql/sql-map-config-mysql-cop-bizIntro.xml
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/sqlmap/config/mysql/sql-map-config-mysql-cop-cmt.xml
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/sqlmap/config/mysql/sql-map-config-mysql-cop-com.xml
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/sqlmap/config/mysql/sql-map-config-mysql-cop-org.xml
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/sqlmap/config/mysql/sql-map-config-mysql-cop-resve.xml
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/sqlmap/config/mysql/sql-map-config-mysql-cop-smt-sim.xml
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/sqlmap/config/mysql/sql-map-config-mysql-pst-rsh.xml
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/sqlmap/config/mysql/sql-map-config-mysql-sec-gmt.xml
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/sqlmap/config/mysql/sql-map-config-mysql-sec-ram.xml
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/sqlmap/config/mysql/sql-map-config-mysql-sec-rgm.xml
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/sqlmap/config/mysql/sql-map-config-mysql-sec-rmt.xml
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/sqlmap/config/mysql/sql-map-config-mysql-sts-cst.xml
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/sqlmap/config/mysql/sql-map-config-mysql-sym-ccm-cca.xml
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/sqlmap/config/mysql/sql-map-config-mysql-sym-ccm-ccc.xml
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/sqlmap/config/mysql/sql-map-config-mysql-sym-ccm-cde.xml
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/sqlmap/config/mysql/sql-map-config-mysql-sym-ccm-zip.xml
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/sqlmap/config/mysql/sql-map-config-mysql-sym-log-clg.xml
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/sqlmap/config/mysql/sql-map-config-mysql-sym-log-lgm.xml
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/sqlmap/config/mysql/sql-map-config-mysql-sym-log-ulg.xml
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/sqlmap/config/mysql/sql-map-config-mysql-sym-mnu-mcm.xml
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/sqlmap/config/mysql/sql-map-config-mysql-sym-mnu-mpm.xml
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/sqlmap/config/mysql/sql-map-config-mysql-sym-prm.xml
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/sqlmap/config/mysql/sql-map-config-mysql-uat-uap.xml
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/sqlmap/config/mysql/sql-map-config-mysql-uat.xml
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/sqlmap/config/mysql/sql-map-config-mysql-uss-ion-bnr.xml
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/sqlmap/config/mysql/sql-map-config-mysql-uss-ion-cnt.xml
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/sqlmap/config/mysql/sql-map-config-mysql-uss-ion-cyb.xml
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/sqlmap/config/mysql/sql-map-config-mysql-uss-ion-fms.xml
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/sqlmap/config/mysql/sql-map-config-mysql-uss-ion-pub.xml
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/sqlmap/config/mysql/sql-map-config-mysql-uss-ion-pwm.xml
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/sqlmap/config/mysql/sql-map-config-mysql-uss-ion-uas.xml
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/sqlmap/config/mysql/sql-map-config-mysql-uss-olp-qim.xml
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/sqlmap/config/mysql/sql-map-config-mysql-uss-olp-qmc.xml
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/sqlmap/config/mysql/sql-map-config-mysql-uss-olp-qqm.xml
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/sqlmap/config/mysql/sql-map-config-mysql-uss-olp-qri.xml
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/sqlmap/config/mysql/sql-map-config-mysql-uss-olp-qrm.xml
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/sqlmap/config/mysql/sql-map-config-mysql-uss-olp-qtm.xml
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/sqlmap/config/mysql/sql-map-config-mysql-uss-umt.xml
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/sqlmap/config/oracle/sql-map-config-oracle-test.xml
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/sqlmap/config/tibero/sql-map-config-tibero-test.xml
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/sqlmap/let/asset/AssetManage_SQL_Mysql.xml
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/sqlmap/let/asset/AssetManage_SQL_Mysql.xml_20210120
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/sqlmap/let/audit/AuditManage_SQL_Mysql.xml
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/sqlmap/let/bizCntrt/BizCntrtManage_SQL_Mysql.xml
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/sqlmap/let/bizCntrt/BizCntrtManage_SQL_Mysql.xml_20210120
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/sqlmap/let/cmm/fms/EgovFile_SQL_Mysql.xml
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/sqlmap/let/cmm/use/EgovCmmUse_SQL_Mysql.xml
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/sqlmap/let/company/CompanyManage_SQL_Mysql.xml
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/sqlmap/let/cop/bbs/EgovBBSMaster_SQL_Mysql.xml
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/sqlmap/let/cop/bbs/EgovBoard_SQL_Mysql.xml
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/sqlmap/let/cop/bizIntro/BizIntro_SQL_Mysql.xml
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/sqlmap/let/cop/cmt/EgovArticleComment_SQL_Mysql.xml
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/sqlmap/let/cop/cmt/EgovArticleComment_SQL_Mysql.xml_220929
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/sqlmap/let/cop/com/EgovBBSUse_SQL_Altibase.xml
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/sqlmap/let/cop/com/EgovBBSUse_SQL_Cubrid.xml
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/sqlmap/let/cop/com/EgovBBSUse_SQL_Mysql.xml
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/sqlmap/let/cop/com/EgovBBSUse_SQL_Oracle.xml
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/sqlmap/let/cop/com/EgovBBSUse_SQL_Tibero.xml
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/sqlmap/let/cop/com/EgovTemplate_SQL_Altibase.xml
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/sqlmap/let/cop/com/EgovTemplate_SQL_Cubrid.xml
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/sqlmap/let/cop/com/EgovTemplate_SQL_Mysql.xml
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/sqlmap/let/cop/com/EgovTemplate_SQL_Oracle.xml
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/sqlmap/let/cop/com/EgovTemplate_SQL_Tibero.xml
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/sqlmap/let/cop/org/EgovOrgChart_SQL_Mysql.xml
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/sqlmap/let/cop/resve/ResveManage_SQL_Mysql.xml
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/sqlmap/let/cop/smt/sim/EgovIndvdlSchdulManage_SQL_Mysql.xml
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/sqlmap/let/cvlCmplnt/CvlCmplntManage_SQL_Mysql.xml
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/sqlmap/let/cvlCmplnt/EqpmntRentalManage_SQL_Mysql.xml
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/sqlmap/let/cvlCmplnt/EqpmntRentalManage_SQL_Mysql.xml_201020
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/sqlmap/let/cvlCmplnt/EqpmntRentalManage_SQL_Mysql.xml_20210114
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/sqlmap/let/cvlCmplnt/EqpmntRentalManage_SQL_Mysql.xml_20210114_2
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/sqlmap/let/cvlCmplnt/EqpmntRentalManage_SQL_Mysql.xml_250512
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/sqlmap/let/cvlCmplnt/EqpmntRentalManage_SQL_Mysql.xml_250726
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/sqlmap/let/cvlCmplnt/SchdlrManage_SQL_Mysql.xml
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/sqlmap/let/edu/EduManage_SQL_Mysql.xml
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/sqlmap/let/eval/EvalMng_SQL_Mysql.xml
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/sqlmap/let/fault/FaultManage_SQL_Mysql.xml
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/sqlmap/let/fault/FaultManage_SQL_Mysql.xml_20210120
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/sqlmap/let/ip/IpManage_SQL_Mysql.xml
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/sqlmap/let/ip/IpManage_SQL_Mysql.xml_20210120
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/sqlmap/let/nis/NisManage_SQL_Mysql.xml
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/sqlmap/let/oracle/SQL_Maria.xml
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/sqlmap/let/oracle/SQL_Oracle.xml
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/sqlmap/let/orgChart/OrgChartManage_SQL_Mysql.xml
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/sqlmap/let/orgChart/OrgChartManage_SQL_Mysql.xml_201106
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/sqlmap/let/orgChart/OrgChartManage_SQL_Mysql.xml_20210114
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/sqlmap/let/per/PerManage_SQL_Mysql.xml
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/sqlmap/let/pst/rsh/Research_Action_SQL.xml
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/sqlmap/let/sec/gmt/EgovGroupManage_SQL_Altibase.xml
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/sqlmap/let/sec/gmt/EgovGroupManage_SQL_Cubrid.xml
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/sqlmap/let/sec/gmt/EgovGroupManage_SQL_Mysql.xml
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/sqlmap/let/sec/gmt/EgovGroupManage_SQL_Oracle.xml
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/sqlmap/let/sec/gmt/EgovGroupManage_SQL_Tibero.xml
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/sqlmap/let/sec/ram/EgovAuthorManage_SQL_Mysql.xml
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/sqlmap/let/sec/ram/EgovAuthorRoleManage_SQL_Mysql.xml
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/sqlmap/let/sec/rgm/EgovAuthorGroup_SQL_Mysql.xml
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/sqlmap/let/sec/rmt/EgovRoleManage_SQL_Mysql.xml
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/sqlmap/let/security/SecManage_SQL_Mysql.xml
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/sqlmap/let/sla/SlaManage_SQL_Mysql.xml
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/sqlmap/let/sla/SlaManage_SQL_Mysql.xml_20210120
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/sqlmap/let/sts/cst/EgovConectStats_SQL_Mysql.xml
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/sqlmap/let/sym/ccm/cca/EgovCmmnCodeManage_SQL_Mysql.xml
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/sqlmap/let/sym/ccm/ccc/EgovCmmnClCodeManage_SQL_Mysql.xml
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/sqlmap/let/sym/ccm/cde/EgovCmmnDetailCodeManage_SQL_Mysql.xml
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/sqlmap/let/sym/ccm/zip/EgovZipManage_SQL_Altibase.xml
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/sqlmap/let/sym/ccm/zip/EgovZipManage_SQL_Cubrid.xml
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/sqlmap/let/sym/ccm/zip/EgovZipManage_SQL_Mysql.xml
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/sqlmap/let/sym/ccm/zip/EgovZipManage_SQL_Oracle.xml
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/sqlmap/let/sym/ccm/zip/EgovZipManage_SQL_Tibero.xml
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/sqlmap/let/sym/log/clg/EgovLoginLog_SQL_Mysql.xml
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/sqlmap/let/sym/log/lgm/EgovSysLog_SQL_Mysql.xml
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/sqlmap/let/sym/log/ulg/EgovUserLog_SQL_mysql.xml
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/sqlmap/let/sym/mnu/mcm/EgovMenuCreat_SQL_Mysql.xml
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/sqlmap/let/sym/mnu/mpm/EgovMainMenu_SQL_Mysql.xml
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/sqlmap/let/sym/mnu/mpm/EgovMenuManage_SQL_Mysql.xml
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/sqlmap/let/sym/prm/EgovProgrmManageDtl_SQL_Altibase.xml
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/sqlmap/let/sym/prm/EgovProgrmManageDtl_SQL_Cubrid.xml
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/sqlmap/let/sym/prm/EgovProgrmManageDtl_SQL_Mysql.xml
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/sqlmap/let/sym/prm/EgovProgrmManageDtl_SQL_Oracle.xml
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/sqlmap/let/sym/prm/EgovProgrmManageDtl_SQL_Tibero.xml
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/sqlmap/let/sym/prm/EgovProgrmManage_SQL_Mysql.xml
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/sqlmap/let/sync/EgovSyncGet_SQL_Oracle.xml
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/sqlmap/let/sync/EgovSyncGet_SQL_Tibero.xml
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/sqlmap/let/sync/EgovSyncSet_SQL_Mysql.xml
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/sqlmap/let/sync/EgovSyncSet_SQL_Mysql.xml_201106
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/sqlmap/let/sync/EgovSyncSet_SQL_Mysql.xml_201106_2
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/sqlmap/let/sync/EgovSyncSet_SQL_Mysql.xml_201109
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/sqlmap/let/sync/EgovSyncSet_SQL_Mysql.xml_201123
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/sqlmap/let/sync/EgovSyncSet_SQL_Mysql.xml_210308
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/sqlmap/let/sync/EgovSyncSet_SQL_Mysql.xml_230328
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/sqlmap/let/uat/uap/EgovLoginPolicy_SQL_Mysql.xml
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/sqlmap/let/uat/uia/EgovLoginUsr_SQL_Mysql.xml
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/sqlmap/let/uss/ion/cnt/CntManage_SQL_Mysql.xml
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/sqlmap/let/uss/ion/cyb/CyberAlertManage_SQL_Mysql.xml
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/sqlmap/let/uss/ion/fms/FmsFile_SQL_Mysql.xml
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/sqlmap/let/uss/ion/uas/EgovUserAbsnce_SQL_Altibase.xml
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/sqlmap/let/uss/ion/uas/EgovUserAbsnce_SQL_Cubrid.xml
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/sqlmap/let/uss/ion/uas/EgovUserAbsnce_SQL_Mysql.xml
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/sqlmap/let/uss/ion/uas/EgovUserAbsnce_SQL_Oracle.xml
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/sqlmap/let/uss/ion/uas/EgovUserAbsnce_SQL_Tibero.xml
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/sqlmap/let/uss/olp/qim/EgovQustnrItemManage_SQL_Mysql.xml
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/sqlmap/let/uss/olp/qmc/EgovQustnrManage_SQL_Mysql.xml
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/sqlmap/let/uss/olp/qqm/EgovQustnrQestnManage_SQL_Mysql.xml
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/sqlmap/let/uss/olp/qri/EgovQustnrRespondInfo_SQL_Mysql.xml
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/sqlmap/let/uss/olp/qrm/EgovQustnrRespondManage_SQL_Mysql.xml
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/sqlmap/let/uss/olp/qtm/EgovQustnrTmplatManage_SQL_Mysql.xml
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/sqlmap/let/uss/pwm/PopupManage_SQL_Mysql.xml
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/sqlmap/let/uss/umt/EgovMberManage_SQL_Mysql.xml
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/sqlmap/let/uss/umt/EgovUserManage_SQL_Mysql.xml
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/validator/com/uss/ion/bnr/EgovBanner.xml
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/validator/let/cop/bbs/EgovBdMstrRegist.xml
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/validator/let/cop/bbs/EgovNoticeRegist.xml
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/validator/let/cop/cmt/EgovArticleCommentRegist.xml
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/validator/let/cop/com/EgovCopComManage.xml
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/validator/let/cop/resve/EgovResveRegist.xml
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/validator/let/cop/smt/sim/EgovIndvdlSchdulManage.xml
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/validator/let/sec/EgovSecurityManage.xml
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/validator/let/sym/ccm/cca/EgovCmmnCodeManage.xml
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/validator/let/sym/ccm/ccc/EgovCmmnClCodeManage.xml
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/validator/let/sym/ccm/cde/EgovCmmnDetailCodeManage.xml
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/validator/let/sym/ccm/zip/EgovZipManage.xml
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/validator/let/sym/mnu/mcm/EgovMenuCreat.xml
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/validator/let/sym/mnu/mcm/EgovMenuSiteMap.xml
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/validator/let/sym/mnu/mpm/EgovMenuManage.xml
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/validator/let/sym/prm/EgovProgrmManage.xml
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/validator/let/sym/prm/EgovProgrmManageDtl.xml
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/validator/let/uat/uia/EgovLoginPolicy.xml
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/validator/let/uss/ion/cnt/CntManage.xml
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/validator/let/uss/ion/cyb/CyberAlertView.xml
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/validator/let/uss/ion/fms/EgovFmsFile.xml
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/validator/let/uss/ion/pwm/PopupManage.xml
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/validator/let/uss/olp/qim/EgovQustnrItemManage.xml
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/validator/let/uss/olp/qmc/EgovQustnrManage.xml
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/validator/let/uss/olp/qqm/EgovQustnrQestnManage.xml
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/validator/let/uss/olp/qri/EgovQustnrRespondInfo.xml
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/validator/let/uss/olp/qrm/EgovQustnrRespondManage.xml
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/validator/let/uss/olp/qtm/EgovQustnrTmplatManage.xml
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/validator/let/uss/umt/EgovPassword.xml
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/validator/let/uss/umt/EgovUserManage.xml
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/egovframework/validator/validator-rules-let.xml
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/log4j2.xml
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/spconfig/intgrty5-config.xml
| This diff is skipped because there are too many other diffs. |
+++ src/main/resources/spconfig/pni5-config.xml
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/META-INF/MANIFEST.MF
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/META-INF/license
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/META-INF/maven/egovframework.template.web/Enterprise_Business/pom.properties
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/META-INF/maven/egovframework.template.web/Enterprise_Business/pom.xml
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/META-INF/osslicenses
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/META-INF/readme
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/META-INF/double-submit.tld
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/config/egovframework/springmvc/egov-com-servlet.xml
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/decorators.xml
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/blank.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/blankUserDirect.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cmm/chptcha/captchaAudio.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cmm/chptcha/captchaImg.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cmm/chptcha/captchaTest.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cmm/chptcha/captchaTest_back.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cmm/error/accessDenied.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cmm/error/dataAccessFailure.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cmm/error/egovBizException.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cmm/error/egovError.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cmm/error/transactionFailure.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cmm/fms/EgovBBSFileList.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cmm/fms/EgovFileList.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cmm/fms/EgovImgFileList.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cmm/fms/EgovImgFileListWeb.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cmm/sym/cal/EgovAdministCalPopup.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cmm/sym/cal/EgovAdministCalendar.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cmm/sym/cal/EgovAdministDayCalendar.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cmm/sym/cal/EgovAdministMonthCalendar.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cmm/sym/cal/EgovAdministWeekCalendar.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cmm/sym/cal/EgovAdministYearCalendar.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cmm/sym/cal/EgovCalPopup.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cmm/sym/cal/EgovCalendar.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cmm/sym/cal/EgovNormalCalPopup.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cmm/sym/cal/EgovNormalCalendar.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cmm/sym/cal/EgovNormalDayCalendar.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cmm/sym/cal/EgovNormalMonthCalendar.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cmm/sym/cal/EgovNormalWeekCalendar.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cmm/sym/cal/EgovNormalYearCalendar.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cmm/sym/cal/EgovRestdeDetail.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cmm/sym/cal/EgovRestdeList.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cmm/sym/cal/EgovRestdeModify.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cmm/sym/cal/EgovRestdeRegist.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cmm/sym/ccm/EgovCcmCmmnClCodeDetail.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cmm/sym/ccm/EgovCcmCmmnClCodeList.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cmm/sym/ccm/EgovCcmCmmnClCodeModify.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cmm/sym/ccm/EgovCcmCmmnClCodeRegist.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cmm/sym/ccm/EgovCcmCmmnCodeDetail.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cmm/sym/ccm/EgovCcmCmmnCodeList.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cmm/sym/ccm/EgovCcmCmmnCodeModify.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cmm/sym/ccm/EgovCcmCmmnCodeRegist.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cmm/sym/ccm/EgovCcmCmmnCodeTree.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cmm/sym/ccm/EgovCcmCmmnCodeTree2.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cmm/sym/ccm/EgovCcmCmmnCodeTreeItsm.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cmm/sym/ccm/EgovCcmCmmnDetailCodeDetail.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cmm/sym/ccm/EgovCcmCmmnDetailCodeList.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cmm/sym/ccm/EgovCcmCmmnDetailCodeModify.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cmm/sym/ccm/EgovCcmCmmnDetailCodeRegist.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cmm/sym/zip/EgovCcmExcelZipRegist.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cmm/sym/zip/EgovCcmZipDetail.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cmm/sym/zip/EgovCcmZipList.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cmm/sym/zip/EgovCcmZipModify.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cmm/sym/zip/EgovCcmZipRegist.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cmm/sym/zip/EgovCcmZipSearchList.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cmm/sym/zip/EgovCcmZipSearchPopup.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cmm/uss/umt/EgovIdDplctCnfirm.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cmm/uss/umt/EgovMberConfigInsert.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cmm/uss/umt/EgovMberList.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cmm/uss/umt/EgovMberRegister.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cmm/uss/umt/EgovMberSelectUpdtView.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cmm/uss/umt/EgovModal.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cmm/uss/umt/EgovUserInsert.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cmm/uss/umt/EgovUserInsert2.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cmm/uss/umt/EgovUserManage.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cmm/uss/umt/EgovUserManage.jsp_20210308
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cmm/uss/umt/EgovUserManage.jsp_220608
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cmm/uss/umt/EgovUserManage_0826.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cmm/uss/umt/EgovUserPasswordUpdt.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cmm/uss/umt/EgovUserPasswordUpdt2.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cmm/uss/umt/EgovUserSelectUpdt.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cmm/uss/umt/EgovUserSelectUpdt.jsp_230221
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cmm/uss/umt/EgovUserSelectUpdt2.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cmm/uss/umt/EgovUserSelectUpdt3.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cmm/validator.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cnt/CNTDT_0000000343.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cnt/CNTDT_0000000344.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cnt/CNTDT_0000000351.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cnt/CNTDT_0000000352.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cnt/CNTDT_0000000353.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cnt/CNTDT_0000000361.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cnt/CNTDT_0000000362.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cnt/CNTDT_0000000381.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cnt/CNTDT_0000000391.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cnt/CNTDT_0000000421.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cnt/CNTDT_0000000431.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cnt/CNTDT_0000000432.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cnt/CNTDT_0000000433.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cnt/CNTDT_0000000441.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cnt/CNTDT_0000000451.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cnt/CNTDT_0000000452.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cnt/CNTDT_0000000453.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cnt/CNTDT_0000000481.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cnt/CNTDT_0000000491.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cnt/CNTDT_0000000501.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cnt/CNTDT_0000000511.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cnt/CNTDT_0000000521.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cnt/CNTDT_0000000531.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cnt/CNTDT_0000000541.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cnt/CNTDT_0000000542.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cnt/CNTDT_0000000551.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cnt/CNTDT_0000000561.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cnt/CNTDT_0000000562.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cnt/CNTDT_0000000571.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cnt/CNTDT_0000000572.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cnt/CNTDT_0000000573.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cnt/CNTDT_0000000574.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cnt/CNTDT_0000000575.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cnt/CNTDT_0000000576.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cnt/CNTDT_0000000577.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cnt/CNTDT_0000000578.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cnt/CNTDT_0000000579.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cnt/CNTDT_0000000580.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cnt/CNTDT_0000000581.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cnt/CNTDT_0000000582.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cnt/CNTDT_0000000583.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cnt/CNTDT_0000000584.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cnt/CNTDT_0000000585.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cnt/CNTDT_0000000586.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cnt/CNTDT_0000000591.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cnt/CNTDT_0000000601.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cnt/CNTDT_0000000602.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cnt/CNTDT_0000000603.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cnt/CNTDT_0000000604.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cnt/CNTDT_0000000605.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cnt/CNTDT_0000000606.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cnt/CNTDT_0000000607.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cnt/CNTDT_0000000608.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cnt/CNTDT_0000000609.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cnt/CNTDT_0000000610.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cnt/CNTDT_0000000611.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cnt/CNTDT_0000000621.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cnt/CNTDT_0000000623.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cnt/CNTDT_0000000624.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cnt/CNTDT_0000000625.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cnt/CNTDT_0000000631.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cnt/CNTDT_0000000632.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cnt/CNTDT_0000000633.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cnt/CNTDT_0000000634.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cnt/CNTDT_0000000635.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cnt/CNTDT_0000000636.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cnt/CNTDT_0000000637.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cnt/CNTDT_0000000651.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cnt/CNTDT_0000000661.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cnt/CNTDT_0000000671.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cnt/CNTDT_0000000681.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cnt/CNTDT_0000000691.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cnt/CNTDT_0000000692.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cnt/CNTDT_0000000693.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cnt/CNTDT_0000000701.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cnt/CNTDT_0000000711.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cnt/CNTDT_0000000721.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cnt/CNTDT_0000000781.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cnt/CNTDT_0000000782.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cnt/CNTDT_0000000783.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cnt/CNTDT_0000000784.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cnt/CNTDT_0000000785.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cnt/CNTDT_0000000791.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cnt/CNTDT_0000000792.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cnt/CNTDT_0000000797.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cnt/CNTDT_0000000798.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cnt/CNTDT_0000000799.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cnt/CNTDT_0000000800.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cnt/CNTDT_0000000801.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cnt/CNTDT_0000000802.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cnt/CNTDT_0000000803.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cnt/CNTDT_0000000811.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cnt/CNTDT_0000000812.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cnt/CNTDT_0000000813.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cnt/CNTDT_0000000814.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cnt/CNTDT_0000000815.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cnt/CNTDT_0000000821.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cnt/CNTDT_0000000822.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cnt/CNTDT_0000000823.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cnt/CNTDT_0000000824.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cnt/CNTDT_0000000825.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cnt/CNTDT_0000000826.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cnt/CNTDT_0000000828.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cnt/CNTDT_0000000831.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cnt/CNTDT_0000000832.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cnt/CNTDT_0000000841.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cnt/CNTDT_0000000843.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cnt/CNTDT_0000000844.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cnt/CNTDT_0000000845.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cnt/CNTDT_0000000846.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cnt/CNTDT_0000000847.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cnt/CNTDT_0000000861.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cnt/CNTDT_0000000881.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cnt/CNTDT_0000000882.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cnt/CNTDT_0000000883.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cnt/CNTDT_0000000891.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cnt/CNTDT_0000000893.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cnt/CNTDT_0000000894.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cnt/CNTDT_0000000895.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cnt/CNTDT_0000000896.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cnt/CNTDT_0000000897.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cnt/CNTDT_0000000898.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cnt/CNTDT_0000000899.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cnt/CNTDT_0000000901.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cnt/CNTDT_0000000921.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cnt/CNTDT_0000000931.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cnt/CNTDT_0000000932.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cnt/CNTDT_0000000941.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cnt/CNTDT_0000000942.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cnt/CNT_000000000412.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cnt/CNT_000000000461.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cnt/CNT_000000000462.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cnt/CNT_000000000463.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cnt/CNT_000000000464.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cnt/CNT_000000000465.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cnt/CNT_000000000471.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cnt/CNT_000000000571.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cnt/CNT_000000000581.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cnt/CNT_000000000591.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cnt/CNT_000000000601.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cnt/CNT_000000000611.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cnt/CNT_000000000612.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cnt/CNT_000000000613.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cnt/CNT_000000000621.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cnt/CNT_000000000631.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cnt/CNT_000000000632.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cnt/CNT_000000000633.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cnt/CNT_000000000634.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cnt/CNT_000000000635.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cnt/CNT_000000000641.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cnt/CNT_000000000642.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cnt/CNT_000000000643.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cnt/CNT_000000000644.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cnt/CNT_000000000645.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cnt/CNT_000000000646.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cnt/CNT_000000000647.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cnt/CNT_000000000651.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cnt/CNT_000000000671.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cnt/CNT_000000000681.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cnt/CNT_000000000682.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cnt/CNT_000000000683.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cnt/CNT_000000000701.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cnt/CNT_000000000702.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cnt/CNT_000000000703.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cnt/CNT_000000000721.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cnt/ckeditorPriview.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cnt/contentTemp.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cnt/contentTempWrite.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/com/utl/wed/EgovInsertImage.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/com/utl/wed/EgovInsertImage2.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cop/bbs/EgovBoardIdSearch.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cop/bbs/EgovBoardMngInfsPop.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cop/bbs/EgovBoardMstrList.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cop/bbs/EgovBoardMstrList.jsp_220608
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cop/bbs/EgovBoardMstrRegist.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cop/bbs/EgovBoardMstrUpdt.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cop/bbs/EgovNoticeChgHstInqire.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cop/bbs/EgovNoticeChgHstList.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cop/bbs/EgovNoticeInqire.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cop/bbs/EgovNoticeInqire.jsp_220929
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cop/bbs/EgovNoticeList.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cop/bbs/EgovNoticeList.jsp_220608
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cop/bbs/EgovNoticeRegist.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cop/bbs/EgovNoticeRegist.jsp_230221
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cop/bbs/EgovNoticeReply.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cop/bbs/EgovNoticeUpdt.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cop/bbs/EgovPreviewTmplatBBSInqire.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cop/bbs/EgovPreviewTmplatBBSList.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cop/bbs/bbsPreview.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cop/bisIntro/addBizIntro.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cop/bisIntro/addDisclosureBoard.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cop/bisIntro/addExtBoard.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cop/bisIntro/addPressExtBoard.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cop/bisIntro/bizIntroList.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cop/bisIntro/selectDisclosureBoardList.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cop/bisIntro/selectExtBoardList.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cop/bisIntro/selectPressBoardList.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cop/cmt/EgovArticleCommentList.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cop/cmt/EgovArticleCommentList.jsp_220929
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cop/cmt/EgovArticleCommentList.jsp_230221
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cop/cmt/EgovArticleCommentListWeb.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cop/cmt/EgovArticleCommentList_1011.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cop/com/EgovBoardUseInfInqire.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cop/com/EgovBoardUseInfList.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cop/com/EgovBoardUseInfRegist.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cop/com/EgovModalPopupFrame.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cop/com/EgovTemplateInqirePopup.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cop/com/EgovTemplateList.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cop/com/EgovTemplateRegist.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cop/com/EgovTemplateUpdt.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cop/eng/bisIntro/engBizIntroList.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cop/exhibit/exhibitList.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cop/exhibit/exhibitRegist.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cop/exhibit/exhibitUpdt.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cop/newsLetter/subsrUserList.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cop/org/EgovOrgChartManage.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cop/qna/qnaInfo.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cop/qna/qnaList.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cop/resve/resveManageList.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cop/resve/resveManageRegist.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cop/resve/resveManageUpdt.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cop/smt/sim/EgovIndvdlSchdulManageDailyList.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cop/smt/sim/EgovIndvdlSchdulManageDetail.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cop/smt/sim/EgovIndvdlSchdulManageModify.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cop/smt/sim/EgovIndvdlSchdulManageMonthList.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cop/smt/sim/EgovIndvdlSchdulManageRegist.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cop/smt/sim/EgovIndvdlSchdulManageRegist_ori.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/cop/smt/sim/EgovIndvdlSchdulManageWeekList.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/egovframework/com/uss/ion/bnr/EgovBannerList.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/egovframework/com/uss/ion/bnr/EgovBannerMainList.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/egovframework/com/uss/ion/bnr/EgovBannerRegist.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/egovframework/com/uss/ion/bnr/EgovBannerUpdt.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/egovframework/com/uss/ion/bnr/EgovBannerView.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/kopost/search/search.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/kopost/search/search.jsp_20210506
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/kopost/search/search.jsp_220323
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/layout/adminLayout.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/layout/adminLayout1.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/layout/adminLayout_ori.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/layout/bbsPreviewLayout.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/layout/engWebLayout.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/layout/none.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/layout/webLayout.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/layout/webLayout2.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/main/EgovMainView.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/main/EgovMainView.jsp_20210114
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/main/EgovMainView.jsp_20230105
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/main/EgovMainView_back_1218.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/main/inc/EgovIncHeader.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/main/inc/EgovIncHeader1.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/main/mainUserPage.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/main/mainUserPage_origin.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/main/userStat.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/main/userStat.jsp_20210120
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/main/userStat2.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/sec/accessDenied.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/sec/gmt/EgovGroupInsert.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/sec/gmt/EgovGroupManage.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/sec/gmt/EgovGroupSearch.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/sec/gmt/EgovGroupUpdate.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/sec/ram/EgovAuthorInsert.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/sec/ram/EgovAuthorManage.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/sec/ram/EgovAuthorManage_0826.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/sec/ram/EgovAuthorRoleManage.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/sec/ram/EgovAuthorRoleManage_0827.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/sec/ram/EgovAuthorUpdate.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/sec/rgm/EgovAuthorGroupManage.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/sec/rgm/EgovAuthorGroupManage.jsp_201106
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/sec/rgm/EgovAuthorGroupManage.jsp_201109
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/sec/rgm/EgovAuthorGroupManage_0826.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/sec/rmt/EgovRoleInsert.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/sec/rmt/EgovRoleInsert2.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/sec/rmt/EgovRoleManage.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/sec/rmt/EgovRoleManage_0826.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/sec/rmt/EgovRoleUpdate.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/sec/rmt/EgovRoleUpdate2.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/sounds/ko/numbers/0.wav
| Binary file is not shown |
+++ src/main/webapp/WEB-INF/jsp/sounds/ko/numbers/1.wav
| Binary file is not shown |
+++ src/main/webapp/WEB-INF/jsp/sounds/ko/numbers/2.wav
| Binary file is not shown |
+++ src/main/webapp/WEB-INF/jsp/sounds/ko/numbers/3.wav
| Binary file is not shown |
+++ src/main/webapp/WEB-INF/jsp/sounds/ko/numbers/4.wav
| Binary file is not shown |
+++ src/main/webapp/WEB-INF/jsp/sounds/ko/numbers/5.wav
| Binary file is not shown |
+++ src/main/webapp/WEB-INF/jsp/sounds/ko/numbers/6.wav
| Binary file is not shown |
+++ src/main/webapp/WEB-INF/jsp/sounds/ko/numbers/7.wav
| Binary file is not shown |
+++ src/main/webapp/WEB-INF/jsp/sounds/ko/numbers/8.wav
| Binary file is not shown |
+++ src/main/webapp/WEB-INF/jsp/sounds/ko/numbers/9.wav
| Binary file is not shown |
+++ src/main/webapp/WEB-INF/jsp/sts/cst/EgovConectMenuStats.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/sts/cst/EgovConectStats.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/sym/cal/EgovNormalCalPopup.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/sym/cal/EgovNormalCalendar.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/sym/lgm/EgovSysLogInqire.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/sym/lgm/EgovSysLogList.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/sym/log/clg/EgovLoginLogInqire.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/sym/log/clg/EgovLoginLogList.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/sym/log/clg/EgovLoginLogList2.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/sym/log/clg/EgovLoginLogList_0826.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/sym/mnu/mcm/EgovMenuCreat.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/sym/mnu/mcm/EgovMenuCreatManage.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/sym/mnu/mcm/EgovMenuCreatManage.jsp_20210114
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/sym/mnu/mpm/EgovMenuBndeRegist.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/sym/mnu/mpm/EgovMenuCreatSelectJtree.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/sym/mnu/mpm/EgovMenuCreatSelectJtree2.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/sym/mnu/mpm/EgovMenuDetailSelectUpdt.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/sym/mnu/mpm/EgovMenuManage.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/sym/mnu/mpm/EgovMenuRegist.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/sym/prm/EgovFileNmSearch.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/sym/prm/EgovProgramListDetailSelectUpdt.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/sym/prm/EgovProgramListManage.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/sym/prm/EgovProgramListRegist.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/sym/research/researchList.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/sym/research/researchResult.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/sym/research/researchResult2.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/sym/research/userResearch.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/sym/research/userResearchImport.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/test/insa/TestInsa.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uat/uap/EgovLoginGroupPolicyList.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uat/uap/EgovLoginGroupPolicyList_0827.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uat/uap/EgovLoginGroupPolicyRegist.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uat/uap/EgovLoginGroupPolicyRegist2.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uat/uap/EgovLoginPolicyList.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uat/uap/EgovLoginPolicyRegist.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uat/uap/EgovLoginPolicyUpdt.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uat/uia/EgovLoginUsr.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uat/uia/EgovLoginUsr.jsp_201102
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uat/uia/EgovLoginUsr_1.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/ion/cnt/cntManageDetailList.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/ion/cnt/cntManageInsert.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/ion/cnt/cntManageList.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/ion/cnt/cntManageListPopup.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/ion/cyb/CyberAlertView.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/ion/fms/FmsFileList.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/ion/fms/FmsFileList.jsp_220608
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/ion/fms/FmsFileList_0827.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/ion/fms/FmsFileModify.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/ion/fms/FmsFileModify2.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/ion/pwm/EgovPopupDetail.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/ion/pwm/EgovPopupList.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/ion/pwm/EgovPopupMainList.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/ion/pwm/EgovPopupRegist.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/ion/pwm/EgovPopupUpdt.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/ion/pwm/MainZoneModify.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/ion/pwm/MainzoneList.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/ion/pwm/PopupZoneModify.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/ion/pwm/PopupzoneList.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/ion/pwm/sample/EgovPopupSample.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/ion/uas/EgovUserAbsnceList.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/ion/uas/EgovUserAbsnceRegist.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/ion/uas/EgovUserAbsnceUpdt.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/asset/AssetDeptPop.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/asset/AssetDetailAjax.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/asset/AssetDetailAjax.jsp_20210114
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/asset/AssetDetailAjax.jsp_20210120
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/asset/AssetExcelUploadPopup.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/asset/AssetFileAllPop.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/asset/AssetFilePop.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/asset/AssetFilePreView.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/asset/AssetHdCdPop.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/asset/AssetList.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/asset/AssetList.jsp_20210114
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/asset/AssetList.jsp_20210209
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/asset/AssetList.jsp_250726
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/asset/AssetListAjax.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/asset/AssetListAjax_1209.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/asset/AssetListLarge.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/asset/AssetListLoc.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/asset/AssetList_total.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/asset/AssetList_total.jsp_20210114
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/asset/AssetLocPop.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/asset/AssetLocPop.jsp_201111
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/asset/AssetSelectPopup.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/asset/AssetSelectPopup.jsp_20210114
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/asset/AssetShowList.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/asset/AstAlarmPopup.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/asset/AstHdCdPopup.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/asset/AstHdCdPopup_back.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/asset/AstRentPopup.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/asset/AstRepairPopup.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/asset/AstSubCdPopup.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/asset/ComPopup.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/audit/SciTecAuditFileUpload.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/audit/SciTecAuditGamsaOpenerView.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/audit/SciTecAuditList.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/audit/SciTecAuditList.jsp_20210114
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/audit/SciTecAuditList.jsp_220608
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/audit/SciTecAuditOpenerView_0711.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/audit/SciTecAuditView.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/bizCntrt/BizCntrtList.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/bizCntrt/BizCntrtList.jsp_20210114
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/bizCntrt/BizCntrtList.jsp_20210120
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/bizCntrt/BizCntrtList.jsp_220608
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/bizCntrt/BizCntrtView.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/bizCntrt/BizCntrtView.jsp_20210114
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/bizCntrt/BizCntrtView.jsp_220608
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/bizCntrt/BizCompanyView.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/bizCntrt/BizFileUpload.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/bizCntrt/BizGamsaOpenerView.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/bizCntrt/BizGamsaOpenerView.jsp_220608
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/bizCntrt/CompanyManageFileUpload.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/company/CompanyAssetsView.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/company/CompanyBusinessView.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/company/CompanyExcelUploadPopup.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/company/CompanyManagerView.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/company/CompanyMngFileUpload.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/company/CompanyMngFileUpload.jsp_230221
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/company/CompanyMngList.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/company/CompanyMngList.jsp_20210114
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/company/CompanyMngList.jsp_220608
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/company/CompanyMngListView.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/company/CompanyMngListView.jsp_20210114
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/company/CompanyMngView.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/company/CompanyMngView.jsp_20210114
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/company/CompanyMngView.jsp_220608
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/cvlCmplnt/cvlCmplntDetail.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/cvlCmplnt/cvlCmplntDetail.jsp_20210120
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/cvlCmplnt/cvlCmplntDetailWeb.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/cvlCmplnt/cvlCmplntDetailWeb.jsp_20210114
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/cvlCmplnt/cvlCmplntDetailWeb.jsp_20250210
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/cvlCmplnt/cvlCmplntDetailWeb.jsp_220608
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/cvlCmplnt/cvlCmplntDetailWeb.jsp_230504
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/cvlCmplnt/cvlCmplntList.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/cvlCmplnt/cvlCmplntList.jsp_20210114
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/cvlCmplnt/cvlCmplntListWeb.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/cvlCmplnt/cvlCmplntListWeb.jsp_201103
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/cvlCmplnt/cvlCmplntListWeb.jsp_20210114
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/cvlCmplnt/cvlCmplntListWeb.jsp_20210120
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/cvlCmplnt/cvlCmplntMain.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/cvlCmplnt/cvlCmplntMain.jsp_250724
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/cvlCmplnt/cvlCmplntUserListAjax.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/cvlCmplnt/updateCnAllPop.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/edu/ConfFileUpload.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/edu/confView.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/edu/eduPlanView.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/edu/eduPlanView.jsp_20210506
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/edu/eduPlanView.jsp_210521
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/edu/eduView.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/edu/eduView.jsp_20210521
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/edu/selectEduList.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/eqRntl/assetRentalList.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/eqRntl/assetRentalList.jsp_220608
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/eqRntl/assetRentalList.jsp_250512
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/eqRntl/assetRentalList_old.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/eqRntl/eqRntlDetail.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/eqRntl/eqRntlDetail.jsp_201020
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/eqRntl/eqRntlDetail.jsp_201109
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/eqRntl/eqRntlDetail.jsp_20210114
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/eqRntl/eqRntlDetail.jsp_220608
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/eqRntl/eqRntlDetail.jsp_250512
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/eqRntl/eqRntlDetailWeb.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/eqRntl/eqRntlDetailWeb.jsp_201020
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/eqRntl/eqRntlDetailWeb.jsp_201109
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/eqRntl/eqRntlDetailWeb.jsp_20210114
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/eqRntl/eqRntlDetailWeb.jsp_20210721
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/eqRntl/eqRntlDetailWeb.jsp_20210727
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/eqRntl/eqRntlDetailWeb.jsp_220608
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/eqRntl/eqRntlDetailWeb.jsp_250512
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/eqRntl/eqRntlList.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/eqRntl/eqRntlList.jsp_20210114
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/eqRntl/eqRntlList.jsp_20210120
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/eqRntl/eqRntlList.jsp_220608
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/eqRntl/eqRntlList.jsp_250512
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/eqRntl/eqRntlListWeb.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/eqRntl/eqRntlListWeb.jsp_20210114
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/eqRntl/eqRntlListWeb.jsp_20210120
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/eqRntl/eqRntlListWeb.jsp_220608
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/eqRntl/eqRntlListWeb.jsp_250512
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/fault/FaultAssetsView.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/fault/FaultAssetsView.jsp_20210114
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/fault/FaultAssetsView.jsp_20230802
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/fault/FaultMngList.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/fault/FaultMngList.jsp_20210114
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/fault/FaultMngList.jsp_20210120
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/fault/FaultMngList.jsp_20240327
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/fault/FaultMngList.jsp_220608
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/fault/FaultMngView.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/fault/FaultMngView.jsp_20240327
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/fault/FaultMngView.jsp_220608
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/fault/FaultMngView.jsp_221019
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/fault/FaultWorkerView.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/ip/IpDeptPop.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/ip/IpDetailAjax.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/ip/IpDetailAjax.jsp_20210114
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/ip/IpDetailAjax.jsp_220608
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/ip/IpExcelUploadPopup.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/ip/IpFilePopup.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/ip/IpList.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/ip/IpList.jsp_20210114
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/ip/IpListAjax.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/ip/IpListLarge.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/ip/IpManagerPopup.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/ip/IpNetPopup.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/ip/IpNetPopupDetail.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/ip/IpNetPopupInfoLoad.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/ip/IpRecPopup.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/ip/IpReceive.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/ip/IpReceiveList.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/ip/IpReceiveList.jsp_20210114
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/ip/IpReceiveList.jsp_20210120
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/ip/IpReceiveList.jsp_20221212
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/ip/IpReceiveList.jsp_220608
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/ip/IpReceivePopup.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/ip/IpReceivePopup.jsp_20210506
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/ip/IpShowListPopup.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/nis/NisEvalItemFileUpload.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/nis/NisMngList.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/nis/NisMngList.jsp_20210114
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/nis/NisMngList.jsp_220608
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/nis/NisMngView.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/orgChart/OrgChartManage.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/orgChart/OrgChartManage.jsp_201103
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/orgChart/OrgChartPopup.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/orgChart/OrgChartPopup.jsp_201109
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/orgChart/OrgChartPopup.jsp_20210114
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/orgChart/OrgChartPopup_old.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/per/PerItemFileUpload.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/per/PerList.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/per/PerList.jsp_20210114
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/per/PerList.jsp_20210120
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/per/PerList.jsp_220608
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/per/PerView.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/per/PerView.jsp_20210506
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/schdlr/errorSchdlr.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/schdlr/schConfigDetail.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/schdlr/schdlrDayList.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/schdlr/schdlrDetail.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/schdlr/schdlrDetail.jsp_20210114
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/schdlr/schdlrDetail.jsp_20220620
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/schdlr/schdlrList.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/schdlr/schdlrList.jsp_230223
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/schdlr/schdlrSchList.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/schdlr/schdlrUpdate.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/schdlr/schdlrUpdate.jsp_20210506
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/schdlr/schdlrUpdate.jsp_220323
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/schdlr/schdlrUpdate.jsp_230324
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/schdlr/schdlrWeekList.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/security/RuleMngList.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/security/secPolView.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/security/selectSecList.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/security/selectSecList.jsp_220608
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/sla/EvalItemFileUpload.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/sla/EvalMngList.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/sla/EvalMngList.jsp_20210114
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/sla/EvalMngList.jsp_220608
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/sla/EvalMngView.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/sla/SlaMngFileUpload.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/sla/SlaMngList.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/sla/SlaMngList.jsp_20210114
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/sla/SlaMngList.jsp_20210120
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/sla/SlaMngList.jsp_220608
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/sla/SlaMngView.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/sla/SlaMngView.jsp_220608
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/itsm/sla/SlaMngView.jsp_240416
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/olp/qim/EgovQustnrItemManageDetail.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/olp/qim/EgovQustnrItemManageList.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/olp/qim/EgovQustnrItemManageListPopup.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/olp/qim/EgovQustnrItemManageModify.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/olp/qim/EgovQustnrItemManageRegist.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/olp/qmc/EgovQustnrManageDetail.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/olp/qmc/EgovQustnrManageList.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/olp/qmc/EgovQustnrManageListPopup.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/olp/qmc/EgovQustnrManageModify.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/olp/qmc/EgovQustnrManageRegist.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/olp/qnn/EgovQustnrRespondInfoManageList.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/olp/qnn/EgovQustnrRespondInfoManageRegist.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/olp/qnn/EgovQustnrRespondInfoManageStatistics.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/olp/qnn/EgovQustnrRespondInfoManageStatisticsPreview.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/olp/qnn/EgovQustnrRespondInfoManageStatisticsPreview_back.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/olp/qqm/EgovItnQustnrQestnManageRegist.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/olp/qqm/EgovQustnrQestnManageDetail.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/olp/qqm/EgovQustnrQestnManageList.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/olp/qqm/EgovQustnrQestnManageListPopup.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/olp/qqm/EgovQustnrQestnManageModify.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/olp/qqm/EgovQustnrQestnManageRegist.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/olp/qqm/EgovQustnrQestnManageStatistics.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/olp/qri/EgovQustnrRespondInfoDetail.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/olp/qri/EgovQustnrRespondInfoList.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/olp/qri/EgovQustnrRespondInfoModify.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/olp/qri/EgovQustnrRespondInfoRegist.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/olp/qri/template/template.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/olp/qri/template/template_ori.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/olp/qrm/EgovQustnrRespondManageDetail.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/olp/qrm/EgovQustnrRespondManageList.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/olp/qrm/EgovQustnrRespondManageModify.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/olp/qrm/EgovQustnrRespondManageRegist.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/olp/qtm/EgovQustnrTmplatManageDetail.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/olp/qtm/EgovQustnrTmplatManageList.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/olp/qtm/EgovQustnrTmplatManageModify.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/jsp/uss/olp/qtm/EgovQustnrTmplatManageRegist.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/lib/PniccJNI_2.0.jar
| Binary file is not shown |
+++ src/main/webapp/WEB-INF/lib/commons-httpclient-2.0.1.jar
| Binary file is not shown |
+++ src/main/webapp/WEB-INF/lib/jsoup-1.11.3.jar
| Binary file is not shown |
+++ src/main/webapp/WEB-INF/lib/ojdbc6.jar
| Binary file is not shown |
+++ src/main/webapp/WEB-INF/lib/passni-sso-agent-5.0.002.jar
| Binary file is not shown |
+++ src/main/webapp/WEB-INF/lib/sciSecuIPIN_v3.jar
| Binary file is not shown |
+++ src/main/webapp/WEB-INF/lib/sciSecuPCC.jar
| Binary file is not shown |
+++ src/main/webapp/WEB-INF/lib/simplecaptcha-1.2.1_exp.jar
| Binary file is not shown |
+++ src/main/webapp/WEB-INF/lib/tibero6-jdbc.jar
| Binary file is not shown |
+++ src/main/webapp/WEB-INF/lib/tibero7-jdbc-18.jar
| Binary file is not shown |
+++ src/main/webapp/WEB-INF/sitemesh.xml
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/web.xml
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/web.xml_230221
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/web.xml_250726
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/WEB-INF/weblogic.xml
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/common/error.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/common/error400.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/common/error401.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/common/error403.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/common/error404.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/common/error405.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/common/error408.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/common/error500.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/common/error501.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/common/errorLang.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/crosseditor/binary/images/한국공예디자인문화진흥원_main_pc10.jpg
| Binary file is not shown |
+++ src/main/webapp/css/TabMenuSelectTransform.css
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/css/appraisal.css
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/css/board.css
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/css/board_basic.css
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/css/board_tmplat1.css
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/css/board_tmplat2.css
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/css/board_tmplat3.css
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/css/cal.css
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/css/com.css
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/css/common.css
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/css/content.css
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/css/default.css
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/css/egovframework/com/com.css
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/css/egovframework/com/common.css
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/css/egovframework/com/main.css
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/css/egovframework/cop/bbs/egovBaseTemplate.css
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/css/egovframework/cop/bbs/egovbbsTemplate.css
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/css/featherlight.min.css
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/css/flexslider.css
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/css/font-flexslider/flexslider-icon.eot
| Binary file is not shown |
+++ src/main/webapp/css/font-flexslider/flexslider-icon.svg
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/css/font-flexslider/flexslider-icon.ttf
| Binary file is not shown |
+++ src/main/webapp/css/font-flexslider/flexslider-icon.woff
| Binary file is not shown |
+++ src/main/webapp/css/index.css
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/css/index_0118.css
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/css/jqwidgets/jqx.base.css
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/css/jstree/themes/default-dark/32px.png
| Binary file is not shown |
+++ src/main/webapp/css/jstree/themes/default-dark/40px.png
| Binary file is not shown |
+++ src/main/webapp/css/jstree/themes/default-dark/style.css
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/css/jstree/themes/default-dark/style.min.css
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/css/jstree/themes/default-dark/throbber.gif
| Binary file is not shown |
+++ src/main/webapp/css/jstree/themes/default/32px.png
| Binary file is not shown |
+++ src/main/webapp/css/jstree/themes/default/40px.png
| Binary file is not shown |
+++ src/main/webapp/css/jstree/themes/default/style.css
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/css/jstree/themes/default/style.min.css
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/css/jstree/themes/default/throbber.gif
| Binary file is not shown |
+++ src/main/webapp/css/login.css
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/css/main.css
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/css/modal.css
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/css/page-jung.css
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/css/page-lyu.css
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/css/page-su.css
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/css/page.css
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/css/popup.css
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/css/post.css
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/css/post_test_tmplat_1.css
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/css/post_test_tmplat_2.css
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/css/post_test_tmplat_3.css
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/css/prettydropdowns.css
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/css/research.css
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/css/style.css
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/css/style.min.css
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/css/zip.css
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/direct/Dmail.html
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/direct/add_sla_popup.html
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/direct/admin_complanint_ask_popup.html
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/direct/admin_main.html
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/direct/admin_return.html
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/direct/all.html
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/direct/all_network_popup.html
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/direct/asset_index.html
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/direct/asset_popup_1.html
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/direct/asset_popup_2.html
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/direct/asset_popup_3.html
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/direct/asset_popup_4.html
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/direct/asset_popup_4_1.html
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/direct/asset_popup_5.html
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/direct/asset_popup_6.html
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/direct/beyCallPopup.html
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/direct/business_index.html
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/direct/business_popup.html
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/direct/comeFail.html
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/direct/creMenu.html
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/direct/css/all.css
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/direct/css/enroll_person.css
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/direct/css/enroll_popup.css
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/direct/css/enroll_popup.css_201020
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/direct/css/enroll_popup.css_201109
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/direct/css/enroll_popup.css_220608
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/direct/css/evaluation_setting.css
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/direct/css/file_upload.css
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/direct/css/file_upload_2.css
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/direct/css/font.css
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/direct/css/font.css_230324
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/direct/css/font/noto-sans-kr-v12-korean_latin-100.eot
| Binary file is not shown |
+++ src/main/webapp/direct/css/font/noto-sans-kr-v12-korean_latin-100.svg
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/direct/css/font/noto-sans-kr-v12-korean_latin-100.woff
| Binary file is not shown |
+++ src/main/webapp/direct/css/font/noto-sans-kr-v12-korean_latin-100.woff2
| Binary file is not shown |
+++ src/main/webapp/direct/css/font/noto-sans-kr-v12-korean_latin-300.eot
| Binary file is not shown |
+++ src/main/webapp/direct/css/font/noto-sans-kr-v12-korean_latin-300.svg
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/direct/css/font/noto-sans-kr-v12-korean_latin-300.woff
| Binary file is not shown |
+++ src/main/webapp/direct/css/font/noto-sans-kr-v12-korean_latin-300.woff2
| Binary file is not shown |
+++ src/main/webapp/direct/css/font/noto-sans-kr-v12-korean_latin-500.eot
| Binary file is not shown |
+++ src/main/webapp/direct/css/font/noto-sans-kr-v12-korean_latin-500.svg
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/direct/css/font/noto-sans-kr-v12-korean_latin-500.woff
| Binary file is not shown |
+++ src/main/webapp/direct/css/font/noto-sans-kr-v12-korean_latin-500.woff2
| Binary file is not shown |
+++ src/main/webapp/direct/css/font/noto-sans-kr-v12-korean_latin-700.eot
| Binary file is not shown |
+++ src/main/webapp/direct/css/font/noto-sans-kr-v12-korean_latin-700.svg
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/direct/css/font/noto-sans-kr-v12-korean_latin-700.woff
| Binary file is not shown |
+++ src/main/webapp/direct/css/font/noto-sans-kr-v12-korean_latin-700.woff2
| Binary file is not shown |
+++ src/main/webapp/direct/css/font/noto-sans-kr-v12-korean_latin-900.eot
| Binary file is not shown |
+++ src/main/webapp/direct/css/font/noto-sans-kr-v12-korean_latin-900.svg
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/direct/css/font/noto-sans-kr-v12-korean_latin-900.woff
| Binary file is not shown |
+++ src/main/webapp/direct/css/font/noto-sans-kr-v12-korean_latin-900.woff2
| Binary file is not shown |
+++ src/main/webapp/direct/css/font/noto-sans-kr-v12-korean_latin-regular.eot
| Binary file is not shown |
+++ src/main/webapp/direct/css/font/noto-sans-kr-v12-korean_latin-regular.svg
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/direct/css/font/noto-sans-kr-v12-korean_latin-regular.woff
| Binary file is not shown |
+++ src/main/webapp/direct/css/font/noto-sans-kr-v12-korean_latin-regular.woff2
| Binary file is not shown |
+++ src/main/webapp/direct/css/header.css
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/direct/css/ie_popup.css
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/direct/css/index.css
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/direct/css/index.css_20210114
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/direct/css/index.css_20220914
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/direct/css/index.css_220608
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/direct/css/index.css_220929
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/direct/css/jquery.timepicker.css
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/direct/css/login.css
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/direct/css/mypage_popup.css
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/direct/css/nice-select.css
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/direct/css/nice-select.css_220608
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/direct/css/reset.css
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/direct/css/reset.css_220608
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/direct/dashboard.html
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/direct/day_index.html
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/direct/edu_popup.html
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/direct/edu_popup_detail.html
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/direct/enroll_person.html
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/direct/enroll_popup.html
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/direct/enterprise_call.html
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/direct/enterprise_enroll_person.html
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/direct/enterprise_index.html
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/direct/enterprise_popup.html
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/direct/eq_select.html
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/direct/evalMngView_print.html
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/direct/evaluation_popup.html
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/direct/evaluation_popup_2.html
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/direct/evaluation_setting.html
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/direct/fault_index.html
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/direct/fault_popup.html
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/direct/file_upload.html
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/direct/file_upload_2.html
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/direct/header.html
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/direct/img/Biznm.png
| Binary file is not shown |
+++ src/main/webapp/direct/img/Biznm_white.png
| Binary file is not shown |
+++ src/main/webapp/direct/img/Biznp.png
| Binary file is not shown |
+++ src/main/webapp/direct/img/Biznp_white.png
| Binary file is not shown |
+++ src/main/webapp/direct/img/Fe_icon.png
| Binary file is not shown |
+++ src/main/webapp/direct/img/Fs_icon.png
| Binary file is not shown |
+++ src/main/webapp/direct/img/add_enroll_popup_delect.png
| Binary file is not shown |
+++ src/main/webapp/direct/img/add_enroll_popup_file.png
| Binary file is not shown |
+++ src/main/webapp/direct/img/add_enroll_popup_person.png
| Binary file is not shown |
+++ src/main/webapp/direct/img/add_eva_file.png
| Binary file is not shown |
+++ src/main/webapp/direct/img/add_file_btn.png
| Binary file is not shown |
+++ src/main/webapp/direct/img/add_line.png
| Binary file is not shown |
+++ src/main/webapp/direct/img/add_person_file.png
| Binary file is not shown |
+++ src/main/webapp/direct/img/add_table.png
| Binary file is not shown |
+++ src/main/webapp/direct/img/add_table_white.png
| Binary file is not shown |
+++ src/main/webapp/direct/img/alram.png
| Binary file is not shown |
+++ src/main/webapp/direct/img/asset/asset_call.png
| Binary file is not shown |
+++ src/main/webapp/direct/img/asset/asset_call_white.png
| Binary file is not shown |
+++ src/main/webapp/direct/img/asset/asset_copy.png
| Binary file is not shown |
+++ src/main/webapp/direct/img/asset/asset_copy_white.png
| Binary file is not shown |
+++ src/main/webapp/direct/img/asset/asset_del.png
| Binary file is not shown |
+++ src/main/webapp/direct/img/asset/asset_del_white.png
| Binary file is not shown |
+++ src/main/webapp/direct/img/asset/asset_enroll_img.png
| Binary file is not shown |
+++ src/main/webapp/direct/img/asset/asset_exel_upload.png
| Binary file is not shown |
+++ src/main/webapp/direct/img/asset/asset_exel_upload_white.png
| Binary file is not shown |
+++ src/main/webapp/direct/img/asset/asset_file.png
| Binary file is not shown |
+++ src/main/webapp/direct/img/asset/asset_file_add.png
| Binary file is not shown |
+++ src/main/webapp/direct/img/asset/asset_file_down.png
| Binary file is not shown |
+++ src/main/webapp/direct/img/asset/asset_file_down_white.png
| Binary file is not shown |
+++ src/main/webapp/direct/img/asset/asset_file_on.png
| Binary file is not shown |
+++ src/main/webapp/direct/img/asset/asset_full_btn.png
| Binary file is not shown |
+++ src/main/webapp/direct/img/asset/asset_full_btn_white.png
| Binary file is not shown |
+++ src/main/webapp/direct/img/asset/asset_img_plus.png
| Binary file is not shown |
+++ src/main/webapp/direct/img/asset/asset_page_before_btn.png
| Binary file is not shown |
+++ src/main/webapp/direct/img/asset/asset_page_next_btn.png
| Binary file is not shown |
+++ src/main/webapp/direct/img/asset/asset_setting.png
| Binary file is not shown |
+++ src/main/webapp/direct/img/asset/cc_alram.png
| Binary file is not shown |
+++ src/main/webapp/direct/img/asset/cc_alram_white.png
| Binary file is not shown |
+++ src/main/webapp/direct/img/asset/look_btn.png
| Binary file is not shown |
+++ src/main/webapp/direct/img/asset/look_btn_white.png
| Binary file is not shown |
+++ src/main/webapp/direct/img/asset/page_first_btn.png
| Binary file is not shown |
+++ src/main/webapp/direct/img/asset/page_last_btn.png
| Binary file is not shown |
+++ src/main/webapp/direct/img/asset/turn_btn.png
| Binary file is not shown |
+++ src/main/webapp/direct/img/asset/turn_btn_white.png
| Binary file is not shown |
+++ src/main/webapp/direct/img/b_btn.png
| Binary file is not shown |
+++ src/main/webapp/direct/img/basic_serch_area_select.png
| Binary file is not shown |
+++ src/main/webapp/direct/img/bottom_title_Evaluation.png
| Binary file is not shown |
+++ src/main/webapp/direct/img/bottom_title_all.png
| Binary file is not shown |
+++ src/main/webapp/direct/img/bu_icon_carlendar.gif
| Binary file is not shown |
+++ src/main/webapp/direct/img/bu_icon_carlendar_on.gif
| Binary file is not shown |
+++ src/main/webapp/direct/img/calBefore_btn.png
| Binary file is not shown |
+++ src/main/webapp/direct/img/calNext_btn.png
| Binary file is not shown |
+++ src/main/webapp/direct/img/cal_add.png
| Binary file is not shown |
+++ src/main/webapp/direct/img/cal_add_white.png
| Binary file is not shown |
+++ src/main/webapp/direct/img/cal_img.png
| Binary file is not shown |
+++ src/main/webapp/direct/img/cal_list.png
| Binary file is not shown |
+++ src/main/webapp/direct/img/cal_list_white.png
| Binary file is not shown |
+++ src/main/webapp/direct/img/cal_setting.png
| Binary file is not shown |
+++ src/main/webapp/direct/img/check.png
| Binary file is not shown |
+++ src/main/webapp/direct/img/check_circle.png
| Binary file is not shown |
+++ src/main/webapp/direct/img/check_circle9.png
| Binary file is not shown |
+++ src/main/webapp/direct/img/check_small.png
| Binary file is not shown |
+++ src/main/webapp/direct/img/cmmt_icon.png
| Binary file is not shown |
+++ src/main/webapp/direct/img/complanint/complanint_process_file_icon.png
| Binary file is not shown |
+++ src/main/webapp/direct/img/complanint/complanint_process_img_icon.png
| Binary file is not shown |
+++ src/main/webapp/direct/img/complanint/del_btn.png
| Binary file is not shown |
+++ src/main/webapp/direct/img/complanint/del_btn_white.png
| Binary file is not shown |
+++ src/main/webapp/direct/img/complanint/history_down.png
| Binary file is not shown |
+++ src/main/webapp/direct/img/complanint/history_file_del.png
| Binary file is not shown |
+++ src/main/webapp/direct/img/complanint/history_file_icon.png
| Binary file is not shown |
+++ src/main/webapp/direct/img/complanint/history_list_close.png
| Binary file is not shown |
+++ src/main/webapp/direct/img/complanint/history_list_open.png
| Binary file is not shown |
+++ src/main/webapp/direct/img/complanint/hs_file_add.png
| Binary file is not shown |
+++ src/main/webapp/direct/img/complanint/hs_file_add_hover.png
| Binary file is not shown |
+++ src/main/webapp/direct/img/complanint/list_cont_go.png
| Binary file is not shown |
+++ src/main/webapp/direct/img/complanint/notice_deco.png
| Binary file is not shown |
+++ src/main/webapp/direct/img/complanint/return_check_icon.png
| Binary file is not shown |
+++ src/main/webapp/direct/img/complanint/table_file_icon.png
| Binary file is not shown |
+++ src/main/webapp/direct/img/complanint/table_img_icon.png
| Binary file is not shown |
+++ src/main/webapp/direct/img/complanint/table_title_icon_1.png
| Binary file is not shown |
+++ src/main/webapp/direct/img/complanint/table_title_icon_2.png
| Binary file is not shown |
+++ src/main/webapp/direct/img/complanint/table_title_icon_3.png
| Binary file is not shown |
+++ src/main/webapp/direct/img/complanint/table_title_icon_4.png
| Binary file is not shown |
+++ src/main/webapp/direct/img/complanint/table_title_icon_5.png
| Binary file is not shown |
+++ src/main/webapp/direct/img/complanint/user_add_Ask_btn.png
| Binary file is not shown |
+++ src/main/webapp/direct/img/complanint/user_add_complanint_ask.png
| Binary file is not shown |
+++ src/main/webapp/direct/img/complanint/user_complanint_top_bg.png
| Binary file is not shown |
+++ src/main/webapp/direct/img/complanint/user_del.png
| Binary file is not shown |
+++ src/main/webapp/direct/img/dashboard/boxlistplus.png
| Binary file is not shown |
+++ src/main/webapp/direct/img/dashboard/calPlusBtn.png
| Binary file is not shown |
+++ src/main/webapp/direct/img/dashboard/calTitle.png
| Binary file is not shown |
+++ src/main/webapp/direct/img/dashboard/cmpTitle.png
| Binary file is not shown |
+++ src/main/webapp/direct/img/dashboard/dataroomTitle.png
| Binary file is not shown |
+++ src/main/webapp/direct/img/dashboard/eqrentalTitle.png
| Binary file is not shown |
+++ src/main/webapp/direct/img/dashboard/faultTitle.png
| Binary file is not shown |
+++ src/main/webapp/direct/img/dashboard/fileIcon.png
| Binary file is not shown |
+++ src/main/webapp/direct/img/dashboard/ipTitle.png
| Binary file is not shown |
+++ src/main/webapp/direct/img/dashboard/listDeco.png
| Binary file is not shown |
+++ src/main/webapp/direct/img/dashboard/listTitle.png
| Binary file is not shown |
+++ src/main/webapp/direct/img/dashboard/noticeTitle.png
| Binary file is not shown |
+++ src/main/webapp/direct/img/dashboard/uplistTitle.png
| Binary file is not shown |
+++ src/main/webapp/direct/img/del_btn.png
| Binary file is not shown |
+++ src/main/webapp/direct/img/del_btn_2.png
| Binary file is not shown |
+++ src/main/webapp/direct/img/del_btn_2_white.png
| Binary file is not shown |
+++ src/main/webapp/direct/img/del_table.png
| Binary file is not shown |
+++ src/main/webapp/direct/img/del_table_white.png
| Binary file is not shown |
+++ src/main/webapp/direct/img/delect_line.png
| Binary file is not shown |
+++ src/main/webapp/direct/img/edit_btn.png
| Binary file is not shown |
+++ src/main/webapp/direct/img/edit_btn_white.png
| Binary file is not shown |
+++ src/main/webapp/direct/img/edu_file_down.png
| Binary file is not shown |
+++ src/main/webapp/direct/img/edu_file_up.png
| Binary file is not shown |
+++ src/main/webapp/direct/img/enroll_delect_icon.png
| Binary file is not shown |
+++ src/main/webapp/direct/img/enroll_delect_icon_hover.png
| Binary file is not shown |
+++ src/main/webapp/direct/img/enroll_edit_icon.png
| Binary file is not shown |
+++ src/main/webapp/direct/img/enroll_edit_icon_hover.png
| Binary file is not shown |
+++ src/main/webapp/direct/img/enroll_etc_file.png
| Binary file is not shown |
+++ src/main/webapp/direct/img/enroll_exel_file.png
| Binary file is not shown |
+++ src/main/webapp/direct/img/enroll_file_icon.png
| Binary file is not shown |
+++ src/main/webapp/direct/img/enroll_file_icon_hover.png
| Binary file is not shown |
+++ src/main/webapp/direct/img/enroll_file_title_bg.png
| Binary file is not shown |
+++ src/main/webapp/direct/img/enroll_hwp_file.png
| Binary file is not shown |
+++ src/main/webapp/direct/img/enroll_jpg_file.png
| Binary file is not shown |
+++ src/main/webapp/direct/img/enroll_mp4_file.png
| Binary file is not shown |
+++ src/main/webapp/direct/img/enroll_pdf_file.png
| Binary file is not shown |
+++ src/main/webapp/direct/img/enroll_png_file.png
| Binary file is not shown |
+++ src/main/webapp/direct/img/enroll_popup_download.png
| Binary file is not shown |
+++ src/main/webapp/direct/img/enroll_popup_download_white.png
| Binary file is not shown |
+++ src/main/webapp/direct/img/enroll_popup_title_bg.png
| Binary file is not shown |
+++ src/main/webapp/direct/img/enroll_ppt_file.png
| Binary file is not shown |
+++ src/main/webapp/direct/img/enroll_zip_file.png
| Binary file is not shown |
+++ src/main/webapp/direct/img/enterprise_title_deco.png
| Binary file is not shown |
+++ src/main/webapp/direct/img/enterprise_title_deco_2.png
| Binary file is not shown |
+++ src/main/webapp/direct/img/eqAll.png
| Binary file is not shown |
+++ src/main/webapp/direct/img/exel_down.png
| Binary file is not shown |
+++ src/main/webapp/direct/img/failIcon.png
| Binary file is not shown |
+++ src/main/webapp/direct/img/fault_add_line.png
| Binary file is not shown |
+++ src/main/webapp/direct/img/fault_del_btn.png
| Binary file is not shown |
+++ src/main/webapp/direct/img/fault_del_btn_white.png
| Binary file is not shown |
+++ src/main/webapp/direct/img/fault_del_line.png
| Binary file is not shown |
+++ src/main/webapp/direct/img/fault_schedule_icon.png
| Binary file is not shown |
+++ src/main/webapp/direct/img/file_icon.png
| Binary file is not shown |
+++ src/main/webapp/direct/img/file_move_icon.png
| Binary file is not shown |
+++ src/main/webapp/direct/img/file_move_icon_white.png
| Binary file is not shown |
+++ src/main/webapp/direct/img/file_move_reset_icon.png
| Binary file is not shown |
+++ src/main/webapp/direct/img/file_move_reset_icon_white.png
| Binary file is not shown |
+++ src/main/webapp/direct/img/fullContIcon.png
| Binary file is not shown |
+++ src/main/webapp/direct/img/home_icon.png
| Binary file is not shown |
+++ src/main/webapp/direct/img/img_icon.png
| Binary file is not shown |
+++ src/main/webapp/direct/img/ipEnrollIcon.png
| Binary file is not shown |
+++ src/main/webapp/direct/img/ip_anchor.png
| Binary file is not shown |
+++ src/main/webapp/direct/img/ip_anchor_white.png
| Binary file is not shown |
+++ src/main/webapp/direct/img/layerPopupDelect3571B5.png
| Binary file is not shown |
+++ src/main/webapp/direct/img/layerPopupDelectAAA.png
| Binary file is not shown |
+++ src/main/webapp/direct/img/left_sub_title_list_bg.png
| Binary file is not shown |
+++ src/main/webapp/direct/img/list_btn.png
| Binary file is not shown |
+++ src/main/webapp/direct/img/list_btn_white.png
| Binary file is not shown |
+++ src/main/webapp/direct/img/load_img.png
| Binary file is not shown |
+++ src/main/webapp/direct/img/loading_img.png
| Binary file is not shown |
+++ src/main/webapp/direct/img/lodingBar.gif
| Binary file is not shown |
+++ src/main/webapp/direct/img/login/login_left_bg.png
| Binary file is not shown |
+++ src/main/webapp/direct/img/login/login_logo.png
| Binary file is not shown |
+++ src/main/webapp/direct/img/login/main_bg.png
| Binary file is not shown |
+++ src/main/webapp/direct/img/logo.png
| Binary file is not shown |
+++ src/main/webapp/direct/img/logo_2.png
| Binary file is not shown |
+++ src/main/webapp/direct/img/logo_2_201003.png
| Binary file is not shown |
+++ src/main/webapp/direct/img/logo_2_201103.png
| Binary file is not shown |
+++ src/main/webapp/direct/img/mypageIcon.png
| Binary file is not shown |
+++ src/main/webapp/direct/img/mypage_popup_bg.png
| Binary file is not shown |
+++ src/main/webapp/direct/img/n_btn.png
| Binary file is not shown |
+++ src/main/webapp/direct/img/network_title.png
| Binary file is not shown |
+++ src/main/webapp/direct/img/page_before.png
| Binary file is not shown |
+++ src/main/webapp/direct/img/page_next.png
| Binary file is not shown |
+++ src/main/webapp/direct/img/person_title_bg.png
| Binary file is not shown |
+++ src/main/webapp/direct/img/popup_close_icon.png
| Binary file is not shown |
+++ src/main/webapp/direct/img/popup_full_icon.png
| Binary file is not shown |
+++ src/main/webapp/direct/img/popup_little_icon.png
| Binary file is not shown |
+++ src/main/webapp/direct/img/print.png
| Binary file is not shown |
+++ src/main/webapp/direct/img/print_icon.png
| Binary file is not shown |
+++ src/main/webapp/direct/img/print_icon_white.png
| Binary file is not shown |
+++ src/main/webapp/direct/img/print_white.png
| Binary file is not shown |
+++ src/main/webapp/direct/img/profile_img.png
| Binary file is not shown |
+++ src/main/webapp/direct/img/profile_modify.png
| Binary file is not shown |
+++ src/main/webapp/direct/img/q_mark.png
| Binary file is not shown |
+++ src/main/webapp/direct/img/remove_enroll_popup_file.png
| Binary file is not shown |
+++ src/main/webapp/direct/img/required_img.png
| Binary file is not shown |
+++ src/main/webapp/direct/img/result_work_enroll_btn.png
| Binary file is not shown |
+++ src/main/webapp/direct/img/reviewIcon.png
| Binary file is not shown |
+++ src/main/webapp/direct/img/schIcon.png
| Binary file is not shown |
+++ src/main/webapp/direct/img/serch_icon.png
| Binary file is not shown |
+++ src/main/webapp/direct/img/setDownBtn.png
| Binary file is not shown |
+++ src/main/webapp/direct/img/setUpBtn.png
| Binary file is not shown |
+++ src/main/webapp/direct/img/sla_fault_icon.png
| Binary file is not shown |
+++ src/main/webapp/direct/img/sort_down_img.png
| Binary file is not shown |
+++ src/main/webapp/direct/img/sort_down_on.png
| Binary file is not shown |
+++ src/main/webapp/direct/img/sort_up_img.png
| Binary file is not shown |
+++ src/main/webapp/direct/img/sort_up_on.png
| Binary file is not shown |
+++ src/main/webapp/direct/img/statsperDc.png
| Binary file is not shown |
+++ src/main/webapp/direct/img/upload_delect_img.png
| Binary file is not shown |
+++ src/main/webapp/direct/img/upload_hwp_img.png
| Binary file is not shown |
+++ src/main/webapp/direct/img/upload_img.png
| Binary file is not shown |
+++ src/main/webapp/direct/img/upload_img_white.png
| Binary file is not shown |
+++ src/main/webapp/direct/img/view_before_btn.png
| Binary file is not shown |
+++ src/main/webapp/direct/img/view_next_btn.png
| Binary file is not shown |
+++ src/main/webapp/direct/index.html
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/direct/ip.html
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/direct/ipPopup.html
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/direct/js/jquery-1.11.3.min.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/direct/js/jquery-ui.min.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/direct/js/jquery.nice-select.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/direct/js/jquery.nice-select.min.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/direct/js/jquery.timepicker.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/direct/js/jquery.timepicker_orgn.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/direct/js/popup_open.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/direct/js/popup_open_2.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/direct/js/script.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/direct/list_index.html
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/direct/login.html
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/direct/mail_template/sch_alrm_cont.html
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/direct/meeting_popup.html
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/direct/month_index.html
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/direct/mypage.html
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/direct/mypage_popup.html
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/direct/org_list.html
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/direct/orgn.html
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/direct/private_popup.html
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/direct/rentalDetailWrap.html
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/direct/resultSerch.html
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/direct/returnReason.html
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/direct/rtest_index.html
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/direct/rtest_popup.html
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/direct/scMor_popup.html
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/direct/sc_add_popup.html
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/direct/sc_detail.html
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/direct/sc_list.html
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/direct/sc_setting.html
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/direct/security_basic_index.html
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/direct/security_basic_popup.html
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/direct/security_index.html
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/direct/security_popup.html
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/direct/setting_index.html
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/direct/setting_list.html
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/direct/setting_notice.html
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/direct/setting_notice_popup.html
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/direct/shop_popup.html
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/direct/sla_index.html
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/direct/sla_popup.html
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/direct/statsIndex.html
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/direct/statsPer.html
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/direct/user_ask_index.html
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/direct/user_complanint_ask_popup.html
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/direct/user_complanint_index.html
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/direct/user_rental.html
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/direct/user_return.html
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/direct/user_return_rental_index.html
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/direct/view_setting_notice_popup.html
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/direct/view_sla_popup.html
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/direct/week_index.html
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/email.txt
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/font-flexslider/flexslider-icon.eot
| Binary file is not shown |
+++ src/main/webapp/font-flexslider/flexslider-icon.svg
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/font-flexslider/flexslider-icon.ttf
| Binary file is not shown |
+++ src/main/webapp/font-flexslider/flexslider-icon.woff
| Binary file is not shown |
+++ src/main/webapp/fonts/NotoSans-Medium.eot
| Binary file is not shown |
+++ src/main/webapp/fonts/NotoSans-Medium.svg
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/fonts/NotoSans-Medium.ttf
| Binary file is not shown |
+++ src/main/webapp/fonts/NotoSans-Medium.woff
| Binary file is not shown |
+++ src/main/webapp/fonts/NotoSans-Medium.woff2
| Binary file is not shown |
+++ src/main/webapp/fonts/NotoSans-Regular.eot
| Binary file is not shown |
+++ src/main/webapp/fonts/NotoSans-Regular.svg
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/fonts/NotoSans-Regular.ttf
| Binary file is not shown |
+++ src/main/webapp/fonts/NotoSans-Regular.woff
| Binary file is not shown |
+++ src/main/webapp/fonts/NotoSans-Regular.woff2
| Binary file is not shown |
+++ src/main/webapp/fonts/NotoSansKR-Black-Hestia.eot
| Binary file is not shown |
+++ src/main/webapp/fonts/NotoSansKR-Black-Hestia.otf
| Binary file is not shown |
+++ src/main/webapp/fonts/NotoSansKR-Black-Hestia.woff
| Binary file is not shown |
+++ src/main/webapp/fonts/NotoSansKR-Bold-Hestia.eot
| Binary file is not shown |
+++ src/main/webapp/fonts/NotoSansKR-Bold-Hestia.otf
| Binary file is not shown |
+++ src/main/webapp/fonts/NotoSansKR-Bold-Hestia.woff
| Binary file is not shown |
+++ src/main/webapp/fonts/NotoSansKR-DemiLight-Hestia.eot
| Binary file is not shown |
+++ src/main/webapp/fonts/NotoSansKR-DemiLight-Hestia.otf
| Binary file is not shown |
+++ src/main/webapp/fonts/NotoSansKR-DemiLight-Hestia.woff
| Binary file is not shown |
+++ src/main/webapp/fonts/NotoSansKR-Light-Hestia.eot
| Binary file is not shown |
+++ src/main/webapp/fonts/NotoSansKR-Light-Hestia.otf
| Binary file is not shown |
+++ src/main/webapp/fonts/NotoSansKR-Light-Hestia.woff
| Binary file is not shown |
+++ src/main/webapp/fonts/NotoSansKR-Medium-Hestia.eot
| Binary file is not shown |
+++ src/main/webapp/fonts/NotoSansKR-Medium-Hestia.otf
| Binary file is not shown |
+++ src/main/webapp/fonts/NotoSansKR-Medium-Hestia.woff
| Binary file is not shown |
+++ src/main/webapp/fonts/NotoSansKR-Regular-Hestia.eot
| Binary file is not shown |
+++ src/main/webapp/fonts/NotoSansKR-Regular-Hestia.otf
| Binary file is not shown |
+++ src/main/webapp/fonts/NotoSansKR-Regular-Hestia.woff
| Binary file is not shown |
+++ src/main/webapp/fonts/NotoSansKR-Thin-Hestia.eot
| Binary file is not shown |
+++ src/main/webapp/fonts/NotoSansKR-Thin-Hestia.otf
| Binary file is not shown |
+++ src/main/webapp/fonts/NotoSansKR-Thin-Hestia.woff
| Binary file is not shown |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/CHANGES.md
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/LICENSE.md
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/README.md
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/adapters/jquery.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/build-config.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/ckeditor.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/config.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/contents.css
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/af.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/ar.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/bg.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/bn.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/bs.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/ca.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/cs.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/cy.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/da.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/de.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/el.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/en-au.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/en-ca.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/en-gb.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/en.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/eo.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/es.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/et.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/eu.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/fa.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/fi.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/fo.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/fr-ca.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/fr.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/gl.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/gu.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/he.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/hi.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/hr.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/hu.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/id.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/is.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/it.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/ja.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/ka.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/km.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/ko.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/ku.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/lt.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/lv.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/mk.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/mn.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/ms.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/nb.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/nl.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/no.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/pl.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/pt-br.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/pt.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/ro.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/ru.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/si.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/sk.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/sl.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/sq.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/sr-latn.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/sr.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/sv.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/th.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/tr.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/tt.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/ug.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/uk.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/vi.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/zh-cn.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/zh.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/a11yhelp.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/_translationstatus.txt
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/ar.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/bg.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/ca.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/cs.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/cy.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/da.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/de.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/el.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/en-gb.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/en.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/eo.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/es.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/et.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/fa.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/fi.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/fr-ca.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/fr.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/gl.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/gu.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/he.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/hi.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/hr.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/hu.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/id.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/it.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/ja.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/km.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/ko.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/ku.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/lt.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/lv.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/mk.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/mn.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/nb.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/nl.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/no.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/pl.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/pt-br.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/pt.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/ro.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/ru.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/si.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/sk.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/sl.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/sq.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/sr-latn.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/sr.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/sv.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/th.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/tr.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/tt.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/ug.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/uk.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/vi.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/zh-cn.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/zh.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/about/dialogs/about.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/about/dialogs/hidpi/logo_ckeditor.png
| Binary file is not shown |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/about/dialogs/logo_ckeditor.png
| Binary file is not shown |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/clipboard/dialogs/paste.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/colordialog/dialogs/colordialog.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/dialog/dialogDefinition.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/div/dialogs/div.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/find/dialogs/find.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/flash/dialogs/flash.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/flash/images/placeholder.png
| Binary file is not shown |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/forms/dialogs/checkbox.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/forms/dialogs/form.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/forms/dialogs/radio.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/forms/dialogs/select.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/forms/dialogs/textarea.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/forms/dialogs/textfield.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/icons.png
| Binary file is not shown |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/icons_hidpi.png
| Binary file is not shown |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/iframe/dialogs/iframe.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/iframe/images/placeholder.png
| Binary file is not shown |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/image/dialogs/image.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/image/images/noimage.png
| Binary file is not shown |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/link/dialogs/anchor.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/link/dialogs/link.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/link/images/anchor.png
| Binary file is not shown |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/link/images/hidpi/anchor.png
| Binary file is not shown |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/liststyle/dialogs/liststyle.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/magicline/images/hidpi/icon-rtl.png
| Binary file is not shown |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/magicline/images/hidpi/icon.png
| Binary file is not shown |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/magicline/images/icon-rtl.png
| Binary file is not shown |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/magicline/images/icon.png
| Binary file is not shown |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/pagebreak/images/pagebreak.gif
| Binary file is not shown |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/pastefromword/filter/default.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/preview/preview.html
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/scayt/LICENSE.md
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/scayt/README.md
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/scayt/dialogs/options.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/scayt/dialogs/toolbar.css
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/showblocks/images/block_address.png
| Binary file is not shown |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/showblocks/images/block_blockquote.png
| Binary file is not shown |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/showblocks/images/block_div.png
| Binary file is not shown |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/showblocks/images/block_h1.png
| Binary file is not shown |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/showblocks/images/block_h2.png
| Binary file is not shown |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/showblocks/images/block_h3.png
| Binary file is not shown |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/showblocks/images/block_h4.png
| Binary file is not shown |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/showblocks/images/block_h5.png
| Binary file is not shown |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/showblocks/images/block_h6.png
| Binary file is not shown |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/showblocks/images/block_p.png
| Binary file is not shown |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/showblocks/images/block_pre.png
| Binary file is not shown |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/smiley/dialogs/smiley.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/smiley/images/angel_smile.gif
| Binary file is not shown |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/smiley/images/angel_smile.png
| Binary file is not shown |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/smiley/images/angry_smile.gif
| Binary file is not shown |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/smiley/images/angry_smile.png
| Binary file is not shown |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/smiley/images/broken_heart.gif
| Binary file is not shown |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/smiley/images/broken_heart.png
| Binary file is not shown |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/smiley/images/confused_smile.gif
| Binary file is not shown |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/smiley/images/confused_smile.png
| Binary file is not shown |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/smiley/images/cry_smile.gif
| Binary file is not shown |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/smiley/images/cry_smile.png
| Binary file is not shown |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/smiley/images/devil_smile.gif
| Binary file is not shown |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/smiley/images/devil_smile.png
| Binary file is not shown |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/smiley/images/embaressed_smile.gif
| Binary file is not shown |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/smiley/images/embarrassed_smile.gif
| Binary file is not shown |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/smiley/images/embarrassed_smile.png
| Binary file is not shown |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/smiley/images/envelope.gif
| Binary file is not shown |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/smiley/images/envelope.png
| Binary file is not shown |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/smiley/images/heart.gif
| Binary file is not shown |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/smiley/images/heart.png
| Binary file is not shown |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/smiley/images/kiss.gif
| Binary file is not shown |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/smiley/images/kiss.png
| Binary file is not shown |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/smiley/images/lightbulb.gif
| Binary file is not shown |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/smiley/images/lightbulb.png
| Binary file is not shown |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/smiley/images/omg_smile.gif
| Binary file is not shown |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/smiley/images/omg_smile.png
| Binary file is not shown |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/smiley/images/regular_smile.gif
| Binary file is not shown |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/smiley/images/regular_smile.png
| Binary file is not shown |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/smiley/images/sad_smile.gif
| Binary file is not shown |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/smiley/images/sad_smile.png
| Binary file is not shown |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/smiley/images/shades_smile.gif
| Binary file is not shown |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/smiley/images/shades_smile.png
| Binary file is not shown |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/smiley/images/teeth_smile.gif
| Binary file is not shown |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/smiley/images/teeth_smile.png
| Binary file is not shown |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/smiley/images/thumbs_down.gif
| Binary file is not shown |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/smiley/images/thumbs_down.png
| Binary file is not shown |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/smiley/images/thumbs_up.gif
| Binary file is not shown |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/smiley/images/thumbs_up.png
| Binary file is not shown |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/smiley/images/tongue_smile.gif
| Binary file is not shown |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/smiley/images/tongue_smile.png
| Binary file is not shown |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/smiley/images/tounge_smile.gif
| Binary file is not shown |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/smiley/images/whatchutalkingabout_smile.gif
| Binary file is not shown |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/smiley/images/whatchutalkingabout_smile.png
| Binary file is not shown |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/smiley/images/wink_smile.gif
| Binary file is not shown |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/smiley/images/wink_smile.png
| Binary file is not shown |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/_translationstatus.txt
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/ar.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/bg.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/ca.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/cs.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/cy.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/de.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/el.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/en-gb.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/en.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/eo.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/es.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/et.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/fa.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/fi.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/fr-ca.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/fr.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/gl.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/he.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/hr.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/hu.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/id.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/it.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/ja.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/km.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/ku.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/lv.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/nb.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/nl.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/no.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/pl.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/pt-br.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/pt.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/ru.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/si.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/sk.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/sl.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/sq.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/sv.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/th.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/tr.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/tt.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/ug.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/uk.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/vi.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/zh-cn.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/zh.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/specialchar.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/table/dialogs/table.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/tabletools/dialogs/tableCell.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/templates/dialogs/templates.css
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/templates/dialogs/templates.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/templates/templates/default.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/templates/templates/images/template1.gif
| Binary file is not shown |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/templates/templates/images/template2.gif
| Binary file is not shown |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/templates/templates/images/template3.gif
| Binary file is not shown |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/wsc/LICENSE.md
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/wsc/README.md
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/wsc/dialogs/ciframe.html
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/wsc/dialogs/tmpFrameset.html
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/wsc/dialogs/wsc.css
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/wsc/dialogs/wsc.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/wsc/dialogs/wsc_ie.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/ajax.html
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/api.html
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/appendto.html
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/assets/inlineall/logo.png
| Binary file is not shown |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/assets/outputxhtml/outputxhtml.css
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/assets/posteddata.php
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/assets/sample.jpg
| Binary file is not shown |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/assets/uilanguages/languages.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/datafiltering.html
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/divreplace.html
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/index.html
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/inlineall.html
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/inlinebycode.html
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/inlinetextarea.html
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/jquery.html
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/plugins/dialog/assets/my_dialog.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/plugins/dialog/dialog.html
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/plugins/enterkey/enterkey.html
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/plugins/htmlwriter/assets/outputforflash/outputforflash.fla
| Binary file is not shown |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/plugins/htmlwriter/assets/outputforflash/outputforflash.swf
| Binary file is not shown |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/plugins/htmlwriter/assets/outputforflash/swfobject.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/plugins/htmlwriter/outputforflash.html
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/plugins/htmlwriter/outputhtml.html
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/plugins/magicline/magicline.html
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/plugins/toolbar/toolbar.html
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/plugins/wysiwygarea/fullpage.html
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/readonly.html
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/replacebyclass.html
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/replacebycode.html
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/sample.css
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/sample.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/sample_posteddata.php
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/tabindex.html
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/uicolor.html
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/uilanguages.html
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/xhtmlstyle.html
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/skins/moono/dialog.css
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/skins/moono/dialog_ie.css
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/skins/moono/dialog_ie7.css
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/skins/moono/dialog_ie8.css
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/skins/moono/dialog_iequirks.css
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/skins/moono/editor.css
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/skins/moono/editor_gecko.css
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/skins/moono/editor_ie.css
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/skins/moono/editor_ie7.css
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/skins/moono/editor_ie8.css
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/skins/moono/editor_iequirks.css
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/skins/moono/icons.png
| Binary file is not shown |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/skins/moono/icons_hidpi.png
| Binary file is not shown |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/skins/moono/images/arrow.png
| Binary file is not shown |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/skins/moono/images/close.png
| Binary file is not shown |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/skins/moono/images/hidpi/close.png
| Binary file is not shown |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/skins/moono/images/hidpi/lock-open.png
| Binary file is not shown |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/skins/moono/images/hidpi/lock.png
| Binary file is not shown |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/skins/moono/images/hidpi/refresh.png
| Binary file is not shown |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/skins/moono/images/lock-open.png
| Binary file is not shown |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/skins/moono/images/lock.png
| Binary file is not shown |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/skins/moono/images/refresh.png
| Binary file is not shown |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/skins/moono/readme.md
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/styles.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/html/private.html
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/images/bg_boardhead.gif
| Binary file is not shown |
+++ src/main/webapp/images/bg_h2.gif
| Binary file is not shown |
+++ src/main/webapp/images/bl_circle.gif
| Binary file is not shown |
+++ src/main/webapp/images/bl_dot.gif
| Binary file is not shown |
+++ src/main/webapp/images/bl_dotbg.gif
| Binary file is not shown |
+++ src/main/webapp/images/bl_dotblack.gif
| Binary file is not shown |
+++ src/main/webapp/images/bl_grayarrow.gif
| Binary file is not shown |
+++ src/main/webapp/images/bl_h2.gif
| Binary file is not shown |
+++ src/main/webapp/images/bl_underline.gif
| Binary file is not shown |
+++ src/main/webapp/images/bl_underline2.gif
| Binary file is not shown |
+++ src/main/webapp/images/blue_arrow.gif
| Binary file is not shown |
+++ src/main/webapp/images/btn/btn_close.gif
| Binary file is not shown |
+++ src/main/webapp/images/btn/btn_next.gif
| Binary file is not shown |
+++ src/main/webapp/images/btn/btn_prev.gif
| Binary file is not shown |
+++ src/main/webapp/images/btn/bu5_close.gif
| Binary file is not shown |
+++ src/main/webapp/images/btn/icon_01next.png
| Binary file is not shown |
+++ src/main/webapp/images/btn/icon_01play.png
| Binary file is not shown |
+++ src/main/webapp/images/btn/icon_01pre.png
| Binary file is not shown |
+++ src/main/webapp/images/btn/icon_01stop.png
| Binary file is not shown |
+++ src/main/webapp/images/btn/icon_aft_month.gif
| Binary file is not shown |
+++ src/main/webapp/images/btn/icon_aft_year.gif
| Binary file is not shown |
+++ src/main/webapp/images/btn/icon_pre_month.gif
| Binary file is not shown |
+++ src/main/webapp/images/btn/icon_pre_year.gif
| Binary file is not shown |
+++ src/main/webapp/images/btn/icon_zip_search.gif
| Binary file is not shown |
+++ src/main/webapp/images/bu2_left.gif
| Binary file is not shown |
+++ src/main/webapp/images/bu2_right.gif
| Binary file is not shown |
+++ src/main/webapp/images/calendar.gif
| Binary file is not shown |
+++ src/main/webapp/images/common/accessDenied.png
| Binary file is not shown |
+++ src/main/webapp/images/common/icon_01next.png
| Binary file is not shown |
+++ src/main/webapp/images/common/icon_01play.png
| Binary file is not shown |
+++ src/main/webapp/images/common/icon_01pre.png
| Binary file is not shown |
+++ src/main/webapp/images/common/icon_01stop.png
| Binary file is not shown |
+++ src/main/webapp/images/common/icon_02next.png
| Binary file is not shown |
+++ src/main/webapp/images/common/icon_02pre.png
| Binary file is not shown |
+++ src/main/webapp/images/common/icon_03next.png
| Binary file is not shown |
+++ src/main/webapp/images/common/icon_03pre.png
| Binary file is not shown |
+++ src/main/webapp/images/common/rs-1.png
| Binary file is not shown |
+++ src/main/webapp/images/common/rs-2.png
| Binary file is not shown |
+++ src/main/webapp/images/common/rs-3.png
| Binary file is not shown |
+++ src/main/webapp/images/common/rs-4.png
| Binary file is not shown |
+++ src/main/webapp/images/common/rs-5.png
| Binary file is not shown |
+++ src/main/webapp/images/cross.png
| Binary file is not shown |
+++ src/main/webapp/images/danger.jpg
| Binary file is not shown |
+++ src/main/webapp/images/egovframework/com/TAB_01.gif
| Binary file is not shown |
+++ src/main/webapp/images/egovframework/com/TAB_01_o.gif
| Binary file is not shown |
+++ src/main/webapp/images/egovframework/com/TAB_02.gif
| Binary file is not shown |
+++ src/main/webapp/images/egovframework/com/TAB_02_o.gif
| Binary file is not shown |
+++ src/main/webapp/images/egovframework/com/TAB_03.gif
| Binary file is not shown |
+++ src/main/webapp/images/egovframework/com/TAB_03_o.gif
| Binary file is not shown |
+++ src/main/webapp/images/egovframework/com/bg_list_th.gif
| Binary file is not shown |
+++ src/main/webapp/images/egovframework/com/bg_list_thEnd.gif
| Binary file is not shown |
+++ src/main/webapp/images/egovframework/com/bottom_bg.gif
| Binary file is not shown |
+++ src/main/webapp/images/egovframework/com/botttom_address.gif
| Binary file is not shown |
+++ src/main/webapp/images/egovframework/com/botttom_logo.gif
| Binary file is not shown |
+++ src/main/webapp/images/egovframework/com/btn_kne.gif
| Binary file is not shown |
+++ src/main/webapp/images/egovframework/com/btn_logout.gif
| Binary file is not shown |
+++ src/main/webapp/images/egovframework/com/bu_icon_delete.gif
| Binary file is not shown |
+++ src/main/webapp/images/egovframework/com/cmm/blue_bg.jpg
| Binary file is not shown |
+++ src/main/webapp/images/egovframework/com/cmm/btn/btn_del.png
| Binary file is not shown |
+++ src/main/webapp/images/egovframework/com/cmm/btn/bu2.jpg
| Binary file is not shown |
+++ src/main/webapp/images/egovframework/com/cmm/btn/bu2_bg.gif
| Binary file is not shown |
+++ src/main/webapp/images/egovframework/com/cmm/btn/bu2_left.gif
| Binary file is not shown |
+++ src/main/webapp/images/egovframework/com/cmm/btn/bu2_right.gif
| Binary file is not shown |
+++ src/main/webapp/images/egovframework/com/cmm/chart/chart1.JPG
| Binary file is not shown |
+++ src/main/webapp/images/egovframework/com/cmm/chart/chart2.JPG
| Binary file is not shown |
+++ src/main/webapp/images/egovframework/com/cmm/chart/chart3.JPG
| Binary file is not shown |
+++ src/main/webapp/images/egovframework/com/cmm/chart/chart4.JPG
| Binary file is not shown |
+++ src/main/webapp/images/egovframework/com/cmm/chart/chart5.JPG
| Binary file is not shown |
+++ src/main/webapp/images/egovframework/com/cmm/chart/chart6.JPG
| Binary file is not shown |
+++ src/main/webapp/images/egovframework/com/cmm/danger.jpg
| Binary file is not shown |
+++ src/main/webapp/images/egovframework/com/cmm/er_logo.jpg
| Binary file is not shown |
+++ src/main/webapp/images/egovframework/com/cmm/fms/icon/bu5_close.gif
| Binary file is not shown |
+++ src/main/webapp/images/egovframework/com/cmm/fms/icon/bu_icon_delete.gif
| Binary file is not shown |
+++ src/main/webapp/images/egovframework/com/cmm/go_history.jpg
| Binary file is not shown |
+++ src/main/webapp/images/egovframework/com/cmm/go_main.jpg
| Binary file is not shown |
+++ src/main/webapp/images/egovframework/com/cmm/icon/bu_icon_carlendar.gif
| Binary file is not shown |
+++ src/main/webapp/images/egovframework/com/cmm/icon/icon_next.gif
| Binary file is not shown |
+++ src/main/webapp/images/egovframework/com/cmm/icon/icon_nextend.gif
| Binary file is not shown |
+++ src/main/webapp/images/egovframework/com/cmm/icon/icon_prev.gif
| Binary file is not shown |
+++ src/main/webapp/images/egovframework/com/cmm/icon/icon_prevend.gif
| Binary file is not shown |
+++ src/main/webapp/images/egovframework/com/cmm/icon/no_required.gif
| Binary file is not shown |
+++ src/main/webapp/images/egovframework/com/cmm/icon/reply_arrow.gif
| Binary file is not shown |
+++ src/main/webapp/images/egovframework/com/cmm/icon/required.gif
| Binary file is not shown |
+++ src/main/webapp/images/egovframework/com/cmm/icon/search.gif
| Binary file is not shown |
+++ src/main/webapp/images/egovframework/com/cmm/icon/tit_icon.gif
| Binary file is not shown |
+++ src/main/webapp/images/egovframework/com/cmm/icon/tit_icon_pop.gif
| Binary file is not shown |
+++ src/main/webapp/images/egovframework/com/cmm/img/search2.gif
| Binary file is not shown |
+++ src/main/webapp/images/egovframework/com/cmm/left_bg.gif
| Binary file is not shown |
+++ src/main/webapp/images/egovframework/com/cmm/main/bg_header.jpg
| Binary file is not shown |
+++ src/main/webapp/images/egovframework/com/cmm/main/h1_logo.jpg
| Binary file is not shown |
+++ src/main/webapp/images/egovframework/com/cmm/mod/icon/icon_next.gif
| Binary file is not shown |
+++ src/main/webapp/images/egovframework/com/cmm/mod/icon/icon_nextend.gif
| Binary file is not shown |
+++ src/main/webapp/images/egovframework/com/cmm/mod/icon/icon_prev.gif
| Binary file is not shown |
+++ src/main/webapp/images/egovframework/com/cmm/mod/icon/icon_prevend.gif
| Binary file is not shown |
+++ src/main/webapp/images/egovframework/com/cmm/search2.gif
| Binary file is not shown |
+++ src/main/webapp/images/egovframework/com/cmm/uss/umt/bg_list_th.gif
| Binary file is not shown |
+++ src/main/webapp/images/egovframework/com/cmm/uss/umt/bg_list_thEnd.gif
| Binary file is not shown |
+++ src/main/webapp/images/egovframework/com/cmm/uss/umt/btn_kne.gif
| Binary file is not shown |
+++ src/main/webapp/images/egovframework/com/cmm/uss/umt/btn_logout.gif
| Binary file is not shown |
+++ src/main/webapp/images/egovframework/com/cmm/uss/umt/bu2.jpg
| Binary file is not shown |
+++ src/main/webapp/images/egovframework/com/cmm/uss/umt/contents.jpg
| Binary file is not shown |
+++ src/main/webapp/images/egovframework/com/cmm/uss/umt/icon/icon_next.gif
| Binary file is not shown |
+++ src/main/webapp/images/egovframework/com/cmm/uss/umt/icon/icon_nextend.gif
| Binary file is not shown |
+++ src/main/webapp/images/egovframework/com/cmm/uss/umt/icon/icon_prev.gif
| Binary file is not shown |
+++ src/main/webapp/images/egovframework/com/cmm/uss/umt/icon/icon_prevend.gif
| Binary file is not shown |
+++ src/main/webapp/images/egovframework/com/cmm/uss/umt/icon/no_required.gif
| Binary file is not shown |
+++ src/main/webapp/images/egovframework/com/cmm/uss/umt/icon/required.gif
| Binary file is not shown |
+++ src/main/webapp/images/egovframework/com/cmm/uss/umt/icon/search.gif
| Binary file is not shown |
+++ src/main/webapp/images/egovframework/com/cmm/uss/umt/icon/tit_icon.gif
| Binary file is not shown |
+++ src/main/webapp/images/egovframework/com/cmm/uss/umt/icon/tit_icon_pop.gif
| Binary file is not shown |
+++ src/main/webapp/images/egovframework/com/cmm/uss/umt/index_login.gif
| Binary file is not shown |
+++ src/main/webapp/images/egovframework/com/cmm/uss/umt/index_login.jpg
| Binary file is not shown |
+++ src/main/webapp/images/egovframework/com/cmm/uss/umt/join_btn.gif
| Binary file is not shown |
+++ src/main/webapp/images/egovframework/com/cmm/uss/umt/left_bg.gif
| Binary file is not shown |
+++ src/main/webapp/images/egovframework/com/cmm/uss/umt/login_bg01.gif
| Binary file is not shown |
+++ src/main/webapp/images/egovframework/com/cmm/uss/umt/login_btn.gif
| Binary file is not shown |
+++ src/main/webapp/images/egovframework/com/cmm/uss/umt/login_id_save.gif
| Binary file is not shown |
+++ src/main/webapp/images/egovframework/com/cmm/uss/umt/logo.gif
| Binary file is not shown |
+++ src/main/webapp/images/egovframework/com/cmm/uss/umt/page_title.gif
| Binary file is not shown |
+++ src/main/webapp/images/egovframework/com/cmm/utl/btn/bu2.jpg
| Binary file is not shown |
+++ src/main/webapp/images/egovframework/com/ency.gif
| Binary file is not shown |
+++ src/main/webapp/images/egovframework/com/icon_next.gif
| Binary file is not shown |
+++ src/main/webapp/images/egovframework/com/icon_nextend.gif
| Binary file is not shown |
+++ src/main/webapp/images/egovframework/com/icon_prev.gif
| Binary file is not shown |
+++ src/main/webapp/images/egovframework/com/icon_prevend.gif
| Binary file is not shown |
+++ src/main/webapp/images/egovframework/com/index_login.gif
| Binary file is not shown |
+++ src/main/webapp/images/egovframework/com/index_login.jpg
| Binary file is not shown |
+++ src/main/webapp/images/egovframework/com/join_btn.gif
| Binary file is not shown |
+++ src/main/webapp/images/egovframework/com/left_bg.gif
| Binary file is not shown |
+++ src/main/webapp/images/egovframework/com/login_bg01.gif
| Binary file is not shown |
+++ src/main/webapp/images/egovframework/com/login_btn.gif
| Binary file is not shown |
+++ src/main/webapp/images/egovframework/com/login_id_save.gif
| Binary file is not shown |
+++ src/main/webapp/images/egovframework/com/logo.gif
| Binary file is not shown |
+++ src/main/webapp/images/egovframework/com/logo_01.gif
| Binary file is not shown |
+++ src/main/webapp/images/egovframework/com/logout_btn.gif
| Binary file is not shown |
+++ src/main/webapp/images/egovframework/com/main_top.gif
| Binary file is not shown |
+++ src/main/webapp/images/egovframework/com/main_top02.jpg
| Binary file is not shown |
+++ src/main/webapp/images/egovframework/com/page_title.gif
| Binary file is not shown |
+++ src/main/webapp/images/egovframework/com/required.gif
| Binary file is not shown |
+++ src/main/webapp/images/egovframework/com/terms.gif
| Binary file is not shown |
+++ src/main/webapp/images/egovframework/com/tit_icon.gif
| Binary file is not shown |
+++ src/main/webapp/images/egovframework/com/tit_icon_pop.gif
| Binary file is not shown |
+++ src/main/webapp/images/egovframework/com/yellow_bull.gif
| Binary file is not shown |
+++ src/main/webapp/images/er_logo.jpg
| Binary file is not shown |
+++ src/main/webapp/images/go_history.jpg
| Binary file is not shown |
+++ src/main/webapp/images/header/bg_a.gif
| Binary file is not shown |
+++ src/main/webapp/images/header/bg_loginbox.gif
| Binary file is not shown |
+++ src/main/webapp/images/header/bg_more.gif
| Binary file is not shown |
+++ src/main/webapp/images/header/bg_q.gif
| Binary file is not shown |
+++ src/main/webapp/images/header/btn_detailview.gif
| Binary file is not shown |
+++ src/main/webapp/images/header/btn_leftcontent01.gif
| Binary file is not shown |
+++ src/main/webapp/images/header/btn_leftcontent02.gif
| Binary file is not shown |
+++ src/main/webapp/images/header/btn_login.gif
| Binary file is not shown |
+++ src/main/webapp/images/header/btn_loginsearch.gif
| Binary file is not shown |
+++ src/main/webapp/images/header/btn_result.gif
| Binary file is not shown |
+++ src/main/webapp/images/header/btn_subsearch.gif
| Binary file is not shown |
+++ src/main/webapp/images/header/btn_vote.gif
| Binary file is not shown |
+++ src/main/webapp/images/header/img_leftcontent_title01.gif
| Binary file is not shown |
+++ src/main/webapp/images/header/img_leftcontent_title02.gif
| Binary file is not shown |
+++ src/main/webapp/images/header/img_leftcontent_title03.gif
| Binary file is not shown |
+++ src/main/webapp/images/header/img_middlecontent_subtitle.gif
| Binary file is not shown |
+++ src/main/webapp/images/header/img_middlecontent_title02.gif
| Binary file is not shown |
+++ src/main/webapp/images/header/img_mopas_toplogo.gif
| Binary file is not shown |
+++ src/main/webapp/images/header/img_nia_toplogo.gif
| Binary file is not shown |
+++ src/main/webapp/images/header/img_pname.gif
| Binary file is not shown |
+++ src/main/webapp/images/header/img_portal_title.gif
| Binary file is not shown |
+++ src/main/webapp/images/header/img_rightcontent_title01.gif
| Binary file is not shown |
+++ src/main/webapp/images/header/limg_lt_pas_logo.gif
| Binary file is not shown |
+++ src/main/webapp/images/header/loginbg_01.gif
| Binary file is not shown |
+++ src/main/webapp/images/header/loginbg_02.gif
| Binary file is not shown |
+++ src/main/webapp/images/header/loginbg_03.gif
| Binary file is not shown |
+++ src/main/webapp/images/header/logo.jpg
| Binary file is not shown |
+++ src/main/webapp/images/header/num01.gif
| Binary file is not shown |
+++ src/main/webapp/images/header/num02.gif
| Binary file is not shown |
+++ src/main/webapp/images/header/num03.gif
| Binary file is not shown |
+++ src/main/webapp/images/header/num04.gif
| Binary file is not shown |
+++ src/main/webapp/images/header/num05.gif
| Binary file is not shown |
+++ src/main/webapp/images/header/num06.gif
| Binary file is not shown |
+++ src/main/webapp/images/header/num07.gif
| Binary file is not shown |
+++ src/main/webapp/images/header/num08.gif
| Binary file is not shown |
+++ src/main/webapp/images/header/num09.gif
| Binary file is not shown |
+++ src/main/webapp/images/header/num10.gif
| Binary file is not shown |
+++ src/main/webapp/images/header/tab01_off.gif
| Binary file is not shown |
+++ src/main/webapp/images/header/tab01_on.gif
| Binary file is not shown |
+++ src/main/webapp/images/header/tab02_off.gif
| Binary file is not shown |
+++ src/main/webapp/images/header/tab02_on.gif
| Binary file is not shown |
+++ src/main/webapp/images/header/tab_bg.gif
| Binary file is not shown |
+++ src/main/webapp/images/icon_next.gif
| Binary file is not shown |
+++ src/main/webapp/images/icon_nextend.gif
| Binary file is not shown |
+++ src/main/webapp/images/icon_prev.gif
| Binary file is not shown |
+++ src/main/webapp/images/icon_prevend.gif
| Binary file is not shown |
+++ src/main/webapp/images/img_search.gif
| Binary file is not shown |
+++ src/main/webapp/images/index/bg_board01.gif
| Binary file is not shown |
+++ src/main/webapp/images/index/bg_board02.gif
| Binary file is not shown |
+++ src/main/webapp/images/index/bg_board03.gif
| Binary file is not shown |
+++ src/main/webapp/images/index/btn_more.gif
| Binary file is not shown |
+++ src/main/webapp/images/index/img_maintitle.jpg
| Binary file is not shown |
+++ src/main/webapp/images/index/img_new.gif
| Binary file is not shown |
+++ src/main/webapp/images/index/img_subtitle01.gif
| Binary file is not shown |
+++ src/main/webapp/images/index/img_subtitle02.gif
| Binary file is not shown |
+++ src/main/webapp/images/index/img_subtitle03.gif
| Binary file is not shown |
+++ src/main/webapp/images/left_bg.gif
| Binary file is not shown |
+++ src/main/webapp/images/login/bg_login.gif
| Binary file is not shown |
+++ src/main/webapp/images/login/btn_close.png
| Binary file is not shown |
+++ src/main/webapp/images/login/btn_findidpw.gif
| Binary file is not shown |
+++ src/main/webapp/images/login/btn_login.gif
| Binary file is not shown |
+++ src/main/webapp/images/login/btn_regist.gif
| Binary file is not shown |
+++ src/main/webapp/images/login/img_idtext.gif
| Binary file is not shown |
+++ src/main/webapp/images/login/img_logintitle.gif
| Binary file is not shown |
+++ src/main/webapp/images/login/img_pwtext.gif
| Binary file is not shown |
+++ src/main/webapp/images/main/pop_icon_1.png
| Binary file is not shown |
+++ src/main/webapp/images/main/pop_icon_2.png
| Binary file is not shown |
+++ src/main/webapp/images/main/pop_icon_3.png
| Binary file is not shown |
+++ src/main/webapp/images/main/pop_icon_4.png
| Binary file is not shown |
+++ src/main/webapp/images/main/pop_icon_5.png
| Binary file is not shown |
+++ src/main/webapp/images/new.png
| Binary file is not shown |
+++ src/main/webapp/images/no_img.jpg
| Binary file is not shown |
+++ src/main/webapp/images/question.jpg
| Binary file is not shown |
+++ src/main/webapp/images/reply_arrow.gif
| Binary file is not shown |
+++ src/main/webapp/images/required.gif
| Binary file is not shown |
+++ src/main/webapp/images/search.gif
| Binary file is not shown |
+++ src/main/webapp/images/tit_icon.gif
| Binary file is not shown |
+++ src/main/webapp/img/3deth_minus.png
| Binary file is not shown |
+++ src/main/webapp/img/3deth_plus.png
| Binary file is not shown |
+++ src/main/webapp/img/alio_more.png
| Binary file is not shown |
+++ src/main/webapp/img/bo_icon_disc.jpg
| Binary file is not shown |
+++ src/main/webapp/img/board/board_basic_thumnail.jpg
| Binary file is not shown |
+++ src/main/webapp/img/board/board_tab_arrow.png
| Binary file is not shown |
+++ src/main/webapp/img/board/board_tab_ov.png
| Binary file is not shown |
+++ src/main/webapp/img/board/gallery_thumnail.jpg
| Binary file is not shown |
+++ src/main/webapp/img/board/gallery_thumnail_open.jpg
| Binary file is not shown |
+++ src/main/webapp/img/board/more_down_btn.png
| Binary file is not shown |
+++ src/main/webapp/img/board/more_search_btn.png
| Binary file is not shown |
+++ src/main/webapp/img/board/news_thum.jpg
| Binary file is not shown |
+++ src/main/webapp/img/board/next_year.png
| Binary file is not shown |
+++ src/main/webapp/img/board/open_04.jpg
| Binary file is not shown |
+++ src/main/webapp/img/board/pre_year.png
| Binary file is not shown |
+++ src/main/webapp/img/board/secret_lock_icon.jpg
| Binary file is not shown |
+++ src/main/webapp/img/board/select-board-arrow.png
| Binary file is not shown |
+++ src/main/webapp/img/board/year21_list_ov.png
| Binary file is not shown |
+++ src/main/webapp/img/board_icon1.jpg
| Binary file is not shown |
+++ src/main/webapp/img/board_notice_icon.png
| Binary file is not shown |
+++ src/main/webapp/img/board_search.jpg
| Binary file is not shown |
+++ src/main/webapp/img/disclosure_more.png
| Binary file is not shown |
+++ src/main/webapp/img/eng_ft_logo.png
| Binary file is not shown |
+++ src/main/webapp/img/eng_logo.png
| Binary file is not shown |
+++ src/main/webapp/img/foor_bar.png
| Binary file is not shown |
+++ src/main/webapp/img/ft_facebook.png
| Binary file is not shown |
+++ src/main/webapp/img/ft_logo.png
| Binary file is not shown |
+++ src/main/webapp/img/haed_left_icon1.png
| Binary file is not shown |
+++ src/main/webapp/img/haed_left_icon2.png
| Binary file is not shown |
+++ src/main/webapp/img/haed_left_icon3.png
| Binary file is not shown |
+++ src/main/webapp/img/haed_left_icon4.png
| Binary file is not shown |
+++ src/main/webapp/img/haed_left_icon5.png
| Binary file is not shown |
+++ src/main/webapp/img/head_bg.jpg
| Binary file is not shown |
+++ src/main/webapp/img/head_bg2.jpg
| Binary file is not shown |
+++ src/main/webapp/img/index/ban_culture.png
| Binary file is not shown |
+++ src/main/webapp/img/index/btns-next-prev.png
| Binary file is not shown |
+++ src/main/webapp/img/index/btns-next.png
| Binary file is not shown |
+++ src/main/webapp/img/index/btns-prev.png
| Binary file is not shown |
+++ src/main/webapp/img/index/k_ribbon_bar.jpg
| Binary file is not shown |
+++ src/main/webapp/img/index/k_ribbon_icon.png
| Binary file is not shown |
+++ src/main/webapp/img/index/k_ribbon_img.jpg
| Binary file is not shown |
+++ src/main/webapp/img/index/k_ribbon_img_m.jpg
| Binary file is not shown |
+++ src/main/webapp/img/index/k_ribbon_img_m2.jpg
| Binary file is not shown |
+++ src/main/webapp/img/index/k_ribbon_img_m3.jpg
| Binary file is not shown |
+++ src/main/webapp/img/index/k_ribbon_img_tab.jpg
| Binary file is not shown |
+++ src/main/webapp/img/index/larr.png
| Binary file is not shown |
+++ src/main/webapp/img/index/live_thumnail01.jpg
| Binary file is not shown |
+++ src/main/webapp/img/index/live_thumnail02.jpg
| Binary file is not shown |
+++ src/main/webapp/img/index/live_thumnail03.jpg
| Binary file is not shown |
+++ src/main/webapp/img/index/live_thumnail04.jpg
| Binary file is not shown |
+++ src/main/webapp/img/index/live_thumnail05.jpg
| Binary file is not shown |
+++ src/main/webapp/img/index/live_thumnail06.jpg
| Binary file is not shown |
+++ src/main/webapp/img/index/live_thumnail_big.jpg
| Binary file is not shown |
+++ src/main/webapp/img/index/live_thumnail_big_bg.png
| Binary file is not shown |
+++ src/main/webapp/img/index/livepola_bg.jpg
| Binary file is not shown |
+++ src/main/webapp/img/index/livepola_more.png
| Binary file is not shown |
+++ src/main/webapp/img/index/livepola_tt.jpg
| Binary file is not shown |
+++ src/main/webapp/img/index/livepola_tt2.jpg
| Binary file is not shown |
+++ src/main/webapp/img/index/main_arrow_left.png
| Binary file is not shown |
+++ src/main/webapp/img/index/main_arrow_right.png
| Binary file is not shown |
+++ src/main/webapp/img/index/main_blog_icon.png
| Binary file is not shown |
+++ src/main/webapp/img/index/main_blog_thumnail.jpg
| Binary file is not shown |
+++ src/main/webapp/img/index/main_blog_thumnail01.jpg
| Binary file is not shown |
+++ src/main/webapp/img/index/main_blog_thumnail012.jpg
| Binary file is not shown |
+++ src/main/webapp/img/index/main_gallery2_icon.png
| Binary file is not shown |
+++ src/main/webapp/img/index/main_gallery2_thumnail.jpg
| Binary file is not shown |
+++ src/main/webapp/img/index/main_gallery2_thumnail_basic.jpg
| Binary file is not shown |
+++ src/main/webapp/img/index/main_gallery_bg_mobile.jpg
| Binary file is not shown |
+++ src/main/webapp/img/index/main_gallery_bg_pc.jpg
| Binary file is not shown |
+++ src/main/webapp/img/index/main_gallery_bg_tab.jpg
| Binary file is not shown |
+++ src/main/webapp/img/index/main_gallery_icon.png
| Binary file is not shown |
+++ src/main/webapp/img/index/main_magazine_bg.jpg
| Binary file is not shown |
+++ src/main/webapp/img/index/main_magazine_bg2.jpg
| Binary file is not shown |
+++ src/main/webapp/img/index/main_magazine_bg_m.jpg
| Binary file is not shown |
+++ src/main/webapp/img/index/main_magazine_bg_m1.jpg
| Binary file is not shown |
+++ src/main/webapp/img/index/main_magazine_bg_m2.jpg
| Binary file is not shown |
+++ src/main/webapp/img/index/main_magazine_bg_tab.jpg
| Binary file is not shown |
+++ src/main/webapp/img/index/main_magazine_btn.png
| Binary file is not shown |
+++ src/main/webapp/img/index/main_magazine_thum.jpg
| Binary file is not shown |
+++ src/main/webapp/img/index/main_magazine_thumnail.png
| Binary file is not shown |
+++ src/main/webapp/img/index/main_notce_arrow.png
| Binary file is not shown |
+++ src/main/webapp/img/index/main_notice_icon.png
| Binary file is not shown |
+++ src/main/webapp/img/index/main_notice_thumnail.jpg
| Binary file is not shown |
+++ src/main/webapp/img/index/main_notice_thumnail_basic.jpg
| Binary file is not shown |
+++ src/main/webapp/img/index/main_pc10.jpg
| Binary file is not shown |
+++ src/main/webapp/img/index/main_pola_icon.png
| Binary file is not shown |
+++ src/main/webapp/img/index/main_pola_upload.jpg
| Binary file is not shown |
+++ src/main/webapp/img/index/main_tile01.png
| Binary file is not shown |
+++ src/main/webapp/img/index/main_tile02.jpg
| Binary file is not shown |
+++ src/main/webapp/img/index/main_tile03.png
| Binary file is not shown |
+++ src/main/webapp/img/index/main_tile04.jpg
| Binary file is not shown |
+++ src/main/webapp/img/index/main_tile05.png
| Binary file is not shown |
+++ src/main/webapp/img/index/main_tile06.jpg
| Binary file is not shown |
+++ src/main/webapp/img/index/main_tile07.png
| Binary file is not shown |
+++ src/main/webapp/img/index/main_tile08.jpg
| Binary file is not shown |
+++ src/main/webapp/img/index/main_tile09.png
| Binary file is not shown |
+++ src/main/webapp/img/index/main_tile10.jpg
| Binary file is not shown |
+++ src/main/webapp/img/index/main_tile10_krcert1.png
| Binary file is not shown |
+++ src/main/webapp/img/index/main_tile10_krcert2.png
| Binary file is not shown |
+++ src/main/webapp/img/index/main_tile10_krcert3.png
| Binary file is not shown |
+++ src/main/webapp/img/index/main_tile10_krcert4.png
| Binary file is not shown |
+++ src/main/webapp/img/index/main_tile10_krcert5.png
| Binary file is not shown |
+++ src/main/webapp/img/index/main_tile10_nor.png
| Binary file is not shown |
+++ src/main/webapp/img/index/main_tile_bar_b.png
| Binary file is not shown |
+++ src/main/webapp/img/index/main_tile_bar_w.png
| Binary file is not shown |
+++ src/main/webapp/img/index/main_title_bar.jpg
| Binary file is not shown |
+++ src/main/webapp/img/index/pagination.png
| Binary file is not shown |
+++ src/main/webapp/img/index/pop_tt.png
| Binary file is not shown |
+++ src/main/webapp/img/index/popup2.png
| Binary file is not shown |
+++ src/main/webapp/img/index/popup_img.jpg
| Binary file is not shown |
+++ src/main/webapp/img/index/popup_img_test1.jpg
| Binary file is not shown |
+++ src/main/webapp/img/index/rarr.png
| Binary file is not shown |
+++ src/main/webapp/img/index/right_btn01.png
| Binary file is not shown |
+++ src/main/webapp/img/index/right_btn02.png
| Binary file is not shown |
+++ src/main/webapp/img/index/right_btn03.png
| Binary file is not shown |
+++ src/main/webapp/img/index/right_btn04.png
| Binary file is not shown |
+++ src/main/webapp/img/index/right_btn05.png
| Binary file is not shown |
+++ src/main/webapp/img/index/right_btn06.png
| Binary file is not shown |
+++ src/main/webapp/img/index/scroll_btn.png
| Binary file is not shown |
+++ src/main/webapp/img/index/visual01.jpg
| Binary file is not shown |
+++ src/main/webapp/img/index/visual02.jpg
| Binary file is not shown |
+++ src/main/webapp/img/index/visual03.jpg
| Binary file is not shown |
+++ src/main/webapp/img/index/visual04.jpg
| Binary file is not shown |
+++ src/main/webapp/img/index/visual05.jpg
| Binary file is not shown |
+++ src/main/webapp/img/index/visual_txt.png
| Binary file is not shown |
+++ src/main/webapp/img/list01.png
| Binary file is not shown |
+++ src/main/webapp/img/list02.png
| Binary file is not shown |
+++ src/main/webapp/img/livepola_bg.jpg
| Binary file is not shown |
+++ src/main/webapp/img/livepola_tt.jpg
| Binary file is not shown |
+++ src/main/webapp/img/logo.png
| Binary file is not shown |
+++ src/main/webapp/img/post/X.png
| Binary file is not shown |
+++ src/main/webapp/img/post/atch_file.png
| Binary file is not shown |
+++ src/main/webapp/img/post/b_mobile.jpg
| Binary file is not shown |
+++ src/main/webapp/img/post/b_pc.jpg
| Binary file is not shown |
+++ src/main/webapp/img/post/bo_lock.png
| Binary file is not shown |
+++ src/main/webapp/img/post/board_btn1.jpg
| Binary file is not shown |
+++ src/main/webapp/img/post/board_btn2.jpg
| Binary file is not shown |
+++ src/main/webapp/img/post/board_btn3.jpg
| Binary file is not shown |
+++ src/main/webapp/img/post/board_btn4.jpg
| Binary file is not shown |
+++ src/main/webapp/img/post/board_img1.jpg
| Binary file is not shown |
+++ src/main/webapp/img/post/board_img2.jpg
| Binary file is not shown |
+++ src/main/webapp/img/post/board_search.png
| Binary file is not shown |
+++ src/main/webapp/img/post/check_id.png
| Binary file is not shown |
+++ src/main/webapp/img/post/down_arrow.png
| Binary file is not shown |
+++ src/main/webapp/img/post/gr.jpg
| Binary file is not shown |
+++ src/main/webapp/img/post/gr_2.jpg
| Binary file is not shown |
+++ src/main/webapp/img/post/head_bg.jpg
| Binary file is not shown |
+++ src/main/webapp/img/post/head_home.jpg
| Binary file is not shown |
+++ src/main/webapp/img/post/head_home.png
| Binary file is not shown |
+++ src/main/webapp/img/post/head_icon.jpg
| Binary file is not shown |
+++ src/main/webapp/img/post/head_icon.png
| Binary file is not shown |
+++ src/main/webapp/img/post/head_logo.jpg
| Binary file is not shown |
+++ src/main/webapp/img/post/head_logo.png
| Binary file is not shown |
+++ src/main/webapp/img/post/icoFiveStar.gif
| Binary file is not shown |
+++ src/main/webapp/img/post/id_check_btn.png
| Binary file is not shown |
+++ src/main/webapp/img/post/id_check_img1.png
| Binary file is not shown |
+++ src/main/webapp/img/post/id_check_img2.png
| Binary file is not shown |
+++ src/main/webapp/img/post/img_logo.gif
| Binary file is not shown |
+++ src/main/webapp/img/post/index_icon1.png
| Binary file is not shown |
+++ src/main/webapp/img/post/index_img1.png
| Binary file is not shown |
+++ src/main/webapp/img/post/index_img2.jpg
| Binary file is not shown |
+++ src/main/webapp/img/post/index_img3.png
| Binary file is not shown |
+++ src/main/webapp/img/post/index_img4.jpg
| Binary file is not shown |
+++ src/main/webapp/img/post/key_ico.png
| Binary file is not shown |
+++ src/main/webapp/img/post/left_arrow.png
| Binary file is not shown |
+++ src/main/webapp/img/post/left_img.jpg
| Binary file is not shown |
+++ src/main/webapp/img/post/left_img.png
| Binary file is not shown |
+++ src/main/webapp/img/post/left_sy.jpg
| Binary file is not shown |
+++ src/main/webapp/img/post/li_dot.png
| Binary file is not shown |
+++ src/main/webapp/img/post/lock_img.png
| Binary file is not shown |
+++ src/main/webapp/img/post/login_img1.jpg
| Binary file is not shown |
+++ src/main/webapp/img/post/login_img2.png
| Binary file is not shown |
+++ src/main/webapp/img/post/login_img3.png
| Binary file is not shown |
+++ src/main/webapp/img/post/logo.png
| Binary file is not shown |
+++ src/main/webapp/img/post/logout_btn.png
| Binary file is not shown |
+++ src/main/webapp/img/post/ltt_icon.png
| Binary file is not shown |
+++ src/main/webapp/img/post/micon_01.png
| Binary file is not shown |
+++ src/main/webapp/img/post/micon_02.png
| Binary file is not shown |
+++ src/main/webapp/img/post/micon_03.png
| Binary file is not shown |
+++ src/main/webapp/img/post/month.jpg
| Binary file is not shown |
+++ src/main/webapp/img/post/re_ico.png
| Binary file is not shown |
+++ src/main/webapp/img/post/re_lock.png
| Binary file is not shown |
+++ src/main/webapp/img/post/reply_c.png
| Binary file is not shown |
+++ src/main/webapp/img/post/reply_emp.png
| Binary file is not shown |
+++ src/main/webapp/img/post/reply_p.png
| Binary file is not shown |
+++ src/main/webapp/img/post/thumnail.jpg
| Binary file is not shown |
+++ src/main/webapp/img/post/thumnail_400.jpg
| Binary file is not shown |
+++ src/main/webapp/img/post/thumnail_600.jpg
| Binary file is not shown |
+++ src/main/webapp/img/post/thumnail_logo.png
| Binary file is not shown |
+++ src/main/webapp/img/post/today.jpg
| Binary file is not shown |
+++ src/main/webapp/img/post/top01.png
| Binary file is not shown |
+++ src/main/webapp/img/post/top02.png
| Binary file is not shown |
+++ src/main/webapp/img/post/top03.png
| Binary file is not shown |
+++ src/main/webapp/img/post/up_arrow.png
| Binary file is not shown |
+++ src/main/webapp/img/post/x_btn.png
| Binary file is not shown |
+++ src/main/webapp/img/post/year.jpg
| Binary file is not shown |
+++ src/main/webapp/img/right_img1.jpg
| Binary file is not shown |
+++ src/main/webapp/img/right_img1.png
| Binary file is not shown |
+++ src/main/webapp/img/right_img2.jpg
| Binary file is not shown |
+++ src/main/webapp/img/right_img2.png
| Binary file is not shown |
+++ src/main/webapp/img/right_img3.jpg
| Binary file is not shown |
+++ src/main/webapp/img/right_img3.png
| Binary file is not shown |
+++ src/main/webapp/img/s_h_icon.jpg
| Binary file is not shown |
+++ src/main/webapp/img/s_visual01.jpg
| Binary file is not shown |
+++ src/main/webapp/img/s_visual01_480.jpg
| Binary file is not shown |
+++ src/main/webapp/img/s_visual02.jpg
| Binary file is not shown |
+++ src/main/webapp/img/s_visual03.jpg
| Binary file is not shown |
+++ src/main/webapp/img/s_visual04.jpg
| Binary file is not shown |
+++ src/main/webapp/img/s_visual05.jpg
| Binary file is not shown |
+++ src/main/webapp/img/s_visual06.jpg
| Binary file is not shown |
+++ src/main/webapp/img/select-arrow.png
| Binary file is not shown |
+++ src/main/webapp/img/sub/api_img.jpg
| Binary file is not shown |
+++ src/main/webapp/img/sub/attachment.png
| Binary file is not shown |
+++ src/main/webapp/img/sub/bar332.jpg
| Binary file is not shown |
+++ src/main/webapp/img/sub/bg332.jpg
| Binary file is not shown |
+++ src/main/webapp/img/sub/bg332_480.png
| Binary file is not shown |
+++ src/main/webapp/img/sub/biewer_adobe.png
| Binary file is not shown |
+++ src/main/webapp/img/sub/biewer_excel.png
| Binary file is not shown |
+++ src/main/webapp/img/sub/biewer_hwp.png
| Binary file is not shown |
+++ src/main/webapp/img/sub/biewer_ppt.png
| Binary file is not shown |
+++ src/main/webapp/img/sub/biewer_word.png
| Binary file is not shown |
+++ src/main/webapp/img/sub/checkbox-on-off.png
| Binary file is not shown |
+++ src/main/webapp/img/sub/checkbox-on-off.svg
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/img/sub/close_btn.png
| Binary file is not shown |
+++ src/main/webapp/img/sub/complain_step1.png
| Binary file is not shown |
+++ src/main/webapp/img/sub/complain_step2.png
| Binary file is not shown |
+++ src/main/webapp/img/sub/complain_step3.png
| Binary file is not shown |
+++ src/main/webapp/img/sub/complain_step_next1.png
| Binary file is not shown |
+++ src/main/webapp/img/sub/complain_step_next2.png
| Binary file is not shown |
+++ src/main/webapp/img/sub/complain_step_next3.png
| Binary file is not shown |
+++ src/main/webapp/img/sub/complain_tt.png
| Binary file is not shown |
+++ src/main/webapp/img/sub/complain_tt2.png
| Binary file is not shown |
+++ src/main/webapp/img/sub/con16_icon.jpg
| Binary file is not shown |
+++ src/main/webapp/img/sub/con16_icon2.png
| Binary file is not shown |
+++ src/main/webapp/img/sub/con16_icon3.png
| Binary file is not shown |
+++ src/main/webapp/img/sub/con362_arrow.png
| Binary file is not shown |
+++ src/main/webapp/img/sub/con362_bg.jpg
| Binary file is not shown |
+++ src/main/webapp/img/sub/con_list01.jpg
| Binary file is not shown |
+++ src/main/webapp/img/sub/con_list01.png
| Binary file is not shown |
+++ src/main/webapp/img/sub/con_list02.png
| Binary file is not shown |
+++ src/main/webapp/img/sub/con_list03.png
| Binary file is not shown |
+++ src/main/webapp/img/sub/con_list04.png
| Binary file is not shown |
+++ src/main/webapp/img/sub/con_tt_bg.png
| Binary file is not shown |
+++ src/main/webapp/img/sub/eng_img4411_3.jpg
| Binary file is not shown |
+++ src/main/webapp/img/sub/eng_img443_bg.jpg
| Binary file is not shown |
+++ src/main/webapp/img/sub/flogo6_1.png
| Binary file is not shown |
+++ src/main/webapp/img/sub/flogo6_2.png
| Binary file is not shown |
+++ src/main/webapp/img/sub/flogo6_3.gif
| Binary file is not shown |
+++ src/main/webapp/img/sub/gi_02.png
| Binary file is not shown |
+++ src/main/webapp/img/sub/gi_02_01.png
| Binary file is not shown |
+++ src/main/webapp/img/sub/gi_02_02.png
| Binary file is not shown |
+++ src/main/webapp/img/sub/gi_03.png
| Binary file is not shown |
+++ src/main/webapp/img/sub/gi_04.png
| Binary file is not shown |
+++ src/main/webapp/img/sub/gi_05.png
| Binary file is not shown |
+++ src/main/webapp/img/sub/gi_06.png
| Binary file is not shown |
+++ src/main/webapp/img/sub/history_img.png
| Binary file is not shown |
+++ src/main/webapp/img/sub/history_line.png
| Binary file is not shown |
+++ src/main/webapp/img/sub/history_tt.png
| Binary file is not shown |
+++ src/main/webapp/img/sub/hitory_bg.jpg
| Binary file is not shown |
+++ src/main/webapp/img/sub/icon332_1.png
| Binary file is not shown |
+++ src/main/webapp/img/sub/icon332_2.png
| Binary file is not shown |
+++ src/main/webapp/img/sub/icon332_3.png
| Binary file is not shown |
+++ src/main/webapp/img/sub/icon332_4.png
| Binary file is not shown |
+++ src/main/webapp/img/sub/img11_1.jpg
| Binary file is not shown |
+++ src/main/webapp/img/sub/img11_1_480.jpg
| Binary file is not shown |
+++ src/main/webapp/img/sub/img11_2.jpg
| Binary file is not shown |
+++ src/main/webapp/img/sub/img11_3.jpg
| Binary file is not shown |
+++ src/main/webapp/img/sub/img11_4.jpg
| Binary file is not shown |
+++ src/main/webapp/img/sub/img11_5a.jpg
| Binary file is not shown |
+++ src/main/webapp/img/sub/img11_5a2.jpg
| Binary file is not shown |
+++ src/main/webapp/img/sub/img11_5a3.jpg
| Binary file is not shown |
+++ src/main/webapp/img/sub/img11_5b.jpg
| Binary file is not shown |
+++ src/main/webapp/img/sub/img11_5b2.jpg
| Binary file is not shown |
+++ src/main/webapp/img/sub/img11_5b3.jpg
| Binary file is not shown |
+++ src/main/webapp/img/sub/img11_5c.jpg
| Binary file is not shown |
+++ src/main/webapp/img/sub/img11_5c2.jpg
| Binary file is not shown |
+++ src/main/webapp/img/sub/img11_5c3.jpg
| Binary file is not shown |
+++ src/main/webapp/img/sub/img12_1.jpg
| Binary file is not shown |
+++ src/main/webapp/img/sub/img12_1_480.jpg
| Binary file is not shown |
+++ src/main/webapp/img/sub/img12_2.jpg
| Binary file is not shown |
+++ src/main/webapp/img/sub/img12_2_480.jpg
| Binary file is not shown |
+++ src/main/webapp/img/sub/img12_3.jpg
| Binary file is not shown |
+++ src/main/webapp/img/sub/img12_4.jpg
| Binary file is not shown |
+++ src/main/webapp/img/sub/img12_4_480.jpg
| Binary file is not shown |
+++ src/main/webapp/img/sub/img12_5.jpg
| Binary file is not shown |
+++ src/main/webapp/img/sub/img13_1.jpg
| Binary file is not shown |
+++ src/main/webapp/img/sub/img13_2.jpg
| Binary file is not shown |
+++ src/main/webapp/img/sub/img13_2_480.jpg
| Binary file is not shown |
+++ src/main/webapp/img/sub/img13_4.jpg
| Binary file is not shown |
+++ src/main/webapp/img/sub/img13_5.jpg
| Binary file is not shown |
+++ src/main/webapp/img/sub/img222_2.png
| Binary file is not shown |
+++ src/main/webapp/img/sub/img223_1_off.png
| Binary file is not shown |
+++ src/main/webapp/img/sub/img223_1_ov.png
| Binary file is not shown |
+++ src/main/webapp/img/sub/img223_2_off.png
| Binary file is not shown |
+++ src/main/webapp/img/sub/img223_2_ov.png
| Binary file is not shown |
+++ src/main/webapp/img/sub/img223_3_off.png
| Binary file is not shown |
+++ src/main/webapp/img/sub/img223_3_ov.png
| Binary file is not shown |
+++ src/main/webapp/img/sub/img223_4.jpg
| Binary file is not shown |
+++ src/main/webapp/img/sub/img223_5.jpg
| Binary file is not shown |
+++ src/main/webapp/img/sub/img223_6.jpg
| Binary file is not shown |
+++ src/main/webapp/img/sub/img223_7.jpg
| Binary file is not shown |
+++ src/main/webapp/img/sub/img223_8.jpg
| Binary file is not shown |
+++ src/main/webapp/img/sub/img223_9.jpg
| Binary file is not shown |
+++ src/main/webapp/img/sub/img231_02.jpg
| Binary file is not shown |
+++ src/main/webapp/img/sub/img231_02_480.jpg
| Binary file is not shown |
+++ src/main/webapp/img/sub/img316_1.png
| Binary file is not shown |
+++ src/main/webapp/img/sub/img316_100.png
| Binary file is not shown |
+++ src/main/webapp/img/sub/img316_120.png
| Binary file is not shown |
+++ src/main/webapp/img/sub/img332_1.jpg
| Binary file is not shown |
+++ src/main/webapp/img/sub/img332_1_480.jpg
| Binary file is not shown |
+++ src/main/webapp/img/sub/img364_bg.jpg
| Binary file is not shown |
+++ src/main/webapp/img/sub/img364_bg_480.jpg
| Binary file is not shown |
+++ src/main/webapp/img/sub/img364_btn1.jpg
| Binary file is not shown |
+++ src/main/webapp/img/sub/img364_btn2.jpg
| Binary file is not shown |
+++ src/main/webapp/img/sub/img41_bg_1300.jpg
| Binary file is not shown |
+++ src/main/webapp/img/sub/img41_bg_800.jpg
| Binary file is not shown |
+++ src/main/webapp/img/sub/img422_01.jpg
| Binary file is not shown |
+++ src/main/webapp/img/sub/img422_02_1014.jpg
| Binary file is not shown |
+++ src/main/webapp/img/sub/img422_02_730.jpg
| Binary file is not shown |
+++ src/main/webapp/img/sub/img422_03.jpg
| Binary file is not shown |
+++ src/main/webapp/img/sub/img422_03_1014.jpg
| Binary file is not shown |
+++ src/main/webapp/img/sub/img422_ci01.jpg
| Binary file is not shown |
+++ src/main/webapp/img/sub/img422_ci02.jpg
| Binary file is not shown |
+++ src/main/webapp/img/sub/img422_ci03.jpg
| Binary file is not shown |
+++ src/main/webapp/img/sub/img422_color.jpg
| Binary file is not shown |
+++ src/main/webapp/img/sub/img422_color_list.jpg
| Binary file is not shown |
+++ src/main/webapp/img/sub/img422_copy_01.jpg
| Binary file is not shown |
+++ src/main/webapp/img/sub/img422_copy_01_eng_mobile.jpg
| Binary file is not shown |
+++ src/main/webapp/img/sub/img422_copy_01_mobile.jpg
| Binary file is not shown |
+++ src/main/webapp/img/sub/img422_copy_02.jpg
| Binary file is not shown |
+++ src/main/webapp/img/sub/img422_copy_02_eng_mobile.jpg
| Binary file is not shown |
+++ src/main/webapp/img/sub/img422_copy_02_mobile.jpg
| Binary file is not shown |
+++ src/main/webapp/img/sub/img422_copy_03.jpg
| Binary file is not shown |
+++ src/main/webapp/img/sub/img422_copy_eng_01.jpg
| Binary file is not shown |
+++ src/main/webapp/img/sub/img422_copy_eng_02.jpg
| Binary file is not shown |
+++ src/main/webapp/img/sub/img422_copy_eng_03.jpg
| Binary file is not shown |
+++ src/main/webapp/img/sub/img422_tt_bg.png
| Binary file is not shown |
+++ src/main/webapp/img/sub/img422_tt_bg2.png
| Binary file is not shown |
+++ src/main/webapp/img/sub/img431_1920.png
| Binary file is not shown |
+++ src/main/webapp/img/sub/img431_480.png
| Binary file is not shown |
+++ src/main/webapp/img/sub/img43_bg.jpg
| Binary file is not shown |
+++ src/main/webapp/img/sub/img43_bg_1000.jpg
| Binary file is not shown |
+++ src/main/webapp/img/sub/img43_bg_1000_eng.jpg
| Binary file is not shown |
+++ src/main/webapp/img/sub/img43_bg_743.jpg
| Binary file is not shown |
+++ src/main/webapp/img/sub/img43_bg_743_eng.jpg
| Binary file is not shown |
+++ src/main/webapp/img/sub/img4411_1f_img.jpg
| Binary file is not shown |
+++ src/main/webapp/img/sub/img4411_1f_img2.jpg
| Binary file is not shown |
+++ src/main/webapp/img/sub/img4411_1f_img3.jpg
| Binary file is not shown |
+++ src/main/webapp/img/sub/img4411_2.jpg
| Binary file is not shown |
+++ src/main/webapp/img/sub/img4411_2f_img.jpg
| Binary file is not shown |
+++ src/main/webapp/img/sub/img4411_2f_img2.jpg
| Binary file is not shown |
+++ src/main/webapp/img/sub/img4411_3.jpg
| Binary file is not shown |
+++ src/main/webapp/img/sub/img4411_3_eng.jpg
| Binary file is not shown |
+++ src/main/webapp/img/sub/img4411_3f_img.jpg
| Binary file is not shown |
+++ src/main/webapp/img/sub/img4411_3f_img2.jpg
| Binary file is not shown |
+++ src/main/webapp/img/sub/img4411_3f_img3.jpg
| Binary file is not shown |
+++ src/main/webapp/img/sub/img4411_b1f_img.jpg
| Binary file is not shown |
+++ src/main/webapp/img/sub/img4411_b1f_img2.jpg
| Binary file is not shown |
+++ src/main/webapp/img/sub/img4411_b1f_img3.jpg
| Binary file is not shown |
+++ src/main/webapp/img/sub/img4411_b1f_img4.jpg
| Binary file is not shown |
+++ src/main/webapp/img/sub/img4411_b2f_img.jpg
| Binary file is not shown |
+++ src/main/webapp/img/sub/img4411_b2f_img2.jpg
| Binary file is not shown |
+++ src/main/webapp/img/sub/img4411_bg.jpg
| Binary file is not shown |
+++ src/main/webapp/img/sub/img4411_floor_out.png
| Binary file is not shown |
+++ src/main/webapp/img/sub/img4411_floor_ov.png
| Binary file is not shown |
+++ src/main/webapp/img/sub/img4411_rf_img.jpg
| Binary file is not shown |
+++ src/main/webapp/img/sub/img4411_rf_img2.jpg
| Binary file is not shown |
+++ src/main/webapp/img/sub/img4411_rf_img3.jpg
| Binary file is not shown |
+++ src/main/webapp/img/sub/img4411_rf_img4.jpg
| Binary file is not shown |
+++ src/main/webapp/img/sub/img44121bg_1000.jpg
| Binary file is not shown |
+++ src/main/webapp/img/sub/img44121bg_600.jpg
| Binary file is not shown |
+++ src/main/webapp/img/sub/img44121bg_700.jpg
| Binary file is not shown |
+++ src/main/webapp/img/sub/img442_1.png
| Binary file is not shown |
+++ src/main/webapp/img/sub/img442_2.jpg
| Binary file is not shown |
+++ src/main/webapp/img/sub/img443_11.jpg
| Binary file is not shown |
+++ src/main/webapp/img/sub/img443_12.jpg
| Binary file is not shown |
+++ src/main/webapp/img/sub/img443_13.jpg
| Binary file is not shown |
+++ src/main/webapp/img/sub/img443_14.jpg
| Binary file is not shown |
+++ src/main/webapp/img/sub/img443_15.jpg
| Binary file is not shown |
+++ src/main/webapp/img/sub/img443_16.jpg
| Binary file is not shown |
+++ src/main/webapp/img/sub/img443_17.jpg
| Binary file is not shown |
+++ src/main/webapp/img/sub/img443_18.jpg
| Binary file is not shown |
+++ src/main/webapp/img/sub/img443_19.jpg
| Binary file is not shown |
+++ src/main/webapp/img/sub/img443_bg.jpg
| Binary file is not shown |
+++ src/main/webapp/img/sub/img443_bg_800.jpg
| Binary file is not shown |
+++ src/main/webapp/img/sub/img443_bg_800_eng.jpg
| Binary file is not shown |
+++ src/main/webapp/img/sub/img443_bg_eng.jpg
| Binary file is not shown |
+++ src/main/webapp/img/sub/img44_1.jpg
| Binary file is not shown |
+++ src/main/webapp/img/sub/img44_2.jpg
| Binary file is not shown |
+++ src/main/webapp/img/sub/img44_3.jpg
| Binary file is not shown |
+++ src/main/webapp/img/sub/img44_a1.jpg
| Binary file is not shown |
+++ src/main/webapp/img/sub/img44_a2.jpg
| Binary file is not shown |
+++ src/main/webapp/img/sub/img44_a3.jpg
| Binary file is not shown |
+++ src/main/webapp/img/sub/img44_tt.jpg
| Binary file is not shown |
+++ src/main/webapp/img/sub/img44_tt_480.jpg
| Binary file is not shown |
+++ src/main/webapp/img/sub/img500_12.jpg
| Binary file is not shown |
+++ src/main/webapp/img/sub/img500_12_480.jpg
| Binary file is not shown |
+++ src/main/webapp/img/sub/img51_1.jpg
| Binary file is not shown |
+++ src/main/webapp/img/sub/img51_2.jpg
| Binary file is not shown |
+++ src/main/webapp/img/sub/img51_bg1.jpg
| Binary file is not shown |
+++ src/main/webapp/img/sub/img51_bg1_480.jpg
| Binary file is not shown |
+++ src/main/webapp/img/sub/img51_bg2.png
| Binary file is not shown |
+++ src/main/webapp/img/sub/img53_img1.jpg
| Binary file is not shown |
+++ src/main/webapp/img/sub/img53_img2.jpg
| Binary file is not shown |
+++ src/main/webapp/img/sub/img53_img3.jpg
| Binary file is not shown |
+++ src/main/webapp/img/sub/img53_list.jpg
| Binary file is not shown |
+++ src/main/webapp/img/sub/img53_tt01.jpg
| Binary file is not shown |
+++ src/main/webapp/img/sub/img53_tt02.jpg
| Binary file is not shown |
+++ src/main/webapp/img/sub/img53_tt03.jpg
| Binary file is not shown |
+++ src/main/webapp/img/sub/img53_tt04.jpg
| Binary file is not shown |
+++ src/main/webapp/img/sub/img55_1920.jpg
| Binary file is not shown |
+++ src/main/webapp/img/sub/img55_480.jpg
| Binary file is not shown |
+++ src/main/webapp/img/sub/img55a_1920.jpg
| Binary file is not shown |
+++ src/main/webapp/img/sub/img55a_480.jpg
| Binary file is not shown |
+++ src/main/webapp/img/sub/img55b_1920.jpg
| Binary file is not shown |
+++ src/main/webapp/img/sub/img55b_480.jpg
| Binary file is not shown |
+++ src/main/webapp/img/sub/img_05_01_02.jpg
| Binary file is not shown |
+++ src/main/webapp/img/sub/img_11.jpg
| Binary file is not shown |
+++ src/main/webapp/img/sub/img_mission_eng_m.jpg
| Binary file is not shown |
+++ src/main/webapp/img/sub/img_mission_eng_pc.jpg
| Binary file is not shown |
+++ src/main/webapp/img/sub/img_opentype01.jpg
| Binary file is not shown |
+++ src/main/webapp/img/sub/img_opentype02.jpg
| Binary file is not shown |
+++ src/main/webapp/img/sub/img_opentype03.jpg
| Binary file is not shown |
+++ src/main/webapp/img/sub/img_opentype04.jpg
| Binary file is not shown |
+++ src/main/webapp/img/sub/img_president_bg.jpg
| Binary file is not shown |
+++ src/main/webapp/img/sub/li_bullet.png
| Binary file is not shown |
+++ src/main/webapp/img/sub/list01.png
| Binary file is not shown |
+++ src/main/webapp/img/sub/list02.png
| Binary file is not shown |
+++ src/main/webapp/img/sub/list03.png
| Binary file is not shown |
+++ src/main/webapp/img/sub/list04.png
| Binary file is not shown |
+++ src/main/webapp/img/sub/logo01_left.jpg
| Binary file is not shown |
+++ src/main/webapp/img/sub/logo01_right.jpg
| Binary file is not shown |
+++ src/main/webapp/img/sub/president_img01.png
| Binary file is not shown |
+++ src/main/webapp/img/sub/president_img02.png
| Binary file is not shown |
+++ src/main/webapp/img/sub/president_img03.png
| Binary file is not shown |
+++ src/main/webapp/img/sub/president_img04.png
| Binary file is not shown |
+++ src/main/webapp/img/sub/president_img05.png
| Binary file is not shown |
+++ src/main/webapp/img/sub/president_img06.png
| Binary file is not shown |
+++ src/main/webapp/img/sub/president_img07.png
| Binary file is not shown |
+++ src/main/webapp/img/sub/president_img08.png
| Binary file is not shown |
+++ src/main/webapp/img/sub/president_img09.png
| Binary file is not shown |
+++ src/main/webapp/img/sub/president_img10.png
| Binary file is not shown |
+++ src/main/webapp/img/sub/president_img11.png
| Binary file is not shown |
+++ src/main/webapp/img/sub/president_img12.png
| Binary file is not shown |
+++ src/main/webapp/img/sub/president_img13.png
| Binary file is not shown |
+++ src/main/webapp/img/sub/president_img14.png
| Binary file is not shown |
+++ src/main/webapp/img/sub/president_img15.png
| Binary file is not shown |
+++ src/main/webapp/img/sub/quotation_bot.png
| Binary file is not shown |
+++ src/main/webapp/img/sub/quotation_top.png
| Binary file is not shown |
+++ src/main/webapp/img/sub/search_thumnail.jpg
| Binary file is not shown |
+++ src/main/webapp/img/sub/select-input-arrow.png
| Binary file is not shown |
+++ src/main/webapp/img/sub/seoul284_1f.jpg
| Binary file is not shown |
+++ src/main/webapp/img/sub/seoul284_1f_eng.jpg
| Binary file is not shown |
+++ src/main/webapp/img/sub/seoul284_1f_tt.jpg
| Binary file is not shown |
+++ src/main/webapp/img/sub/seoul284_1f_tt_eng.jpg
| Binary file is not shown |
+++ src/main/webapp/img/sub/seoul284_2f.jpg
| Binary file is not shown |
+++ src/main/webapp/img/sub/seoul284_2f_eng.jpg
| Binary file is not shown |
+++ src/main/webapp/img/sub/seoul284_2f_tt.jpg
| Binary file is not shown |
+++ src/main/webapp/img/sub/seoul284_2f_tt_eng.jpg
| Binary file is not shown |
+++ src/main/webapp/img/sub/star_1.png
| Binary file is not shown |
+++ src/main/webapp/img/sub/star_2.png
| Binary file is not shown |
+++ src/main/webapp/img/sub/star_3.png
| Binary file is not shown |
+++ src/main/webapp/img/sub/star_4.png
| Binary file is not shown |
+++ src/main/webapp/img/sub/star_5.png
| Binary file is not shown |
+++ src/main/webapp/img/sub/star_off.png
| Binary file is not shown |
+++ src/main/webapp/img/sub/star_on.png
| Binary file is not shown |
+++ src/main/webapp/img/sub/sub44_01.jpg
| Binary file is not shown |
+++ src/main/webapp/img/sub/sub44_02.jpg
| Binary file is not shown |
+++ src/main/webapp/img/sub/sub44_02_480.jpg
| Binary file is not shown |
+++ src/main/webapp/img/sub/title332_1.jpg
| Binary file is not shown |
+++ src/main/webapp/img/sub/title332_2.jpg
| Binary file is not shown |
+++ src/main/webapp/img/sub/title332_3.jpg
| Binary file is not shown |
+++ src/main/webapp/img/sub/title332_4.jpg
| Binary file is not shown |
+++ src/main/webapp/img/sub/title332_480_1.png
| Binary file is not shown |
+++ src/main/webapp/img/sub/title332_480_2.png
| Binary file is not shown |
+++ src/main/webapp/img/sub/title332_480_3.png
| Binary file is not shown |
+++ src/main/webapp/img/sub/title332_480_4.png
| Binary file is not shown |
+++ src/main/webapp/img/sub/txt_emailrefusal.gif
| Binary file is not shown |
+++ src/main/webapp/img/sub/untitled.png
| Binary file is not shown |
+++ src/main/webapp/img/tab_bar.png
| Binary file is not shown |
+++ src/main/webapp/img/th_bg2.jpg
| Binary file is not shown |
+++ src/main/webapp/img/th_bg2_600.jpg
| Binary file is not shown |
+++ src/main/webapp/img/th_bg3.jpg
| Binary file is not shown |
+++ src/main/webapp/img/th_bg3_600.jpg
| Binary file is not shown |
+++ src/main/webapp/img/thumnail_img1.jpg
| Binary file is not shown |
+++ src/main/webapp/img/thumnail_img2.jpg
| Binary file is not shown |
+++ src/main/webapp/img/thumnail_img3.jpg
| Binary file is not shown |
+++ src/main/webapp/img/toggle.jpg
| Binary file is not shown |
+++ src/main/webapp/img/toggle_close.jpg
| Binary file is not shown |
+++ src/main/webapp/img/top_btn.png
| Binary file is not shown |
+++ src/main/webapp/img/top_list_btn.png
| Binary file is not shown |
+++ src/main/webapp/img/top_search_btn.png
| Binary file is not shown |
+++ src/main/webapp/img/total_search_img.jpg
| Binary file is not shown |
+++ src/main/webapp/img/us_close.png
| Binary file is not shown |
+++ src/main/webapp/img/webzine_img.jpg
| Binary file is not shown |
+++ src/main/webapp/index.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/js/Chart-2.5.0.min.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/js/Chart-2.8.0.min.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/js/Chart-2.9.3.min.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/js/Chart.bundle.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/js/Chart.min.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/js/Chart_9.3.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/js/EgovBBSMng.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/js/EgovCalPopup.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/js/EgovCmmUtl.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/js/EgovMainMenu.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/js/EgovMainMenu1.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/js/EgovMainMenuItsm.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/js/EgovMenuCreat.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/js/EgovMultiFile.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/js/EgovMultiFileEGovEntOriginFile.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/js/EgovZipPopup.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/js/audit/audit.common.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/js/audit/jquery.form.min.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/js/calendar.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/js/calendar_resve.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/js/egovframework/com/cmm/fms/EgovMultiFile.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/js/egovframework/com/cmm/showModalDialog.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/js/egovframework/com/main.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/js/egovframework/com/sym/cal/EgovCalPopup.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/js/egovframework/com/uss/ion/pwm/prototype-1.6.0.3.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/js/featherlight.min.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/js/font-awesome/HELP-US-OUT.txt
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/js/font-awesome/css/font-awesome.css
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/js/font-awesome/css/font-awesome.min.css
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/js/font-awesome/fonts/FontAwesome.otf
| Binary file is not shown |
+++ src/main/webapp/js/font-awesome/fonts/fontawesome-webfont.eot
| Binary file is not shown |
+++ src/main/webapp/js/font-awesome/fonts/fontawesome-webfont.svg
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/js/font-awesome/fonts/fontawesome-webfont.ttf
| Binary file is not shown |
+++ src/main/webapp/js/font-awesome/fonts/fontawesome-webfont.woff
| Binary file is not shown |
+++ src/main/webapp/js/font-awesome/fonts/fontawesome-webfont.woff2
| Binary file is not shown |
+++ src/main/webapp/js/font-awesome/less/animated.less
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/js/font-awesome/less/bordered-pulled.less
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/js/font-awesome/less/core.less
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/js/font-awesome/less/fixed-width.less
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/js/font-awesome/less/font-awesome.less
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/js/font-awesome/less/icons.less
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/js/font-awesome/less/larger.less
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/js/font-awesome/less/list.less
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/js/font-awesome/less/mixins.less
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/js/font-awesome/less/path.less
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/js/font-awesome/less/rotated-flipped.less
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/js/font-awesome/less/screen-reader.less
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/js/font-awesome/less/stacked.less
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/js/font-awesome/less/variables.less
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/js/font-awesome/scss/_animated.scss
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/js/font-awesome/scss/_bordered-pulled.scss
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/js/font-awesome/scss/_core.scss
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/js/font-awesome/scss/_fixed-width.scss
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/js/font-awesome/scss/_icons.scss
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/js/font-awesome/scss/_larger.scss
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/js/font-awesome/scss/_list.scss
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/js/font-awesome/scss/_mixins.scss
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/js/font-awesome/scss/_path.scss
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/js/font-awesome/scss/_rotated-flipped.scss
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/js/font-awesome/scss/_screen-reader.scss
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/js/font-awesome/scss/_stacked.scss
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/js/font-awesome/scss/_variables.scss
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/js/font-awesome/scss/font-awesome.scss
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/js/jquery-1.12.4.min.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/js/jquery-1.9.1.min.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/js/jquery-2.1.3.min.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/js/jquery-ui_itn.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/js/jquery.TabMenuSelectTransform-0.1.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/js/jquery.TabMenuSelectTransform-itn.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/js/jquery.bxslider.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/js/jquery.bxslider.min.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/js/jquery.easy-autocomplete.min.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/js/jquery.fixedMenu.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/js/jquery.flexslider.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/js/jquery.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/js/jquery.min.itn.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/js/jquery.prettydropdowns.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/js/jquery.slides.min.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/js/jqueryui.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/js/jstree.min.assetlocshow.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/js/jstree.min.assetshow.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/js/jstree.min.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/js/jstree.min.ori.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/js/jstree.min_back.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/js/modal.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/js/popup.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/js/printThis.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/js/recaptcha.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/js/showModalDialog.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/js/showModalDialogCallee.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/js/tab.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/passni5/login_proc.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/passni5/sample/agent_test.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/passni5/sample/api_guide.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/passni5/sample/css/default.css
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/passni5/sample/css/guide.css
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/passni5/sample/error.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/passni5/sample/img/bt-1.jpg
| Binary file is not shown |
+++ src/main/webapp/passni5/sample/img/bt-2.jpg
| Binary file is not shown |
+++ src/main/webapp/passni5/sample/img/bt-3.jpg
| Binary file is not shown |
+++ src/main/webapp/passni5/sample/img/bt-4.jpg
| Binary file is not shown |
+++ src/main/webapp/passni5/sample/img/favicon.ico
| Binary file is not shown |
+++ src/main/webapp/passni5/sample/img/ubi_logo.svg
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/passni5/sample/js/countdown.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/passni5/sample/js/jquery-3.6.3.min.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/passni5/sample/login_check.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/passni5/sample/login_proc.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/passni5/sample/logout.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/passni5/sample/main.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/passni5/sample/sso_code.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/passni5/test/token_create.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/passni5/test/token_create_data.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/passni5/test/user_auth.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/se2/SmartEditor2.html
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/se2/SmartEditor2Skin.html
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/se2/SmartEditor2Skin_en_US.html
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/se2/SmartEditor2Skin_ja_JP.html
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/se2/SmartEditor2Skin_ko_KR.html
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/se2/SmartEditor2Skin_zh_CN.html
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/se2/SmartEditor2Skin_zh_TW.html
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/se2/SmartEditor2noframe.html
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/se2/css/en_US/smart_editor2.css
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/se2/css/en_US/smart_editor2_in.css
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/se2/css/en_US/smart_editor2_items.css
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/se2/css/en_US/smart_editor2_out.css
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/se2/css/ja_JP/smart_editor2.css
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/se2/css/ja_JP/smart_editor2_in.css
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/se2/css/ja_JP/smart_editor2_items.css
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/se2/css/ja_JP/smart_editor2_out.css
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/se2/css/ko_KR/smart_editor2.css
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/se2/css/ko_KR/smart_editor2_in.css
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/se2/css/ko_KR/smart_editor2_items.css
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/se2/css/ko_KR/smart_editor2_out.css
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/se2/css/zh_CN/smart_editor2.css
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/se2/css/zh_CN/smart_editor2_in.css
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/se2/css/zh_CN/smart_editor2_items.css
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/se2/css/zh_CN/smart_editor2_out.css
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/se2/css/zh_TW/smart_editor2.css
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/se2/css/zh_TW/smart_editor2_in.css
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/se2/css/zh_TW/smart_editor2_items.css
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/se2/css/zh_TW/smart_editor2_out.css
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/se2/img/bg_b1.png
| Binary file is not shown |
+++ src/main/webapp/se2/img/bg_find_h3.gif
| Binary file is not shown |
+++ src/main/webapp/se2/img/bg_help.gif
| Binary file is not shown |
+++ src/main/webapp/se2/img/bg_line1.gif
| Binary file is not shown |
+++ src/main/webapp/se2/img/bg_quote2.gif
| Binary file is not shown |
+++ src/main/webapp/se2/img/bg_set.gif
| Binary file is not shown |
+++ src/main/webapp/se2/img/bg_spell.gif
| Binary file is not shown |
+++ src/main/webapp/se2/img/bg_text_tool.gif
| Binary file is not shown |
+++ src/main/webapp/se2/img/bx_set_110302.gif
| Binary file is not shown |
+++ src/main/webapp/se2/img/en_US/btn_set.png
| Binary file is not shown |
+++ src/main/webapp/se2/img/en_US/text_tool_set.png
| Binary file is not shown |
+++ src/main/webapp/se2/img/ico_extend.png
| Binary file is not shown |
+++ src/main/webapp/se2/img/icon_set.gif
| Binary file is not shown |
+++ src/main/webapp/se2/img/ja_JP/btn_set.png
| Binary file is not shown |
+++ src/main/webapp/se2/img/ja_JP/text_tool_set.png
| Binary file is not shown |
+++ src/main/webapp/se2/img/ko_KR/btn_set.png
| Binary file is not shown |
+++ src/main/webapp/se2/img/ko_KR/text_tool_set.png
| Binary file is not shown |
+++ src/main/webapp/se2/img/zh_CN/btn_set.png
| Binary file is not shown |
+++ src/main/webapp/se2/img/zh_CN/text_tool_set.png
| Binary file is not shown |
+++ src/main/webapp/se2/img/zh_TW/btn_set.png
| Binary file is not shown |
+++ src/main/webapp/se2/img/zh_TW/text_tool_set.png
| Binary file is not shown |
+++ src/main/webapp/se2/js/lib/jindo2.all.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/se2/js/lib/jindo_component.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/se2/js/service/HuskyEZCreator.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/se2/js/service/SE2BasicCreator.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/se2/js/service/SE2M_Configuration.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/se2/js/service/hp_SE2M_AttachQuickPhoto.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/se2/js/service/hp_SE_OuterIFrameControl.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/se2/js/service/hp_SE_ToolbarToggler.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/se2/js/service/husky_SE2B_Lang_en_US.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/se2/js/service/husky_SE2B_Lang_ja_JP.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/se2/js/service/husky_SE2B_Lang_ko_KR.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/se2/js/service/husky_SE2B_Lang_zh_CN.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/se2/js/service/husky_SE2B_Lang_zh_TW.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/se2/js/smarteditor2.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/se2/js/smarteditor2.min.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/se2/photo_uploader/attach_photo.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/se2/photo_uploader/callback.html
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/se2/photo_uploader/file_uploader.php
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/se2/photo_uploader/file_uploader_html5.php
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/se2/photo_uploader/img/bg_drag_image.png
| Binary file is not shown |
+++ src/main/webapp/se2/photo_uploader/img/btn_cancel.png
| Binary file is not shown |
+++ src/main/webapp/se2/photo_uploader/img/btn_confirm.png
| Binary file is not shown |
+++ src/main/webapp/se2/photo_uploader/img/btn_confirm2.png
| Binary file is not shown |
+++ src/main/webapp/se2/photo_uploader/img/btn_del.png
| Binary file is not shown |
+++ src/main/webapp/se2/photo_uploader/img/btn_find.png
| Binary file is not shown |
+++ src/main/webapp/se2/photo_uploader/jindo.fileuploader.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/se2/photo_uploader/jindo.min.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/se2/photo_uploader/photo_uploader.html
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/se2/photo_uploader/photo_uploader.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/se2/smart_editor2_inputarea.html
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/se2/smart_editor2_inputarea_ie8.html
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/sso/agentProc.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/sso/agentProc.jsp.201030
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/sso/agentProc.jsp_201106
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/sso/agentProc.jsp_20201029
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/sso/business.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/sso/business.jsp_20201029
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/sso/business.jsp_20201215
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/sso/business.jsp_20210512
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/sso/checkauth.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/sso/checkauth.jsp_20201207
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/sso/checkauth.jsp_220613
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/sso/checkserver.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/sso/checkserver.jsp.201030
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/sso/checkserver.jsp_20201029
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/sso/checkserver.jsp_20201215
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/sso/checkserver.jsp_220613
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/sso/checkserver.jsp_220720
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/sso/error.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/sso/isign_sso_login_include.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/sso/login.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/sso/logout.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/sso/logout.jsp_220613
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/sso/package_download.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/sso/sso.zi
| Binary file is not shown |
+++ src/main/webapp/sso/web.xml
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/sso/webcrypto/include_webcrypto/include_wc-all.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/sso/webcrypto/include_webcrypto/include_wc-e2e-simple.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/sso/webcrypto/js/forge/LICENSE
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/sso/webcrypto/js/forge/aes.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/sso/webcrypto/js/forge/aesCipherSuites.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/sso/webcrypto/js/forge/asn1.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/sso/webcrypto/js/forge/cipher.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/sso/webcrypto/js/forge/cipherModes.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/sso/webcrypto/js/forge/debug.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/sso/webcrypto/js/forge/des.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/sso/webcrypto/js/forge/forge.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/sso/webcrypto/js/forge/form.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/sso/webcrypto/js/forge/hmac.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/sso/webcrypto/js/forge/http.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/sso/webcrypto/js/forge/jsbn.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/sso/webcrypto/js/forge/kem.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/sso/webcrypto/js/forge/log.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/sso/webcrypto/js/forge/md.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/sso/webcrypto/js/forge/md5.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/sso/webcrypto/js/forge/mgf.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/sso/webcrypto/js/forge/mgf1.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/sso/webcrypto/js/forge/oids.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/sso/webcrypto/js/forge/pbe.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/sso/webcrypto/js/forge/pbkdf2.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/sso/webcrypto/js/forge/pem.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/sso/webcrypto/js/forge/pkcs1.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/sso/webcrypto/js/forge/pkcs12.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/sso/webcrypto/js/forge/pkcs7.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/sso/webcrypto/js/forge/pkcs7asn1.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/sso/webcrypto/js/forge/pki.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/sso/webcrypto/js/forge/prime.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/sso/webcrypto/js/forge/prime.worker.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/sso/webcrypto/js/forge/prng.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/sso/webcrypto/js/forge/pss.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/sso/webcrypto/js/forge/random.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/sso/webcrypto/js/forge/rc2.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/sso/webcrypto/js/forge/rsa.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/sso/webcrypto/js/forge/seed.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/sso/webcrypto/js/forge/sha1.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/sso/webcrypto/js/forge/sha256.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/sso/webcrypto/js/forge/sha512.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/sso/webcrypto/js/forge/socket.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/sso/webcrypto/js/forge/ssh.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/sso/webcrypto/js/forge/task.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/sso/webcrypto/js/forge/tls.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/sso/webcrypto/js/forge/tlssocket.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/sso/webcrypto/js/forge/util.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/sso/webcrypto/js/forge/x509.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/sso/webcrypto/js/forge/xhr.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/sso/webcrypto/js/json/json2.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/sso/webcrypto/js/webcrypto/common/webcrypto.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/sso/webcrypto/js/webcrypto/common/webcrypto_addon.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/sso/webcrypto/js/webcrypto/common/webcrypto_msg.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/sso/webcrypto/js/webcrypto/e2e/webcrypto_e2e.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/sso/webcrypto/js/webcrypto/e2e/webcrypto_e2e_addon.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/sso/webcrypto/js/webcrypto/pka/file_open_frame.html
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/sso/webcrypto/js/webcrypto/pka/webcrypto_pka.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/sso/webcrypto/js/webcrypto/pka/webcrypto_pka_addon.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/sso/webcrypto/ui_template/css/certificate_ui.css
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/sso/webcrypto/ui_template/image/bg_blinder.png
| Binary file is not shown |
+++ src/main/webapp/sso/webcrypto/ui_template/image/header.jpg
| Binary file is not shown |
+++ src/main/webapp/sso/webcrypto/ui_template/image/icon_hardware.png
| Binary file is not shown |
+++ src/main/webapp/sso/webcrypto/ui_template/image/icon_hardware_on.png
| Binary file is not shown |
+++ src/main/webapp/sso/webcrypto/ui_template/image/icon_hsm.png
| Binary file is not shown |
+++ src/main/webapp/sso/webcrypto/ui_template/image/icon_hsm_on.png
| Binary file is not shown |
+++ src/main/webapp/sso/webcrypto/ui_template/image/icon_movabledisk.png
| Binary file is not shown |
+++ src/main/webapp/sso/webcrypto/ui_template/image/icon_movabledisk_on.png
| Binary file is not shown |
+++ src/main/webapp/sso/webcrypto/ui_template/image/icon_softtoken.png
| Binary file is not shown |
+++ src/main/webapp/sso/webcrypto/ui_template/image/icon_softtoken_on.png
| Binary file is not shown |
+++ src/main/webapp/sso/webcrypto/ui_template/image/icon_ubikey.png
| Binary file is not shown |
+++ src/main/webapp/sso/webcrypto/ui_template/image/icon_ubikey_on.png
| Binary file is not shown |
+++ src/main/webapp/sso/webcrypto/ui_template/image/icon_usim.png
| Binary file is not shown |
+++ src/main/webapp/sso/webcrypto/ui_template/image/icon_usim_on.png
| Binary file is not shown |
+++ src/main/webapp/sso/webcrypto/ui_template/ui_template.js
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/sso/webcrypto/ui_template/ui_template_body.html
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/sso/webcrypto/ui_template/ui_template_body.jsp
| This diff is skipped because there are too many other diffs. |
+++ src/main/webapp/sso/webcryptoEncrypt.js
| This diff is skipped because there are too many other diffs. |
+++ web/EgovAuthorManageController.java
| This diff is skipped because there are too many other diffs. |
+++ web/EgovAuthorRoleController.java
| This diff is skipped because there are too many other diffs. |
Add a comment
Delete comment
Once you delete this comment, you won't be able to recover it. Are you sure you want to delete this comment?