Compare commits

..

No commits in common. "main" and "master" have entirely different histories.
main ... master

4570 changed files with 2181727 additions and 12 deletions

41
.classpath Normal file
View File

@ -0,0 +1,41 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" output="target/classes" path="src/main/java">
<attributes>
<attribute name="optional" value="true"/>
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
<classpathentry excluding="**" kind="src" output="target/classes" path="src/main/resources">
<attributes>
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="src" output="target/test-classes" path="src/test/java">
<attributes>
<attribute name="optional" value="true"/>
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
<classpathentry excluding="**" kind="src" output="target/test-classes" path="src/test/resources">
<attributes>
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
<attributes>
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="con" path="org.eclipse.jst.server.core.container/org.eclipse.jst.server.tomcat.runtimeTarget/Apache Tomcat v8.5 (2)">
<attributes>
<attribute name="owner.project.facets" value="jst.web"/>
</attributes>
</classpathentry>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8">
<attributes>
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="output" path="target/classes"/>
</classpath>

63
.gitignore vendored
View File

@ -1,6 +1,59 @@
/target
.DS_Store
._.DS_Store
**/.DS_Store
**/._.DS_Store
HELP.md
.gradle
build/
!gradle/wrapper/gradle-wrapper.jar
!**/src/main/**/build/
!**/src/test/**/build/
### STS ###
.apt_generated
.classpath
.factorypath
.settings
.springBeans
.sts4-cache
bin/
!**/src/main/**/bin/
!**/src/test/**/bin/
### IntelliJ IDEA ###
.idea
*.iws
*.iml
*.ipr
out/
!**/src/main/**/out/
!**/src/test/**/out/
### NetBeans ###
/nbproject/private/
/nbbuild/
/dist/
/nbdist/
/.nb-gradle/
# Scala IDE specific (Scala & Java development for Eclipse)
.cache-main
.scala_dependencies
.worksheet
# Uncomment this line if you wish to ignore the project description file.
# Typically, this file would be tracked if it contains build/dependency configurations:
#.project
.svn
# ---> Java
# Compiled class file
*.class
#*.class
# Log file
*.log
@ -12,7 +65,6 @@
.mtj.tmp/
# Package Files #
*.jar
*.war
*.nar
*.ear
@ -24,3 +76,10 @@
hs_err_pid*
replay_pid*
### VS Code ###
.vscode/
.vs/
# Added by thkim

49
.project Normal file
View File

@ -0,0 +1,49 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>sgis</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.wst.common.project.facet.core.builder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.wst.validation.validationbuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.springframework.ide.eclipse.core.springbuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.springframework.ide.eclipse.boot.validation.springbootbuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.m2e.core.maven2Builder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.jem.workbench.JavaEMFNature</nature>
<nature>org.eclipse.wst.common.modulecore.ModuleCoreNature</nature>
<nature>org.eclipse.m2e.core.maven2Nature</nature>
<nature>org.eclipse.wst.common.project.facet.core.nature</nature>
<nature>org.eclipse.jdt.core.javanature</nature>
<nature>org.springframework.ide.eclipse.core.springnature</nature>
<nature>egovframework.dev.imp.ide.natures.egovnature</nature>
<nature>org.eclipse.wst.jsdt.core.jsNature</nature>
</natures>
</projectDescription>

13
.settings/.jsdtscope Normal file
View File

@ -0,0 +1,13 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" path="src/main/webapp"/>
<classpathentry excluding="**/bower_components/*|**/node_modules/*|**/*.min.js" kind="src" path="target/m2e-wtp/web-resources"/>
<classpathentry kind="con" path="org.eclipse.wst.jsdt.launching.JRE_CONTAINER"/>
<classpathentry kind="con" path="org.eclipse.wst.jsdt.launching.WebProject">
<attributes>
<attribute name="hide" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="con" path="org.eclipse.wst.jsdt.launching.baseBrowserLibrary"/>
<classpathentry kind="output" path=""/>
</classpath>

View File

@ -0,0 +1,3 @@
eclipse.preferences.version=1
encoding//src/main/java=UTF-8
encoding//src/test/java=UTF-8

View File

@ -0,0 +1,13 @@
eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
org.eclipse.jdt.core.compiler.compliance=1.8
org.eclipse.jdt.core.compiler.debug.lineNumber=generate
org.eclipse.jdt.core.compiler.debug.localVariable=generate
org.eclipse.jdt.core.compiler.debug.sourceFile=generate
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
org.eclipse.jdt.core.compiler.source=1.8

View File

@ -0,0 +1,2 @@
eclipse.preferences.version=1
org.eclipse.ltk.core.refactoring.enable.project.refactoring.history=false

View File

@ -0,0 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?><project-modules id="moduleCoreId" project-version="1.5.0">
<wb-module deploy-name="sht_webapp">
<wb-resource deploy-path="/" source-path="/target/m2e-wtp/web-resources"/>
<wb-resource deploy-path="/" source-path="/src/main/webapp" tag="defaultRootSource"/>
<wb-resource deploy-path="/WEB-INF/classes" source-path="/src/main/java"/>
<property name="java-output-path" value="/sgis/build/classes"/>
<property name="context-root" value="sht_webapp"/>
</wb-module>
</project-modules>

View File

@ -0,0 +1,12 @@
<root>
<facet id="jst.jsf">
<node name="libprov">
<attribute name="provider-id" value="jsf-no-op-library-provider"/>
</node>
</facet>
<facet id="jst.jaxrs">
<node name="libprov">
<attribute name="provider-id" value="jaxrs-no-op-library-provider"/>
</node>
</facet>
</root>

View File

@ -0,0 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<faceted-project>
<runtime name="Apache Tomcat v8.5 (2)"/>
<fixed facet="wst.jsdt.web"/>
<installed facet="java" version="1.8"/>
<installed facet="wst.jsdt.web" version="1.0"/>
<installed facet="jst.jsf" version="2.2"/>
<installed facet="jst.jaxrs" version="2.0"/>
<installed facet="jst.web" version="3.1"/>
</faceted-project>

View File

@ -0,0 +1,2 @@
eclipse.preferences.version=1
org.eclipse.wst.jsdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?><templates/>

View File

@ -0,0 +1 @@
org.eclipse.wst.jsdt.launching.baseBrowserLibrary

View File

@ -0,0 +1 @@
Window

View File

@ -0,0 +1,2 @@
disabled=06target
eclipse.preferences.version=1

24
.springBeans Normal file
View File

@ -0,0 +1,24 @@
<?xml version="1.0" encoding="UTF-8"?>
<beansProjectDescription>
<version>1</version>
<pluginVersion><![CDATA[3.9.5.201807030714-RELEASE]]></pluginVersion>
<configSuffixes>
<configSuffix><![CDATA[xml]]></configSuffix>
</configSuffixes>
<enableImports><![CDATA[false]]></enableImports>
<configs>
<config>src/main/resources/egovframework/spring/com/context-mapper.xml</config>
</configs>
<autoconfigs>
<config>src/main/webapp/WEB-INF/config/egovframework/springmvc/egov-com-servlet.xml</config>
<config>src/main/resources/egovframework/spring/com/context-properties.xml</config>
<config>src/main/webapp/WEB-INF/config/egovframework/springmvc/tiles-servlet.xml</config>
<config>src/main/resources/egovframework/spring/com/context-aspect.xml</config>
<config>src/main/resources/egovframework/spring/com/context-datasource.xml</config>
<config>src/main/resources/egovframework/spring/com/context-idgen.xml</config>
<config>src/main/resources/egovframework/spring/com/context-common.xml</config>
<config>src/main/resources/egovframework/spring/com/context-transaction.xml</config>
</autoconfigs>
<configSets>
</configSets>
</beansProjectDescription>

View File

@ -0,0 +1,86 @@
-- 아래순서로 테이블생성 및 기초데이터 입력
-- ID Generation
insert into IDS(TABLE_NAME,NEXT_ID) values ('BBS_ID',1);
insert into IDS(TABLE_NAME,NEXT_ID) values ('FILE_ID',1);
insert into IDS(TABLE_NAME,NEXT_ID) values ('SAMPLE',1);
insert into IDS(TABLE_NAME,NEXT_ID) values ('SCHDUL_ID',1);
insert into IDS(TABLE_NAME,NEXT_ID) values ('TMPLAT_ID',1);
-- 분류코드
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','전자정부 프레임워크 경량환경 템플릿','전자정부 프레임워크 경량환경 템플릿','Y',SYSDATE,'SYSTEM',SYSDATE,'SYSTEM');
-- 공통코드
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','등록구분','게시판, 커뮤니티, 동호회 등록구분코드','Y','LET',SYSDATE,'SYSTEM',SYSDATE,'SYSTEM');
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',SYSDATE,'SYSTEM',SYSDATE,'SYSTEM');
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',SYSDATE,'SYSTEM',SYSDATE,'SYSTEM');
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',SYSDATE,'SYSTEM',SYSDATE,'SYSTEM');
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',SYSDATE,'SYSTEM',SYSDATE,'SYSTEM');
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 ('COM019','일정중요도','일정중요도 낮음/보통/높음 상태구분','Y','LET',SYSDATE,'SYSTEM',SYSDATE,'SYSTEM');
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 ('COM030','일정구분','일정구분 코드','Y','LET',SYSDATE,'SYSTEM',SYSDATE,'SYSTEM');
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 ('COM031','반복구분','일정 반복구분 코드','Y','LET',SYSDATE,'SYSTEM',SYSDATE,'SYSTEM');
-- 공통상세코드
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',SYSDATE,'SYSTEM',SYSDATE,'SYSTEM');
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',SYSDATE,'SYSTEM',SYSDATE,'SYSTEM');
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',SYSDATE,'SYSTEM',SYSDATE,'SYSTEM');
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',SYSDATE,'SYSTEM',SYSDATE,'SYSTEM');
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',SYSDATE,'SYSTEM',SYSDATE,'SYSTEM');
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',SYSDATE,'SYSTEM',SYSDATE,'SYSTEM');
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',SYSDATE,'SYSTEM',SYSDATE,'SYSTEM');
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',SYSDATE,'SYSTEM',SYSDATE,'SYSTEM');
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',SYSDATE,'SYSTEM',SYSDATE,'SYSTEM');
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',SYSDATE,'SYSTEM',SYSDATE,'SYSTEM');
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 ('COM019','A','높음','높음','Y',SYSDATE,'SYSTEM',SYSDATE,'SYSTEM');
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 ('COM019','B','보통','보통','Y',SYSDATE,'SYSTEM',SYSDATE,'SYSTEM');
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 ('COM019','C','낮음','낮음','Y',SYSDATE,'SYSTEM',SYSDATE,'SYSTEM');
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 ('COM030','1','회의','회의','Y',SYSDATE,'SYSTEM',SYSDATE,'SYSTEM');
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 ('COM030','2','세미나','세미나','Y',SYSDATE,'SYSTEM',SYSDATE,'SYSTEM');
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 ('COM030','3','강의','강의','Y',SYSDATE,'SYSTEM',SYSDATE,'SYSTEM');
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 ('COM030','4','교육','교육','Y',SYSDATE,'SYSTEM',SYSDATE,'SYSTEM');
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 ('COM030','5','기타','기타','Y',SYSDATE,'SYSTEM',SYSDATE,'SYSTEM');
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 ('COM031','1','당일','당일','Y',SYSDATE,'SYSTEM',SYSDATE,'SYSTEM');
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 ('COM031','2','반복','반복','Y',SYSDATE,'SYSTEM',SYSDATE,'SYSTEM');
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 ('COM031','3','연속','연속','Y',SYSDATE,'SYSTEM',SYSDATE,'SYSTEM');
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 ('COM031','4','요일반복','요일반복','Y',SYSDATE,'SYSTEM',SYSDATE,'SYSTEM');
-- 조직정보
insert into LETTNORGNZTINFO(ORGNZT_ID,ORGNZT_NM,ORGNZT_DC) values ('ORGNZT_0000000000000','기본조직','기본조직');
-- 그룹정보
insert into LETTNAUTHORGROUPINFO(GROUP_ID,GROUP_NM,GROUP_CREAT_DE,GROUP_DC) values ('GROUP_00000000000000','기본 그룹입니다',SYSDATE,'기본 그룹');
-- 사용자정보
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=','','','F','','','관리자 주소','P01','123','','','','','','','','','','GROUP_00000000000000','00000000','P','USRCNFRM_00000000000','',SYSDATE);
-- 게시판템플릿
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',SYSDATE,'USRCNFRM_00000000000',SYSDATE);
-- 게시판마스터
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',SYSDATE,'USRCNFRM_00000000000',SYSDATE);
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',SYSDATE,'USRCNFRM_00000000000',SYSDATE);
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',SYSDATE,'USRCNFRM_00000000000',SYSDATE);
-- 게시판사용
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',SYSDATE,'USRCNFRM_00000000000',SYSDATE,'USRCNFRM_00000000000');
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',SYSDATE,'USRCNFRM_00000000000',SYSDATE,'USRCNFRM_00000000000');
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',SYSDATE,'USRCNFRM_00000000000',SYSDATE,'USRCNFRM_00000000000');
-- 게시물
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,SYSDATE,'USRCNFRM_00000000000',null,null);
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,SYSDATE,'USRCNFRM_00000000000',null,null);
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,SYSDATE,'USRCNFRM_00000000000',null,null);
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,SYSDATE,'USRCNFRM_00000000000',null,null);
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,SYSDATE,'USRCNFRM_00000000000',null,null);
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_BBBBBBBBBBBB',1,'홈페이지 샘플게시1','홈페이지 샘플게시1','N',0,0,2,0,'Y','10000101','99991231','','','',null,SYSDATE,'USRCNFRM_00000000000',null,null);
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_BBBBBBBBBBBB',1,'홈페이지 샘플게시2','홈페이지 샘플게시2','N',0,0,2,0,'Y','10000101','99991231','','','',null,SYSDATE,'USRCNFRM_00000000000',null,null);
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_BBBBBBBBBBBB',1,'홈페이지 샘플게시3','홈페이지 샘플게시3','N',0,0,2,0,'Y','10000101','99991231','','','',null,SYSDATE,'USRCNFRM_00000000000',null,null);
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_BBBBBBBBBBBB',1,'홈페이지 샘플게시4','홈페이지 샘플게시4','N',0,0,2,0,'Y','10000101','99991231','','','',null,SYSDATE,'USRCNFRM_00000000000',null,null);
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_BBBBBBBBBBBB',1,'홈페이지 샘플게시5','홈페이지 샘플게시5','N',0,0,2,0,'Y','10000101','99991231','','','',null,SYSDATE,'USRCNFRM_00000000000',null,null);

View File

@ -0,0 +1,84 @@
-- 아래순서로 테이블생성 및 기초데이터 입력
-- ID Generation
insert into IDS(TABLE_NAME,NEXT_ID) values ('BBS_ID',1);
insert into IDS(TABLE_NAME,NEXT_ID) values ('FILE_ID',1);
insert into IDS(TABLE_NAME,NEXT_ID) values ('SCHDUL_ID',1);
insert into IDS(TABLE_NAME,NEXT_ID) values ('TMPLAT_ID',1);
-- 분류코드
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','전자정부 프레임워크 경량환경 템플릿','전자정부 프레임워크 경량환경 템플릿','Y',SYSDATETIME,'SYSTEM',SYSDATETIME,'SYSTEM');
-- 공통코드
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','등록구분','게시판, 커뮤니티, 동호회 등록구분코드','Y','LET',SYSDATETIME,'SYSTEM',SYSDATETIME,'SYSTEM');
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',SYSDATETIME,'SYSTEM',SYSDATETIME,'SYSTEM');
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',SYSDATETIME,'SYSTEM',SYSDATETIME,'SYSTEM');
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',SYSDATETIME,'SYSTEM',SYSDATETIME,'SYSTEM');
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',SYSDATETIME,'SYSTEM',SYSDATETIME,'SYSTEM');
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 ('COM019','일정중요도','일정중요도 낮음/보통/높음 상태구분','Y','LET',SYSDATETIME,'SYSTEM',SYSDATETIME,'SYSTEM');
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 ('COM030','일정구분','일정구분 코드','Y','LET',SYSDATETIME,'SYSTEM',SYSDATETIME,'SYSTEM');
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 ('COM031','반복구분','일정 반복구분 코드','Y','LET',SYSDATETIME,'SYSTEM',SYSDATETIME,'SYSTEM');
-- 공통상세코드
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',SYSDATETIME,'SYSTEM',SYSDATETIME,'SYSTEM');
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',SYSDATETIME,'SYSTEM',SYSDATETIME,'SYSTEM');
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',SYSDATETIME,'SYSTEM',SYSDATETIME,'SYSTEM');
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',SYSDATETIME,'SYSTEM',SYSDATETIME,'SYSTEM');
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','익명게시판','익명게시판','Y',SYSDATETIME,'SYSTEM',SYSDATETIME,'SYSTEM');
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',SYSDATETIME,'SYSTEM',SYSDATETIME,'SYSTEM');
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',SYSDATETIME,'SYSTEM',SYSDATETIME,'SYSTEM');
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','유효게시판','유효게시판','Y',SYSDATETIME,'SYSTEM',SYSDATETIME,'SYSTEM');
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',SYSDATETIME,'SYSTEM',SYSDATETIME,'SYSTEM');
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',SYSDATETIME,'SYSTEM',SYSDATETIME,'SYSTEM');
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 ('COM019','A','높음','높음','Y',SYSDATETIME,'SYSTEM',SYSDATETIME,'SYSTEM');
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 ('COM019','B','보통','보통','Y',SYSDATETIME,'SYSTEM',SYSDATETIME,'SYSTEM');
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 ('COM019','C','낮음','낮음','Y',SYSDATETIME,'SYSTEM',SYSDATETIME,'SYSTEM');
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 ('COM030','1','회의','회의','Y',SYSDATETIME,'SYSTEM',SYSDATETIME,'SYSTEM');
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 ('COM030','2','세미나','세미나','Y',SYSDATETIME,'SYSTEM',SYSDATETIME,'SYSTEM');
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 ('COM030','3','강의','강의','Y',SYSDATETIME,'SYSTEM',SYSDATETIME,'SYSTEM');
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 ('COM030','4','교육','교육','Y',SYSDATETIME,'SYSTEM',SYSDATETIME,'SYSTEM');
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 ('COM030','5','기타','기타','Y',SYSDATETIME,'SYSTEM',SYSDATETIME,'SYSTEM');
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 ('COM031','1','당일','당일','Y',SYSDATETIME,'SYSTEM',SYSDATETIME,'SYSTEM');
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 ('COM031','2','반복','반복','Y',SYSDATETIME,'SYSTEM',SYSDATETIME,'SYSTEM');
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 ('COM031','3','연속','연속','Y',SYSDATETIME,'SYSTEM',SYSDATETIME,'SYSTEM');
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 ('COM031','4','요일반복','요일반복','Y',SYSDATETIME,'SYSTEM',SYSDATETIME,'SYSTEM');
-- 조직정보
insert into LETTNORGNZTINFO(ORGNZT_ID,ORGNZT_NM,ORGNZT_DC) values ('ORGNZT_0000000000000','기본조직','기본조직');
-- 그룹정보
insert into LETTNAUTHORGROUPINFO(GROUP_ID,GROUP_NM,GROUP_CREAT_DE,GROUP_DC) values ('GROUP_00000000000000','기본 그룹입니다',SYSDATETIME,'기본 그룹');
-- 사용자정보
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=','','','F','','','관리자 주소','P01','123','','','','','','','','','','GROUP_00000000000000','00000000','P','USRCNFRM_00000000000','',SYSDATETIME);
-- 게시판템플릿
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',SYSDATETIME,'USRCNFRM_00000000000',SYSDATETIME);
-- 게시판마스터
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',SYSDATETIME,'USRCNFRM_00000000000',SYSDATETIME);
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',SYSDATETIME,'USRCNFRM_00000000000',SYSDATETIME);
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',SYSDATETIME,'USRCNFRM_00000000000',SYSDATETIME);
-- 게시판사용
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',SYSDATETIME,'USRCNFRM_00000000000',SYSDATETIME,'USRCNFRM_00000000000');
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',SYSDATETIME,'USRCNFRM_00000000000',SYSDATETIME,'USRCNFRM_00000000000');
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',SYSDATETIME,'USRCNFRM_00000000000',SYSDATETIME,'USRCNFRM_00000000000');
-- 게시물
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,SYSDATETIME,'USRCNFRM_00000000000',null,null);
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,SYSDATETIME,'USRCNFRM_00000000000',null,null);
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,SYSDATETIME,'USRCNFRM_00000000000',null,null);
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,SYSDATETIME,'USRCNFRM_00000000000',null,null);
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,SYSDATETIME,'USRCNFRM_00000000000',null,null);
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_BBBBBBBBBBBB',1,'홈페이지 샘플게시1','홈페이지 샘플게시1','N',0,0,2,0,'Y','10000101','99991231','','','',null,SYSDATETIME,'USRCNFRM_00000000000',null,null);
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_BBBBBBBBBBBB',1,'홈페이지 샘플게시2','홈페이지 샘플게시2','N',0,0,2,0,'Y','10000101','99991231','','','',null,SYSDATETIME,'USRCNFRM_00000000000',null,null);
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_BBBBBBBBBBBB',1,'홈페이지 샘플게시3','홈페이지 샘플게시3','N',0,0,2,0,'Y','10000101','99991231','','','',null,SYSDATETIME,'USRCNFRM_00000000000',null,null);
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_BBBBBBBBBBBB',1,'홈페이지 샘플게시4','홈페이지 샘플게시4','N',0,0,2,0,'Y','10000101','99991231','','','',null,SYSDATETIME,'USRCNFRM_00000000000',null,null);
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_BBBBBBBBBBBB',1,'홈페이지 샘플게시5','홈페이지 샘플게시5','N',0,0,2,0,'Y','10000101','99991231','','','',null,SYSDATETIME,'USRCNFRM_00000000000',null,null);

View File

@ -0,0 +1,86 @@
#아래순서로 테이블생성 및 기초데이터 입력
# ID Generation
insert into IDS(TABLE_NAME,NEXT_ID) values ('BBS_ID',1);
insert into IDS(TABLE_NAME,NEXT_ID) values ('FILE_ID',1);
insert into IDS(TABLE_NAME,NEXT_ID) values ('SAMPLE',1);
insert into IDS(TABLE_NAME,NEXT_ID) values ('SCHDUL_ID',1);
insert into IDS(TABLE_NAME,NEXT_ID) values ('TMPLAT_ID',1);
#분류코드
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','전자정부 프레임워크 경량환경 템플릿','전자정부 프레임워크 경량환경 템플릿','Y','2011-08-02 21:01:59','SYSTEM','2011-08-02 21:01:59','SYSTEM');
# 공통코드
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','등록구분','게시판, 커뮤니티, 동호회 등록구분코드','Y','LET','2011-08-02 21:01:59','SYSTEM','2011-08-02 21:01:59','SYSTEM');
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:01:59','SYSTEM','2011-08-02 21:01:59','SYSTEM');
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:01:59','SYSTEM','2011-08-02 21:01:59','SYSTEM');
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:01:59','SYSTEM','2011-08-02 21:01:59','SYSTEM');
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:01:59','SYSTEM','2011-08-02 21:01:59','SYSTEM');
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 ('COM019','일정중요도','일정중요도 낮음/보통/높음 상태구분','Y','LET','2011-08-02 21:01:59','SYSTEM','2011-08-02 21:01:59','SYSTEM');
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 ('COM030','일정구분','일정구분 코드','Y','LET','2011-08-02 21:01:59','SYSTEM','2011-08-02 21:01:59','SYSTEM');
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 ('COM031','반복구분','일정 반복구분 코드','Y','LET','2011-08-02 21:01:59','SYSTEM','2011-08-02 21:01:59','SYSTEM');
# 공통상세코드
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:01:59','SYSTEM','2011-08-02 21:01:59','SYSTEM');
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:01:59','SYSTEM','2011-08-02 21:01:59','SYSTEM');
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:01:59','SYSTEM','2011-08-02 21:01:59','SYSTEM');
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:01:59','SYSTEM','2011-08-02 21:01:59','SYSTEM');
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:01:59','SYSTEM','2011-08-02 21:01:59','SYSTEM');
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:01:59','SYSTEM','2011-08-02 21:01:59','SYSTEM');
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:01:59','SYSTEM','2011-08-02 21:01:59','SYSTEM');
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:01:59','SYSTEM','2011-08-02 21:01:59','SYSTEM');
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:01:59','SYSTEM','2011-08-02 21:01:59','SYSTEM');
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:01:59','SYSTEM','2011-08-02 21:01:59','SYSTEM');
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 ('COM019','A','높음','높음','Y','2011-08-02 21:02:00','SYSTEM','2011-08-02 21:02:00','SYSTEM');
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 ('COM019','B','보통','보통','Y','2011-08-02 21:02:00','SYSTEM','2011-08-02 21:02:00','SYSTEM');
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 ('COM019','C','낮음','낮음','Y','2011-08-02 21:02:00','SYSTEM','2011-08-02 21:02:00','SYSTEM');
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 ('COM030','1','회의','회의','Y','2011-08-02 21:01:59','SYSTEM','2011-08-02 21:01:59','SYSTEM');
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 ('COM030','2','세미나','세미나','Y','2011-08-02 21:01:59','SYSTEM','2011-08-02 21:01:59','SYSTEM');
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 ('COM030','3','강의','강의','Y','2011-08-02 21:01:59','SYSTEM','2011-08-02 21:01:59','SYSTEM');
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 ('COM030','4','교육','교육','Y','2011-08-02 21:01:59','SYSTEM','2011-08-02 21:01:59','SYSTEM');
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 ('COM030','5','기타','기타','Y','2011-08-02 21:01:59','SYSTEM','2011-08-02 21:01:59','SYSTEM');
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 ('COM031','1','당일','당일','Y','2011-08-02 21:01:59','SYSTEM','2011-08-02 21:01:59','SYSTEM');
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 ('COM031','2','반복','반복','Y','2011-08-02 21:02:00','SYSTEM','2011-08-02 21:02:00','SYSTEM');
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 ('COM031','3','연속','연속','Y','2011-08-02 21:02:00','SYSTEM','2011-08-02 21:02:00','SYSTEM');
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 ('COM031','4','요일반복','요일반복','Y','2011-08-02 21:02:00','SYSTEM','2011-08-02 21:02:00','SYSTEM');
# 조직정보
insert into LETTNORGNZTINFO(ORGNZT_ID,ORGNZT_NM,ORGNZT_DC) values ('ORGNZT_0000000000000','기본조직','기본조직');
# 그룹정보
insert into LETTNAUTHORGROUPINFO(GROUP_ID,GROUP_NM,GROUP_CREAT_DE,GROUP_DC) values ('GROUP_00000000000000','기본 그룹입니다','2011-08-02 21:01:59','기본 그룹');
# 사용자정보
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=','','','F','','','관리자 주소','','','','','','','','','','','','GROUP_00000000000000','00000000','P','USRCNFRM_00000000000','','2011-08-02 21:01:59');
# 게시판템플릿
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');
# 게시판마스터
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');
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');
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');
# 게시판사용
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-09-05 18:15:31','');
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');
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');
# 게시물
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);
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);
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);
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);
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);
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_BBBBBBBBBBBB',1,'홈페이지 샘플게시1','홈페이지 샘플게시1','N',0,0,2,0,'Y','10000101','99991231','','','',null,NOW(),'USRCNFRM_00000000000',null,null);
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_BBBBBBBBBBBB',1,'홈페이지 샘플게시2','홈페이지 샘플게시2','N',0,0,2,0,'Y','10000101','99991231','','','',null,NOW(),'USRCNFRM_00000000000',null,null);
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_BBBBBBBBBBBB',1,'홈페이지 샘플게시3','홈페이지 샘플게시3','N',0,0,2,0,'Y','10000101','99991231','','','',null,NOW(),'USRCNFRM_00000000000',null,null);
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_BBBBBBBBBBBB',1,'홈페이지 샘플게시4','홈페이지 샘플게시4','N',0,0,2,0,'Y','10000101','99991231','','','',null,NOW(),'USRCNFRM_00000000000',null,null);
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_BBBBBBBBBBBB',1,'홈페이지 샘플게시5','홈페이지 샘플게시5','N',0,0,2,0,'Y','10000101','99991231','','','',null,NOW(),'USRCNFRM_00000000000',null,null);

View File

@ -0,0 +1,85 @@
-- 아래순서로 테이블생성 및 기초데이터 입력
-- ID Generation
insert into IDS(TABLE_NAME,NEXT_ID) values ('BBS_ID',1);
insert into IDS(TABLE_NAME,NEXT_ID) values ('FILE_ID',1);
insert into IDS(TABLE_NAME,NEXT_ID) values ('SCHDUL_ID',1);
insert into IDS(TABLE_NAME,NEXT_ID) values ('TMPLAT_ID',1);
-- 분류코드
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','전자정부 프레임워크 경량환경 템플릿','전자정부 프레임워크 경량환경 템플릿','Y',SYSDATE,'SYSTEM',SYSDATE,'SYSTEM');
-- 공통코드
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','등록구분','게시판, 커뮤니티, 동호회 등록구분코드','Y','LET',SYSDATE,'SYSTEM',SYSDATE,'SYSTEM');
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',SYSDATE,'SYSTEM',SYSDATE,'SYSTEM');
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',SYSDATE,'SYSTEM',SYSDATE,'SYSTEM');
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',SYSDATE,'SYSTEM',SYSDATE,'SYSTEM');
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',SYSDATE,'SYSTEM',SYSDATE,'SYSTEM');
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 ('COM019','일정중요도','일정중요도 낮음/보통/높음 상태구분','Y','LET',SYSDATE,'SYSTEM',SYSDATE,'SYSTEM');
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 ('COM030','일정구분','일정구분 코드','Y','LET',SYSDATE,'SYSTEM',SYSDATE,'SYSTEM');
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 ('COM031','반복구분','일정 반복구분 코드','Y','LET',SYSDATE,'SYSTEM',SYSDATE,'SYSTEM');
-- 공통상세코드
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',SYSDATE,'SYSTEM',SYSDATE,'SYSTEM');
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',SYSDATE,'SYSTEM',SYSDATE,'SYSTEM');
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',SYSDATE,'SYSTEM',SYSDATE,'SYSTEM');
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',SYSDATE,'SYSTEM',SYSDATE,'SYSTEM');
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',SYSDATE,'SYSTEM',SYSDATE,'SYSTEM');
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',SYSDATE,'SYSTEM',SYSDATE,'SYSTEM');
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',SYSDATE,'SYSTEM',SYSDATE,'SYSTEM');
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',SYSDATE,'SYSTEM',SYSDATE,'SYSTEM');
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',SYSDATE,'SYSTEM',SYSDATE,'SYSTEM');
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',SYSDATE,'SYSTEM',SYSDATE,'SYSTEM');
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 ('COM019','A','높음','높음','Y',SYSDATE,'SYSTEM',SYSDATE,'SYSTEM');
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 ('COM019','B','보통','보통','Y',SYSDATE,'SYSTEM',SYSDATE,'SYSTEM');
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 ('COM019','C','낮음','낮음','Y',SYSDATE,'SYSTEM',SYSDATE,'SYSTEM');
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 ('COM030','1','회의','회의','Y',SYSDATE,'SYSTEM',SYSDATE,'SYSTEM');
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 ('COM030','2','세미나','세미나','Y',SYSDATE,'SYSTEM',SYSDATE,'SYSTEM');
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 ('COM030','3','강의','강의','Y',SYSDATE,'SYSTEM',SYSDATE,'SYSTEM');
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 ('COM030','4','교육','교육','Y',SYSDATE,'SYSTEM',SYSDATE,'SYSTEM');
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 ('COM030','5','기타','기타','Y',SYSDATE,'SYSTEM',SYSDATE,'SYSTEM');
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 ('COM031','1','당일','당일','Y',SYSDATE,'SYSTEM',SYSDATE,'SYSTEM');
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 ('COM031','2','반복','반복','Y',SYSDATE,'SYSTEM',SYSDATE,'SYSTEM');
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 ('COM031','3','연속','연속','Y',SYSDATE,'SYSTEM',SYSDATE,'SYSTEM');
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 ('COM031','4','요일반복','요일반복','Y',SYSDATE,'SYSTEM',SYSDATE,'SYSTEM');
-- 조직정보
insert into LETTNORGNZTINFO(ORGNZT_ID,ORGNZT_NM,ORGNZT_DC) values ('ORGNZT_0000000000000','기본조직','기본조직');
-- 그룹정보
insert into LETTNAUTHORGROUPINFO(GROUP_ID,GROUP_NM,GROUP_CREAT_DE,GROUP_DC) values ('GROUP_00000000000000','기본 그룹입니다',SYSDATE,'기본 그룹');
-- 사용자정보
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=','','','F','','','관리자 주소','P01','123','','','','','','','','','','GROUP_00000000000000','00000000','P','USRCNFRM_00000000000','',SYSDATE);
-- 게시판템플릿
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',SYSDATE,'USRCNFRM_00000000000',SYSDATE);
-- 게시판마스터
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',SYSDATE,'USRCNFRM_00000000000',SYSDATE);
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',SYSDATE,'USRCNFRM_00000000000',SYSDATE);
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',SYSDATE,'USRCNFRM_00000000000',SYSDATE);
-- 게시판사용
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',SYSDATE,'USRCNFRM_00000000000',SYSDATE,'USRCNFRM_00000000000');
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',SYSDATE,'USRCNFRM_00000000000',SYSDATE,'USRCNFRM_00000000000');
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',SYSDATE,'USRCNFRM_00000000000',SYSDATE,'USRCNFRM_00000000000');
-- 게시물
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,SYSDATE,'USRCNFRM_00000000000',null,null);
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,SYSDATE,'USRCNFRM_00000000000',null,null);
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,SYSDATE,'USRCNFRM_00000000000',null,null);
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,SYSDATE,'USRCNFRM_00000000000',null,null);
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,SYSDATE,'USRCNFRM_00000000000',null,null);
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_BBBBBBBBBBBB',1,'홈페이지 샘플게시1','홈페이지 샘플게시1','N',0,0,2,0,'Y','10000101','99991231','','','',null,SYSDATE,'USRCNFRM_00000000000',null,null);
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_BBBBBBBBBBBB',1,'홈페이지 샘플게시2','홈페이지 샘플게시2','N',0,0,2,0,'Y','10000101','99991231','','','',null,SYSDATE,'USRCNFRM_00000000000',null,null);
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_BBBBBBBBBBBB',1,'홈페이지 샘플게시3','홈페이지 샘플게시3','N',0,0,2,0,'Y','10000101','99991231','','','',null,SYSDATE,'USRCNFRM_00000000000',null,null);
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_BBBBBBBBBBBB',1,'홈페이지 샘플게시4','홈페이지 샘플게시4','N',0,0,2,0,'Y','10000101','99991231','','','',null,SYSDATE,'USRCNFRM_00000000000',null,null);
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_BBBBBBBBBBBB',1,'홈페이지 샘플게시5','홈페이지 샘플게시5','N',0,0,2,0,'Y','10000101','99991231','','','',null,SYSDATE,'USRCNFRM_00000000000',null,null);

View File

@ -0,0 +1,87 @@
-- 아래순서로 테이블생성 및 기초데이터 입력
-- ID Generation
insert into IDS(TABLE_NAME,NEXT_ID) values ('BBS_ID',1);
insert into IDS(TABLE_NAME,NEXT_ID) values ('FILE_ID',1);
insert into IDS(TABLE_NAME,NEXT_ID) values ('SAMPLE',1);
insert into IDS(TABLE_NAME,NEXT_ID) values ('SCHDUL_ID',1);
insert into IDS(TABLE_NAME,NEXT_ID) values ('TMPLAT_ID',1);
-- 분류코드
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','전자정부 프레임워크 경량환경 템플릿','전자정부 프레임워크 경량환경 템플릿','Y',SYSDATE,'SYSTEM',SYSDATE,'SYSTEM');
-- 공통코드
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','등록구분','게시판, 커뮤니티, 동호회 등록구분코드','Y','LET',SYSDATE,'SYSTEM',SYSDATE,'SYSTEM');
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',SYSDATE,'SYSTEM',SYSDATE,'SYSTEM');
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',SYSDATE,'SYSTEM',SYSDATE,'SYSTEM');
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',SYSDATE,'SYSTEM',SYSDATE,'SYSTEM');
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',SYSDATE,'SYSTEM',SYSDATE,'SYSTEM');
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 ('COM019','일정중요도','일정중요도 낮음/보통/높음 상태구분','Y','LET',SYSDATE,'SYSTEM',SYSDATE,'SYSTEM');
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 ('COM030','일정구분','일정구분 코드','Y','LET',SYSDATE,'SYSTEM',SYSDATE,'SYSTEM');
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 ('COM031','반복구분','일정 반복구분 코드','Y','LET',SYSDATE,'SYSTEM',SYSDATE,'SYSTEM');
-- 공통상세코드
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',SYSDATE,'SYSTEM',SYSDATE,'SYSTEM');
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',SYSDATE,'SYSTEM',SYSDATE,'SYSTEM');
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',SYSDATE,'SYSTEM',SYSDATE,'SYSTEM');
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',SYSDATE,'SYSTEM',SYSDATE,'SYSTEM');
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',SYSDATE,'SYSTEM',SYSDATE,'SYSTEM');
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',SYSDATE,'SYSTEM',SYSDATE,'SYSTEM');
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',SYSDATE,'SYSTEM',SYSDATE,'SYSTEM');
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',SYSDATE,'SYSTEM',SYSDATE,'SYSTEM');
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',SYSDATE,'SYSTEM',SYSDATE,'SYSTEM');
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',SYSDATE,'SYSTEM',SYSDATE,'SYSTEM');
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 ('COM019','A','높음','높음','Y',SYSDATE,'SYSTEM',SYSDATE,'SYSTEM');
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 ('COM019','B','보통','보통','Y',SYSDATE,'SYSTEM',SYSDATE,'SYSTEM');
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 ('COM019','C','낮음','낮음','Y',SYSDATE,'SYSTEM',SYSDATE,'SYSTEM');
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 ('COM030','1','회의','회의','Y',SYSDATE,'SYSTEM',SYSDATE,'SYSTEM');
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 ('COM030','2','세미나','세미나','Y',SYSDATE,'SYSTEM',SYSDATE,'SYSTEM');
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 ('COM030','3','강의','강의','Y',SYSDATE,'SYSTEM',SYSDATE,'SYSTEM');
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 ('COM030','4','교육','교육','Y',SYSDATE,'SYSTEM',SYSDATE,'SYSTEM');
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 ('COM030','5','기타','기타','Y',SYSDATE,'SYSTEM',SYSDATE,'SYSTEM');
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 ('COM031','1','당일','당일','Y',SYSDATE,'SYSTEM',SYSDATE,'SYSTEM');
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 ('COM031','2','반복','반복','Y',SYSDATE,'SYSTEM',SYSDATE,'SYSTEM');
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 ('COM031','3','연속','연속','Y',SYSDATE,'SYSTEM',SYSDATE,'SYSTEM');
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 ('COM031','4','요일반복','요일반복','Y',SYSDATE,'SYSTEM',SYSDATE,'SYSTEM');
-- 조직정보
insert into LETTNORGNZTINFO(ORGNZT_ID,ORGNZT_NM,ORGNZT_DC) values ('ORGNZT_0000000000000','기본조직','기본조직');
-- 그룹정보
insert into LETTNAUTHORGROUPINFO(GROUP_ID,GROUP_NM,GROUP_CREAT_DE,GROUP_DC) values ('GROUP_00000000000000','기본 그룹입니다',SYSDATE,'기본 그룹');
-- 사용자정보
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=','','','F','','','관리자 주소','P01','123','','','','','','','','','','GROUP_00000000000000','00000000','P','USRCNFRM_00000000000','',SYSDATE);
-- 게시판템플릿
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',SYSDATE,'USRCNFRM_00000000000',SYSDATE);
-- 게시판마스터
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',SYSDATE,'USRCNFRM_00000000000',SYSDATE);
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',SYSDATE,'USRCNFRM_00000000000',SYSDATE);
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',SYSDATE,'USRCNFRM_00000000000',SYSDATE);
-- 게시판사용
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',SYSDATE,'USRCNFRM_00000000000',SYSDATE,'USRCNFRM_00000000000');
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',SYSDATE,'USRCNFRM_00000000000',SYSDATE,'USRCNFRM_00000000000');
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',SYSDATE,'USRCNFRM_00000000000',SYSDATE,'USRCNFRM_00000000000');
-- 게시물
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,SYSDATE,'USRCNFRM_00000000000',null,null);
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,SYSDATE,'USRCNFRM_00000000000',null,null);
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,SYSDATE,'USRCNFRM_00000000000',null,null);
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,SYSDATE,'USRCNFRM_00000000000',null,null);
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,SYSDATE,'USRCNFRM_00000000000',null,null);
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_BBBBBBBBBBBB',1,'홈페이지 샘플게시1','홈페이지 샘플게시1','N',0,0,2,0,'Y','10000101','99991231','','','',null,SYSDATE,'USRCNFRM_00000000000',null,null);
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_BBBBBBBBBBBB',1,'홈페이지 샘플게시2','홈페이지 샘플게시2','N',0,0,2,0,'Y','10000101','99991231','','','',null,SYSDATE,'USRCNFRM_00000000000',null,null);
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_BBBBBBBBBBBB',1,'홈페이지 샘플게시3','홈페이지 샘플게시3','N',0,0,2,0,'Y','10000101','99991231','','','',null,SYSDATE,'USRCNFRM_00000000000',null,null);
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_BBBBBBBBBBBB',1,'홈페이지 샘플게시4','홈페이지 샘플게시4','N',0,0,2,0,'Y','10000101','99991231','','','',null,SYSDATE,'USRCNFRM_00000000000',null,null);
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_BBBBBBBBBBBB',1,'홈페이지 샘플게시5','홈페이지 샘플게시5','N',0,0,2,0,'Y','10000101','99991231','','','',null,SYSDATE,'USRCNFRM_00000000000',null,null);

View File

@ -0,0 +1,282 @@
DROP TABLE IDS CASCADE CONSTRAINTS;
CREATE TABLE IDS (
TABLE_NAME varchar2(20) NOT NULL,
NEXT_ID number(30,0)DEFAULT 0 NOT NULL ,
CONSTRAINT IDS_PK PRIMARY KEY (TABLE_NAME)
);
DROP TABLE LETTCCMMNCLCODE CASCADE CONSTRAINTS;
CREATE TABLE LETTCCMMNCLCODE (
CL_CODE char(3) NOT NULL,
CL_CODE_NM varchar2(60) ,
CL_CODE_DC varchar2(200) ,
USE_AT char(1) ,
FRST_REGIST_PNTTM DATE ,
FRST_REGISTER_ID varchar2(20) ,
LAST_UPDT_PNTTM DATE ,
LAST_UPDUSR_ID varchar2(20) ,
CONSTRAINT LETTCCMMNCLCODE_PK PRIMARY KEY (CL_CODE)
) ;
DROP TABLE LETTCCMMNCODE CASCADE CONSTRAINTS;
CREATE TABLE LETTCCMMNCODE (
CODE_ID varchar2(6) NOT NULL,
CODE_ID_NM varchar2(60) ,
CODE_ID_DC varchar2(200) ,
USE_AT char(1) ,
CL_CODE char(3) ,
FRST_REGIST_PNTTM DATE ,
FRST_REGISTER_ID varchar2(20) ,
LAST_UPDT_PNTTM DATE ,
LAST_UPDUSR_ID varchar2(20) ,
CONSTRAINT LETTCCMMNCODE_PK PRIMARY KEY (CODE_ID),
CONSTRAINT LETTCCMMNCODE_ibfk_1 FOREIGN KEY (CL_CODE) REFERENCES LETTCCMMNCLCODE (CL_CODE)
) ;
DROP TABLE LETTCCMMNDETAILCODE CASCADE CONSTRAINTS;
CREATE TABLE LETTCCMMNDETAILCODE (
CODE_ID varchar2(6) NOT NULL,
CODE varchar2(15) NOT NULL,
CODE_NM varchar2(60) ,
CODE_DC varchar2(200) ,
USE_AT char(1) ,
FRST_REGIST_PNTTM DATE ,
FRST_REGISTER_ID varchar2(20) ,
LAST_UPDT_PNTTM DATE ,
LAST_UPDUSR_ID varchar2(20) ,
CONSTRAINT LETTCCMMNDETAILCODE_PK PRIMARY KEY (CODE_ID,CODE),
CONSTRAINT LETTCCMMNDETAILCODE_ibfk_1 FOREIGN KEY (CODE_ID) REFERENCES LETTCCMMNCODE (CODE_ID)
) ;
DROP TABLE LETTNORGNZTINFO CASCADE CONSTRAINTS;
CREATE TABLE LETTNORGNZTINFO (
ORGNZT_ID char(20) DEFAULT '' NOT NULL,
ORGNZT_NM varchar2(20) NOT NULL,
ORGNZT_DC varchar2(100) ,
CONSTRAINT LETTNORGNZTINFO_PK PRIMARY KEY (ORGNZT_ID)
) ;
DROP TABLE LETTNAUTHORGROUPINFO CASCADE CONSTRAINTS;
CREATE TABLE LETTNAUTHORGROUPINFO (
GROUP_ID char(20) DEFAULT '' NOT NULL,
GROUP_NM varchar2(60) NOT NULL,
GROUP_CREAT_DE char(20) NOT NULL,
GROUP_DC varchar2(100) ,
CONSTRAINT LETTNAUTHORGROUPINFO_PK PRIMARY KEY (GROUP_ID)
) ;
DROP TABLE LETTNEMPLYRINFO CASCADE CONSTRAINTS;
CREATE TABLE LETTNEMPLYRINFO (
EMPLYR_ID varchar2(20) NOT NULL,
ORGNZT_ID char(20) ,
USER_NM varchar2(60) NOT NULL,
PASSWORD varchar2(200) NOT NULL,
EMPL_NO varchar2(20) ,
IHIDNUM varchar2(200) ,
SEXDSTN_CODE char(1) ,
BRTHDY char(20) ,
FXNUM varchar2(20) ,
HOUSE_ADRES varchar2(100) ,
PASSWORD_HINT varchar2(100) NOT NULL,
PASSWORD_CNSR varchar2(100) NOT NULL,
HOUSE_END_TELNO varchar2(4) ,
AREA_NO varchar2(4) ,
DETAIL_ADRES varchar2(100) ,
ZIP varchar2(6) ,
OFFM_TELNO varchar2(20) ,
MBTLNUM varchar2(20) ,
EMAIL_ADRES varchar2(50) ,
OFCPS_NM varchar2(60) ,
HOUSE_MIDDLE_TELNO varchar2(4) ,
GROUP_ID char(20) ,
PSTINST_CODE char(8) ,
EMPLYR_STTUS_CODE varchar2(15) NOT NULL,
ESNTL_ID char(20) NOT NULL,
CRTFC_DN_VALUE varchar2(20) ,
SBSCRB_DE DATE ,
CONSTRAINT LETTNEMPLYRINFO_PK PRIMARY KEY (EMPLYR_ID),
CONSTRAINT LETTNEMPLYRINFO_ibfk_2 FOREIGN KEY (GROUP_ID) REFERENCES LETTNAUTHORGROUPINFO (GROUP_ID) ON DELETE CASCADE,
CONSTRAINT LETTNEMPLYRINFO_ibfk_1 FOREIGN KEY (ORGNZT_ID) REFERENCES LETTNORGNZTINFO (ORGNZT_ID) ON DELETE CASCADE
) ;
DROP TABLE LETTNTMPLATINFO CASCADE CONSTRAINTS;
CREATE TABLE LETTNTMPLATINFO (
TMPLAT_ID char(20) DEFAULT '' NOT NULL,
TMPLAT_NM varchar2(255) ,
TMPLAT_COURS varchar2(2000) ,
USE_AT char(1) ,
TMPLAT_SE_CODE char(6) ,
FRST_REGISTER_ID varchar2(20) ,
FRST_REGIST_PNTTM DATE ,
LAST_UPDUSR_ID varchar2(20) ,
LAST_UPDT_PNTTM DATE ,
CONSTRAINT LETTNTMPLATINFO_PK PRIMARY KEY (TMPLAT_ID)
) ;
DROP TABLE LETTNBBSMASTER CASCADE CONSTRAINTS;
CREATE TABLE LETTNBBSMASTER (
BBS_ID char(20) NOT NULL,
BBS_NM varchar2(255) NOT NULL,
BBS_INTRCN varchar2(2400) ,
BBS_TY_CODE char(6) NOT NULL,
BBS_ATTRB_CODE char(6) NOT NULL,
REPLY_POSBL_AT char(1) ,
FILE_ATCH_POSBL_AT char(1) NOT NULL,
ATCH_POSBL_FILE_NUMBER number(2,0) NOT NULL,
ATCH_POSBL_FILE_SIZE number(8,0) ,
USE_AT char(1) NOT NULL,
TMPLAT_ID char(20) ,
FRST_REGISTER_ID varchar2(20) NOT NULL,
FRST_REGIST_PNTTM DATE NOT NULL,
LAST_UPDUSR_ID varchar2(20) ,
LAST_UPDT_PNTTM DATE ,
CONSTRAINT LETTNBBSMASTER_PK PRIMARY KEY (BBS_ID)
) ;
DROP TABLE LETTNBBSUSE CASCADE CONSTRAINTS;
CREATE TABLE LETTNBBSUSE (
BBS_ID char(20) NOT NULL,
TRGET_ID char(20) DEFAULT '' NOT NULL,
USE_AT char(1) NOT NULL,
REGIST_SE_CODE char(6) ,
FRST_REGIST_PNTTM DATE ,
FRST_REGISTER_ID varchar2(20) NOT NULL,
LAST_UPDT_PNTTM DATE ,
LAST_UPDUSR_ID varchar2(20) ,
CONSTRAINT LETTNBBSUSE_PK PRIMARY KEY (BBS_ID,TRGET_ID),
CONSTRAINT LETTNBBSUSE_ibfk_1 FOREIGN KEY (BBS_ID) REFERENCES LETTNBBSMASTER (BBS_ID)
) ;
DROP TABLE LETTNBBS CASCADE CONSTRAINTS;
CREATE TABLE LETTNBBS (
NTT_ID number(20,0) NOT NULL,
BBS_ID char(20) NOT NULL,
NTT_NO number(20,0) ,
NTT_SJ varchar2(2000) ,
NTT_CN CLOB,
ANSWER_AT char(1) ,
PARNTSCTT_NO number(10,0) ,
ANSWER_LC number(11) ,
SORT_ORDR number(8,0) ,
RDCNT number(10,0) ,
USE_AT char(1) NOT NULL,
NTCE_BGNDE char(20) ,
NTCE_ENDDE char(20) ,
NTCR_ID varchar2(20) ,
NTCR_NM varchar2(20) ,
PASSWORD varchar2(200) ,
ATCH_FILE_ID char(20) ,
FRST_REGIST_PNTTM DATE NOT NULL,
FRST_REGISTER_ID varchar2(20) NOT NULL,
LAST_UPDT_PNTTM DATE ,
LAST_UPDUSR_ID varchar2(20) ,
CONSTRAINT LETTNBBS_PK PRIMARY KEY (NTT_ID,BBS_ID),
CONSTRAINT LETTNBBS_ibfk_1 FOREIGN KEY (BBS_ID) REFERENCES LETTNBBSMASTER (BBS_ID)
) ;
DROP TABLE LETTNBBSMASTEROPTN CASCADE CONSTRAINTS;
CREATE TABLE LETTNBBSMASTEROPTN (
BBS_ID char(20) DEFAULT '' NOT NULL,
ANSWER_AT char(1) DEFAULT '' NOT NULL,
STSFDG_AT char(1) DEFAULT '' NOT NULL,
FRST_REGIST_PNTTM DATE DEFAULT SYSDATE NOT NULL,
LAST_UPDT_PNTTM DATE ,
FRST_REGISTER_ID varchar2(20) DEFAULT '' NOT NULL,
LAST_UPDUSR_ID varchar2(20) ,
CONSTRAINT LETTNBBSMASTEROPTN_PK PRIMARY KEY (BBS_ID)
) ;
DROP TABLE LETTNENTRPRSMBER CASCADE CONSTRAINTS;
CREATE TABLE LETTNENTRPRSMBER (
ENTRPRS_MBER_ID varchar2(20) DEFAULT '' NOT NULL,
ENTRPRS_SE_CODE char(15) ,
BIZRNO varchar2(10) ,
JURIRNO varchar2(13) ,
CMPNY_NM varchar2(60) NOT NULL,
CXFC varchar2(50) ,
ZIP varchar2(6) ,
ADRES varchar2(100) ,
ENTRPRS_MIDDLE_TELNO varchar2(4) ,
FXNUM varchar2(20) ,
INDUTY_CODE char(15) ,
APPLCNT_NM varchar2(50) NOT NULL,
APPLCNT_IHIDNUM varchar2(200) ,
SBSCRB_DE DATE ,
ENTRPRS_MBER_STTUS varchar2(15) ,
ENTRPRS_MBER_PASSWORD varchar2(200) NOT NULL,
ENTRPRS_MBER_PASSWORD_HINT varchar2(100) NOT NULL,
ENTRPRS_MBER_PASSWORD_CNSR varchar2(100) NOT NULL,
GROUP_ID char(20) ,
DETAIL_ADRES varchar2(100) ,
ENTRPRS_END_TELNO varchar2(4) ,
AREA_NO varchar2(4) ,
APPLCNT_EMAIL_ADRES varchar2(50) ,
ESNTL_ID char(20) NOT NULL,
CONSTRAINT LETTNENTRPRSMBER_PK PRIMARY KEY (ENTRPRS_MBER_ID),
CONSTRAINT LETTNENTRPRSMBER_ibfk_1 FOREIGN KEY (GROUP_ID) REFERENCES LETTNAUTHORGROUPINFO (GROUP_ID) ON DELETE CASCADE
) ;
DROP TABLE LETTNFILE CASCADE CONSTRAINTS;
CREATE TABLE LETTNFILE (
ATCH_FILE_ID char(20) NOT NULL,
CREAT_DT DATE NOT NULL,
USE_AT char(1) ,
CONSTRAINT LETTNFILE_PK PRIMARY KEY (ATCH_FILE_ID)
) ;
DROP TABLE LETTNFILEDETAIL CASCADE CONSTRAINTS;
CREATE TABLE LETTNFILEDETAIL (
ATCH_FILE_ID char(20) NOT NULL,
FILE_SN number(10,0) NOT NULL,
FILE_STRE_COURS varchar2(2000) NOT NULL,
STRE_FILE_NM varchar2(255) NOT NULL,
ORIGNL_FILE_NM varchar2(255) ,
FILE_EXTSN varchar2(20) NOT NULL,
FILE_CN CLOB,
FILE_SIZE number(8,0) ,
CONSTRAINT LETTNFILEDETAIL_PK PRIMARY KEY (ATCH_FILE_ID,FILE_SN),
CONSTRAINT LETTNFILEDETAIL_ibfk_1 FOREIGN KEY (ATCH_FILE_ID) REFERENCES LETTNFILE (ATCH_FILE_ID)
) ;
DROP TABLE LETTNGNRLMBER CASCADE CONSTRAINTS;
CREATE TABLE LETTNGNRLMBER (
MBER_ID varchar2(20) DEFAULT '' NOT NULL,
PASSWORD varchar2(200) NOT NULL,
PASSWORD_HINT varchar2(100) NOT NULL,
PASSWORD_CNSR varchar2(100) NOT NULL,
IHIDNUM varchar2(200) ,
MBER_NM varchar2(50) NOT NULL,
ZIP varchar2(6) ,
ADRES varchar2(100) ,
AREA_NO varchar2(4) ,
MBER_STTUS varchar2(15) ,
DETAIL_ADRES varchar2(100) ,
END_TELNO varchar2(4) ,
MBTLNUM varchar2(20) ,
GROUP_ID char(20) ,
MBER_FXNUM varchar2(20) ,
MBER_EMAIL_ADRES varchar2(50) ,
MIDDLE_TELNO varchar2(4) ,
SBSCRB_DE DATE ,
SEXDSTN_CODE char(1) ,
ESNTL_ID char(20) NOT NULL,
CONSTRAINT LETTNGNRLMBER_PK PRIMARY KEY (MBER_ID),
CONSTRAINT LETTNGNRLMBER_ibfk_1 FOREIGN KEY (GROUP_ID) REFERENCES LETTNAUTHORGROUPINFO (GROUP_ID) ON DELETE CASCADE
) ;
DROP TABLE LETTNSCHDULINFO CASCADE CONSTRAINTS;
CREATE TABLE LETTNSCHDULINFO (
SCHDUL_ID char(20) NOT NULL,
SCHDUL_SE char(1) ,
SCHDUL_DEPT_ID varchar2(20) ,
SCHDUL_KND_CODE varchar2(20) ,
SCHDUL_BEGINDE char(20) ,
SCHDUL_ENDDE char(20) ,
SCHDUL_NM varchar2(255) ,
SCHDUL_CN varchar2(2500) ,
SCHDUL_PLACE varchar2(255) ,
SCHDUL_IPCR_CODE char(1) ,
SCHDUL_CHARGER_ID varchar2(20) ,
ATCH_FILE_ID char(20) ,
FRST_REGIST_PNTTM DATE ,
FRST_REGISTER_ID varchar2(20) ,
LAST_UPDT_PNTTM DATE ,
LAST_UPDUSR_ID varchar2(20) ,
REPTIT_SE_CODE char(3) ,
CONSTRAINT LETTNSCHDULINFO_PK PRIMARY KEY (SCHDUL_ID)
) ;
CREATE OR REPLACE VIEW COMVNUSERMASTER ( ESNTL_ID,USER_ID,PASSWORD,USER_NM,USER_ZIP,USER_ADRES,USER_EMAIL,GROUP_ID, USER_SE, ORGNZT_ID )
AS
SELECT ESNTL_ID, MBER_ID,PASSWORD,MBER_NM,ZIP,ADRES,MBER_EMAIL_ADRES,' ','GNR' AS USER_SE, ' ' ORGNZT_ID
FROM LETTNGNRLMBER
UNION ALL
SELECT ESNTL_ID,EMPLYR_ID,PASSWORD,USER_NM,ZIP,HOUSE_ADRES,EMAIL_ADRES,GROUP_ID ,'USR' AS USER_SE, ORGNZT_ID
FROM LETTNEMPLYRINFO
UNION ALL
SELECT ESNTL_ID,ENTRPRS_MBER_ID,ENTRPRS_MBER_PASSWORD,CMPNY_NM,ZIP,ADRES,APPLCNT_EMAIL_ADRES,' ' ,'ENT' AS USER_SE, ' ' ORGNZT_ID
FROM LETTNENTRPRSMBER
;

View File

@ -0,0 +1,281 @@
CREATE TABLE IDS (
TABLE_NAME varchar(60) NOT NULL,
NEXT_ID numeric(30,0)DEFAULT 0 NOT NULL ,
CONSTRAINT IDS_PK PRIMARY KEY (TABLE_NAME)
);
CREATE TABLE LETTCCMMNCLCODE (
CL_CODE char(3) NOT NULL,
CL_CODE_NM varchar(180) ,
CL_CODE_DC varchar(600) ,
USE_AT char(1) ,
FRST_REGIST_PNTTM DATETIME ,
FRST_REGISTER_ID varchar(60) ,
LAST_UPDT_PNTTM DATETIME ,
LAST_UPDUSR_ID varchar(60) ,
CONSTRAINT LETTCCMMNCLCODE_PK PRIMARY KEY (CL_CODE)
) ;
CREATE TABLE LETTCCMMNCODE (
CODE_ID varchar(18) NOT NULL,
CODE_ID_NM varchar(180) ,
CODE_ID_DC varchar(600) ,
USE_AT char(1) ,
CL_CODE char(3) ,
FRST_REGIST_PNTTM DATETIME ,
FRST_REGISTER_ID varchar(60) ,
LAST_UPDT_PNTTM DATETIME ,
LAST_UPDUSR_ID varchar(60) ,
CONSTRAINT LETTCCMMNCODE_PK PRIMARY KEY (CODE_ID),
CONSTRAINT LETTCCMMNCODE_ibfk_1 FOREIGN KEY (CL_CODE) REFERENCES LETTCCMMNCLCODE (CL_CODE)
) ;
CREATE TABLE LETTCCMMNDETAILCODE (
CODE_ID varchar(18) NOT NULL,
CODE varchar(45) NOT NULL,
CODE_NM varchar(180) ,
CODE_DC varchar(600) ,
USE_AT char(1) ,
FRST_REGIST_PNTTM DATETIME ,
FRST_REGISTER_ID varchar(60) ,
LAST_UPDT_PNTTM DATETIME ,
LAST_UPDUSR_ID varchar(60) ,
CONSTRAINT LETTCCMMNDETAILCODE_PK PRIMARY KEY (CODE_ID,CODE),
CONSTRAINT LETTCCMMNDETAILCODE_ibfk_1 FOREIGN KEY (CODE_ID) REFERENCES LETTCCMMNCODE (CODE_ID)
) ;
CREATE TABLE LETTNORGNZTINFO (
ORGNZT_ID char(20) DEFAULT '' NOT NULL,
ORGNZT_NM varchar(60) NOT NULL,
ORGNZT_DC varchar(300) ,
CONSTRAINT LETTNORGNZTINFO_PK PRIMARY KEY (ORGNZT_ID)
) ;
CREATE TABLE LETTNAUTHORGROUPINFO (
GROUP_ID char(20) DEFAULT '' NOT NULL,
GROUP_NM varchar(180) NOT NULL,
GROUP_CREAT_DE char(60) NOT NULL,
GROUP_DC varchar(300) ,
CONSTRAINT LETTNAUTHORGROUPINFO_PK PRIMARY KEY (GROUP_ID)
) ;
CREATE TABLE LETTNEMPLYRINFO (
EMPLYR_ID varchar(60) NOT NULL,
ORGNZT_ID char(20) ,
USER_NM varchar(180) NOT NULL,
PASSWORD varchar(600) NOT NULL,
EMPL_NO varchar(60) ,
IHIDNUM varchar(39) ,
SEXDSTN_CODE char(1) ,
BRTHDY char(20) ,
FXNUM varchar(60) ,
HOUSE_ADRES varchar(300) ,
PASSWORD_HINT varchar(300) NOT NULL,
PASSWORD_CNSR varchar(300) NOT NULL,
HOUSE_END_TELNO varchar(12) ,
AREA_NO varchar(12) ,
DETAIL_ADRES varchar(300) ,
ZIP varchar(18) ,
OFFM_TELNO varchar(60) ,
MBTLNUM varchar(60) ,
EMAIL_ADRES varchar(150) ,
OFCPS_NM varchar(180) ,
HOUSE_MIDDLE_TELNO varchar(12) ,
GROUP_ID char(20) ,
PSTINST_CODE char(8) ,
EMPLYR_STTUS_CODE varchar(45) NOT NULL,
ESNTL_ID char(20) NOT NULL,
CRTFC_DN_VALUE varchar(60) ,
SBSCRB_DE DATETIME ,
CONSTRAINT LETTNEMPLYRINFO_PK PRIMARY KEY (EMPLYR_ID),
CONSTRAINT LETTNEMPLYRINFO_ibfk_2 FOREIGN KEY (GROUP_ID) REFERENCES LETTNAUTHORGROUPINFO (GROUP_ID) ON DELETE CASCADE,
CONSTRAINT LETTNEMPLYRINFO_ibfk_1 FOREIGN KEY (ORGNZT_ID) REFERENCES LETTNORGNZTINFO (ORGNZT_ID) ON DELETE CASCADE
) ;
CREATE TABLE LETTNTMPLATINFO (
TMPLAT_ID char(20) DEFAULT '' NOT NULL,
TMPLAT_NM varchar(765) ,
TMPLAT_COURS varchar(6000) ,
USE_AT char(1) ,
TMPLAT_SE_CODE char(6) ,
FRST_REGISTER_ID varchar(60) ,
FRST_REGIST_PNTTM DATETIME ,
LAST_UPDUSR_ID varchar(60) ,
LAST_UPDT_PNTTM DATETIME ,
CONSTRAINT LETTNTMPLATINFO_PK PRIMARY KEY (TMPLAT_ID)
) ;
CREATE TABLE LETTNBBSMASTER (
BBS_ID char(20) NOT NULL,
BBS_NM varchar(765) NOT NULL,
BBS_INTRCN varchar(7200) ,
BBS_TY_CODE char(6) NOT NULL,
BBS_ATTRB_CODE char(6) NOT NULL,
REPLY_POSBL_AT char(1) ,
FILE_ATCH_POSBL_AT char(1) NOT NULL,
ATCH_POSBL_FILE_NUMBER numeric(2,0) NOT NULL,
ATCH_POSBL_FILE_SIZE numeric(8,0) ,
USE_AT char(1) NOT NULL,
TMPLAT_ID char(20) ,
FRST_REGISTER_ID varchar(60) NOT NULL,
FRST_REGIST_PNTTM DATETIME NOT NULL,
LAST_UPDUSR_ID varchar(60) ,
LAST_UPDT_PNTTM DATETIME ,
CONSTRAINT LETTNBBSMASTER_PK PRIMARY KEY (BBS_ID)
) ;
CREATE TABLE LETTNBBSUSE (
BBS_ID char(20) NOT NULL,
TRGET_ID char(20) DEFAULT '' NOT NULL,
USE_AT char(1) NOT NULL,
REGIST_SE_CODE char(6) ,
FRST_REGIST_PNTTM DATETIME ,
FRST_REGISTER_ID varchar(60) NOT NULL,
LAST_UPDT_PNTTM DATETIME ,
LAST_UPDUSR_ID varchar(60) ,
CONSTRAINT LETTNBBSUSE_PK PRIMARY KEY (BBS_ID,TRGET_ID),
CONSTRAINT LETTNBBSUSE_ibfk_1 FOREIGN KEY (BBS_ID) REFERENCES LETTNBBSMASTER (BBS_ID)
) ;
CREATE TABLE LETTNBBS (
NTT_ID numeric(20,0) NOT NULL,
BBS_ID char(20) NOT NULL,
NTT_NO numeric(20,0) ,
NTT_SJ varchar(6000) ,
NTT_CN STRING,
ANSWER_AT char(1) ,
PARNTSCTT_NO numeric(10,0) ,
ANSWER_LC numeric(11) ,
SORT_ORDR numeric(8,0) ,
RDCNT numeric(10,0) ,
USE_AT char(1) NOT NULL,
NTCE_BGNDE char(20) ,
NTCE_ENDDE char(20) ,
NTCR_ID varchar(60) ,
NTCR_NM varchar(60) ,
PASSWORD varchar(600) ,
ATCH_FILE_ID char(20) ,
FRST_REGIST_PNTTM DATETIME NOT NULL,
FRST_REGISTER_ID varchar(60) NOT NULL,
LAST_UPDT_PNTTM DATETIME ,
LAST_UPDUSR_ID varchar(60) ,
CONSTRAINT LETTNBBS_PK PRIMARY KEY (NTT_ID,BBS_ID),
CONSTRAINT LETTNBBS_ibfk_1 FOREIGN KEY (BBS_ID) REFERENCES LETTNBBSMASTER (BBS_ID)
) ;
CREATE TABLE LETTNBBSMASTEROPTN (
BBS_ID char(20) DEFAULT '' NOT NULL,
ANSWER_AT char(1) DEFAULT '' NOT NULL,
STSFDG_AT char(1) DEFAULT '' NOT NULL,
FRST_REGIST_PNTTM DATETIME DEFAULT SYSDATE NOT NULL,
LAST_UPDT_PNTTM DATETIME ,
FRST_REGISTER_ID varchar(60) DEFAULT '' NOT NULL,
LAST_UPDUSR_ID varchar(60) ,
CONSTRAINT LETTNBBSMASTEROPTN_PK PRIMARY KEY (BBS_ID)
) ;
CREATE TABLE LETTNENTRPRSMBER (
ENTRPRS_MBER_ID varchar(60) DEFAULT '' NOT NULL,
ENTRPRS_SE_CODE char(15) ,
BIZRNO varchar(30) ,
JURIRNO varchar(39) ,
CMPNY_NM varchar(180) NOT NULL,
CXFC varchar(150) ,
ZIP varchar(18) ,
ADRES varchar(300) ,
ENTRPRS_MIDDLE_TELNO varchar(12) ,
FXNUM varchar(60) ,
INDUTY_CODE char(15) ,
APPLCNT_NM varchar(150) NOT NULL,
APPLCNT_IHIDNUM varchar(39) ,
SBSCRB_DE DATETIME ,
ENTRPRS_MBER_STTUS varchar(45) ,
ENTRPRS_MBER_PASSWORD varchar(600) NOT NULL,
ENTRPRS_MBER_PASSWORD_HINT varchar(300) NOT NULL,
ENTRPRS_MBER_PASSWORD_CNSR varchar(300) NOT NULL,
GROUP_ID char(20) ,
DETAIL_ADRES varchar(300) ,
ENTRPRS_END_TELNO varchar(12) ,
AREA_NO varchar(12) ,
APPLCNT_EMAIL_ADRES varchar(150) ,
ESNTL_ID char(20) NOT NULL,
CONSTRAINT LETTNENTRPRSMBER_PK PRIMARY KEY (ENTRPRS_MBER_ID),
CONSTRAINT LETTNENTRPRSMBER_ibfk_1 FOREIGN KEY (GROUP_ID) REFERENCES LETTNAUTHORGROUPINFO (GROUP_ID) ON DELETE CASCADE
) ;
CREATE TABLE LETTNFILE (
ATCH_FILE_ID char(20) NOT NULL,
CREAT_DT DATETIME NOT NULL,
USE_AT char(1) ,
CONSTRAINT LETTNFILE_PK PRIMARY KEY (ATCH_FILE_ID)
) ;
CREATE TABLE LETTNFILEDETAIL (
ATCH_FILE_ID char(20) NOT NULL,
FILE_SN numeric(10,0) NOT NULL,
FILE_STRE_COURS varchar(6000) NOT NULL,
STRE_FILE_NM varchar(765) NOT NULL,
ORIGNL_FILE_NM varchar(765) ,
FILE_EXTSN varchar(60) NOT NULL,
FILE_CN STRING,
FILE_SIZE numeric(8,0) ,
CONSTRAINT LETTNFILEDETAIL_PK PRIMARY KEY (ATCH_FILE_ID,FILE_SN),
CONSTRAINT LETTNFILEDETAIL_ibfk_1 FOREIGN KEY (ATCH_FILE_ID) REFERENCES LETTNFILE (ATCH_FILE_ID)
) ;
CREATE TABLE LETTNGNRLMBER (
MBER_ID varchar(60) DEFAULT '' NOT NULL,
PASSWORD varchar(600) NOT NULL,
PASSWORD_HINT varchar(300) NOT NULL,
PASSWORD_CNSR varchar(300) NOT NULL,
IHIDNUM varchar(39) ,
MBER_NM varchar(150) NOT NULL,
ZIP varchar(18) ,
ADRES varchar(300) ,
AREA_NO varchar(12) ,
MBER_STTUS varchar(45) ,
DETAIL_ADRES varchar(300) ,
END_TELNO varchar(12) ,
MBTLNUM varchar(60) ,
GROUP_ID char(20) ,
MBER_FXNUM varchar(60) ,
MBER_EMAIL_ADRES varchar(150) ,
MIDDLE_TELNO varchar(12) ,
SBSCRB_DE DATETIME ,
SEXDSTN_CODE char(1) ,
ESNTL_ID char(20) NOT NULL,
CONSTRAINT LETTNGNRLMBER_PK PRIMARY KEY (MBER_ID),
CONSTRAINT LETTNGNRLMBER_ibfk_1 FOREIGN KEY (GROUP_ID) REFERENCES LETTNAUTHORGROUPINFO (GROUP_ID) ON DELETE CASCADE
) ;
CREATE TABLE LETTNSCHDULINFO (
SCHDUL_ID char(20) NOT NULL,
SCHDUL_SE char(1) ,
SCHDUL_DEPT_ID varchar(60) ,
SCHDUL_KND_CODE varchar(60) ,
SCHDUL_BEGINDE char(40) ,
SCHDUL_ENDDE char(40) ,
SCHDUL_NM varchar(765) ,
SCHDUL_CN varchar(7500) ,
SCHDUL_PLACE varchar(765) ,
SCHDUL_IPCR_CODE char(1) ,
SCHDUL_CHARGER_ID varchar(60) ,
ATCH_FILE_ID char(20) ,
FRST_REGIST_PNTTM DATETIME ,
FRST_REGISTER_ID varchar(60) ,
LAST_UPDT_PNTTM DATETIME ,
LAST_UPDUSR_ID varchar(60) ,
REPTIT_SE_CODE char(3) ,
CONSTRAINT LETTNSCHDULINFO_PK PRIMARY KEY (SCHDUL_ID)
) ;
CREATE OR REPLACE VIEW COMVNUSERMASTER ( ESNTL_ID,USER_ID,PASSWORD,USER_NM,USER_ZIP,USER_ADRES,USER_EMAIL,GROUP_ID, USER_SE, ORGNZT_ID )
AS
SELECT ESNTL_ID, MBER_ID,PASSWORD,MBER_NM,ZIP,ADRES,MBER_EMAIL_ADRES,' ','GNR' AS USER_SE, ' ' ORGNZT_ID
FROM LETTNGNRLMBER
UNION ALL
SELECT ESNTL_ID,EMPLYR_ID,PASSWORD,USER_NM,ZIP,HOUSE_ADRES,EMAIL_ADRES,GROUP_ID ,'USR' AS USER_SE, ORGNZT_ID
FROM LETTNEMPLYRINFO
UNION ALL
SELECT ESNTL_ID,ENTRPRS_MBER_ID,ENTRPRS_MBER_PASSWORD,CMPNY_NM,ZIP,ADRES,APPLCNT_EMAIL_ADRES,' ' ,'ENT' AS USER_SE, ' ' ORGNZT_ID
FROM LETTNENTRPRSMBER
;

View File

@ -0,0 +1,322 @@
CREATE TABLE IDS (
TABLE_NAME varchar(20) NOT NULL,
NEXT_ID decimal(30,0) NOT NULL DEFAULT '0',
PRIMARY KEY (TABLE_NAME)
) ;
CREATE TABLE LETTCCMMNCLCODE (
CL_CODE char(3) NOT NULL,
CL_CODE_NM varchar(60) DEFAULT NULL,
CL_CODE_DC varchar(200) DEFAULT NULL,
USE_AT char(1) DEFAULT NULL,
FRST_REGIST_PNTTM datetime DEFAULT NULL,
FRST_REGISTER_ID varchar(20) DEFAULT NULL,
LAST_UPDT_PNTTM datetime DEFAULT NULL,
LAST_UPDUSR_ID varchar(20) DEFAULT NULL,
PRIMARY KEY (CL_CODE)
) ;
CREATE TABLE LETTCCMMNCODE (
CODE_ID varchar(6) NOT NULL,
CODE_ID_NM varchar(60) DEFAULT NULL,
CODE_ID_DC varchar(200) DEFAULT NULL,
USE_AT char(1) DEFAULT NULL,
CL_CODE char(3) DEFAULT NULL,
FRST_REGIST_PNTTM datetime DEFAULT NULL,
FRST_REGISTER_ID varchar(20) DEFAULT NULL,
LAST_UPDT_PNTTM datetime DEFAULT NULL,
LAST_UPDUSR_ID varchar(20) DEFAULT NULL,
PRIMARY KEY (CODE_ID),
KEY R_179 (CL_CODE),
CONSTRAINT LETTCCMMNCODE_ibfk_1 FOREIGN KEY (CL_CODE) REFERENCES LETTCCMMNCLCODE (CL_CODE)
) ;
CREATE TABLE LETTCCMMNDETAILCODE (
CODE_ID varchar(6) NOT NULL,
CODE varchar(15) NOT NULL,
CODE_NM varchar(60) DEFAULT NULL,
CODE_DC varchar(200) DEFAULT NULL,
USE_AT char(1) DEFAULT NULL,
FRST_REGIST_PNTTM datetime DEFAULT NULL,
FRST_REGISTER_ID varchar(20) DEFAULT NULL,
LAST_UPDT_PNTTM datetime DEFAULT NULL,
LAST_UPDUSR_ID varchar(20) DEFAULT NULL,
PRIMARY KEY (CODE_ID,CODE),
CONSTRAINT LETTCCMMNDETAILCODE_ibfk_1 FOREIGN KEY (CODE_ID) REFERENCES LETTCCMMNCODE (CODE_ID)
) ;
CREATE TABLE LETTNORGNZTINFO (
ORGNZT_ID char(20) NOT NULL DEFAULT '',
ORGNZT_NM varchar(20) NOT NULL,
ORGNZT_DC varchar(100) DEFAULT NULL,
PRIMARY KEY (ORGNZT_ID)
) ;
CREATE TABLE LETTNAUTHORGROUPINFO (
GROUP_ID char(20) NOT NULL DEFAULT '',
GROUP_NM varchar(60) NOT NULL,
GROUP_CREAT_DE char(20) NOT NULL,
GROUP_DC varchar(100) DEFAULT NULL,
PRIMARY KEY (GROUP_ID)
) ;
CREATE TABLE LETTNEMPLYRINFO (
EMPLYR_ID varchar(20) NOT NULL,
ORGNZT_ID char(20) DEFAULT NULL,
USER_NM varchar(60) NOT NULL,
PASSWORD varchar(200) NOT NULL,
EMPL_NO varchar(20) DEFAULT NULL,
IHIDNUM varchar(200) DEFAULT NULL,
SEXDSTN_CODE char(1) DEFAULT NULL,
BRTHDY char(20) DEFAULT NULL,
FXNUM varchar(20) DEFAULT NULL,
HOUSE_ADRES varchar(100) DEFAULT NULL,
PASSWORD_HINT varchar(100) NOT NULL,
PASSWORD_CNSR varchar(100) NOT NULL,
HOUSE_END_TELNO varchar(4) DEFAULT NULL,
AREA_NO varchar(4) DEFAULT NULL,
DETAIL_ADRES varchar(100) DEFAULT NULL,
ZIP varchar(6) DEFAULT NULL,
OFFM_TELNO varchar(20) DEFAULT NULL,
MBTLNUM varchar(20) DEFAULT NULL,
EMAIL_ADRES varchar(50) DEFAULT NULL,
OFCPS_NM varchar(60) DEFAULT NULL,
HOUSE_MIDDLE_TELNO varchar(4) DEFAULT NULL,
GROUP_ID char(20) DEFAULT NULL,
PSTINST_CODE char(8) DEFAULT NULL,
EMPLYR_STTUS_CODE varchar(15) NOT NULL,
ESNTL_ID char(20) NOT NULL,
CRTFC_DN_VALUE varchar(20) DEFAULT NULL,
SBSCRB_DE datetime DEFAULT NULL,
PRIMARY KEY (EMPLYR_ID),
KEY LETTNEMPLYRINFO_ibfk_2 (GROUP_ID),
KEY LETTNEMPLYRINFO_ibfk_1 (ORGNZT_ID),
CONSTRAINT LETTNEMPLYRINFO_ibfk_2 FOREIGN KEY (GROUP_ID) REFERENCES LETTNAUTHORGROUPINFO (GROUP_ID) ON DELETE CASCADE,
CONSTRAINT LETTNEMPLYRINFO_ibfk_1 FOREIGN KEY (ORGNZT_ID) REFERENCES LETTNORGNZTINFO (ORGNZT_ID) ON DELETE CASCADE
) ;
CREATE TABLE LETTNTMPLATINFO (
TMPLAT_ID char(20) NOT NULL DEFAULT '',
TMPLAT_NM varchar(255) DEFAULT NULL,
TMPLAT_COURS varchar(2000) DEFAULT NULL,
USE_AT char(1) DEFAULT NULL,
TMPLAT_SE_CODE char(6) DEFAULT NULL,
FRST_REGISTER_ID varchar(20) DEFAULT NULL,
FRST_REGIST_PNTTM datetime DEFAULT NULL,
LAST_UPDUSR_ID varchar(20) DEFAULT NULL,
LAST_UPDT_PNTTM datetime DEFAULT NULL,
PRIMARY KEY (TMPLAT_ID)
) ;
CREATE TABLE LETTNBBSMASTER (
BBS_ID char(20) NOT NULL,
BBS_NM varchar(255) NOT NULL,
BBS_INTRCN varchar(2400) DEFAULT NULL,
BBS_TY_CODE char(6) NOT NULL,
BBS_ATTRB_CODE char(6) NOT NULL,
REPLY_POSBL_AT char(1) DEFAULT NULL,
FILE_ATCH_POSBL_AT char(1) NOT NULL,
ATCH_POSBL_FILE_NUMBER decimal(2,0) NOT NULL,
ATCH_POSBL_FILE_SIZE decimal(8,0) DEFAULT NULL,
USE_AT char(1) NOT NULL,
TMPLAT_ID char(20) DEFAULT NULL,
FRST_REGISTER_ID varchar(20) NOT NULL,
FRST_REGIST_PNTTM datetime NOT NULL,
LAST_UPDUSR_ID varchar(20) DEFAULT NULL,
LAST_UPDT_PNTTM datetime DEFAULT NULL,
PRIMARY KEY (BBS_ID)
) ;
CREATE TABLE LETTNBBSUSE (
BBS_ID char(20) NOT NULL,
TRGET_ID char(20) NOT NULL DEFAULT '',
USE_AT char(1) NOT NULL,
REGIST_SE_CODE char(6) DEFAULT NULL,
FRST_REGIST_PNTTM datetime DEFAULT NULL,
FRST_REGISTER_ID varchar(20) NOT NULL,
LAST_UPDT_PNTTM datetime DEFAULT NULL,
LAST_UPDUSR_ID varchar(20) DEFAULT NULL,
PRIMARY KEY (BBS_ID,TRGET_ID),
CONSTRAINT LETTNBBSUSE_ibfk_1 FOREIGN KEY (BBS_ID) REFERENCES LETTNBBSMASTER (BBS_ID)
) ;
CREATE TABLE LETTNBBS (
NTT_ID decimal(20,0) NOT NULL,
BBS_ID char(20) NOT NULL,
NTT_NO decimal(20,0) DEFAULT NULL,
NTT_SJ varchar(2000) DEFAULT NULL,
NTT_CN mediumtext,
ANSWER_AT char(1) DEFAULT NULL,
PARNTSCTT_NO decimal(10,0) DEFAULT NULL,
ANSWER_LC int(11) DEFAULT NULL,
SORT_ORDR decimal(8,0) DEFAULT NULL,
RDCNT decimal(10,0) DEFAULT NULL,
USE_AT char(1) NOT NULL,
NTCE_BGNDE char(20) DEFAULT NULL,
NTCE_ENDDE char(20) DEFAULT NULL,
NTCR_ID varchar(20) DEFAULT NULL,
NTCR_NM varchar(20) DEFAULT NULL,
PASSWORD varchar(200) DEFAULT NULL,
ATCH_FILE_ID char(20) DEFAULT NULL,
FRST_REGIST_PNTTM datetime NOT NULL,
FRST_REGISTER_ID varchar(20) NOT NULL,
LAST_UPDT_PNTTM datetime DEFAULT NULL,
LAST_UPDUSR_ID varchar(20) DEFAULT NULL,
PRIMARY KEY (NTT_ID,BBS_ID),
KEY LETTNBBS_ibfk_1 (BBS_ID),
CONSTRAINT LETTNBBS_ibfk_1 FOREIGN KEY (BBS_ID) REFERENCES LETTNBBSMASTER (BBS_ID)
) ;
CREATE TABLE LETTNBBSMASTEROPTN (
BBS_ID char(20) NOT NULL DEFAULT '',
ANSWER_AT char(1) NOT NULL DEFAULT '',
STSFDG_AT char(1) NOT NULL DEFAULT '',
FRST_REGIST_PNTTM datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
LAST_UPDT_PNTTM datetime DEFAULT NULL,
FRST_REGISTER_ID varchar(20) NOT NULL DEFAULT '',
LAST_UPDUSR_ID varchar(20) DEFAULT NULL,
PRIMARY KEY (BBS_ID)
) ;
CREATE TABLE LETTNENTRPRSMBER (
ENTRPRS_MBER_ID varchar(20) NOT NULL DEFAULT '',
ENTRPRS_SE_CODE char(15) DEFAULT NULL,
BIZRNO varchar(10) DEFAULT NULL,
JURIRNO varchar(13) DEFAULT NULL,
CMPNY_NM varchar(60) NOT NULL,
CXFC varchar(50) DEFAULT NULL,
ZIP varchar(6) DEFAULT NULL,
ADRES varchar(100) DEFAULT NULL,
ENTRPRS_MIDDLE_TELNO varchar(4) DEFAULT NULL,
FXNUM varchar(20) DEFAULT NULL,
INDUTY_CODE char(15) DEFAULT NULL,
APPLCNT_NM varchar(50) NOT NULL,
APPLCNT_IHIDNUM varchar(200) DEFAULT NULL,
SBSCRB_DE datetime DEFAULT NULL,
ENTRPRS_MBER_STTUS varchar(15) DEFAULT NULL,
ENTRPRS_MBER_PASSWORD varchar(200) NOT NULL,
ENTRPRS_MBER_PASSWORD_HINT varchar(100) NOT NULL,
ENTRPRS_MBER_PASSWORD_CNSR varchar(100) NOT NULL,
GROUP_ID char(20) DEFAULT NULL,
DETAIL_ADRES varchar(100) DEFAULT NULL,
ENTRPRS_END_TELNO varchar(4) DEFAULT NULL,
AREA_NO varchar(4) DEFAULT NULL,
APPLCNT_EMAIL_ADRES varchar(50) DEFAULT NULL,
ESNTL_ID char(20) NOT NULL,
PRIMARY KEY (ENTRPRS_MBER_ID),
KEY LETTNENTRPRSMBER_ibfk_1 (GROUP_ID),
CONSTRAINT LETTNENTRPRSMBER_ibfk_1 FOREIGN KEY (GROUP_ID) REFERENCES LETTNAUTHORGROUPINFO (GROUP_ID) ON DELETE CASCADE
) ;
CREATE TABLE LETTNFILE (
ATCH_FILE_ID char(20) NOT NULL,
CREAT_DT datetime NOT NULL,
USE_AT char(1) DEFAULT NULL,
PRIMARY KEY (ATCH_FILE_ID)
) ;
CREATE TABLE LETTNFILEDETAIL (
ATCH_FILE_ID char(20) NOT NULL,
FILE_SN decimal(10,0) NOT NULL,
FILE_STRE_COURS varchar(2000) NOT NULL,
STRE_FILE_NM varchar(255) NOT NULL,
ORIGNL_FILE_NM varchar(255) DEFAULT NULL,
FILE_EXTSN varchar(20) NOT NULL,
FILE_CN mediumtext,
FILE_SIZE decimal(8,0) DEFAULT NULL,
PRIMARY KEY (ATCH_FILE_ID,FILE_SN),
CONSTRAINT LETTNFILEDETAIL_ibfk_1 FOREIGN KEY (ATCH_FILE_ID) REFERENCES LETTNFILE (ATCH_FILE_ID)
) ;
CREATE TABLE LETTNGNRLMBER (
MBER_ID varchar(20) NOT NULL DEFAULT '',
PASSWORD varchar(200) NOT NULL,
PASSWORD_HINT varchar(100) NOT NULL,
PASSWORD_CNSR varchar(100) NOT NULL,
IHIDNUM varchar(200) DEFAULT NULL,
MBER_NM varchar(50) NOT NULL,
ZIP varchar(6) DEFAULT NULL,
ADRES varchar(100) DEFAULT NULL,
AREA_NO varchar(4) DEFAULT NULL,
MBER_STTUS varchar(15) DEFAULT NULL,
DETAIL_ADRES varchar(100) DEFAULT NULL,
END_TELNO varchar(4) DEFAULT NULL,
MBTLNUM varchar(20) DEFAULT NULL,
GROUP_ID char(20) DEFAULT NULL,
MBER_FXNUM varchar(20) DEFAULT NULL,
MBER_EMAIL_ADRES varchar(50) DEFAULT NULL,
MIDDLE_TELNO varchar(4) DEFAULT NULL,
SBSCRB_DE datetime DEFAULT NULL,
SEXDSTN_CODE char(1) DEFAULT NULL,
ESNTL_ID char(20) NOT NULL,
PRIMARY KEY (MBER_ID),
KEY LETTNGNRLMBER_ibfk_1 (GROUP_ID),
CONSTRAINT LETTNGNRLMBER_ibfk_1 FOREIGN KEY (GROUP_ID) REFERENCES LETTNAUTHORGROUPINFO (GROUP_ID) ON DELETE CASCADE
) ;
CREATE TABLE LETTNSCHDULINFO (
SCHDUL_ID char(20) NOT NULL,
SCHDUL_SE char(1) DEFAULT NULL,
SCHDUL_DEPT_ID varchar(20) DEFAULT NULL,
SCHDUL_KND_CODE varchar(20) DEFAULT NULL,
SCHDUL_BEGINDE datetime DEFAULT NULL,
SCHDUL_ENDDE datetime DEFAULT NULL,
SCHDUL_NM varchar(255) DEFAULT NULL,
SCHDUL_CN varchar(2500) DEFAULT NULL,
SCHDUL_PLACE varchar(255) DEFAULT NULL,
SCHDUL_IPCR_CODE char(1) DEFAULT NULL,
SCHDUL_CHARGER_ID varchar(20) DEFAULT NULL,
ATCH_FILE_ID char(20) DEFAULT NULL,
FRST_REGIST_PNTTM datetime DEFAULT NULL,
FRST_REGISTER_ID varchar(20) DEFAULT NULL,
LAST_UPDT_PNTTM datetime DEFAULT NULL,
LAST_UPDUSR_ID varchar(20) DEFAULT NULL,
REPTIT_SE_CODE char(3) DEFAULT NULL,
PRIMARY KEY (SCHDUL_ID)
) ;
CREATE OR REPLACE VIEW COMVNUSERMASTER ( ESNTL_ID,USER_ID,PASSWORD,USER_NM,USER_ZIP,USER_ADRES,USER_EMAIL,GROUP_ID, USER_SE, ORGNZT_ID )
AS
SELECT ESNTL_ID, MBER_ID,PASSWORD,MBER_NM,ZIP,ADRES,MBER_EMAIL_ADRES,' ','GNR' AS USER_SE, ' ' ORGNZT_ID
FROM LETTNGNRLMBER
UNION ALL
SELECT ESNTL_ID,EMPLYR_ID,PASSWORD,USER_NM,ZIP,HOUSE_ADRES,EMAIL_ADRES,GROUP_ID ,'USR' AS USER_SE, ORGNZT_ID
FROM LETTNEMPLYRINFO
UNION ALL
SELECT ESNTL_ID,ENTRPRS_MBER_ID,ENTRPRS_MBER_PASSWORD,CMPNY_NM,ZIP,ADRES,APPLCNT_EMAIL_ADRES,' ' ,'ENT' AS USER_SE, ' ' ORGNZT_ID
FROM LETTNENTRPRSMBER
;

View File

@ -0,0 +1,283 @@
DROP TABLE IDS CASCADE CONSTRAINTS;
CREATE TABLE IDS (
TABLE_NAME varchar2(20) NOT NULL,
NEXT_ID number(30,0)DEFAULT 0 NOT NULL ,
CONSTRAINT IDS_PK PRIMARY KEY (TABLE_NAME)
);
DROP TABLE LETTCCMMNCLCODE CASCADE CONSTRAINTS;
CREATE TABLE LETTCCMMNCLCODE (
CL_CODE char(3) NOT NULL,
CL_CODE_NM varchar2(60) ,
CL_CODE_DC varchar2(200) ,
USE_AT char(1) ,
FRST_REGIST_PNTTM DATE ,
FRST_REGISTER_ID varchar2(20) ,
LAST_UPDT_PNTTM DATE ,
LAST_UPDUSR_ID varchar2(20) ,
CONSTRAINT LETTCCMMNCLCODE_PK PRIMARY KEY (CL_CODE)
) ;
DROP TABLE LETTCCMMNCODE CASCADE CONSTRAINTS;
CREATE TABLE LETTCCMMNCODE (
CODE_ID varchar2(6) NOT NULL,
CODE_ID_NM varchar2(60) ,
CODE_ID_DC varchar2(200) ,
USE_AT char(1) ,
CL_CODE char(3) ,
FRST_REGIST_PNTTM DATE ,
FRST_REGISTER_ID varchar2(20) ,
LAST_UPDT_PNTTM DATE ,
LAST_UPDUSR_ID varchar2(20) ,
CONSTRAINT LETTCCMMNCODE_PK PRIMARY KEY (CODE_ID),
CONSTRAINT LETTCCMMNCODE_ibfk_1 FOREIGN KEY (CL_CODE) REFERENCES LETTCCMMNCLCODE (CL_CODE)
) ;
DROP TABLE LETTCCMMNDETAILCODE CASCADE CONSTRAINTS;
CREATE TABLE LETTCCMMNDETAILCODE (
CODE_ID varchar2(6) NOT NULL,
CODE varchar2(15) NOT NULL,
CODE_NM varchar2(60) ,
CODE_DC varchar2(200) ,
USE_AT char(1) ,
FRST_REGIST_PNTTM DATE ,
FRST_REGISTER_ID varchar2(20) ,
LAST_UPDT_PNTTM DATE ,
LAST_UPDUSR_ID varchar2(20) ,
CONSTRAINT LETTCCMMNDETAILCODE_PK PRIMARY KEY (CODE_ID,CODE),
CONSTRAINT LETTCCMMNDETAILCODE_ibfk_1 FOREIGN KEY (CODE_ID) REFERENCES LETTCCMMNCODE (CODE_ID)
) ;
DROP TABLE LETTNORGNZTINFO CASCADE CONSTRAINTS;
CREATE TABLE LETTNORGNZTINFO (
ORGNZT_ID char(20) DEFAULT '' NOT NULL,
ORGNZT_NM varchar2(20) NOT NULL,
ORGNZT_DC varchar2(100) ,
CONSTRAINT LETTNORGNZTINFO_PK PRIMARY KEY (ORGNZT_ID)
) ;
DROP TABLE LETTNAUTHORGROUPINFO CASCADE CONSTRAINTS;
CREATE TABLE LETTNAUTHORGROUPINFO (
GROUP_ID char(20) DEFAULT '' NOT NULL,
GROUP_NM varchar2(60) NOT NULL,
GROUP_CREAT_DE char(20) NOT NULL,
GROUP_DC varchar2(100) ,
CONSTRAINT LETTNAUTHORGROUPINFO_PK PRIMARY KEY (GROUP_ID)
) ;
DROP TABLE LETTNEMPLYRINFO CASCADE CONSTRAINTS;
CREATE TABLE LETTNEMPLYRINFO (
EMPLYR_ID varchar2(20) NOT NULL,
ORGNZT_ID char(20) ,
USER_NM varchar2(60) NOT NULL,
PASSWORD varchar2(200) NOT NULL,
EMPL_NO varchar2(20) ,
IHIDNUM varchar2(200) ,
SEXDSTN_CODE char(1) ,
BRTHDY char(20) ,
FXNUM varchar2(20) ,
HOUSE_ADRES varchar2(100) ,
PASSWORD_HINT varchar2(100) NOT NULL,
PASSWORD_CNSR varchar2(100) NOT NULL,
HOUSE_END_TELNO varchar2(4) ,
AREA_NO varchar2(4) ,
DETAIL_ADRES varchar2(100) ,
ZIP varchar2(6) ,
OFFM_TELNO varchar2(20) ,
MBTLNUM varchar2(20) ,
EMAIL_ADRES varchar2(50) ,
OFCPS_NM varchar2(60) ,
HOUSE_MIDDLE_TELNO varchar2(4) ,
GROUP_ID char(20) ,
PSTINST_CODE char(8) ,
EMPLYR_STTUS_CODE varchar2(15) NOT NULL,
ESNTL_ID char(20) NOT NULL,
CRTFC_DN_VALUE varchar2(20) ,
SBSCRB_DE DATE ,
CONSTRAINT LETTNEMPLYRINFO_PK PRIMARY KEY (EMPLYR_ID),
CONSTRAINT LETTNEMPLYRINFO_ibfk_2 FOREIGN KEY (GROUP_ID) REFERENCES LETTNAUTHORGROUPINFO (GROUP_ID) ON DELETE CASCADE,
CONSTRAINT LETTNEMPLYRINFO_ibfk_1 FOREIGN KEY (ORGNZT_ID) REFERENCES LETTNORGNZTINFO (ORGNZT_ID) ON DELETE CASCADE
) ;
DROP TABLE LETTNTMPLATINFO CASCADE CONSTRAINTS;
CREATE TABLE LETTNTMPLATINFO (
TMPLAT_ID char(20) DEFAULT '' NOT NULL,
TMPLAT_NM varchar2(255) ,
TMPLAT_COURS varchar2(2000) ,
USE_AT char(1) ,
TMPLAT_SE_CODE char(6) ,
FRST_REGISTER_ID varchar2(20) ,
FRST_REGIST_PNTTM DATE ,
LAST_UPDUSR_ID varchar2(20) ,
LAST_UPDT_PNTTM DATE ,
CONSTRAINT LETTNTMPLATINFO_PK PRIMARY KEY (TMPLAT_ID)
) ;
DROP TABLE LETTNBBSMASTER CASCADE CONSTRAINTS;
CREATE TABLE LETTNBBSMASTER (
BBS_ID char(20) NOT NULL,
BBS_NM varchar2(255) NOT NULL,
BBS_INTRCN varchar2(2400) ,
BBS_TY_CODE char(6) NOT NULL,
BBS_ATTRB_CODE char(6) NOT NULL,
REPLY_POSBL_AT char(1) ,
FILE_ATCH_POSBL_AT char(1) NOT NULL,
ATCH_POSBL_FILE_NUMBER number(2,0) NOT NULL,
ATCH_POSBL_FILE_SIZE number(8,0) ,
USE_AT char(1) NOT NULL,
TMPLAT_ID char(20) ,
FRST_REGISTER_ID varchar2(20) NOT NULL,
FRST_REGIST_PNTTM DATE NOT NULL,
LAST_UPDUSR_ID varchar2(20) ,
LAST_UPDT_PNTTM DATE ,
CONSTRAINT LETTNBBSMASTER_PK PRIMARY KEY (BBS_ID)
) ;
DROP TABLE LETTNBBSUSE CASCADE CONSTRAINTS;
CREATE TABLE LETTNBBSUSE (
BBS_ID char(20) NOT NULL,
TRGET_ID char(20) DEFAULT '' NOT NULL,
USE_AT char(1) NOT NULL,
REGIST_SE_CODE char(6) ,
FRST_REGIST_PNTTM DATE ,
FRST_REGISTER_ID varchar2(20) NOT NULL,
LAST_UPDT_PNTTM DATE ,
LAST_UPDUSR_ID varchar2(20) ,
CONSTRAINT LETTNBBSUSE_PK PRIMARY KEY (BBS_ID,TRGET_ID),
CONSTRAINT LETTNBBSUSE_ibfk_1 FOREIGN KEY (BBS_ID) REFERENCES LETTNBBSMASTER (BBS_ID)
) ;
DROP TABLE LETTNBBS CASCADE CONSTRAINTS;
CREATE TABLE LETTNBBS (
NTT_ID number(20,0) NOT NULL,
BBS_ID char(20) NOT NULL,
NTT_NO number(20,0) ,
NTT_SJ varchar2(2000) ,
NTT_CN CLOB,
ANSWER_AT char(1) ,
PARNTSCTT_NO number(10,0) ,
ANSWER_LC number(11) ,
SORT_ORDR number(8,0) ,
RDCNT number(10,0) ,
USE_AT char(1) NOT NULL,
NTCE_BGNDE char(20) ,
NTCE_ENDDE char(20) ,
NTCR_ID varchar2(20) ,
NTCR_NM varchar2(20) ,
PASSWORD varchar2(200) ,
ATCH_FILE_ID char(20) ,
FRST_REGIST_PNTTM DATE NOT NULL,
FRST_REGISTER_ID varchar2(20) NOT NULL,
LAST_UPDT_PNTTM DATE ,
LAST_UPDUSR_ID varchar2(20) ,
CONSTRAINT LETTNBBS_PK PRIMARY KEY (NTT_ID,BBS_ID),
CONSTRAINT LETTNBBS_ibfk_1 FOREIGN KEY (BBS_ID) REFERENCES LETTNBBSMASTER (BBS_ID)
) ;
DROP TABLE LETTNBBSMASTEROPTN CASCADE CONSTRAINTS;
CREATE TABLE LETTNBBSMASTEROPTN (
BBS_ID char(20) DEFAULT '' NOT NULL,
ANSWER_AT char(1) DEFAULT '' NOT NULL,
STSFDG_AT char(1) DEFAULT '' NOT NULL,
FRST_REGIST_PNTTM DATE DEFAULT SYSDATE NOT NULL,
LAST_UPDT_PNTTM DATE ,
FRST_REGISTER_ID varchar2(20) DEFAULT '' NOT NULL,
LAST_UPDUSR_ID varchar2(20) ,
CONSTRAINT LETTNBBSMASTEROPTN_PK PRIMARY KEY (BBS_ID)
) ;
DROP TABLE LETTNENTRPRSMBER CASCADE CONSTRAINTS;
CREATE TABLE LETTNENTRPRSMBER (
ENTRPRS_MBER_ID varchar2(20) DEFAULT '' NOT NULL,
ENTRPRS_SE_CODE char(15) ,
BIZRNO varchar2(10) ,
JURIRNO varchar2(13) ,
CMPNY_NM varchar2(60) NOT NULL,
CXFC varchar2(50) ,
ZIP varchar2(6) ,
ADRES varchar2(100) ,
ENTRPRS_MIDDLE_TELNO varchar2(4) ,
FXNUM varchar2(20) ,
INDUTY_CODE char(15) ,
APPLCNT_NM varchar2(50) NOT NULL,
APPLCNT_IHIDNUM varchar2(200) ,
SBSCRB_DE DATE ,
ENTRPRS_MBER_STTUS varchar2(15) ,
ENTRPRS_MBER_PASSWORD varchar2(200) NOT NULL,
ENTRPRS_MBER_PASSWORD_HINT varchar2(100) NOT NULL,
ENTRPRS_MBER_PASSWORD_CNSR varchar2(100) NOT NULL,
GROUP_ID char(20) ,
DETAIL_ADRES varchar2(100) ,
ENTRPRS_END_TELNO varchar2(4) ,
AREA_NO varchar2(4) ,
APPLCNT_EMAIL_ADRES varchar2(50) ,
ESNTL_ID char(20) NOT NULL,
CONSTRAINT LETTNENTRPRSMBER_PK PRIMARY KEY (ENTRPRS_MBER_ID),
CONSTRAINT LETTNENTRPRSMBER_ibfk_1 FOREIGN KEY (GROUP_ID) REFERENCES LETTNAUTHORGROUPINFO (GROUP_ID) ON DELETE CASCADE
) ;
DROP TABLE LETTNFILE CASCADE CONSTRAINTS;
CREATE TABLE LETTNFILE (
ATCH_FILE_ID char(20) NOT NULL,
CREAT_DT DATE NOT NULL,
USE_AT char(1) ,
CONSTRAINT LETTNFILE_PK PRIMARY KEY (ATCH_FILE_ID)
) ;
DROP TABLE LETTNFILEDETAIL CASCADE CONSTRAINTS;
CREATE TABLE LETTNFILEDETAIL (
ATCH_FILE_ID char(20) NOT NULL,
FILE_SN number(10,0) NOT NULL,
FILE_STRE_COURS varchar2(2000) NOT NULL,
STRE_FILE_NM varchar2(255) NOT NULL,
ORIGNL_FILE_NM varchar2(255) ,
FILE_EXTSN varchar2(20) NOT NULL,
FILE_CN CLOB,
FILE_SIZE number(8,0) ,
CONSTRAINT LETTNFILEDETAIL_PK PRIMARY KEY (ATCH_FILE_ID,FILE_SN),
CONSTRAINT LETTNFILEDETAIL_ibfk_1 FOREIGN KEY (ATCH_FILE_ID) REFERENCES LETTNFILE (ATCH_FILE_ID)
) ;
DROP TABLE LETTNGNRLMBER CASCADE CONSTRAINTS;
CREATE TABLE LETTNGNRLMBER (
MBER_ID varchar2(20) DEFAULT '' NOT NULL,
PASSWORD varchar2(200) NOT NULL,
PASSWORD_HINT varchar2(100) NOT NULL,
PASSWORD_CNSR varchar2(100) NOT NULL,
IHIDNUM varchar2(200) ,
MBER_NM varchar2(50) NOT NULL,
ZIP varchar2(6) ,
ADRES varchar2(100) ,
AREA_NO varchar2(4) ,
MBER_STTUS varchar2(15) ,
DETAIL_ADRES varchar2(100) ,
END_TELNO varchar2(4) ,
MBTLNUM varchar2(20) ,
GROUP_ID char(20) ,
MBER_FXNUM varchar2(20) ,
MBER_EMAIL_ADRES varchar2(50) ,
MIDDLE_TELNO varchar2(4) ,
SBSCRB_DE DATE ,
SEXDSTN_CODE char(1) ,
ESNTL_ID char(20) NOT NULL,
CONSTRAINT LETTNGNRLMBER_PK PRIMARY KEY (MBER_ID),
CONSTRAINT LETTNGNRLMBER_ibfk_1 FOREIGN KEY (GROUP_ID) REFERENCES LETTNAUTHORGROUPINFO (GROUP_ID) ON DELETE CASCADE
) ;
DROP TABLE LETTNSCHDULINFO CASCADE CONSTRAINTS;
CREATE TABLE LETTNSCHDULINFO (
SCHDUL_ID char(20) NOT NULL,
SCHDUL_SE char(1) ,
SCHDUL_DEPT_ID varchar2(20) ,
SCHDUL_KND_CODE varchar2(20) ,
SCHDUL_BEGINDE char(20) ,
SCHDUL_ENDDE char(20) ,
SCHDUL_NM varchar2(255) ,
SCHDUL_CN varchar2(2500) ,
SCHDUL_PLACE varchar2(255) ,
SCHDUL_IPCR_CODE char(1) ,
SCHDUL_CHARGER_ID varchar2(20) ,
ATCH_FILE_ID char(20) ,
FRST_REGIST_PNTTM DATE ,
FRST_REGISTER_ID varchar2(20) ,
LAST_UPDT_PNTTM DATE ,
LAST_UPDUSR_ID varchar2(20) ,
REPTIT_SE_CODE char(3) ,
CONSTRAINT LETTNSCHDULINFO_PK PRIMARY KEY (SCHDUL_ID)
) ;
CREATE OR REPLACE VIEW COMVNUSERMASTER ( ESNTL_ID,USER_ID,PASSWORD,USER_NM,USER_ZIP,USER_ADRES,USER_EMAIL,GROUP_ID, USER_SE, ORGNZT_ID )
AS
SELECT ESNTL_ID, MBER_ID,PASSWORD,MBER_NM,ZIP,ADRES,MBER_EMAIL_ADRES,' ','GNR' AS USER_SE, ' ' ORGNZT_ID
FROM LETTNGNRLMBER
UNION ALL
SELECT ESNTL_ID,EMPLYR_ID,PASSWORD,USER_NM,ZIP,HOUSE_ADRES,EMAIL_ADRES,GROUP_ID ,'USR' AS USER_SE, ORGNZT_ID
FROM LETTNEMPLYRINFO
UNION ALL
SELECT ESNTL_ID,ENTRPRS_MBER_ID,ENTRPRS_MBER_PASSWORD,CMPNY_NM,ZIP,ADRES,APPLCNT_EMAIL_ADRES,' ' ,'ENT' AS USER_SE, ' ' ORGNZT_ID
FROM LETTNENTRPRSMBER
;

View File

@ -0,0 +1,282 @@
DROP TABLE IDS CASCADE CONSTRAINTS;
CREATE TABLE IDS (
TABLE_NAME varchar2(20) NOT NULL,
NEXT_ID number(30,0)DEFAULT 0 NOT NULL ,
CONSTRAINT IDS_PK PRIMARY KEY (TABLE_NAME)
);
DROP TABLE LETTCCMMNCLCODE CASCADE CONSTRAINTS;
CREATE TABLE LETTCCMMNCLCODE (
CL_CODE char(3) NOT NULL,
CL_CODE_NM varchar2(60) ,
CL_CODE_DC varchar2(200) ,
USE_AT char(1) ,
FRST_REGIST_PNTTM DATE ,
FRST_REGISTER_ID varchar2(20) ,
LAST_UPDT_PNTTM DATE ,
LAST_UPDUSR_ID varchar2(20) ,
CONSTRAINT LETTCCMMNCLCODE_PK PRIMARY KEY (CL_CODE)
) ;
DROP TABLE LETTCCMMNCODE CASCADE CONSTRAINTS;
CREATE TABLE LETTCCMMNCODE (
CODE_ID varchar2(6) NOT NULL,
CODE_ID_NM varchar2(60) ,
CODE_ID_DC varchar2(200) ,
USE_AT char(1) ,
CL_CODE char(3) ,
FRST_REGIST_PNTTM DATE ,
FRST_REGISTER_ID varchar2(20) ,
LAST_UPDT_PNTTM DATE ,
LAST_UPDUSR_ID varchar2(20) ,
CONSTRAINT LETTCCMMNCODE_PK PRIMARY KEY (CODE_ID),
CONSTRAINT LETTCCMMNCODE_ibfk_1 FOREIGN KEY (CL_CODE) REFERENCES LETTCCMMNCLCODE (CL_CODE)
) ;
DROP TABLE LETTCCMMNDETAILCODE CASCADE CONSTRAINTS;
CREATE TABLE LETTCCMMNDETAILCODE (
CODE_ID varchar2(6) NOT NULL,
CODE varchar2(15) NOT NULL,
CODE_NM varchar2(60) ,
CODE_DC varchar2(200) ,
USE_AT char(1) ,
FRST_REGIST_PNTTM DATE ,
FRST_REGISTER_ID varchar2(20) ,
LAST_UPDT_PNTTM DATE ,
LAST_UPDUSR_ID varchar2(20) ,
CONSTRAINT LETTCCMMNDETAILCODE_PK PRIMARY KEY (CODE_ID,CODE),
CONSTRAINT LETTCCMMNDETAILCODE_ibfk_1 FOREIGN KEY (CODE_ID) REFERENCES LETTCCMMNCODE (CODE_ID)
) ;
DROP TABLE LETTNORGNZTINFO CASCADE CONSTRAINTS;
CREATE TABLE LETTNORGNZTINFO (
ORGNZT_ID char(20) DEFAULT '' NOT NULL,
ORGNZT_NM varchar2(20) NOT NULL,
ORGNZT_DC varchar2(100) ,
CONSTRAINT LETTNORGNZTINFO_PK PRIMARY KEY (ORGNZT_ID)
) ;
DROP TABLE LETTNAUTHORGROUPINFO CASCADE CONSTRAINTS;
CREATE TABLE LETTNAUTHORGROUPINFO (
GROUP_ID char(20) DEFAULT '' NOT NULL,
GROUP_NM varchar2(60) NOT NULL,
GROUP_CREAT_DE char(20) NOT NULL,
GROUP_DC varchar2(100) ,
CONSTRAINT LETTNAUTHORGROUPINFO_PK PRIMARY KEY (GROUP_ID)
) ;
DROP TABLE LETTNEMPLYRINFO CASCADE CONSTRAINTS;
CREATE TABLE LETTNEMPLYRINFO (
EMPLYR_ID varchar2(20) NOT NULL,
ORGNZT_ID char(20) ,
USER_NM varchar2(60) NOT NULL,
PASSWORD varchar2(200) NOT NULL,
EMPL_NO varchar2(20) ,
IHIDNUM varchar2(200) ,
SEXDSTN_CODE char(1) ,
BRTHDY char(20) ,
FXNUM varchar2(20) ,
HOUSE_ADRES varchar2(100) ,
PASSWORD_HINT varchar2(100) NOT NULL,
PASSWORD_CNSR varchar2(100) NOT NULL,
HOUSE_END_TELNO varchar2(4) ,
AREA_NO varchar2(4) ,
DETAIL_ADRES varchar2(100) ,
ZIP varchar2(6) ,
OFFM_TELNO varchar2(20) ,
MBTLNUM varchar2(20) ,
EMAIL_ADRES varchar2(50) ,
OFCPS_NM varchar2(60) ,
HOUSE_MIDDLE_TELNO varchar2(4) ,
GROUP_ID char(20) ,
PSTINST_CODE char(8) ,
EMPLYR_STTUS_CODE varchar2(15) NOT NULL,
ESNTL_ID char(20) NOT NULL,
CRTFC_DN_VALUE varchar2(20) ,
SBSCRB_DE DATE ,
CONSTRAINT LETTNEMPLYRINFO_PK PRIMARY KEY (EMPLYR_ID),
CONSTRAINT LETTNEMPLYRINFO_ibfk_2 FOREIGN KEY (GROUP_ID) REFERENCES LETTNAUTHORGROUPINFO (GROUP_ID) ON DELETE CASCADE,
CONSTRAINT LETTNEMPLYRINFO_ibfk_1 FOREIGN KEY (ORGNZT_ID) REFERENCES LETTNORGNZTINFO (ORGNZT_ID) ON DELETE CASCADE
) ;
DROP TABLE LETTNTMPLATINFO CASCADE CONSTRAINTS;
CREATE TABLE LETTNTMPLATINFO (
TMPLAT_ID char(20) DEFAULT '' NOT NULL,
TMPLAT_NM varchar2(255) ,
TMPLAT_COURS varchar2(2000) ,
USE_AT char(1) ,
TMPLAT_SE_CODE char(6) ,
FRST_REGISTER_ID varchar2(20) ,
FRST_REGIST_PNTTM DATE ,
LAST_UPDUSR_ID varchar2(20) ,
LAST_UPDT_PNTTM DATE ,
CONSTRAINT LETTNTMPLATINFO_PK PRIMARY KEY (TMPLAT_ID)
) ;
DROP TABLE LETTNBBSMASTER CASCADE CONSTRAINTS;
CREATE TABLE LETTNBBSMASTER (
BBS_ID char(20) NOT NULL,
BBS_NM varchar2(255) NOT NULL,
BBS_INTRCN varchar2(2400) ,
BBS_TY_CODE char(6) NOT NULL,
BBS_ATTRB_CODE char(6) NOT NULL,
REPLY_POSBL_AT char(1) ,
FILE_ATCH_POSBL_AT char(1) NOT NULL,
ATCH_POSBL_FILE_NUMBER number(2,0) NOT NULL,
ATCH_POSBL_FILE_SIZE number(8,0) ,
USE_AT char(1) NOT NULL,
TMPLAT_ID char(20) ,
FRST_REGISTER_ID varchar2(20) NOT NULL,
FRST_REGIST_PNTTM DATE NOT NULL,
LAST_UPDUSR_ID varchar2(20) ,
LAST_UPDT_PNTTM DATE ,
CONSTRAINT LETTNBBSMASTER_PK PRIMARY KEY (BBS_ID)
) ;
DROP TABLE LETTNBBSUSE CASCADE CONSTRAINTS;
CREATE TABLE LETTNBBSUSE (
BBS_ID char(20) NOT NULL,
TRGET_ID char(20) DEFAULT '' NOT NULL,
USE_AT char(1) NOT NULL,
REGIST_SE_CODE char(6) ,
FRST_REGIST_PNTTM DATE ,
FRST_REGISTER_ID varchar2(20) NOT NULL,
LAST_UPDT_PNTTM DATE ,
LAST_UPDUSR_ID varchar2(20) ,
CONSTRAINT LETTNBBSUSE_PK PRIMARY KEY (BBS_ID,TRGET_ID),
CONSTRAINT LETTNBBSUSE_ibfk_1 FOREIGN KEY (BBS_ID) REFERENCES LETTNBBSMASTER (BBS_ID)
) ;
DROP TABLE LETTNBBS CASCADE CONSTRAINTS;
CREATE TABLE LETTNBBS (
NTT_ID number(20,0) NOT NULL,
BBS_ID char(20) NOT NULL,
NTT_NO number(20,0) ,
NTT_SJ varchar2(2000) ,
NTT_CN CLOB,
ANSWER_AT char(1) ,
PARNTSCTT_NO number(10,0) ,
ANSWER_LC number(11) ,
SORT_ORDR number(8,0) ,
RDCNT number(10,0) ,
USE_AT char(1) NOT NULL,
NTCE_BGNDE char(20) ,
NTCE_ENDDE char(20) ,
NTCR_ID varchar2(20) ,
NTCR_NM varchar2(20) ,
PASSWORD varchar2(200) ,
ATCH_FILE_ID char(20) ,
FRST_REGIST_PNTTM DATE NOT NULL,
FRST_REGISTER_ID varchar2(20) NOT NULL,
LAST_UPDT_PNTTM DATE ,
LAST_UPDUSR_ID varchar2(20) ,
CONSTRAINT LETTNBBS_PK PRIMARY KEY (NTT_ID,BBS_ID),
CONSTRAINT LETTNBBS_ibfk_1 FOREIGN KEY (BBS_ID) REFERENCES LETTNBBSMASTER (BBS_ID)
) ;
DROP TABLE LETTNBBSMASTEROPTN CASCADE CONSTRAINTS;
CREATE TABLE LETTNBBSMASTEROPTN (
BBS_ID char(20) DEFAULT '' NOT NULL,
ANSWER_AT char(1) DEFAULT '' NOT NULL,
STSFDG_AT char(1) DEFAULT '' NOT NULL,
FRST_REGIST_PNTTM DATE DEFAULT SYSDATE NOT NULL,
LAST_UPDT_PNTTM DATE ,
FRST_REGISTER_ID varchar2(20) DEFAULT '' NOT NULL,
LAST_UPDUSR_ID varchar2(20) ,
CONSTRAINT LETTNBBSMASTEROPTN_PK PRIMARY KEY (BBS_ID)
) ;
DROP TABLE LETTNENTRPRSMBER CASCADE CONSTRAINTS;
CREATE TABLE LETTNENTRPRSMBER (
ENTRPRS_MBER_ID varchar2(20) DEFAULT '' NOT NULL,
ENTRPRS_SE_CODE char(15) ,
BIZRNO varchar2(10) ,
JURIRNO varchar2(13) ,
CMPNY_NM varchar2(60) NOT NULL,
CXFC varchar2(50) ,
ZIP varchar2(6) ,
ADRES varchar2(100) ,
ENTRPRS_MIDDLE_TELNO varchar2(4) ,
FXNUM varchar2(20) ,
INDUTY_CODE char(15) ,
APPLCNT_NM varchar2(50) NOT NULL,
APPLCNT_IHIDNUM varchar2(200) ,
SBSCRB_DE DATE ,
ENTRPRS_MBER_STTUS varchar2(15) ,
ENTRPRS_MBER_PASSWORD varchar2(200) NOT NULL,
ENTRPRS_MBER_PASSWORD_HINT varchar2(100) NOT NULL,
ENTRPRS_MBER_PASSWORD_CNSR varchar2(100) NOT NULL,
GROUP_ID char(20) ,
DETAIL_ADRES varchar2(100) ,
ENTRPRS_END_TELNO varchar2(4) ,
AREA_NO varchar2(4) ,
APPLCNT_EMAIL_ADRES varchar2(50) ,
ESNTL_ID char(20) NOT NULL,
CONSTRAINT LETTNENTRPRSMBER_PK PRIMARY KEY (ENTRPRS_MBER_ID),
CONSTRAINT LETTNENTRPRSMBER_ibfk_1 FOREIGN KEY (GROUP_ID) REFERENCES LETTNAUTHORGROUPINFO (GROUP_ID) ON DELETE CASCADE
) ;
DROP TABLE LETTNFILE CASCADE CONSTRAINTS;
CREATE TABLE LETTNFILE (
ATCH_FILE_ID char(20) NOT NULL,
CREAT_DT DATE NOT NULL,
USE_AT char(1) ,
CONSTRAINT LETTNFILE_PK PRIMARY KEY (ATCH_FILE_ID)
) ;
DROP TABLE LETTNFILEDETAIL CASCADE CONSTRAINTS;
CREATE TABLE LETTNFILEDETAIL (
ATCH_FILE_ID char(20) NOT NULL,
FILE_SN number(10,0) NOT NULL,
FILE_STRE_COURS varchar2(2000) NOT NULL,
STRE_FILE_NM varchar2(255) NOT NULL,
ORIGNL_FILE_NM varchar2(255) ,
FILE_EXTSN varchar2(20) NOT NULL,
FILE_CN CLOB,
FILE_SIZE number(8,0) ,
CONSTRAINT LETTNFILEDETAIL_PK PRIMARY KEY (ATCH_FILE_ID,FILE_SN),
CONSTRAINT LETTNFILEDETAIL_ibfk_1 FOREIGN KEY (ATCH_FILE_ID) REFERENCES LETTNFILE (ATCH_FILE_ID)
) ;
DROP TABLE LETTNGNRLMBER CASCADE CONSTRAINTS;
CREATE TABLE LETTNGNRLMBER (
MBER_ID varchar2(20) DEFAULT '' NOT NULL,
PASSWORD varchar2(200) NOT NULL,
PASSWORD_HINT varchar2(100) NOT NULL,
PASSWORD_CNSR varchar2(100) NOT NULL,
IHIDNUM varchar2(200) ,
MBER_NM varchar2(50) NOT NULL,
ZIP varchar2(6) ,
ADRES varchar2(100) ,
AREA_NO varchar2(4) ,
MBER_STTUS varchar2(15) ,
DETAIL_ADRES varchar2(100) ,
END_TELNO varchar2(4) ,
MBTLNUM varchar2(20) ,
GROUP_ID char(20) ,
MBER_FXNUM varchar2(20) ,
MBER_EMAIL_ADRES varchar2(50) ,
MIDDLE_TELNO varchar2(4) ,
SBSCRB_DE DATE ,
SEXDSTN_CODE char(1) ,
ESNTL_ID char(20) NOT NULL,
CONSTRAINT LETTNGNRLMBER_PK PRIMARY KEY (MBER_ID),
CONSTRAINT LETTNGNRLMBER_ibfk_1 FOREIGN KEY (GROUP_ID) REFERENCES LETTNAUTHORGROUPINFO (GROUP_ID) ON DELETE CASCADE
) ;
DROP TABLE LETTNSCHDULINFO CASCADE CONSTRAINTS;
CREATE TABLE LETTNSCHDULINFO (
SCHDUL_ID char(20) NOT NULL,
SCHDUL_SE char(1) ,
SCHDUL_DEPT_ID varchar2(20) ,
SCHDUL_KND_CODE varchar2(20) ,
SCHDUL_BEGINDE char(20) ,
SCHDUL_ENDDE char(20) ,
SCHDUL_NM varchar2(255) ,
SCHDUL_CN varchar2(2500) ,
SCHDUL_PLACE varchar2(255) ,
SCHDUL_IPCR_CODE char(1) ,
SCHDUL_CHARGER_ID varchar2(20) ,
ATCH_FILE_ID char(20) ,
FRST_REGIST_PNTTM DATE ,
FRST_REGISTER_ID varchar2(20) ,
LAST_UPDT_PNTTM DATE ,
LAST_UPDUSR_ID varchar2(20) ,
REPTIT_SE_CODE char(3) ,
CONSTRAINT LETTNSCHDULINFO_PK PRIMARY KEY (SCHDUL_ID)
) ;
CREATE OR REPLACE VIEW COMVNUSERMASTER ( ESNTL_ID,USER_ID,PASSWORD,USER_NM,USER_ZIP,USER_ADRES,USER_EMAIL,GROUP_ID, USER_SE, ORGNZT_ID )
AS
SELECT ESNTL_ID, MBER_ID,PASSWORD,MBER_NM,ZIP,ADRES,MBER_EMAIL_ADRES,' ','GNR' AS USER_SE, ' ' ORGNZT_ID
FROM LETTNGNRLMBER
UNION ALL
SELECT ESNTL_ID,EMPLYR_ID,PASSWORD,USER_NM,ZIP,HOUSE_ADRES,EMAIL_ADRES,GROUP_ID ,'USR' AS USER_SE, ORGNZT_ID
FROM LETTNEMPLYRINFO
UNION ALL
SELECT ESNTL_ID,ENTRPRS_MBER_ID,ENTRPRS_MBER_PASSWORD,CMPNY_NM,ZIP,ADRES,APPLCNT_EMAIL_ADRES,' ' ,'ENT' AS USER_SE, ' ' ORGNZT_ID
FROM LETTNENTRPRSMBER
;

View File

@ -1,10 +0,0 @@
# smartGeoinfo
해양수산부
스마트 지반정보 관리체계 수립 및
항만 지반조사 관리 방안 마련 연구용역
(해양수산부 항만개발과)
-
스마트 항만 지반정보 관리시스템
-
ICTWay에서 받은 소스기반으로 개발된 것들을 여기에 백업함.

80
apply.bat Normal file
View File

@ -0,0 +1,80 @@
@echo off
setlocal enabledelayedexpansion
set source_prefix=src\main\webapp\
set target_prefix=D:\app_sgis\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\sgis\
set target_directory=D:\app_sgis\workspace\sgis\
set source_file=
set target_file=
for /f "delims=" %%i in (list.txt) do (
echo %%i | findstr /v "^#" > nul
if !errorlevel! == 0 (
set "line=%%i"
rem #으로 시작하지 않는 라인 처리
echo !line!
set line=%%i
if "!line:~-5!" == ".java" (
echo Skip
) else if "!line:~-4!" == ".xml" (
set source_file=%target_directory%!line!
set relative_path=!line:%source_prefix%=!
:: "src\main\resources\" 제거
set relative_path=!relative_path:*src\main\resources\=!
set target_file=%target_prefix%WEB-INF\classes\!relative_path!
) else if "!line:~-4!" == ".jsp" (
set source_file=%target_directory%!line!
set relative_path=!line:%source_prefix%=!
set target_file=%target_prefix%!relative_path!
) else if "!line:~-4!" == ".css" (
set source_file=%target_directory%!line!
set relative_path=!line:%source_prefix%=!
set target_file=%target_prefix%!relative_path!
) else if "!line:~-4!" == ".png" (
set source_file=%target_directory%!line!
set relative_path=!line:%source_prefix%=!
set target_file=%target_prefix%!relative_path!
) else if "!line:~-4!" == ".svg" (
set source_file=%target_directory%!line!
set relative_path=!line:%source_prefix%=!
set target_file=%target_prefix%!relative_path!
) else if "!line:~-3!" == ".js" (
set source_file=%target_directory%!line!
set relative_path=!line:%source_prefix%=!
set target_file=%target_prefix%!relative_path!
) else if "!line:~-4!" == ".reb" (
set source_file=%target_directory%!line!
set relative_path=!line:%source_prefix%=!
set target_file=%target_prefix%!relative_path!
) else if "!line:~-6!" == ".woff2" (
set source_file=%target_directory%!line!
set relative_path=!line:%source_prefix%=!
set target_file=%target_prefix%!relative_path!
) else if "!line:~-5!" == ".woff" (
set source_file=%target_directory%!line!
set relative_path=!line:%source_prefix%=!
set target_file=%target_prefix%!relative_path!
) else if "!line:~-4!" == ".otf" (
set source_file=%target_directory%!line!
set relative_path=!line:%source_prefix%=!
set target_file=%target_prefix%!relative_path!
) else if "!line:~-11!" == ".properties" (
set source_file=%target_directory%!line!
set relative_path=!line:%source_prefix%=!
set target_file=%target_prefix%!relative_path!
)
rem Copy the source file to the target location, overwriting if necessary
echo Copying "!source_file!" to "!target_file!"
xcopy /i /Y "!source_file!" "!target_file!"
) else (
echo #은 무시됩니다
)
)

3
build.bat Normal file
View File

@ -0,0 +1,3 @@
@echo off
mvn clean package
pause

2
list.txt Normal file
View File

@ -0,0 +1,2 @@
src\main\resources\egovframework\mapper\sgis\app\AppMainMapper.xml
src\main\webapp\WEB-INF\jsp\sgis\popup\cordinateSaupMap.jsp

687
pom.xml Normal file
View File

@ -0,0 +1,687 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>smart_ground</groupId>
<artifactId>sgis</artifactId>
<packaging>war</packaging>
<version>1.0.0</version>
<name>sgis</name>
<url>http://www.egovframe.go.kr</url>
<licenses>
<license>
<name>The Apache Software License, Version 2.0</name>
<url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
</license>
</licenses>
<properties>
<spring.maven.artifact.version>4.3.16.RELEASE</spring.maven.artifact.version>
<egovframework.rte.version>3.8.0</egovframework.rte.version>
<org.apache.tiles.version>3.0.8</org.apache.tiles.version>
<project.libdir>${project.basedir}/src/main/webapp/WEB-INF/lib</project.libdir>
<geotools.version>28-SNAPSHOT</geotools.version>
</properties>
<repositories>
<repository>
<id>mvn2s</id>
<url>https://repo1.maven.org/maven2/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
<repository>
<id>egovframe</id>
<url>https://maven.egovframe.go.kr/maven/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
<repository>
<id>osgeo</id>
<name>OSGeo Release Repository</name>
<url>https://repo.osgeo.org/repository/release/</url>
<snapshots><enabled>false</enabled></snapshots>
<releases><enabled>true</enabled></releases>
</repository>
<!-- Adding GeoSolutions repository to find missing dependencies -->
<repository>
<id>geosolutions</id>
<name>geosolutions repository</name>
<url>https://maven.geosolutions.it/</url>
</repository>
<repository>
<id>osgeo-snapshot</id>
<name>OSGeo Snapshot Repository</name>
<url>https://repo.osgeo.org/repository/snapshot/</url>
<snapshots><enabled>true</enabled></snapshots>
<releases><enabled>false</enabled></releases>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>egovframework.rte</groupId>
<artifactId>egovframework.rte.ptl.mvc</artifactId>
<version>${egovframework.rte.version}</version>
</dependency>
<dependency>
<groupId>egovframework.rte</groupId>
<artifactId>egovframework.rte.psl.dataaccess</artifactId>
<version>${egovframework.rte.version}</version>
</dependency>
<dependency>
<groupId>egovframework.rte</groupId>
<artifactId>egovframework.rte.fdl.idgnr</artifactId>
<version>${egovframework.rte.version}</version>
</dependency>
<dependency>
<groupId>egovframework.rte</groupId>
<artifactId>egovframework.rte.fdl.property</artifactId>
<version>${egovframework.rte.version}</version>
</dependency>
<dependency>
<groupId>egovframework.rte</groupId>
<artifactId>egovframework.rte.fdl.string</artifactId>
<version>${egovframework.rte.version}</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<scope>provided</scope>
<version>2.5</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
<dependency>
<groupId>commons-dbcp</groupId>
<artifactId>commons-dbcp</artifactId>
<version>1.4</version>
</dependency>
<dependency>
<groupId>commons-codec</groupId>
<artifactId>commons-codec</artifactId>
<version>1.9</version>
</dependency>
<dependency>
<groupId>taglibs</groupId>
<artifactId>standard</artifactId>
<version>1.1.2</version>
</dependency>
<dependency>
<groupId>cglib</groupId>
<artifactId>cglib</artifactId>
<version>3.1</version>
</dependency>
<dependency>
<groupId>org.antlr</groupId>
<artifactId>antlr</artifactId>
<version>3.5</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-compress</artifactId>
<version>1.18</version>
</dependency>
<dependency>
<groupId>org.hsqldb</groupId>
<artifactId>hsqldb</artifactId>
<version>2.3.2</version>
</dependency>
<!-- xml to json -->
<dependency>
<groupId>org.json</groupId>
<artifactId>json</artifactId>
<version>20180130</version>
</dependency>
<!-- maria driver -->
<dependency>
<groupId>org.mariadb.jdbc</groupId>
<artifactId>mariadb-java-client</artifactId>
<version>2.2.5</version>
</dependency>
<!-- postgresql driver -->
<dependency>
<groupId>org.postgresql</groupId>
<artifactId>postgresql</artifactId>
<version>42.2.5</version>
</dependency>
<!-- Sql Param Mapping -->
<dependency>
<groupId>org.lazyluke</groupId>
<artifactId>log4jdbc-remix</artifactId>
<version>0.2.7</version>
</dependency>
<!-- mysql driver -->
<!--
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.31</version>
</dependency>
-->
<!-- oracle 10g driver -->
<!--
<dependency>
<groupId>ojdbc</groupId>
<artifactId>ojdbc</artifactId>
<version>14</version>
</dependency>
-->
<!-- altibase driver -->
<!--
<dependency>
<groupId>altibase</groupId>
<artifactId>altibase-jdbc-driver</artifactId>
<version>5.1.3.18</version>
</dependency>
-->
<!-- tibero driver -->
<!--
<dependency>
<groupId>com.tmax.tibero</groupId>
<artifactId>tibero-jdbc</artifactId>
<version>3.0</version>
</dependency>
-->
<!-- cubrid driver -->
<!--
<dependency>
<groupId>cubrid</groupId>
<artifactId>cubrid-jdbc</artifactId>
<version>8.4</version>
</dependency>
-->
<!-- log4jdbc driver -->
<!--
<dependency>
<groupId>com.googlecode.log4jdbc</groupId>
<artifactId>log4jdbc</artifactId>
<version>1.2</version>
<exclusions>
<exclusion>
<artifactId>slf4j-api</artifactId>
<groupId>org.slf4j</groupId>
</exclusion>
</exclusions>
</dependency>
-->
<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
<version>1.3.2</version>
</dependency>
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>jsp-api</artifactId>
<version>2.2</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.ibm.icu</groupId>
<artifactId>icu4j</artifactId>
<version>53.1</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-validator</artifactId>
<version>5.2.4.Final</version>
</dependency>
<!-- tiles -->
<dependency>
<groupId>org.apache.tiles</groupId>
<artifactId>tiles-jsp</artifactId>
<version>${org.apache.tiles.version}</version>
</dependency>
<dependency>
<groupId>org.apache.tiles</groupId>
<artifactId>tiles-servlet</artifactId>
<version>${org.apache.tiles.version}</version>
</dependency>
<dependency>
<groupId>org.apache.tiles</groupId>
<artifactId>tiles-core</artifactId>
<version>${org.apache.tiles.version}</version>
</dependency>
<dependency>
<groupId>org.apache.tiles</groupId>
<artifactId>tiles-extras</artifactId>
<version>${org.apache.tiles.version}</version>
</dependency>
<!-- //tiles -->
<dependency>
<groupId>net.minidev</groupId>
<artifactId>json-smart</artifactId>
<version>2.4.7</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>2.12.4</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.12.4</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
<version>2.12.4</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.datatype</groupId>
<artifactId>jackson-datatype-jsr310</artifactId>
<version>2.12.4</version>
</dependency>
<dependency>
<groupId>com.googlecode.json-simple</groupId>
<artifactId>json-simple</artifactId>
<version>1.1.1</version>
</dependency>
<!-- apach poi -->
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>4.0.1</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>4.0.1</version>
</dependency>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.4</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>2.17.1</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-slf4j-impl</artifactId>
<version>2.17.1</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.13.2</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.geotools</groupId>
<artifactId>gt-epsg-hsql</artifactId>
<version>${geotools.version}</version>
</dependency>
<dependency>
<groupId>org.geotools.jdbc</groupId>
<artifactId>gt-jdbc-postgis</artifactId>
<version>${geotools.version}</version>
</dependency>
<dependency>
<groupId>org.geotools</groupId>
<artifactId>gt-swing</artifactId>
<version>${geotools.version}</version>
</dependency>
<!-- Adding missing it.geosolutions.jaiext.* dependencies -->
<dependency>
<groupId>it.geosolutions.jaiext.lookup</groupId>
<artifactId>jt-lookup</artifactId>
<version>1.1.24</version>
</dependency>
<dependency>
<groupId>it.geosolutions.jaiext.bandcombine</groupId>
<artifactId>jt-bandcombine</artifactId>
<version>1.1.24</version>
</dependency>
<dependency>
<groupId>it.geosolutions.jaiext.format</groupId>
<artifactId>jt-format</artifactId>
<version>1.1.24</version>
</dependency>
<dependency>
<groupId>it.geosolutions.jaiext.utilities</groupId>
<artifactId>jt-utilities</artifactId>
<version>1.1.24</version>
</dependency>
<dependency>
<groupId>it.geosolutions.jaiext.shadedrelief</groupId>
<artifactId>jt-shadedrelief</artifactId>
<version>1.1.24</version>
</dependency>
<dependency>
<groupId>it.geosolutions.jaiext.imagefunction</groupId>
<artifactId>jt-imagefunction</artifactId>
<version>1.1.24</version>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.24</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.9.0</version>
</dependency>
<!-- Mapping XmlView -->
<dependency>
<groupId>org.jdom</groupId>
<artifactId>jdom</artifactId>
<version>2.0.2</version>
</dependency>
<dependency>
<groupId>org.kabeja</groupId>
<artifactId>batik-all</artifactId>
<version>0.4</version>
<scope>system</scope>
<systemPath>${project.basedir}\src\main\webapp\WEB-INF\lib\batik-all.jar</systemPath>
</dependency>
<dependency>
<groupId>org.kabeja</groupId>
<artifactId>js</artifactId>
<version>0.4</version>
<scope>system</scope>
<systemPath>${project.basedir}\src\main\webapp\WEB-INF\lib\js.jar</systemPath>
</dependency>
<dependency>
<groupId>org.kabeja</groupId>
<artifactId>kabeja</artifactId>
<version>0.4</version>
<scope>system</scope>
<systemPath>${project.basedir}\src\main\webapp\WEB-INF\lib\kabeja-0.4.jar</systemPath>
</dependency>
<dependency>
<groupId>org.kabeja</groupId>
<artifactId>kabeja-svg</artifactId>
<version>0.4</version>
<scope>system</scope>
<systemPath>${project.basedir}\src\main\webapp\WEB-INF\lib\kabeja-svg-0.4.jar</systemPath>
</dependency>
<dependency>
<groupId>org.kabeja</groupId>
<artifactId>kabeja-xslt</artifactId>
<version>0.4</version>
<scope>system</scope>
<systemPath>${project.basedir}\src\main\webapp\WEB-INF\lib\kabeja-xslt.jar</systemPath>
</dependency>
<dependency>
<groupId>org.kabeja</groupId>
<artifactId>miethxml-toolkit</artifactId>
<version>0.4</version>
<scope>system</scope>
<systemPath>${project.basedir}\src\main\webapp\WEB-INF\lib\miethxml-toolkit.jar</systemPath>
</dependency>
<dependency>
<groupId>org.kabeja</groupId>
<artifactId>miethxml-ui</artifactId>
<version>0.4</version>
<scope>system</scope>
<systemPath>${project.basedir}\src\main\webapp\WEB-INF\lib\miethxml-ui.jar</systemPath>
</dependency>
<dependency>
<groupId>org.kabeja</groupId>
<artifactId>pdf-transcoder</artifactId>
<version>0.4</version>
<scope>system</scope>
<systemPath>${project.basedir}\src\main\webapp\WEB-INF\lib\pdf-transcoder.jar</systemPath>
</dependency>
<dependency>
<groupId>org.kabeja</groupId>
<artifactId>xml-apis-ext</artifactId>
<version>0.4</version>
<scope>system</scope>
<systemPath>${project.basedir}\src\main\webapp\WEB-INF\lib\xml-apis-ext.jar</systemPath>
</dependency>
<dependency>
<groupId>org.kabeja</groupId>
<artifactId>xml-apis</artifactId>
<version>0.4</version>
<scope>system</scope>
<systemPath>${project.basedir}\src\main\webapp\WEB-INF\lib\xml-apis.jar</systemPath>
</dependency>
<dependency>
<groupId>org.python</groupId>
<artifactId>jython-standalone</artifactId>
<version>2.7.1</version>
</dependency>
<dependency>
<groupId>org.python</groupId>
<artifactId>jython-standalone</artifactId>
<version>2.7.1</version>
</dependency>
<dependency>
<groupId>org.geotools</groupId>
<artifactId>gt-shapefile</artifactId>
<version>${geotools.version}</version>
<scope>system</scope>
<systemPath>${project.basedir}/src/main/webapp/WEB-INF/lib/gt-shapefile-28-SNAPSHOT.jar</systemPath>
</dependency>
<dependency>
<groupId>org.geotools</groupId>
<artifactId>gt-main</artifactId>
<version>${geotools.version}</version>
<scope>system</scope>
<systemPath>${project.basedir}/src/main/webapp/WEB-INF/lib/gt-main-28-SNAPSHOT.jar</systemPath>
</dependency>
</dependencies>
<build>
<defaultGoal>install</defaultGoal>
<directory>${basedir}/target</directory>
<finalName>smart_ground</finalName>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.2</version>
<configuration>
<port>80</port>
<path>/</path>
<systemProperties>
<JAVA_OPTS>-Xms256m -Xmx768m -XX:MaxPermSize=256m</JAVA_OPTS>
</systemProperties>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.8</source>
<target>1.8</target>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>hibernate3-maven-plugin</artifactId>
<version>2.1</version>
<configuration>
<components>
<component>
<name>hbm2ddl</name>
<implementation>annotationconfiguration</implementation>
</component>
</components>
</configuration>
<dependencies>
<dependency>
<groupId>org.hsqldb</groupId>
<artifactId>hsqldb</artifactId>
<version>2.3.2</version>
</dependency>
</dependencies>
</plugin>
<!-- EMMA -->
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>emma-maven-plugin</artifactId>
<version>1.0-alpha-3</version>
</plugin>
<!-- PMD manven plugin -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-pmd-plugin</artifactId>
<version>3.1</version>
</plugin>
</plugins>
</pluginManagement>
<plugins>
<!-- EMMA -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<skipTests>true</skipTests>
<forkMode>once</forkMode>
<reportFormat>xml</reportFormat>
<excludes>
<exclude>**/Abstract*.java</exclude>
<exclude>**/*Suite.java</exclude>
</excludes>
<includes>
<include>**/*Test.java</include>
</includes>
</configuration>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>emma-maven-plugin</artifactId>
<inherited>true</inherited>
</plugin>
<!-- JavaDoc -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>2.9.1</version>
</plugin>
</plugins>
</build>
<reporting>
<outputDirectory>${basedir}/target/site</outputDirectory>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-project-info-reports-plugin</artifactId>
<version>2.7</version>
<reportSets>
<reportSet>
<id>sunlink</id>
<reports>
<report>javadoc</report>
</reports>
<inherited>true</inherited>
<configuration>
<links>
<link>http://docs.oracle.com/javase/6/docs/api/</link>
</links>
</configuration>
</reportSet>
</reportSets>
</plugin>
<!-- JUnit Test Results & EMMA Coverage Reporting -->
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>emma-maven-plugin</artifactId>
<inherited>true</inherited>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>surefire-report-maven-plugin</artifactId>
<inherited>true</inherited>
<reportSets>
<reportSet>
<reports>
<report>report-only</report>
</reports>
</reportSet>
</reportSets>
</plugin>
<!-- Generating JavaDoc Report -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<configuration>
<minmemory>128m</minmemory>
<maxmemory>512m</maxmemory>
<encoding>${encoding}</encoding>
<docencoding>${encoding}</docencoding>
<charset>${encoding}</charset>
</configuration>
</plugin>
<!-- Generating Java Source in HTML -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jxr-plugin</artifactId>
<configuration>
<inputEncoding>${encoding}</inputEncoding>
<outputEncoding>${encoding}</outputEncoding>
<linkJavadoc>true</linkJavadoc>
<javadocDir>apidocs</javadocDir>
</configuration>
</plugin>
</plugins>
</reporting>
</project>

View File

@ -0,0 +1,110 @@
package egovframework.com.cmm;
/*
* Copyright 2002-2005 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import java.io.IOException;
import java.io.Reader;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.jdbc.support.lob.LobCreator;
import org.springframework.jdbc.support.lob.LobHandler;
import egovframework.rte.psl.orm.ibatis.support.AbstractLobTypeHandler;
/**
* iBATIS TypeHandler implementation for Strings that get mapped to CLOBs.
* Retrieves the LobHandler to use from SqlMapClientFactoryBean at config time.
*
* <p>Particularly useful for storing Strings with more than 4000 characters in an
* Oracle database (only possible via CLOBs), in combination with OracleLobHandler.
*
* <p>Can also be defined in generic iBATIS mappings, as DefaultLobCreator will
* work with most JDBC-compliant database drivers. In this case, the field type
* does not have to be BLOB: For databases like MySQL and MS SQL Server, any
* large enough binary type will work.
*
* @author Juergen Hoeller
* @since 1.1.5
* @see org.springframework.orm.ibatis.SqlMapClientFactoryBean#setLobHandler
*/
@SuppressWarnings("deprecation")
public class AltibaseClobStringTypeHandler extends AbstractLobTypeHandler {
private static final Logger LOGGER = LoggerFactory.getLogger(AltibaseClobStringTypeHandler.class);
/**
* Constructor used by iBATIS: fetches config-time LobHandler from
* SqlMapClientFactoryBean.
* @see org.springframework.orm.ibatis.SqlMapClientFactoryBean#getConfigTimeLobHandler
*/
public AltibaseClobStringTypeHandler() {
super();
}
/**
* Constructor used for testing: takes an explicit LobHandler.
*/
protected AltibaseClobStringTypeHandler(LobHandler lobHandler) {
super(lobHandler);
}
protected void setParameterInternal(
PreparedStatement ps, int index, Object value, String jdbcType, LobCreator lobCreator)
throws SQLException {
lobCreator.setClobAsString(ps, index, (String) value);
}
protected Object getResultInternal(ResultSet rs, int index, LobHandler lobHandler)
throws SQLException {
StringBuffer read_data = new StringBuffer("");
int read_length;
char [] buf = new char[1024];
Reader rd = lobHandler.getClobAsCharacterStream(rs, index);
try {
while( (read_length=rd.read(buf)) != -1) {
read_data.append(buf, 0, read_length);
}
} catch (IOException ie) {
LOGGER.debug("ie: {}", ie);//SQLException sqle = new SQLException(ie.getMessage());
//throw sqle;
// 2011.10.10 보안점검 후속조치
} finally {
if (rd != null) {
try {
rd.close();
} catch (Exception ignore) {
LOGGER.debug("IGNORE: {}", ignore.getMessage());
}
}
}
return read_data.toString();
//return lobHandler.getClobAsString(rs, index);
}
public Object valueOf(String s) {
return s;
}
}

View File

@ -0,0 +1,408 @@
package egovframework.com.cmm;
import java.io.IOException;
import java.io.Reader;
import javax.servlet.jsp.JspException;
import javax.servlet.jsp.JspWriter;
import javax.servlet.jsp.PageContext;
import javax.servlet.jsp.tagext.BodyTagSupport;
import org.apache.taglibs.standard.tag.common.core.Util;
/**
* Cross-Site Scripting JSP TLD,
*
* @author
* @since 2010.11.09
* @version 1.0
* @see <pre>
* &lt;&lt; (Modification Information) &gt;&gt;
*
*
* ------- -------- ---------------------------
* 2010.11.09
*
* </pre>
*/
public class EgovComCrossSiteHndlr extends BodyTagSupport {
/*
* (One almost wishes XML and JSP could support "anonymous tags," given the
* amount of trouble we had naming this one!) :-) - sb
*/
// *********************************************************************
// Internal state
private static final long serialVersionUID = -6750233818675360686L;
protected Object value; // tag attribute
protected String def; // tag attribute
protected boolean escapeXml; // tag attribute
private boolean needBody; // non-space body needed?
// *********************************************************************
// Construction and initialization
private String m_sDiffChar ="()[]{}\"',:;= \t\r\n%!+-";
//private String m_sDiffChar ="()[]{}\"',:;=%!+-";
private String m_sArrDiffChar [] = {
"&#40;","&#41;",
"&#91;","&#93;",
"&#123;","&#125;",
"&#34;","&#39;",
"&#44;","&#58;",
"&#59;","&#61;",
" ","\t", //" ","\t",
"\r","\n", //"\r","\n",
"&#37;","&#33;",
"&#43;","&#45;"
};
/**
* Constructs a new handler. As with TagSupport, subclasses should not
* provide other constructors and are expected to call the superclass
* constructor.
*/
public EgovComCrossSiteHndlr() {
super();
init();
}
// resets local state
private void init() {
value = def = null;
escapeXml = true;
needBody = false;
}
// Releases any resources we may have (or inherit)
@Override
public void release() {
super.release();
init();
}
// *********************************************************************
// Tag logic
// evaluates 'value' and determines if the body should be evaluted
@Override
public int doStartTag() throws JspException {
needBody = false; // reset state related to 'default'
this.bodyContent = null; // clean-up body (just in case container is
// pooling tag handlers)
JspWriter out = pageContext.getOut();
//System.out.println("EgovComCrossSiteFilter> ============================");
try {
// print value if available; otherwise, try 'default'
if (value != null) {
//System.out.println("EgovComCrossSiteFilter> =value");
String sWriteEscapedXml = getWriteEscapedXml();
//System.out.println("EgovComCrossSiteFilter sWriteEscapedXml>" + sWriteEscapedXml);
out.print(sWriteEscapedXml);
return SKIP_BODY;
} else {
// if we don't have a 'default' attribute, just go to the body
if (def == null) {
needBody = true;
return EVAL_BODY_BUFFERED;
}
//System.out.println("EgovComCrossSiteFilter def> ="+def);
// if we do have 'default', print it
if (def != null) {
// good 'default'
out(pageContext, escapeXml, def);
//System.out.println("EgovComCrossSiteFilter> ="+def);
}
return SKIP_BODY;
}
} catch (IOException ex) {
throw new JspException(ex.toString(), ex);
}
}
// prints the body if necessary; reports errors
@Override
public int doEndTag() throws JspException {
try {
//System.out.println("EgovComCrossSiteFilter ==== doEndTag");
if (!needBody){
return EVAL_PAGE; // nothing more to do
}
// trim and print out the body
if (bodyContent != null && bodyContent.getString() != null){
//String sWriteEscapedXml = getWriteEscapedXml();
//out2(pageContext, escapeXml, sWriteEscapedXml.toString());
//System.out.println("EgovComCrossSiteFilter> end");
//System.out.println("EgovComCrossSiteFilter sWriteEscapedXml > sWriteEscapedXml");
out(pageContext, escapeXml, bodyContent.getString().trim());
}
return EVAL_PAGE;
} catch (IOException ex) {
throw new JspException(ex.toString(), ex);
}
}
// *********************************************************************
// Public utility methods
/**
* Outputs <tt>text</tt> to <tt>pageContext</tt>'s current JspWriter. If
* <tt>escapeXml</tt> is true, performs the following substring replacements
* (to facilitate output to XML/HTML pages):
*
* & -> &amp; < -> &lt; > -> &gt; " -> &#034; ' -> &#039;
*
* See also Util.escapeXml().
*/
public static void out(PageContext pageContext, boolean escapeXml,
Object obj) throws IOException {
JspWriter w = pageContext.getOut();
if (!escapeXml) {
// write chars as is
if (obj instanceof Reader) {
Reader reader = (Reader) obj;
char[] buf = new char[4096];
int count;
while ((count = reader.read(buf, 0, 4096)) != -1) {
w.write(buf, 0, count);
}
} else {
w.write(obj.toString());
}
} else {
// escape XML chars
if (obj instanceof Reader) {
Reader reader = (Reader) obj;
char[] buf = new char[4096];
int count;
while ((count = reader.read(buf, 0, 4096)) != -1) {
writeEscapedXml(buf, count, w);
}
} else {
String text = obj.toString();
writeEscapedXml(text.toCharArray(), text.length(), w);
}
}
}
public static void out2(PageContext pageContext, boolean escapeXml,
Object obj) throws IOException {
JspWriter w = pageContext.getOut();
w.write(obj.toString());
}
/**
*
* Optimized to create no extra objects and write directly to the JspWriter
* using blocks of escaped and unescaped characters
*
*/
private static void writeEscapedXml(char[] buffer, int length, JspWriter w)
throws IOException {
int start = 0;
for (int i = 0; i < length; i++) {
char c = buffer[i];
if (c <= Util.HIGHEST_SPECIAL) {
char[] escaped = Util.specialCharactersRepresentation[c];
if (escaped != null) {
// add unescaped portion
if (start < i) {
w.write(buffer, start, i - start);
}
// add escaped xml
w.write(escaped);
start = i + 1;
}
}
}
// add rest of unescaped portion
if (start < length) {
w.write(buffer, start, length - start);
}
}
/**
*
* Optimized to create no extra objects and write directly to the JspWriter
* using blocks of escaped and unescaped characters
*
*/
@SuppressWarnings("unused")
private String getWriteEscapedXml() throws IOException {
String sRtn = "";
Object obj = this.value;
int start = 0;
String text = obj.toString();
int length = text.length();
char[] buffer = text.toCharArray();
boolean booleanDiff = false;
//String sDiffChar
//String sArrDiffChar
char[] cDiffChar = this.m_sDiffChar.toCharArray();
for(int i = 0; i < length; i++) {
char c = buffer[i];
booleanDiff = false;
for(int k = 0; k < cDiffChar.length; k++){
if(c == cDiffChar[k]){
sRtn = sRtn + m_sArrDiffChar[k];
booleanDiff = true;
continue;
}
}
if(booleanDiff) continue;
if (c <= Util.HIGHEST_SPECIAL) {
char[] escaped = Util.specialCharactersRepresentation[c];
if (escaped != null) {
// add unescaped portion
//if (start < i) {
// sRtn = sRtn + text.substring(start, i - start);
//}
// add escaped xml
//sRtn = sRtn + escaped;
//System.out.println(buffer[i]+" :: " + escaped);
for (int j = 0; j < escaped.length; j++) {
//System.out.println(buffer[i]+" :>: " + escaped[j]);
sRtn = sRtn + escaped[j];
}
//sRtn = sRtn+ escaped.toString();
//sRtn = sRtn + String.valueOf(buffer[i]);
start = i + 1;
}else{
sRtn = sRtn + c;
}
}else{
sRtn = sRtn + c;
}
}
return sRtn;
}
/**
*
* Optimized to create no extra objects and write directly to the JspWriter
* using blocks of escaped and unescaped characters
*
*/
@SuppressWarnings("unused")
private String getWriteEscapedXml(String sWriteString) throws IOException {
String sRtn = "";
Object obj = sWriteString;
int start = 0;
String text = obj.toString();
int length = text.length();
char[] buffer = text.toCharArray();
boolean booleanDiff = false;
//String sDiffChar
//String sArrDiffChar
char[] cDiffChar = this.m_sDiffChar.toCharArray();
for(int i = 0; i < length; i++) {
char c = buffer[i];
booleanDiff = false;
for(int k = 0; k < cDiffChar.length; k++){
if(c == cDiffChar[k]){
sRtn = sRtn + m_sArrDiffChar[k];
booleanDiff = true;
continue;
}
}
if(booleanDiff) continue;
if (c <= Util.HIGHEST_SPECIAL) {
char[] escaped = Util.specialCharactersRepresentation[c];
if (escaped != null) {
// add unescaped portion
//if (start < i) {
// sRtn = sRtn + text.substring(start, i - start);
//}
// add escaped xml
//sRtn = sRtn + escaped;
//System.out.println(buffer[i]+" :: " + escaped);
for (int j = 0; j < escaped.length; j++) {
//System.out.println(buffer[i]+" :>: " + escaped[j]);
sRtn = sRtn + escaped[j];
}
//sRtn = sRtn+ escaped.toString();
//sRtn = sRtn + String.valueOf(buffer[i]);
start = i + 1;
}else{
sRtn = sRtn + c;
}
}else{
sRtn = sRtn + c;
}
}
return sRtn;
}
// for tag attribute
public void setValue(Object value) {
this.value = value;
}
// for tag attribute
public void setDefault(String def) {
this.def = def;
}
// for tag attribute
public void setEscapeXml(boolean escapeXml) {
this.escapeXml = escapeXml;
}
/*
public static void main(String[] args) throws IOException
{
EgovComCrossSiteHndlr egovComCrossSiteHndlr = new EgovComCrossSiteHndlr();
egovComCrossSiteHndlr.value = "TRNSMIT";
String sCrossSiteHndlr = egovComCrossSiteHndlr.getWriteEscapedXml();
//System.out.println("writeEscapedXml " + egovComCrossSiteHndlr.getWriteEscapedXml());
System.out.println("sCrossSiteHndlr|"+ sCrossSiteHndlr + "|");
try{
System.out.println("TRY TEST 1");
throw new Exception();
}catch(Exception e){
System.out.println("TRY TEST 2");
}finally{
System.out.println("TRY TEST 3");
}
}
*/
}

View File

@ -0,0 +1,34 @@
package egovframework.com.cmm;
import egovframework.rte.fdl.cmmn.exception.handler.ExceptionHandler;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/**
* @Class Name : EgovComExcepHndlr.java
* @Description : exception
* @Modification Information
*
*
* ------- ------- -------------------
* 2009. 3. 13.
*
* @author
* @since 2009. 3. 13.
* @version
* @see
*
*/
public class EgovComExcepHndlr implements ExceptionHandler {
private static final Logger LOGGER = LoggerFactory.getLogger(EgovComExcepHndlr.class);
/**
* Exception .
*/
public void occur(Exception ex, String packageName) {
LOGGER.debug("[HANDLER][PACKAGE]::: {}", packageName);
LOGGER.debug("[HANDLER][Exception]:::", ex);
}
}

View File

@ -0,0 +1,16 @@
package egovframework.com.cmm;
import egovframework.rte.fdl.cmmn.exception.handler.ExceptionHandler;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class EgovComOthersExcepHndlr implements ExceptionHandler {
private static final Logger LOGGER = LoggerFactory.getLogger(EgovComOthersExcepHndlr.class);
public void occur(Exception exception, String packageName) {
//log.debug(" EgovServiceExceptionHandler run...............");
LOGGER.error(packageName, exception);
}
}

View File

@ -0,0 +1,34 @@
package egovframework.com.cmm;
import egovframework.rte.fdl.cmmn.trace.handler.TraceHandler;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/**
* @Class Name : EgovComTraceHandler.java
* @Description : trace
* @Modification Information
*
*
* ------- ------- -------------------
* 2011. 09. 30. JJY
*
* @author JJY
* @since 2011. 9. 30.
*
*/
public class EgovComTraceHandler implements TraceHandler {
private static final Logger LOGGER = LoggerFactory.getLogger(EgovComTraceHandler.class);
/**
* .
*/
public void todo(Class<?> clazz, String message) {
//System.out.println("log ==> DefaultTraceHandler run...............");
LOGGER.debug("[TRACE]CLASS::: {}", clazz.getName());
LOGGER.debug("[TRACE]MESSAGE::: {}", message);
//이곳에서 후속처리로 필요한 액션을 취할 수 있다.
}
}

View File

@ -0,0 +1,63 @@
package egovframework.com.cmm;
import egovframework.rte.fdl.cmmn.EgovAbstractServiceImpl;
import org.springframework.beans.BeansException;
import org.springframework.beans.factory.NoSuchBeanDefinitionException;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;
import org.springframework.stereotype.Service;
/**
* EgovComUtil
*
* @author
* @since 2011.09.15
* @version 1.0
* @see
*
* <pre>
* << (Modification Information) >>
*
*
* ------- ------------- ----------------------
* 2011.09.15
* </pre>
*/
@Service("egovUtil")
public class EgovComponentChecker extends EgovAbstractServiceImpl implements ApplicationContextAware{
public static ApplicationContext context;
@Override
@SuppressWarnings("static-access")
public void setApplicationContext(ApplicationContext context)
throws BeansException {
this.context = context;
}
/**
* Spring MVC ()
*
*/
public static boolean hasComponent(String componentName){
try{
Object component = context.getBean(componentName);
if(component == null){
return false;
}else{
return true;
}
}catch(NoSuchBeanDefinitionException ex){// 해당 컴포넌트를 찾을 수없을 경우 false반환
return false;
}
}
}

View File

@ -0,0 +1,55 @@
package egovframework.com.cmm;
import java.util.Locale;
import org.springframework.context.MessageSource;
import org.springframework.context.support.ReloadableResourceBundleMessageSource;
/**
* MessageSource ReloadableResourceBundleMessageSource
* @author
* @since 2009.06.01
* @version 1.0
* @see
*
* <pre>
* << (Modification Information) >>
*
*
* ------- -------- ---------------------------
* 2009.03.11
*
* </pre>
*/
public class EgovMessageSource extends ReloadableResourceBundleMessageSource implements MessageSource {
private ReloadableResourceBundleMessageSource reloadableResourceBundleMessageSource;
/**
* getReloadableResourceBundleMessageSource()
* @param reloadableResourceBundleMessageSource - resource MessageSource
* @return ReloadableResourceBundleMessageSource
*/
public void setReloadableResourceBundleMessageSource(ReloadableResourceBundleMessageSource reloadableResourceBundleMessageSource) {
this.reloadableResourceBundleMessageSource = reloadableResourceBundleMessageSource;
}
/**
* getReloadableResourceBundleMessageSource()
* @return ReloadableResourceBundleMessageSource
*/
public ReloadableResourceBundleMessageSource getReloadableResourceBundleMessageSource() {
return reloadableResourceBundleMessageSource;
}
/**
*
* @param code -
* @return String
*/
public String getMessage(String code) {
return getReloadableResourceBundleMessageSource().getMessage(code, null, Locale.getDefault());
}
}

View File

@ -0,0 +1,48 @@
package egovframework.com.cmm;
import egovframework.rte.ptl.mvc.tags.ui.pagination.AbstractPaginationRenderer;
import javax.servlet.ServletContext;
import org.springframework.web.context.ServletContextAware;
/**
* ImagePaginationRenderer.java
*
* @author
* @since 2011. 9. 16.
* @version 1.0
* @see
*
* <pre>
* << (Modification Information) >>
*
*
* ------- ------------- ----------------------
* 2011. 9. 16. ContextPath
* </pre>
*/
public class ImagePaginationRenderer extends AbstractPaginationRenderer implements ServletContextAware{
private ServletContext servletContext;
public ImagePaginationRenderer() {
}
public void initVariables(){
firstPageLabel = "<li>&#160;</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>";
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>";
currentPageLabel = "<li><strong>{0}</strong></li>";
otherPageLabel = "<li><a href=\"?pageIndex={1}\" onclick=\"{0}({1});return false; \">{2}</a></li>";
nextPageLabel = "<li>&#160;<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>";
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>";
}
public void setServletContext(ServletContext servletContext) {
this.servletContext = servletContext;
initVariables();
}
}

View File

@ -0,0 +1,33 @@
package egovframework.com.cmm.annotation;
/**
* annotation
* Controller annotation ,
* Controller url mapping
* annotation .
* @author
* @since 2011.08.26
* @version 2.0.0
* @see
*
* <pre>
* << (Modification Information) >>
*
*
* ------- -------- ---------------------------
* 2011.08.26
*
* </pre>
*/
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
@Retention(RetentionPolicy.RUNTIME)
public @interface IncludedInfo {
String name() default ""; // 컴포넌트의 한글 이름
String listUrl() default ""; // 컴포넌트의 목록정보조회를 위한 URL
int order() default 0; // 자동 생성되는 메뉴 목록에 표시되는 순서
int gid() default 0; // 컴포넌트의 Group ID(대분류 구분)
}

View File

@ -0,0 +1,23 @@
package egovframework.com.cmm.annotation;
import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
import org.springframework.stereotype.Component;
/**
* @FileName : Mapper1.java
* @Date : 2021. 9. 7.
* @Creator : ICTWAY KIM Yoon-Su
* @Discription : mybatis db1 mapper
*/
@Target({ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Component
public @interface Mapper1 {
String value() default "";
}

View File

@ -0,0 +1,23 @@
package egovframework.com.cmm.annotation;
import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
import org.springframework.stereotype.Component;
/**
* @FileName : Mapper2.java
* @Date : 2021. 9. 7.
* @Creator : ICTWAY KIM Yoon-Su
* @Discription : mybatis db2 mapper
*/
@Target({ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Component
public @interface Mapper2 {
String value() default "";
}

View File

@ -0,0 +1,46 @@
/*
* Copyright 2008-2009 MOPAS(Ministry of Public Administration and Security).
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package egovframework.com.cmm.filter;
import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
public class HTMLTagFilter implements Filter{
@SuppressWarnings("unused")
private FilterConfig config;
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
chain.doFilter(new HTMLTagFilterRequestWrapper((HttpServletRequest)request), response);
}
public void init(FilterConfig config) throws ServletException {
this.config = config;
}
public void destroy() {
}
}

View File

@ -0,0 +1,109 @@
/*
* Copyright 2008-2009 MOPAS(Ministry of Public Administration and Security).
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package egovframework.com.cmm.filter;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletRequestWrapper;
public class HTMLTagFilterRequestWrapper extends HttpServletRequestWrapper {
public HTMLTagFilterRequestWrapper(HttpServletRequest request) {
super(request);
}
public String[] getParameterValues(String parameter) {
String[] values = super.getParameterValues(parameter);
if(values==null){
return null;
}
for (int i = 0; i < values.length; i++) {
if (values[i] != null) {
StringBuffer strBuff = new StringBuffer();
for (int j = 0; j < values[i].length(); j++) {
char c = values[i].charAt(j);
switch (c) {
case '<':
strBuff.append("&lt;");
break;
case '>':
strBuff.append("&gt;");
break;
//case '&':
//strBuff.append("&amp;");
//break;
case '"':
strBuff.append("&quot;");
break;
case '\'':
strBuff.append("&apos;");
break;
default:
strBuff.append(c);
break;
}
}
values[i] = strBuff.toString();
} else {
values[i] = null;
}
}
return values;
}
public String getParameter(String parameter) {
String value = super.getParameter(parameter);
if(value==null){
return null;
}
StringBuffer strBuff = new StringBuffer();
for (int i = 0; i < value.length(); i++) {
char c = value.charAt(i);
switch (c) {
case '<':
strBuff.append("&lt;");
break;
case '>':
strBuff.append("&gt;");
break;
case '&':
strBuff.append("&amp;");
break;
case '"':
strBuff.append("&quot;");
break;
case '\'':
strBuff.append("&apos;");
break;
default:
strBuff.append(c);
break;
}
}
value = strBuff.toString();
return value;
}
}

View File

@ -0,0 +1,97 @@
package egovframework.com.cmm.interceptor;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.handler.HandlerInterceptorAdapter;
import egovframework.com.cmm.util.EgovUserDetailsHelper;
import sgis.com.vo.SessionVO;
/**
*
* @author
* @since 2011.07.01
* @version 1.0
* @see
*
* <pre>
* << (Modification Information) >>
*
*
* ------- -------- ---------------------------
* 2011.07.01
* 2011.09.07 URL
* 2017.08.31
* </pre>
*/
public class AuthenticInterceptor extends HandlerInterceptorAdapter {
private static final Logger logger = LoggerFactory.getLogger(AuthenticInterceptor.class);
/**
* .
* .
*/
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
HttpSession httpSession = request.getSession();
String sessId = httpSession.getId();
String uri = request.getRequestURI();
logger.info("######################## request : "+request);
logger.info("######################## AuthenticInterceptor : preHandle => session id : [" + sessId + "], uri : [" + uri +"]");
String ajax = request.getHeader("x-requested-with");//XMLHttpRequest
if("XMLHttpRequest".equals(ajax)) {
logger.info("ajax request ["+uri+"]");
}else {
//인증된사용자 여부
boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated();
//사용자 인증 체크
if(isAuthenticated) {
SessionVO loginVO = (SessionVO) EgovUserDetailsHelper.getAuthenticatedUser();
String userIP = request.getRemoteAddr();
logger.info("Authenticated User - ID : " + loginVO.getsUserId() + ", IP : " + userIP + ", authList : " + loginVO.getAuthList());
}else{
if(uri.contains("/sgis/portal/portalMain.do") || uri.contains("/com/loginForm.do")) { //예외처리
return true;
}else {
String retUrl = "redirect:/sgis/portal/portalMain.do";
ModelAndView modelAndView = new ModelAndView(retUrl); //세션이 없는 경우 로그인 화면으로 이동
throw new SessionExpiredException(modelAndView);
}
}
}
return true;
}
@Override
public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {
HttpSession httpSession = request.getSession();
String sessId = httpSession.getId();
String uri = request.getRequestURI();
logger.info("######################## AuthenticInterceptor : postHandle => session id : [" + sessId + "], uri : [" + uri +"]");
logger.info("selected uri : " + uri);
/*String businessCode = request.getParameter("businessCode"); //사업코드
String holeCode = request.getParameter("holeCode"); //시추공코드
HashMap<String,Object> params = new HashMap<String,Object>();
params.put("businessCode", businessCode);
params.put("holeCode", holeCode);
setLeftMenu(params, modelAndView);*/
}
}

View File

@ -0,0 +1,105 @@
package egovframework.com.cmm.interceptor;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.handler.HandlerInterceptorAdapter;
import egovframework.com.cmm.util.EgovSessionCookieUtil;
import egovframework.com.cmm.util.EgovUserDetailsHelper;
import sgis.com.service.ComLogService;
import sgis.com.vo.ComConnectLogVO;
import sgis.com.vo.SessionVO;
/**
* @FileName : LoginInterceptor.java
* @Date : 2021. 9. 30.
* @Creator : ICTWAY KIM Yoon-Su
* @Discription :
*/
public class LoginInterceptor extends HandlerInterceptorAdapter {
private static final Logger logger = LoggerFactory.getLogger(LoginInterceptor.class);
@Resource(name="ComLogService")
private ComLogService comLogService;
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
HttpSession httpSession = request.getSession();
String sessId = httpSession.getId();
String uri = request.getRequestURI();
logger.info("######################## LoginInterceptor : preHandle => session id : [" + sessId + "], uri : [" + uri +"]");
if("/com/logoutAction.do".equals(uri)) {
//로그아웃 이력 저장
//사용자유형(user_grp) - SA:최고관리자, S:관리자, G:해수부, C:기업, P:개인
//로그인방식(login_type) - IDPW:id/pw인증로그인, LOUT:로그아웃
SessionVO loginVO = (SessionVO) EgovUserDetailsHelper.getAuthenticatedUser();
String cntnIp = request.getRemoteAddr();
String certKind = "LOUT";
String userId = loginVO.getsUserId();
String userGrp = loginVO.getsUserGrp();
if(userId == null) {
logger.debug("Logout ID is null. connect ip is [" + cntnIp + "]");
}else {
ComConnectLogVO comConnectLogVO = new ComConnectLogVO();
comConnectLogVO.setUserId(userId);
comConnectLogVO.setUserGrp(userGrp);
comConnectLogVO.setCertKind(certKind);
comConnectLogVO.setCntnIp(cntnIp);
comLogService.insertConnectLogInfo(comConnectLogVO);
logger.info("Logout ID : " + loginVO.getsUserId());
}
}
return true;
}
/*@Override
public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {
HttpSession httpSession = request.getSession();
String sessId = httpSession.getId();
String uri = request.getRequestURI();
logger.info("######################## LoginInterceptor : postHandle => session id : [" + sessId + "], uri : [" + uri +"]");
if("/com/specLoginAction.do".contains(uri) || "/com/loginAction.do".equals(uri) || "/com/exLoginAction.do".equals(uri) || "/com/login/certLoginPass.do".equals(uri) || "/com/loginMembAction.do".equals(uri)) {
//로그인 이력 저장
//사용자유형(user_grp) - SA:최고관리자, S:관리자, G:해수부, C:기업, P:개인
//로그인방식(login_type) - IDPW:id/pw인증로그인, LOUT:로그아웃
SessionVO loginVO = (SessionVO) EgovUserDetailsHelper.getAuthenticatedUser();
String cntnIp = request.getRemoteAddr();
String certKind = loginVO.getsLoginType();
String userId = loginVO.getsUserId();
String userGrp = loginVO.getsUserGrp();
if(userId == null) {
logger.debug("Login ID is null. connect ip is [" + cntnIp + "]");
}else {
//로그인 이력 저장하고 세션에 접속일련번호 저장
ComConnectLogVO comConnectLogVO = new ComConnectLogVO();
comConnectLogVO.setUserId(userId);
comConnectLogVO.setUserGrp(userGrp);
comConnectLogVO.setCertKind(certKind);
comConnectLogVO.setCntnIp(cntnIp);
comLogService.insertConnectLogInfo(comConnectLogVO);
String cntnSn = comConnectLogVO.getCntnSn();
loginVO.setsCntnSn(cntnSn);
EgovSessionCookieUtil.setSessionAttribute(request, "LoginVO", loginVO);
logger.info("Login ID : " + loginVO.getsUserId());
}
}
}*/
@Override
public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {
HttpSession httpSession = request.getSession();
String sessId = httpSession.getId();
String uri = request.getRequestURI();
logger.info("######################## LoginInterceptor : afterCompletion => session id : [" + sessId + "], uri : [" + uri +"]");
super.afterCompletion(request, response, handler, ex);
}
}

View File

@ -0,0 +1,25 @@
package egovframework.com.cmm.interceptor;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.ModelAndViewDefiningException;
/**
* @FileName : SessionExpiredException.java
* @Date : 2022. 5. 10.
* @Creator : ICTWAY KIM Yoon-Su
* @Discription :
*/
public class SessionExpiredException extends ModelAndViewDefiningException {
//serialVersionUID
private static final long serialVersionUID = -8451123258683446825L;
private static final Logger logger = LoggerFactory.getLogger(SessionExpiredException.class);
/**
* @param modelAndView
*/
public SessionExpiredException(ModelAndView modelAndView) {
super(modelAndView);
logger.info("session expired : move to [" + modelAndView.getViewName() + "]");
}
}

View File

@ -0,0 +1,73 @@
package egovframework.com.cmm.interceptor;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.web.servlet.handler.HandlerInterceptorAdapter;
/**
* @FileName : LoginInterceptor.java
* @Date : 2021. 9. 30.
* @Creator : ICTWAY KIM Yoon-Su
* @Discription :
*/
public class noLoginInterceptor extends HandlerInterceptorAdapter {
private static final Logger logger = LoggerFactory.getLogger(noLoginInterceptor.class);
/*@Resource(name="ComLogService")
private ComLogService comLogService;
@Autowired
private ComLoginService comLoginService;
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
HttpSession httpSession = request.getSession();
String sessId = httpSession.getId();
String uri = request.getRequestURI();
logger.info("######################## noLoginInterceptor1 : preHandle => session id : [" + sessId + "], uri : [" + uri +"]");
return true;
}
@Override
public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {
HttpSession httpSession = request.getSession();
String sessId = httpSession.getId();
String uri = request.getRequestURI();
logger.info("######################## noLoginInterceptor2 : postHandle => session id : [" + sessId + "], uri : [" + uri +"]");
SessionVO sessionVO = new SessionVO();
sessionVO = (SessionVO) httpSession.getAttribute("LoginVO");
String grpCd = "";
if(sessionVO != null) {
grpCd = sessionVO.getsUserGrp();
}
logger.info("grpCd ========"+ grpCd);
//시스템 메뉴정보
ComMenuVO comMenuVO = new ComMenuVO();
comMenuVO.setSysCd("PET");
comMenuVO.setUseYn("Y");
comMenuVO.setJobAuthList(grpCd);
System.out.println("sysCd ===== "+ comMenuVO.getSysCd());
List<?> menuList = comLoginService.selectComMenuList(comMenuVO);
JSONArray appMap = JsonUtil.getJsonArrayFromList((List<Map<String, Object>>) menuList );
EgovSessionCookieUtil.setSessionAttribute(request, "menuList", menuList);
EgovSessionCookieUtil.setSessionAttribute(request, "jsonMenuList", appMap);
EgovSessionCookieUtil.setSessionAttribute(request, "userGrp", grpCd);
}
@Override
public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {
HttpSession httpSession = request.getSession();
String sessId = httpSession.getId();
String uri = request.getRequestURI();
logger.info("######################## noLoginInterceptor3 : afterCompletion => session id : [" + sessId + "], uri : [" + uri +"]");
super.afterCompletion(request, response, handler, ex);
}*/
}

View File

@ -0,0 +1,22 @@
package egovframework.com.cmm.properties;
import org.springframework.beans.factory.config.PropertiesFactoryBean;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.core.io.ClassPathResource;
/**
* @FileName : GlobalsProperties.java
* @Date : 2022. 3. 25.
* @Creator : ICTWAY KIM Yoon-Su
* @Discription :
*/
@Configuration
public class PropertiesConfig {
@Bean
public PropertiesFactoryBean globalsProperties() {
PropertiesFactoryBean bean = new PropertiesFactoryBean();
bean.setLocation(new ClassPathResource("egovframework/egovProps/globals.properties"));
return bean;
}
}

View File

@ -0,0 +1,194 @@
package egovframework.com.cmm.service;
import java.io.Serializable;
/**
*
* @author
* @since 2009.04.01
* @version 1.0
* @see
*
* <pre>
* << (Modification Information) >>
*
*
* ------- -------- ---------------------------
* 2009.04.01
*
* </pre>
*/
public class CmmnDetailCode implements Serializable {
private static final long serialVersionUID = -6508801327314181679L;
/*
* ID
*/
private String codeId = "";
/*
* ID
*/
private String codeIdNm = "";
/*
*
*/
private String code = "";
/*
*
*/
private String codeNm = "";
/*
*
*/
private String codeDc = "";
/*
*
*/
private String useAt = "";
/*
* ID
*/
private String frstRegisterId = "";
/*
* ID
*/
private String lastUpdusrId = "";
/**
* codeId attribute .
* @return String
*/
public String getCodeId() {
return codeId;
}
/**
* codeId attribute .
* @param codeId String
*/
public void setCodeId(String codeId) {
this.codeId = codeId;
}
/**
* codeIdNm attribute .
* @return String
*/
public String getCodeIdNm() {
return codeIdNm;
}
/**
* codeIdNm attribute .
* @param codeIdNm String
*/
public void setCodeIdNm(String codeIdNm) {
this.codeIdNm = codeIdNm;
}
/**
* code attribute .
* @return String
*/
public String getCode() {
return code;
}
/**
* code attribute .
* @param code String
*/
public void setCode(String code) {
this.code = code;
}
/**
* codeNm attribute .
* @return String
*/
public String getCodeNm() {
return codeNm;
}
/**
* codeNm attribute .
* @param codeNm String
*/
public void setCodeNm(String codeNm) {
this.codeNm = codeNm;
}
/**
* codeDc attribute .
* @return String
*/
public String getCodeDc() {
return codeDc;
}
/**
* codeDc attribute .
* @param codeDc String
*/
public void setCodeDc(String codeDc) {
this.codeDc = codeDc;
}
/**
* useAt attribute .
* @return String
*/
public String getUseAt() {
return useAt;
}
/**
* useAt attribute .
* @param useAt String
*/
public void setUseAt(String useAt) {
this.useAt = useAt;
}
/**
* frstRegisterId attribute .
* @return String
*/
public String getFrstRegisterId() {
return frstRegisterId;
}
/**
* frstRegisterId attribute .
* @param frstRegisterId String
*/
public void setFrstRegisterId(String frstRegisterId) {
this.frstRegisterId = frstRegisterId;
}
/**
* lastUpdusrId attribute .
* @return String
*/
public String getLastUpdusrId() {
return lastUpdusrId;
}
/**
* lastUpdusrId attribute .
* @param lastUpdusrId String
*/
public void setLastUpdusrId(String lastUpdusrId) {
this.lastUpdusrId = lastUpdusrId;
}
}

View File

@ -0,0 +1,189 @@
package egovframework.com.cmm.service;
import java.io.Serializable;
import org.apache.commons.lang3.builder.ToStringBuilder;
/**
*
* @author
* @since 2009.06.01
* @version 1.0
* @see
*
* <pre>
* << (Modification Information) >>
*
*
* ------- -------- ---------------------------
* 2009.3.11
*
* </pre>
*/
public class ComDefaultCodeVO implements Serializable {
/**
* serialVersion UID
*/
private static final long serialVersionUID = -2020648489890016404L;
/** 코드 ID */
private String codeId = "";
/** 상세코드 */
private String code = "";
/** 코드명 */
private String codeNm = "";
/** 코드설명 */
private String codeDc = "";
/** 특정테이블명 */
private String tableNm = ""; //특정테이블에서 코드정보를추출시 사용
/** 상세 조건 여부 */
private String haveDetailCondition = "N";
/** 상세 조건 */
private String detailCondition = "";
/**
* codeId attribute .
*
* @return the codeId
*/
public String getCodeId() {
return codeId;
}
/**
* codeId attribute .
*
* @param codeId
* the codeId to set
*/
public void setCodeId(String codeId) {
this.codeId = codeId;
}
/**
* code attribute .
*
* @return the code
*/
public String getCode() {
return code;
}
/**
* code attribute .
*
* @param code
* the code to set
*/
public void setCode(String code) {
this.code = code;
}
/**
* codeNm attribute .
*
* @return the codeNm
*/
public String getCodeNm() {
return codeNm;
}
/**
* codeNm attribute .
*
* @param codeNm
* the codeNm to set
*/
public void setCodeNm(String codeNm) {
this.codeNm = codeNm;
}
/**
* codeDc attribute .
*
* @return the codeDc
*/
public String getCodeDc() {
return codeDc;
}
/**
* codeDc attribute .
*
* @param codeDc
* the codeDc to set
*/
public void setCodeDc(String codeDc) {
this.codeDc = codeDc;
}
/**
* tableNm attribute .
*
* @return the tableNm
*/
public String getTableNm() {
return tableNm;
}
/**
* tableNm attribute .
*
* @param tableNm
* the tableNm to set
*/
public void setTableNm(String tableNm) {
this.tableNm = tableNm;
}
/**
* haveDetailCondition attribute .
*
* @return the haveDetailCondition
*/
public String getHaveDetailCondition() {
return haveDetailCondition;
}
/**
* haveDetailCondition attribute .
*
* @param haveDetailCondition
* the haveDetailCondition to set
*/
public void setHaveDetailCondition(String haveDetailCondition) {
this.haveDetailCondition = haveDetailCondition;
}
/**
* detailCondition attribute .
*
* @return the detailCondition
*/
public String getDetailCondition() {
return detailCondition;
}
/**
* detailCondition attribute .
*
* @param detailCondition
* the detailCondition to set
*/
public void setDetailCondition(String detailCondition) {
this.detailCondition = detailCondition;
}
/**
* toString .
*/
public String toString() {
return ToStringBuilder.reflectionToString(this);
}
}

View File

@ -0,0 +1,167 @@
package egovframework.com.cmm.service;
import java.io.Serializable;
import org.apache.commons.lang3.builder.ToStringBuilder;
/**
* @Class Name : ComDefaultVO.java
* @Description : ComDefaultVO class
* @Modification Information
* @
* @
* @ ------- -------- ---------------------------
* @ 2009.02.01
*
* @author
* @since 2009.02.01
* @version 1.0
* @see
*
*/
public class ComDefaultVO implements Serializable {
private static final long serialVersionUID = 1L;
/** 검색조건 */
private String searchCondition = "";
/** 검색Keyword */
private String searchKeyword = "";
/** 검색사용여부 */
private String searchUseYn = "";
/** 현재페이지 */
private int pageIndex = 1;
/** 페이지갯수 */
private int pageUnit = 10;
/** 페이지사이즈 */
private int pageSize = 10;
/** firstIndex */
private int firstIndex = 1;
/** lastIndex */
private int lastIndex = 1;
/** recordCountPerPage */
private int recordCountPerPage = 10;
/** 검색KeywordFrom */
private String searchKeywordFrom = "";
/** 검색KeywordTo */
private String searchKeywordTo = "";
public int getFirstIndex() {
return firstIndex;
}
public void setFirstIndex(int firstIndex) {
this.firstIndex = firstIndex;
}
public int getLastIndex() {
return lastIndex;
}
public void setLastIndex(int lastIndex) {
this.lastIndex = lastIndex;
}
public int getRecordCountPerPage() {
return recordCountPerPage;
}
public void setRecordCountPerPage(int recordCountPerPage) {
this.recordCountPerPage = recordCountPerPage;
}
public String getSearchCondition() {
return searchCondition;
}
public void setSearchCondition(String searchCondition) {
this.searchCondition = searchCondition;
}
public String getSearchKeyword() {
return searchKeyword;
}
public void setSearchKeyword(String searchKeyword) {
this.searchKeyword = searchKeyword;
}
public String getSearchUseYn() {
return searchUseYn;
}
public void setSearchUseYn(String searchUseYn) {
this.searchUseYn = searchUseYn;
}
public int getPageIndex() {
return pageIndex;
}
public void setPageIndex(int pageIndex) {
this.pageIndex = pageIndex;
}
public int getPageUnit() {
return pageUnit;
}
public void setPageUnit(int pageUnit) {
this.pageUnit = pageUnit;
}
public int getPageSize() {
return pageSize;
}
public void setPageSize(int pageSize) {
this.pageSize = pageSize;
}
public String toString() {
return ToStringBuilder.reflectionToString(this);
}
/**
* searchKeywordFrom attribute .
* @return String
*/
public String getSearchKeywordFrom() {
return searchKeywordFrom;
}
/**
* searchKeywordFrom attribute .
* @param searchKeywordFrom String
*/
public void setSearchKeywordFrom(String searchKeywordFrom) {
this.searchKeywordFrom = searchKeywordFrom;
}
/**
* searchKeywordTo attribute .
* @return String
*/
public String getSearchKeywordTo() {
return searchKeywordTo;
}
/**
* searchKeywordTo attribute .
* @param searchKeywordTo String
*/
public void setSearchKeywordTo(String searchKeywordTo) {
this.searchKeywordTo = searchKeywordTo;
}
}

View File

@ -0,0 +1,222 @@
package egovframework.com.cmm.service;
import java.io.BufferedInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Enumeration;
import java.util.HashMap;
import java.util.Map;
import java.util.Properties;
import egovframework.com.cmm.util.EgovResourceCloseHelper;
import egovframework.com.cmm.util.EgovWebUtil;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/**
* Class Name : EgovProperties.java
* Description : properties Globals
* .
* Modification Information
*
*
* ---------- -------- ---------------------------
* 2009.01.19
* 2011.07.20 Globals
* 2014.10.13 Globals.properties null
* 2019.04.26 RELATIVE_PATH_PREFIX Path
* @author
* @since 2009. 01. 19
* @version 1.0
* @see
*
*/
public class EgovProperties {
private static final Logger LOGGER = LoggerFactory.getLogger(EgovProperties.class);
//파일구분자
final static String FILE_SEPARATOR = System.getProperty("file.separator");
//프로퍼티 파일의 물리적 위치
//public static final String GLOBALS_PROPERTIES_FILE = System.getProperty("user.home") + FILE_SEPARATOR + "egovProps" +FILE_SEPARATOR + "globals.properties";
public static final String RELATIVE_PATH_PREFIX = EgovProperties.class.getResource("").getPath().substring(0, EgovProperties.class.getResource("").getPath().lastIndexOf("com"));
//public static final String RELATIVE_PATH_PREFIX = EgovProperties.class.getProtectionDomain().getCodeSource().getLocation().getPath().substring(0,EgovProperties.class.getProtectionDomain().getCodeSource().getLocation().getPath().indexOf("WEB-INF/classes/")+"WEB-INF/classes/".length())+"egovframework/";
public static final String GLOBALS_PROPERTIES_FILE = RELATIVE_PATH_PREFIX + "egovProps" + FILE_SEPARATOR + "globals.properties";
/**
* Key (Globals.java )
* @param keyName String
* @return String
*/
public static String getPathProperty(String keyName) {
String value = "";
LOGGER.debug("getPathProperty : {} = {}", GLOBALS_PROPERTIES_FILE, keyName);
FileInputStream fis = null;
try {
Properties props = new Properties();
fis = new FileInputStream(EgovWebUtil.filePathBlackList(GLOBALS_PROPERTIES_FILE));
props.load(new BufferedInputStream(fis));
value = props.getProperty(keyName);
value = (value == null) ? "" : value.trim();//KISA 보안약점 조치 (2018-10-29, 윤창원)
value = RELATIVE_PATH_PREFIX + "egovProps" + System.getProperty("file.separator") + value;
} catch (FileNotFoundException fne) {
LOGGER.debug("Property file not found.", fne);
throw new RuntimeException("Property file not found", fne);
} catch (IOException ioe) {
LOGGER.debug("Property file IO exception", ioe);
throw new RuntimeException("Property file IO exception", ioe);
} finally {
EgovResourceCloseHelper.close(fis);
}
return value;
}
/**
* Key (Globals.java )
* @param keyName String
* @return String
*/
public static String getProperty(String keyName) {
String value = "";
LOGGER.debug("===>>> getProperty"+EgovProperties.class.getProtectionDomain().getCodeSource().getLocation().getPath());
LOGGER.debug("getProperty : {} = {}", GLOBALS_PROPERTIES_FILE, keyName);
FileInputStream fis = null;
try {
Properties props = new Properties();
fis = new FileInputStream(EgovWebUtil.filePathBlackList(GLOBALS_PROPERTIES_FILE));
props.load(new BufferedInputStream(fis));
if (props.getProperty(keyName) == null) {
return "";
}
value = props.getProperty(keyName).trim();
} catch (FileNotFoundException fne) {
LOGGER.debug("Property file not found.", fne);
throw new RuntimeException("Property file not found", fne);
} catch (IOException ioe) {
LOGGER.debug("Property file IO exception", ioe);
throw new RuntimeException("Property file IO exception", ioe);
} finally {
EgovResourceCloseHelper.close(fis);
}
return value;
}
/**
* Key
* @param fileName String
* @param key String
* @return String
*/
public static String getPathProperty(String fileName, String key) {
FileInputStream fis = null;
try {
Properties props = new Properties();
fis = new FileInputStream(EgovWebUtil.filePathBlackList(fileName));
props.load(new BufferedInputStream(fis));
fis.close();
String value = props.getProperty(key);
value = RELATIVE_PATH_PREFIX + "egovProps" + System.getProperty("file.separator") + value;
return value;
} catch (FileNotFoundException fne) {
LOGGER.debug("Property file not found.", fne);
throw new RuntimeException("Property file not found", fne);
} catch (IOException ioe) {
LOGGER.debug("Property file IO exception", ioe);
throw new RuntimeException("Property file IO exception", ioe);
} finally {
EgovResourceCloseHelper.close(fis);
}
}
/**
* Key
* @param fileName String
* @param key String
* @return String
*/
public static String getProperty(String fileName, String key) {
FileInputStream fis = null;
try {
Properties props = new Properties();
fis = new FileInputStream(EgovWebUtil.filePathBlackList(fileName));
props.load(new BufferedInputStream(fis));
fis.close();
String value = props.getProperty(key);
return value;
} catch (FileNotFoundException fne) {
LOGGER.debug("Property file not found.", fne);
throw new RuntimeException("Property file not found", fne);
} catch (IOException ioe) {
LOGGER.debug("Property file IO exception", ioe);
throw new RuntimeException("Property file IO exception", ioe);
} finally {
EgovResourceCloseHelper.close(fis);
}
}
/**
* (key-value) .
* @param property String
* @return ArrayList
*/
public static ArrayList<Map<String, String>> loadPropertyFile(String property) {
// key - value 형태로 된 배열 결과
ArrayList<Map<String, String>> keyList = new ArrayList<Map<String, String>>();
String src = property.replace('\\', File.separatorChar).replace('/', File.separatorChar);
FileInputStream fis = null;
try {
File srcFile = new File(EgovWebUtil.filePathBlackList(src));
if (srcFile.exists()) {
Properties props = new Properties();
fis = new FileInputStream(src);
props.load(new BufferedInputStream(fis));
fis.close();
Enumeration<?> plist = props.propertyNames();
if (plist != null) {
while (plist.hasMoreElements()) {
Map<String, String> map = new HashMap<String, String>();
String key = (String) plist.nextElement();
map.put(key, props.getProperty(key));
keyList.add(map);
}
}
}
} catch (IOException ex) {
LOGGER.debug("IO Exception", ex);
throw new RuntimeException(ex);
} finally {
EgovResourceCloseHelper.close(fis);
}
return keyList;
}
}

View File

@ -0,0 +1,26 @@
package egovframework.com.cmm.service;
import java.util.List;
public interface EgovUserDetailsService {
/**
* VO .
* @return Object - ValueObject
*/
public Object getAuthenticatedUser();
/**
* .
* ) [ROLE_ADMIN, ROLE_USER, ROLE_A, ROLE_B, ROLE_RESTRICTED, IS_AUTHENTICATED_FULLY, IS_AUTHENTICATED_REMEMBERED, IS_AUTHENTICATED_ANONYMOUSLY]
* @return List -
*/
public List<String> getAuthorities();
/**
* .
* @return Boolean - (TRUE / FALSE)
*/
public Boolean isAuthenticated();
}

View File

@ -0,0 +1,30 @@
package egovframework.com.cmm.service;
/**
* Class Name : Globals.java
* Description : .
* Modification Information
*
*
* ------- -------- ---------------------------
* 2009.01.19
*
* @author
* @since 2009. 01. 19
* @version 1.0
* @see
*
*/
public class Globals {
//파일 업로드 원 파일명
public static final String ORIGIN_FILE_NM = "originalFileName";
//파일 확장자
public static final String FILE_EXT = "fileExtension";
//파일크기
public static final String FILE_SIZE = "fileSize";
//업로드된 파일명
public static final String UPLOAD_FILE_NM = "uploadFileName";
//파일경로
public static final String FILE_PATH = "filePath";
}

View File

@ -0,0 +1,50 @@
package egovframework.com.cmm.service;
/**
* IncludedInfo annotation VO
* @author
* @since 2011.08.26
* @version 2.0.0
* @see
*
* <pre>
* << (Modification Information) >>
*
*
* ------- -------- ---------------------------
* 2011.08.26
*
* </pre>
*/
public class IncludedCompInfoVO {
private String name;
private String listUrl;
private int order;
private int gid;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getListUrl() {
return listUrl;
}
public void setListUrl(String listUrl) {
this.listUrl = listUrl;
}
public int getOrder() {
return order;
}
public void setOrder(int order) {
this.order = order;
}
public int getGid() {
return gid;
}
public void setGid(int gid) {
this.gid = gid;
}
}

View File

@ -0,0 +1,24 @@
package egovframework.com.cmm.service.impl;
import egovframework.rte.psl.dataaccess.EgovAbstractDAO;
import javax.annotation.Resource;
import com.ibatis.sqlmap.client.SqlMapClient;
/**
* @FileName : DB1AbstractDAO.java
* @Date : 2021. 9. 7.
* @Creator : ICTWAY KIM Yoon-Su
* @Discription : sqlSession2 ibatis DAO
*/
public abstract class DB1AbstractDAO extends EgovAbstractDAO{
@Resource(name="sqlSession1")
public void setSuperSqlMapClient(SqlMapClient sqlMapClient) {
super.setSuperSqlMapClient(sqlMapClient);
}
}

View File

@ -0,0 +1,24 @@
package egovframework.com.cmm.service.impl;
import egovframework.rte.psl.dataaccess.EgovAbstractDAO;
import javax.annotation.Resource;
import com.ibatis.sqlmap.client.SqlMapClient;
/**
* @FileName : DB2AbstractDAO.java
* @Date : 2021. 9. 7.
* @Creator : ICTWAY KIM Yoon-Su
* @Discription : sqlSession2 ibatis DAO
*/
public abstract class DB2AbstractDAO extends EgovAbstractDAO{
@Resource(name="sqlSession2")
public void setSuperSqlMapClient(SqlMapClient sqlMapClient) {
super.setSuperSqlMapClient(sqlMapClient);
}
}

View File

@ -0,0 +1,34 @@
package egovframework.com.cmm.service.impl;
import egovframework.rte.psl.dataaccess.EgovAbstractDAO;
import javax.annotation.Resource;
import com.ibatis.sqlmap.client.SqlMapClient;
/**
* EgovComAbstractDAO.java
*
* @author
* @since 2011. 9. 23.
* @version 1.0
* @see
*
* <pre>
* << (Modification Information) >>
*
*
* ------- ------------- ----------------------
* 2011. 9. 23.
* </pre>
*/
public abstract class EgovComAbstractDAO extends EgovAbstractDAO{
//ibatis용 abstractDAO
@Resource(name="sqlMapClient")
public void setSuperSqlMapClient(SqlMapClient sqlMapClient) {
super.setSuperSqlMapClient(sqlMapClient);
}
}

View File

@ -0,0 +1,90 @@
package egovframework.com.cmm.service.impl;
import java.util.ArrayList;
import java.util.List;
import egovframework.com.cmm.service.EgovUserDetailsService;
import egovframework.rte.fdl.cmmn.EgovAbstractServiceImpl;
import sgis.com.vo.ComUserVO;
/**
*
* @author
* @since 2011. 8. 12.
* @version 1.0
* @see
*
* <pre>
* (Modification Information)
*
*
* ------- -------- ---------------------------
* 2011. 8. 12.
*
* </pre>
*/
public class EgovTestUserDetailsServiceImpl extends EgovAbstractServiceImpl implements
EgovUserDetailsService {
@Override
public Object getAuthenticatedUser() {
ComUserVO loginVO = new ComUserVO();
/*loginVO.setUserId("TEST1");
loginVO.setUserNm("더미사용자");
loginVO.setPswd("1234=");
loginVO.setUserGroup("S");
loginVO.setDeptCd("1192000A");
loginVO.setDeptNm("법무행정팀");
loginVO.setTelNo("031-910-1234");
loginVO.setHpNo("010-1234-1234");
loginVO.setEmailId("egovframe@nia.or.kr");*/
return loginVO;
// return
// RequestContextHolder.getRequestAttributes().getAttribute("loginVO",
// RequestAttributes.SCOPE_SESSION);
}
@Override
public List<String> getAuthorities() {
// 권한 설정을 리턴한다.
List<String> listAuth = new ArrayList<String>();
listAuth.add("APP"); //민원신청
listAuth.add("CAS"); //사건처리
listAuth.add("CON"); //위원회관리
listAuth.add("DOC"); //문서수발
listAuth.add("KMS"); //정보마당
listAuth.add("PET"); //민원사무처리
listAuth.add("QNA"); //민원상담
listAuth.add("RCV"); //민원접수
listAuth.add("STA"); //통계담당
listAuth.add("SYS"); //시스템관리
return listAuth;
}
@Override
public Boolean isAuthenticated() {
// 인증된 유저인지 확인한다.
/*if (RequestContextHolder.getRequestAttributes() == null) {
return false;
} else {
if (RequestContextHolder.getRequestAttributes().getAttribute(
"loginVO", RequestAttributes.SCOPE_SESSION) == null) {
return false;
} else {
return true;
}
}*/
return true;
}
}

View File

@ -0,0 +1,67 @@
package egovframework.com.cmm.service.impl;
import java.util.ArrayList;
import java.util.List;
import egovframework.com.cmm.service.EgovUserDetailsService;
import egovframework.rte.fdl.cmmn.EgovAbstractServiceImpl;
import org.springframework.web.context.request.RequestAttributes;
import org.springframework.web.context.request.RequestContextHolder;
/**
*
* @author
* @since 2011. 6. 25.
* @version 1.0
* @see
*
* <pre>
* (Modification Information)
*
*
* ------- -------- ---------------------------
* 2011. 8. 12.
*
* </pre>
*/
public class EgovUserDetailsSessionServiceImpl extends EgovAbstractServiceImpl implements
EgovUserDetailsService {
public Object getAuthenticatedUser() {
return RequestContextHolder.getRequestAttributes().getAttribute("loginVO", RequestAttributes.SCOPE_SESSION);
}
public List<String> getAuthorities() {
// 권한 설정을 리턴한다.
List<String> listAuth = new ArrayList<String>();
return listAuth;
}
public Boolean isAuthenticated() {
// 인증된 유저인지 확인한다.
if (RequestContextHolder.getRequestAttributes() == null) {
return false;
} else {
if (RequestContextHolder.getRequestAttributes().getAttribute(
"loginVO", RequestAttributes.SCOPE_SESSION) == null) {
return false;
} else {
return true;
}
}
}
}

View File

@ -0,0 +1,83 @@
package egovframework.com.cmm.util;
import java.util.logging.Level;
import java.util.logging.Logger;
/**
* Utility class to support to logging information
* @author Vincent Han
* @since 2014.09.18
* @version 1.0
* @see
*
* <pre>
* << (Modification Information) >>
*
*
* ------- -------- ---------------------------
* 2014.09.18
*
* </pre>
*/
public class EgovBasicLogger {
private static final Level IGNORE_INFO_LEVEL = Level.OFF;
private static final Level DEBUG_INFO_LEVEL = Level.FINEST;
private static final Level INFO_INFO_LEVEL = Level.INFO;
private static final Logger ignoreLogger = Logger.getLogger("ignore");
private static final Logger debugLogger = Logger.getLogger("debug");
private static final Logger infoLogger = Logger.getLogger("info");
/**
* .
* @param message
* @param exception
*/
public static void ignore(String message, Exception exception) {
if (exception == null) {
ignoreLogger.log(IGNORE_INFO_LEVEL, message);
} else {
ignoreLogger.log(IGNORE_INFO_LEVEL, message, exception);
}
}
/**
* .
* @param message
* @param exception
*/
public static void ignore(String message) {
ignore(message, null);
}
/**
* .
* @param message
* @param exception
*/
public static void debug(String message, Exception exception) {
if (exception == null) {
debugLogger.log(DEBUG_INFO_LEVEL, message);
} else {
debugLogger.log(DEBUG_INFO_LEVEL, message, exception);
}
}
/**
* .
* @param message
* @param exception
*/
public static void debug(String message) {
debug(message, null);
}
/**
* .
* @param message
* @param exception
*/
public static void info(String message) {
infoLogger.log(INFO_INFO_LEVEL, message);
}
}

View File

@ -0,0 +1,146 @@
package egovframework.com.cmm.util;
import java.text.DateFormat;
import java.util.Date;
import java.util.Locale;
/**
*
*/
public class EgovDateFormat {
/**
* Locale .
*
* @param date
* @return
*/
public static String formatDate(Date date) {
return DateFormat.getDateInstance().format(date);
}
/**
* Locale .
*
* @param locale
* @param date
* @return
*/
public static String formatDate(Locale locale, Date date) {
return DateFormat.getDateInstance(DateFormat.DEFAULT, locale).format(date);
}
/**
* , Locale .
*
* @param style ( : {@link DateFormat#FULL}, {@link DateFormat#LONG}, {@link DateFormat#MEDIUM}, {@link DateFormat#SHORT}, {@link DateFormat#DEFAULT})
* @param date
* @return
*/
public static String formatDate(int style, Date date) {
return DateFormat.getDateInstance(style).format(date);
}
/**
* , Locale .
*
* @param style ( : {@link DateFormat#FULL}, {@link DateFormat#LONG}, {@link DateFormat#MEDIUM}, {@link DateFormat#SHORT}, {@link DateFormat#DEFAULT})
* @param locale
* @param date
* @return
*/
public static String formatDate(int style, Locale locale, Date date) {
return DateFormat.getDateInstance(style, locale).format(date);
}
/**
* Locale .
*
* @param date
* @return
*/
public static String formatDateTime(Date date) {
return DateFormat.getDateTimeInstance().format(date);
}
/**
* Locale .
*
* @param locale
* @param date
* @return
*/
public static String formatDateTime(Locale locale, Date date) {
return DateFormat.getDateTimeInstance(DateFormat.DEFAULT, DateFormat.DEFAULT, locale).format(date);
}
/**
* , Locale .
*
* @param dateStyle ( : {@link DateFormat#FULL}, {@link DateFormat#LONG}, {@link DateFormat#MEDIUM}, {@link DateFormat#SHORT}, {@link DateFormat#DEFAULT})
* @param timeStyle ( : {@link DateFormat#FULL}, {@link DateFormat#LONG}, {@link DateFormat#MEDIUM}, {@link DateFormat#SHORT}, {@link DateFormat#DEFAULT})
* @param date
* @return
*/
public static String formatDateTime(int dateStyle, int timeStyle, Date date) {
return DateFormat.getDateTimeInstance(dateStyle, timeStyle).format(date);
}
/**
* , Locale .
*
* @param dateStyle ( : {@link DateFormat#FULL}, {@link DateFormat#LONG}, {@link DateFormat#MEDIUM}, {@link DateFormat#SHORT}, {@link DateFormat#DEFAULT})
* @param timeStyle ( : {@link DateFormat#FULL}, {@link DateFormat#LONG}, {@link DateFormat#MEDIUM}, {@link DateFormat#SHORT}, {@link DateFormat#DEFAULT})
* @param locale
* @param date
* @return
*/
public static String formatDateTime(int dateStyle, int timeStyle, Locale locale, Date date) {
return DateFormat.getDateTimeInstance(dateStyle, timeStyle, locale).format(date);
}
/**
* Locale .
*
* @param date
* @return
*/
public static String formatTime(Date date) {
return DateFormat.getTimeInstance().format(date);
}
/**
* Locale .
*
* @param locale
* @param date
* @return
*/
public static String formatTime(Locale locale, Date date) {
return DateFormat.getTimeInstance(DateFormat.DEFAULT, locale).format(date);
}
/**
* , Locale .
*
* @param style ( : {@link DateFormat#FULL}, {@link DateFormat#LONG}, {@link DateFormat#MEDIUM}, {@link DateFormat#SHORT}, {@link DateFormat#DEFAULT})
* @param date
* @return
*/
public static String formatTime(int style, Date date) {
return DateFormat.getTimeInstance(style).format(date);
}
/**
* , Locale .
*
* @param style ( : {@link DateFormat#FULL}, {@link DateFormat#LONG}, {@link DateFormat#MEDIUM}, {@link DateFormat#SHORT}, {@link DateFormat#DEFAULT})
* @param locale
* @param date
* @return
*/
public static String formatTime(int style, Locale locale, Date date) {
return DateFormat.getTimeInstance(style, locale).format(date);
}
}

View File

@ -0,0 +1,865 @@
package egovframework.com.cmm.util;
import java.security.SecureRandom;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
import java.util.HashMap;
import java.util.Locale;
import java.util.Map;
import java.util.TimeZone;
import com.ibm.icu.util.ChineseCalendar;
/**
*
* Date Util
* @author
* @since 2009.02.01
* @version 1.0
* @see
*
* <pre>
* << (Modification Information) >>
*
*
* ------- -------- ---------------------------
* 2009.02.01
*
* </pre>
*/
public class EgovDateUtil {
/**
* <p>yyyyMMdd yyyy-MM-dd , ,
* . , , , .</p>
*
* <pre>
* DateUtil.addYearMonthDay("19810828", 0, 0, 19) = "19810916"
* DateUtil.addYearMonthDay("20060228", 0, 0, -10) = "20060218"
* DateUtil.addYearMonthDay("20060228", 0, 0, 10) = "20060310"
* DateUtil.addYearMonthDay("20060228", 0, 0, 32) = "20060401"
* DateUtil.addYearMonthDay("20050331", 0, -1, 0) = "20050228"
* DateUtil.addYearMonthDay("20050301", 0, 2, 30) = "20050531"
* DateUtil.addYearMonthDay("20050301", 1, 2, 30) = "20060531"
* DateUtil.addYearMonthDay("20040301", 2, 0, 0) = "20060301"
* DateUtil.addYearMonthDay("20040229", 2, 0, 0) = "20060228"
* DateUtil.addYearMonthDay("20040229", 2, 0, 1) = "20060301"
* </pre>
*
* @param dateStr (yyyyMMdd, yyyy-MM-dd )
* @param year . 0
* @param month . 0
* @param day . 0
* @return yyyyMMdd
* @throws IllegalArgumentException .
* <code>null</code> .
*/
public static String addYearMonthDay(String sDate, int year, int month, int day) {
String dateStr = validChkDate(sDate);
Calendar cal = Calendar.getInstance();
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd", Locale.getDefault());
try {
cal.setTime(sdf.parse(dateStr));
} catch (ParseException e) {
throw new IllegalArgumentException("Invalid date format: " + dateStr);
}
if (year != 0) {
cal.add(Calendar.YEAR, year);
}
if (month != 0) {
cal.add(Calendar.MONTH, month);
}
if (day != 0) {
cal.add(Calendar.DATE, day);
}
return sdf.format(cal.getTime());
}
/**
* <p>yyyyMMdd yyyy-MM-dd
* . <code>year</code> , .</p>
*
* <pre>
* DateUtil.addYear("20000201", 62) = "20620201"
* DateUtil.addYear("20620201", -62) = "20000201"
* DateUtil.addYear("20040229", 2) = "20060228"
* DateUtil.addYear("20060228", -2) = "20040228"
* DateUtil.addYear("19000101", 200) = "21000101"
* </pre>
*
* @param dateStr (yyyyMMdd, yyyy-MM-dd )
* @param year . 0
* @return yyyyMMdd
* @throws IllegalArgumentException .
* <code>null</code> .
*/
public static String addYear(String dateStr, int year) {
return addYearMonthDay(dateStr, year, 0, 0);
}
/**
* <p>yyyyMMdd yyyy-MM-dd
* . <code>month</code> , .</p>
*
* <pre>
* DateUtil.addMonth("20010201", 12) = "20020201"
* DateUtil.addMonth("19800229", 12) = "19810228"
* DateUtil.addMonth("20040229", 12) = "20050228"
* DateUtil.addMonth("20050228", -12) = "20040228"
* DateUtil.addMonth("20060131", 1) = "20060228"
* DateUtil.addMonth("20060228", -1) = "20060128"
* </pre>
*
* @param dateStr (yyyyMMdd, yyyy-MM-dd )
* @param month . 0
* @return yyyyMMdd
* @throws IllegalArgumentException .
* <code>null</code> .
*/
public static String addMonth(String dateStr, int month) {
return addYearMonthDay(dateStr, 0, month, 0);
}
/**
* <p>yyyyMMdd yyyy-MM-dd (day)
* . <code>day</code> , .
* <br/><br/>
* addDays ParseException
* .</p>
*
* <pre>
* DateUtil.addDay("19991201", 62) = "20000201"
* DateUtil.addDay("20000201", -62) = "19991201"
* DateUtil.addDay("20050831", 3) = "20050903"
* DateUtil.addDay("20050831", 3) = "20050903"
* // 2006년 6월 31일은 실제로 존재하지 않는 날짜이다 -> 20060701로 간주된다
* DateUtil.addDay("20060631", 1) = "20060702"
* </pre>
*
* @param dateStr (yyyyMMdd, yyyy-MM-dd )
* @param day . 0
* @return yyyyMMdd
* @throws IllegalArgumentException .
* <code>null</code> .
*/
public static String addDay(String dateStr, int day) {
return addYearMonthDay(dateStr, 0, 0, day);
}
/**
* <p>yyyyMMdd yyyy-MM-dd <code>dateStr1</code> <code>
* dateStr2</code> .<br>
* <code>dateStr2</code> <code>dateStr1</code>
* . 0 .</p>
*
* <pre>
* DateUtil.getDaysDiff("20060228","20060310") = 10
* DateUtil.getDaysDiff("20060101","20070101") = 365
* DateUtil.getDaysDiff("19990228","19990131") = -28
* DateUtil.getDaysDiff("20060801","20060802") = 1
* DateUtil.getDaysDiff("20060801","20060801") = 0
* </pre>
*
* @param dateStr1 (yyyyMMdd, yyyy-MM-dd )
* @param dateStr2 (yyyyMMdd, yyyy-MM-dd )
* @return .
* @throws IllegalArgumentException .
* <code>null</code> .
*/
public static int getDaysDiff(String sDate1, String sDate2) {
String dateStr1 = validChkDate(sDate1);
String dateStr2 = validChkDate(sDate2);
if (!checkDate(sDate1) || !checkDate(sDate2)) {
throw new IllegalArgumentException("Invalid date format: args[0]=" + sDate1 + " args[1]=" + sDate2);
}
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd", Locale.getDefault());
Date date1 = null;
Date date2 = null;
try {
date1 = sdf.parse(dateStr1);
date2 = sdf.parse(dateStr2);
} catch (ParseException e) {
throw new IllegalArgumentException("Invalid date format: args[0]=" + dateStr1 + " args[1]=" + dateStr2);
}
if (date1 != null && date2 != null) {
int days1 = (int) ((date1.getTime() / 3600000) / 24);
int days2 = (int) ((date2.getTime() / 3600000) / 24);
return days2 - days1;
} else {
return 0;
}
}
/**
* <p>yyyyMMdd yyyy-MM-dd .</p>
*
* <pre>
* DateUtil.checkDate("1999-02-35") = false
* DateUtil.checkDate("2000-13-31") = false
* DateUtil.checkDate("2006-11-31") = false
* DateUtil.checkDate("2006-2-28") = false
* DateUtil.checkDate("2006-2-8") = false
* DateUtil.checkDate("20060228") = true
* DateUtil.checkDate("2006-02-28") = true
* </pre>
*
* @param dateStr (yyyyMMdd, yyyy-MM-dd )
* @return
*/
public static boolean checkDate(String sDate) {
String dateStr = validChkDate(sDate);
String year = dateStr.substring(0, 4);
String month = dateStr.substring(4, 6);
String day = dateStr.substring(6);
return checkDate(year, month, day);
}
/**
* <p> , , .</p>
*
* @param year
* @param month
* @param day
* @return
*/
public static boolean checkDate(String year, String month, String day) {
try {
SimpleDateFormat formatter = new SimpleDateFormat("yyyy.MM.dd", Locale.getDefault());
Date result = formatter.parse(year + "." + month + "." + day);
String resultStr = formatter.format(result);
if (resultStr.equalsIgnoreCase(year + "." + month + "." + day))
return true;
else
return false;
} catch (ParseException e) {
return false;
}
}
/**
* String TimeZone
*
* @param strSource String
* @param fromDateFormat
* @param toDateFormat
* @param strTimeZone TimeZone("" )
* @return String String
*/
public static String convertDate(String strSource, String fromDateFormat, String toDateFormat, String strTimeZone) {
SimpleDateFormat simpledateformat = null;
Date date = null;
String fromFormat = "";
String toFormat = "";
if (EgovStringUtil.isNullToString(strSource).trim().equals("")) {
return "";
}
if (EgovStringUtil.isNullToString(fromDateFormat).trim().equals(""))
fromFormat = "yyyyMMddHHmmss"; // default값
if (EgovStringUtil.isNullToString(toDateFormat).trim().equals(""))
toFormat = "yyyy-MM-dd HH:mm:ss"; // default값
try {
simpledateformat = new SimpleDateFormat(fromFormat, Locale.getDefault());
date = simpledateformat.parse(strSource);
if (!EgovStringUtil.isNullToString(strTimeZone).trim().equals("")) {
simpledateformat.setTimeZone(TimeZone.getTimeZone(strTimeZone));
}
simpledateformat = new SimpleDateFormat(toFormat, Locale.getDefault());
} catch (ParseException exception) {
throw new RuntimeException(exception);
}
return simpledateformat.format(date);
}
/**
* yyyyMMdd (ch) <br/>
* <pre>
* ex) 20030405, ch(.) -> 2003.04.05
* ex) 200304, ch(.) -> 2003.04
* ex) 20040101,ch(/) --> 2004/01/01
* </pre>
*
* @param date yyyyMMdd
* @param ch
* @return
*/
public static String formatDate(String sDate, String ch) {
String dateStr = validChkDate(sDate);
String str = dateStr.trim();
String yyyy = "";
String mm = "";
String dd = "";
if (str.length() == 8) {
yyyy = str.substring(0, 4);
if (yyyy.equals("0000")) {
return "";
}
mm = str.substring(4, 6);
if (mm.equals("00")) {
return yyyy;
}
dd = str.substring(6, 8);
if (dd.equals("00")) {
return yyyy + ch + mm;
}
return yyyy + ch + mm + ch + dd;
} else if (str.length() == 6) {
yyyy = str.substring(0, 4);
if (yyyy.equals("0000")) {
return "";
}
mm = str.substring(4, 6);
if (mm.equals("00")) {
return yyyy;
}
return yyyy + ch + mm;
} else if (str.length() == 4) {
yyyy = str.substring(0, 4);
if (yyyy.equals("0000")) {
return "";
} else {
return yyyy;
}
} else {
return "";
}
}
/**
* HH24MISS (ch) <br>
* <pre>
* ex) 151241, ch(/) -> 15/12/31
* </pre>
*
* @param str HH24MISS
* @param ch
* @return
*/
public static String formatTime(String sTime, String ch) {
String timeStr = validChkTime(sTime);
return timeStr.substring(0, 2) + ch + timeStr.substring(2, 4) + ch + timeStr.substring(4, 6);
}
/**
* 2 () .
*
* @param year
* @return 2 ()
*/
public String leapYear(int year) {
if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) {
return "29";
}
return "28";
}
/**
* <p> .</p>
*
* <pre>
* DateUtil.isLeapYear(2004) = false
* DateUtil.isLeapYear(2005) = true
* DateUtil.isLeapYear(2006) = true
* </pre>
*
* @param year
* @return
*/
public static boolean isLeapYear(int year) {
if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) {
return false;
}
return true;
}
/**
* () . <BR>
* yyyy-mm-dd <BR>
* @return String yyyymmdd . <BR>
*/
public static String getToday() {
return getCurrentDate("");
}
/**
* () . <BR>
* yyyy-mm-dd <BR>
* @return String yyyymmdd . <BR>
*/
public static String getCurrentDate(String dateType) {
Calendar aCalendar = Calendar.getInstance();
int year = aCalendar.get(Calendar.YEAR);
int month = aCalendar.get(Calendar.MONTH) + 1;
int date = aCalendar.get(Calendar.DATE);
String strDate = Integer.toString(year)
+ ((month < 10) ? "0" + Integer.toString(month) : Integer.toString(month))
+ ((date < 10) ? "0" + Integer.toString(date) : Integer.toString(date));
if (!"".equals(dateType)) {
strDate = convertDate(strDate, "yyyyMMdd", dateType);
}
return strDate;
}
/**
* String
* @param sDate
* @param sTime
* @param sFormatStr
* @return /
* @See Letter Date or Time Component Presentation Examples
G Era designator Text AD
y Year Year 1996; 96
M Month in year Month July; Jul; 07
w Week in year Number 27
W Week in month Number 2
D Day in year Number 189
d Day in month Number 10
F Day of week in month Number 2
E Day in week Text Tuesday; Tue
a Am/pm marker Text PM
H Hour in day (0-23) Number 0
k Hour in day (1-24) Number 24
K Hour in am/pm (0-11) Number 0
h Hour in am/pm (1-12) Number 12
m Minute in hour Number 30
s Second in minute Number 55
S Millisecond Number 978
z Time zone General time zone Pacific Standard Time; PST; GMT-08:00
Z Time zone RFC 822 time zone -0800
Date and Time Pattern Result
"yyyy.MM.dd G 'at' HH:mm:ss z" 2001.07.04 AD at 12:08:56 PDT
"EEE, MMM d, ''yy" Wed, Jul 4, '01
"h:mm a" 12:08 PM
"hh 'o''clock' a, zzzz" 12 o'clock PM, Pacific Daylight Time
"K:mm a, z" 0:08 PM, PDT
"yyyyy.MMMMM.dd GGG hh:mm aaa" 02001.July.04 AD 12:08 PM
"EEE, d MMM yyyy HH:mm:ss Z" Wed, 4 Jul 2001 12:08:56 -0700
"yyMMddHHmmssZ" 010704120856-0700
*/
public static String convertDate(String sDate, String sTime, String sFormatStr) {
String dateStr = validChkDate(sDate);
String timeStr = validChkTime(sTime);
Calendar cal = null;
cal = Calendar.getInstance();
cal.set(Calendar.YEAR, Integer.parseInt(dateStr.substring(0, 4)));
cal.set(Calendar.MONTH, Integer.parseInt(dateStr.substring(4, 6)) - 1);
cal.set(Calendar.DAY_OF_MONTH, Integer.parseInt(dateStr.substring(6, 8)));
cal.set(Calendar.HOUR_OF_DAY, Integer.parseInt(timeStr.substring(0, 2)));
cal.set(Calendar.MINUTE, Integer.parseInt(timeStr.substring(2, 4)));
SimpleDateFormat sdf = new SimpleDateFormat(sFormatStr, Locale.ENGLISH);
return sdf.format(cal.getTime());
}
/**
*
* @param sDate1
* @param sDate2
* @return
*/
public static String getRandomDate(String sDate1, String sDate2) {
String dateStr1 = validChkDate(sDate1);
String dateStr2 = validChkDate(sDate2);
String randomDate = null;
int sYear, sMonth, sDay;
int eYear, eMonth, eDay;
sYear = Integer.parseInt(dateStr1.substring(0, 4));
sMonth = Integer.parseInt(dateStr1.substring(4, 6));
sDay = Integer.parseInt(dateStr1.substring(6, 8));
eYear = Integer.parseInt(dateStr2.substring(0, 4));
eMonth = Integer.parseInt(dateStr2.substring(4, 6));
eDay = Integer.parseInt(dateStr2.substring(6, 8));
GregorianCalendar beginDate = new GregorianCalendar(sYear, sMonth - 1, sDay, 0, 0);
GregorianCalendar endDate = new GregorianCalendar(eYear, eMonth - 1, eDay, 23, 59);
if (endDate.getTimeInMillis() < beginDate.getTimeInMillis()) {
throw new IllegalArgumentException("Invalid input date : " + sDate1 + "~" + sDate2);
}
SecureRandom r = new SecureRandom();
r.setSeed(new Date().getTime());
long rand = ((r.nextLong() >>> 1) % (endDate.getTimeInMillis() - beginDate.getTimeInMillis() + 1)) + beginDate.getTimeInMillis();
GregorianCalendar cal = new GregorianCalendar();
//SimpleDateFormat calformat = new SimpleDateFormat("yyyy-MM-dd");
SimpleDateFormat calformat = new SimpleDateFormat("yyyyMMdd", Locale.ENGLISH);
cal.setTimeInMillis(rand);
randomDate = calformat.format(cal.getTime());
// 랜덤문자열를 리턴
return randomDate;
}
/**
*
* @param sDate
* @return
*/
public static Map<String, String> toLunar(String sDate) {
String dateStr = validChkDate(sDate);
Map<String, String> hm = new HashMap<String, String>();
hm.put("day", "");
hm.put("leap", "0");
if (dateStr.length() != 8) {
return hm;
}
Calendar cal;
ChineseCalendar lcal;
cal = Calendar.getInstance();
lcal = new ChineseCalendar();
cal.set(Calendar.YEAR, Integer.parseInt(dateStr.substring(0, 4)));
cal.set(Calendar.MONTH, Integer.parseInt(dateStr.substring(4, 6)) - 1);
cal.set(Calendar.DAY_OF_MONTH, Integer.parseInt(dateStr.substring(6, 8)));
lcal.setTimeInMillis(cal.getTimeInMillis());
String year = String.valueOf(lcal.get(ChineseCalendar.EXTENDED_YEAR) - 2637);
String month = String.valueOf(lcal.get(ChineseCalendar.MONTH) + 1);
String day = String.valueOf(lcal.get(ChineseCalendar.DAY_OF_MONTH));
String leap = String.valueOf(lcal.get(ChineseCalendar.IS_LEAP_MONTH));
String pad4Str = "0000";
String pad2Str = "00";
String retYear = (pad4Str + year).substring(year.length());
String retMonth = (pad2Str + month).substring(month.length());
String retDay = (pad2Str + day).substring(day.length());
String SDay = retYear + retMonth + retDay;
hm.put("day", SDay);
hm.put("leap", leap);
return hm;
}
/**
*
* @param sDate
* @param iLeapMonth (IS_LEAP_MONTH)
* @return
*/
public static String toSolar(String sDate, int iLeapMonth) {
String dateStr = validChkDate(sDate);
Calendar cal;
ChineseCalendar lcal;
cal = Calendar.getInstance();
lcal = new ChineseCalendar();
lcal.set(ChineseCalendar.EXTENDED_YEAR, Integer.parseInt(dateStr.substring(0, 4)) + 2637);
lcal.set(ChineseCalendar.MONTH, Integer.parseInt(dateStr.substring(4, 6)) - 1);
lcal.set(ChineseCalendar.DAY_OF_MONTH, Integer.parseInt(dateStr.substring(6, 8)));
lcal.set(ChineseCalendar.IS_LEAP_MONTH, iLeapMonth);
cal.setTimeInMillis(lcal.getTimeInMillis());
String year = String.valueOf(cal.get(Calendar.YEAR));
String month = String.valueOf(cal.get(Calendar.MONTH) + 1);
String day = String.valueOf(cal.get(Calendar.DAY_OF_MONTH));
String pad4Str = "0000";
String pad2Str = "00";
String retYear = (pad4Str + year).substring(year.length());
String retMonth = (pad2Str + month).substring(month.length());
String retDay = (pad2Str + day).substring(day.length());
return retYear + retMonth + retDay;
}
/**
*
* @param sWeek
* @return
*/
public static String convertWeek(String sWeek) {
String retStr = null;
if (sWeek.equals("SUN")) {
retStr = "일요일";
} else if (sWeek.equals("MON")) {
retStr = "월요일";
} else if (sWeek.equals("TUE")) {
retStr = "화요일";
} else if (sWeek.equals("WED")) {
retStr = "수요일";
} else if (sWeek.equals("THR")) {
retStr = "목요일";
} else if (sWeek.equals("FRI")) {
retStr = "금요일";
} else if (sWeek.equals("SAT")) {
retStr = "토요일";
}
return retStr;
}
/**
*
* @param sDate
* @return
*/
public static boolean validDate(String sDate) {
String dateStr = validChkDate(sDate);
Calendar cal;
boolean ret = false;
cal = Calendar.getInstance();
cal.set(Calendar.YEAR, Integer.parseInt(dateStr.substring(0, 4)));
cal.set(Calendar.MONTH, Integer.parseInt(dateStr.substring(4, 6)) - 1);
cal.set(Calendar.DAY_OF_MONTH, Integer.parseInt(dateStr.substring(6, 8)));
String year = String.valueOf(cal.get(Calendar.YEAR));
String month = String.valueOf(cal.get(Calendar.MONTH) + 1);
String day = String.valueOf(cal.get(Calendar.DAY_OF_MONTH));
String pad4Str = "0000";
String pad2Str = "00";
String retYear = (pad4Str + year).substring(year.length());
String retMonth = (pad2Str + month).substring(month.length());
String retDay = (pad2Str + day).substring(day.length());
String retYMD = retYear + retMonth + retDay;
if (sDate.equals(retYMD)) {
ret = true;
}
return ret;
}
/**
* ,
* @param sDate
* @param sWeek (DAY_OF_WEEK)
* @return
*/
public static boolean validDate(String sDate, int sWeek) {
String dateStr = validChkDate(sDate);
Calendar cal;
boolean ret = false;
cal = Calendar.getInstance();
cal.set(Calendar.YEAR, Integer.parseInt(dateStr.substring(0, 4)));
cal.set(Calendar.MONTH, Integer.parseInt(dateStr.substring(4, 6)) - 1);
cal.set(Calendar.DAY_OF_MONTH, Integer.parseInt(dateStr.substring(6, 8)));
int Week = cal.get(Calendar.DAY_OF_WEEK);
if (validDate(sDate)) {
if (sWeek == Week) {
ret = true;
}
}
return ret;
}
/**
*
* @param sTime
* @return
*/
public static boolean validTime(String sTime) {
String timeStr = validChkTime(sTime);
Calendar cal;
boolean ret = false;
cal = Calendar.getInstance();
cal.set(Calendar.HOUR_OF_DAY, Integer.parseInt(timeStr.substring(0, 2)));
cal.set(Calendar.MINUTE, Integer.parseInt(timeStr.substring(2, 4)));
String HH = String.valueOf(cal.get(Calendar.HOUR_OF_DAY));
String MM = String.valueOf(cal.get(Calendar.MINUTE));
String pad2Str = "00";
String retHH = (pad2Str + HH).substring(HH.length());
String retMM = (pad2Str + MM).substring(MM.length());
String retTime = retHH + retMM;
if (sTime.equals(retTime)) {
ret = true;
}
return ret;
}
/**
* , ,
* @param sDate
* @param year
* @param month
* @param day
* @return (DAY_OF_WEEK)
*/
public static String addYMDtoWeek(String sDate, int year, int month, int day) {
String dateStr = validChkDate(sDate);
dateStr = addYearMonthDay(dateStr, year, month, day);
Calendar cal = Calendar.getInstance();
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd", Locale.ENGLISH);
try {
cal.setTime(sdf.parse(dateStr));
} catch (ParseException e) {
throw new IllegalArgumentException("Invalid date format: " + dateStr);
}
SimpleDateFormat rsdf = new SimpleDateFormat("E", Locale.ENGLISH);
return rsdf.format(cal.getTime());
}
/**
* , , , , ,
* @param sDate
* @param sTime
* @param year
* @param month
* @param day
* @param hour
* @param minute
* @param formatStr
* @return
*/
public static String addYMDtoDayTime(String sDate, String sTime, int year, int month, int day, int hour, int minute, String formatStr) {
String dateStr = validChkDate(sDate);
String timeStr = validChkTime(sTime);
dateStr = addYearMonthDay(dateStr, year, month, day);
dateStr = convertDate(dateStr, timeStr, "yyyyMMddHHmm");
Calendar cal = Calendar.getInstance();
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmm", Locale.ENGLISH);
try {
cal.setTime(sdf.parse(dateStr));
} catch (ParseException e) {
throw new IllegalArgumentException("Invalid date format: " + dateStr);
}
if (hour != 0) {
cal.add(Calendar.HOUR, hour);
}
if (minute != 0) {
cal.add(Calendar.MINUTE, minute);
}
SimpleDateFormat rsdf = new SimpleDateFormat(formatStr, Locale.ENGLISH);
return rsdf.format(cal.getTime());
}
/**
* int
* @param sDate
* @return int()
*/
public static int datetoInt(String sDate) {
return Integer.parseInt(convertDate(sDate, "0000", "yyyyMMdd"));
}
/**
* int
* @param sTime
* @return int()
*/
public static int timetoInt(String sTime) {
return Integer.parseInt(convertDate("00000101", sTime, "HHmm"));
}
/**
* 8
* @param sDate
* @return
*/
public static String validChkDate(String dateStr) {
if (dateStr == null || !(dateStr.trim().length() == 8 || dateStr.trim().length() == 10)) {
throw new IllegalArgumentException("Invalid date format: " + dateStr);
}
if (dateStr.length() == 10) {
return EgovStringUtil.removeMinusChar(dateStr);
}
return dateStr;
}
/**
* 8
* @param sDate
* @return
*/
public static String validChkTime(String timeStr) {
if (timeStr == null || !(timeStr.trim().length() == 4)) {
throw new IllegalArgumentException("Invalid time format: " + timeStr);
}
if (timeStr.length() == 5) {
timeStr = EgovStringUtil.remove(timeStr, ':');
}
return timeStr;
}
}

View File

@ -0,0 +1,80 @@
package egovframework.com.cmm.util;
import java.util.Map;
import java.util.UUID;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
/**
* Utility class to support to double submit preventer
* @author Vincent Han
* @since 2014.08.07
* @version 1.0
* @see
*
* <pre>
* << (Modification Information) >>
*
*
* ------- -------- ---------------------------
* 2014.08.07
*
* </pre>
*/
public class EgovDoubleSubmitHelper {
private static final Logger LOGGER = LoggerFactory.getLogger(EgovDoubleSubmitHelper.class);
public final static String SESSION_TOKEN_KEY = "egovframework.double.submit.preventer.session.key";
public final static String PARAMETER_NAME = "egovframework.double.submit.preventer.parameter.name";
public final static String DEFAULT_TOKEN_KEY = "DEFAULT";
public static String getNewUUID() {
return UUID.randomUUID().toString().toUpperCase();
}
public static boolean checkAndSaveToken() {
return checkAndSaveToken(DEFAULT_TOKEN_KEY);
}
public static boolean checkAndSaveToken(String tokenKey) {
HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
HttpSession session = request.getSession();
// check session...
if (session.getAttribute(EgovDoubleSubmitHelper.SESSION_TOKEN_KEY) == null) {
throw new RuntimeException("Double Submit Preventer TagLig isn't set. Check JSP.");
}
String parameter = request.getParameter(EgovDoubleSubmitHelper.PARAMETER_NAME);
// check parameter
if (parameter == null) {
throw new RuntimeException("Double Submit Preventer parameter isn't set. Check JSP.");
}
@SuppressWarnings("unchecked")
Map<String, String> map = (Map<String, String>) session.getAttribute(EgovDoubleSubmitHelper.SESSION_TOKEN_KEY);
if (parameter.equals(map.get(tokenKey))) {
LOGGER.debug("[Double Submit] session token ({}) equals to parameter token.", tokenKey);
map.put(tokenKey, getNewUUID());
return true;
}
LOGGER.debug("[Double Submit] session token ({}) isn't equal to parameter token.", tokenKey);
return false;
}
}

View File

@ -0,0 +1,294 @@
/**
* @Class Name : EgovEhgtCalcUtil.java
* @Description : , ,, ,
* Business Interface class
* @Modification Information
* @
* @
* @ ------- -------- ---------------------------
* @ 2009.01.13
*
* @author
* @since 2009. 01. 13
* @version 1.0
* @see
*
*/
package egovframework.com.cmm.util;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.math.BigDecimal;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import egovframework.com.cmm.util.EgovResourceCloseHelper;
import javax.swing.text.html.HTMLEditorKit;
import javax.swing.text.html.parser.ParserDelegator;
public class EgovEhgtCalcUtil {
// 환율....
static final char EGHT_USD = 'U'; // 미국
static final char EGHT_JPY = 'J'; // 일본
static final char EGHT_EUR = 'E'; // 유럽연합
static final char EGHT_CNY = 'C'; // 중국연합
static final char EGHT_KWR = 'K'; // 대한민국
static StringBuffer sb = new StringBuffer();
/**
* (KRW), (USD), (EUR), (JPY), (CNY)
* - => (USD) - 1485.00(USD), -100(JPY) - 1596.26(JPY)
* : (KRW) - 1,000 -> (USD) => 1,000()/1485() = 0.67(URS)
* : (JPY) - 100,000 -> (KRW) => (100,000() * 1596.26()) / 100(100 ) = 1,596,260.00 (KRW)
* : (JPY) - 100,000 -> (USD) => (
* (100,000() * 1596.26()) / 100(100 ) = 1,596,260.00 (KRW)) / 1,485.00 = 1,074.92 (USD)
* @param srcType -
* @param srcAmount -
* @param cnvrType -
* @return
* @exception MyException
* @see
*/
public void readHtmlParsing(String str) {
HttpURLConnection con = null;
InputStream is = null;
InputStreamReader reader = null;
try {
//입력받은 URL에 연결하여 InputStream을 통해 읽은 후 파싱 한다.
URL url = new URL(str);
con = (HttpURLConnection) url.openConnection();
is = con.getInputStream();
reader = new InputStreamReader(is, "euc-kr");
//InputStreamReader reader = new InputStreamReader(con.getInputStream(), "utf-8");
new ParserDelegator().parse(reader, new CallbackHandler(), true);
con.disconnect();
} catch (MalformedURLException e) {
throw new RuntimeException(e);
} catch (IOException e) {
throw new RuntimeException(e);
} finally {
EgovResourceCloseHelper.close(reader, is);
if (con != null) {
con.disconnect();
}
}
}
//파서는 콜백 형식으로 되어 있다. 각 태그가 들어 올때 적절한 메소드가 호출됨
private class CallbackHandler extends HTMLEditorKit.ParserCallback {
public void handleText(char[] data, int pos) {
String srcStr = new String(data);
srcStr = EgovStringUtil.strip(srcStr, " ");
sb.append(srcStr).append("/");
}
}
public static String getEhgtCalc(String srcType, long srcAmount, String cnvrType) throws Exception {
String rtnStr = null;
String[] eghtStdrRt = null; // Html에서 파싱한 환율매매기준율을 저장하기 위한 문자열배열
double srcStdrRt = 0.00; // 원래 매매기준율
double cnvrStdrRt = 0.00; // 변환 매매기준율
//double cnvrAmount = 0.00; // 변환금액
String sCnvrAmount = null; // 변환금액
String srcStr = null;
String cnvrStr = null;
String srcTypeCnvr = srcType.toUpperCase();
String cnvrTypeCnvr = cnvrType.toUpperCase();
EgovEhgtCalcUtil parser = new EgovEhgtCalcUtil();
parser.readHtmlParsing("http://community.fxkeb.com/fxportal/jsp/RS/DEPLOY_EXRATE/4176_0.html");
if (sb == null) {
throw new RuntimeException("StringBuffer is null!!");
}
eghtStdrRt = EgovStringUtil.split(sb.toString(), "/");
if (eghtStdrRt == null || (eghtStdrRt.length == 0))
throw new RuntimeException("String Split Error!");
char srcChr = srcTypeCnvr.charAt(0);
char cnvrChr = cnvrTypeCnvr.charAt(0);
// 원래 환율기준 정의
switch (srcChr) {
case EGHT_USD: // 미국
srcStr = "USD";
break;
case EGHT_JPY: // 일본
srcStr = "JPY";
break;
case EGHT_EUR: // 유럽연합
srcStr = "EUR";
break;
case EGHT_CNY: // 중국연합
srcStr = "CNY";
break;
default:
srcStr = "USD";
break;
}
// 변환하고자 하는 환율기준 정의
switch (cnvrChr) {
case EGHT_USD: // 미국
cnvrStr = "USD";
break;
case EGHT_JPY: // 일본
cnvrStr = "JPY";
break;
case EGHT_EUR: // 유럽연합
cnvrStr = "EUR";
break;
case EGHT_CNY: // 중국연합
cnvrStr = "CNY";
break;
default:
cnvrStr = "KRW";
break;
}
// 변환하고자 하는 국가의 환율매매기준율 추출...
for (int i = 0; i < eghtStdrRt.length; i++) {
// 원래 매매기준율 추출
if (eghtStdrRt[i].equals(srcStr)) {
srcStdrRt = Double.parseDouble(eghtStdrRt[i + 1]);
if (i == (eghtStdrRt.length - 1))
break;
}
// 변환 매매기준율 추출
if (eghtStdrRt[i].equals(cnvrStr)) {
cnvrStdrRt = Double.parseDouble(eghtStdrRt[i + 1]);
if (i == (eghtStdrRt.length - 1))
break;
}
}
// 정확한 계산을 위한 BigDecimal 형태로 구현.
BigDecimal bSrcAmount = new BigDecimal(String.valueOf(srcAmount)); // 변환하고자 하는 금액
BigDecimal bSrcStdrRt = new BigDecimal(String.valueOf(srcStdrRt)); // 원래 매매 비율
BigDecimal bCnvrStdrRt = new BigDecimal(String.valueOf(cnvrStdrRt)); // 변환 매매 비율
BigDecimal bStdr = new BigDecimal("100"); // 변환 매매 비율
// 원래 매매기준율 및 변환매매기준율 기준으로 환율금액 계산
switch (srcChr) {
case EGHT_KWR: // 대한민국
if (cnvrChr == 'K')
//변환금액 = 변환대상금액;
sCnvrAmount = bSrcAmount.toString();
else if (cnvrChr == 'J')
//변환금액 = (변환대상금액 / 변환매매비율) * 100;
sCnvrAmount = (bSrcAmount.divide(bCnvrStdrRt, 4, 4)).multiply(bStdr).setScale(2, 4).toString();
else
//변환금액 = (변환대상금액 / 변환매매비율);
sCnvrAmount = bSrcAmount.divide(bCnvrStdrRt, 2, 4).toString();
break;
case EGHT_USD: // 미국
if (cnvrChr == 'U')
//변환금액 = 변환대상금액;
sCnvrAmount = bSrcAmount.toString();
else if (cnvrChr == 'K')
//변환금액 = 변환대상금액 * 원래 매매 비율;
sCnvrAmount = bSrcAmount.multiply(bSrcStdrRt).setScale(2, 4).toString();
else if (cnvrChr == 'J')
//cnvrAmount = ((변환대상금액 * 원래 매매 비율) / 변환 매매 비율) * 100;
sCnvrAmount = ((bSrcAmount.multiply(bSrcStdrRt).setScale(4, 4)).divide(bCnvrStdrRt, 2, 4)).multiply(bStdr).setScale(2, 4).toString();
else
//cnvrAmount = (변환대상금액 * 원래 매매 비율) / 변환 매매 비율;
sCnvrAmount = (bSrcAmount.multiply(bSrcStdrRt).setScale(4, 4)).divide(bCnvrStdrRt, 2, 4).toString();
break;
case EGHT_EUR: // 유럽연합
if (cnvrChr == 'E')
//변환금액 = 변환대상금액;
sCnvrAmount = bSrcAmount.toString();
else if (cnvrChr == 'K')
//cnvrAmount = 변환대상금액 * 원래 매매 비율;
sCnvrAmount = bSrcAmount.multiply(bSrcStdrRt).setScale(2, 4).toString();
else if (cnvrChr == 'J')
//cnvrAmount = ((변환대상금액 * 원래 매매 비율) / 변환 매매 비율) * 100;
sCnvrAmount = ((bSrcAmount.multiply(bSrcStdrRt).setScale(4, 4)).divide(bCnvrStdrRt, 2, 4)).multiply(bStdr).setScale(2, 4).toString();
else
//cnvrAmount = (변환대상금액 * 원래 매매 비율) / 변환 매매 비율;
sCnvrAmount = (bSrcAmount.multiply(bSrcStdrRt).setScale(4, 4)).divide(bCnvrStdrRt, 2, 4).toString();
break;
case EGHT_JPY: // 일본
if (cnvrChr == 'J')
//변환금액 = 변환대상금액;
sCnvrAmount = bSrcAmount.toString();
else if (cnvrChr == 'K')
//cnvrAmount = (변환대상금액 * 원래 매매 비율) / 100;
sCnvrAmount = (bSrcAmount.multiply(bSrcStdrRt).setScale(4, 4)).divide(bStdr, 2, 4).toString();
else
//cnvrAmount = ((변환대상금액 * 원래 매매 비율) / 100) / 변환 매매 비율;
sCnvrAmount = ((bSrcAmount.multiply(bSrcStdrRt).setScale(4, 4)).divide(bStdr, 2, 4)).divide(bCnvrStdrRt, 2, 4).toString();
break;
case EGHT_CNY: // 중국연합
if (cnvrChr == 'C')
//변환금액 = 변환대상금액;
sCnvrAmount = bSrcAmount.toString();
else if (cnvrChr == 'K')
//cnvrAmount = 변환대상금액 * 원래 매매 비율;
sCnvrAmount = bSrcAmount.multiply(bSrcStdrRt).setScale(2, 4).toString();
else if (cnvrChr == 'J')
//cnvrAmount = ((변환대상금액 * 원래 매매 비율) / 변환 매매 비율) * 100;
sCnvrAmount = ((bSrcAmount.multiply(bSrcStdrRt).setScale(4, 4)).divide(bCnvrStdrRt, 2, 4)).multiply(bStdr).setScale(2, 4).toString();
else
//cnvrAmount = (변환대상금액 * 원래 매매 비율) / 변환 매매 비율;
sCnvrAmount = (bSrcAmount.multiply(bSrcStdrRt).setScale(4, 4)).divide(bCnvrStdrRt, 2, 4).toString();
break;
default:
//변환금액 = (변환대상금액 / 변환매매비율);
sCnvrAmount = bSrcAmount.divide(bCnvrStdrRt, 2, 4).toString();
break;
}
rtnStr = sCnvrAmount + " " + cnvrStr;
return rtnStr;
}
}

View File

@ -0,0 +1,313 @@
package egovframework.com.cmm.util;
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStreamReader;
import java.security.MessageDigest;
import org.apache.commons.codec.binary.Base64;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/**
* Base64/ / Business Interface class
* @author
* @since 2009.01.19
* @version 1.0
* @see
*
* <pre>
* << (Modification Information) >>
*
*
* ------- -------- ---------------------------
* 2009.01.19
* 2011.08.31 JJY 릿
*
* </pre>
*/
public class EgovFileScrty {
// 파일구분자
static final char FILE_SEPARATOR = File.separatorChar;
// 버퍼사이즈
static final int BUFFER_SIZE = 1024;
private static final Logger LOGGER = LoggerFactory.getLogger(EgovFileScrty.class);
/**
*
*
* @param String source
* @param String target
* @return boolean result True/False
* @exception Exception
*/
public static boolean encryptFile(String source, String target) throws Exception {
// 암호화 여부
boolean result = false;
String sourceFile = source.replace('\\', FILE_SEPARATOR).replace('/', FILE_SEPARATOR);
String targetFile = target.replace('\\', FILE_SEPARATOR).replace('/', FILE_SEPARATOR);
File srcFile = new File(sourceFile);
BufferedInputStream input = null;
BufferedOutputStream output = null;
byte[] buffer = new byte[BUFFER_SIZE];
try {
if (srcFile.exists() && srcFile.isFile()) {
input = new BufferedInputStream(new FileInputStream(srcFile));
output = new BufferedOutputStream(new FileOutputStream(targetFile));
int length = 0;
while ((length = input.read(buffer)) >= 0) {
byte[] data = new byte[length];
System.arraycopy(buffer, 0, data, 0, length);
output.write(encodeBinary(data).getBytes());
output.write(System.getProperty("line.separator").getBytes());
}
result = true;
}
} finally {
if (input != null) {
try {
input.close();
} catch (Exception ignore) {
LOGGER.debug("IGNORE: {}" + ignore);
}
}
if (output != null) {
try {
output.close();
} catch (Exception ignore) {
LOGGER.debug("IGNORE: {}" + ignore);
}
}
}
return result;
}
/**
*
*
* @param String source
* @param String target
* @return boolean result True/False
* @exception Exception
*/
public static boolean decryptFile(String source, String target) throws Exception {
// 복호화 여부
boolean result = false;
String sourceFile = source.replace('\\', FILE_SEPARATOR).replace('/', FILE_SEPARATOR);
String targetFile = target.replace('\\', FILE_SEPARATOR).replace('/', FILE_SEPARATOR);
File srcFile = new File(sourceFile);
BufferedReader input = null;
BufferedOutputStream output = null;
//byte[] buffer = new byte[BUFFER_SIZE];
String line = null;
try {
if (srcFile.exists() && srcFile.isFile()) {
input = new BufferedReader(new InputStreamReader(new FileInputStream(srcFile)));
output = new BufferedOutputStream(new FileOutputStream(targetFile));
while ((line = input.readLine()) != null) {
byte[] data = line.getBytes();
output.write(decodeBinary(new String(data)));
}
result = true;
}
} finally {
if (input != null) {
try {
input.close();
} catch (Exception ignore) {
LOGGER.debug("IGNORE: {}" + ignore);
}
}
if (output != null) {
try {
output.close();
} catch (Exception ignore) {
LOGGER.debug("IGNORE: {}" + ignore);
}
}
}
return result;
}
/**
*
*
* @param byte[] data
* @return String result
* @exception Exception
*/
public static String encodeBinary(byte[] data) throws Exception {
if (data == null) {
return "";
}
return new String(Base64.encodeBase64(data));
}
/**
*
*
* @param String data
* @return String result
* @exception Exception
*/
public static String encode(String data) throws Exception {
return encodeBinary(data.getBytes());
}
/**
*
*
* @param String data
* @return String result
* @exception Exception
*/
public static byte[] decodeBinary(String data) throws Exception {
return Base64.decodeBase64(data.getBytes());
}
/**
*
*
* @param String data
* @return String result
* @exception Exception
*/
public static String decode(String data) throws Exception {
return new String(decodeBinary(data));
}
/**
* ( SHA-256 ).
*
* deprecated : salt ID encryptPassword(password, id)
*
* @param String data
* @return String result
* @exception Exception
*/
@Deprecated
public static String encryptPassword(String data) throws Exception {
if (data == null) {
return "";
}
byte[] plainText = null; // 평문
byte[] hashValue = null; // 해쉬값
plainText = data.getBytes();
MessageDigest md = MessageDigest.getInstance("SHA-256");
// 변경 시 기존 hash 값에 검증 불가.. => deprecated 시키고 유지
/*
// Random 방식의 salt 추가
SecureRandom ng = new SecureRandom();
byte[] randomBytes = new byte[16];
ng.nextBytes(randomBytes);
md.reset();
md.update(randomBytes);
*/
hashValue = md.digest(plainText);
/*
BASE64Encoder encoder = new BASE64Encoder();
return encoder.encode(hashValue);
*/
return new String(Base64.encodeBase64(hashValue));
}
/**
* ( SHA-256 )
*
* @param password
* @param id salt ID
* @return
* @throws Exception
*/
public static String encryptPassword(String password, String id) throws Exception {
if (password == null) {
return "";
}
byte[] hashValue = null; // 해쉬값
MessageDigest md = MessageDigest.getInstance("SHA-256");
md.reset();
md.update(id.getBytes());
hashValue = md.digest(password.getBytes());
return new String(Base64.encodeBase64(hashValue));
}
/**
* ( SHA-256 )
* @param data
* @param salt Salt
* @return
* @throws Exception
*/
public static String encryptPassword(String data, byte[] salt) throws Exception {
if (data == null) {
return "";
}
byte[] hashValue = null; // 해쉬값
MessageDigest md = MessageDigest.getInstance("SHA-256");
md.reset();
md.update(salt);
hashValue = md.digest(data.getBytes());
return new String(Base64.encodeBase64(hashValue));
}
/**
* (salt ).
*
* @param data
* @param encoded (Base64 )
* @return
* @throws Exception
*/
public static boolean checkPassword(String data, String encoded, byte[] salt) throws Exception {
byte[] hashValue = null; // 해쉬값
MessageDigest md = MessageDigest.getInstance("SHA-256");
md.reset();
md.update(salt);
hashValue = md.digest(data.getBytes());
return MessageDigest.isEqual(hashValue, Base64.decodeBase64(encoded.getBytes()));
}
}

View File

@ -0,0 +1,161 @@
package egovframework.com.cmm.util;
import java.io.File;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.multipart.MultipartHttpServletRequest;
/**
* @Class Name : EgovFileUploadUtil.java
* @Description : Spring File Upload
* @Modification Information
*
*
* ---------- -------- ---------------------------
* 2009.08.26
* 2018.08.17 uploadFilesExt( )
*
* @author
* @since 2009.08.26
* @version 1.0
* @see
*/
public class EgovFileUploadUtil extends EgovFormBasedFileUtil {
/**
* Upload .
*
* @param request
* @param where
* @param maxFileSize
* @return
* @throws Exception
*/
public static List<EgovFormBasedFileVo> uploadFiles(HttpServletRequest request, String where, long maxFileSize) throws Exception {
List<EgovFormBasedFileVo> list = new ArrayList<EgovFormBasedFileVo>();
MultipartHttpServletRequest mptRequest = (MultipartHttpServletRequest) request;
Iterator<?> fileIter = mptRequest.getFileNames();
while (fileIter.hasNext()) {
MultipartFile mFile = mptRequest.getFile((String) fileIter.next());
EgovFormBasedFileVo vo = new EgovFormBasedFileVo();
String tmp = mFile.getOriginalFilename();
if (tmp.lastIndexOf("\\") >= 0) {
tmp = tmp.substring(tmp.lastIndexOf("\\") + 1);
}
vo.setFileName(tmp);
vo.setContentType(mFile.getContentType());
vo.setServerSubPath(getTodayString());
vo.setPhysicalName(getPhysicalFileName());
vo.setSize(mFile.getSize());
if (tmp.lastIndexOf(".") >= 0) {
vo.setPhysicalName(vo.getPhysicalName()); // 2012.11 KISA 보안조치
}
if (mFile.getSize() > 0) {
InputStream is = null;
try {
is = mFile.getInputStream();
saveFile(is, new File(EgovWebUtil.filePathBlackList(where + SEPERATOR + vo.getServerSubPath() + SEPERATOR + vo.getPhysicalName())));
} finally {
if (is != null) {
is.close();
}
}
list.add(vo);
}
}
return list;
}
/**
* Upload( ) .
*
* @param request
* @param where
* @param maxFileSize
* @return
* @throws Exception
*/
public static List<EgovFormBasedFileVo> uploadFilesExt(HttpServletRequest request, String where, long maxFileSize, String extensionWhiteList) throws Exception {
List<EgovFormBasedFileVo> list = new ArrayList<EgovFormBasedFileVo>();
MultipartHttpServletRequest mptRequest = (MultipartHttpServletRequest) request;
Iterator<?> fileIter = mptRequest.getFileNames();
while (fileIter.hasNext()) {
List<MultipartFile> mFiles = mptRequest.getFiles((String) fileIter.next());
for(MultipartFile mFile : mFiles) {
EgovFormBasedFileVo vo = new EgovFormBasedFileVo();
String uploadName = mFile.getName();
String tmp = mFile.getOriginalFilename();
if("".equals(tmp) || tmp == null) continue; //파일 이름이 없으면 패스
if (tmp.lastIndexOf("\\") >= 0) {
tmp = tmp.substring(tmp.lastIndexOf("\\") + 1);
}
String ext = "";
if ( tmp.lastIndexOf(".") > 0 )
ext = getFileExtension(tmp).toLowerCase();
else
throw new SecurityException("Unacceptable file extension."); // 허용되지 않는 확장자 처리
if ( extensionWhiteList.indexOf(ext) < 0 )
throw new SecurityException("Unacceptable file extension."); // 허용되지 않는 확장자 처리
vo.setFileUploadName(uploadName);
vo.setFileName(tmp);
vo.setContentType(mFile.getContentType());
vo.setServerSubPath(getTodayString());
vo.setPhysicalName(getPhysicalFileName()+"_"+tmp); //기존 파일명 저장 방식으로 인하여 원본 파일명 추가
vo.setSize(mFile.getSize());
if (tmp.lastIndexOf(".") >= 0) {
vo.setPhysicalName(vo.getPhysicalName()); // 2012.11 KISA 보안조치
}
if (mFile.getSize() > 0) {
InputStream is = null;
try {
is = mFile.getInputStream();
saveFile(is, new File(EgovWebUtil.filePathBlackList(where + SEPERATOR + vo.getPhysicalName())));
} finally {
if (is != null) {
is.close();
}
}
list.add(vo);
}
}
}
return list;
}
/**
* .
*
* @param fileNamePath
* @return
*/
public static String getFileExtension(String fileNamePath) {
String ext = fileNamePath.substring(fileNamePath.lastIndexOf(".") + 1,fileNamePath.length());
return (ext == null) ? "" : ext;
}
}

View File

@ -0,0 +1,427 @@
package egovframework.com.cmm.util;
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.URL;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Locale;
import egovframework.com.cmm.util.EgovResourceCloseHelper;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.fileupload.FileItemIterator;
import org.apache.commons.fileupload.FileItemStream;
import org.apache.commons.fileupload.servlet.ServletFileUpload;
import org.apache.commons.fileupload.util.Streams;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/**
* @Class Name : EgovFormBasedFileUtil.java
* @Description : Form-based File Upload
* @Modification Information
*
*
* ------- -------- ---------------------------
* 2009.08.26
* 2017.03.03 (ES)- [CWE-253, CWE-440, CWE-754]
*
* @author
* @since 2009.08.26
* @version 1.0
* @see
*/
public class EgovFormBasedFileUtil {
/** Buffer size */
public static final int BUFFER_SIZE = 8192;
public static final String SEPERATOR = File.separator;
private static final Logger LOGGER = LoggerFactory.getLogger(EgovFormBasedFileUtil.class);
/**
* .
* ex) 20090101
* @return
*/
public static String getTodayString() {
SimpleDateFormat format = new SimpleDateFormat("yyyyMMdd", Locale.getDefault());
return format.format(new Date());
}
/**
* .
* @return
*/
public static String getPhysicalFileName() {
return EgovFormBasedUUID.randomUUID().toString().replaceAll("-", "").toUpperCase();
}
/**
* .
* @param filename String
* @return
* @throws Exception
*/
protected static String convert(String filename) throws Exception {
return java.net.URLEncoder.encode(filename, "utf-8").replace("+", " ");
//return filename;
}
/**
* Stream .
* @param is InputStream
* @param file File
* @throws IOException
*/
public static long saveFile(InputStream is, File file) throws IOException {
//KISA 보안약점 조치 (2018-10-29, 윤창원)
if (file.getParentFile() == null) {
LOGGER.debug("file.getParentFile() is null");
throw new RuntimeException("file.getParentFile() is null");
}
// 디렉토리 생성
if (!file.getParentFile().exists()) {
//2017.03.03 조성원 시큐어코딩(ES)-부적절한 예외 처리[CWE-253, CWE-440, CWE-754]
if(file.getParentFile().mkdirs()){
LOGGER.debug("[file.mkdirs] file : Directory Creation Success");
}else{
LOGGER.error("[file.mkdirs] file : Directory Creation Fail");
}
}
OutputStream os = null;
long size = 0L;
try {
os = new FileOutputStream(file);
int bytesRead = 0;
byte[] buffer = new byte[BUFFER_SIZE];
while ((bytesRead = is.read(buffer, 0, BUFFER_SIZE)) != -1) {
size += bytesRead;
os.write(buffer, 0, bytesRead);
}
os.flush();
} finally {
EgovResourceCloseHelper.close(os);
}
return size;
}
/**
* @Method_Name : saveUrl
* @Date : 2021. 11. 22.
* @Creator : ICTWAY KIM Yoon-Su
* @Method_Discription : url
* @param file
* @param urlString
* @throws Exception
*/
public static long saveUrl(File file, String urlString){
//KISA 보안약점 조치 (2018-10-29, 윤창원)
if (file.getParentFile() == null) {
LOGGER.debug("file.getParentFile() is null");
throw new RuntimeException("file.getParentFile() is null");
}
// 디렉토리 생성
if (!file.getParentFile().exists()) {
//2017.03.03 조성원 시큐어코딩(ES)-부적절한 예외 처리[CWE-253, CWE-440, CWE-754]
if(file.getParentFile().mkdirs()){
LOGGER.debug("[file.mkdirs] file : Directory Creation Success");
}else{
LOGGER.error("[file.mkdirs] file : Directory Creation Fail");
}
}
BufferedInputStream bis = null;
FileOutputStream fos = null;
long size = 0L;
try {
bis = new BufferedInputStream(new URL(urlString).openStream());
fos = new FileOutputStream(file);
final byte buffer[] = new byte[BUFFER_SIZE];
int bytesRead = 0;
while((bytesRead = bis.read(buffer, 0, BUFFER_SIZE)) != -1) {
size += bytesRead;
fos.write(buffer, 0, bytesRead);
}
fos.flush();
}catch(Exception e){
size = 0;
} finally {
EgovResourceCloseHelper.close(bis);
EgovResourceCloseHelper.close(fos);
}
return size;
}
/**
* Upload .
*
* @param request
* @param where
* @param maxFileSize
* @return
* @throws Exception
*/
public static List<EgovFormBasedFileVo> uploadFiles(HttpServletRequest request, String where, long maxFileSize) throws Exception {
List<EgovFormBasedFileVo> list = new ArrayList<EgovFormBasedFileVo>();
// Check that we have a file upload request
boolean isMultipart = ServletFileUpload.isMultipartContent(request);
if (isMultipart) {
// Create a new file upload handler
ServletFileUpload upload = new ServletFileUpload();
upload.setFileSizeMax(maxFileSize); // SizeLimitExceededException
// Parse the request
FileItemIterator iter = upload.getItemIterator(request);
while (iter.hasNext()) {
FileItemStream item = iter.next();
String name = item.getFieldName();
InputStream stream = item.openStream();
if (item.isFormField()) {
LOGGER.info("Form field '{}' with value '{}' detected.", name, Streams.asString(stream));
} else {
LOGGER.info("File field '{}' with file name '{}' detected.", name, item.getName());
if ("".equals(item.getName())) {
continue;
}
// Process the input stream
EgovFormBasedFileVo vo = new EgovFormBasedFileVo();
String tmp = item.getName();
if (tmp.lastIndexOf("\\") >= 0) {
tmp = tmp.substring(tmp.lastIndexOf("\\") + 1);
}
vo.setFileName(tmp);
vo.setContentType(item.getContentType());
vo.setServerSubPath(getTodayString());
vo.setPhysicalName(getPhysicalFileName());
if (tmp.lastIndexOf(".") >= 0) {
vo.setPhysicalName(vo.getPhysicalName() + tmp.substring(tmp.lastIndexOf(".")));
}
long size = saveFile(stream, new File(EgovWebUtil.filePathBlackList(where) + SEPERATOR + vo.getServerSubPath() + SEPERATOR + vo.getPhysicalName()));
vo.setSize(size);
list.add(vo);
}
}
} else {
throw new IOException("form's 'enctype' attribute have to be 'multipart/form-data'");
}
return list;
}
/**
* Download .
*
* @param response
* @param where
* @param serverSubPath
* @param physicalName
* @param original
* @throws Exception
*/
public static void downloadFile(HttpServletResponse response, String where, String physicalName, String original) throws Exception {
String downFileName = where + SEPERATOR + physicalName;
File file = new File(EgovWebUtil.filePathBlackList(downFileName));
if (!file.exists()) {
throw new FileNotFoundException(downFileName);
}
if (!file.isFile()) {
throw new FileNotFoundException(downFileName);
}
byte[] b = new byte[BUFFER_SIZE];
original = original.replaceAll("\r", "").replaceAll("\n", "");
response.setContentType("application/octet-stream");
response.setHeader("Content-Disposition", "attachment; filename=\"" + convert(original) + "\";");
response.setHeader("Content-Transfer-Encoding", "binary");
response.setHeader("Pragma", "no-cache");
response.setHeader("Expires", "0");
BufferedInputStream fin = null;
BufferedOutputStream outs = null;
try {
fin = new BufferedInputStream(new FileInputStream(file));
outs = new BufferedOutputStream(response.getOutputStream());
int read = 0;
while ((read = fin.read(b)) != -1) {
outs.write(b, 0, read);
}
outs.flush();
} finally {
EgovResourceCloseHelper.close(outs, fin);
}
}
public static void downloadFile(HttpServletResponse response, String pathFile) throws Exception {
String downFileName = pathFile;
File file = new File(EgovWebUtil.filePathBlackList(downFileName));
if (!file.exists()) {
throw new FileNotFoundException(downFileName);
}
if (!file.isFile()) {
throw new FileNotFoundException(downFileName);
}
byte[] b = new byte[BUFFER_SIZE];
response.setContentType("application/octet-stream");
response.setHeader("Content-Disposition", "attachment;");
response.setHeader("Content-Transfer-Encoding", "binary");
response.setHeader("Pragma", "no-cache");
response.setHeader("Expires", "0");
BufferedInputStream fin = null;
BufferedOutputStream outs = null;
try {
fin = new BufferedInputStream(new FileInputStream(file));
outs = new BufferedOutputStream(response.getOutputStream());
int read = 0;
while ((read = fin.read(b)) != -1) {
outs.write(b, 0, read);
}
outs.flush();
} finally {
EgovResourceCloseHelper.close(outs, fin);
}
}
/**
* .
*
* mimeType JSP .
* getServletConfig().getServletContext().getMimeType(name);
*
* @param response
* @param where
* @param serverSubPath
* @param physicalName
* @param mimeType
* @throws Exception
*/
public static void viewFile(HttpServletResponse response, String where, String physicalName) throws Exception {
//String mimeType = mimeTypeParam;
String downFileName = where+ SEPERATOR + physicalName;
File file = new File(EgovWebUtil.filePathBlackList(downFileName));
if (!file.exists()) {
throw new FileNotFoundException(downFileName);
}
if (!file.isFile()) {
throw new FileNotFoundException(downFileName);
}
byte[] b = new byte[BUFFER_SIZE];
/*if (mimeType == null) {
mimeType = "application/octet-stream;";
}*/
response.setContentType(EgovWebUtil.removeCRLF("application/octet-stream;"));
//response.setHeader("Content-Disposition", "filename=image;");
response.setHeader("Cache-Control", "cache,must-revalidate");
response.setHeader("Content-Transfer-Encoding", "binary");
response.setHeader("Pragma", "no-cache");
response.setHeader("Expires", "-1");
BufferedInputStream fin = null;
BufferedOutputStream outs = null;
try {
fin = new BufferedInputStream(new FileInputStream(file));
outs = new BufferedOutputStream(response.getOutputStream());
int read = 0;
while ((read = fin.read(b)) != -1) {
outs.write(b, 0, read);
}
outs.flush();
} finally {
EgovResourceCloseHelper.close(outs, fin);
}
}
public static void viewPdfFile(HttpServletResponse response, String where, String serverSubPath, String physicalName) throws Exception {
String downFileName = where + SEPERATOR + serverSubPath + SEPERATOR + physicalName;
File file = new File(EgovWebUtil.filePathBlackList(downFileName));
if (!file.exists()) {
throw new FileNotFoundException(downFileName);
}
if (!file.isFile()) {
throw new FileNotFoundException(downFileName);
}
byte[] b = new byte[BUFFER_SIZE];
response.setContentType("application/pdf");
//response.setHeader("Content-Disposition", "filename=image;");
response.setHeader("Cache-Control", "cache,must-revalidate");
response.setHeader("Content-Transfer-Encoding", "binary");
response.setHeader("Pragma", "no-cache");
response.setHeader("Expires", "-1");
BufferedInputStream fin = null;
BufferedOutputStream outs = null;
try {
fin = new BufferedInputStream(new FileInputStream(file));
outs = new BufferedOutputStream(response.getOutputStream());
int read = 0;
while ((read = fin.read(b)) != -1) {
outs.write(b, 0, read);
}
outs.flush();
} finally {
EgovResourceCloseHelper.close(outs, fin);
}
}
}

View File

@ -0,0 +1,119 @@
package egovframework.com.cmm.util;
import java.io.Serializable;
/**
* @Class Name : EgovFormBasedFileVo.java
* @Description : Form-based File Upload VO
* @Modification Information
*
*
* ------- -------- ---------------------------
* 2009.08.26
*
* @author
* @since 2009.08.26
* @version 1.0
* @see
*
* Copyright (C) 2008 by MOPAS All right reserved.
*/
@SuppressWarnings("serial")
public class EgovFormBasedFileVo implements Serializable {
/** 파일업로드 구분자 */
private String fileUploadName = "";
/** 파일명 */
private String fileName = "";
/** ContextType */
private String contentType = "";
/** 하위 디렉토리 지정 */
private String serverSubPath = "";
/** 물리적 파일명 */
private String physicalName = "";
/** 파일 사이즈 */
private long size = 0L;
/**
* @return the fileUploadName
*/
public String getFileUploadName() {
return fileUploadName;
}
/**
* @param fileUploadName the fileUploadName to set
*/
public void setFileUploadName(String fileUploadName) {
this.fileUploadName = fileUploadName;
}
/**
* fileName attribute .
* @return the fileName
*/
public String getFileName() {
return fileName;
}
/**
* fileName attribute .
* @param fileName the fileName to set
*/
public void setFileName(String fileName) {
this.fileName = fileName;
}
/**
* contentType attribute .
* @return the contentType
*/
public String getContentType() {
return contentType;
}
/**
* contentType attribute .
* @param contentType the contentType to set
*/
public void setContentType(String contentType) {
this.contentType = contentType;
}
/**
* serverSubPath attribute .
* @return the serverSubPath
*/
public String getServerSubPath() {
return serverSubPath;
}
/**
* serverSubPath attribute .
* @param serverSubPath the serverSubPath to set
*/
public void setServerSubPath(String serverSubPath) {
this.serverSubPath = serverSubPath;
}
/**
* physicalName attribute .
* @return the physicalName
*/
public String getPhysicalName() {
return physicalName;
}
/**
* physicalName attribute .
* @param physicalName the physicalName to set
*/
public void setPhysicalName(String physicalName) {
this.physicalName = physicalName;
}
/**
* size attribute .
* @return the size
*/
public long getSize() {
return size;
}
/**
* size attribute .
* @param size the size to set
*/
public void setSize(long size) {
this.size = size;
}
}

View File

@ -0,0 +1,521 @@
package egovframework.com.cmm.util;
import java.io.Serializable;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.security.SecureRandom;
/**
*
* A class that represents an immutable universally unique identifier (UUID). A
* UUID represents a 128-bit value.
*
* <p>
* There exist different variants of these global identifiers. The methods of
* this class are for manipulating the Leach-Salz variant, although the
* constructors allow the creation of any variant of UUID (described below).
*
* <p>
* The layout of a variant 2 (Leach-Salz) UUID is as follows:
*
* The most significant long consists of the following unsigned fields:
*
* <pre>
* 0xFFFFFFFF00000000 time_low
* 0x00000000FFFF0000 time_mid
* 0x000000000000F000 version
* 0x0000000000000FFF time_hi
* </pre>
*
* The least significant long consists of the following unsigned fields:
*
* <pre>
* 0xC000000000000000 variant
* 0x3FFF000000000000 clock_seq
* 0x0000FFFFFFFFFFFF node
* </pre>
*
* <p>
* The variant field contains a value which identifies the layout of the
* <tt>UUID</tt>. The bit layout described above is valid only for a
* <tt>UUID</tt> with a variant value of 2, which indicates the Leach-Salz
* variant.
*
* <p>
* The version field holds a value that describes the type of this <tt>UUID</tt>.
* There are four different basic types of UUIDs: time-based, DCE security,
* name-based, and randomly generated UUIDs. These types have a version value of
* 1, 2, 3 and 4, respectively.
*
* <p>
* For more information including algorithms used to create <tt>UUID</tt>s,
* see the Internet-Draft <a
* href="http://www.ietf.org/internet-drafts/draft-mealling-uuid-urn-03.txt">UUIDs
* and GUIDs</a> or the standards body definition at <a
* href="http://www.iso.ch/cate/d2229.html">ISO/IEC 11578:1996</a>.
*
* @version 1.14, 07/12/04
* @since 1.5
*/
@SuppressWarnings("serial")
public class EgovFormBasedUUID implements Serializable {
/*
* The most significant 64 bits of this UUID.
*
* @serial
*/
private final long mostSigBits;
/*
* The least significant 64 bits of this UUID.
*
* @serial
*/
private final long leastSigBits;
/*
* The version number associated with this UUID. Computed on demand.
*/
private transient int version = -1;
/*
* The variant number associated with this UUID. Computed on demand.
*/
private transient int variant = -1;
/*
* The timestamp associated with this UUID. Computed on demand.
*/
private transient volatile long timestamp = -1;
/*
* The clock sequence associated with this UUID. Computed on demand.
*/
private transient int sequence = -1;
/*
* The node number associated with this UUID. Computed on demand.
*/
private transient long node = -1;
/*
* The hashcode of this UUID. Computed on demand.
*/
private transient int hashCode = -1;
/*
* The random number generator used by this class to create random based
* UUIDs.
*/
private static volatile SecureRandom numberGenerator = null;
// Constructors and Factories
/*
* Private constructor which uses a byte array to construct the new UUID.
*/
private EgovFormBasedUUID(byte[] data) {
long msb = 0;
long lsb = 0;
for (int i = 0; i < 8; i++)
msb = (msb << 8) | (data[i] & 0xff);
for (int i = 8; i < 16; i++)
lsb = (lsb << 8) | (data[i] & 0xff);
this.mostSigBits = msb;
this.leastSigBits = lsb;
}
/**
* Constructs a new <tt>UUID</tt> using the specified data.
* <tt>mostSigBits</tt> is used for the most significant 64 bits of the
* <tt>UUID</tt> and <tt>leastSigBits</tt> becomes the least significant
* 64 bits of the <tt>UUID</tt>.
*
* @param mostSigBits
* @param leastSigBits
*/
public EgovFormBasedUUID(long mostSigBits, long leastSigBits) {
this.mostSigBits = mostSigBits;
this.leastSigBits = leastSigBits;
}
/**
* Static factory to retrieve a type 4 (pseudo randomly generated) UUID.
*
* The <code>UUID</code> is generated using a cryptographically strong
* pseudo random number generator.
*
* @return a randomly generated <tt>UUID</tt>.
*/
public static EgovFormBasedUUID randomUUID() {
SecureRandom ng = numberGenerator;
if (ng == null) {
numberGenerator = ng = new SecureRandom();
}
byte[] randomBytes = new byte[16];
ng.nextBytes(randomBytes);
randomBytes[6] &= 0x0f; /* clear version */
randomBytes[6] |= 0x40; /* set to version 4 */
randomBytes[8] &= 0x3f; /* clear variant */
randomBytes[8] |= 0x80; /* set to IETF variant */
return new EgovFormBasedUUID(randomBytes);
}
/**
* Static factory to retrieve a type 3 (name based) <tt>UUID</tt> based on
* the specified byte array.
*
* @param name
* a byte array to be used to construct a <tt>UUID</tt>.
* @return a <tt>UUID</tt> generated from the specified array.
*/
public static EgovFormBasedUUID nameUUIDFromBytes(byte[] name) {
MessageDigest md;
try {
// 2011.10.10 보안점검 후속조치 암호화 알고리즘 변경(MD5 -> SHA-256)
//md = MessageDigest.getInstance("MD5");
md = MessageDigest.getInstance("SHA-256");
} catch (NoSuchAlgorithmException nsae) {
//throw new InternalError("MD5 not supported");
throw new InternalError("SHA-256 not supported");
}
// 2011.10.10 보안점검 후속조치
if (md == null) {
throw new RuntimeException("MessageDigest is null!!");
}
// 2014.09.20 보안점검 후속 조치
// Random 방식의 salt 추가
SecureRandom ng = new SecureRandom();
byte[] randomBytes = new byte[16];
ng.nextBytes(randomBytes);
md.reset();
md.update(randomBytes);
byte[] sha = md.digest(name);
byte[] md5Bytes = new byte[8];
System.arraycopy(sha, 0, md5Bytes, 0, 8);
//2011.10.10 보안점검 후속조치 끝
md5Bytes[6] &= 0x0f; /* clear version */
md5Bytes[6] |= 0x30; /* set to version 3 */
md5Bytes[8] &= 0x3f; /* clear variant */
md5Bytes[8] |= 0x80; /* set to IETF variant */
return new EgovFormBasedUUID(md5Bytes);
}
/**
* Creates a <tt>UUID</tt> from the string standard representation as
* described in the {@link #toString} method.
*
* @param name
* a string that specifies a <tt>UUID</tt>.
* @return a <tt>UUID</tt> with the specified value.
* @throws IllegalArgumentException
* if name does not conform to the string representation as
* described in {@link #toString}.
*/
public static EgovFormBasedUUID fromString(String name) {
String[] components = name.split("-");
if (components.length != 5)
throw new IllegalArgumentException("Invalid UUID string: " + name);
for (int i = 0; i < 5; i++)
components[i] = "0x" + components[i];
long mostSigBits = Long.decode(components[0]).longValue();
mostSigBits <<= 16;
mostSigBits |= Long.decode(components[1]).longValue();
mostSigBits <<= 16;
mostSigBits |= Long.decode(components[2]).longValue();
long leastSigBits = Long.decode(components[3]).longValue();
leastSigBits <<= 48;
leastSigBits |= Long.decode(components[4]).longValue();
return new EgovFormBasedUUID(mostSigBits, leastSigBits);
}
// Field Accessor Methods
/**
* Returns the least significant 64 bits of this UUID's 128 bit value.
*
* @return the least significant 64 bits of this UUID's 128 bit value.
*/
public long getLeastSignificantBits() {
return leastSigBits;
}
/**
* Returns the most significant 64 bits of this UUID's 128 bit value.
*
* @return the most significant 64 bits of this UUID's 128 bit value.
*/
public long getMostSignificantBits() {
return mostSigBits;
}
/**
* The version number associated with this <tt>UUID</tt>. The version
* number describes how this <tt>UUID</tt> was generated.
*
* The version number has the following meaning:
* <p>
* <ul>
* <li>1 Time-based UUID
* <li>2 DCE security UUID
* <li>3 Name-based UUID
* <li>4 Randomly generated UUID
* </ul>
*
* @return the version number of this <tt>UUID</tt>.
*/
public int version() {
if (version < 0) {
// Version is bits masked by 0x000000000000F000 in MS long
version = (int) ((mostSigBits >> 12) & 0x0f);
}
return version;
}
/**
* The variant number associated with this <tt>UUID</tt>. The variant
* number describes the layout of the <tt>UUID</tt>.
*
* The variant number has the following meaning:
* <p>
* <ul>
* <li>0 Reserved for NCS backward compatibility
* <li>2 The Leach-Salz variant (used by this class)
* <li>6 Reserved, Microsoft Corporation backward compatibility
* <li>7 Reserved for future definition
* </ul>
*
* @return the variant number of this <tt>UUID</tt>.
*/
public int variant() {
if (variant < 0) {
// This field is composed of a varying number of bits
if ((leastSigBits >>> 63) == 0) {
variant = 0;
} else if ((leastSigBits >>> 62) == 2) {
variant = 2;
} else {
variant = (int) (leastSigBits >>> 61);
}
}
return variant;
}
/**
* The timestamp value associated with this UUID.
*
* <p>
* The 60 bit timestamp value is constructed from the time_low, time_mid,
* and time_hi fields of this <tt>UUID</tt>. The resulting timestamp is
* measured in 100-nanosecond units since midnight, October 15, 1582 UTC.
* <p>
*
* The timestamp value is only meaningful in a time-based UUID, which has
* version type 1. If this <tt>UUID</tt> is not a time-based UUID then
* this method throws UnsupportedOperationException.
*
* @throws UnsupportedOperationException
* if this UUID is not a version 1 UUID.
*/
public long timestamp() {
if (version() != 1) {
throw new UnsupportedOperationException("Not a time-based UUID");
}
long result = timestamp;
if (result < 0) {
result = (mostSigBits & 0x0000000000000FFFL) << 48;
result |= ((mostSigBits >> 16) & 0xFFFFL) << 32;
result |= mostSigBits >>> 32;
timestamp = result;
}
return result;
}
/**
* The clock sequence value associated with this UUID.
*
* <p>
* The 14 bit clock sequence value is constructed from the clock sequence
* field of this UUID. The clock sequence field is used to guarantee
* temporal uniqueness in a time-based UUID.
* <p>
*
* The clockSequence value is only meaningful in a time-based UUID, which
* has version type 1. If this UUID is not a time-based UUID then this
* method throws UnsupportedOperationException.
*
* @return the clock sequence of this <tt>UUID</tt>.
* @throws UnsupportedOperationException
* if this UUID is not a version 1 UUID.
*/
public int clockSequence() {
if (version() != 1) {
throw new UnsupportedOperationException("Not a time-based UUID");
}
if (sequence < 0) {
sequence = (int) ((leastSigBits & 0x3FFF000000000000L) >>> 48);
}
return sequence;
}
/**
* The node value associated with this UUID.
*
* <p>
* The 48 bit node value is constructed from the node field of this UUID.
* This field is intended to hold the IEEE 802 address of the machine that
* generated this UUID to guarantee spatial uniqueness.
* <p>
*
* The node value is only meaningful in a time-based UUID, which has version
* type 1. If this UUID is not a time-based UUID then this method throws
* UnsupportedOperationException.
*
* @return the node value of this <tt>UUID</tt>.
* @throws UnsupportedOperationException
* if this UUID is not a version 1 UUID.
*/
public long node() {
if (version() != 1) {
throw new UnsupportedOperationException("Not a time-based UUID");
}
if (node < 0) {
node = leastSigBits & 0x0000FFFFFFFFFFFFL;
}
return node;
}
// Object Inherited Methods
/**
* Returns a <code>String</code> object representing this
* <code>UUID</code>.
*
* <p>
* The UUID string representation is as described by this BNF :
*
* <pre>
* UUID = &lt;time_low&gt; &quot;-&quot; &lt;time_mid&gt; &quot;-&quot;
* &lt;time_high_and_version&gt; &quot;-&quot;
* &lt;variant_and_sequence&gt; &quot;-&quot;
* &lt;node&gt;
* time_low = 4*&lt;hexOctet&gt;
* time_mid = 2*&lt;hexOctet&gt;
* time_high_and_version = 2*&lt;hexOctet&gt;
* variant_and_sequence = 2*&lt;hexOctet&gt;
* node = 6*&lt;hexOctet&gt;
* hexOctet = &lt;hexDigit&gt;&lt;hexDigit&gt;
* hexDigit =
* &quot;0&quot; | &quot;1&quot; | &quot;2&quot; | &quot;3&quot; | &quot;4&quot; | &quot;5&quot; | &quot;6&quot; | &quot;7&quot; | &quot;8&quot; | &quot;9&quot;
* | &quot;a&quot; | &quot;b&quot; | &quot;c&quot; | &quot;d&quot; | &quot;e&quot; | &quot;f&quot;
* | &quot;A&quot; | &quot;B&quot; | &quot;C&quot; | &quot;D&quot; | &quot;E&quot; | &quot;F&quot;
* </pre>
*
* @return a string representation of this <tt>UUID</tt>.
*/
@Override
public String toString() {
return (digits(mostSigBits >> 32, 8) + "-"
+ digits(mostSigBits >> 16, 4) + "-" + digits(mostSigBits, 4)
+ "-" + digits(leastSigBits >> 48, 4) + "-" + digits(
leastSigBits, 12));
}
/** Returns val represented by the specified number of hex digits. */
private static String digits(long val, int digits) {
long hi = 1L << (digits * 4);
return Long.toHexString(hi | (val & (hi - 1))).substring(1);
}
/**
* Returns a hash code for this <code>UUID</code>.
*
* @return a hash code value for this <tt>UUID</tt>.
*/
@Override
public int hashCode() {
if (hashCode == -1) {
hashCode = (int) ((mostSigBits >> 32) ^ mostSigBits
^ (leastSigBits >> 32) ^ leastSigBits);
}
return hashCode;
}
/**
* Compares this object to the specified object. The result is <tt>true</tt>
* if and only if the argument is not <tt>null</tt>, is a <tt>UUID</tt>
* object, has the same variant, and contains the same value, bit for bit,
* as this <tt>UUID</tt>.
*
* @param obj
* the object to compare with.
* @return <code>true</code> if the objects are the same;
* <code>false</code> otherwise.
*/
@Override
public boolean equals(Object obj) {
// 보안 취약점 점검 지적사항 반영 시작
if (obj == null)
return false;
// 보안 취약점 점검 지적사항 반영 시작 끝
if (!(obj instanceof EgovFormBasedUUID))
return false;
if (((EgovFormBasedUUID) obj).variant() != this.variant())
return false;
EgovFormBasedUUID id = (EgovFormBasedUUID) obj;
return (mostSigBits == id.mostSigBits && leastSigBits == id.leastSigBits);
}
// Comparison Operations
/**
* Compares this UUID with the specified UUID.
*
* <p>
* The first of two UUIDs follows the second if the most significant field
* in which the UUIDs differ is greater for the first UUID.
*
* @param val
* <tt>UUID</tt> to which this <tt>UUID</tt> is to be
* compared.
* @return -1, 0 or 1 as this <tt>UUID</tt> is less than, equal to, or
* greater than <tt>val</tt>.
*/
public int compareTo(EgovFormBasedUUID val) {
// The ordering is intentionally set up so that the UUIDs
// can simply be numerically compared as two numbers
return (this.mostSigBits < val.mostSigBits ? -1
: (this.mostSigBits > val.mostSigBits ? 1
: (this.leastSigBits < val.leastSigBits ? -1
: (this.leastSigBits > val.leastSigBits ? 1 : 0))));
}
/**
* Reconstitute the <tt>UUID</tt> instance from a stream (that is,
* deserialize it). This is necessary to set the transient fields to their
* correct uninitialized value so they will be recomputed on demand.
*/
private void readObject(java.io.ObjectInputStream in)
throws java.io.IOException, ClassNotFoundException {
in.defaultReadObject();
// Set "cached computation" fields to their initial values
version = -1;
variant = -1;
timestamp = -1;
sequence = -1;
node = -1;
hashCode = -1;
}
}

View File

@ -0,0 +1,207 @@
package egovframework.com.cmm.util;
/**
*
* Util
* @author
* @since 2009.06.23
* @version 1.0
* @see
*
* <pre>
* << (Modification Information) >>
*
*
* ------- -------- ---------------------------
* 2009.06.23
*
* </pre>
*/
public class EgovFormatCheckUtil {
/**
* <pxxx - xxx- xxxx , , 3 .</p>
*
*
* @param ( 3 )
* @return (True/False)
*/
public static boolean checkFormatTell(String tell1, String tell2, String tell3) {
String[] check = {"02", "031", "032", "033", "041", "042", "043", "051", "052", "053", "054", "055", "061",
"062", "063", "070", "080", "0505"}; //존재하는 국번 데이터
String temp = tell1 + tell2 + tell3;
for(int i=0; i < temp.length(); i++){
if (temp.charAt(i) < '0' || temp.charAt(i) > '9')
return false;
} //숫자가 아닌 값이 들어왔는지를 확인
for(int i = 0; i < check.length; i++){
if(tell1.equals(check[i])) break;
if(i == check.length - 1) return false;
} //국번입력이 제대로 되었는지를 확인
if(tell2.charAt(0) == '0') return false;
if(tell1.equals("02")){
if(tell2.length() != 3 && tell2.length() !=4) return false;
if(tell3.length() != 4) return false; //서울지역(02)국번 입력때의 전화 번호 형식유효성 체크
}else{
if(tell2.length() != 3) return false;
if(tell3.length() != 4) return false;
} //서울을 제외한 지역(국번 입력때의 전화 번호 형식유효성 체크
return true;
}
/**
* <p>xxx - xxx- xxxx .</p>
*
*
* @param (1)
* @return (True/False)
*/
public static boolean checkFormatTell(String tellNumber) {
String temp1;
String temp2;
String temp3;
String tell = tellNumber;
tell = tell.replace("-", "");
if(tell.length() < 9 || tell.length() > 11 || tell.charAt(0) != '0') return false; //전화번호 길이에 대한 체크
if(tell.charAt(1) =='2'){ //서울지역 (02)국번의 경우일때
temp1 = tell.substring(0,2);
if(tell.length() == 9){
temp2 = tell.substring(2,5);
temp3 = tell.substring(5,9);
}else if(tell.length() == 10){
temp2 = tell.substring(2,6);
temp3 = tell.substring(6,10);
}else
return false;
} else if(tell.substring(0,4).equals("0505")){ //평생번호(0505)국번의 경우일때
if(tell.length() != 11) return false;
temp1 = tell.substring(0,4);
temp2 = tell.substring(4,7);
temp3 = tell.substring(7,11);
} else { // 서울지역 및 "0505" 를 제외한 일반적인 경우일때
if(tell.length() != 10) return false;
temp1 = tell.substring(0,3);
temp2 = tell.substring(3,6);
temp3 = tell.substring(6,10);
}
return checkFormatTell(temp1, temp2, temp3);
}
/**
* <p>xxx - xxx- xxxx , , 3 .</p>
*
*
* @param ,(3)
* @return (True/False)
*/
public static boolean checkFormatCell(String cell1, String cell2, String cell3) {
String[] check = {"010", "011", "016", "017", "018", "019"}; //유효한 휴대폰 첫자리 번호 데이터
String temp = cell1 + cell2 + cell3;
for(int i=0; i < temp.length(); i++){
if (temp.charAt(i) < '0' || temp.charAt(i) > '9')
return false;
} //숫자가 아닌 값이 들어왔는지를 확인
for(int i = 0; i < check.length; i++){
if(cell1.equals(check[i])) break;
if(i == check.length - 1) return false;
} // 휴대폰 첫자리 번호입력의 유효성 체크
if(cell2.charAt(0) == '0') return false;
if(cell2.length() != 3 && cell2.length() !=4) return false;
if(cell3.length() != 4) return false;
return true;
}
/**
* <p>XXXXXXXXXX 3 .</p>
*
*
* @param (1)
* @return (True/False)
*/
public static boolean checkFormatCell(String cellNumber) {
String temp1;
String temp2;
String temp3;
String cell = cellNumber;
cell = cell.replace("-", "");
if(cell.length() < 10 || cell.length() > 11 || cell.charAt(0) != '0') return false;
if(cell.length() == 10){ //전체 10자리 휴대폰 번호일 경우
temp1 = cell.substring(0,3);
temp2 = cell.substring(3,6);
temp3 = cell.substring(6,10);
}else{ //전체 11자리 휴대폰 번호일 경우
temp1 = cell.substring(0,3);
temp2 = cell.substring(3,7);
temp3 = cell.substring(7,11);
}
return checkFormatCell(temp1, temp2, temp3);
}
/**
* <p> , 2 .</p>
*
*
* @param (2)
* @return (True/False)
*/
public static boolean checkFormatMail(String mail1, String mail2) {
int count = 0;
for(int i = 0; i < mail1.length(); i++){
if(mail1.charAt(i) <= 'z' && mail1.charAt(i) >= 'a') continue;
else if(mail1.charAt(i) <= 'Z' && mail1.charAt(i) >= 'A') continue;
else if(mail1.charAt(i) <= '9' && mail1.charAt(i) >= '0') continue;
else if(mail1.charAt(i) == '-' && mail1.charAt(i) == '_') continue;
else return false;
} // 유효한 문자, 숫자인지 체크
for(int i = 0; i < mail2.length(); i++){
if(mail2.charAt(i) <= 'z' && mail2.charAt(i) >= 'a') continue;
else if(mail2.charAt(i) == '.'){ count++; continue;}
else return false;
} // 메일 주소의 형식 체크(xxx.xxx 형태)
if(count == 1) return true;
else return false;
}
/**
* <p> 1 .</p>
*
*
* @param (1)
* @return (True/False)
*/
public static boolean checkFormatMail(String mail) {
String[] temp = mail.split("@"); // '@' 를 기점으로 앞, 뒤 문자열 구분
if(temp.length == 2) return checkFormatMail(temp[0], temp[1]);
else return false;
}
}

View File

@ -0,0 +1,56 @@
package egovframework.com.cmm.util;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
/**
* @Class Name : EgovHttpRequestHelper.java
* @Description : HTTP Request Helper
* @Modification Information
*
*
* ------- ------- -------------------
* 2014.09.11
* @author Vincent Han
* @since 2014.09.11
* @version 3.5
* @see <pre>
* web.xml Listener
* &lt;listener&gt;
* &lt;listener-class&gt;org.springframework.web.context.request.RequestContextListener&lt;/listener-class&gt;
* &lt;/listener&gt;
* </pre>
*/
public class EgovHttpRequestHelper {
public static boolean isInHttpRequest() {
try {
getCurrentRequest();
} catch (IllegalStateException ise) {
return false;
}
return true;
}
public static HttpServletRequest getCurrentRequest() {
ServletRequestAttributes sra = (ServletRequestAttributes) RequestContextHolder.currentRequestAttributes();
return sra.getRequest();
}
public static String getRequestIp() {
return getCurrentRequest().getRemoteAddr();
}
public static String getRequestURI() {
return getCurrentRequest().getRequestURI();
}
public static HttpSession getCurrentSession() {
return getCurrentRequest().getSession();
}
}

View File

@ -0,0 +1,136 @@
/**
* @Class Name : EgovMessageUtil.java
* @Description :
* @Modification Information
*
*
* ------- -------- ---------------------------
* 2009.02.13
*
* @author
* @since 2009. 02. 13
* @version 1.0
* @see
*
*/
package egovframework.com.cmm.util;
import egovframework.com.cmm.service.EgovProperties;
public class EgovMessageUtil {
private static final String PATH_SEP = System.getProperty("file.separator");
/**
* .
*
* @param strCode
* @return
*/
public static String getErrorMsg(String strCode) {
return getMessage("error", strCode, null);
}
/**
* ( ) .
*
* @param strCode
* @param arrParam
* @return
*/
public static String getErrorMsg(String strCode, String[] arrParam) {
return getMessage("error", strCode, arrParam);
}
/**
* .
*
* @param strCode
* @return
*/
public static String getInfoMsg(String strCode) {
return getMessage("info", strCode, null);
}
/**
* ( ) .
*
* @param strCode
* @param arrParam
* @return
*/
public static String getInfoMsg(String strCode, String[] arrParam) {
return getMessage("info", strCode, arrParam);
}
/**
* .
*
* @param strCode
* @return
*/
public static String getWarnMsg(String strCode) {
return getMessage("warn", strCode, null);
}
/**
* ( ) .
*
* @param strCode
* @param arrParam
* @return
*/
public static String getWarnMsg(String strCode, String[] arrParam) {
return getMessage("warn", strCode, arrParam);
}
/**
* .
*
* @param strCode
* @return
*/
public static String getConfirmMsg(String strCode) {
return getMessage("confirm", strCode, null);
}
/**
* ( ) .
*
* @param strCode
* @param arrParam
* @return
*/
public static String getConfirmMsg(String strCode, String[] arrParam) {
return getMessage("confirm", strCode, arrParam);
}
private static String getMessage(String wrkCode, String strCode, String[] arrParam) {
String message = null;
String strMsg = "";
if (!"".equals(EgovStringUtil.isNullToString(strCode.trim()))) {
strMsg = EgovProperties.getProperty(EgovProperties.RELATIVE_PATH_PREFIX + "egovProps" + PATH_SEP + "conf" + PATH_SEP + wrkCode + "message.properties", strCode);
for (int i = (arrParam != null && arrParam.length > 0 ? arrParam.length - 1 : -1); i >= 0; i--) {
strMsg = EgovStringUtil.replace(EgovStringUtil.isNullToString(strMsg), "{" + i + "}", arrParam[i]);//KISA 보안약점 조치 (2018-10-29, 윤창원)
}
message = strMsg;
} else {
message = "";
}
return message;
}
}

View File

@ -0,0 +1,135 @@
package egovframework.com.cmm.util;
import java.lang.reflect.Array;
import java.util.Collection;
import java.util.HashMap;
import java.util.Map;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/**
* EgovMybaitsUtil
*
* @author
* @since 2016.06.07
* @version 1.0
* @see
*
* <pre>
* << (Modification Information) >>
*
*
* ------- ------------- ----------------------
* 2016.06.07
* 2017.03.03 (ES)- [CWE-209]
* 2017.07.21 isEquals String Character
*
* </pre>
*/
public class EgovMybaitsUtil {
private static final Logger logger = LoggerFactory.getLogger(EgovMybaitsUtil.class);
/**
* Empty .
* @param o Object
* @return boolean
* @exception IllegalArgumentException
*/
public static boolean isEmpty(Object o) throws IllegalArgumentException {
try {
if(o == null) return true;
if(o instanceof String) {
if(((String)o).length() == 0){
return true;
}
} else if(o instanceof Collection) {
if(((Collection)o).isEmpty()){
return true;
}
} else if(o.getClass().isArray()) {
if(Array.getLength(o) == 0){
return true;
}
} else if(o instanceof Map) {
if(((Map)o).isEmpty()){
return true;
}
}else {
return false;
}
return false;
//2017.03.03 조성원 시큐어코딩(ES)-오류 메시지를 통한 정보노출[CWE-209]
} catch(IllegalArgumentException e) {
logger.error("[IllegalArgumentException] Try/Catch...usingParameters Runing : "+ e.getMessage());
} catch(Exception e) {
logger.error("["+e.getClass()+"] Try/Catch...Exception : " + e.getMessage());
}
return false;
}
/**
* Not Empty .
* @param o Object
* @return boolean
* @exception IllegalArgumentException
*/
public static boolean isNotEmpty(Object o) {
return !isEmpty(o);
}
/**
* Equal .
* @param obj Object, obj Object
* @return boolean
*/
public static boolean isEquals(Object obj, Object obj2){
if(isEmpty(obj)) return false;
if(obj instanceof String && obj2 instanceof String) {
if( (String.valueOf(obj)).equals( String.valueOf(obj2) )){
return true;
}
}else if(obj instanceof String && obj2 instanceof Character) {
if( (String.valueOf(obj) ).equals( String.valueOf(obj2) )){
return true;
}
}else if(obj instanceof String && obj2 instanceof Integer) {
if( (String.valueOf(obj)).equals( String.valueOf((Integer)obj2) )){
return true;
}
}else if(obj instanceof Integer && obj2 instanceof String) {
if( (String.valueOf(obj2)).equals( String.valueOf((Integer)obj) )){
return true;
}
} else if(obj instanceof Integer && obj instanceof Integer) {
if((Integer)obj == (Integer)obj2){
return true;
}
}
return false;
}
/**
* String Equal .
* @param obj Object, obj Object
* @return boolean
*/
public static boolean isEqualsStr(Object obj, String s){
if(isEmpty(obj)) return false;
if(s.equals(String.valueOf(obj))){
return true;
}
return false;
}
}

View File

@ -0,0 +1,246 @@
package egovframework.com.cmm.util;
/**
*
* Util
* @author
* @since 2009.06.10
* @version 1.0
* @see
*
* <pre>
* << (Modification Information) >>
*
*
* ------- -------- ---------------------------
* 2009.06.10
* 2012.02.27
*
* </pre>
*/
public class EgovNumberCheckUtil {
/**
* <p>XXXXXX - XXXXXXX , 2 .</p>
*
*
* @param 6 , 7
* @return (True/False)
*/
@SuppressWarnings("static-access")
public static boolean checkJuminNumber(String jumin1, String jumin2) {
EgovDateUtil egovDateUtil = new EgovDateUtil();
String juminNumber = jumin1 + jumin2;
String IDAdd = "234567892345"; // 주민등록번호에 가산할 값
int count_num = 0;
int add_num = 0;
int total_id = 0; //검증을 위한 변수선언
if (juminNumber.length() != 13) return false; // 주민등록번호 자리수가 맞는가를 확인
for (int i = 0; i <12 ; i++){
if(juminNumber.charAt(i)< '0' || juminNumber.charAt(i) > '9') return false; //숫자가 아닌 값이 들어왔는지를 확인
count_num = Character.getNumericValue(juminNumber.charAt(i));
add_num = Character.getNumericValue(IDAdd.charAt(i));
total_id += count_num * add_num; //유효자리 검증식을 적용
}
if(Character.getNumericValue(juminNumber.charAt(0)) == 0 || Character.getNumericValue(juminNumber.charAt(0)) == 1){
if(Character.getNumericValue(juminNumber.charAt(6)) > 4) return false;
String temp = "20" + juminNumber.substring(0,6);
if(!egovDateUtil.checkDate(temp)) return false;
}else{
if(Character.getNumericValue(juminNumber.charAt(6)) > 2) return false;
String temp = "19" + juminNumber.substring(0,6);
if(!egovDateUtil.checkDate(temp)) return false;
} //주민번호 앞자리 날짜유효성체크 & 성별구분 숫자 체크
if(Character.getNumericValue(juminNumber.charAt(12)) == (11 - (total_id % 11)) % 10) //마지막 유효숫자와 검증식을 통한 값의 비교
return true;
else
return false;
}
/**
* <p>XXXXXXXXXXXXX 13 1 .</p>
*
*
* @param 13
* @return (True/False)
*/
public static boolean checkJuminNumber(String jumin) {
if(jumin.length() != 13) return false;
return checkJuminNumber(jumin.substring(0,6), jumin.substring(6,13)); //주민번호
}
/**
* <p>XXXXXX - XXXXXXX , 2 .</p>
*
*
* @param 6 , 7
* @return (True/False)
*/
public static boolean checkBubinNumber(String bubin1, String bubin2) {
String bubinNumber = bubin1 + bubin2;
int hap = 0;
int temp = 1; //유효검증식에 사용하기 위한 변수
if(bubinNumber.length() != 13) return false; //법인번호의 자리수가 맞는 지를 확인
for(int i=0; i < 13; i++){
if (bubinNumber.charAt(i) < '0' || bubinNumber.charAt(i) > '9') //숫자가 아닌 값이 들어왔는지를 확인
return false;
}
// 2012.02.27 법인번호 체크로직 수정( i<13 -> i<12 )
// 맨끝 자리 수는 전산시스템으로 오류를 검증하기 위해 부여되는 검증번호임
for ( int i=0; i<12; i++){
if(temp ==3) temp = 1;
hap = hap + (Character.getNumericValue(bubinNumber.charAt(i)) * temp);
temp++;
} //검증을 위한 식의 계산
if ((10 - (hap%10))%10 == Character.getNumericValue(bubinNumber.charAt(12))) //마지막 유효숫자와 검증식을 통한 값의 비교
return true;
else
return false;
}
/**
* <p>XXXXXXXXXXXXX 13 1 .</p>
*
*
* @param 13
* @return (True/False)
*/
public static boolean checkBubinNumber(String bubin) {
if(bubin.length() != 13) return false;
return checkBubinNumber(bubin.substring(0,6), bubin.substring(6,13));
}
/**
* <p>xxx - xx - xxxx ,, 3 .</p>
*
*
* @param 3 , 2 , 5
* @return (True/False)
*/
public static boolean checkCompNumber(String comp1, String comp2, String comp3) {
String compNumber = comp1 + comp2 + comp3;
int hap = 0;
int temp = 0;
int check[] = {1,3,7,1,3,7,1,3,5}; //사업자번호 유효성 체크 필요한 수
if(compNumber.length() != 10) //사업자번호의 길이가 맞는지를 확인한다.
return false;
for(int i=0; i < 9; i++){
if(compNumber.charAt(i) < '0' || compNumber.charAt(i) > '9') //숫자가 아닌 값이 들어왔는지를 확인한다.
return false;
hap = hap + (Character.getNumericValue(compNumber.charAt(i)) * check[temp]); //검증식 적용
temp++;
}
hap += (Character.getNumericValue(compNumber.charAt(8))*5)/10;
if ((10 - (hap%10))%10 == Character.getNumericValue(compNumber.charAt(9))) //마지막 유효숫자와 검증식을 통한 값의 비교
return true;
else
return false;
}
/**
* <p>XXXXXXXXXX 10 3 .</p>
*
*
* @param 10
* @return (True/False)
*/
public static boolean checkCompNumber(String comp) {
if(comp.length() != 10) return false;
return checkCompNumber(comp.substring(0,3), comp.substring(3,5), comp.substring(5,10));
}
/**
* <p>XXXXXX - XXXXXXX , 2 .</p>
*
*
* @param 6 , 7
* @return (True/False)
*/
@SuppressWarnings("static-access")
public static boolean checkforeignNumber( String foreign1, String foreign2 ) {
EgovDateUtil egovDateUtil = new EgovDateUtil();
String foreignNumber = foreign1 + foreign2;
int check = 0;
if( foreignNumber.length() != 13 ) //외국인등록번호의 길이가 맞는지 확인한다.
return false;
for(int i=0; i < 13; i++){
if (foreignNumber.charAt(i) < '0' || foreignNumber.charAt(i) > '9') //숫자가 아닌 값이 들어왔는지를 확인한다.
return false;
}
if(Character.getNumericValue(foreignNumber.charAt(0)) == 0 || Character.getNumericValue(foreignNumber.charAt(0)) == 1){
if(Character.getNumericValue(foreignNumber.charAt(6)) == 5 && Character.getNumericValue(foreignNumber.charAt(6)) == 6) return false;
String temp = "20" + foreignNumber.substring(0,6);
if(!egovDateUtil.checkDate(temp)) return false;
}else{
if(Character.getNumericValue(foreignNumber.charAt(6)) == 5 && Character.getNumericValue(foreignNumber.charAt(6)) == 6) return false;
String temp = "19" + foreignNumber.substring(0,6);
if(!egovDateUtil.checkDate(temp)) return false;
} //외국인등록번호 앞자리 날짜유효성체크 & 성별구분 숫자 체크
for( int i = 0 ; i < 12 ; i++ ) {
check += ( ( 9 - i % 8 ) * Character.getNumericValue( foreignNumber.charAt( i ) ) );
}
if ( check % 11 == 0 ){
check = 1;
}else if ( check % 11==10 ){
check = 0;
}else
check = check % 11;
if ( check + 2 > 9 ){
check = check + 2- 10;
}else check = check+2; //검증식을 통합 값의 도출
if( check == Character.getNumericValue( foreignNumber.charAt( 12 ) ) ) //마지막 유효숫자와 검증식을 통한 값의 비교
return true;
else
return false;
}
/**
* <p>XXXXXXXXXXXXX 13 1 .</p>
*
*
* @param 13
* @return (True/False)
*/
public static boolean checkforeignNumber( String foreign ) {
if(foreign.length() != 13) return false;
return checkforeignNumber(foreign.substring(0,6), foreign.substring(6,13));
}
}

View File

@ -0,0 +1,258 @@
package egovframework.com.cmm.util;
import java.text.NumberFormat;
import java.util.Locale;
/**
* , ,
*/
public class EgovNumberFormat {
private static final int MAX_FRACTION_DIGIT = 3;
private static final boolean GROUPING_USED = true;
/**
* Locale .
*
* @param number
* @return
*/
public static String formatNumber(Number number) {
return formatNumber(number, GROUPING_USED, MAX_FRACTION_DIGIT);
}
/**
* Locale .
*
* @param locale
* @param number
* @return
*/
public static String formatNumber(Locale locale, Number number) {
return formatNumber(locale, number, GROUPING_USED, MAX_FRACTION_DIGIT);
}
/**
* Locale .
*
* @param number
* @param groupingUsed
* @return
*/
public static String formatNumber(Number number, boolean groupingUsed) {
return formatNumber(number, groupingUsed, MAX_FRACTION_DIGIT);
}
/**
* Locale .
*
* @param locale
* @param number
* @param groupingUsed
* @return
*/
public static String formatNumber(Locale locale, Number number, boolean groupingUsed) {
return formatNumber(locale, number, groupingUsed, MAX_FRACTION_DIGIT);
}
/**
* Locale .
*
* @param number
* @param maxFactionDigits
* @return
*/
public static String formatNumber(Number number, int maxFactionDigits) {
return formatNumber(number, GROUPING_USED, maxFactionDigits);
}
/**
* Locale .
*
* @param locale
* @param number
* @param maxFactionDigits
* @return
*/
public static String formatNumber(Locale locale, Number number, int maxFactionDigits) {
return formatNumber(locale, number, GROUPING_USED, maxFactionDigits);
}
/**
* Locale .
*
* @param number
* @param groupingUsed
* @param maxFactionDigits
* @return
*/
public static String formatNumber(Number number, boolean groupingUsed, int maxFactionDigits) {
NumberFormat numberberFormat = NumberFormat.getNumberInstance();
numberberFormat.setGroupingUsed(groupingUsed);
numberberFormat.setMaximumFractionDigits(maxFactionDigits);
return numberberFormat.format(number);
}
/**
* Locale .
*
* @param locale
* @param number
* @param groupingUsed
* @param maxFactionDigits
* @return
*/
public static String formatNumber(Locale locale, Number number, boolean groupingUsed, int maxFactionDigits) {
NumberFormat numberberFormat = NumberFormat.getNumberInstance(locale);
numberberFormat.setGroupingUsed(groupingUsed);
numberberFormat.setMaximumFractionDigits(maxFactionDigits);
return numberberFormat.format(number);
}
/**
* Locale .
*
* @param number
* @return
*/
public static String formatCurrency(Number number) {
return formatCurrency(number, GROUPING_USED);
}
/**
* Locale .
*
* @param locale
* @param number
* @return
*/
public static String formatCurrency(Locale locale, Number number) {
return formatCurrency(locale, number, GROUPING_USED);
}
/**
* Locale .
*
* @param number
* @param groupingUsed
* @return
*/
public static String formatCurrency(Number number, boolean groupingUsed) {
NumberFormat numberberFormat = NumberFormat.getCurrencyInstance();
numberberFormat.setGroupingUsed(groupingUsed);
return numberberFormat.format(number);
}
/**
* Locale .
*
* @param locale
* @param number
* @param groupingUsed
* @return
*/
public static String formatCurrency(Locale locale, Number number, boolean groupingUsed) {
NumberFormat numberberFormat = NumberFormat.getCurrencyInstance(locale);
numberberFormat.setGroupingUsed(groupingUsed);
return numberberFormat.format(number);
}
/**
* Locale .
*
* @param number
* @return
*/
public static String formatPercent(Number number) {
return formatPercent(number, GROUPING_USED, MAX_FRACTION_DIGIT);
}
/**
* Locale .
*
* @param locale
* @param number
* @return
*/
public static String formatPercent(Locale locale, Number number) {
return formatPercent(locale, number, GROUPING_USED, MAX_FRACTION_DIGIT);
}
/**
* Locale .
*
* @param number
* @param groupingUsed
* @return
*/
public static String formatPercent(Number number, boolean groupingUsed) {
return formatPercent(number, groupingUsed, MAX_FRACTION_DIGIT);
}
/**
* Locale .
*
* @param locale
* @param number
* @param groupingUsed
* @return
*/
public static String formatPercent(Locale locale, Number number, boolean groupingUsed) {
return formatPercent(locale, number, groupingUsed, MAX_FRACTION_DIGIT);
}
/**
* Locale .
*
* @param number
* @param maxFactionDigits
* @return
*/
public static String formatPercent(Number number, int maxFactionDigits) {
return formatPercent(number, GROUPING_USED, maxFactionDigits);
}
/**
* Locale .
*
* @param locale
* @param number
* @param maxFactionDigits
* @return
*/
public static String formatPercent(Locale locale, Number number, int maxFactionDigits) {
return formatPercent(locale, number, GROUPING_USED, maxFactionDigits);
}
/**
* Locale .
*
* @param number
* @param groupingUsed
* @param maxFactionDigits
* @return
*/
public static String formatPercent(Number number, boolean groupingUsed, int maxFactionDigits) {
NumberFormat numberberFormat = NumberFormat.getPercentInstance();
numberberFormat.setGroupingUsed(groupingUsed);
numberberFormat.setMaximumFractionDigits(maxFactionDigits);
return numberberFormat.format(number);
}
/**
* Locale .
*
* @param locale
* @param number
* @param groupingUsed
* @param maxFactionDigits
* @return
*/
public static String formatPercent(Locale locale, Number number, boolean groupingUsed, int maxFactionDigits) {
NumberFormat numberberFormat = NumberFormat.getPercentInstance(locale);
numberberFormat.setGroupingUsed(groupingUsed);
numberberFormat.setMaximumFractionDigits(maxFactionDigits);
return numberberFormat.format(number);
}
}

View File

@ -0,0 +1,216 @@
/**
* @Class Name : EgovNumberUtil.java
* @Description :
* @Modification Information
*
*
* ------- -------- ---------------------------
* 2009.02.13
*
* @author
* @since 2009. 02. 13
* @version 1.0
* @see
*
*/
package egovframework.com.cmm.util;
import java.security.SecureRandom;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Locale;
public class EgovNumberUtil {
/**
*
*
* @param startNum -
* @param endNum -
* @return
* @see
*/
public static int getRandomNum(int startNum, int endNum) {
int randomNum = 0;
// 랜덤 객체 생성
SecureRandom rnd = new SecureRandom();
do {
// 종료숫자내에서 랜덤 숫자를 발생시킨다.
randomNum = rnd.nextInt(endNum + 1);
} while (randomNum < startNum); // 랜덤 숫자가 시작숫자보다 작을경우 다시 랜덤숫자를 발생시킨다.
return randomNum;
}
/**
* 12345678 7
*
* @param sourceInt -
* @param searchInt -
* @return
* @see
*/
public static Boolean getNumSearchCheck(int sourceInt, int searchInt) {
String sourceStr = String.valueOf(sourceInt);
String searchStr = String.valueOf(searchInt);
// 특정숫자가 존재하는지 하여 위치값을 리턴한다. 없을 시 -1
if (sourceStr.indexOf(searchStr) == -1) {
return false;
} else {
return true;
}
}
/**
* 20081212 '20081212'
*
* @param srcNumber -
* @return
* @see
*/
public static String getNumToStrCnvr(int srcNumber) {
String rtnStr = null;
rtnStr = String.valueOf(srcNumber);
return rtnStr;
}
/**
*
* 20081212 '2008-12-12'
* @param srcNumber -
* @return String
* @see
*/
public static String getNumToDateCnvr(int srcNumber) {
String pattern = null;
String cnvrStr = null;
String srcStr = String.valueOf(srcNumber);
// Date 형태인 8자리 및 14자리만 정상처리
if (srcStr.length() != 8 && srcStr.length() != 14) {
throw new IllegalArgumentException("Invalid Number: " + srcStr + " Length=" + srcStr.trim().length());
}
if (srcStr.length() == 8) {
pattern = "yyyyMMdd";
} else if (srcStr.length() == 14) {
pattern = "yyyyMMddhhmmss";
}
SimpleDateFormat dateFormatter = new SimpleDateFormat(pattern, Locale.KOREA);
Date cnvrDate = null;
try {
cnvrDate = dateFormatter.parse(srcStr);
} catch (ParseException e) {
throw new RuntimeException(e);
}
cnvrStr = String.format("%1$tY-%1$tm-%1$td", cnvrDate);
return cnvrStr;
}
/**
*
* True, False
* @param checkStr -
* @return
* @see
*/
public static Boolean getNumberValidCheck(String checkStr) {
int i;
//String sourceStr = String.valueOf(sourceInt);
int checkStrLt = checkStr.length();
for (i = 0; i < checkStrLt; i++) {
// 아스키코드값( '0'-> 48, '9' -> 57)
if (checkStr.charAt(i) > 47 && checkStr.charAt(i) < 58) {
continue;
} else {
return false;
}
}
return true;
}
/**
* 12345678 123 999 (99945678)
*
* @param srcNumber -
* @param cnvrSrcNumber -
* @param cnvrTrgtNumber -
* @return
* @see
*/
public static int getNumberCnvr(int srcNumber, int cnvrSrcNumber, int cnvrTrgtNumber) {
// 입력받은 숫자를 문자열로 변환
String source = String.valueOf(srcNumber);
String subject = String.valueOf(cnvrSrcNumber);
String object = String.valueOf(cnvrTrgtNumber);
StringBuffer rtnStr = new StringBuffer();
String preStr = "";
String nextStr = source;
// 원본숫자에서 변환대상숫자의 위치를 찾는다.
while (source.indexOf(subject) >= 0) {
preStr = source.substring(0, source.indexOf(subject)); // 변환대상숫자 위치까지 숫자를 잘라낸다
nextStr = source.substring(source.indexOf(subject) + subject.length(), source.length());
source = nextStr;
rtnStr.append(preStr).append(object); // 변환대상위치 숫자에 변환할 숫자를 붙여준다.
}
rtnStr.append(nextStr); // 변환대상 숫자 이후 숫자를 붙여준다.
return Integer.parseInt(rtnStr.toString());
}
/**
* , , 123 , ,
*
* @param srcNumber -
* @return -1(), 0(), 1()
* @see
*/
public static int checkRlnoInteger(double srcNumber) {
// byte 1바이트 ▶소수점이 없는 숫자로, 범위 -2^7 ~ 2^7 -1
// short 2바이트 ▶소수점이 없는 숫자로, 범위 -2^15 ~ 2^15 -1
// int 4바이트 ▶소수점이 없는 숫자로, 범위 -2^31 ~ 2^31 - 1
// long 8바이트 ▶소수점이 없는 숫자로, 범위 -2^63 ~ 2^63-1
// float 4바이트 ▶소수점이 있는 숫자로, 끝에 F 또는 f 가 붙는 숫자 (예:3.14f)
// double 8바이트 ▶소수점이 있는 숫자로, 끝에 아무것도 붙지 않는 숫자 (예:3.14)
// ▶소수점이 있는 숫자로, 끝에 D 또는 d 가 붙는 숫자(예:3.14d)
String cnvrString = null;
if (srcNumber < 0) {
return -1;
} else {
cnvrString = String.valueOf(srcNumber);
if (cnvrString.indexOf(".") == -1) {
return 0;
} else {
return 1;
}
}
}
}

View File

@ -0,0 +1,146 @@
package egovframework.com.cmm.util;
import java.io.Closeable;
import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.sql.Wrapper;
/**
* Utility class to support to close resources
* @author Vincent Han
* @since 2014.09.18
* @version 1.0
* @see
*
* <pre>
* << (Modification Information) >>
*
*
* ------- -------- ---------------------------
* 2014.09.18
*
* </pre>
*/
public class EgovResourceCloseHelper {
/**
* Resource close .
* @param resources
*/
public static void close(Closeable ... resources) {
for (Closeable resource : resources) {
if (resource != null) {
try {
resource.close();
} catch (IOException ignore) {//KISA 보안약점 조치 (2018-10-29, 윤창원)
EgovBasicLogger.ignore("Occurred IOException to close resource is ingored!!");
} catch (Exception ignore) {
EgovBasicLogger.ignore("Occurred Exception to close resource is ingored!!");
}
}
}
}
/**
* JDBC resource close
* @param objects
*/
public static void closeDBObjects(Wrapper ... objects) {
for (Object object : objects) {
if (object != null) {
if (object instanceof ResultSet) {
try {
((ResultSet)object).close();
} catch (SQLException ignore) {//KISA 보안약점 조치 (2018-10-29, 윤창원)
EgovBasicLogger.ignore("Occurred SQLException to close resource is ingored!!");
} catch (Exception ignore) {
EgovBasicLogger.ignore("Occurred Exception to close resource is ingored!!");
}
} else if (object instanceof Statement) {
try {
((Statement)object).close();
} catch (SQLException ignore) {//KISA 보안약점 조치 (2018-10-29, 윤창원)
EgovBasicLogger.ignore("Occurred SQLException to close resource is ingored!!");
} catch (Exception ignore) {
EgovBasicLogger.ignore("Occurred Exception to close resource is ingored!!");
}
} else if (object instanceof Connection) {
try {
((Connection)object).close();
} catch (SQLException ignore) {
EgovBasicLogger.ignore("Occurred SQLException to close resource is ingored!!");
} catch (Exception ignore) {
EgovBasicLogger.ignore("Occurred Exception to close resource is ingored!!");
}
} else {
throw new IllegalArgumentException("Wrapper type is not found : " + object.toString());
}
}
}
}
/**
* Socket resource close
* @param objects
*/
public static void closeSocketObjects(Socket socket, ServerSocket server) {
if (socket != null) {
try {
socket.shutdownOutput();
} catch (IOException ignore) {
EgovBasicLogger.ignore("Occurred IOException to close resource is ingored!!");
} catch (Exception ignore) {
EgovBasicLogger.ignore("Occurred Exception to shutdown ouput is ignored!!");
}
try {
socket.close();
} catch (IOException ignore) {
EgovBasicLogger.ignore("Occurred IOException to close resource is ingored!!");
} catch (Exception ignore) {
EgovBasicLogger.ignore("Occurred Exception to close resource is ignored!!");
}
}
if (server != null) {
try {
server.close();
} catch (IOException ignore) {
EgovBasicLogger.ignore("Occurred IOException to close resource is ingored!!");
} catch (Exception ignore) {
EgovBasicLogger.ignore("Occurred Exception to close resource is ignored!!");
}
}
}
/**
* Socket resource close
*
* @param sockets
*/
public static void closeSockets(Socket ... sockets) {
for (Socket socket : sockets) {
if (socket != null) {
try {
socket.shutdownOutput();
} catch (IOException ignore) {
EgovBasicLogger.ignore("Occurred IOException to close resource is ingored!!");
} catch (Exception ignore) {
EgovBasicLogger.ignore("Occurred Exception to shutdown ouput is ignored!!");
}
try {
socket.close();
} catch (IOException ignore) {
EgovBasicLogger.ignore("Occurred IOException to close resource is ingored!!");
} catch (Exception ignore) {
EgovBasicLogger.ignore("Occurred Exception to close resource is ignored!!");
}
}
}
}
}

View File

@ -0,0 +1,230 @@
/**
* @Class Name : EgovSessionUtil.java
* @Description :
* @Modification Information
*
*
* ------- -------- ---------------------------
* 2009.02.13
*
* @author
* @since 2009. 02. 13
* @version 1.0
* @see
*
*/
package egovframework.com.cmm.util;
import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;
import java.net.URLEncoder;
import java.util.Enumeration;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import egovframework.com.cmm.service.EgovProperties;
public class EgovSessionCookieUtil {
/**
* HttpSession
*
* @param request
* @param keyStr -
* @param valStr -
* @throws Exception
*/
public static void setSessionAttribute(HttpServletRequest request, String keyStr, String valStr) throws Exception {
HttpSession session = request.getSession();
session.setAttribute(keyStr, valStr);
}
/**
* HttpSession
*
* @param request
* @param keyStr -
* @param valStr -
* @throws Exception
*/
public static void setSessionAttribute(HttpServletRequest request, String keyStr, Object obj) throws Exception {
HttpSession session = request.getSession(true);
session.setAttribute(keyStr, obj);
}
/**
* HttpSession
*
* @param request
* @param keyStr -
* @return
* @throws Exception
*/
public static Object getSessionAttribute(HttpServletRequest request, String keyStr) throws Exception {
HttpSession session = request.getSession();
return session.getAttribute(keyStr);
}
/**
* HttpSession
*
* @param request
* @return
* @throws Exception
*/
public static String getSessionValuesString(HttpServletRequest request) throws Exception {
HttpSession session = request.getSession();
String returnVal = "";
Enumeration<?> e = session.getAttributeNames();
while (e.hasMoreElements()) {
String sessionKey = (String) e.nextElement();
returnVal = returnVal + "[" + sessionKey + " : " + session.getAttribute(sessionKey) + "]";
}
return returnVal;
}
/**
* HttpSession
*
* @param request
* @param keyStr -
* @throws Exception
*/
public static void removeSessionAttribute(HttpServletRequest request, String keyStr) throws Exception {
HttpSession session = request.getSession();
session.removeAttribute(keyStr);
}
/**
* - .
* 5 =>(cookie.setMaxAge(60 * 5)
* 10 =>(cookie.setMaxAge(60 * 60 * 24 * 10)
*
* @param response - Response
* @param cookieNm -
* @param cookieValue -
* @param minute - ()
* @return
* @exception
* @see
*/
public static void setCookie(HttpServletResponse response, String cookieNm, String cookieVal, int minute) throws UnsupportedEncodingException {
// 특정의 encode 방식을 사용해 캐릭터 라인을 application/x-www-form-urlencoded 형식으로 변환
// 일반 문자열을 웹에서 통용되는 'x-www-form-urlencoded' 형식으로 변환하는 역할
String cookieValue = URLEncoder.encode(cookieVal, "utf-8");
// 쿠키생성 - 쿠키의 이름, 쿠키의 값
Cookie cookie = new Cookie(cookieNm, cookieValue);
cookie.setSecure(true);
// 쿠키의 유효시간 설정
int maxAge = 60 * minute;
// KISA 보안약점 조치 (2018-10-29, 윤창원)
if(maxAge > 60 * 60 * 24) {
maxAge = 60 * 60 * 24;
}
cookie.setMaxAge(maxAge);
// response 내장 객체를 이용해 쿠키를 전송
response.addCookie(cookie);
}
/**
* -
*
* @param response - Response
* @param cookieNm -
* @param cookieValue -
* @return
* @exception
* @see
*/
public static void setCookie(HttpServletResponse response, String cookieNm, String cookieVal) throws UnsupportedEncodingException {
// 특정의 encode 방식을 사용해 캐릭터 라인을 application/x-www-form-urlencoded 형식으로 변환
// 일반 문자열을 웹에서 통용되는 'x-www-form-urlencoded' 형식으로 변환하는 역할
String cookieValue = URLEncoder.encode(cookieVal, "utf-8");
// 쿠키생성
Cookie cookie = new Cookie(EgovWebUtil.removeCRLF(cookieNm), EgovWebUtil.removeCRLF(cookieValue));
// 2011.10.10 보안점검 후속조치
cookie.setSecure(true);
// response 내장 객체를 이용해 쿠키를 전송
response.addCookie(cookie);
}
/**
* - .
*
* @param request - Request
* @param name -
* @return
* @exception
* @see
*/
public static String getCookie(HttpServletRequest request, String cookieNm) throws Exception {
// 한 도메인에서 여러 개의 쿠키를 사용할 수 있기 때문에 Cookie[] 배열이 반환
// Cookie를 읽어서 Cookie 배열로 반환
Cookie[] cookies = request.getCookies();
if (cookies == null)
return "";
String cookieValue = null;
// 입력받은 쿠키명으로 비교해서 쿠키값을 얻어낸다.
for (int i = 0; i < cookies.length; i++) {
if (cookieNm.equals(cookies[i].getName())) {
// 특별한 encode 방식을 사용해 application/x-www-form-urlencoded 캐릭터 라인을 디코드
// URLEncoder로 인코딩된 결과를 디코딩하는 클래스
cookieValue = URLDecoder.decode(cookies[i].getValue(), "utf-8");
break;
}
}
return cookieValue;
}
/**
* - cookie.setMaxAge(0) - 0
*
* @param request - Request
* @param name -
* @return
* @exception
* @see
*/
public static void setCookie(HttpServletResponse response, String cookieNm) throws UnsupportedEncodingException {
// 쿠키생성 - 쿠키의 이름, 쿠키의 값
Cookie cookie = new Cookie(EgovWebUtil.removeCRLF(cookieNm), null);
cookie.setSecure(true);
// 쿠키를 삭제하는 메소드가 따로 존재하지 않음
// 쿠키의 유효시간을 0으로 설정해 줌으로써 쿠키를 삭제하는 것과 동일한 효과
cookie.setMaxAge(0);
// response 내장 객체를 이용해 쿠키를 전송
response.addCookie(cookie);
}
}

View File

@ -0,0 +1,950 @@
/**
* @Class Name : EgovStringUtil.java
* @Description :
* @Modification Information
*
*
* ------- -------- ---------------------------
* 2009.01.13
* 2009.02.13
*
* @author
* @since 2009. 01. 13
* @version 1.0
* @see
*
*/
package egovframework.com.cmm.util;
/*
* Copyright 2001-2006 The Apache Software Foundation.
*
* Licensed under the Apache License, Version 2.0 (the ";License&quot;);
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS"; BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import java.io.UnsupportedEncodingException;
import java.math.BigDecimal;
import java.security.SecureRandom;
import java.sql.Timestamp;
import java.text.SimpleDateFormat;
import java.util.Locale;
public class EgovStringUtil {
/**
* <code>""</code>.
*/
public static final String EMPTY = "";
/**
* <p>Padding </p>
*/
// private static final int PAD_LIMIT = 8192;
/**
* <p>An array of <code>String</code>s used for padding.</p>
* <p>Used for efficient space padding. The length of each String expands as needed.</p>
*/
/*
private static final String[] PADDING = new String[Character.MAX_VALUE];
static {
// space padding is most common, start with 64 chars
PADDING[32] = " ";
}
*/
/**
* .
* @param source
* @param output
* @param slength
* @return
*/
public static String cutString(String source, String output, int slength) {
String returnVal = null;
if (source != null) {
if (source.length() > slength) {
returnVal = source.substring(0, slength) + output;
} else
returnVal = source;
}
return returnVal;
}
/**
*
* @param source
* @param slength
* @return
*/
public static String cutString(String source, int slength) {
String result = null;
if (source != null) {
if (source.length() > slength) {
result = source.substring(0, slength);
} else
result = source;
}
return result;
}
/**
* <p>
* String ("") null .
* </p>
*
* <pre>
* StringUtil.isEmpty(null) = true
* StringUtil.isEmpty("") = true
* StringUtil.isEmpty(" ") = false
* StringUtil.isEmpty("bob") = false
* StringUtil.isEmpty(" bob ") = false
* </pre>
*
* @param str - null
* @return <code>true</code> - String null
*/
public static boolean isEmpty(String str) {
return str == null || str.length() == 0;
}
/**
* <p> (char) .</p>
*
* <pre>
* StringUtil.remove(null, *) = null
* StringUtil.remove("", *) = ""
* StringUtil.remove("queued", 'u') = "qeed"
* StringUtil.remove("queued", 'z') = "queued"
* </pre>
*
* @param str
* @param remove
* @return . null null
*/
public static String remove(String str, char remove) {
if (isEmpty(str) || str.indexOf(remove) == -1) {
return str;
}
char[] chars = str.toCharArray();
int pos = 0;
for (int i = 0; i < chars.length; i++) {
if (chars[i] != remove) {
chars[pos++] = chars[i];
}
}
return new String(chars, 0, pos);
}
/**
* <p> character(,) .</p>
*
* <pre>
* StringUtil.removeCommaChar(null) = null
* StringUtil.removeCommaChar("") = ""
* StringUtil.removeCommaChar("asdfg,qweqe") = "asdfgqweqe"
* </pre>
*
* @param str
* @return " , "
* null null
*/
public static String removeCommaChar(String str) {
return remove(str, ',');
}
/**
* <p> character(-) .</p>
*
* <pre>
* StringUtil.removeMinusChar(null) = null
* StringUtil.removeMinusChar("") = ""
* StringUtil.removeMinusChar("a-sdfg-qweqe") = "asdfgqweqe"
* </pre>
*
* @param str
* @return " - "
* null null
*/
public static String removeMinusChar(String str) {
return remove(str, '-');
}
/**
*
* @param source
* @param subject
* @param object
* @return sb.toString()
*/
public static String replace(String source, String subject, String object) {
StringBuffer rtnStr = new StringBuffer();
String preStr = "";
String nextStr = source;
String srcStr = source;
while (srcStr.indexOf(subject) >= 0) {
preStr = srcStr.substring(0, srcStr.indexOf(subject));
nextStr = srcStr.substring(srcStr.indexOf(subject) + subject.length(), srcStr.length());
srcStr = nextStr;
rtnStr.append(preStr).append(object);
}
rtnStr.append(nextStr);
return rtnStr.toString();
}
/**
*
* @param source
* @param subject
* @param object
* @return sb.toString() / source
*/
public static String replaceOnce(String source, String subject, String object) {
StringBuffer rtnStr = new StringBuffer();
String preStr = "";
String nextStr = source;
if (source.indexOf(subject) >= 0) {
preStr = source.substring(0, source.indexOf(subject));
nextStr = source.substring(source.indexOf(subject) + subject.length(), source.length());
rtnStr.append(preStr).append(object).append(nextStr);
return rtnStr.toString();
} else {
return source;
}
}
/**
* <code>subject</code> object .
*
* @param source
* @param subject
* @param object
* @return sb.toString()
*/
public static String replaceChar(String source, String subject, String object) {
StringBuffer rtnStr = new StringBuffer();
String preStr = "";
String nextStr = source;
String srcStr = source;
char chA;
for (int i = 0; i < subject.length(); i++) {
chA = subject.charAt(i);
if (srcStr.indexOf(chA) >= 0) {
preStr = srcStr.substring(0, srcStr.indexOf(chA));
nextStr = srcStr.substring(srcStr.indexOf(chA) + 1, srcStr.length());
srcStr = rtnStr.append(preStr).append(object).append(nextStr).toString();
}
}
return srcStr;
}
/**
* <p><code>str</code> <code>searchStr</code> (index) .</p>
*
* <p> <code>null</code> <code>-1</code> .</p>
*
* <pre>
* StringUtil.indexOf(null, *) = -1
* StringUtil.indexOf(*, null) = -1
* StringUtil.indexOf("", "") = 0
* StringUtil.indexOf("aabaabaa", "a") = 0
* StringUtil.indexOf("aabaabaa", "b") = 2
* StringUtil.indexOf("aabaabaa", "ab") = 1
* StringUtil.indexOf("aabaabaa", "") = 0
* </pre>
*
* @param str
* @param searchStr
* @return null -1
*/
public static int indexOf(String str, String searchStr) {
if (str == null || searchStr == null) {
return -1;
}
return str.indexOf(searchStr);
}
/**
* <p> decode .
* <code>sourStr</code> <code>compareStr</code>
* <code>returStr</code> , <code>defaultStr</code> .
* </p>
*
* <pre>
* StringUtil.decode(null, null, "foo", "bar")= "foo"
* StringUtil.decode("", null, "foo", "bar") = "bar"
* StringUtil.decode(null, "", "foo", "bar") = "bar"
* StringUtil.decode("하이", "하이", null, "bar") = null
* StringUtil.decode("하이", "하이 ", "foo", null) = null
* StringUtil.decode("하이", "하이", "foo", "bar") = "foo"
* StringUtil.decode("하이", "하이 ", "foo", "bar") = "bar"
* </pre>
*
* @param sourceStr
* @param compareStr
* @param returnStr sourceStr compareStr
* @param defaultStr sourceStr compareStr
* @return sourceStr compareStr (equal) returnStr ,
* <br/> defaultStr .
*/
public static String decode(String sourceStr, String compareStr, String returnStr, String defaultStr) {
if (sourceStr == null && compareStr == null) {
return returnStr;
}
if (sourceStr == null && compareStr != null) {
return defaultStr;
}
if (sourceStr.trim().equals(compareStr)) {
return returnStr;
}
return defaultStr;
}
/**
* <p> decode .
* <code>sourStr</code> <code>compareStr</code>
* <code>returStr</code> , <code>sourceStr</code> .
* </p>
*
* <pre>
* StringUtil.decode(null, null, "foo") = "foo"
* StringUtil.decode("", null, "foo") = ""
* StringUtil.decode(null, "", "foo") = null
* StringUtil.decode("하이", "하이", "foo") = "foo"
* StringUtil.decode("하이", "하이 ", "foo") = "하이"
* StringUtil.decode("하이", "바이", "foo") = "하이"
* </pre>
*
* @param sourceStr
* @param compareStr
* @param returnStr sourceStr compareStr
* @return sourceStr compareStr (equal) returnStr ,
* <br/> sourceStr .
*/
public static String decode(String sourceStr, String compareStr, String returnStr) {
return decode(sourceStr, compareStr, returnStr, sourceStr);
}
/**
* null null ""
* @param object
* @return resultVal
*/
public static String isNullToString(Object object) {
String string = "";
if (object != null) {
string = object.toString().trim();
}
return string;
}
/**
*<pre>
* String null &quot;&quot; .
* &#064;param src null String .
* &#064;return String null &quot;&quot; String .
*</pre>
*/
public static String nullConvert(Object src) {
//if (src != null && src.getClass().getName().equals("java.math.BigDecimal")) {
if (src != null && src instanceof java.math.BigDecimal) {
return ((BigDecimal) src).toString();
}
if (src == null || src.equals("null")) {
return "";
} else {
return ((String) src).trim();
}
}
/**
*<pre>
* String null &quot;&quot; .
* &#064;param src null String .
* &#064;return String null &quot;&quot; String .
*</pre>
*/
public static String nullConvertInt(Object src) {
//if (src != null && src.getClass().getName().equals("java.math.BigDecimal")) {
if (src != null && src instanceof java.math.BigDecimal) {
return ((BigDecimal) src).toString();
}
if (src == null || src.equals("null")) {
return "0";
} else {
return ((String) src).trim();
}
}
/**
*<pre>
* String null &quot;&quot; .
* &#064;param src null String .
* &#064;return String null &quot;&quot; String .
*</pre>
*/
public static String nullConvert(String src) {
if (src == null || src.equals("null") || "".equals(src) || " ".equals(src)) {
return "";
} else {
return src.trim();
}
}
/**
*<pre>
* String null &quot;0&quot; .
* &#064;param src null String .
* &#064;return String null &quot;0&quot; String .
*</pre>
*/
public static int zeroConvert(Object src) {
if (src == null || src.equals("null")) {
return 0;
} else {
return Integer.parseInt(((String) src).trim());
}
}
/**
*<pre>
* String null &quot;&quot; .
* &#064;param src null String .
* &#064;return String null &quot;&quot; String .
*</pre>
*/
public static int zeroConvert(String src) {
if (src == null || src.equals("null") || "".equals(src) || " ".equals(src)) {
return 0;
} else {
return Integer.parseInt(src.trim());
}
}
/**
* <p> {@link Character#isWhitespace(char)}
* .</p>
*
* <pre>
* StringUtil.removeWhitespace(null) = null
* StringUtil.removeWhitespace("") = ""
* StringUtil.removeWhitespace("abc") = "abc"
* StringUtil.removeWhitespace(" ab c ") = "abc"
* </pre>
*
* @param str
* @return the , null <code>null</code>
*/
public static String removeWhitespace(String str) {
if (isEmpty(str)) {
return str;
}
int sz = str.length();
char[] chs = new char[sz];
int count = 0;
for (int i = 0; i < sz; i++) {
if (!Character.isWhitespace(str.charAt(i))) {
chs[count++] = str.charAt(i);
}
}
if (count == sz) {
return str;
}
return new String(chs, 0, count);
}
/**
* Html
*
* @param strString
* @return HTML
*/
public static String checkHtmlView(String strString) {
String strNew = "";
StringBuffer strTxt = new StringBuffer("");
char chrBuff;
int len = strString.length();
for (int i = 0; i < len; i++) {
chrBuff = (char) strString.charAt(i);
switch (chrBuff) {
case '<':
strTxt.append("&lt;");
break;
case '>':
strTxt.append("&gt;");
break;
case '"':
strTxt.append("&quot;");
break;
case 10:
strTxt.append("<br>");
break;
case ' ':
strTxt.append("&nbsp;");
break;
//case '&' :
//strTxt.append("&amp;");
//break;
default:
strTxt.append(chrBuff);
}
}
strNew = strTxt.toString();
return strNew;
}
/**
* .
* @param source
* @param separator
* @return result
*/
public static String[] split(String source, String separator) throws NullPointerException {
String[] returnVal = null;
int cnt = 1;
int index = source.indexOf(separator);
int index0 = 0;
while (index >= 0) {
cnt++;
index = source.indexOf(separator, index + 1);
}
returnVal = new String[cnt];
cnt = 0;
index = source.indexOf(separator);
while (index >= 0) {
returnVal[cnt] = source.substring(index0, index);
index0 = index + 1;
index = source.indexOf(separator, index + 1);
cnt++;
}
returnVal[cnt] = source.substring(index0);
return returnVal;
}
/**
* <p>{@link String#toLowerCase()} .</p>
*
* <pre>
* StringUtil.lowerCase(null) = null
* StringUtil.lowerCase("") = ""
* StringUtil.lowerCase("aBc") = "abc"
* </pre>
*
* @param str
* @return , null <code>null</code>
*/
public static String lowerCase(String str) {
if (str == null) {
return null;
}
return str.toLowerCase();
}
/**
* <p>{@link String#toUpperCase()} .</p>
*
* <pre>
* StringUtil.upperCase(null) = null
* StringUtil.upperCase("") = ""
* StringUtil.upperCase("aBc") = "ABC"
* </pre>
*
* @param str
* @return , null <code>null</code>
*/
public static String upperCase(String str) {
if (str == null) {
return null;
}
return str.toUpperCase();
}
/**
* <p> String (stripChars) .</p>
*
* <pre>
* StringUtil.stripStart(null, *) = null
* StringUtil.stripStart("", *) = ""
* StringUtil.stripStart("abc", "") = "abc"
* StringUtil.stripStart("abc", null) = "abc"
* StringUtil.stripStart(" abc", null) = "abc"
* StringUtil.stripStart("abc ", null) = "abc "
* StringUtil.stripStart(" abc ", null) = "abc "
* StringUtil.stripStart("yxabc ", "xyz") = "abc "
* </pre>
*
* @param str
* @param stripChars
* @return , null <code>null</code>
*/
public static String stripStart(String str, String stripChars) {
int strLen;
if (str == null || (strLen = str.length()) == 0) {
return str;
}
int start = 0;
if (stripChars == null) {
while ((start != strLen) && Character.isWhitespace(str.charAt(start))) {
start++;
}
} else if (stripChars.length() == 0) {
return str;
} else {
while ((start != strLen) && (stripChars.indexOf(str.charAt(start)) != -1)) {
start++;
}
}
return str.substring(start);
}
/**
* <p> String (stripChars) .</p>
*
* <pre>
* StringUtil.stripEnd(null, *) = null
* StringUtil.stripEnd("", *) = ""
* StringUtil.stripEnd("abc", "") = "abc"
* StringUtil.stripEnd("abc", null) = "abc"
* StringUtil.stripEnd(" abc", null) = " abc"
* StringUtil.stripEnd("abc ", null) = "abc"
* StringUtil.stripEnd(" abc ", null) = " abc"
* StringUtil.stripEnd(" abcyx", "xyz") = " abc"
* </pre>
*
* @param str
* @param stripChars
* @return , null <code>null</code>
*/
public static String stripEnd(String str, String stripChars) {
int end;
if (str == null || (end = str.length()) == 0) {
return str;
}
if (stripChars == null) {
while ((end != 0) && Character.isWhitespace(str.charAt(end - 1))) {
end--;
}
} else if (stripChars.length() == 0) {
return str;
} else {
while ((end != 0) && (stripChars.indexOf(str.charAt(end - 1)) != -1)) {
end--;
}
}
return str.substring(0, end);
}
/**
* <p> String , (stripChars) .</p>
*
* <pre>
* StringUtil.strip(null, *) = null
* StringUtil.strip("", *) = ""
* StringUtil.strip("abc", null) = "abc"
* StringUtil.strip(" abc", null) = "abc"
* StringUtil.strip("abc ", null) = "abc"
* StringUtil.strip(" abc ", null) = "abc"
* StringUtil.strip(" abcyx", "xyz") = " abc"
* </pre>
*
* @param str
* @param stripChars
* @return , null <code>null</code>
*/
public static String strip(String str, String stripChars) {
if (isEmpty(str)) {
return str;
}
String srcStr = str;
srcStr = stripStart(srcStr, stripChars);
return stripEnd(srcStr, stripChars);
}
/**
* .
* @param source
* @param separator
* @param arraylength
* @return
*/
public static String[] split(String source, String separator, int arraylength) throws NullPointerException {
String[] returnVal = new String[arraylength];
int cnt = 0;
int index0 = 0;
int index = source.indexOf(separator);
while (index >= 0 && cnt < (arraylength - 1)) {
returnVal[cnt] = source.substring(index0, index);
index0 = index + 1;
index = source.indexOf(separator, index + 1);
cnt++;
}
returnVal[cnt] = source.substring(index0);
if (cnt < (arraylength - 1)) {
for (int i = cnt + 1; i < arraylength; i++) {
returnVal[i] = "";
}
}
return returnVal;
}
/**
* A Z
*
* @param startChr -
* @param endChr -
* @return
* @exception MyException
* @see
*/
public static String getRandomStr(char startChr, char endChr) {
int randomInt;
String randomStr = null;
// 시작문자 및 종료문자를 아스키숫자로 변환한다.
int startInt = Integer.valueOf(startChr);
int endInt = Integer.valueOf(endChr);
// 시작문자열이 종료문자열보가 클경우
if (startInt > endInt) {
throw new IllegalArgumentException("Start String: " + startChr + " End String: " + endChr);
}
// 랜덤 객체 생성
SecureRandom rnd = new SecureRandom();
do {
// 시작문자 및 종료문자 중에서 랜덤 숫자를 발생시킨다.
randomInt = rnd.nextInt(endInt + 1);
} while (randomInt < startInt); // 입력받은 문자 'A'(65)보다 작으면 다시 랜덤 숫자 발생.
// 랜덤 숫자를 문자로 변환 후 스트링으로 다시 변환
randomStr = (char) randomInt + "";
// 랜덤문자열를 리턴
return randomStr;
}
/**
* (EUC-KR[KSC5601],UTF-8..)
* String temp = new String(.getBytes("바꾸기전 인코딩"),"바꿀 인코딩");
* String temp = new String(.getBytes("8859_1"),"KSC5601"); => UTF-8
* EUC-KR
*
* @param srcString -
* @param srcCharsetNm - CharsetNm
* @param charsetNm - CharsetNm
* @return ()
* @exception MyException
* @see
*/
public static String getEncdDcd(String srcString, String srcCharsetNm, String cnvrCharsetNm) {
String rtnStr = null;
if (srcString == null)
return null;
try {
rtnStr = new String(srcString.getBytes(srcCharsetNm), cnvrCharsetNm);
} catch (UnsupportedEncodingException e) {
rtnStr = null;
}
return rtnStr;
}
/**
* ('<' -> & lT)
* @param srcString - '<'
* @return ('<' -> "&lt"
* @exception MyException
* @see
*/
public static String getSpclStrCnvr(String srcString) {
String rtnStr = null;
StringBuffer strTxt = new StringBuffer("");
char chrBuff;
int len = srcString.length();
for (int i = 0; i < len; i++) {
chrBuff = (char) srcString.charAt(i);
switch (chrBuff) {
case '<':
strTxt.append("&lt;");
break;
case '>':
strTxt.append("&gt;");
break;
case '&':
strTxt.append("&amp;");
break;
default:
strTxt.append(chrBuff);
}
}
rtnStr = strTxt.toString();
return rtnStr;
}
/**
* 17TIMESTAMP
*
* @param
* @return Timestamp
* @exception MyException
* @see
*/
public static String getTimeStamp() {
String rtnStr = null;
// 문자열로 변환하기 위한 패턴 설정(년도-월-일 시:분:초:초(자정이후 초))
String pattern = "yyyyMMddhhmmssSSS";
SimpleDateFormat sdfCurrent = new SimpleDateFormat(pattern, Locale.KOREA);
Timestamp ts = new Timestamp(System.currentTimeMillis());
rtnStr = sdfCurrent.format(ts.getTime());
return rtnStr;
}
/**
* html
*
* @param srcString
* @return String
* @exception Exception
* @see
*/
public static String getHtmlStrCnvr(String srcString) {
String tmpString = srcString;
tmpString = tmpString.replaceAll("&lt;", "<");
tmpString = tmpString.replaceAll("&gt;", ">");
tmpString = tmpString.replaceAll("&amp;", "&");
tmpString = tmpString.replaceAll("&nbsp;", " ");
tmpString = tmpString.replaceAll("&apos;", "\'");
tmpString = tmpString.replaceAll("&quot;", "\"");
return tmpString;
}
/**
* <p> character(-) .</p>
*
* <pre>
* StringUtil.addMinusChar("20100901") = "2010-09-01"
* </pre>
*
* @param date
* @return " - "
*/
public static String addMinusChar(String date) {
if (date.length() == 8) {
return date.substring(0, 4).concat("-").concat(date.substring(4, 6)).concat("-").concat(date.substring(6, 8));
} else {
return "";
}
}
/**
* <pre>
* str size f_char .
* </pre>
*
* @param str
*
* @param f_char
*
* @param size
* f_char
* @return String f_char
*/
public static String lpad(String str, String f_char, int size) {
if (str.length() >= size)
return str;
else
return getFillChar("", f_char, size - str.length()) + str;
}
/**
* <pre>
* str size f_char .
* </pre>
*
* @param str
*
* @param f_char
*
* @param size
* f_char
* @return String f_char
*/
public static String getFillChar(String str, String f_char, int size) {
String fillChar = "";
if (str.length() >= size)
return str;
for (int index = 0; index < (size - str.length()); ++index) {
fillChar += f_char;
}
return str + fillChar;
}
}

View File

@ -0,0 +1,151 @@
package egovframework.com.cmm.util;
import java.util.HashMap;
/**
* , , , Service Class
* @author
* @since 2010.06.16
* @version 1.0
* @see <pre>
* (Modification Information)
*
*
* ------- -------- ---------------------------
* 2010.06.16
*
* </pre>
*/
public class EgovUnitCalcUtil {
//길이
HashMap<String, Double> g_hmVt = new HashMap<String, Double>();
//부피
HashMap<String, Double> g_hmVl = new HashMap<String, Double>();
//넓이
HashMap<String, Double> g_hmAr = new HashMap<String, Double>();
//무게
HashMap<String, Double> g_hmWt = new HashMap<String, Double>();
/**
* , , , .
*/
public EgovUnitCalcUtil(){
//길이
g_hmVt.put("vt0", (double)0);
g_hmVt.put("vt1", (double)1);
g_hmVt.put("vt2", 0.01);
g_hmVt.put("vt3", (1/2.54));
g_hmVt.put("vt4", (1/30.48));
g_hmVt.put("vt5", (1/91.44));
g_hmVt.put("vt6", (1/160934.4));
g_hmVt.put("vt7", 0.033);
g_hmVt.put("vt8", (0.033/6));
g_hmVt.put("vt9", (0.033/360));
g_hmVt.put("vt10", (0.033/1296));
//부피
g_hmVl.put("vl0", (double)0);
g_hmVl.put("vl1", (1/0.18039));
g_hmVl.put("vl2", (1/1.8039));
g_hmVl.put("vl3", (1/18.039));
g_hmVl.put("vl4", 10000.0);
g_hmVl.put("vl5", 0.001);
g_hmVl.put("vl6", (double)1);
g_hmVl.put("vl7", (1000/16.387064));
g_hmVl.put("vl8", (1000/Math.pow(2.54*12,3)));
g_hmVl.put("vl9", (1000/Math.pow(2.54*36,3)));
g_hmVl.put("vl10", (1000/(Math.pow(2.54,3)*231)));
//넓이
g_hmAr.put("ar0", (double)0);
g_hmAr.put("ar1", (double)(1089/100));
g_hmAr.put("ar2", (double)(1089/3600));
g_hmAr.put("ar3", (double)(1089/1080000));
g_hmAr.put("ar4", (double)(1089/10800000));
g_hmAr.put("ar5", (double)1);
g_hmAr.put("ar6", 0.01);
g_hmAr.put("ar7", (1/Math.pow(2.54*12/100,2)));
g_hmAr.put("ar8", (1/Math.pow(2.54*36/100,2)));
g_hmAr.put("ar9", (1/(Math.pow(2.54*36/100,2)*4840)));
g_hmAr.put("ar10", 0.0001);
//무게
g_hmWt.put("wt0", (double)0);
g_hmWt.put("wt1", (double)1);
g_hmWt.put("wt2", (double)1000);
g_hmWt.put("wt3", 0.001);
g_hmWt.put("wt4", 0.000001);
g_hmWt.put("wt5", (1/0.06479891));
g_hmWt.put("wt6", (16/453.59237));
g_hmWt.put("wt7", (1/453.59237));
g_hmWt.put("wt8", (1/3.75));
g_hmWt.put("wt9", (1/37.5));
g_hmWt.put("wt10", (double)(1/600));
g_hmWt.put("wt11", (double)(1/3750));
}
/**
* .
* @param nLength -
* @param sLengthUnit-
* @param sLengthUnitAs-
* @return double -
*/
public double convertLengthCalcUnit(double nLength, String sLengthUnit, String sLengthUnitAs){
double nSelAr = g_hmVt.get(sLengthUnit);
double nSelArAs = g_hmVt.get(sLengthUnitAs);
return (nSelArAs / nSelAr) * nLength;
}
/**
* .
* @param nVolume -
* @param sVolumeUnit-
* @param sVolumeUnitAs-
* @return double -
*/
public double convertVolumeCalcUnit(double nVolume, String sVolumeUnit, String sVolumeUnitAs){
double nSelVl = g_hmVl.get(sVolumeUnit);
double nSelVlAs = g_hmVl.get(sVolumeUnitAs);
return (nSelVl / nSelVlAs) * nVolume;
}
/**
* .
* @param nWeight -
* @param sWeightUnit -
* @param sWeightUnitAs -
* @return double -
*/
public double convertWeightCalcUnit(double nWeight, String sWeightUnit, String sWeightUnitAs){
double nSelWt = g_hmAr.get(sWeightUnit);
double nSelWtAs = g_hmAr.get(sWeightUnitAs);
return (nSelWt / nSelWtAs) * nWeight;
}
/**
* .
* @param nWidth -
* @param sWidthUnit-
* @param sWidthUnitAs-
* @return double -
*/
public double convertWidthCalcUnit(double nWidth, String sWidthUnit, String sWidthUnitAs){
double nSelAr = g_hmWt.get(sWidthUnit);
double nSelArAs = g_hmWt.get(sWidthUnitAs);
return (nSelAr / nSelArAs) * nWidth;
}
}

View File

@ -0,0 +1,109 @@
package egovframework.com.cmm.util;
import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.util.AntPathMatcher;
/**
* @Class Name : UrlRewriteFilter.java
* @Description : UrlRewriteFilter Class
* @Modification Information
* @
* @
* @ --------- --------- -------------------------------
* @ 2014.09.30
*
* @author
* @since 2014. 09.30
* @version 1.0
* @see
*
* Copyright (C) by MOPAS All right reserved.
*/
public class EgovUrlRewriteFilter implements Filter {
@SuppressWarnings("unused")
private FilterConfig config;
private String targetURI;
private String httpsPort;
private String httpPort;
private String[] uriPatterns;
@Override
public void init(FilterConfig config) throws ServletException {
String delimiter = ",";
this.config = config;
this.targetURI = config.getInitParameter("targetURI");
this.httpsPort = config.getInitParameter("httpsPort");
this.httpPort = config.getInitParameter("httpPort");
this.uriPatterns = targetURI.split(delimiter);
}
@Override
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws ServletException, IOException {
HttpServletRequest req = (HttpServletRequest) request;
HttpServletResponse res = (HttpServletResponse) response;
String uri = req.getRequestURI();
String getProtocol = req.getScheme();
String getDomain = req.getServerName();
AntPathMatcher pm = new AntPathMatcher();
for (String uriPattern : uriPatterns) {
if (pm.match(uriPattern.trim(), uri)) {
if (getProtocol.toLowerCase().equals("http")) {
response.setContentType("text/html");
String httpsPath = "https" + "://" + getDomain + ":" + httpsPort + uri;
String site = new String(httpsPath);
res.setStatus(HttpServletResponse.SC_MOVED_TEMPORARILY);
res.setHeader("Location", site);
}
}else if(getProtocol.toLowerCase().equals("https")){
response.setContentType("text/html");
String httpPath = "http" + "://" + getDomain + ":" + httpPort + uri;
String site = new String(httpPath);
res.setStatus(HttpServletResponse.SC_MOVED_TEMPORARILY);
res.setHeader("Location", site);
}
}
chain.doFilter(req, res);
}
@Override
public void destroy() {
this.targetURI = null;
this.httpsPort = null;
this.httpPort = null;
this.uriPatterns = null;
}
}

View File

@ -0,0 +1,87 @@
package egovframework.com.cmm.util;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import org.springframework.web.context.request.RequestAttributes;
import org.springframework.web.context.request.RequestContextHolder;
import egovframework.rte.fdl.string.EgovObjectUtil;
import sgis.com.vo.ComUserVO;
import sgis.com.vo.SessionVO;
/**
* EgovUserDetails Helper
*
* @author sjyoon
* @since 2009.06.01
* @version 1.0
* @see
*
* <pre>
* << (Modification Information) >>
*
*
* ------- ------------- ----------------------
* 2009.03.10 sjyoon
* 2011.08.31 JJY 릿
*
* </pre>
*/
public class EgovUserDetailsHelper {
/**
* VO .
* @return Object - ValueObject
*/
public static Object getAuthenticatedUser() {
return (SessionVO)RequestContextHolder.getRequestAttributes().getAttribute("LoginVO", RequestAttributes.SCOPE_SESSION)==null ?
new SessionVO() : (SessionVO) RequestContextHolder.getRequestAttributes().getAttribute("LoginVO", RequestAttributes.SCOPE_SESSION);
}
/**
* .
* ) [ROLE_ADMIN, ROLE_USER, ROLE_A, ROLE_B, ROLE_RESTRICTED, IS_AUTHENTICATED_FULLY, IS_AUTHENTICATED_REMEMBERED, IS_AUTHENTICATED_ANONYMOUSLY]
* @return List -
*/
public static List<String> getAuthorities() {
List<String> listAuth = new ArrayList<String>();
if (EgovObjectUtil.isNull((ComUserVO) RequestContextHolder.getRequestAttributes().getAttribute("LoginVO", RequestAttributes.SCOPE_SESSION))) {
// log.debug("## authentication object is null!!");
return null;
}
return listAuth;
}
public static List<?> getAuthoritiesList() {
List<?> listAuth = new ArrayList<Map<String, String>>();
SessionVO sessionVO = (SessionVO) RequestContextHolder.getRequestAttributes().getAttribute("LoginVO", RequestAttributes.SCOPE_SESSION);
if (EgovObjectUtil.isNull(sessionVO)) {
// log.debug("## authentication object is null!!");
return null;
}else {
listAuth = sessionVO.getAuthList();
}
return listAuth;
}
/**
* .
* @return Boolean - (TRUE / FALSE)
*/
public static Boolean isAuthenticated() {
SessionVO sessionVO = (SessionVO) RequestContextHolder.getRequestAttributes().getAttribute("LoginVO", RequestAttributes.SCOPE_SESSION);
if (EgovObjectUtil.isNull(sessionVO) || "".equals(sessionVO.getsUserId())) {
// log.debug("## authentication object is null!!");
return Boolean.FALSE;
}
return Boolean.TRUE;
}
}

View File

@ -0,0 +1,125 @@
package egovframework.com.cmm.util;
import java.util.regex.Pattern;
/**
* ( )
*
* <pre>
* << (Modification Information) >>
*
*
* ----------- -------- ---------------------------
* 2011.10.10
* 2017-02-07 (ES) - [CWE-22, CWE-23, CWE-95, CWE-99]
* 2018.08.17 filePathBlackList
* 2018.10.10 . => \\.
* </pre>
*/
public class EgovWebUtil {
public static String clearXSSMinimum(String value) {
if (value == null || value.trim().equals("")) {
return "";
}
String returnValue = value;
returnValue = returnValue.replaceAll("&", "&amp;");
returnValue = returnValue.replaceAll("<", "&lt;");
returnValue = returnValue.replaceAll(">", "&gt;");
returnValue = returnValue.replaceAll("\"", "&#34;");
returnValue = returnValue.replaceAll("\'", "&#39;");
returnValue = returnValue.replaceAll("\\.", "&#46;");
returnValue = returnValue.replaceAll("%2E", "&#46;");
returnValue = returnValue.replaceAll("%2F", "&#47;");
return returnValue;
}
public static String clearXSSMaximum(String value) {
String returnValue = value;
returnValue = clearXSSMinimum(returnValue);
returnValue = returnValue.replaceAll("%00", null);
returnValue = returnValue.replaceAll("%", "&#37;");
// \\. => .
returnValue = returnValue.replaceAll("\\.\\./", ""); // ../
returnValue = returnValue.replaceAll("\\.\\.\\\\", ""); // ..\
returnValue = returnValue.replaceAll("\\./", ""); // ./
returnValue = returnValue.replaceAll("%2F", "");
return returnValue;
}
public static String filePathBlackList(String value) {
String returnValue = value;
if (returnValue == null || returnValue.trim().equals("")) {
return "";
}
returnValue = returnValue.replaceAll("\\.\\.", "");
return returnValue;
}
/**
* .
*
* @param value
* @return
*/
public static String filePathReplaceAll(String value) {
String returnValue = value;
if (returnValue == null || returnValue.trim().equals("")) {
return "";
}
returnValue = returnValue.replaceAll("/", "");
returnValue = returnValue.replaceAll("\\", "");
returnValue = returnValue.replaceAll("\\.\\.", ""); // ..
returnValue = returnValue.replaceAll("&", "");
return returnValue;
}
public static String fileInjectPathReplaceAll(String value) {
String returnValue = value;
if (returnValue == null || returnValue.trim().equals("")) {
return "";
}
returnValue = returnValue.replaceAll("/", "");
returnValue = returnValue.replaceAll("\\..", ""); // ..
returnValue = returnValue.replaceAll("\\\\", "");// \
returnValue = returnValue.replaceAll("&", "");
return returnValue;
}
public static String filePathWhiteList(String value) {
return value;
}
public static boolean isIPAddress(String str) {
Pattern ipPattern = Pattern.compile("\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}");
return ipPattern.matcher(str).matches();
}
public static String removeCRLF(String parameter) {
return parameter.replaceAll("\r", "").replaceAll("\n", "");
}
public static String removeSQLInjectionRisk(String parameter) {
return parameter.replaceAll("\\p{Space}", "").replaceAll("\\*", "").replaceAll("%", "").replaceAll(";", "").replaceAll("-", "").replaceAll("\\+", "").replaceAll(",", "");
}
public static String removeOSCmdRisk(String parameter) {
return parameter.replaceAll("\\p{Space}", "").replaceAll("\\*", "").replaceAll("|", "").replaceAll(";", "");
}
}

View File

@ -0,0 +1,22 @@
package egovframework.com.cmm.web;
import java.text.SimpleDateFormat;
import java.util.Date;
import org.springframework.beans.propertyeditors.CustomDateEditor;
import org.springframework.beans.propertyeditors.StringTrimmerEditor;
import org.springframework.web.bind.WebDataBinder;
import org.springframework.web.bind.support.WebBindingInitializer;
import org.springframework.web.context.request.WebRequest;
public class EgovBindingInitializer implements WebBindingInitializer {
public void initBinder(WebDataBinder binder, WebRequest request) {
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
dateFormat.setLenient(false);
binder.registerCustomEditor(Date.class, new CustomDateEditor(dateFormat, false));
binder.registerCustomEditor(String.class, new StringTrimmerEditor(false));
}
}

View File

@ -0,0 +1,80 @@
package egovframework.com.cmm.web;
import egovframework.rte.fdl.property.EgovPropertyService;
import javax.annotation.Resource;
import javax.servlet.http.HttpSession;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
/**
* Controller
* @author JJY
* @since 2009.03.02
* @version 1.0
* @see
*
* <pre>
* << (Modification Information) >>
*
*
* ------- -------- ---------------------------
* 2009.03.02 JJY
* 2011.08.31 JJY 릿
*
* </pre>
*/
@Controller
public class EgovComUtlController {
/** EgovPropertyService */
@Resource(name = "propertiesService")
protected EgovPropertyService propertiesService;
/**
* JSP
*/
@RequestMapping(value="/EgovPageLink.do")
public String moveToPage(@RequestParam("link") String linkPage,
HttpSession session,
@RequestParam(value="menuNo", required=false) String menuNo){
String link = linkPage;
// service 사용하여 리턴할 결과값 처리하는 부분은 생략하고 단순 페이지 링크만 처리함
if (linkPage==null || linkPage.equals("")){
link="cmm/egovError";
}else{
if(link.indexOf(",")>-1){
link=link.substring(0,link.indexOf(","));
}
}
// 선택된 메뉴정보를 세션으로 등록한다.
if (menuNo!=null && !menuNo.equals("")){
session.setAttribute("menuNo",menuNo);
}
return link;
}
/**
* JSP
*/
@RequestMapping(value="/EgovPageLink.action")
public String moveToPage_action(@RequestParam("link") String linkPage){
String link = linkPage;
// service 사용하여 리턴할 결과값 처리하는 부분은 생략하고 단순 페이지 링크만 처리함
if (linkPage==null || linkPage.equals("")){
link="cmm/egovError";
}
return link;
}
/**
* validation rule dynamic java script
*/
@RequestMapping("/validator.do")
public String validate(){
return "cmm/validator";
}
}

View File

@ -0,0 +1,134 @@
package egovframework.com.cmm.web;
/*
* Copyright 2001-2006 The Apache Software Foundation.
*
* Licensed under the Apache License, Version 2.0 (the ";License&quot;);
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS"; BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import java.io.UnsupportedEncodingException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import javax.servlet.ServletContext;
import org.apache.commons.fileupload.FileItem;
import org.springframework.util.LinkedMultiValueMap;
import org.springframework.util.MultiValueMap;
import org.springframework.util.StringUtils;
import org.springframework.web.multipart.MultipartException;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.multipart.commons.CommonsMultipartFile;
import org.springframework.web.multipart.commons.CommonsMultipartResolver;
/**
*
* @author
* @since 2009.06.01
* @version 1.0
* @see
*
* <pre>
* << (Modification Information) >>
*
*
* ------- -------- ---------------------------
* 2009.3.25
* 2011.06.11 3.0 API
*
* </pre>
*/
public class EgovMultipartResolver extends CommonsMultipartResolver {
public EgovMultipartResolver() {
}
/**
* multipart resolver .
*
* @param servletContext
*/
public EgovMultipartResolver(ServletContext servletContext) {
super(servletContext);
}
/**
* multipart parsing .
*/
@SuppressWarnings("rawtypes")
@Override
protected MultipartParsingResult parseFileItems(List fileItems, String encoding) {
//스프링 3.0변경으로 수정한 부분
MultiValueMap<String, MultipartFile> multipartFiles = new LinkedMultiValueMap<String, MultipartFile>();
Map<String, String[]> multipartParameters = new HashMap<String, String[]>();
// Extract multipart files and multipart parameters.
for (Iterator<?> it = fileItems.iterator(); it.hasNext();) {
FileItem fileItem = (FileItem)it.next();
if (fileItem.isFormField()) {
String value = null;
if (encoding != null) {
try {
value = fileItem.getString(encoding);
} catch (UnsupportedEncodingException ex) {
if (logger.isWarnEnabled()) {
logger.warn("Could not decode multipart item '" + fileItem.getFieldName() + "' with encoding '" + encoding
+ "': using platform default");
}
value = fileItem.getString();
}
} else {
value = fileItem.getString();
}
String[] curParam = multipartParameters.get(fileItem.getFieldName());
if (curParam == null) {
// simple form field
multipartParameters.put(fileItem.getFieldName(), new String[] { value });
} else {
// array of simple form fields
String[] newParam = StringUtils.addStringToArray(curParam, value);
multipartParameters.put(fileItem.getFieldName(), newParam);
}
} else {
if (fileItem.getSize() > 0) {
// multipart file field
CommonsMultipartFile file = new CommonsMultipartFile(fileItem);
//스프링 3.0 업그레이드 API변경으로인한 수정
List<MultipartFile> fileList = new ArrayList<MultipartFile>();
fileList.add(file);
if (multipartFiles.put(fileItem.getName(), fileList) != null) { // CHANGED!!
throw new MultipartException("Multiple files for field name [" + file.getName()
+ "] found - not supported by MultipartResolver");
}
if (logger.isDebugEnabled()) {
logger.debug("Found multipart file [" + file.getName() + "] of size " + file.getSize() + " bytes with original filename ["
+ file.getOriginalFilename() + "], stored " + file.getStorageDescription());
}
}
}
}
return new MultipartParsingResult(multipartFiles, multipartParameters, null);
}
}

View File

@ -0,0 +1,13 @@
package sgis.adm.mapper;
import java.util.HashMap;
import java.util.List;
import egovframework.rte.psl.dataaccess.mapper.Mapper;
@Mapper("AdmMainMapper")
public interface AdmMainMapper {
List<?> selectUserList(HashMap<String,Object> params) throws Exception;
}

View File

@ -0,0 +1,10 @@
package sgis.adm.service;
import java.util.HashMap;
import java.util.List;
public interface AdmMainService {
List<?> selectUserList(HashMap<String,Object> params) throws Exception;
}

View File

@ -0,0 +1,23 @@
package sgis.adm.service.impl;
import java.util.HashMap;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import sgis.adm.mapper.AdmMainMapper;
import sgis.adm.service.AdmMainService;
@Service("AdmMainService")
public class AdmMainServiceImpl implements AdmMainService {
@Autowired
private AdmMainMapper admMainMapper;
@Override
public List<?> selectUserList(HashMap<String,Object> params) throws Exception {
return admMainMapper.selectUserList(params);
}
}

View File

@ -0,0 +1,278 @@
package sgis.adm.web;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.json.simple.JSONArray;
import org.json.simple.JSONObject;
import org.json.simple.parser.JSONParser;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import egovframework.rte.fdl.property.EgovPropertyService;
import sgis.adm.service.AdmMainService;
import sgis.board.entity.Member;
import sgis.com.service.ComUserService;
import sgis.com.util.WebUtil;
import sgis.com.vo.SessionVO;
import sgis.com.web.BaseController;
import sgis.board.entity.Member;
import sgis.board.mapper.MemberMapper;
/**
* @FileName : AdmMainController.java
* @Date : 2022. 5. 10.
* @Creator :
* @Discription :
*/
@Controller
public class AdmMainController extends BaseController {
//logger 설정
private final Logger logger = LoggerFactory.getLogger(AdmMainController.class);
@Resource(name ="AdmMainService")
private AdmMainService AdmMainService;
@Resource(name="ComUserService")
private ComUserService comUserService;
/** EgovPropertyService */
@Resource(name = "propertiesService")
protected EgovPropertyService propertiesService;
@Autowired
MemberMapper memberMapper;
// 관리자페이지
@RequestMapping(value = "/sgis/adm/admMain.do")
public String adminMain(@RequestParam HashMap<String, Object> params, HttpServletRequest request, ModelMap model) throws Exception{
return "sgis/adm/main";
}
//사용자 리스트 호출
@SuppressWarnings("unchecked")
@RequestMapping(value = "/app/adm/userList_jsondata.do", method = {RequestMethod.POST, RequestMethod.GET})
public void userList_jsondata(@RequestParam HashMap<String,Object> params, ModelMap model,HttpServletRequest request, HttpServletResponse response) throws Exception{
request.setCharacterEncoding("UTF-8");
response.setContentType("text/html;charset=UTF-8");
//data정보
List<?> result = AdmMainService.selectUserList(params);
HashMap<String, List<?>> resultMap = new HashMap<String, List<?>>();
resultMap.put("dataList1", result);
JSONObject json = new JSONObject();
json.putAll( resultMap );
response.getWriter().print(json);
};
/**
* @Method_Name : selectApiList
* @Date : 2022. 10. 11.
* @Creator :
* @Method_Discription : REST API
* @param RequestParam
* @param Request
* @return Response
* @throws
**/
@RequestMapping(value="/sgis/adm/selectApiList.do")
public String selectApiList(@RequestParam HashMap<String,Object> params, ModelMap model,HttpServletRequest request, HttpServletResponse response) throws Exception{
setCode2Model("sido_code", model); // 시도코드
setCode2Model("sgg_code", model); // 시군구코드
setCode2Model("emd_code", model); // 읍면동코드
List<?> apiLogList = comUserService.selectSystbClog01List(params);
model.put("apiLogList", apiLogList);
return "sgis/adm/apiList";
};
//비밀번호초기화
@RequestMapping(value="/app/adm/pwInit.do")
@ResponseBody
public String pwInit(@RequestParam HashMap<String,Object> param, ModelMap model,HttpServletRequest request, HttpServletResponse response, Member m) throws Exception{
String initPw = "";
String retStr = "";
try {
//암호화
initPw = WebUtil.getEncrypt("gotnqn1234");
String userId = (String) param.get("userId");
m.setUser_id(userId);
m.setPswd(initPw);
int result = memberMapper.memPwUpdate(m);
if(result==1) { // 수정성공 메세지
retStr = "success";
}else {
retStr = "fail";
}
retStr = "success";
} catch (Exception e) { System.out.println("ERROR:"+e);
retStr = "fail";
}
return "{\"result\":\""+retStr+"\"}";
};
//관리자 회원가입
@RequestMapping(value="/app/adm/newAdmInsert.do")
@ResponseBody
public String newAdmInsert(@RequestParam HashMap<String,Object> param, ModelMap model,HttpServletRequest request, HttpServletResponse response, Member m) throws Exception{
String retStr = "";
try {
String enPw = "";
enPw = WebUtil.getEncrypt((String) param.get("memPassword1"));
m.setPswd(enPw);
m.setUser_group("A");
int result=memberMapper.register(m);
if(result==1) { // 수정성공 메세지
retStr = "success";
}else {
retStr = "fail";
}
retStr = "success";
} catch (Exception e) { System.out.println("ERROR:"+e);
retStr = "fail";
}
return "{\"result\":\""+retStr+"\"}";
};
//관리자 회원정보 수정
@RequestMapping(value="/app/adm/updateUser.do")
@ResponseBody
public String updateUser(@RequestParam HashMap<String,Object> param, ModelMap model,HttpServletRequest request, HttpServletResponse response, Member m) throws Exception{
String retStr = "";
try {
m.setUser_id((String) param.get("userId"));
int result = memberMapper.memUpdate(m);
if(result==1) { // 수정성공 메세지
retStr = "success";
}else {
retStr = "fail";
}
retStr = "success";
} catch (Exception e) { System.out.println("ERROR:"+e);
retStr = "fail";
}
return "{\"result\":\""+retStr+"\"}";
};
//관리자 회원정보 삭제
@RequestMapping(value="/app/adm/deleteUser.do")
@ResponseBody
public String deleteUser(@RequestParam HashMap<String,Object> param, ModelMap model,HttpServletRequest request, HttpServletResponse response, Member m) throws Exception{
String retStr = "";
try {
m.setUser_id((String) param.get("userId"));
int result = memberMapper.memDelete(m);
if(result==1) { // 삭제성공 메세지
retStr = "success";
}else {
retStr = "fail";
}
retStr = "success";
} catch (Exception e) { System.out.println("ERROR:"+e);
retStr = "fail";
}
return "{\"result\":\""+retStr+"\"}";
};
@RequestMapping(value="/app/adm/deleteListUser.do", method=RequestMethod.POST)
public @ResponseBody Object insertAssigneeList(@RequestParam String jsonData, ModelMap model,HttpServletRequest request, HttpServletResponse response) throws Exception{
Map<String, Object> result = new HashMap<String, Object>();
Map<String, Object> paramMap = new HashMap<String, Object>();
JSONArray array = new JSONArray();
JSONParser parser = new JSONParser();
array = (JSONArray)parser.parse(jsonData);
List<Map<String, Object>> list = new ArrayList <Map<String, Object>>();
for(int i=0; i<array.size(); i++) {
JSONObject obj = (JSONObject)array.get(i);
Map<String, Object> resendMap = new HashMap<String, Object>();
resendMap.put("userId", obj.get("userId"));
list.add(resendMap);
}
paramMap.put("list", list);
memberMapper.deleteUserList(paramMap);
result.put("code", "ok");
result.put("message", "선택한 사용자를 삭제하였습니다.");
return result;
};
//관리자 회원정보 삭제
@RequestMapping(value="/app/adm/deleteListUser.do")
@ResponseBody
public String deleteListUser(@RequestParam HashMap<String,Object> param, ModelMap model,HttpServletRequest request, HttpServletResponse response, Member m) throws Exception{
String retStr = "";
try {
m.setUser_id((String) param.get("userId"));
int result = memberMapper.memDelete(m);
if(result==1) { // 삭제성공 메세지
retStr = "success";
}else {
retStr = "fail";
}
retStr = "success";
} catch (Exception e) { System.out.println("ERROR:"+e);
retStr = "fail";
}
return "{\"result\":\""+retStr+"\"}";
};
}

View File

@ -0,0 +1,106 @@
package sgis.app.mapper;
import java.util.HashMap;
import java.util.List;
import egovframework.rte.psl.dataaccess.mapper.Mapper;
@Mapper("AppBasicMapper")
public interface AppBasicMapper {
List<?> selectSptInfo(HashMap<String,Object> params) throws Exception;
void insertSptInfo(HashMap<String, Object> params) throws Exception;
void deleteSptInfo(HashMap<String, Object> params) throws Exception;
List<?> selectTcrrqdInfo(HashMap<String,Object> params) throws Exception;
void insertTcrrqdInfo(HashMap<String, Object> params) throws Exception;
void deleteTcrrqdInfo(HashMap<String, Object> params) throws Exception;
List<?> selectDsfInfo(HashMap<String,Object> params) throws Exception;
void insertDsfInfo(HashMap<String, Object> params) throws Exception;
void deleteDsfInfo(HashMap<String, Object> params) throws Exception;
List<?> selectPressuremeterInfo(HashMap<String,Object> params) throws Exception;
void deleteFieldPressuremeterInfo(HashMap<String, Object> params) throws Exception;
void insertFieldPressuremeterInfo(HashMap<String, Object> params) throws Exception;
List<?> selectSlickensideInfo(HashMap<String,Object> params) throws Exception;
void deleteSlickensideInfo(HashMap<String, Object> params) throws Exception;
void insertSlickensideInfo(HashMap<String, Object> params) throws Exception;
List<?> selectQInfo(HashMap<String,Object> params) throws Exception;
void deleteQInfo(HashMap<String, Object> params) throws Exception;
void insertQInfo(HashMap<String, Object> params) throws Exception;
List<?> selectRmrInfo(HashMap<String,Object> params) throws Exception;
void deleteRmrInfo(HashMap<String, Object> params) throws Exception;
void insertRmrInfo(HashMap<String, Object> params) throws Exception;
List<?> selectFieldWaterPressureInfo(HashMap<String,Object> params) throws Exception;
void deleteFieldWaterPressureInfo(HashMap<String, Object> params) throws Exception;
void insertFieldWaterPressureInfo(HashMap<String, Object> params) throws Exception;
void updateFieldWaterPressureSubInfo(HashMap<String, Object> params) throws Exception;
List<?> selectFieldWpSubInfo(HashMap<String,Object> params) throws Exception;
void deleteFieldWpSubInfo(HashMap<String, Object> params) throws Exception;
void insertFieldWpSubInfo(HashMap<String, Object> params) throws Exception;
List<?> selectFieldPermeablityInfo(HashMap<String,Object> params) throws Exception;
void deleteFieldPermeablityInfo(HashMap<String, Object> params) throws Exception;
void insertFieldPermeablityInfo(HashMap<String, Object> params) throws Exception;
void updateFieldPermeablitySubInfo(HashMap<String, Object> params) throws Exception;
List<?> selectFieldPerSubInfo(HashMap<String,Object> params) throws Exception;
void deleteFieldPerSubInfo(HashMap<String, Object> params) throws Exception;
void insertFieldPerSubInfo(HashMap<String, Object> params) throws Exception;
List<?> selectFieldConePenetrationInfo(HashMap<String,Object> params) throws Exception;
void deleteFieldConePenetrationInfo(HashMap<String, Object> params) throws Exception;
void insertFieldConePenetrationInfo(HashMap<String, Object> params) throws Exception;
void updateFieldConePenetrationInfo(HashMap<String, Object> params) throws Exception;
List<?> selectFieldCpSubInfo(HashMap<String,Object> params) throws Exception;
void deleteFieldCpSubInfo(HashMap<String, Object> params) throws Exception;
void insertFieldCpSubInfo(HashMap<String, Object> params) throws Exception;
List<?> selectFieldVaneInfo(HashMap<String,Object> params) throws Exception;
void deleteFieldVaneInfo(HashMap<String, Object> params) throws Exception;
void insertFieldVaneInfo(HashMap<String, Object> params) throws Exception;
List<?> selectFieldPoreWaterPressureInfo(HashMap<String,Object> params) throws Exception;
void deleteFieldPoreWaterPressureInfo(HashMap<String, Object> params) throws Exception;
void insertFieldPoreWaterPressureInfo(HashMap<String, Object> params) throws Exception;
}

View File

@ -0,0 +1,33 @@
package sgis.app.mapper;
import java.util.HashMap;
import java.util.List;
import egovframework.rte.psl.dataaccess.mapper.Mapper;
import egovframework.rte.psl.dataaccess.util.EgovMap;
import sgis.app.vo.AppHoleVO;
import sgis.app.vo.AppProjVO;
import sgis.app.vo.AppSaupVO;
@Mapper("AppGpMapper")
public interface AppGpMapper {
List<?> selectBoreholeWaveInfo(HashMap<String,Object> params) throws Exception;
void deleteBoreholeWaveInfo(HashMap<String, Object> params) throws Exception;
void insertBoreholeWaveInfo(HashMap<String, Object> params) throws Exception;
List<?> selectDownholeInfo(HashMap<String,Object> params) throws Exception;
void deleteDownholeInfo(HashMap<String, Object> params) throws Exception;
void insertDownholeInfo(HashMap<String, Object> params) throws Exception;
List<?> selectDensityInfo(HashMap<String,Object> params) throws Exception;
void deleteDensityInfo(HashMap<String, Object> params) throws Exception;
void insertDensityInfo(HashMap<String, Object> params) throws Exception;
}

View File

@ -0,0 +1,99 @@
package sgis.app.mapper;
import java.util.HashMap;
import java.util.List;
import egovframework.rte.psl.dataaccess.mapper.Mapper;
/**
* @FileName : AppServiceMapper.java
* @Date : 2022. 9. 22.
* @Creator : ICTWAY KIM YOON SU
* @Discription :
*/
@Mapper("AppInstrumentMapper")
public interface AppInstrumentMapper {
List<?> selectSurSetInfo(HashMap<String,Object> params) throws Exception;
void insertSurSetInfo(HashMap<String, Object> params) throws Exception;
void deleteSurSetInfo(HashMap<String, Object> params) throws Exception;
List<?> selectSurPinInfo(HashMap<String, Object> params) throws Exception;
void insertSurPinInfo(HashMap<String, Object> params) throws Exception;
void deleteSurPinInfo(HashMap<String, Object> params) throws Exception;
List<?> selectVerIncInfo(HashMap<String, Object> params) throws Exception;
void deleteVerIncInfo(HashMap<String, Object> params) throws Exception;
void insertVerIncInfo(HashMap<String, Object> params) throws Exception;
List<?> selectSetExtInfo(HashMap<String, Object> params) throws Exception;
void deleteSetExtInfo(HashMap<String, Object> params) throws Exception;
void insertSetExtInfo(HashMap<String, Object> params) throws Exception;
List<?> selectWatPreInfo(HashMap<String, Object> params) throws Exception;
void deleteWatPreInfo(HashMap<String, Object> params) throws Exception;
void insertWatPreInfo(HashMap<String, Object> params) throws Exception;
List<?> selectWatLevInfo(HashMap<String, Object> params) throws Exception;
void deleteWatLevInfo(HashMap<String, Object> params) throws Exception;
void insertWatLevInfo(HashMap<String, Object> params) throws Exception;
List<?> selectSurSetSubInfo(HashMap<String, Object> params) throws Exception;
void insertSurSetSubInfo(HashMap<String, Object> params) throws Exception;
void deleteSurSetSubInfo(HashMap<String, Object> params) throws Exception;
List<?> selectSurPinSubInfo(HashMap<String, Object> params) throws Exception;
void insertSurPinSubInfo(HashMap<String, Object> params) throws Exception;
void deleteSurPinSubInfo(HashMap<String, Object> params) throws Exception;
List<?> selectVerIncSubInfo(HashMap<String, Object> params) throws Exception;
void insertVerIncSubInfo(HashMap<String, Object> params) throws Exception;
void deleteVerIncSubInfo(HashMap<String, Object> params) throws Exception;
List<?> selectSetExtSubInfo(HashMap<String, Object> params) throws Exception;
void insertSetExtSubInfo(HashMap<String, Object> params) throws Exception;
void deleteSetExtSubInfo(HashMap<String, Object> params) throws Exception;
List<?> selectWatPreSubInfo(HashMap<String, Object> params) throws Exception;
void insertWatPreSubInfo(HashMap<String, Object> params) throws Exception;
void deleteWatPreSubInfo(HashMap<String, Object> params) throws Exception;
List<?> selectWatLevSubInfo(HashMap<String, Object> params) throws Exception;
void insertWatLevSubInfo(HashMap<String, Object> params) throws Exception;
void deleteWatLevSubInfo(HashMap<String, Object> params) throws Exception;
List<?> selectVerIncMapInfo(HashMap<String, Object> params) throws Exception;
List<?> selectSetExtMapInfo(HashMap<String, Object> params) throws Exception;
List<?> selectWatPreMapInfo(HashMap<String, Object> params) throws Exception;
List<?> selectWatLevMapInfo(HashMap<String, Object> params) throws Exception;
List<?> selectSurSetSubMapInfo(HashMap<String, Object> params) throws Exception;
}

View File

@ -0,0 +1,39 @@
package sgis.app.mapper;
import java.util.HashMap;
import java.util.List;
import egovframework.rte.psl.dataaccess.mapper.Mapper;
import egovframework.rte.psl.dataaccess.util.EgovMap;
import sgis.app.vo.AppHoleVO;
import sgis.app.vo.AppProjVO;
import sgis.app.vo.AppSaupVO;
@Mapper("AppLineMapper")
public interface AppLineMapper {
EgovMap selectResistivityInfo(HashMap<String,Object> params) throws Exception;
void insertResistivityInfo(HashMap<String, Object> params) throws Exception;
void updateResistivityInfo(HashMap<String, Object> params) throws Exception;
List<?> selectResistivitySubInfo(HashMap<String,Object> params) throws Exception;
void deleteResistivitySubInfo(HashMap<String, Object> params) throws Exception;
void insertResistivitySubInfo(HashMap<String, Object> params) throws Exception;
EgovMap selectRefractionInfo(HashMap<String,Object> params) throws Exception;
void insertRefractionInfo(HashMap<String, Object> params) throws Exception;
void updateRefractionInfo(HashMap<String, Object> params) throws Exception;
List<?> selectRefractionSubInfo(HashMap<String,Object> params) throws Exception;
void deleteRefractionSubInfo(HashMap<String, Object> params) throws Exception;
void insertRefractionSubInfo(HashMap<String, Object> params) throws Exception;
}

View File

@ -0,0 +1,107 @@
package sgis.app.mapper;
import java.util.HashMap;
import java.util.List;
import egovframework.rte.psl.dataaccess.mapper.Mapper;
import egovframework.rte.psl.dataaccess.util.EgovMap;
import sgis.app.vo.AppHoleVO;
import sgis.app.vo.AppProjVO;
import sgis.app.vo.AppSaupVO;
@Mapper("AppMainMapper")
public interface AppMainMapper {
List<?> selectComCode(HashMap<String,Object> params) throws Exception;
List<?> selectCoordiPrjstring() throws Exception;
List<?> selectAppProjList(HashMap<String,Object> params) throws Exception;
public void insertProjectInfo(AppProjVO vo) throws Exception;
public void updateProjectInfo(AppProjVO vo) throws Exception;
public void updateProjectFileNo(AppProjVO vo) throws Exception;
public void deleteProject(AppProjVO vo) throws Exception;
EgovMap selectAppProjDetail(HashMap<String,Object> params) throws Exception;
public void updateArea(HashMap<String,Object> params) throws Exception;
EgovMap selectAreaIntersects(HashMap<String,Object> params) throws Exception;
public void updateAreaYn(HashMap<String,Object> params) throws Exception;
public void insertSaupInfo(AppSaupVO vo) throws Exception;
public void updateSaupInfo(AppSaupVO vo) throws Exception;
public void updateSaupArea(HashMap<String,Object> params) throws Exception;
List<?> selectAppSaupList(HashMap<String,Object> params) throws Exception;
EgovMap selectAppSaupDetail(HashMap<String,Object> params) throws Exception;
List<?> selectAppHoleList(HashMap<String,Object> params) throws Exception;
EgovMap selectAppHoleDetail(HashMap<String,Object> params) throws Exception;
public void insertHoleInfo(AppHoleVO vo) throws Exception;
public void updateHoleInfo(AppHoleVO vo) throws Exception;
public void updateHoleFileNo(AppHoleVO vo) throws Exception;
List<?> selectLeftMenuTree(HashMap<String,Object> params) throws Exception;
List<?> selectLeftMenuTestTree(HashMap<String,Object> params) throws Exception;
EgovMap selectLeftMenuLineTree(HashMap<String,Object> params) throws Exception;
EgovMap selectTopoInfo(HashMap<String,Object> params) throws Exception;
void insertTopo01(HashMap<String, Object> params) throws Exception;
void updateTopo01(HashMap<String, Object> params) throws Exception;
EgovMap selectTestItemsInfo(HashMap<String,Object> params) throws Exception;
void insertItem01(HashMap<String, Object> params) throws Exception;
void updateItem01(HashMap<String, Object> params) throws Exception;
List<?> selectUnitInfo(HashMap<String,Object> params) throws Exception;
List<?> selectReferenceCode(HashMap<String,Object> params) throws Exception;
void insertItem02(HashMap<String, Object> params) throws Exception;
void updateItem02(HashMap<String, Object> params) throws Exception;
List<?> selectLayerInfo(HashMap<String,Object> params) throws Exception;
List<?> selectDivisionInfo(HashMap<String,Object> params) throws Exception;
void insertLayerInfo(HashMap<String, Object> params) throws Exception;
void deleteLayerInfo(HashMap<String, Object> params) throws Exception;
List<?> selectSampleInfo(HashMap<String,Object> params) throws Exception;
void deleteSampleInfo(HashMap<String, Object> params) throws Exception;
void insertSampleInfo(HashMap<String, Object> params) throws Exception;
List<?> selectFileInfoList(HashMap<String,Object> params) throws Exception;
List<?> selectMainTest(HashMap<String,Object> params) throws Exception;
EgovMap selectConstItemsInfo(HashMap<String,Object> params) throws Exception;
void insertItem03(HashMap<String, Object> params) throws Exception;
void updateItem03(HashMap<String, Object> params) throws Exception;
}

View File

@ -0,0 +1,87 @@
package sgis.app.mapper;
import java.util.HashMap;
import java.util.List;
import egovframework.rte.psl.dataaccess.mapper.Mapper;
import egovframework.rte.psl.dataaccess.util.EgovMap;
import sgis.app.vo.AppHoleVO;
import sgis.app.vo.AppProjVO;
import sgis.app.vo.AppSaupVO;
@Mapper("AppRockMapper")
public interface AppRockMapper {
public int selectRockUniaxialCnt(HashMap<String,Object> params) throws Exception;
List<?> selectRockUniaxialSampleCodeList(HashMap<String,Object> params) throws Exception;
List<?> selectRockUniaxialInfo(HashMap<String,Object> params) throws Exception;
void insertRockUniaxialInfo(HashMap<String, Object> params) throws Exception;
void deleteRockUniaxialInfo(HashMap<String, Object> params) throws Exception;
public int selectRockTriaxialCnt(HashMap<String,Object> params) throws Exception;
List<?> selectRockTriaxialSampleCodeList(HashMap<String,Object> params) throws Exception;
List<?> selectRockTriaxialInfo(HashMap<String,Object> params) throws Exception;
void insertRockTriaxialInfo(HashMap<String, Object> params) throws Exception;
void deleteRockTriaxialInfo(HashMap<String, Object> params) throws Exception;
public int selectRockPointloadCnt(HashMap<String,Object> params) throws Exception;
List<?> selectRockPointloadSampleCodeList(HashMap<String,Object> params) throws Exception;
List<?> selectRockPointloadInfo(HashMap<String,Object> params) throws Exception;
void insertRockPointloadInfo(HashMap<String, Object> params) throws Exception;
void deleteRockPointloadInfo(HashMap<String, Object> params) throws Exception;
public int selectRockJointshearCnt(HashMap<String,Object> params) throws Exception;
List<?> selectRockJointshearSampleCodeList(HashMap<String,Object> params) throws Exception;
List<?> selectRockJointshearInfo(HashMap<String,Object> params) throws Exception;
void insertRockJointshearInfo(HashMap<String, Object> params) throws Exception;
void deleteRockJointshearInfo(HashMap<String, Object> params) throws Exception;
List<?> selectRockResonantUsualInfo(HashMap<String,Object> params) throws Exception;
void deleteRockResonantUsualInfo(HashMap<String, Object> params) throws Exception;
void insertRockResonantUsualInfo(HashMap<String, Object> params) throws Exception;
void updateRockResonantUsualSubInfo(HashMap<String, Object> params) throws Exception;
List<?> selectRockResonantUsualSubInfo(HashMap<String,Object> params) throws Exception;
void deleteRockResonantUsualSubInfo(HashMap<String, Object> params) throws Exception;
void insertRockResonantUsualSubInfo(HashMap<String, Object> params) throws Exception;
List<?> selectRockRepeatedTriaxialUsualInfo(HashMap<String,Object> params) throws Exception;
void deleteRockRepeatedTriaxialUsualInfo(HashMap<String, Object> params) throws Exception;
void insertRockRepeatedTriaxialUsualInfo(HashMap<String, Object> params) throws Exception;
void updateRockRepeatedTriaxialUsualSubInfo(HashMap<String, Object> params) throws Exception;
List<?> selectRockRepeatedTriaxialUsualSubInfo(HashMap<String,Object> params) throws Exception;
void deleteRockRepeatedTriaxialUsualSubInfo(HashMap<String, Object> params) throws Exception;
void insertRockRepeatedTriaxialUsualSubInfo(HashMap<String, Object> params) throws Exception;
List<?> selectRockResonantUsualSubTotalInfo(HashMap<String, Object> params) throws Exception;
List<?> selectRockRepeatedTriaxialUsualSubTotalInfo(HashMap<String, Object> params) throws Exception;
}

View File

@ -0,0 +1,105 @@
package sgis.app.mapper;
import java.util.HashMap;
import java.util.List;
import egovframework.rte.psl.dataaccess.mapper.Mapper;
import egovframework.rte.psl.dataaccess.util.EgovMap;
import sgis.app.vo.AppHoleVO;
import sgis.app.vo.AppProjVO;
import sgis.app.vo.AppSaupVO;
@Mapper("AppSandMapper")
public interface AppSandMapper {
List<?> selectClasInfo(HashMap<String,Object> params) throws Exception;
void insertClasInfo(HashMap<String, Object> params) throws Exception;
void updateClasInfo(HashMap<String, Object> params) throws Exception;
void deleteClasInfo(HashMap<String, Object> params) throws Exception;
List<?> selectCbrInfo(HashMap<String,Object> params) throws Exception;
void insertCbrInfo(HashMap<String, Object> params) throws Exception;
void updateCbrInfo(HashMap<String, Object> params) throws Exception;
void deleteCbrInfo(HashMap<String, Object> params) throws Exception;
List<?> selectConsolidationInfo(HashMap<String,Object> params) throws Exception;
void insertConsolidationInfo(HashMap<String, Object> params) throws Exception;
void updateConsolidationInfo(HashMap<String, Object> params) throws Exception;
void deleteConsolidationInfo(HashMap<String, Object> params) throws Exception;
List<?> selectConsolidationSubTotalInfo(HashMap<String, Object> params) throws Exception;
List<?> selectConsolidationSubInfo(HashMap<String,Object> params) throws Exception;
void insertConsolidationSubInfo(HashMap<String, Object> params) throws Exception;
void deleteConsolidationSubInfo(HashMap<String, Object> params) throws Exception;
List<?> selectUnconfinedUsualInfo(HashMap<String,Object> params) throws Exception;
void insertUnconfinedUsualInfo(HashMap<String, Object> params) throws Exception;
void updateUnconfinedUsualInfo(HashMap<String, Object> params) throws Exception;
void deleteUnconfinedUsualInfo(HashMap<String, Object> params) throws Exception;
List<?> selectTriaxialUsualInfo(HashMap<String,Object> params) throws Exception;
void insertTriaxialUsualInfo(HashMap<String, Object> params) throws Exception;
void updateTriaxialUsualInfo(HashMap<String, Object> params) throws Exception;
void deleteTriaxialUsualInfo(HashMap<String, Object> params) throws Exception;
List<?> selectTriaxialUsualSubTotalInfo(HashMap<String, Object> params) throws Exception;
List<?> selectTriaxialUsualSubInfo(HashMap<String,Object> params) throws Exception;
void insertTriaxialUsualSubInfo(HashMap<String, Object> params) throws Exception;
void deleteTriaxialUsualSubInfo(HashMap<String, Object> params) throws Exception;
List<?> selectResonantUsualInfo(HashMap<String,Object> params) throws Exception;
void insertResonantUsualInfo(HashMap<String, Object> params) throws Exception;
void updateResonantUsualInfo(HashMap<String, Object> params) throws Exception;
void deleteResonantUsualInfo(HashMap<String, Object> params) throws Exception;
List<?> selectResonantUsualSubInfo(HashMap<String,Object> params) throws Exception;
void insertResonantUsualSubInfo(HashMap<String, Object> params) throws Exception;
void deleteResonantUsualSubInfo(HashMap<String, Object> params) throws Exception;
List<?> selectRepeatedTriaxialUsualInfo(HashMap<String,Object> params) throws Exception;
List<?> selectResonantUsualSubTotalInfo(HashMap<String, Object> params) throws Exception;
void insertRepeatedTriaxialUsualInfo(HashMap<String, Object> params) throws Exception;
void updateRepeatedTriaxialUsualInfo(HashMap<String, Object> params) throws Exception;
void deleteRepeatedTriaxialUsualInfo(HashMap<String, Object> params) throws Exception;
List<?> selectRepeatedTriaxialUsualSubInfo(HashMap<String,Object> params) throws Exception;
void insertRepeatedTriaxialUsualSubInfo(HashMap<String, Object> params) throws Exception;
void deleteRepeatedTriaxialUsualSubInfo(HashMap<String, Object> params) throws Exception;
}

View File

@ -0,0 +1,28 @@
package sgis.app.mapper;
import java.util.HashMap;
import java.util.List;
import egovframework.rte.psl.dataaccess.mapper.Mapper;
import egovframework.rte.psl.dataaccess.util.EgovMap;
/**
* @FileName : AppFillMapper.java
* @Date : 2022. 9. 1.
* @Creator : ICTWAY KIM YOON SU
* @Discription :
*/
@Mapper("AppSgImpPlanMapper")
public interface AppSgImpPlanMapper {
EgovMap includeFillInfo(HashMap<String, Object> params) throws Exception;
List<?> selectZoneInfo(HashMap<String, Object> params) throws Exception;
List<?> selectSuTrInfo(HashMap<String, Object> params) throws Exception;
void insertSuTrInfo(HashMap<String, Object> params) throws Exception;
void deleteSuTrInfo(HashMap<String, Object> params) throws Exception;
}

View File

@ -0,0 +1,25 @@
package sgis.app.mapper;
import java.util.HashMap;
import java.util.List;
import egovframework.rte.psl.dataaccess.mapper.Mapper;
import egovframework.rte.psl.dataaccess.util.EgovMap;
/**
* @FileName : AppSoftGroundMapper.java
* @Date : 2022. 9. 16.
* @Creator : ICTWAY KIM YOON SU
* @Discription :
*/
@Mapper("AppSoftGroundMapper")
public interface AppSoftGroundMapper {
List<?> selectSoftGroundInfo(HashMap<String, Object> params) throws Exception;
void insertSoftGroundInfo(HashMap<String, Object> params) throws Exception;
void deleteSoftGroundInfo(HashMap<String, Object> params) throws Exception;
EgovMap includeSoftGroundInfo(HashMap<String, Object> params) throws Exception;
}

Some files were not shown because too many files have changed in this diff Show More