This commit is contained in:
hylee 2022-08-09 17:44:32 +09:00
commit d66f73cf85
6932 changed files with 1088157 additions and 0 deletions

76
.gitignore vendored Normal file
View File

@ -0,0 +1,76 @@
### Eclipse ###
.metadata
bin/
deploy/
tmp/
*.tmp
*.bak
*.swp
*~.nib
local.properties
.settings
.loadpath
.recommenders
# External tool builders
.externalToolBuilders/
# Locally stored "Eclipse launch configurations"
*.launch
# PyDev specific (Python IDE for Eclipse)
*.pydevproject
# CDT-specific (C/C++ Development Tooling)
.cproject
# Java annotation processor (APT)
.factorypath
# PDT-specific (PHP Development Tools)
.buildpath
# sbteclipse plugin
.target
# Tern plugin
.tern-project
# TeXlipse plugin
.texlipse
# STS (Spring Tool Suite)
.springBeans
# Code Recommenders
.recommenders/
# Scala IDE specific (Scala & Java development for Eclipse)
.cache-main
.scala_dependencies
.worksheet
### Eclipse Patch ###
# Eclipse Core
*.project
# JDT-specific (Eclipse Java Development Tools)
*.classpath
# End of https://www.gitignore.io/api/eclipse
# Maven
target/
pom.xml.tag
pom.xml.releaseBackup
pom.xml.versionsBackup
pom.xml.next
release.properties
dependency-reduced-pom.xml
buildNumber.properties
.mvn/timing.properties

Binary file not shown.

View File

@ -0,0 +1,365 @@
#아래순서로 테이블생성 및 기초데이터 입력
# 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 ('GROUP_ID',1);
INSERT INTO IDS(TABLE_NAME,NEXT_ID) VALUES ('LOGINLOG_ID',1);
INSERT INTO IDS(TABLE_NAME,NEXT_ID) VALUES ('ROLE_ID',1);
INSERT INTO IDS(TABLE_NAME,NEXT_ID) VALUES ('SAMPLE',1);
INSERT INTO IDS(TABLE_NAME,NEXT_ID) VALUES ('SYSLOG_ID',1);
INSERT INTO IDS(TABLE_NAME,NEXT_ID) VALUES ('TMPLAT_ID',1);
INSERT INTO IDS(TABLE_NAME,NEXT_ID) VALUES ('USRCNFRM_ID',2);
# 분류코드
INSERT INTO LETTCCMMNCLCODE(CL_CODE,CL_CODE_NM,CL_CODE_DC,USE_AT,FRST_REGIST_PNTTM,FRST_REGISTER_ID,LAST_UPDT_PNTTM,LAST_UPDUSR_ID) VALUES ('LET','전자정부 프레임워크 경량환경 템플릿','전자정부 프레임워크 경량환경 템플릿1','Y','2011-08-02 21:13:03','SYSTEM','2011-08-09 17:17:08',null);
# 공통코드
INSERT INTO LETTCCMMNCODE(CODE_ID,CODE_ID_NM,CODE_ID_DC,USE_AT,CL_CODE,FRST_REGIST_PNTTM,FRST_REGISTER_ID,LAST_UPDT_PNTTM,LAST_UPDUSR_ID) VALUES ('COM001','등록구분','게시판, 커뮤니티, 동호회 등록구분코드1','Y','LET','2011-08-02 21:13:03','SYSTEM','2011-08-09 17:56:24',null);
INSERT INTO LETTCCMMNCODE(CODE_ID,CODE_ID_NM,CODE_ID_DC,USE_AT,CL_CODE,FRST_REGIST_PNTTM,FRST_REGISTER_ID,LAST_UPDT_PNTTM,LAST_UPDUSR_ID) VALUES ('COM003','업무구분','업무구분코드','Y','LET','2011-08-02 21:13:03','SYSTEM','2011-08-02 21:13:03','SYSTEM');
INSERT INTO LETTCCMMNCODE(CODE_ID,CODE_ID_NM,CODE_ID_DC,USE_AT,CL_CODE,FRST_REGIST_PNTTM,FRST_REGISTER_ID,LAST_UPDT_PNTTM,LAST_UPDUSR_ID) VALUES ('COM004','게시판유형','게시판유형구분코드','Y','LET','2011-08-02 21:13:03','SYSTEM','2011-08-02 21:13:03','SYSTEM');
INSERT INTO LETTCCMMNCODE(CODE_ID,CODE_ID_NM,CODE_ID_DC,USE_AT,CL_CODE,FRST_REGIST_PNTTM,FRST_REGISTER_ID,LAST_UPDT_PNTTM,LAST_UPDUSR_ID) VALUES ('COM005','템플릿유형','템플릿유형구분코드','Y','LET','2011-08-02 21:13:03','SYSTEM','2011-08-02 21:13:03','SYSTEM');
INSERT INTO LETTCCMMNCODE(CODE_ID,CODE_ID_NM,CODE_ID_DC,USE_AT,CL_CODE,FRST_REGIST_PNTTM,FRST_REGISTER_ID,LAST_UPDT_PNTTM,LAST_UPDUSR_ID) VALUES ('COM009','게시판속성','게시판 속성','Y','LET','2011-08-02 21:13:03','SYSTEM','2011-08-02 21:13:03','SYSTEM');
INSERT INTO LETTCCMMNCODE(CODE_ID,CODE_ID_NM,CODE_ID_DC,USE_AT,CL_CODE,FRST_REGIST_PNTTM,FRST_REGISTER_ID,LAST_UPDT_PNTTM,LAST_UPDUSR_ID) VALUES ('COM013','회원상태','회원 가입 신청/승인/삭제를 위한 상태 구분','Y','LET','2011-08-11 11:32:57','SYSTEM','2011-08-11 11:32:57','SYSTEM');
INSERT INTO LETTCCMMNCODE(CODE_ID,CODE_ID_NM,CODE_ID_DC,USE_AT,CL_CODE,FRST_REGIST_PNTTM,FRST_REGISTER_ID,LAST_UPDT_PNTTM,LAST_UPDUSR_ID) VALUES ('COM014','성별구분','남녀 성별 구분','Y','LET','2011-08-11 11:32:50','SYSTEM','2011-08-11 11:32:50','SYSTEM');
INSERT INTO LETTCCMMNCODE(CODE_ID,CODE_ID_NM,CODE_ID_DC,USE_AT,CL_CODE,FRST_REGIST_PNTTM,FRST_REGISTER_ID,LAST_UPDT_PNTTM,LAST_UPDUSR_ID) VALUES ('COM022','비밀번호 힌트','비밀번호 힌트 구분코드','Y','LET','2011-08-11 11:31:02','SYSTEM','2011-08-11 11:31:02','SYSTEM');
INSERT INTO LETTCCMMNCODE(CODE_ID,CODE_ID_NM,CODE_ID_DC,USE_AT,CL_CODE,FRST_REGIST_PNTTM,FRST_REGISTER_ID,LAST_UPDT_PNTTM,LAST_UPDUSR_ID) VALUES ('COM025','소속기관','소속기관정보를 관리할때 사용하는 구분코드(시스템별로 재정의)','Y','LET','2011-08-11 11:32:57','SYSTEM','2011-08-11 11:32:57','SYSTEM');
INSERT INTO LETTCCMMNCODE(CODE_ID,CODE_ID_NM,CODE_ID_DC,USE_AT,CL_CODE,FRST_REGIST_PNTTM,FRST_REGISTER_ID,LAST_UPDT_PNTTM,LAST_UPDUSR_ID) VALUES ('COM029','롤유형코드','','Y','LET','2011-08-12 10:45:16','SYSTEM','2011-08-12 10:45:16','SYSTEM');
# 공통상세코드
INSERT INTO LETTCCMMNDETAILCODE(CODE_ID,CODE,CODE_NM,CODE_DC,USE_AT,FRST_REGIST_PNTTM,FRST_REGISTER_ID,LAST_UPDT_PNTTM,LAST_UPDUSR_ID) VALUES ('COM001','REGC01','단일 게시판 이용등록','단일 게시판 이용등록','Y','2011-08-02 21:13:03','SYSTEM','2011-08-02 21:13:03','SYSTEM');
INSERT INTO LETTCCMMNDETAILCODE(CODE_ID,CODE,CODE_NM,CODE_DC,USE_AT,FRST_REGIST_PNTTM,FRST_REGISTER_ID,LAST_UPDT_PNTTM,LAST_UPDUSR_ID) VALUES ('COM001','REGC07','게시판사용자등록','게시판사용자등록','Y','2011-08-02 21:13:03','SYSTEM','2011-08-02 21:13:03','SYSTEM');
INSERT INTO LETTCCMMNDETAILCODE(CODE_ID,CODE,CODE_NM,CODE_DC,USE_AT,FRST_REGIST_PNTTM,FRST_REGISTER_ID,LAST_UPDT_PNTTM,LAST_UPDUSR_ID) VALUES ('COM003','BBS','게시판','게시판','Y','2011-08-02 21:13:03','SYSTEM','2011-08-02 21:13:03','SYSTEM');
INSERT INTO LETTCCMMNDETAILCODE(CODE_ID,CODE,CODE_NM,CODE_DC,USE_AT,FRST_REGIST_PNTTM,FRST_REGISTER_ID,LAST_UPDT_PNTTM,LAST_UPDUSR_ID) VALUES ('COM004','BBST01','일반게시판','일반게시판','Y','2011-08-02 21:13:03','SYSTEM','2011-08-02 21:13:03','SYSTEM');
INSERT INTO LETTCCMMNDETAILCODE(CODE_ID,CODE,CODE_NM,CODE_DC,USE_AT,FRST_REGIST_PNTTM,FRST_REGISTER_ID,LAST_UPDT_PNTTM,LAST_UPDUSR_ID) VALUES ('COM004','BBST02','익명게시판','익명게시판','N','2011-08-02 21:13:03','SYSTEM','2011-08-02 21:13:03','SYSTEM');
INSERT INTO LETTCCMMNDETAILCODE(CODE_ID,CODE,CODE_NM,CODE_DC,USE_AT,FRST_REGIST_PNTTM,FRST_REGISTER_ID,LAST_UPDT_PNTTM,LAST_UPDUSR_ID) VALUES ('COM004','BBST03','공지게시판','공지게시판','Y','2011-08-02 21:13:03','SYSTEM','2011-08-02 21:13:03','SYSTEM');
INSERT INTO LETTCCMMNDETAILCODE(CODE_ID,CODE,CODE_NM,CODE_DC,USE_AT,FRST_REGIST_PNTTM,FRST_REGISTER_ID,LAST_UPDT_PNTTM,LAST_UPDUSR_ID) VALUES ('COM005','TMPT01','게시판템플릿','게시판템플릿','Y','2011-08-02 21:13:03','SYSTEM','2011-08-02 21:13:03','SYSTEM');
INSERT INTO LETTCCMMNDETAILCODE(CODE_ID,CODE,CODE_NM,CODE_DC,USE_AT,FRST_REGIST_PNTTM,FRST_REGISTER_ID,LAST_UPDT_PNTTM,LAST_UPDUSR_ID) VALUES ('COM009','BBSA01','유효게시판','유효게시판','N','2011-08-02 21:13:03','SYSTEM','2011-08-02 21:13:03','SYSTEM');
INSERT INTO LETTCCMMNDETAILCODE(CODE_ID,CODE,CODE_NM,CODE_DC,USE_AT,FRST_REGIST_PNTTM,FRST_REGISTER_ID,LAST_UPDT_PNTTM,LAST_UPDUSR_ID) VALUES ('COM009','BBSA02','갤러리','갤러리','Y','2011-08-02 21:13:03','SYSTEM','2011-08-02 21:13:03','SYSTEM');
INSERT INTO LETTCCMMNDETAILCODE(CODE_ID,CODE,CODE_NM,CODE_DC,USE_AT,FRST_REGIST_PNTTM,FRST_REGISTER_ID,LAST_UPDT_PNTTM,LAST_UPDUSR_ID) VALUES ('COM009','BBSA03','일반게시판','일반게시판','Y','2011-08-02 21:13:03','SYSTEM','2011-08-02 21:13:03','SYSTEM');
INSERT INTO LETTCCMMNDETAILCODE(CODE_ID,CODE,CODE_NM,CODE_DC,USE_AT,FRST_REGIST_PNTTM,FRST_REGISTER_ID,LAST_UPDT_PNTTM,LAST_UPDUSR_ID) VALUES ('COM013','A','회원 가입 신청 상태','회원 가입 신청 상태','Y','2011-08-11 11:32:57','SYSTEM','2011-08-11 11:32:57','SYSTEM');
INSERT INTO LETTCCMMNDETAILCODE(CODE_ID,CODE,CODE_NM,CODE_DC,USE_AT,FRST_REGIST_PNTTM,FRST_REGISTER_ID,LAST_UPDT_PNTTM,LAST_UPDUSR_ID) VALUES ('COM013','D','회원 가입 삭제 상태','회원 가입 삭제 상태','Y','2011-08-11 11:32:57','SYSTEM','2011-08-11 11:32:57','SYSTEM');
INSERT INTO LETTCCMMNDETAILCODE(CODE_ID,CODE,CODE_NM,CODE_DC,USE_AT,FRST_REGIST_PNTTM,FRST_REGISTER_ID,LAST_UPDT_PNTTM,LAST_UPDUSR_ID) VALUES ('COM013','P','회원 가입 승인 상태','회원 가입 승인 상태','Y','2011-08-11 11:32:57','SYSTEM','2011-08-11 11:32:57','SYSTEM');
INSERT INTO LETTCCMMNDETAILCODE(CODE_ID,CODE,CODE_NM,CODE_DC,USE_AT,FRST_REGIST_PNTTM,FRST_REGISTER_ID,LAST_UPDT_PNTTM,LAST_UPDUSR_ID) VALUES ('COM014','F','여자','여자','Y','2011-08-11 11:32:57','SYSTEM','2011-08-11 11:32:57','SYSTEM');
INSERT INTO LETTCCMMNDETAILCODE(CODE_ID,CODE,CODE_NM,CODE_DC,USE_AT,FRST_REGIST_PNTTM,FRST_REGISTER_ID,LAST_UPDT_PNTTM,LAST_UPDUSR_ID) VALUES ('COM014','M','남자','남자','Y','2011-08-11 11:32:57','SYSTEM','2011-08-11 11:32:57','SYSTEM');
INSERT INTO LETTCCMMNDETAILCODE(CODE_ID,CODE,CODE_NM,CODE_DC,USE_AT,FRST_REGIST_PNTTM,FRST_REGISTER_ID,LAST_UPDT_PNTTM,LAST_UPDUSR_ID) VALUES ('COM022',' P01','가장 기억에 남는 장소는?','가장 기억에 남는 장소는?','Y','2011-08-11 11:32:57','SYSTEM','2011-08-11 11:32:57','SYSTEM');
INSERT INTO LETTCCMMNDETAILCODE(CODE_ID,CODE,CODE_NM,CODE_DC,USE_AT,FRST_REGIST_PNTTM,FRST_REGISTER_ID,LAST_UPDT_PNTTM,LAST_UPDUSR_ID) VALUES ('COM022',' P02','나의 좌우명은?','나의 좌우명은?','Y','2011-08-11 11:32:57','SYSTEM','2011-08-11 11:32:57','SYSTEM');
INSERT INTO LETTCCMMNDETAILCODE(CODE_ID,CODE,CODE_NM,CODE_DC,USE_AT,FRST_REGIST_PNTTM,FRST_REGISTER_ID,LAST_UPDT_PNTTM,LAST_UPDUSR_ID) VALUES ('COM022',' P03','나의 보물 제1호는?','나의 보물 제1호는?','Y','2011-08-11 11:32:57','SYSTEM','2011-08-11 11:32:57','SYSTEM');
INSERT INTO LETTCCMMNDETAILCODE(CODE_ID,CODE,CODE_NM,CODE_DC,USE_AT,FRST_REGIST_PNTTM,FRST_REGISTER_ID,LAST_UPDT_PNTTM,LAST_UPDUSR_ID) VALUES ('COM022',' P04','가장 기억에 남는 선생님 성함은?','가장 기억에 남는 선생님 성함은?','Y','2011-08-11 11:32:57','SYSTEM','2011-08-11 11:32:57','SYSTEM');
INSERT INTO LETTCCMMNDETAILCODE(CODE_ID,CODE,CODE_NM,CODE_DC,USE_AT,FRST_REGIST_PNTTM,FRST_REGISTER_ID,LAST_UPDT_PNTTM,LAST_UPDUSR_ID) VALUES ('COM022',' P05','다른 사람은 모르는 나만의 신체비밀은?','다른 사람은 모르는 나만의 신체비밀은?','Y','2011-08-11 11:32:57','SYSTEM','2011-08-11 11:32:57','SYSTEM');
INSERT INTO LETTCCMMNDETAILCODE(CODE_ID,CODE,CODE_NM,CODE_DC,USE_AT,FRST_REGIST_PNTTM,FRST_REGISTER_ID,LAST_UPDT_PNTTM,LAST_UPDUSR_ID) VALUES ('COM025','00000001','공공기관','공공기관','Y','2011-08-11 11:33:10','SYSTEM','2011-08-11 11:33:10','SYSTEM');
INSERT INTO LETTCCMMNDETAILCODE(CODE_ID,CODE,CODE_NM,CODE_DC,USE_AT,FRST_REGIST_PNTTM,FRST_REGISTER_ID,LAST_UPDT_PNTTM,LAST_UPDUSR_ID) VALUES ('COM025','00000002','금융기관','금융기관','Y','2011-08-11 11:33:10','SYSTEM','2011-08-11 11:33:10','SYSTEM');
INSERT INTO LETTCCMMNDETAILCODE(CODE_ID,CODE,CODE_NM,CODE_DC,USE_AT,FRST_REGIST_PNTTM,FRST_REGISTER_ID,LAST_UPDT_PNTTM,LAST_UPDUSR_ID) VALUES ('COM025','00000003','교육기관','교육기관','Y','2011-08-11 11:33:10','SYSTEM','2011-08-11 11:33:10','SYSTEM');
INSERT INTO LETTCCMMNDETAILCODE(CODE_ID,CODE,CODE_NM,CODE_DC,USE_AT,FRST_REGIST_PNTTM,FRST_REGISTER_ID,LAST_UPDT_PNTTM,LAST_UPDUSR_ID) VALUES ('COM025','00000004','의료기관','의료기관','Y','2011-08-11 11:33:10','SYSTEM','2011-08-11 11:33:10','SYSTEM');
INSERT INTO LETTCCMMNDETAILCODE(CODE_ID,CODE,CODE_NM,CODE_DC,USE_AT,FRST_REGIST_PNTTM,FRST_REGISTER_ID,LAST_UPDT_PNTTM,LAST_UPDUSR_ID) VALUES ('COM029','url','URL','URL','Y','2011-08-12 10:46:18','SYSTEM','2011-08-12 10:46:18','SYSTEM');
# 조직정보
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 LETTNAUTHORINFO(AUTHOR_CODE,AUTHOR_NM,AUTHOR_DC,AUTHOR_CREAT_DE) VALUES ('ROLE_ADMIN','관리자','시스템관리자','2011-08-03');
INSERT INTO LETTNAUTHORINFO(AUTHOR_CODE,AUTHOR_NM,AUTHOR_DC,AUTHOR_CREAT_DE) VALUES ('ROLE_ANONYMOUS','오픈기능','오픈기능','2011-08-03');
INSERT INTO LETTNAUTHORINFO(AUTHOR_CODE,AUTHOR_NM,AUTHOR_DC,AUTHOR_CREAT_DE) VALUES ('ROLE_USER_MEMBER','사용자','일반사용자','2011-08-03');
# 권한(롤)계층정보
INSERT INTO LETTNROLES_HIERARCHY(PARNTS_ROLE,CHLDRN_ROLE) VALUES ('ROLE_USER_MEMBER','ROLE_ADMIN');
INSERT INTO LETTNROLES_HIERARCHY(PARNTS_ROLE,CHLDRN_ROLE) VALUES ('ROLE_ANONYMOUS','ROLE_USER_MEMBER');
# 롤정보
INSERT INTO LETTNROLEINFO(ROLE_CODE,ROLE_NM,ROLE_PTTRN,ROLE_DC,ROLE_TY,ROLE_SORT,ROLE_CREAT_DE) VALUES ('cop-bbs','cop-bbs','/cop/bbs/.*.do.*','게시판','url','1','2011-08-31 15:41:24');
INSERT INTO LETTNROLEINFO(ROLE_CODE,ROLE_NM,ROLE_PTTRN,ROLE_DC,ROLE_TY,ROLE_SORT,ROLE_CREAT_DE) VALUES ('cop-com','cop-com','/cop/com/.*.do.*','게시판사용','url','2','2011-08-24 0:00');
INSERT INTO LETTNROLEINFO(ROLE_CODE,ROLE_NM,ROLE_PTTRN,ROLE_DC,ROLE_TY,ROLE_SORT,ROLE_CREAT_DE) VALUES ('sec-gmt','sec-gmt','/sec/gmt/.*.do.*','그룹관리','url','3','2011-08-24 0:00');
INSERT INTO LETTNROLEINFO(ROLE_CODE,ROLE_NM,ROLE_PTTRN,ROLE_DC,ROLE_TY,ROLE_SORT,ROLE_CREAT_DE) VALUES ('sec-ram','sec-ram','/sec/ram/.*.do.*','권한관리','url','4','2011-08-24 0:00');
INSERT INTO LETTNROLEINFO(ROLE_CODE,ROLE_NM,ROLE_PTTRN,ROLE_DC,ROLE_TY,ROLE_SORT,ROLE_CREAT_DE) VALUES ('sec-rgm','sec-rgm','/sec/rgm/.*.do.*','권한그룹관리','url','5','2011-08-24 0:00');
INSERT INTO LETTNROLEINFO(ROLE_CODE,ROLE_NM,ROLE_PTTRN,ROLE_DC,ROLE_TY,ROLE_SORT,ROLE_CREAT_DE) VALUES ('sec-rmt','sec-rmt','/sec/rmt/.*.do.*','롤관리','url','6','2011-08-24 0:00');
INSERT INTO LETTNROLEINFO(ROLE_CODE,ROLE_NM,ROLE_PTTRN,ROLE_DC,ROLE_TY,ROLE_SORT,ROLE_CREAT_DE) VALUES ('sts-cst','sts-cst','/sts/cst/.*.do.*','접속통계','url','7','2011-08-24 0:00');
INSERT INTO LETTNROLEINFO(ROLE_CODE,ROLE_NM,ROLE_PTTRN,ROLE_DC,ROLE_TY,ROLE_SORT,ROLE_CREAT_DE) VALUES ('sym-ccm-cca','sym-ccm-cca','/sym/ccm/cca/.*.do.*','공통코드 등록','url','8','2011-08-24 0:00');
INSERT INTO LETTNROLEINFO(ROLE_CODE,ROLE_NM,ROLE_PTTRN,ROLE_DC,ROLE_TY,ROLE_SORT,ROLE_CREAT_DE) VALUES ('sym-ccm-ccc','sym-ccm-ccc','/sym/ccm/ccc/.*.do.*','공통분류코드 상세조회','url','9','2011-08-24 0:00');
INSERT INTO LETTNROLEINFO(ROLE_CODE,ROLE_NM,ROLE_PTTRN,ROLE_DC,ROLE_TY,ROLE_SORT,ROLE_CREAT_DE) VALUES ('sym-ccm-cde','sym-ccm-cde','/sym/ccm/cde/.*.do.*','공통상세코드 등록','url','10','2011-08-24 0:00');
INSERT INTO LETTNROLEINFO(ROLE_CODE,ROLE_NM,ROLE_PTTRN,ROLE_DC,ROLE_TY,ROLE_SORT,ROLE_CREAT_DE) VALUES ('sym-ccm-zip','sym-ccm-zip','/sym/ccm/zip/.*.do.*','우편번호','url','11','2011-08-24 0:00');
INSERT INTO LETTNROLEINFO(ROLE_CODE,ROLE_NM,ROLE_PTTRN,ROLE_DC,ROLE_TY,ROLE_SORT,ROLE_CREAT_DE) VALUES ('sym-cmm','sym-cmm','/sym/cmm/.*.do.*','우편번호 찾기','url','12','2011-08-24 0:00');
INSERT INTO LETTNROLEINFO(ROLE_CODE,ROLE_NM,ROLE_PTTRN,ROLE_DC,ROLE_TY,ROLE_SORT,ROLE_CREAT_DE) VALUES ('sym-log-clg','sym-log-clg','/sym/log/clg/.*.do.*','로그인로그조회','url','13','2011-08-24 0:00');
INSERT INTO LETTNROLEINFO(ROLE_CODE,ROLE_NM,ROLE_PTTRN,ROLE_DC,ROLE_TY,ROLE_SORT,ROLE_CREAT_DE) VALUES ('sym-mnu-mcm','sym-mnu-mcm','/sym/mnu/mcm/.*.do.*','메뉴생성관리','url','14','2011-08-24 0:00');
INSERT INTO LETTNROLEINFO(ROLE_CODE,ROLE_NM,ROLE_PTTRN,ROLE_DC,ROLE_TY,ROLE_SORT,ROLE_CREAT_DE) VALUES ('sym-mnu-mpm','sym-mnu-mpm','/sym/mnu/mpm/.*.do.*','메뉴관리','url','15','2011-08-24 0:00');
INSERT INTO LETTNROLEINFO(ROLE_CODE,ROLE_NM,ROLE_PTTRN,ROLE_DC,ROLE_TY,ROLE_SORT,ROLE_CREAT_DE) VALUES ('sym-prm','sym-prm','/sym/prm/.*.do.*','프로그램목록관리','url','16','2011-08-24 0:00');
INSERT INTO LETTNROLEINFO(ROLE_CODE,ROLE_NM,ROLE_PTTRN,ROLE_DC,ROLE_TY,ROLE_SORT,ROLE_CREAT_DE) VALUES ('uat-uap','uat-uap','/uat/uap/.*.do.*','로그인정책관리','url','17','2011-08-24 0:00');
INSERT INTO LETTNROLEINFO(ROLE_CODE,ROLE_NM,ROLE_PTTRN,ROLE_DC,ROLE_TY,ROLE_SORT,ROLE_CREAT_DE) VALUES ('uat-uia','uat-uia','/uat/uia/.*.do.*','로그인메인','url','18','2011-08-24 0:00');
INSERT INTO LETTNROLEINFO(ROLE_CODE,ROLE_NM,ROLE_PTTRN,ROLE_DC,ROLE_TY,ROLE_SORT,ROLE_CREAT_DE) VALUES ('uss-ion-uas','uss-ion-uas','/uss/ion/uas/.*.do.*','사용자부재관리','url','19','2011-08-24 0:00');
INSERT INTO LETTNROLEINFO(ROLE_CODE,ROLE_NM,ROLE_PTTRN,ROLE_DC,ROLE_TY,ROLE_SORT,ROLE_CREAT_DE) VALUES ('uss-umt-cmm','uss-umt-cmm','/uss/umt/cmm/.*.do.*','아이디중복확인','url','20','2011-08-24 0:00');
INSERT INTO LETTNROLEINFO(ROLE_CODE,ROLE_NM,ROLE_PTTRN,ROLE_DC,ROLE_TY,ROLE_SORT,ROLE_CREAT_DE) VALUES ('uss-umt-user','uss-umt-user','/uss/umt/user/.*.do.*','사용자등록','url','21','2011-08-24 0:00');
# 권한별 롤
INSERT INTO LETTNAUTHORROLERELATE(AUTHOR_CODE,ROLE_CODE,CREAT_DT) VALUES ('ROLE_ADMIN','sec-gmt','2009-08-25 00:00:00');
INSERT INTO LETTNAUTHORROLERELATE(AUTHOR_CODE,ROLE_CODE,CREAT_DT) VALUES ('ROLE_ADMIN','sec-ram','2009-08-25 00:00:00');
INSERT INTO LETTNAUTHORROLERELATE(AUTHOR_CODE,ROLE_CODE,CREAT_DT) VALUES ('ROLE_ADMIN','sec-rgm','2009-08-25 00:00:00');
INSERT INTO LETTNAUTHORROLERELATE(AUTHOR_CODE,ROLE_CODE,CREAT_DT) VALUES ('ROLE_ADMIN','sec-rmt','2009-08-25 00:00:00');
INSERT INTO LETTNAUTHORROLERELATE(AUTHOR_CODE,ROLE_CODE,CREAT_DT) VALUES ('ROLE_ADMIN','sym-ccm-cca','2009-08-25 00:00:00');
INSERT INTO LETTNAUTHORROLERELATE(AUTHOR_CODE,ROLE_CODE,CREAT_DT) VALUES ('ROLE_ADMIN','sym-ccm-ccc','2009-08-25 00:00:00');
INSERT INTO LETTNAUTHORROLERELATE(AUTHOR_CODE,ROLE_CODE,CREAT_DT) VALUES ('ROLE_ADMIN','sym-ccm-cde','2009-08-25 00:00:00');
INSERT INTO LETTNAUTHORROLERELATE(AUTHOR_CODE,ROLE_CODE,CREAT_DT) VALUES ('ROLE_ADMIN','sym-ccm-zip','2009-08-25 00:00:00');
INSERT INTO LETTNAUTHORROLERELATE(AUTHOR_CODE,ROLE_CODE,CREAT_DT) VALUES ('ROLE_ADMIN','sym-mnu-mcm','2009-08-25 00:00:00');
INSERT INTO LETTNAUTHORROLERELATE(AUTHOR_CODE,ROLE_CODE,CREAT_DT) VALUES ('ROLE_ADMIN','sym-mnu-mpm','2009-08-25 00:00:00');
INSERT INTO LETTNAUTHORROLERELATE(AUTHOR_CODE,ROLE_CODE,CREAT_DT) VALUES ('ROLE_ADMIN','sym-prm','2009-08-25 00:00:00');
INSERT INTO LETTNAUTHORROLERELATE(AUTHOR_CODE,ROLE_CODE,CREAT_DT) VALUES ('ROLE_ADMIN','uat-uap','2009-08-25 00:00:00');
INSERT INTO LETTNAUTHORROLERELATE(AUTHOR_CODE,ROLE_CODE,CREAT_DT) VALUES ('ROLE_ADMIN','uss-umt-cmm','2009-08-25 00:00:00');
INSERT INTO LETTNAUTHORROLERELATE(AUTHOR_CODE,ROLE_CODE,CREAT_DT) VALUES ('ROLE_ADMIN','uss-umt-user','2009-08-25 00:00:00');
INSERT INTO LETTNAUTHORROLERELATE(AUTHOR_CODE,ROLE_CODE,CREAT_DT) VALUES ('ROLE_ANONYMOUS','cop-bbs','2009-08-25 00:00:00');
INSERT INTO LETTNAUTHORROLERELATE(AUTHOR_CODE,ROLE_CODE,CREAT_DT) VALUES ('ROLE_ANONYMOUS','sym-cmm','2009-08-25 00:00:00');
INSERT INTO LETTNAUTHORROLERELATE(AUTHOR_CODE,ROLE_CODE,CREAT_DT) VALUES ('ROLE_ANONYMOUS','uat-uia','2009-08-25 00:00:00');
INSERT INTO LETTNAUTHORROLERELATE(AUTHOR_CODE,ROLE_CODE,CREAT_DT) VALUES ('ROLE_USER_MEMBER','cop-com','2009-08-25 00:00:00');
INSERT INTO LETTNAUTHORROLERELATE(AUTHOR_CODE,ROLE_CODE,CREAT_DT) VALUES ('ROLE_USER_MEMBER','sts-cst','2009-08-25 00:00:00');
INSERT INTO LETTNAUTHORROLERELATE(AUTHOR_CODE,ROLE_CODE,CREAT_DT) VALUES ('ROLE_USER_MEMBER','sym-log-clg','2009-08-25 00:00:00');
INSERT INTO LETTNAUTHORROLERELATE(AUTHOR_CODE,ROLE_CODE,CREAT_DT) VALUES ('ROLE_USER_MEMBER','uss-ion-uas','2009-08-25 00:00:00');
# 사용자정보
INSERT INTO LETTNEMPLYRINFO(EMPLYR_ID,ORGNZT_ID,USER_NM,PASSWORD,EMPL_NO,IHIDNUM,SEXDSTN_CODE,BRTHDY,FXNUM,HOUSE_ADRES,PASSWORD_HINT,PASSWORD_CNSR,HOUSE_END_TELNO,AREA_NO,DETAIL_ADRES,ZIP,OFFM_TELNO,MBTLNUM,EMAIL_ADRES,OFCPS_NM,HOUSE_MIDDLE_TELNO,GROUP_ID,PSTINST_CODE,EMPLYR_STTUS_CODE,ESNTL_ID,CRTFC_DN_VALUE,SBSCRB_DE) VALUES ('admin','ORGNZT_0000000000000','관리자','JfQ7FIatlaE5jj7rPYO8QBABX8yb7bNbQy4AKY1QIfc=','','','','','','','P01','123','','','','','','123456789','admin@test.com','','','GROUP_00000000000000','00000000','P','USRCNFRM_00000000000','','2011-08-02 21:13:03');
INSERT INTO LETTNEMPLYRINFO(EMPLYR_ID,ORGNZT_ID,USER_NM,PASSWORD,EMPL_NO,IHIDNUM,SEXDSTN_CODE,BRTHDY,FXNUM,HOUSE_ADRES,PASSWORD_HINT,PASSWORD_CNSR,HOUSE_END_TELNO,AREA_NO,DETAIL_ADRES,ZIP,OFFM_TELNO,MBTLNUM,EMAIL_ADRES,OFCPS_NM,HOUSE_MIDDLE_TELNO,GROUP_ID,PSTINST_CODE,EMPLYR_STTUS_CODE,ESNTL_ID,CRTFC_DN_VALUE,SBSCRB_DE) VALUES ('user1','ORGNZT_0000000000000','유저1','gRFeMeIqWAGxl3UOwS16Ua1pOqAX7Mi8oDPL1QCpKLY=','','','','','','','P01','123','','','','','','123456789','test01@test.com','','','GROUP_00000000000000','00000000','P','USRCNFRM_00000000001','','2011-08-11 17:00:18');
# 사용자별권한설정
INSERT INTO LETTNEMPLYRSCRTYESTBS(SCRTY_DTRMN_TRGET_ID,MBER_TY_CODE,AUTHOR_CODE) VALUES ('USRCNFRM_00000000000','USR','ROLE_ADMIN');
INSERT INTO LETTNEMPLYRSCRTYESTBS(SCRTY_DTRMN_TRGET_ID,MBER_TY_CODE,AUTHOR_CODE) VALUES ('USRCNFRM_00000000001','USR','ROLE_USER_MEMBER');
# 게시판템플릿
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-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_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 LETTNPROGRMLIST(PROGRM_FILE_NM,PROGRM_STRE_PATH,PROGRM_KOREAN_NM,PROGRM_DC,URL) VALUES ('dir','/','디렉토리','디렉토리','/');
INSERT INTO LETTNPROGRMLIST(PROGRM_FILE_NM,PROGRM_STRE_PATH,PROGRM_KOREAN_NM,PROGRM_DC,URL) VALUES ('EgovAuthorGroupManage','/sec/rgm/','권한그룹관리','권한그룹관리','/sec/rgm/EgovAuthorGroupListView.do');
INSERT INTO LETTNPROGRMLIST(PROGRM_FILE_NM,PROGRM_STRE_PATH,PROGRM_KOREAN_NM,PROGRM_DC,URL) VALUES ('EgovAuthorInsert','/sec/ram/','권한등록','권한등록','/sec/ram/EgovAuthorInsertView.do');
INSERT INTO LETTNPROGRMLIST(PROGRM_FILE_NM,PROGRM_STRE_PATH,PROGRM_KOREAN_NM,PROGRM_DC,URL) VALUES ('EgovAuthorManage','/sec/ram/','권한관리','권한관리','/sec/ram/EgovAuthorList.do');
INSERT INTO LETTNPROGRMLIST(PROGRM_FILE_NM,PROGRM_STRE_PATH,PROGRM_KOREAN_NM,PROGRM_DC,URL) VALUES ('EgovAuthorRoleManage','/sec/ram/','사용자별권한관리','사용자별권한롤관리','/sec/rgm/EgovAuthorGroupListView.do');
INSERT INTO LETTNPROGRMLIST(PROGRM_FILE_NM,PROGRM_STRE_PATH,PROGRM_KOREAN_NM,PROGRM_DC,URL) VALUES ('EgovAuthorUpdt','/sec/ram/','권한수정','권한수정','/sec/ram/EgovAuthor.do');
INSERT INTO LETTNPROGRMLIST(PROGRM_FILE_NM,PROGRM_STRE_PATH,PROGRM_KOREAN_NM,PROGRM_DC,URL) VALUES ('EgovBoardMstrList','/cop/bbs/','게시판 목록조회','게시판 목록조회','/cop/bbs/SelectBBSMasterInfs.do');
INSERT INTO LETTNPROGRMLIST(PROGRM_FILE_NM,PROGRM_STRE_PATH,PROGRM_KOREAN_NM,PROGRM_DC,URL) VALUES ('EgovBoardMstrRegist','/cop/bbs/','게시판 생성','게시판 생성','/cop/bbs/addBBSMaster.do');
INSERT INTO LETTNPROGRMLIST(PROGRM_FILE_NM,PROGRM_STRE_PATH,PROGRM_KOREAN_NM,PROGRM_DC,URL) VALUES ('EgovBoardMstrUpdt','/cop/bbs/','게시판 수정','게시판 수정','/cop/bbs/SelectBBSMasterInf.do');
INSERT INTO LETTNPROGRMLIST(PROGRM_FILE_NM,PROGRM_STRE_PATH,PROGRM_KOREAN_NM,PROGRM_DC,URL) VALUES ('EgovBoardUseInfInqire','/cop/com/','게시판사용여부 상세조회','게시판사용여부 상세조회','/cop/com/selectBBSUseInf.do');
INSERT INTO LETTNPROGRMLIST(PROGRM_FILE_NM,PROGRM_STRE_PATH,PROGRM_KOREAN_NM,PROGRM_DC,URL) VALUES ('EgovBoardUseInfList','/cop/com/','게시판사용여부 목록 조회','게시판사용여부 목록 조회','/cop/com/selectBBSUseInfs.do');
INSERT INTO LETTNPROGRMLIST(PROGRM_FILE_NM,PROGRM_STRE_PATH,PROGRM_KOREAN_NM,PROGRM_DC,URL) VALUES ('EgovBoardUseInfRegist','/cop/com/','게시판사용여부 등록','게시판사용여부 등록','/cop/com/addBBSUseInf.do');
INSERT INTO LETTNPROGRMLIST(PROGRM_FILE_NM,PROGRM_STRE_PATH,PROGRM_KOREAN_NM,PROGRM_DC,URL) VALUES ('EgovCcmCmmnClCodeDetail','/sym/ccm/ccc/','공통분류코드 상세조회','공통분류코드 상세조회','/sym/ccm/ccc/EgovCcmCmmnClCodeDetail.do');
INSERT INTO LETTNPROGRMLIST(PROGRM_FILE_NM,PROGRM_STRE_PATH,PROGRM_KOREAN_NM,PROGRM_DC,URL) VALUES ('EgovCcmCmmnClCodeList','/sym/ccm/ccc/','공통분류코드목록 조회','공통분류코드목록 조회','/sym/ccm/ccc/EgovCcmCmmnClCodeList.do');
INSERT INTO LETTNPROGRMLIST(PROGRM_FILE_NM,PROGRM_STRE_PATH,PROGRM_KOREAN_NM,PROGRM_DC,URL) VALUES ('EgovCcmCmmnClCodeModify','/sym/ccm/ccc/','공통분류코드 수정','공통분류코드 수정','/sym/ccm/ccc/EgovCcmCmmnClCodeModify.do');
INSERT INTO LETTNPROGRMLIST(PROGRM_FILE_NM,PROGRM_STRE_PATH,PROGRM_KOREAN_NM,PROGRM_DC,URL) VALUES ('EgovCcmCmmnClCodeRegist','/sym/ccm/ccc/','공통분류코드 등록','공통분류코드 등록','/sym/ccm/ccc/EgovCcmCmmnClCodeRegist.do');
INSERT INTO LETTNPROGRMLIST(PROGRM_FILE_NM,PROGRM_STRE_PATH,PROGRM_KOREAN_NM,PROGRM_DC,URL) VALUES ('EgovCcmCmmnCodeDetail','/sym/ccm/cca/','공통코드 상세조회','공통코드 상세조회','/sym/ccm/cca/EgovCcmCmmnCodeDetail.do');
INSERT INTO LETTNPROGRMLIST(PROGRM_FILE_NM,PROGRM_STRE_PATH,PROGRM_KOREAN_NM,PROGRM_DC,URL) VALUES ('EgovCcmCmmnCodeList','/sym/ccm/cca/','공통코드목록 조회','공통코드목록 조회','/sym/ccm/cca/EgovCcmCmmnCodeList.do');
INSERT INTO LETTNPROGRMLIST(PROGRM_FILE_NM,PROGRM_STRE_PATH,PROGRM_KOREAN_NM,PROGRM_DC,URL) VALUES ('EgovCcmCmmnCodeModify','/sym/ccm/cca/','공통코드 수정','공통코드 수정','/sym/ccm/cca/EgovCcmCmmnCodeModify.do');
INSERT INTO LETTNPROGRMLIST(PROGRM_FILE_NM,PROGRM_STRE_PATH,PROGRM_KOREAN_NM,PROGRM_DC,URL) VALUES ('EgovCcmCmmnCodeRegist','/sym/ccm/cca/','공통코드 등록','공통코드 등록','/sym/ccm/cca/EgovCcmCmmnCodeRegist.do');
INSERT INTO LETTNPROGRMLIST(PROGRM_FILE_NM,PROGRM_STRE_PATH,PROGRM_KOREAN_NM,PROGRM_DC,URL) VALUES ('EgovCcmCmmnDetailCodeDetail','/sym/ccm/cde/','공통상세코드 상세조회','공통상세코드 상세조회','/sym/ccm/cde/EgovCcmCmmnDetailCodeDetail.do');
INSERT INTO LETTNPROGRMLIST(PROGRM_FILE_NM,PROGRM_STRE_PATH,PROGRM_KOREAN_NM,PROGRM_DC,URL) VALUES ('EgovCcmCmmnDetailCodeList','/sym/ccm/cde/','공통상세코드목록 조회','공통상세코드목록 조회','/sym/ccm/cde/EgovCcmCmmnDetailCodeList.do');
INSERT INTO LETTNPROGRMLIST(PROGRM_FILE_NM,PROGRM_STRE_PATH,PROGRM_KOREAN_NM,PROGRM_DC,URL) VALUES ('EgovCcmCmmnDetailCodeModify','/sym/ccm/cde/','공통상세코드 수정','공통상세코드 수정','/sym/ccm/cde/EgovCcmCmmnDetailCodeModify.do');
INSERT INTO LETTNPROGRMLIST(PROGRM_FILE_NM,PROGRM_STRE_PATH,PROGRM_KOREAN_NM,PROGRM_DC,URL) VALUES ('EgovCcmCmmnDetailCodeRegist','/sym/ccm/cde/','공통상세코드 등록','공통상세코드 등록','/sym/ccm/cde/EgovCcmCmmnDetailCodeRegist.do');
INSERT INTO LETTNPROGRMLIST(PROGRM_FILE_NM,PROGRM_STRE_PATH,PROGRM_KOREAN_NM,PROGRM_DC,URL) VALUES ('EgovCcmExcelZipRegist','/sym/ccm/zip/','우편번호 엑셀파일 등록','우편번호 엑셀파일 등록','/sym/ccm/zip/EgovCcmExcelZipRegist.do');
INSERT INTO LETTNPROGRMLIST(PROGRM_FILE_NM,PROGRM_STRE_PATH,PROGRM_KOREAN_NM,PROGRM_DC,URL) VALUES ('EgovCcmZipDetail','/sym/ccm/zip/','우편번호 상세조회','우편번호 상세조회','/sym/ccm/zip/EgovCcmZipDetail.do');
INSERT INTO LETTNPROGRMLIST(PROGRM_FILE_NM,PROGRM_STRE_PATH,PROGRM_KOREAN_NM,PROGRM_DC,URL) VALUES ('EgovCcmZipList','/sym/ccm/zip/','우편번호목록 조회','우편번호목록 조회','/sym/ccm/zip/EgovCcmZipList.do');
INSERT INTO LETTNPROGRMLIST(PROGRM_FILE_NM,PROGRM_STRE_PATH,PROGRM_KOREAN_NM,PROGRM_DC,URL) VALUES ('EgovCcmZipModify','/sym/ccm/zip/','우편번호 수정','우편번호 수정','/sym/ccm/zip/EgovCcmZipModify.do');
INSERT INTO LETTNPROGRMLIST(PROGRM_FILE_NM,PROGRM_STRE_PATH,PROGRM_KOREAN_NM,PROGRM_DC,URL) VALUES ('EgovCcmZipRegist','/sym/ccm/zip/','우편번호 등록','우편번호 등록','/sym/ccm/zip/EgovCcmZipRegist.do');
INSERT INTO LETTNPROGRMLIST(PROGRM_FILE_NM,PROGRM_STRE_PATH,PROGRM_KOREAN_NM,PROGRM_DC,URL) VALUES ('EgovCcmZipSearchPopup','/sym/cmm/','우편번호 찾기','우편번호 찾기','/sym/cmm/EgovCcmZipSearchPopup.do');
INSERT INTO LETTNPROGRMLIST(PROGRM_FILE_NM,PROGRM_STRE_PATH,PROGRM_KOREAN_NM,PROGRM_DC,URL) VALUES ('EgovConectStats','/sts/cst/','접속통계','접속통계','/sts/cst/selectConectStats.do');
INSERT INTO LETTNPROGRMLIST(PROGRM_FILE_NM,PROGRM_STRE_PATH,PROGRM_KOREAN_NM,PROGRM_DC,URL) VALUES ('EgovFileNmSearch','/sym/prm/','파일명검색','파일명검색','/sym/prm/EgovProgramListSearch.do');
INSERT INTO LETTNPROGRMLIST(PROGRM_FILE_NM,PROGRM_STRE_PATH,PROGRM_KOREAN_NM,PROGRM_DC,URL) VALUES ('EgovGroupInsert','/sec/gmt/','그룹등록','그룹등록','/sec/gmt/EgovGroupInsertView.do');
INSERT INTO LETTNPROGRMLIST(PROGRM_FILE_NM,PROGRM_STRE_PATH,PROGRM_KOREAN_NM,PROGRM_DC,URL) VALUES ('EgovGroupManage','/sec/gmt/','그룹관리','그룹관리','/sec/gmt/EgovGroupList.do');
INSERT INTO LETTNPROGRMLIST(PROGRM_FILE_NM,PROGRM_STRE_PATH,PROGRM_KOREAN_NM,PROGRM_DC,URL) VALUES ('EgovGroupUpdt','/sec/gmt/','그룹수정','그룹수정','/sec/gmt/EgovGroup.do');
INSERT INTO LETTNPROGRMLIST(PROGRM_FILE_NM,PROGRM_STRE_PATH,PROGRM_KOREAN_NM,PROGRM_DC,URL) VALUES ('EgovIdDplctCnfirm','/uss/umt/cmm/','아이디중복확인','아이디중복확인','/uss/umt/cmm/EgovIdDplctCnfirmView.do');
INSERT INTO LETTNPROGRMLIST(PROGRM_FILE_NM,PROGRM_STRE_PATH,PROGRM_KOREAN_NM,PROGRM_DC,URL) VALUES ('EgovInfoNotice','/cop/bbs/','공지사항','공지사항','/cop/bbs/selectBoardList.do?bbsId=BBSMSTR_AAAAAAAAAAAA');
INSERT INTO LETTNPROGRMLIST(PROGRM_FILE_NM,PROGRM_STRE_PATH,PROGRM_KOREAN_NM,PROGRM_DC,URL) VALUES ('EgovInfoNoticeAdmin','/cop/bbs/','공지사항관리','공지사항관리','/cop/bbs/selectBoardList.do?bbsId=BBSMSTR_AAAAAAAAAAAA');
INSERT INTO LETTNPROGRMLIST(PROGRM_FILE_NM,PROGRM_STRE_PATH,PROGRM_KOREAN_NM,PROGRM_DC,URL) VALUES ('EgovInfoWork','/cop/bbs/','업무게시판','업무게시판','/cop/bbs/selectBoardList.do?bbsId=BBSMSTR_CCCCCCCCCCCC');
INSERT INTO LETTNPROGRMLIST(PROGRM_FILE_NM,PROGRM_STRE_PATH,PROGRM_KOREAN_NM,PROGRM_DC,URL) VALUES ('EgovInfoWorkAdmin','/cop/bbs/','업무게시판관리','업무게시판관리','/cop/bbs/selectBoardList.do?bbsId=BBSMSTR_CCCCCCCCCCCC');
INSERT INTO LETTNPROGRMLIST(PROGRM_FILE_NM,PROGRM_STRE_PATH,PROGRM_KOREAN_NM,PROGRM_DC,URL) VALUES ('EgovJoinHistory','/','입퇴사정보 관리','입퇴사정보 관리','/EgovPageLink.do?link=main/sample_menu/Sample');
INSERT INTO LETTNPROGRMLIST(PROGRM_FILE_NM,PROGRM_STRE_PATH,PROGRM_KOREAN_NM,PROGRM_DC,URL) VALUES ('EgovLoginLogInqire','/sym/log/clg/','로그인로그상세조회','로그인로그상세조회','/sym/log/clg/SelectLoginLogList.do');
INSERT INTO LETTNPROGRMLIST(PROGRM_FILE_NM,PROGRM_STRE_PATH,PROGRM_KOREAN_NM,PROGRM_DC,URL) VALUES ('EgovLoginLogList','/sym/log/clg/','로그인로그조회','로그인로그조회','/sym/log/clg/SelectLoginLogList.do');
INSERT INTO LETTNPROGRMLIST(PROGRM_FILE_NM,PROGRM_STRE_PATH,PROGRM_KOREAN_NM,PROGRM_DC,URL) VALUES ('EgovLoginPolicyList','/uat/uap/','로그인정책관리','로그인정책관리','/uat/uap/selectLoginPolicyList.do');
INSERT INTO LETTNPROGRMLIST(PROGRM_FILE_NM,PROGRM_STRE_PATH,PROGRM_KOREAN_NM,PROGRM_DC,URL) VALUES ('EgovLoginPolicyRegist','/uat/uap/','로그인정책등록','로그인정책등록','/uat/uap/getLoginPolicy.do');
INSERT INTO LETTNPROGRMLIST(PROGRM_FILE_NM,PROGRM_STRE_PATH,PROGRM_KOREAN_NM,PROGRM_DC,URL) VALUES ('EgovLoginPolicyUpdt','/uat/uia/','로그인정책수정','로그인정책수정','/uat/uap/getLoginPolicy.do');
INSERT INTO LETTNPROGRMLIST(PROGRM_FILE_NM,PROGRM_STRE_PATH,PROGRM_KOREAN_NM,PROGRM_DC,URL) VALUES ('EgovLoginUsr','/uat/uia/','내부업무 로그인','내부업무 로그인','/uat/uia/egovLoginUsr.do');
INSERT INTO LETTNPROGRMLIST(PROGRM_FILE_NM,PROGRM_STRE_PATH,PROGRM_KOREAN_NM,PROGRM_DC,URL) VALUES ('EgovMainHome','/uat/uia/','내부업무 메인','내부업무 메인','/uat/uia/actionMain.do');
INSERT INTO LETTNPROGRMLIST(PROGRM_FILE_NM,PROGRM_STRE_PATH,PROGRM_KOREAN_NM,PROGRM_DC,URL) VALUES ('EgovMberPositionl','/','직위정보 관리','직위정보 관리','/EgovPageLink.do?link=main/sample_menu/Sample');
INSERT INTO LETTNPROGRMLIST(PROGRM_FILE_NM,PROGRM_STRE_PATH,PROGRM_KOREAN_NM,PROGRM_DC,URL) VALUES ('EgovMberRank','/','직급정보 관리','직급정보 관리','/EgovPageLink.do?link=main/sample_menu/Sample');
INSERT INTO LETTNPROGRMLIST(PROGRM_FILE_NM,PROGRM_STRE_PATH,PROGRM_KOREAN_NM,PROGRM_DC,URL) VALUES ('EgovMenuBndeRegist','/sym/mnu/mpm/','메뉴일괄등록','메뉴일괄등록','/sym/mnu/mpm/EgovMenuBndeRegist.do');
INSERT INTO LETTNPROGRMLIST(PROGRM_FILE_NM,PROGRM_STRE_PATH,PROGRM_KOREAN_NM,PROGRM_DC,URL) VALUES ('EgovMenuCreat','/sym/mnu/mcm/','메뉴생성','메뉴생성','/sym/mnu/mcm/EgovMenuCreatSelect.do');
INSERT INTO LETTNPROGRMLIST(PROGRM_FILE_NM,PROGRM_STRE_PATH,PROGRM_KOREAN_NM,PROGRM_DC,URL) VALUES ('EgovMenuCreatManage','/sym/mnu/mcm/','메뉴생성관리','메뉴생성관리','/sym/mnu/mcm/EgovMenuCreatManageSelect.do');
INSERT INTO LETTNPROGRMLIST(PROGRM_FILE_NM,PROGRM_STRE_PATH,PROGRM_KOREAN_NM,PROGRM_DC,URL) VALUES ('EgovMenuDetailSelectUpdt','/sym/mnu/mpm/','메뉴상세조회/수정','메뉴상세조회/수정','/sym/mnu/mpm/EgovMenuManageListDetailSelect.do');
INSERT INTO LETTNPROGRMLIST(PROGRM_FILE_NM,PROGRM_STRE_PATH,PROGRM_KOREAN_NM,PROGRM_DC,URL) VALUES ('EgovMenuManage','/sym/mnu/mpm/','메뉴관리','메뉴관리','/sym/mnu/mpm/EgovMenuManageSelect.do');
INSERT INTO LETTNPROGRMLIST(PROGRM_FILE_NM,PROGRM_STRE_PATH,PROGRM_KOREAN_NM,PROGRM_DC,URL) VALUES ('EgovMenuRegist','/sym/mnu/mpm/','메뉴등록','메뉴등록','/sym/mnu/mpm/EgovMenuRegistInsert.do');
INSERT INTO LETTNPROGRMLIST(PROGRM_FILE_NM,PROGRM_STRE_PATH,PROGRM_KOREAN_NM,PROGRM_DC,URL) VALUES ('EgovNoticeInqire','/cop/bbs/','게시물조회','게시물조회','/cop/bbs/selectBoardArticle.do');
INSERT INTO LETTNPROGRMLIST(PROGRM_FILE_NM,PROGRM_STRE_PATH,PROGRM_KOREAN_NM,PROGRM_DC,URL) VALUES ('EgovNoticeList','/cop/bbs/','게시물 목록','게시물 목록','/cop/bbs/selectBoardList.do');
INSERT INTO LETTNPROGRMLIST(PROGRM_FILE_NM,PROGRM_STRE_PATH,PROGRM_KOREAN_NM,PROGRM_DC,URL) VALUES ('EgovNoticeRegist','/cop/bbs/','게시물 등록','게시물 등록','/cop/bbs/addBoardArticle.do');
INSERT INTO LETTNPROGRMLIST(PROGRM_FILE_NM,PROGRM_STRE_PATH,PROGRM_KOREAN_NM,PROGRM_DC,URL) VALUES ('EgovNoticeReply','/cop/bbs/','답글 작성','답글 작성','/cop/bbs/addReplyBoardArticle.do');
INSERT INTO LETTNPROGRMLIST(PROGRM_FILE_NM,PROGRM_STRE_PATH,PROGRM_KOREAN_NM,PROGRM_DC,URL) VALUES ('EgovNoticeUpdt','/cop/bbs/','게시물 수정','게시물 수정','/cop/bbs/forUpdateBoardArticle.do');
INSERT INTO LETTNPROGRMLIST(PROGRM_FILE_NM,PROGRM_STRE_PATH,PROGRM_KOREAN_NM,PROGRM_DC,URL) VALUES ('EgovProgramListDetailSelectUpdt','/sym/prm/','프로그램목록상세조회/수정','프로그램목록상세조회/수정','/sym/prm/EgovProgramListDetailSelect.do');
INSERT INTO LETTNPROGRMLIST(PROGRM_FILE_NM,PROGRM_STRE_PATH,PROGRM_KOREAN_NM,PROGRM_DC,URL) VALUES ('EgovProgramListManage','/sym/prm/','프로그램목록관리','프로그램목록관리','/sym/prm/EgovProgramListManageSelect.do');
INSERT INTO LETTNPROGRMLIST(PROGRM_FILE_NM,PROGRM_STRE_PATH,PROGRM_KOREAN_NM,PROGRM_DC,URL) VALUES ('EgovProgramListRegist','/sym/prm/','프로그램목록등록','프로그램목록등록','/sym/prm/EgovProgramListRegist.do');
INSERT INTO LETTNPROGRMLIST(PROGRM_FILE_NM,PROGRM_STRE_PATH,PROGRM_KOREAN_NM,PROGRM_DC,URL) VALUES ('EgovRoleInsert','/sec/rmt/','롤등록','롤등록','/sec/rmt/EgovRoleInsertView.do');
INSERT INTO LETTNPROGRMLIST(PROGRM_FILE_NM,PROGRM_STRE_PATH,PROGRM_KOREAN_NM,PROGRM_DC,URL) VALUES ('EgovRoleManage','/sec/rmt/','롤관리','롤관리','/sec/rmt/EgovRoleList.do');
INSERT INTO LETTNPROGRMLIST(PROGRM_FILE_NM,PROGRM_STRE_PATH,PROGRM_KOREAN_NM,PROGRM_DC,URL) VALUES ('EgovRoleUpdt','/sec/rmt/','롤수정','롤수정','/sec/rmt/EgovRole.do');
INSERT INTO LETTNPROGRMLIST(PROGRM_FILE_NM,PROGRM_STRE_PATH,PROGRM_KOREAN_NM,PROGRM_DC,URL) VALUES ('EgovTemplateInqirePopup','/cop/com/','템플릿 조회팝업','템플릿 조회팝업','/cop/com/selectTemplateInfs.do');
INSERT INTO LETTNPROGRMLIST(PROGRM_FILE_NM,PROGRM_STRE_PATH,PROGRM_KOREAN_NM,PROGRM_DC,URL) VALUES ('EgovTemplateList','/cop/com/','템플릿 목록 조회','템플릿 목록 조회','/cop/com/selectTemplateInfs.do');
INSERT INTO LETTNPROGRMLIST(PROGRM_FILE_NM,PROGRM_STRE_PATH,PROGRM_KOREAN_NM,PROGRM_DC,URL) VALUES ('EgovTemplateRegist','/cop/com/','템플릿 등록','템플릿 등록','/cop/com/addTemplateInf.do');
INSERT INTO LETTNPROGRMLIST(PROGRM_FILE_NM,PROGRM_STRE_PATH,PROGRM_KOREAN_NM,PROGRM_DC,URL) VALUES ('EgovTemplateUpdt','/cop/com/','템플릿 수정','템플릿 수정','/cop/com/selectTemplateInf.do');
INSERT INTO LETTNPROGRMLIST(PROGRM_FILE_NM,PROGRM_STRE_PATH,PROGRM_KOREAN_NM,PROGRM_DC,URL) VALUES ('EgovUserAbsnceList','/uss/ion/uas/','사용자부재관리','사용자부재관리','/uss/ion/uas/selectUserAbsnceListView.do');
INSERT INTO LETTNPROGRMLIST(PROGRM_FILE_NM,PROGRM_STRE_PATH,PROGRM_KOREAN_NM,PROGRM_DC,URL) VALUES ('EgovUserAbsnceRegist','/uss/ion/uas/','사용자부재등록','사용자부재등록','/uss/ion/uas/addViewUserAbsnce.do');
INSERT INTO LETTNPROGRMLIST(PROGRM_FILE_NM,PROGRM_STRE_PATH,PROGRM_KOREAN_NM,PROGRM_DC,URL) VALUES ('EgovUserAbsnceUpdt','/uss/ion/uas/','사용자부재수정','사용자부재수정','/uss/ion/uas/getUserAbsnce.do');
INSERT INTO LETTNPROGRMLIST(PROGRM_FILE_NM,PROGRM_STRE_PATH,PROGRM_KOREAN_NM,PROGRM_DC,URL) VALUES ('EgovUserInsert','/uss/umt/user/','사용자등록','사용자등록','/uss/umt/user/EgovUserInsertView.do');
INSERT INTO LETTNPROGRMLIST(PROGRM_FILE_NM,PROGRM_STRE_PATH,PROGRM_KOREAN_NM,PROGRM_DC,URL) VALUES ('EgovUserManage','/uss/umt/user/','사용자관리(조회,삭제)','사용자관리(조회,삭제)','/uss/umt/user/EgovUserManage.do');
INSERT INTO LETTNPROGRMLIST(PROGRM_FILE_NM,PROGRM_STRE_PATH,PROGRM_KOREAN_NM,PROGRM_DC,URL) VALUES ('EgovUserPasswordUpdt','/uss/umt/user/','사용자암호수정','사용자암호수정','/uss/umt/user/EgovUserPasswordUpdtView.do');
INSERT INTO LETTNPROGRMLIST(PROGRM_FILE_NM,PROGRM_STRE_PATH,PROGRM_KOREAN_NM,PROGRM_DC,URL) VALUES ('EgovUserSelectUpdt','/uss/umt/user/','사용자상세조회,수정','사용자상세조회,수정','/uss/umt/user/EgovUserSelectUpdtView.do');
INSERT INTO LETTNPROGRMLIST(PROGRM_FILE_NM,PROGRM_STRE_PATH,PROGRM_KOREAN_NM,PROGRM_DC,URL) VALUES ('EgovWorkAttendance','/','출퇴근정보 관리','출퇴근정보 관리','/EgovPageLink.do?link=main/sample_menu/Sample');
INSERT INTO LETTNPROGRMLIST(PROGRM_FILE_NM,PROGRM_STRE_PATH,PROGRM_KOREAN_NM,PROGRM_DC,URL) VALUES ('EgovWorkAward','/','상벌정보 관리','상벌정보 관리','/EgovPageLink.do?link=main/sample_menu/Sample');
INSERT INTO LETTNPROGRMLIST(PROGRM_FILE_NM,PROGRM_STRE_PATH,PROGRM_KOREAN_NM,PROGRM_DC,URL) VALUES ('EgovWorkEstimation','/','업무평가점수 관리','업무평가점수 관리','/EgovPageLink.do?link=main/sample_menu/Sample');
INSERT INTO LETTNPROGRMLIST(PROGRM_FILE_NM,PROGRM_STRE_PATH,PROGRM_KOREAN_NM,PROGRM_DC,URL) VALUES ('EgovWorkVacation','/','휴무정보 관리','휴무정보 관리','/EgovPageLink.do?link=main/sample_menu/Sample');
#메뉴목록
INSERT INTO LETTNMENUINFO(MENU_NM,PROGRM_FILE_NM,MENU_NO,UPPER_MENU_NO,MENU_ORDR,MENU_DC,RELATE_IMAGE_PATH,RELATE_IMAGE_NM) VALUES ('root','dir',0,0,1,'root','/','/');
INSERT INTO LETTNMENUINFO(MENU_NM,PROGRM_FILE_NM,MENU_NO,UPPER_MENU_NO,MENU_ORDR,MENU_DC,RELATE_IMAGE_PATH,RELATE_IMAGE_NM) VALUES ('알림정보','dir',1000000,0,1,'알림정보','/','/');
INSERT INTO LETTNMENUINFO(MENU_NM,PROGRM_FILE_NM,MENU_NO,UPPER_MENU_NO,MENU_ORDR,MENU_DC,RELATE_IMAGE_PATH,RELATE_IMAGE_NM) VALUES ('공지사항','EgovInfoNotice',1010000,1000000,1,'공지사항','/','/');
INSERT INTO LETTNMENUINFO(MENU_NM,PROGRM_FILE_NM,MENU_NO,UPPER_MENU_NO,MENU_ORDR,MENU_DC,RELATE_IMAGE_PATH,RELATE_IMAGE_NM) VALUES ('업무게시판','EgovInfoWork',1020000,1000000,2,'업무게시판','/','/');
INSERT INTO LETTNMENUINFO(MENU_NM,PROGRM_FILE_NM,MENU_NO,UPPER_MENU_NO,MENU_ORDR,MENU_DC,RELATE_IMAGE_PATH,RELATE_IMAGE_NM) VALUES ('직급체계관리','dir',2000000,0,2,'직급체계관리','/','/');
INSERT INTO LETTNMENUINFO(MENU_NM,PROGRM_FILE_NM,MENU_NO,UPPER_MENU_NO,MENU_ORDR,MENU_DC,RELATE_IMAGE_PATH,RELATE_IMAGE_NM) VALUES ('입퇴사정보 관리','EgovJoinHistory',2010000,2000000,1,'입퇴사정보 관리','/','/');
INSERT INTO LETTNMENUINFO(MENU_NM,PROGRM_FILE_NM,MENU_NO,UPPER_MENU_NO,MENU_ORDR,MENU_DC,RELATE_IMAGE_PATH,RELATE_IMAGE_NM) VALUES ('직급정보 관리','EgovMberRank',2020000,2000000,2,'직급정보 관리','/','/');
INSERT INTO LETTNMENUINFO(MENU_NM,PROGRM_FILE_NM,MENU_NO,UPPER_MENU_NO,MENU_ORDR,MENU_DC,RELATE_IMAGE_PATH,RELATE_IMAGE_NM) VALUES ('직위정보 관리','EgovMberPositionl',2030000,2000000,3,'직위정보 관리','/','/');
INSERT INTO LETTNMENUINFO(MENU_NM,PROGRM_FILE_NM,MENU_NO,UPPER_MENU_NO,MENU_ORDR,MENU_DC,RELATE_IMAGE_PATH,RELATE_IMAGE_NM) VALUES ('진급관리','dir',3000000,0,3,'진급관리','/','/');
INSERT INTO LETTNMENUINFO(MENU_NM,PROGRM_FILE_NM,MENU_NO,UPPER_MENU_NO,MENU_ORDR,MENU_DC,RELATE_IMAGE_PATH,RELATE_IMAGE_NM) VALUES ('업무평가점수 관리','EgovWorkEstimation',3010000,3000000,1,'업무평가점수 관리','/','/');
INSERT INTO LETTNMENUINFO(MENU_NM,PROGRM_FILE_NM,MENU_NO,UPPER_MENU_NO,MENU_ORDR,MENU_DC,RELATE_IMAGE_PATH,RELATE_IMAGE_NM) VALUES ('상벌정보 관리','EgovWorkAward',3040000,3000000,2,'상벌정보 관리','/','/');
INSERT INTO LETTNMENUINFO(MENU_NM,PROGRM_FILE_NM,MENU_NO,UPPER_MENU_NO,MENU_ORDR,MENU_DC,RELATE_IMAGE_PATH,RELATE_IMAGE_NM) VALUES ('근태관리','dir',4000000,0,4,'근태관리','/','/');
INSERT INTO LETTNMENUINFO(MENU_NM,PROGRM_FILE_NM,MENU_NO,UPPER_MENU_NO,MENU_ORDR,MENU_DC,RELATE_IMAGE_PATH,RELATE_IMAGE_NM) VALUES ('출퇴근정보 관리','EgovWorkAttendance',4010000,4000000,1,'출퇴근정보 관리','/','/');
INSERT INTO LETTNMENUINFO(MENU_NM,PROGRM_FILE_NM,MENU_NO,UPPER_MENU_NO,MENU_ORDR,MENU_DC,RELATE_IMAGE_PATH,RELATE_IMAGE_NM) VALUES ('휴무정보 관리','EgovWorkVacation',4020000,4000000,2,'휴무정보 관리','/','/');
INSERT INTO LETTNMENUINFO(MENU_NM,PROGRM_FILE_NM,MENU_NO,UPPER_MENU_NO,MENU_ORDR,MENU_DC,RELATE_IMAGE_PATH,RELATE_IMAGE_NM) VALUES ('내부서비스관리','dir',5000000,0,5,'내부서비스관리','/','/');
INSERT INTO LETTNMENUINFO(MENU_NM,PROGRM_FILE_NM,MENU_NO,UPPER_MENU_NO,MENU_ORDR,MENU_DC,RELATE_IMAGE_PATH,RELATE_IMAGE_NM) VALUES ('내부업무게시판관리','dir',5010000,5000000,1,'내부업무게시판관리','/','/');
INSERT INTO LETTNMENUINFO(MENU_NM,PROGRM_FILE_NM,MENU_NO,UPPER_MENU_NO,MENU_ORDR,MENU_DC,RELATE_IMAGE_PATH,RELATE_IMAGE_NM) VALUES ('게시판템플릿관리','EgovTemplateList',5010100,5010000,1,'게시판템플릿관리','/','/');
INSERT INTO LETTNMENUINFO(MENU_NM,PROGRM_FILE_NM,MENU_NO,UPPER_MENU_NO,MENU_ORDR,MENU_DC,RELATE_IMAGE_PATH,RELATE_IMAGE_NM) VALUES ('게시판생성관리','EgovBoardMstrList',5010200,5010000,2,'게시판생성관리','/','/');
INSERT INTO LETTNMENUINFO(MENU_NM,PROGRM_FILE_NM,MENU_NO,UPPER_MENU_NO,MENU_ORDR,MENU_DC,RELATE_IMAGE_PATH,RELATE_IMAGE_NM) VALUES ('게시판사용관리','EgovBoardUseInfList',5010300,5010000,3,'게시판사용관리','/','/');
INSERT INTO LETTNMENUINFO(MENU_NM,PROGRM_FILE_NM,MENU_NO,UPPER_MENU_NO,MENU_ORDR,MENU_DC,RELATE_IMAGE_PATH,RELATE_IMAGE_NM) VALUES ('공지사항관리','EgovInfoNoticeAdmin',5010400,5010000,4,'공지사항관리','/','/');
INSERT INTO LETTNMENUINFO(MENU_NM,PROGRM_FILE_NM,MENU_NO,UPPER_MENU_NO,MENU_ORDR,MENU_DC,RELATE_IMAGE_PATH,RELATE_IMAGE_NM) VALUES ('업무게시판관리','EgovInfoWorkAdmin',5010500,5010000,5,'업무게시판관리','/','/');
INSERT INTO LETTNMENUINFO(MENU_NM,PROGRM_FILE_NM,MENU_NO,UPPER_MENU_NO,MENU_ORDR,MENU_DC,RELATE_IMAGE_PATH,RELATE_IMAGE_NM) VALUES ('사용현황관리','dir',5020000,5000000,2,'사용현황관리','/','/');
INSERT INTO LETTNMENUINFO(MENU_NM,PROGRM_FILE_NM,MENU_NO,UPPER_MENU_NO,MENU_ORDR,MENU_DC,RELATE_IMAGE_PATH,RELATE_IMAGE_NM) VALUES ('접속로그관리','EgovLoginLogList',5020100,5020000,1,'접속로그관리','/','/');
INSERT INTO LETTNMENUINFO(MENU_NM,PROGRM_FILE_NM,MENU_NO,UPPER_MENU_NO,MENU_ORDR,MENU_DC,RELATE_IMAGE_PATH,RELATE_IMAGE_NM) VALUES ('접속통계관리','EgovConectStats',5020200,5020000,2,'접속통계관리','/','/');
INSERT INTO LETTNMENUINFO(MENU_NM,PROGRM_FILE_NM,MENU_NO,UPPER_MENU_NO,MENU_ORDR,MENU_DC,RELATE_IMAGE_PATH,RELATE_IMAGE_NM) VALUES ('로그인정책관리','EgovLoginPolicyList',5020300,5020000,3,'로그인정책관리','','');
INSERT INTO LETTNMENUINFO(MENU_NM,PROGRM_FILE_NM,MENU_NO,UPPER_MENU_NO,MENU_ORDR,MENU_DC,RELATE_IMAGE_PATH,RELATE_IMAGE_NM) VALUES ('내부시스템관리','dir',6000000,0,6,'내부시스템관리','/','/');
INSERT INTO LETTNMENUINFO(MENU_NM,PROGRM_FILE_NM,MENU_NO,UPPER_MENU_NO,MENU_ORDR,MENU_DC,RELATE_IMAGE_PATH,RELATE_IMAGE_NM) VALUES ('사용자관리','dir',6010000,6000000,1,'사용자관리','/','/');
INSERT INTO LETTNMENUINFO(MENU_NM,PROGRM_FILE_NM,MENU_NO,UPPER_MENU_NO,MENU_ORDR,MENU_DC,RELATE_IMAGE_PATH,RELATE_IMAGE_NM) VALUES ('사용자등록관리','EgovUserManage',6010100,6010000,1,'사용자등록관리','/','/');
INSERT INTO LETTNMENUINFO(MENU_NM,PROGRM_FILE_NM,MENU_NO,UPPER_MENU_NO,MENU_ORDR,MENU_DC,RELATE_IMAGE_PATH,RELATE_IMAGE_NM) VALUES ('사용자부재관리','EgovUserAbsnceList',6010200,6010000,2,'사용자부재관리','/','/');
INSERT INTO LETTNMENUINFO(MENU_NM,PROGRM_FILE_NM,MENU_NO,UPPER_MENU_NO,MENU_ORDR,MENU_DC,RELATE_IMAGE_PATH,RELATE_IMAGE_NM) VALUES ('사용자권한관리','dir',6020000,6000000,2,'사용자권한관리','/','/');
INSERT INTO LETTNMENUINFO(MENU_NM,PROGRM_FILE_NM,MENU_NO,UPPER_MENU_NO,MENU_ORDR,MENU_DC,RELATE_IMAGE_PATH,RELATE_IMAGE_NM) VALUES ('권한관리','EgovAuthorManage',6020100,6020000,1,'권한관리','/','/');
INSERT INTO LETTNMENUINFO(MENU_NM,PROGRM_FILE_NM,MENU_NO,UPPER_MENU_NO,MENU_ORDR,MENU_DC,RELATE_IMAGE_PATH,RELATE_IMAGE_NM) VALUES ('사용자그룹관리','EgovGroupManage',6020200,6020000,2,'사용자그룹관리','/','/');
INSERT INTO LETTNMENUINFO(MENU_NM,PROGRM_FILE_NM,MENU_NO,UPPER_MENU_NO,MENU_ORDR,MENU_DC,RELATE_IMAGE_PATH,RELATE_IMAGE_NM) VALUES ('사용자별권한관리','EgovAuthorRoleManage',6020300,6020000,3,'사용자별권한관리','/','/');
INSERT INTO LETTNMENUINFO(MENU_NM,PROGRM_FILE_NM,MENU_NO,UPPER_MENU_NO,MENU_ORDR,MENU_DC,RELATE_IMAGE_PATH,RELATE_IMAGE_NM) VALUES ('롤관리','EgovRoleManage',6020400,6020000,4,'롤관리','/','/');
INSERT INTO LETTNMENUINFO(MENU_NM,PROGRM_FILE_NM,MENU_NO,UPPER_MENU_NO,MENU_ORDR,MENU_DC,RELATE_IMAGE_PATH,RELATE_IMAGE_NM) VALUES ('메뉴관리','dir',6030000,6000000,3,'메뉴관리','/','/');
INSERT INTO LETTNMENUINFO(MENU_NM,PROGRM_FILE_NM,MENU_NO,UPPER_MENU_NO,MENU_ORDR,MENU_DC,RELATE_IMAGE_PATH,RELATE_IMAGE_NM) VALUES ('프로그램목록관리','EgovProgramListManage',6030100,6030000,1,'프로그램목록관리','/','/');
INSERT INTO LETTNMENUINFO(MENU_NM,PROGRM_FILE_NM,MENU_NO,UPPER_MENU_NO,MENU_ORDR,MENU_DC,RELATE_IMAGE_PATH,RELATE_IMAGE_NM) VALUES ('메뉴생성관리','EgovMenuCreatManage',6030200,6030000,2,'메뉴생성관리','/','/');
INSERT INTO LETTNMENUINFO(MENU_NM,PROGRM_FILE_NM,MENU_NO,UPPER_MENU_NO,MENU_ORDR,MENU_DC,RELATE_IMAGE_PATH,RELATE_IMAGE_NM) VALUES ('메뉴목록관리','EgovMenuManage',6030300,6030000,4,'메뉴목록관리','/','/');
INSERT INTO LETTNMENUINFO(MENU_NM,PROGRM_FILE_NM,MENU_NO,UPPER_MENU_NO,MENU_ORDR,MENU_DC,RELATE_IMAGE_PATH,RELATE_IMAGE_NM) VALUES ('코드관리','dir',6040000,6000000,4,'코드관리','/','/');
INSERT INTO LETTNMENUINFO(MENU_NM,PROGRM_FILE_NM,MENU_NO,UPPER_MENU_NO,MENU_ORDR,MENU_DC,RELATE_IMAGE_PATH,RELATE_IMAGE_NM) VALUES ('분류코드관리','EgovCcmCmmnClCodeList',6040100,6040000,1,'분류코드관리','/','/');
INSERT INTO LETTNMENUINFO(MENU_NM,PROGRM_FILE_NM,MENU_NO,UPPER_MENU_NO,MENU_ORDR,MENU_DC,RELATE_IMAGE_PATH,RELATE_IMAGE_NM) VALUES ('공통코드관리','EgovCcmCmmnCodeList',6040200,6040000,2,'공통코드관리','/','/');
INSERT INTO LETTNMENUINFO(MENU_NM,PROGRM_FILE_NM,MENU_NO,UPPER_MENU_NO,MENU_ORDR,MENU_DC,RELATE_IMAGE_PATH,RELATE_IMAGE_NM) VALUES ('상세코드관리','EgovCcmCmmnDetailCodeList',6040300,6040000,3,'상세코드관리','','');
INSERT INTO LETTNMENUINFO(MENU_NM,PROGRM_FILE_NM,MENU_NO,UPPER_MENU_NO,MENU_ORDR,MENU_DC,RELATE_IMAGE_PATH,RELATE_IMAGE_NM) VALUES ('우편번호관리','EgovCcmZipList',6040400,6040000,4,'우편번호관리','/','/');
#메뉴생성목록
INSERT INTO LETTNMENUCREATDTLS(MENU_NO,AUTHOR_CODE,MAPNG_CREAT_ID) VALUES (1000000,'ROLE_ADMIN',null);
INSERT INTO LETTNMENUCREATDTLS(MENU_NO,AUTHOR_CODE,MAPNG_CREAT_ID) VALUES (1000000,'ROLE_USER_MEMBER',null);
INSERT INTO LETTNMENUCREATDTLS(MENU_NO,AUTHOR_CODE,MAPNG_CREAT_ID) VALUES (1010000,'ROLE_ADMIN',null);
INSERT INTO LETTNMENUCREATDTLS(MENU_NO,AUTHOR_CODE,MAPNG_CREAT_ID) VALUES (1010000,'ROLE_USER_MEMBER',null);
INSERT INTO LETTNMENUCREATDTLS(MENU_NO,AUTHOR_CODE,MAPNG_CREAT_ID) VALUES (1020000,'ROLE_ADMIN',null);
INSERT INTO LETTNMENUCREATDTLS(MENU_NO,AUTHOR_CODE,MAPNG_CREAT_ID) VALUES (1020000,'ROLE_USER_MEMBER',null);
INSERT INTO LETTNMENUCREATDTLS(MENU_NO,AUTHOR_CODE,MAPNG_CREAT_ID) VALUES (2000000,'ROLE_ADMIN',null);
INSERT INTO LETTNMENUCREATDTLS(MENU_NO,AUTHOR_CODE,MAPNG_CREAT_ID) VALUES (2000000,'ROLE_USER_MEMBER',null);
INSERT INTO LETTNMENUCREATDTLS(MENU_NO,AUTHOR_CODE,MAPNG_CREAT_ID) VALUES (2010000,'ROLE_ADMIN',null);
INSERT INTO LETTNMENUCREATDTLS(MENU_NO,AUTHOR_CODE,MAPNG_CREAT_ID) VALUES (2010000,'ROLE_USER_MEMBER',null);
INSERT INTO LETTNMENUCREATDTLS(MENU_NO,AUTHOR_CODE,MAPNG_CREAT_ID) VALUES (2020000,'ROLE_ADMIN',null);
INSERT INTO LETTNMENUCREATDTLS(MENU_NO,AUTHOR_CODE,MAPNG_CREAT_ID) VALUES (2020000,'ROLE_USER_MEMBER',null);
INSERT INTO LETTNMENUCREATDTLS(MENU_NO,AUTHOR_CODE,MAPNG_CREAT_ID) VALUES (2030000,'ROLE_ADMIN',null);
INSERT INTO LETTNMENUCREATDTLS(MENU_NO,AUTHOR_CODE,MAPNG_CREAT_ID) VALUES (2030000,'ROLE_USER_MEMBER',null);
INSERT INTO LETTNMENUCREATDTLS(MENU_NO,AUTHOR_CODE,MAPNG_CREAT_ID) VALUES (3000000,'ROLE_ADMIN',null);
INSERT INTO LETTNMENUCREATDTLS(MENU_NO,AUTHOR_CODE,MAPNG_CREAT_ID) VALUES (3000000,'ROLE_USER_MEMBER',null);
INSERT INTO LETTNMENUCREATDTLS(MENU_NO,AUTHOR_CODE,MAPNG_CREAT_ID) VALUES (3010000,'ROLE_ADMIN',null);
INSERT INTO LETTNMENUCREATDTLS(MENU_NO,AUTHOR_CODE,MAPNG_CREAT_ID) VALUES (3010000,'ROLE_USER_MEMBER',null);
INSERT INTO LETTNMENUCREATDTLS(MENU_NO,AUTHOR_CODE,MAPNG_CREAT_ID) VALUES (3040000,'ROLE_ADMIN',null);
INSERT INTO LETTNMENUCREATDTLS(MENU_NO,AUTHOR_CODE,MAPNG_CREAT_ID) VALUES (3040000,'ROLE_USER_MEMBER',null);
INSERT INTO LETTNMENUCREATDTLS(MENU_NO,AUTHOR_CODE,MAPNG_CREAT_ID) VALUES (4000000,'ROLE_ADMIN',null);
INSERT INTO LETTNMENUCREATDTLS(MENU_NO,AUTHOR_CODE,MAPNG_CREAT_ID) VALUES (4000000,'ROLE_USER_MEMBER',null);
INSERT INTO LETTNMENUCREATDTLS(MENU_NO,AUTHOR_CODE,MAPNG_CREAT_ID) VALUES (4010000,'ROLE_ADMIN',null);
INSERT INTO LETTNMENUCREATDTLS(MENU_NO,AUTHOR_CODE,MAPNG_CREAT_ID) VALUES (4010000,'ROLE_USER_MEMBER',null);
INSERT INTO LETTNMENUCREATDTLS(MENU_NO,AUTHOR_CODE,MAPNG_CREAT_ID) VALUES (4020000,'ROLE_ADMIN',null);
INSERT INTO LETTNMENUCREATDTLS(MENU_NO,AUTHOR_CODE,MAPNG_CREAT_ID) VALUES (4020000,'ROLE_USER_MEMBER',null);
INSERT INTO LETTNMENUCREATDTLS(MENU_NO,AUTHOR_CODE,MAPNG_CREAT_ID) VALUES (5000000,'ROLE_ADMIN',null);
INSERT INTO LETTNMENUCREATDTLS(MENU_NO,AUTHOR_CODE,MAPNG_CREAT_ID) VALUES (5000000,'ROLE_USER_MEMBER',null);
INSERT INTO LETTNMENUCREATDTLS(MENU_NO,AUTHOR_CODE,MAPNG_CREAT_ID) VALUES (5010000,'ROLE_ADMIN',null);
INSERT INTO LETTNMENUCREATDTLS(MENU_NO,AUTHOR_CODE,MAPNG_CREAT_ID) VALUES (5010000,'ROLE_USER_MEMBER',null);
INSERT INTO LETTNMENUCREATDTLS(MENU_NO,AUTHOR_CODE,MAPNG_CREAT_ID) VALUES (5010100,'ROLE_ADMIN',null);
INSERT INTO LETTNMENUCREATDTLS(MENU_NO,AUTHOR_CODE,MAPNG_CREAT_ID) VALUES (5010100,'ROLE_USER_MEMBER',null);
INSERT INTO LETTNMENUCREATDTLS(MENU_NO,AUTHOR_CODE,MAPNG_CREAT_ID) VALUES (5010200,'ROLE_ADMIN',null);
INSERT INTO LETTNMENUCREATDTLS(MENU_NO,AUTHOR_CODE,MAPNG_CREAT_ID) VALUES (5010200,'ROLE_USER_MEMBER',null);
INSERT INTO LETTNMENUCREATDTLS(MENU_NO,AUTHOR_CODE,MAPNG_CREAT_ID) VALUES (5010300,'ROLE_ADMIN',null);
INSERT INTO LETTNMENUCREATDTLS(MENU_NO,AUTHOR_CODE,MAPNG_CREAT_ID) VALUES (5010300,'ROLE_USER_MEMBER',null);
INSERT INTO LETTNMENUCREATDTLS(MENU_NO,AUTHOR_CODE,MAPNG_CREAT_ID) VALUES (5010400,'ROLE_ADMIN',null);
INSERT INTO LETTNMENUCREATDTLS(MENU_NO,AUTHOR_CODE,MAPNG_CREAT_ID) VALUES (5010400,'ROLE_USER_MEMBER',null);
INSERT INTO LETTNMENUCREATDTLS(MENU_NO,AUTHOR_CODE,MAPNG_CREAT_ID) VALUES (5010500,'ROLE_ADMIN',null);
INSERT INTO LETTNMENUCREATDTLS(MENU_NO,AUTHOR_CODE,MAPNG_CREAT_ID) VALUES (5010500,'ROLE_USER_MEMBER',null);
INSERT INTO LETTNMENUCREATDTLS(MENU_NO,AUTHOR_CODE,MAPNG_CREAT_ID) VALUES (5020000,'ROLE_ADMIN',null);
INSERT INTO LETTNMENUCREATDTLS(MENU_NO,AUTHOR_CODE,MAPNG_CREAT_ID) VALUES (5020000,'ROLE_USER_MEMBER',null);
INSERT INTO LETTNMENUCREATDTLS(MENU_NO,AUTHOR_CODE,MAPNG_CREAT_ID) VALUES (5020100,'ROLE_ADMIN',null);
INSERT INTO LETTNMENUCREATDTLS(MENU_NO,AUTHOR_CODE,MAPNG_CREAT_ID) VALUES (5020100,'ROLE_USER_MEMBER',null);
INSERT INTO LETTNMENUCREATDTLS(MENU_NO,AUTHOR_CODE,MAPNG_CREAT_ID) VALUES (5020200,'ROLE_ADMIN',null);
INSERT INTO LETTNMENUCREATDTLS(MENU_NO,AUTHOR_CODE,MAPNG_CREAT_ID) VALUES (5020200,'ROLE_USER_MEMBER',null);
INSERT INTO LETTNMENUCREATDTLS(MENU_NO,AUTHOR_CODE,MAPNG_CREAT_ID) VALUES (5020300,'ROLE_ADMIN',null);
INSERT INTO LETTNMENUCREATDTLS(MENU_NO,AUTHOR_CODE,MAPNG_CREAT_ID) VALUES (5020300,'ROLE_USER_MEMBER',null);
INSERT INTO LETTNMENUCREATDTLS(MENU_NO,AUTHOR_CODE,MAPNG_CREAT_ID) VALUES (6000000,'ROLE_ADMIN',null);
INSERT INTO LETTNMENUCREATDTLS(MENU_NO,AUTHOR_CODE,MAPNG_CREAT_ID) VALUES (6010000,'ROLE_ADMIN',null);
INSERT INTO LETTNMENUCREATDTLS(MENU_NO,AUTHOR_CODE,MAPNG_CREAT_ID) VALUES (6010100,'ROLE_ADMIN',null);
INSERT INTO LETTNMENUCREATDTLS(MENU_NO,AUTHOR_CODE,MAPNG_CREAT_ID) VALUES (6010200,'ROLE_ADMIN',null);
INSERT INTO LETTNMENUCREATDTLS(MENU_NO,AUTHOR_CODE,MAPNG_CREAT_ID) VALUES (6020000,'ROLE_ADMIN',null);
INSERT INTO LETTNMENUCREATDTLS(MENU_NO,AUTHOR_CODE,MAPNG_CREAT_ID) VALUES (6020100,'ROLE_ADMIN',null);
INSERT INTO LETTNMENUCREATDTLS(MENU_NO,AUTHOR_CODE,MAPNG_CREAT_ID) VALUES (6020200,'ROLE_ADMIN',null);
INSERT INTO LETTNMENUCREATDTLS(MENU_NO,AUTHOR_CODE,MAPNG_CREAT_ID) VALUES (6020300,'ROLE_ADMIN',null);
INSERT INTO LETTNMENUCREATDTLS(MENU_NO,AUTHOR_CODE,MAPNG_CREAT_ID) VALUES (6020400,'ROLE_ADMIN',null);
INSERT INTO LETTNMENUCREATDTLS(MENU_NO,AUTHOR_CODE,MAPNG_CREAT_ID) VALUES (6030000,'ROLE_ADMIN',null);
INSERT INTO LETTNMENUCREATDTLS(MENU_NO,AUTHOR_CODE,MAPNG_CREAT_ID) VALUES (6030100,'ROLE_ADMIN',null);
INSERT INTO LETTNMENUCREATDTLS(MENU_NO,AUTHOR_CODE,MAPNG_CREAT_ID) VALUES (6030200,'ROLE_ADMIN',null);
INSERT INTO LETTNMENUCREATDTLS(MENU_NO,AUTHOR_CODE,MAPNG_CREAT_ID) VALUES (6030300,'ROLE_ADMIN',null);
INSERT INTO LETTNMENUCREATDTLS(MENU_NO,AUTHOR_CODE,MAPNG_CREAT_ID) VALUES (6040000,'ROLE_ADMIN',null);
INSERT INTO LETTNMENUCREATDTLS(MENU_NO,AUTHOR_CODE,MAPNG_CREAT_ID) VALUES (6040100,'ROLE_ADMIN',null);
INSERT INTO LETTNMENUCREATDTLS(MENU_NO,AUTHOR_CODE,MAPNG_CREAT_ID) VALUES (6040200,'ROLE_ADMIN',null);
INSERT INTO LETTNMENUCREATDTLS(MENU_NO,AUTHOR_CODE,MAPNG_CREAT_ID) VALUES (6040300,'ROLE_ADMIN',null);
INSERT INTO LETTNMENUCREATDTLS(MENU_NO,AUTHOR_CODE,MAPNG_CREAT_ID) VALUES (6040400,'ROLE_ADMIN',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 (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_CCCCCCCCCCCC',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_CCCCCCCCCCCC',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_CCCCCCCCCCCC',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_CCCCCCCCCCCC',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_CCCCCCCCCCCC',1,'홈페이지 샘플업무5','홈페이지 샘플업무5','N',0,0,2,0,'Y','10000101','99991231','','','',null,NOW(),'USRCNFRM_00000000000',null,null);
#우편번호
INSERT INTO LETTCZIP(ZIP, SN, CTPRVN_NM, SIGNGU_NM, EMD_NM, LI_BULD_NM, LNBR_DONG_HO, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('100775',7381,'서울','중구','무교동','한국정보화진흥원','',SYSDATE(),'SYSTEM',SYSDATE(),'SYSTEM');

View File

@ -0,0 +1,495 @@
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 LETTNAUTHORINFO (
AUTHOR_CODE varchar(30) NOT NULL DEFAULT '',
AUTHOR_NM varchar(60) NOT NULL,
AUTHOR_DC varchar(200) DEFAULT NULL,
AUTHOR_CREAT_DE char(20) NOT NULL,
PRIMARY KEY (AUTHOR_CODE)
) ;
CREATE TABLE LETTNROLES_HIERARCHY (
PARNTS_ROLE varchar(30) NOT NULL,
CHLDRN_ROLE varchar(30) NOT NULL,
PRIMARY KEY (PARNTS_ROLE,CHLDRN_ROLE),
KEY R_308 (CHLDRN_ROLE),
CONSTRAINT LETTNROLES_HIERARCHY_ibfk_2 FOREIGN KEY (CHLDRN_ROLE) REFERENCES LETTNAUTHORINFO (AUTHOR_CODE) ON DELETE CASCADE,
CONSTRAINT LETTNROLES_HIERARCHY_ibfk_1 FOREIGN KEY (PARNTS_ROLE) REFERENCES LETTNAUTHORINFO (AUTHOR_CODE) ON DELETE CASCADE
) ;
CREATE TABLE LETTNROLEINFO (
ROLE_CODE varchar(50) NOT NULL DEFAULT '',
ROLE_NM varchar(60) NOT NULL,
ROLE_PTTRN varchar(300) DEFAULT NULL,
ROLE_DC varchar(200) DEFAULT NULL,
ROLE_TY varchar(80) DEFAULT NULL,
ROLE_SORT varchar(10) DEFAULT NULL,
ROLE_CREAT_DE char(20) NOT NULL,
PRIMARY KEY (ROLE_CODE)
) ;
CREATE TABLE LETTNAUTHORROLERELATE (
AUTHOR_CODE varchar(30) NOT NULL,
ROLE_CODE varchar(50) NOT NULL,
CREAT_DT datetime DEFAULT NULL,
PRIMARY KEY (AUTHOR_CODE,ROLE_CODE),
KEY R_292 (ROLE_CODE),
CONSTRAINT LETTNAUTHORROLERELATE_ibfk_2 FOREIGN KEY (ROLE_CODE) REFERENCES LETTNROLEINFO (ROLE_CODE) ON DELETE CASCADE,
CONSTRAINT LETTNAUTHORROLERELATE_ibfk_1 FOREIGN KEY (AUTHOR_CODE) REFERENCES LETTNAUTHORINFO (AUTHOR_CODE) ON DELETE CASCADE
) ;
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 LETTNEMPLYRSCRTYESTBS (
SCRTY_DTRMN_TRGET_ID varchar(20) NOT NULL,
MBER_TY_CODE varchar(15) DEFAULT NULL,
AUTHOR_CODE varchar(30) NOT NULL,
PRIMARY KEY (SCRTY_DTRMN_TRGET_ID),
KEY LETTNEMPLYRSCRTYESTBS_ibfk_4 (AUTHOR_CODE),
CONSTRAINT LETTNEMPLYRSCRTYESTBS_ibfk_4 FOREIGN KEY (AUTHOR_CODE) REFERENCES LETTNAUTHORINFO (AUTHOR_CODE)
) ;
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 LETTCZIP (
ZIP varchar(6) NOT NULL,
SN decimal(10,0) NOT NULL DEFAULT '0',
CTPRVN_NM varchar(20) DEFAULT NULL,
SIGNGU_NM varchar(20) DEFAULT NULL,
EMD_NM varchar(60) DEFAULT NULL,
LI_BULD_NM varchar(60) DEFAULT NULL,
LNBR_DONG_HO varchar(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,
PRIMARY KEY (ZIP,SN)
) ;
CREATE TABLE LETTHEMPLYRINFOCHANGEDTLS (
EMPLYR_ID varchar(20) NOT NULL,
CHANGE_DE DATETIME NOT NULL,
ORGNZT_ID char(20) DEFAULT NULL,
GROUP_ID char(20) DEFAULT NULL,
EMPL_NO varchar(20) DEFAULT NULL,
SEXDSTN_CODE char(1) DEFAULT NULL,
BRTHDY char(20) DEFAULT NULL,
FXNUM varchar(20) DEFAULT NULL,
HOUSE_ADRES varchar(100) DEFAULT 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,
HOUSE_MIDDLE_TELNO varchar(4) DEFAULT NULL,
PSTINST_CODE char(8) DEFAULT NULL,
EMPLYR_STTUS_CODE varchar(15) DEFAULT NULL,
ESNTL_ID char(20) DEFAULT NULL,
PRIMARY KEY (EMPLYR_ID,CHANGE_DE)
) ;
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) DEFAULT 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) DEFAULT NULL,
PASSWORD_CNSR varchar(100) DEFAULT 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 LETTNLOGINLOG (
LOG_ID char(20) NOT NULL,
CONECT_ID varchar(20) DEFAULT NULL,
CONECT_IP varchar(23) DEFAULT NULL,
CONECT_MTHD char(4) DEFAULT NULL,
ERROR_OCCRRNC_AT char(1) DEFAULT NULL,
ERROR_CODE char(3) DEFAULT NULL,
CREAT_DT datetime DEFAULT NULL,
PRIMARY KEY (LOG_ID)
) ;
CREATE TABLE LETTNLOGINPOLICY (
EMPLYR_ID varchar(20) NOT NULL DEFAULT '',
IP_INFO varchar(23) NOT NULL,
DPLCT_PERM_AT char(1) NOT NULL,
LMTT_AT char(1) NOT 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 (EMPLYR_ID)
) ;
CREATE TABLE LETTNPROGRMLIST (
PROGRM_FILE_NM varchar(60) NOT NULL DEFAULT '',
PROGRM_STRE_PATH varchar(100) NOT NULL,
PROGRM_KOREAN_NM varchar(60) DEFAULT NULL,
PROGRM_DC varchar(200) DEFAULT NULL,
URL varchar(100) NOT NULL,
PRIMARY KEY (PROGRM_FILE_NM)
) ;
CREATE TABLE LETTNMENUINFO (
MENU_NM varchar(60) NOT NULL,
PROGRM_FILE_NM varchar(60) NOT NULL,
MENU_NO decimal(20,0) NOT NULL,
UPPER_MENU_NO decimal(20,0) DEFAULT NULL,
MENU_ORDR decimal(5,0) NOT NULL,
MENU_DC varchar(250) DEFAULT NULL,
RELATE_IMAGE_PATH varchar(100) DEFAULT NULL,
RELATE_IMAGE_NM varchar(60) DEFAULT NULL,
PRIMARY KEY (MENU_NO),
KEY R_2 (PROGRM_FILE_NM),
KEY R_4 (UPPER_MENU_NO),
CONSTRAINT LETTNMENUINFO_ibfk_2 FOREIGN KEY (UPPER_MENU_NO) REFERENCES LETTNMENUINFO (MENU_NO),
CONSTRAINT LETTNMENUINFO_ibfk_1 FOREIGN KEY (PROGRM_FILE_NM) REFERENCES LETTNPROGRMLIST (PROGRM_FILE_NM) ON DELETE CASCADE
) ;
CREATE TABLE LETTNMENUCREATDTLS (
MENU_NO decimal(20,0) NOT NULL,
AUTHOR_CODE varchar(30) NOT NULL,
MAPNG_CREAT_ID varchar(30) DEFAULT NULL,
PRIMARY KEY (MENU_NO,AUTHOR_CODE),
KEY R_247 (MAPNG_CREAT_ID),
KEY R_303 (AUTHOR_CODE),
CONSTRAINT LETTNMENUCREATDTLS_ibfk_3 FOREIGN KEY (AUTHOR_CODE) REFERENCES LETTNAUTHORINFO (AUTHOR_CODE),
CONSTRAINT LETTNMENUCREATDTLS_ibfk_1 FOREIGN KEY (MENU_NO) REFERENCES LETTNMENUINFO (MENU_NO) ON DELETE CASCADE
) ;
CREATE TABLE LETTNUSERABSNCE (
EMPLYR_ID varchar(20) NOT NULL DEFAULT '',
USER_ABSNCE_AT char(1) NOT 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 (EMPLYR_ID)
) ;
CREATE TABLE LETTSSYSLOGSUMMARY (
OCCRRNC_DE char(20) NOT NULL,
SRVC_NM varchar(255) NOT NULL,
METHOD_NM varchar(60) NOT NULL,
CREAT_CO decimal(10,0) DEFAULT NULL,
UPDT_CO decimal(10,0) DEFAULT NULL,
RDCNT decimal(10,0) DEFAULT NULL,
DELETE_CO decimal(10,0) DEFAULT NULL,
OUTPT_CO decimal(10,0) DEFAULT NULL,
ERROR_CO decimal(10,0) DEFAULT NULL,
PRIMARY KEY (OCCRRNC_DE,SRVC_NM,METHOD_NM)
) ;
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
;

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 177 KiB

Binary file not shown.

Binary file not shown.

BIN
doc/erd/kccadr_210914.erwin Normal file

Binary file not shown.

BIN
doc/erd/kccadr_210915.erwin Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

17746
doc/newfile.erm Normal file

File diff suppressed because it is too large Load Diff

BIN
doc/newfile.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 177 KiB

Binary file not shown.

Binary file not shown.

Binary file not shown.

727
pom.xml Normal file
View File

@ -0,0 +1,727 @@
<?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>
<artifactId>kcc_adr_advc</artifactId>
<packaging>war</packaging>
<version>1.0.0</version>
<name>kcc_adr</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>
<java.version>1.8</java.version>
<maven-jar-plugin.version>3.1.1</maven-jar-plugin.version>
<spring.maven.artifact.version>4.3.22.RELEASE</spring.maven.artifact.version>
<egovframework.rte.version>3.9.0</egovframework.rte.version>
<!-- <spring.maven.artifact.version>4.3.25.RELEASE</spring.maven.artifact.version> -->
<!-- <egovframework.rte.version>3.10.0</egovframework.rte.version> -->
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<webcontent-dir>${project.basedir}\src\main\webapp\WEB-INF\lib</webcontent-dir>
</properties>
<repositories>
<repository>
<id>mvn2</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://www.egovframe.go.kr/maven/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
<repository>
<id>egovframe2</id>
<url>http://maven.egovframe.kr:8080/maven/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
<!-- <repository>
<id>cubrid.release.repository</id>
<url>http://maven.cubrid.org/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository> -->
</repositories>
<dependencies>
<dependency>
<groupId>egovframework.rte</groupId>
<artifactId>egovframework.rte.fdl.security</artifactId>
<version>${egovframework.rte.version}</version>
</dependency>
<dependency>
<groupId>egovframework.rte</groupId>
<artifactId>egovframework.rte.fdl.excel</artifactId>
<version>${egovframework.rte.version}</version>
</dependency>
<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.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>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>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.8.1</version>
</dependency>
<dependency>
<groupId>oro</groupId>
<artifactId>oro</artifactId>
<version>2.0.8</version>
</dependency>
<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>
-->
<!-- inipay 가상계좌 -->
<dependency>
<groupId>INIPay</groupId>
<artifactId>INIPay</artifactId>
<version>1.3</version>
<scope>system</scope>
<systemPath>${basedir}/src/main/webapp/WEB-INF/lib/INIpaySample_v1.3.jar</systemPath>
</dependency>
<!-- cubrid driver -->
<!-- https://mvnrepository.com/artifact/cubrid/cubrid-jdbc -->
<dependency>
<groupId>cubrid</groupId>
<artifactId>cubrid-jdbc</artifactId>
<version>11.0.1.0286</version>
<scope>system</scope>
<systemPath>${basedir}/src/main/webapp/WEB-INF/lib/cubrid-jdbc-11.0.1.0286.jar</systemPath>
</dependency>
<!-- 오라클 ojdbc SMS DB연동 테스트용 ojdbc(oracle xe 21c) -->
<dependency>
<groupId>ojdbc</groupId>
<artifactId>ojdbc</artifactId>
<version>8</version>
<scope>system</scope>
<systemPath>${basedir}/src/main/webapp/WEB-INF/lib/ojdbc8.jar</systemPath>
</dependency>
<dependency>
<groupId>orai18n</groupId>
<artifactId>orai18n</artifactId>
<version>18</version>
<scope>system</scope>
<systemPath>${basedir}/src/main/webapp/WEB-INF/lib/orai18n.jar</systemPath>
</dependency>
<!-- PG API와의 연계를 도와주는 라이브러리의 jar 파일 -->
<dependency>
<groupId>com.epapyrus.pdf</groupId>
<artifactId>pdf-gateway-client-api-http</artifactId>
<version>10.11.0.10-RELEASE</version>
<scope>system</scope>
<systemPath>${project.basedir}/src/main/webapp/WEB-INF/lib/pdf-gateway-client-api-http-10.11.2.1-SNAPSHOT-with-libs.jar</systemPath>
</dependency>
<!-- SSO 연동 BandiSSOClient_oauth_1.5_v9 -->
<dependency>
<groupId>BandiSSOClient</groupId>
<artifactId>BandiSSOClient</artifactId>
<version>9</version>
<scope>system</scope>
<systemPath>${basedir}/src/main/webapp/WEB-INF/lib/BandiSSOClient_oauth_1.5_v9.jar</systemPath>
</dependency>
<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
<version>1.3.1</version>
</dependency>
<!-- Cross-Site Scripting -->
<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>
<!-- quartz -->
<dependency>
<groupId>org.quartz-scheduler</groupId>
<artifactId>quartz-weblogic</artifactId>
<version>2.1.7</version>
</dependency>
<dependency>
<groupId>org.quartz-scheduler</groupId>
<artifactId>quartz-jboss</artifactId>
<version>2.1.7</version>
</dependency>
<!-- user config add -->
<!-- json 추가 -->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>2.5.1</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
<version>2.5.1</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.5.1</version>
</dependency>
<dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-mapper-asl</artifactId>
<version>1.9.2</version>
</dependency>
<!-- site mesh -->
<dependency>
<groupId>opensymphony</groupId>
<artifactId>sitemesh</artifactId>
<version>2.4.2</version>
</dependency>
<!--// site mesh -->
<!-- log4j -->
<dependency>
<groupId>org.lazyluke</groupId>
<artifactId>log4jdbc-remix</artifactId>
<version>0.2.7</version>
</dependency>
<!-- log4j 보안취약점으로 인한 업데이트 -->
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>2.17.1</version>
</dependency>
<!-- log4j 보안취약점으로 인한 업데이트 -->
<!-- https://mvnrepository.com/artifact/org.apache.logging.log4j/log4j-api -->
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-api</artifactId>
<version>2.17.1</version>
</dependency>
<!-- log4j 보안취약점으로 인한 업데이트 -->
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-slf4j-impl</artifactId>
<version>2.17.1</version>
</dependency>
<!-- ckeditor -->
<dependency>
<groupId>com.ckeditor</groupId>
<artifactId>ckeditor-java-core</artifactId>
<version>3.5.3</version>
</dependency>
<!-- json-simple -->
<dependency>
<groupId>com.googlecode.json-simple</groupId>
<artifactId>json-simple</artifactId>
<version>1.1.1</version>
</dependency>
<dependency>
<groupId>commons-lang</groupId>
<artifactId>commons-lang</artifactId>
<version>2.4</version>
</dependency>
<dependency>
<groupId>nl.captcha</groupId>
<artifactId>simplecaptcha</artifactId>
<version>1.2.1</version>
<scope>system</scope>
<systemPath>${basedir}/src/main/webapp/WEB-INF/lib/simplecaptcha-1.2.1_exp.jar</systemPath>
</dependency>
<!-- sci 평가 siren24. 본인인증 -->
<dependency>
<groupId>sciSecuPCC</groupId>
<artifactId>sciSecuPCC</artifactId>
<version>2</version>
<scope>system</scope>
<systemPath>${basedir}/src/main/webapp/WEB-INF/lib/sciSecuPCC.jar</systemPath>
</dependency>
<dependency>
<groupId>sciSecuPIN_v3</groupId>
<artifactId>sciSecuPIN_v3</artifactId>
<version>2</version>
<scope>system</scope>
<systemPath>${basedir}/src/main/webapp/WEB-INF/lib/sciSecuIPIN_v3.jar</systemPath>
</dependency>
<!-- magicline 공동인증서 시작 -->
<dependency>
<groupId>jcaos</groupId>
<artifactId>jcaos</artifactId>
<version>1</version>
<scope>system</scope>
<systemPath>${basedir}/src/main/webapp/WEB-INF/lib/jcaos-1.4.11.2.jar</systemPath>
</dependency>
<dependency>
<groupId>magice2e</groupId>
<artifactId>magice2e</artifactId>
<version>1</version>
<scope>system</scope>
<systemPath>${basedir}/src/main/webapp/WEB-INF/lib/magice2e_1.0.1.6.jar</systemPath>
</dependency>
<dependency>
<groupId>MagicJCrypto</groupId>
<artifactId>MagicJCrypto</artifactId>
<version>2</version>
<scope>system</scope>
<systemPath>${basedir}/src/main/webapp/WEB-INF/lib/MagicJCrypto-v2.0.0.0.jar</systemPath>
</dependency>
<dependency>
<groupId>magicline-e2e</groupId>
<artifactId>magicline-e2e</artifactId>
<version>4</version>
<scope>system</scope>
<systemPath>${basedir}/src/main/webapp/WEB-INF/lib/magicline-e2e-4.0.0.0.jar</systemPath>
</dependency>
<dependency>
<groupId>ml4web_server</groupId>
<artifactId>ml4web_server</artifactId>
<version>4</version>
<scope>system</scope>
<systemPath>${basedir}/src/main/webapp/WEB-INF/lib/ml4web_server_4.5.0.7.jar</systemPath>
</dependency>
<!-- magicline 공동인증서 종료 -->
<!-- NiceID 본인인증 -->
<dependency>
<groupId>NiceID</groupId>
<artifactId>NiceID</artifactId>
<version>1</version>
<scope>system</scope>
<systemPath>${basedir}/src/main/webapp/WEB-INF/lib/NiceID.jar</systemPath>
</dependency>
<!-- 디아모 모듈 -->
<dependency>
<groupId>damo</groupId>
<artifactId>damo</artifactId>
<version>1</version>
<scope>system</scope>
<systemPath>${basedir}/src/main/webapp/WEB-INF/lib/scpdb.jar</systemPath>
</dependency>
<!-- Jsoup HTML 파서 -->
<dependency>
<groupId>org.jsoup</groupId>
<artifactId>jsoup</artifactId>
<version>1.11.3</version>
<scope>system</scope>
<systemPath>${basedir}/src/main/webapp/WEB-INF/lib/jsoup-1.11.3.jar</systemPath>
</dependency>
<!-- Email -->
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-email</artifactId>
<version>1.3.2</version>
</dependency>
<dependency>
<groupId>egovframework.com.ems</groupId>
<artifactId>sndng-mail</artifactId>
<version>1.0</version>
</dependency>
<!-- eGov 호환성 인증을 위한 패키지명 변경 작업하고, was 에러가 발생하여 추가함. -->
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-validator-annotation-processor</artifactId>
<version>4.1.0.Final</version>
</dependency>
<!-- Solr -->
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
<version>4.3.1</version>
</dependency>
<dependency>
<groupId>org.apache.solr</groupId>
<artifactId>solr-solrj</artifactId>
<version>5.3.1</version>
</dependency>
<!-- Java thumbnailator -->
<dependency>
<groupId>net.coobird</groupId>
<artifactId>thumbnailator</artifactId>
<version>[0.4, 0.5)</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.poi/poi -->
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>3.16</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>3.16</version>
</dependency>
<!-- <dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.16.22</version>
<scope>provided</scope>
</dependency> -->
<!-- 자동완성기능 gson 사용 -->
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.8.1</version>
</dependency>
<!-- ITN 홈페이지 메일전송(네이버 SMTP 사용) -->
<dependency>
<groupId>javax.mail</groupId>
<artifactId>mail</artifactId>
<version>1.4.7</version>
</dependency>
<!-- https://mvnrepository.com/artifact/com.google.guava/guava -->
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>30.0-jre</version>
</dependency>
<!-- html parse -->
<!--<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.0</version>
</dependency> -->
<!-- crpyto -->
<dependency>
<groupId>egovframework.rte</groupId>
<artifactId>egovframework.rte.fdl.crypto</artifactId>
<version>${egovframework.rte.version}</version>
</dependency>
<dependency>
<groupId>taglibs</groupId>
<artifactId>taglibs-unstandard</artifactId>
<version>20060829</version>
<scope>system</scope>
<systemPath>${basedir}/src/main/webapp/WEB-INF/lib/taglibs-unstandard.jar</systemPath>
</dependency>
<dependency>
<groupId>org.apache.pdfbox</groupId>
<artifactId>pdfbox</artifactId>
<version>2.0.24</version>
</dependency>
<!-- OZ 스케쥴러 연동 ozsfw80 -->
<dependency>
<groupId>OzSchduler80</groupId>
<artifactId>OzSchduler80</artifactId>
<version>1</version>
<scope>system</scope>
<systemPath>${basedir}/src/main/webapp/WEB-INF/lib/ozsfw80.jar</systemPath>
</dependency>
</dependencies>
<build>
<defaultGoal>install</defaultGoal>
<directory>${basedir}/target</directory>
<finalName>kcc_adr_advc</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>
<artifactId>maven-war-plugin</artifactId>
<version>3.2.2</version>
</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>
<groupId>kcc_adr</groupId>
</project>

View File

@ -0,0 +1,10 @@
package egovframework.migration.impl;
import org.springframework.stereotype.Repository;
import kcc.com.cmm.service.impl.EgovComAbstractDAO;
@Repository("mariaMigrationDAO")
public class MariaMigrationDAO extends EgovComAbstractDAO {
}

View File

@ -0,0 +1,169 @@
package egovframework.migration.service;
import java.io.Serializable;
import kcc.com.cmm.ComDefaultVO;
public class KcdfNewBbsVO extends ComDefaultVO implements Serializable{
String NTT_ID = "" ;
String BBS_ID = "" ;
String NTT_NO = "" ;
String NTT_SJ = "" ;
String NTT_CN = "" ;
String ANSWER_AT = "" ;
String PARNTSCTT_NO = "" ;
String ANSWER_LC = "" ;
String SORT_ORDR = "" ;
String RDCNT = "" ;
String USE_AT = "" ;
String NTCE_BGNDE = "" ;
String NTCE_ENDDE = "" ;
String NTCR_ID = "" ;
String NTCR_NM = "" ;
String PASSWORD = "" ;
String ATCH_FILE_ID = "" ;
String FRST_REGIST_PNTTM = "" ;
String FRST_REGISTER_ID = "" ;
String LAST_UPDT_PNTTM = "" ;
String LAST_UPDUSR_ID = "" ;
String NOTICE_AT = "" ;
String SECRET_AT = "" ;
public String getNTT_ID() {
return NTT_ID;
}
public void setNTT_ID(String nTT_ID) {
NTT_ID = nTT_ID;
}
public String getNTT_NO() {
return NTT_NO;
}
public void setNTT_NO(String nTT_NO) {
NTT_NO = nTT_NO;
}
public String getNTT_SJ() {
return NTT_SJ;
}
public void setNTT_SJ(String nTT_SJ) {
NTT_SJ = nTT_SJ;
}
public String getNTT_CN() {
return NTT_CN;
}
public void setNTT_CN(String nTT_CN) {
NTT_CN = nTT_CN;
}
public String getANSWER_AT() {
return ANSWER_AT;
}
public void setANSWER_AT(String aNSWER_AT) {
ANSWER_AT = aNSWER_AT;
}
public String getPARNTSCTT_NO() {
return PARNTSCTT_NO;
}
public void setPARNTSCTT_NO(String pARNTSCTT_NO) {
PARNTSCTT_NO = pARNTSCTT_NO;
}
public String getANSWER_LC() {
return ANSWER_LC;
}
public void setANSWER_LC(String aNSWER_LC) {
ANSWER_LC = aNSWER_LC;
}
public String getSORT_ORDR() {
return SORT_ORDR;
}
public void setSORT_ORDR(String sORT_ORDR) {
SORT_ORDR = sORT_ORDR;
}
public String getRDCNT() {
return RDCNT;
}
public void setRDCNT(String rDCNT) {
RDCNT = rDCNT;
}
public String getUSE_AT() {
return USE_AT;
}
public void setUSE_AT(String uSE_AT) {
USE_AT = uSE_AT;
}
public String getNTCE_BGNDE() {
return NTCE_BGNDE;
}
public void setNTCE_BGNDE(String nTCE_BGNDE) {
NTCE_BGNDE = nTCE_BGNDE;
}
public String getNTCE_ENDDE() {
return NTCE_ENDDE;
}
public void setNTCE_ENDDE(String nTCE_ENDDE) {
NTCE_ENDDE = nTCE_ENDDE;
}
public String getNTCR_ID() {
return NTCR_ID;
}
public void setNTCR_ID(String nTCR_ID) {
NTCR_ID = nTCR_ID;
}
public String getNTCR_NM() {
return NTCR_NM;
}
public void setNTCR_NM(String nTCR_NM) {
NTCR_NM = nTCR_NM;
}
public String getPASSWORD() {
return PASSWORD;
}
public void setPASSWORD(String pASSWORD) {
PASSWORD = pASSWORD;
}
public String getATCH_FILE_ID() {
return ATCH_FILE_ID;
}
public void setATCH_FILE_ID(String aTCH_FILE_ID) {
ATCH_FILE_ID = aTCH_FILE_ID;
}
public String getFRST_REGIST_PNTTM() {
return FRST_REGIST_PNTTM;
}
public void setFRST_REGIST_PNTTM(String fRST_REGIST_PNTTM) {
FRST_REGIST_PNTTM = fRST_REGIST_PNTTM;
}
public String getFRST_REGISTER_ID() {
return FRST_REGISTER_ID;
}
public void setFRST_REGISTER_ID(String fRST_REGISTER_ID) {
FRST_REGISTER_ID = fRST_REGISTER_ID;
}
public String getLAST_UPDT_PNTTM() {
return LAST_UPDT_PNTTM;
}
public void setLAST_UPDT_PNTTM(String lAST_UPDT_PNTTM) {
LAST_UPDT_PNTTM = lAST_UPDT_PNTTM;
}
public String getLAST_UPDUSR_ID() {
return LAST_UPDUSR_ID;
}
public void setLAST_UPDUSR_ID(String lAST_UPDUSR_ID) {
LAST_UPDUSR_ID = lAST_UPDUSR_ID;
}
public String getNOTICE_AT() {
return NOTICE_AT;
}
public void setNOTICE_AT(String nOTICE_AT) {
NOTICE_AT = nOTICE_AT;
}
public String getSECRET_AT() {
return SECRET_AT;
}
public void setSECRET_AT(String sECRET_AT) {
SECRET_AT = sECRET_AT;
}
public String getBBS_ID() {
return BBS_ID;
}
public void setBBS_ID(String bBS_ID) {
BBS_ID = bBS_ID;
}
}

View File

@ -0,0 +1,31 @@
package egovframework.migration.service;
import java.util.List;
import javax.annotation.Resource;
import org.springframework.stereotype.Repository;
import com.ibatis.sqlmap.client.SqlMapClient;
import egovframework.rte.psl.dataaccess.EgovAbstractDAO;
@Repository("KcdfNewDAO")
public class KcdfNewDAO extends EgovAbstractDAO {
@Override
@Resource(name ="kcdfSqlMapClient")
public void setSuperSqlMapClient(SqlMapClient sqlMapClient) {
super.setSuperSqlMapClient(sqlMapClient);
}
public int selectKcdfBasicCount() {
return (int)select("KcdfNewDAO.selectKcdfBasicCount");
}
@SuppressWarnings("unchecked")
public List<KcdfNewBbsVO> selectKcdfBbsList(KcdfNewBbsVO tempKcdfNewBbsVO) throws Exception{
return (List<KcdfNewBbsVO>)list("KcdfNewDAO.selectKcdfBbsList", tempKcdfNewBbsVO);
}
}

View File

@ -0,0 +1,126 @@
package egovframework.migration.service;
import java.util.ArrayList;
import java.util.List;
import javax.annotation.Resource;
import org.springframework.stereotype.Service;
@Service("MariaMigrationService")
public class MariaMigrationService {
@Resource(name = "KcdfNewDAO")
private KcdfNewDAO kcdfNewDAO;
@Resource(name = "NcmsDAO")
private NcmsDAO ncmsDAO;
public int selectOracleBasicCount() {
// TODO Auto-generated method stub
return 0;
}
public int selectMariaBasicCount() {
// TODO Auto-generated method stub
return 0;
}
public int selectOraclePublishCount() {
// TODO Auto-generated method stub
return 0;
}
public int selectMariaPublishCount() {
// TODO Auto-generated method stub
return 0;
}
public int selectOracleFileCount() {
// TODO Auto-generated method stub
return 0;
}
public int selectMariaFileCount() {
// TODO Auto-generated method stub
return 0;
}
public int selectOracleResrvationCount() {
// TODO Auto-generated method stub
return 0;
}
public int selectMariaResrvationCount() {
// TODO Auto-generated method stub
return 0;
}
public void selectOracleBasicList() {
// TODO Auto-generated method stub
}
public void selectOraclePublishList() {
// TODO Auto-generated method stub
}
public void selectOracleFileList() {
// TODO Auto-generated method stub
}
public void selectOracleResrvationList() {
// TODO Auto-generated method stub
}
public int selectKcdfBasicCount() {
return kcdfNewDAO.selectKcdfBasicCount();
}
public void kcdfMigration() {
try {
int selectKcdfBasicCount = kcdfNewDAO.selectKcdfBasicCount();
List<KcdfNewBbsVO> list = new ArrayList<KcdfNewBbsVO>();
KcdfNewBbsVO tempKcdfNewBbsVO = new KcdfNewBbsVO(); //limit 위해 사용
int enterval = 100;
int i = 0;
if(selectKcdfBasicCount > enterval){
for(i=0; i< selectKcdfBasicCount; i++){ //enterval 개씩 끊어서 insert
if (i % enterval == 0 ){ //0
tempKcdfNewBbsVO.setRecordCountPerPage(enterval);
tempKcdfNewBbsVO.setFirstIndex(i);
list = kcdfNewDAO.selectKcdfBbsList(tempKcdfNewBbsVO);
for(int j=0; j< list.size(); j++){
ncmsDAO.insertNcmsBbsInfo(list.get(j));
}
}
}
/*if(selectKcdfBasicCount != tempKcdfNewBbsVO.getFirstIndex()) { // enterval 개씩 끊어서 insert 남은 데이터 insert
tempKcdfNewBbsVO.setFirstIndex(selectKcdfBasicCount);
tempKcdfNewBbsVO.setRecordCountPerPage(enterval);
list = kcdfNewDAO.selectKcdfBbsList(tempKcdfNewBbsVO);
for(i=0; i< list.size(); i++){
kcdfNewDAO.insertNcmsBbsInfo(list.get(i));
}
}*/
}else{ //enterval 미만
tempKcdfNewBbsVO.setFirstIndex(0);
tempKcdfNewBbsVO.setRecordCountPerPage(enterval);
list = kcdfNewDAO.selectKcdfBbsList(tempKcdfNewBbsVO);
for(i=0; i< selectKcdfBasicCount; i++){
ncmsDAO.insertNcmsBbsInfo(list.get(i));
}
}
} catch (Exception e) {
System.err.println("migration Exception Error");
}
}
}

View File

@ -0,0 +1,16 @@
package egovframework.migration.service;
import org.springframework.stereotype.Repository;
import egovframework.rte.psl.dataaccess.EgovAbstractDAO;
@Repository("NcmsDAO")
public class NcmsDAO extends EgovAbstractDAO{
public void insertNcmsBbsInfo(KcdfNewBbsVO kcdfNewBbsVO) {
insert("NcmsDAO.insertNcmsBbsInfo",kcdfNewBbsVO);
}
}

View File

@ -0,0 +1,163 @@
package egovframework.migration.service;
import java.io.Serializable;
import kcc.com.cmm.ComDefaultVO;
public class NcmsVO extends ComDefaultVO implements Serializable{
String NTT_ID = "" ;
String NTT_NO = "" ;
String NTT_SJ = "" ;
String NTT_CN = "" ;
String ANSWER_AT = "" ;
String PARNTSCTT_NO = "" ;
String ANSWER_LC = "" ;
String SORT_ORDR = "" ;
String RDCNT = "" ;
String USE_AT = "" ;
String NTCE_BGNDE = "" ;
String NTCE_ENDDE = "" ;
String NTCR_ID = "" ;
String NTCR_NM = "" ;
String PASSWORD = "" ;
String ATCH_FILE_ID = "" ;
String FRST_REGIST_PNTTM = "" ;
String FRST_REGISTER_ID = "" ;
String LAST_UPDT_PNTTM = "" ;
String LAST_UPDUSR_ID = "" ;
String NOTICE_AT = "" ;
String SECRET_AT = "" ;
public String getNTT_ID() {
return NTT_ID;
}
public void setNTT_ID(String nTT_ID) {
NTT_ID = nTT_ID;
}
public String getNTT_NO() {
return NTT_NO;
}
public void setNTT_NO(String nTT_NO) {
NTT_NO = nTT_NO;
}
public String getNTT_SJ() {
return NTT_SJ;
}
public void setNTT_SJ(String nTT_SJ) {
NTT_SJ = nTT_SJ;
}
public String getNTT_CN() {
return NTT_CN;
}
public void setNTT_CN(String nTT_CN) {
NTT_CN = nTT_CN;
}
public String getANSWER_AT() {
return ANSWER_AT;
}
public void setANSWER_AT(String aNSWER_AT) {
ANSWER_AT = aNSWER_AT;
}
public String getPARNTSCTT_NO() {
return PARNTSCTT_NO;
}
public void setPARNTSCTT_NO(String pARNTSCTT_NO) {
PARNTSCTT_NO = pARNTSCTT_NO;
}
public String getANSWER_LC() {
return ANSWER_LC;
}
public void setANSWER_LC(String aNSWER_LC) {
ANSWER_LC = aNSWER_LC;
}
public String getSORT_ORDR() {
return SORT_ORDR;
}
public void setSORT_ORDR(String sORT_ORDR) {
SORT_ORDR = sORT_ORDR;
}
public String getRDCNT() {
return RDCNT;
}
public void setRDCNT(String rDCNT) {
RDCNT = rDCNT;
}
public String getUSE_AT() {
return USE_AT;
}
public void setUSE_AT(String uSE_AT) {
USE_AT = uSE_AT;
}
public String getNTCE_BGNDE() {
return NTCE_BGNDE;
}
public void setNTCE_BGNDE(String nTCE_BGNDE) {
NTCE_BGNDE = nTCE_BGNDE;
}
public String getNTCE_ENDDE() {
return NTCE_ENDDE;
}
public void setNTCE_ENDDE(String nTCE_ENDDE) {
NTCE_ENDDE = nTCE_ENDDE;
}
public String getNTCR_ID() {
return NTCR_ID;
}
public void setNTCR_ID(String nTCR_ID) {
NTCR_ID = nTCR_ID;
}
public String getNTCR_NM() {
return NTCR_NM;
}
public void setNTCR_NM(String nTCR_NM) {
NTCR_NM = nTCR_NM;
}
public String getPASSWORD() {
return PASSWORD;
}
public void setPASSWORD(String pASSWORD) {
PASSWORD = pASSWORD;
}
public String getATCH_FILE_ID() {
return ATCH_FILE_ID;
}
public void setATCH_FILE_ID(String aTCH_FILE_ID) {
ATCH_FILE_ID = aTCH_FILE_ID;
}
public String getFRST_REGIST_PNTTM() {
return FRST_REGIST_PNTTM;
}
public void setFRST_REGIST_PNTTM(String fRST_REGIST_PNTTM) {
FRST_REGIST_PNTTM = fRST_REGIST_PNTTM;
}
public String getFRST_REGISTER_ID() {
return FRST_REGISTER_ID;
}
public void setFRST_REGISTER_ID(String fRST_REGISTER_ID) {
FRST_REGISTER_ID = fRST_REGISTER_ID;
}
public String getLAST_UPDT_PNTTM() {
return LAST_UPDT_PNTTM;
}
public void setLAST_UPDT_PNTTM(String lAST_UPDT_PNTTM) {
LAST_UPDT_PNTTM = lAST_UPDT_PNTTM;
}
public String getLAST_UPDUSR_ID() {
return LAST_UPDUSR_ID;
}
public void setLAST_UPDUSR_ID(String lAST_UPDUSR_ID) {
LAST_UPDUSR_ID = lAST_UPDUSR_ID;
}
public String getNOTICE_AT() {
return NOTICE_AT;
}
public void setNOTICE_AT(String nOTICE_AT) {
NOTICE_AT = nOTICE_AT;
}
public String getSECRET_AT() {
return SECRET_AT;
}
public void setSECRET_AT(String sECRET_AT) {
SECRET_AT = sECRET_AT;
}
}

View File

@ -0,0 +1,81 @@
package egovframework.migration.web;
import java.util.Map;
import javax.annotation.Resource;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.servlet.ModelAndView;
import egovframework.migration.service.MariaMigrationService;
@Controller
public class MariaMigrationController {
@Resource(name = "MariaMigrationService")
private MariaMigrationService mariaMigrationService;
@RequestMapping(value="/maria/migration.do")
public String mariaTestPage(ModelMap model) throws Exception{
int selectKcdfBasicCount = mariaMigrationService.selectKcdfBasicCount();
mariaMigrationService.kcdfMigration();
/*List<OrcaleTestVO> list = orcalTestDAO.selectOracleBasicList();*/
mariaMigrationService.selectOracleBasicList();
int selectMariaBasicCount = mariaMigrationService.selectMariaBasicCount();
int selectOraclePublishCount = mariaMigrationService.selectOraclePublishCount();
int selectMariaPublishCount = mariaMigrationService.selectMariaPublishCount();
int selectOracleFileCount = mariaMigrationService.selectOracleFileCount();
int selectMariaFileCount = mariaMigrationService.selectMariaFileCount();
int selectOracleResrvationCount = mariaMigrationService.selectOracleResrvationCount();
int selectMariaResrvationCount = mariaMigrationService.selectMariaResrvationCount();
/*model.addAttribute("selectOracleBasicCount", selectOracleBasicCount );
model.addAttribute("selectMariaBasicCount", selectMariaBasicCount );
model.addAttribute("selectOraclePublishCount", selectOraclePublishCount );
model.addAttribute("selectMariaPublishCount", selectMariaPublishCount );
model.addAttribute("selectOracleFileCount", selectOracleFileCount );
model.addAttribute("selectMariaFileCount", selectMariaFileCount );
model.addAttribute("selectOracleResrvationCount", selectOracleResrvationCount );
model.addAttribute("selectMariaResrvationCount", selectMariaResrvationCount );*/
return "test/oracle/TestOracle";
}
@RequestMapping(value="/maria/dataBaseAjax.do")
public ModelAndView mariaDataBaseAjax(@RequestParam Map<String, Object> commandMap){
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("jsonView");
String type = (String) commandMap.get("type");
System.out.println("type : " + type);
if(type =="basic" || type.equals("basic")){
mariaMigrationService.selectOracleBasicList();
}else if(type =="Publish" || type.equals("Publish")){
mariaMigrationService.selectOraclePublishList();
}else if(type =="file" || type.equals("file")){
mariaMigrationService.selectOracleFileList();
}else if(type =="Resrvation" || type.equals("Resrvation")){
mariaMigrationService.selectOracleResrvationList();
}
modelAndView.addObject("result", "TEST");
return modelAndView;
}
}

View File

@ -0,0 +1,107 @@
package kcc.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);
}
@Override
protected void setParameterInternal(PreparedStatement ps, int index, Object value, String jdbcType, LobCreator lobCreator) throws SQLException {
lobCreator.setClobAsString(ps, index, (String) value);
}
@Override
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) {
System.out.println("IOException Occured!!!");
} finally {
if (rd != null) {
try {
rd.close();
} catch (Exception ignore) {
System.out.println("Exception Occured!!!");
}
}
}
return read_data.toString();
}
@Override
public Object valueOf(String s) {
return s;
}
}

View File

@ -0,0 +1,36 @@
package kcc.com.cmm;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import egovframework.rte.ptl.mvc.tags.ui.pagination.PaginationInfo;
import kcc.com.cmm.ComDefaultVO;
public class CmmUtil {
private static final Logger LOGGER = LoggerFactory.getLogger(CmmUtil.class);
/**
* 페이징 객체 생성
* @param tmpVO - extends ComDefaultVO
* @param paginationInfo
* @param searchListCnt - 목록 건수
* @param totCnt - 전체 건수
*/
public static PaginationInfo getPageing(Object tmpVO, int searchListCnt) {
PaginationInfo paginationInfo = new PaginationInfo();
ComDefaultVO vo = (ComDefaultVO) tmpVO;
vo.setPageUnit(searchListCnt);
paginationInfo.setCurrentPageNo(vo.getPageIndex());
paginationInfo.setRecordCountPerPage(vo.getPageUnit());
paginationInfo.setPageSize(vo.getPageSize());
vo.setFirstIndex(paginationInfo.getFirstRecordIndex());
vo.setLastIndex(paginationInfo.getLastRecordIndex());
vo.setRecordCountPerPage(paginationInfo.getRecordCountPerPage());
return paginationInfo;
}
}

View File

@ -0,0 +1,185 @@
package kcc.com.cmm;
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>
*/
@SuppressWarnings("serial")
public class ComDefaultCodeVO implements Serializable {
/** 코드 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,436 @@
package kcc.com.cmm;
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 = -6062858939907510631L;
/** 검색조건 */
private String searchCondition = "";
/** 검색Keyword */
private String searchKeyword = "";
/** 검색Keyword */
private String searchEncKeyword = "";
/** 검색사용여부 */
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 = "";
private String searchYear = "";
private String searchMonth2 = "";
private String searchQuarter = "";
/** 엑셀용 */
private String excelYn = "";
private String siteId = "";
private String siteNm = "";
private String searchConditionSite;
private String sortOver = "A"; //재정렬시 차순(A:오름차순 , D:내림차순)
private String seCd = ""; //게시판 구분 게시판ID추가 구분
private int sort = 0;
private int beSort = 0; //이전 sort번호
private int totCnt = 0;
private String searchSortCnd = ""; // 정렬 항목
private String searchSortOrd = ""; // 정렬 구분(오름/내림)
private String searchNm = ""; //상세검색 이름
private String tempSortNum ;
private String searchStartDt; //검색시작일
private String searchEndDt; //검색종료일
private String searchStatus; //진행상태
private String searchSelStatus; //셀렉트 진행상태
private String[] searchStatusArr; //검색상태
private String searchMonth = "1"; //검색월선택
private String searchSbmtId ; // 결제자 검색
public int getBeSort() {
return beSort;
}
public void setBeSort(int beSort) {
this.beSort = beSort;
}
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;
}
public String getSiteId() {
return siteId;
}
public void setSiteId(String siteId) {
this.siteId = siteId;
}
public String getSortOver() {
return sortOver;
}
public void setSortOver(String sortOver) {
this.sortOver = sortOver;
}
public String getSiteNm() {
return siteNm;
}
public void setSiteNm(String siteNm) {
this.siteNm = siteNm;
}
public String getSearchConditionSite() {
return searchConditionSite;
}
public void setSearchConditionSite(String searchConditionSite) {
this.searchConditionSite = searchConditionSite;
}
public String getSeCd() {
return seCd;
}
public void setSeCd(String seCd) {
this.seCd = seCd;
}
public int getSort() {
return sort;
}
public void setSort(int sort) {
this.sort = sort;
}
public int getTotCnt() {
return totCnt;
}
public void setTotCnt(int totCnt) {
this.totCnt = totCnt;
}
public String getSearchSortCnd() {
return searchSortCnd;
}
public void setSearchSortCnd(String searchSortCnd) {
this.searchSortCnd = searchSortCnd;
}
public String getSearchSortOrd() {
return searchSortOrd;
}
public void setSearchSortOrd(String searchSortOrd) {
this.searchSortOrd = searchSortOrd;
}
public String getTempSortNum() {
return tempSortNum;
}
public void setTempSortNum(String tempSortNum) {
this.tempSortNum = tempSortNum;
}
public String getSearchNm() {
return searchNm;
}
public void setSearchNm(String searchNm) {
this.searchNm = searchNm;
}
public static long getSerialversionuid() {
return serialVersionUID;
}
public String getSearchStartDt() {
return searchStartDt;
}
public void setSearchStartDt(String searchStartDt) {
this.searchStartDt = searchStartDt;
}
public String getSearchEndDt() {
return searchEndDt;
}
public void setSearchEndDt(String searchEndDt) {
this.searchEndDt = searchEndDt;
}
public String getSearchStatus() {
return searchStatus;
}
public void setSearchStatus(String searchStatus) {
this.searchStatus = searchStatus;
}
public String getSearchMonth() {
return searchMonth;
}
public void setSearchMonth(String searchMonth) {
this.searchMonth = searchMonth;
}
public String[] getSearchStatusArr() {
String[]returnArr;
//int returnSize = this.searchStatusArr.length;
int returnSize = 0;
try {
returnSize = this.searchStatusArr.length;
}catch(NullPointerException ex) {
System.out.println("NullPointerException");
//ex.printStackTrace();
}
/* FIX */
if(returnSize > 0){
returnArr = new String[returnSize];
for(int i=0; i < returnSize; i++){
returnArr[i] = this.searchStatusArr[i];
}
return returnArr;
}else{
return null;
}
//return searchStatusArr;
}
public void setSearchStatusArr(String[] searchStatusArr) {
this.searchStatusArr = searchStatusArr;
}
public String getExcelYn() {
return excelYn;
}
public void setExcelYn(String excelYn) {
this.excelYn = excelYn;
}
public String getSearchEncKeyword() {
return searchEncKeyword;
}
public void setSearchEncKeyword(String searchEncKeyword) {
this.searchEncKeyword = searchEncKeyword;
}
public String getSearchSelStatus() {
return searchSelStatus;
}
public void setSearchSelStatus(String searchSelStatus) {
this.searchSelStatus = searchSelStatus;
}
public String getSearchSbmtId() {
return searchSbmtId;
}
public void setSearchSbmtId(String searchSbmtId) {
this.searchSbmtId = searchSbmtId;
}
public String getSearchYear() {
return searchYear;
}
public void setSearchYear(String searchYear) {
this.searchYear = searchYear;
}
public String getSearchMonth2() {
return searchMonth2;
}
public void setSearchMonth2(String searchMonth2) {
this.searchMonth2 = searchMonth2;
}
public String getSearchQuarter() {
return searchQuarter;
}
public void setSearchQuarter(String searchQuarter) {
this.searchQuarter = searchQuarter;
}
}

View File

@ -0,0 +1,406 @@
package kcc.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)
public void release() {
super.release();
init();
}
// *********************************************************************
// Tag logic
// evaluates 'value' and determines if the body should be evaluted
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
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
*
*/
private String getWriteEscapedXml() throws IOException {
String sRtn = "";
Object obj = this.value;
@SuppressWarnings("unused")
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,35 @@
package kcc.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을 처리한다.
*/
@Override
public void occur(Exception ex, String packageName) {
LOGGER.debug("[HANDLER][PACKAGE]::: {}", packageName);
LOGGER.debug("[HANDLER][Exception]:::", ex);
}
}

View File

@ -0,0 +1,17 @@
package kcc.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 kcc.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);
/**
* 발생된 메시지를 출력한다.
*/
@Override
public void todo(Class<?> clazz, String message) {
LOGGER.debug("[TRACE]CLASS::: {}", clazz.getName());
LOGGER.debug("[TRACE]MESSAGE::: {}", message);
//이곳에서 후속처리로 필요한 액션을 취할 있다.
}
}

View File

@ -0,0 +1,55 @@
package kcc.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,175 @@
package kcc.com.cmm;
import java.io.Serializable;
import java.net.MalformedURLException;
import org.apache.commons.mail.DefaultAuthenticator;
import org.apache.commons.mail.Email;
import org.apache.commons.mail.EmailAttachment;
import org.apache.commons.mail.EmailException;
import org.apache.commons.mail.HtmlEmail;
import org.apache.commons.mail.MultiPartEmail;
import org.apache.commons.mail.SimpleEmail;
import org.springframework.mail.MailException;
/**
* 발송메일에 첨부파일용으로 사용되는 VO 클래스
* @author 공통서비스 개발팀 이기하
* @since 2011.12.06
* @version 1.0
* @see
*
* <pre>
* << 개정이력(Modification Information) >>
*
* 수정일 수정자 수정내용
* ---------- -------- ---------------------------
* 2011.12.06 이기하 최초 생성
* 2013.05.23 이기하 thread-safe 하게 변경
*
* </pre>
*/
public class EgovMultiPartEmail implements Serializable {
private static final long serialVersionUID = -4322006921324597283L;
private String id;
private String password;
private int port;
private String host;
private String emailAddress;
private String senderName;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public int getPort() {
return port;
}
public void setPort(int port) {
this.port = port;
}
public String getHost() {
return host;
}
public void setHost(String host) {
this.host = host;
}
public String getEmailAddress() {
return emailAddress;
}
public void setEmailAddress(String emailAddress) {
this.emailAddress = emailAddress;
}
public String getSenderName() {
return senderName;
}
public void setSenderName(String senderName) {
this.senderName = senderName;
}
@Deprecated
public String send() throws EmailException {
MultiPartEmail email = new MultiPartEmail();
email.setCharset("UTF-8");
email.setHostName(this.host);
email.setSmtpPort(this.port);
email.setStartTLSEnabled(true);
email.setAuthenticator(new DefaultAuthenticator(this.id, this.password));
email.setSocketConnectionTimeout(60000);
email.setSocketTimeout(60000);
email.setFrom(this.emailAddress, this.senderName);
return email.send();
}
// Simple 메일
public String send(String addTo, String subject, String msg) throws Exception {
SimpleEmail email = new SimpleEmail();
setEmailInfo(addTo, subject, msg, email);
return email.send();
}
// HTML 메일
public String send(String addTo, String subject, String textMsg, String htmlMsg) throws MailException, MalformedURLException {
String result = "";
try {
HtmlEmail email = new HtmlEmail();
// 3번째 파라미터 'html' 의미 없음. 문자 없으면 error
setEmailInfo(addTo, subject, "html", email);
email.setHtmlMsg(htmlMsg);
// HTML 이메일을 지원하지 않는 클라이언트라면 다음 메세지를 뿌려웁니다
email.setTextMsg("Your email client does not support HTML messages");
// email.setTextMsg(textMsg);
// 이미지 Sample
// 삽입할 이미지와 Content Id를 설정합니다. URL 이미지 사용 메일전송 지연될 있음
// URL url = new URL("https://www.google.co.kr/images/branding/googlelogo/2x/googlelogo_color_120x44dp.png");
// String cid = email.embed(url, "Apache logo");
// // HTML 메세지를 설정합니다
// email.setHtmlMsg("<html>The apache logo - <img src=\"cid:"+cid+"\"></html>");
result = email.send();
} catch (EmailException e) {
System.out.println("EmailException Occured!!!");
}
return result;
}
// 파일첨부 메일
public String send(String addTo, String subject, String msg, EmailAttachment attachment) throws Exception {
MultiPartEmail email = new MultiPartEmail();
setEmailInfo(addTo, subject, msg, email);
if (attachment != null) {
email.attach(attachment);
}
return email.send();
}
private void setEmailInfo(String addTo, String subject, String msg, Email email) throws EmailException {
// 테스트 네이버s
email.setAuthenticator(new DefaultAuthenticator(this.id, this.password));
email.setStartTLSEnabled(true);
email.setSSLOnConnect(true);
// 테스트 네이버e
email.setCharset("UTF-8");
email.setHostName(this.host);
email.setSmtpPort(this.port);
email.setSocketConnectionTimeout(60000);
email.setSocketTimeout(60000);
email.setFrom(this.emailAddress, this.senderName);
email.addTo(addTo);
email.setSubject(subject);
email.setMsg(msg);
}
}

View File

@ -0,0 +1,109 @@
package kcc.com.cmm;
import java.util.regex.Pattern;
/**
* 교차접속 스크립트 공격 취약성 방지(파라미터 문자열 교체)
*
* <pre>
* << 개정이력(Modification Information) >>
*
* 수정일 수정자 수정내용
* ------- -------- ---------------------------
* 2011.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("\\.\\./", ""); // ../
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 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,63 @@
package kcc.com.cmm;
import javax.servlet.ServletContext;
import org.springframework.web.context.ServletContextAware;
import egovframework.rte.ptl.mvc.tags.ui.pagination.AbstractPaginationRenderer;
/**
* 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() {
// no-op
}
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>";*/
/*firstPageLabel = "<li><input type='button' class='pageFirst' onclick=\"{0}({1});return false;\"></li>";
previousPageLabel = "<li><input type='button' class='pageBefore' onclick=\"{0}({1});return false;\"></li>";
currentPageLabel = "<li><strong style='font-weight:bold;'>{0}</strong></li>";
otherPageLabel = "<li onclick=\"{0}({1});return false;\" style='cursor:pointer'>{2}</li>";
nextPageLabel = "<li><input type='button' class='pageNext' onclick=\"{0}({1});return false;\"></li>";
lastPageLabel = "<li><input type='button' class='pageLast' onclick=\"{0}({1});return false;\"></li>";*/
firstPageLabel = "<button class='btn_page_first' title='첫 페이지 이동' onclick=\"{0}({1});return false;\"><i></i></button>";
previousPageLabel = "<button class='btn_page_prev' title='이전 페이지 이동' onclick=\"{0}({1});return false;\"><i></i></button>";
currentPageLabel = "<button class='on' title=\"현재 {0}페이지\" onclick='return false;' disabled>{0}</button>";
otherPageLabel = "<button title=\"{1} 페이지 이동\" onclick=\"{0}({1});return false;\">{2}</button>";
nextPageLabel = "<button class='btn_page_next' title='다음 페이지 이동' onclick=\"{0}({1});return false;\"><i></i></button>";
lastPageLabel = "<button class='btn_page_last' title='마지막 페이지 이동' onclick=\"{0}({1});return false;\"><i></i></button>";
}
@Override
public void setServletContext(ServletContext servletContext) {
this.servletContext = servletContext;
initVariables();
}
}

View File

@ -0,0 +1,54 @@
package kcc.com.cmm;
import javax.servlet.ServletContext;
import org.springframework.web.context.ServletContextAware;
import egovframework.rte.ptl.mvc.tags.ui.pagination.AbstractPaginationRenderer;
/**
* ImagePaginationRenderer.java 클래스
*
* @author 서준식
* @since 2011. 9. 16.
* @version 1.0
* @see
*
* <pre>
* << 개정이력(Modification Information) >>
*
* 수정일 수정자 수정내용
* ------- ------------- ----------------------
* 2011. 9. 16. 서준식 이미지 경로에 ContextPath추가
* </pre>
*/
public class ImagePaginationRendererWeb extends AbstractPaginationRenderer implements ServletContextAware{
private ServletContext servletContext;
public ImagePaginationRendererWeb() {
// no-op
}
public void initVariables(){
/*firstPageLabel = "<li><a href='#' title='첫페이지' onclick=\"{0}({1});return false;\"><img src=\"/publish/image/board/arrowLeft2.png\" alt=\"첫페이지\"></a></li>";
previousPageLabel = "<li><a href='#' title='이전10페이지' onclick=\"{0}({1});return false;\"><img src=\"/publish/image/board/arrowLeft.png\" alt=\"이전10페이지\"></a></li>";
currentPageLabel = "<li class='active'><a href='#' title='현재페이지'>{0}</a></li>";
otherPageLabel = "<li><a href='#' title={2}페이지 onclick=\"{0}({1});return false;\">{2}</a></li>";
nextPageLabel = "<li><a href='#' title='다음10페이지' onclick=\"{0}({1});return false;\"><img src=\"/publish/image/board/arrowRight.png\" alt=\"다음10페이지\"></a></li>";
lastPageLabel = "<li><a href='#' title='마지막페이지' onclick=\"{0}({1});return false;\"><img src=\"/publish/image/board/arrowRight2.png\" alt=\"마지막페이지\"></a></li>";*/
firstPageLabel = "<button class='btn_page_first' title='첫 페이지 이동' onclick=\"{0}({1});return false;\"><i></i></button>";
previousPageLabel = "<button class='btn_page_prev' title='이전 페이지 이동' onclick=\"{0}({1});return false;\"><i></i></button>";
currentPageLabel = "<button class='on' title=\"현재 {0}페이지\" onclick='return false;' disabled>{0}</button>";
otherPageLabel = "<button title=\"{1} 페이지 이동\" onclick=\"{0}({1});return false;\">{2}</button>";
nextPageLabel = "<button class='btn_page_next' title='다음 페이지 이동' onclick=\"{0}({1});return false;\"><i></i></button>";
lastPageLabel = "<button class='btn_page_last' title='마지막 페이지 이동' onclick=\"{0}({1});return false;\"><i></i></button>";
}
@Override
public void setServletContext(ServletContext servletContext) {
this.servletContext = servletContext;
initVariables();
}
}

View File

@ -0,0 +1,407 @@
package kcc.com.cmm;
import java.io.Serializable;
/**
* @Class Name : LoginVO.java
* @Description : Login VO class
* @Modification Information
* @
* @ 수정일 수정자 수정내용
* @ ------- -------- ---------------------------
* @ 2009.03.03 박지욱 최초 생성
*
* @author 공통서비스 개발팀 박지욱
* @since 2009.03.03
* @version 1.0
* @see
*
*/
public class LoginVO implements Serializable{
/**
*
*/
private static final long serialVersionUID = -8274004534207618049L;
/** 아이디 */
private String id;
/** 이름 */
private String name;
/** 주민등록번호 */
private String ihidNum;
/** 이메일주소 */
private String email;
/** 비밀번호 */
private String password;
/** 비밀번호 */
private String password2;
/** 비밀번호 힌트 */
private String passwordHint;
/** 비밀번호 정답 */
private String passwordCnsr;
/** 사용자구분 */
private String userSe;
/** 조직(부서)ID */
private String orgnztId;
/** 조직(부서)명 */
private String orgnztNm;
/** 고유아이디 */
private String uniqId;
/** 로그인 후 이동할 페이지 */
private String url;
/** 사용자 IP정보 */
private String ip;
/** GPKI인증 DN */
private String dn;
private String siteId;
private String siteNm;
private String authority;
/** 로그인 후 리턴 url */
private String beforeUrl;
/** 회원탈퇴 사유 */
private String message;
private int passMiss;
/** 등록안된 사용자도 검색(값이 있으면 모두 조회) */
private String statusAll;
private String emplyrSttusCode; //상태코드
private int snsIdCnt = 0;
private String snsSite;
private String snsId; // SNS 회원정보 ID
private String snsEmail;
private String tel;
private String orgnztNo;
private String orgnztPosi ;
private String emplNo ;
private String userWork ;
/*회원 아이디*/
private String membId;
/*회원 이름*/
private String membName;
/*회원 시퀀스*/
private String membSeq;
/*회원 Ci*/
private String membCi;
/*회원 이메일*/
private String membEmail;
/*회원 휴대폰번호*/
private String membCelnum;
/*회원 생년월일 형식 : YYYY-MM-DD*/
private String membBirth;
/*회원 SMS 수신 여부 Y:수신, N:미수신*/
private String membSmsRecpYn;
/*회원 이메일 수신 여부 Y:수신, N:미수신*/
private String membEmailRecpYn;
/*회원 성별 코드*/
private String sexCode;
/*분쟁조정 회원 구분 코드 010000 : 분쟁조정 회원 구분 코드*/
private String dispsettMembDivisCode;
/*법인번호 형식 : 000000-0000000*/
private String corpnum;
/*사업자 등록번호 형식 : 000-00-00000*/
private String buisnRegnum;
/*회사 명*/
private String compTitle;
private String isSelect;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getIhidNum() {
return ihidNum;
}
public void setIhidNum(String ihidNum) {
this.ihidNum = ihidNum;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getPassword2() {
return password2;
}
public void setPassword2(String password2) {
this.password2 = password2;
}
public String getPasswordHint() {
return passwordHint;
}
public void setPasswordHint(String passwordHint) {
this.passwordHint = passwordHint;
}
public String getPasswordCnsr() {
return passwordCnsr;
}
public void setPasswordCnsr(String passwordCnsr) {
this.passwordCnsr = passwordCnsr;
}
public String getUserSe() {
return userSe;
}
public void setUserSe(String userSe) {
this.userSe = userSe;
}
public String getOrgnztId() {
return orgnztId;
}
public void setOrgnztId(String orgnztId) {
this.orgnztId = orgnztId;
}
public String getOrgnztNm() {
return orgnztNm;
}
public void setOrgnztNm(String orgnztNm) {
this.orgnztNm = orgnztNm;
}
public String getUniqId() {
return uniqId;
}
public void setUniqId(String uniqId) {
this.uniqId = uniqId;
}
public String getUrl() {
return url;
}
public void setUrl(String url) {
this.url = url;
}
public String getIp() {
return ip;
}
public void setIp(String ip) {
this.ip = ip;
}
public String getDn() {
return dn;
}
public void setDn(String dn) {
this.dn = dn;
}
public String getSiteId() {
return siteId;
}
public void setSiteId(String siteId) {
this.siteId = siteId;
}
public String getSiteNm() {
return siteNm;
}
public void setSiteNm(String siteNm) {
this.siteNm = siteNm;
}
public String getAuthority() {
return authority;
}
public void setAuthority(String authority) {
this.authority = authority;
}
public String getBeforeUrl() {
return beforeUrl;
}
public void setBeforeUrl(String beforeUrl) {
this.beforeUrl = beforeUrl;
}
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
public int getPassMiss() {
return passMiss;
}
public void setPassMiss(int passMiss) {
this.passMiss = passMiss;
}
public String getStatusAll() {
return statusAll;
}
public void setStatusAll(String statusAll) {
this.statusAll = statusAll;
}
public String getEmplyrSttusCode() {
return emplyrSttusCode;
}
public void setEmplyrSttusCode(String emplyrSttusCode) {
this.emplyrSttusCode = emplyrSttusCode;
}
public int getSnsIdCnt() {
return snsIdCnt;
}
public void setSnsIdCnt(int snsIdCnt) {
this.snsIdCnt = snsIdCnt;
}
public String getSnsSite() {
return snsSite;
}
public void setSnsSite(String snsSite) {
this.snsSite = snsSite;
}
public String getSnsId() {
return snsId;
}
public void setSnsId(String snsId) {
this.snsId = snsId;
}
public String getSnsEmail() {
return snsEmail;
}
public void setSnsEmail(String snsEmail) {
this.snsEmail = snsEmail;
}
public String getTel() {
return tel;
}
public void setTel(String tel) {
this.tel = tel;
}
public String getOrgnztNo() {
return orgnztNo;
}
public void setOrgnztNo(String orgnztNo) {
this.orgnztNo = orgnztNo;
}
public String getOrgnztPosi() {
return orgnztPosi;
}
public void setOrgnztPosi(String orgnztPosi) {
this.orgnztPosi = orgnztPosi;
}
public String getEmplNo() {
return emplNo;
}
public void setEmplNo(String emplNo) {
this.emplNo = emplNo;
}
public String getUserWork() {
return userWork;
}
public void setUserWork(String userWork) {
this.userWork = userWork;
}
public static long getSerialversionuid() {
return serialVersionUID;
}
public String getMembSeq() {
return membSeq;
}
public void setMembSeq(String membSeq) {
this.membSeq = membSeq;
}
public String getMembId() {
return membId;
}
public void setMembId(String membId) {
this.membId = membId;
}
public String getMembName() {
return membName;
}
public void setMembName(String membName) {
this.membName = membName;
}
public String getMembCi() {
return membCi;
}
public void setMembCi(String membCi) {
this.membCi = membCi;
}
public String getMembEmail() {
return membEmail;
}
public void setMembEmail(String membEmail) {
this.membEmail = membEmail;
}
public String getMembCelnum() {
return membCelnum;
}
public void setMembCelnum(String membCelnum) {
this.membCelnum = membCelnum;
}
public String getMembBirth() {
return membBirth;
}
public void setMembBirth(String membBirth) {
this.membBirth = membBirth;
}
public String getMembSmsRecpYn() {
return membSmsRecpYn;
}
public void setMembSmsRecpYn(String membSmsRecpYn) {
this.membSmsRecpYn = membSmsRecpYn;
}
public String getMembEmailRecpYn() {
return membEmailRecpYn;
}
public void setMembEmailRecpYn(String membEmailRecpYn) {
this.membEmailRecpYn = membEmailRecpYn;
}
public String getSexCode() {
return sexCode;
}
public void setSexCode(String sexCode) {
this.sexCode = sexCode;
}
public String getDispsettMembDivisCode() {
return dispsettMembDivisCode;
}
public void setDispsettMembDivisCode(String dispsettMembDivisCode) {
this.dispsettMembDivisCode = dispsettMembDivisCode;
}
public String getCorpnum() {
return corpnum;
}
public void setCorpnum(String corpnum) {
this.corpnum = corpnum;
}
public String getBuisnRegnum() {
return buisnRegnum;
}
public void setBuisnRegnum(String buisnRegnum) {
this.buisnRegnum = buisnRegnum;
}
public String getCompTitle() {
return compTitle;
}
public void setCompTitle(String compTitle) {
this.compTitle = compTitle;
}
public String getIsSelect() {
return isSelect;
}
public void setIsSelect(String isSelect) {
this.isSelect = isSelect;
}
}

View File

@ -0,0 +1,39 @@
package kcc.com.cmm;
import java.io.Serializable;
public class ReadVO implements Serializable {
private String menuNo = ""; //메뉴 번호
private String readId = ""; //읽음처리 ID
private String loginId = "";//로그인 ID
public String getMenuNo() {
return menuNo;
}
public void setMenuNo(String menuNo) {
this.menuNo = menuNo;
}
public String getReadId() {
return readId;
}
public void setReadId(String readId) {
this.readId = readId;
}
public String getLoginId() {
return loginId;
}
public void setLoginId(String loginId) {
this.loginId = loginId;
}
}

View File

@ -0,0 +1,121 @@
package kcc.com.cmm;
import java.io.Serializable;
/**
* 세션 VO 클래스
* @author 공통서비스 개발팀 박지욱
* @since 2009.03.06
* @version 1.0
* @see
*
* <pre>
* << 개정이력(Modification Information) >>
*
* 수정일 수정자 수정내용
* ------- -------- ---------------------------
* 2009.03.06 박지욱 최초 생성
*
* </pre>
*/
public class SessionVO implements Serializable {
private static final long serialVersionUID = -2848741427493626376L;
/** 아이디 */
private String sUserId;
/** 이름 */
private String sUserNm;
/** 이메일 */
private String sEmail;
/** 사용자구분 */
private String sUserSe;
/** 조직(부서)ID */
private String orgnztId;
/** 고유아이디 */
private String uniqId;
/**
* sUserId attribute 리턴한다.
* @return String
*/
public String getSUserId() {
return sUserId;
}
/**
* sUserId attribute 값을 설정한다.
* @param sUserId String
*/
public void setSUserId(String userId) {
sUserId = userId;
}
/**
* sUserNm attribute 리턴한다.
* @return String
*/
public String getSUserNm() {
return sUserNm;
}
/**
* sUserNm attribute 값을 설정한다.
* @param sUserNm String
*/
public void setSUserNm(String userNm) {
sUserNm = userNm;
}
/**
* sEmail attribute 리턴한다.
* @return String
*/
public String getSEmail() {
return sEmail;
}
/**
* sEmail attribute 값을 설정한다.
* @param sEmail String
*/
public void setSEmail(String email) {
sEmail = email;
}
/**
* sUserSe attribute 리턴한다.
* @return String
*/
public String getSUserSe() {
return sUserSe;
}
/**
* sUserSe attribute 값을 설정한다.
* @param sUserSe String
*/
public void setSUserSe(String userSe) {
sUserSe = userSe;
}
/**
* orgnztId attribute 리턴한다.
* @return String
*/
public String getOrgnztId() {
return orgnztId;
}
/**
* orgnztId attribute 값을 설정한다.
* @param orgnztId String
*/
public void setOrgnztId(String orgnztId) {
this.orgnztId = orgnztId;
}
/**
* uniqId attribute 리턴한다.
* @return String
*/
public String getUniqId() {
return uniqId;
}
/**
* uniqId attribute 값을 설정한다.
* @param uniqId String
*/
public void setUniqId(String uniqId) {
this.uniqId = uniqId;
}
}

View File

@ -0,0 +1,149 @@
package kcc.com.cmm;
import java.io.Serializable;
/**
* @Class Name : UserVO.java
* @Description : Login VO class
* @Modification Information
* @
* @ 수정일 수정자 수정내용
* @ ------- -------- ---------------------------
* @ 2018.09.27 ITN 최초 생성
*
* @author ITN
* @since 2018.09.27
* @version 1.0
* @see
*
*/
public class UserVO implements Serializable{
/**
*
*/
private static final long serialVersionUID = 1L;
/** 이름 */
private String name;
/** 이메일주소 */
private String email;
/** 사용자구분 */
private String userSe;
/** 고유아이디 */
private String uniqId;
/** 로그인 후 이동할 페이지 */
private String url;
/** 사용자 IP정보 */
private String ip;
/** GPKI인증 DN */
private String dn;
/** 핸드폰인증 DN */
private String mblDn;
private String authority;
/**
* @return the name
*/
public String getName() {
return name;
}
/**
* @param name the name to set
*/
public void setName(String name) {
this.name = name;
}
/**
* @return the email
*/
public String getEmail() {
return email;
}
/**
* @param email the email to set
*/
public void setEmail(String email) {
this.email = email;
}
/**
* @return the userSe
*/
public String getUserSe() {
return userSe;
}
/**
* @param userSe the userSe to set
*/
public void setUserSe(String userSe) {
this.userSe = userSe;
}
/**
* @return the uniqId
*/
public String getUniqId() {
return uniqId;
}
/**
* @param uniqId the uniqId to set
*/
public void setUniqId(String uniqId) {
this.uniqId = uniqId;
}
/**
* @return the url
*/
public String getUrl() {
return url;
}
/**
* @param url the url to set
*/
public void setUrl(String url) {
this.url = url;
}
/**
* @return the ip
*/
public String getIp() {
return ip;
}
/**
* @param ip the ip to set
*/
public void setIp(String ip) {
this.ip = ip;
}
/**
* @return the dn
*/
public String getDn() {
return dn;
}
/**
* @param dn the dn to set
*/
public void setDn(String dn) {
this.dn = dn;
}
/**
* @return the mblDn
*/
public String getMblDn() {
return mblDn;
}
/**
* @param mblDn the mblDn to set
*/
public void setMblDn(String mblDn) {
this.mblDn = mblDn;
}
public String getAuthority() {
return authority;
}
public void setAuthority(String authority) {
this.authority = authority;
}
}

View File

@ -0,0 +1,115 @@
package kcc.com.cmm.aspect;
import java.util.Enumeration;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import org.aspectj.lang.ProceedingJoinPoint;
import org.json.simple.JSONObject;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
import org.springframework.web.servlet.ModelAndView;
import com.google.common.collect.Lists;
import kcc.com.cmm.util.IpUtil;
@Component
public class LoggerAspect {
private static final Logger log = LoggerFactory.getLogger(LoggerAspect.class);
public Object methodLogger(ProceedingJoinPoint proceedingJoinPoint) throws Throwable {
StringBuffer logBuffer = new StringBuffer();
List<Object> logList = Lists.newArrayList();
Object result = null;
try {
HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest(); // request 정보를 가져온다.
String controllerName = proceedingJoinPoint.getSignature().getDeclaringType().getSimpleName();
String methodName = proceedingJoinPoint.getSignature().getName();
logBuffer.append("\n┌ [●●●●●●●●●●●● 요청정보 ●●●●●●●●●●]\n");
logBuffer.append("│ [Method] URL : [{}] {}\n");
logList.add(request.getMethod());
logList.add(request.getRequestURI());
logBuffer.append("│ Request IP : {}\n");
logList.add(IpUtil.getClientIP(request));
logBuffer.append("│ Request Browser : {}\n");
logList.add(IpUtil.getBrowser(request));
logBuffer.append("│ Controller : [{}] - [{}] \n");
logList.add(controllerName);
logList.add(methodName);
/*logBuffer.append("│ 요청Param : {}\n");
logList.add(getParams(request));*/
long start = System.currentTimeMillis();
result = proceedingJoinPoint.proceed();
long end = System.currentTimeMillis();
logBuffer.append("│ Time : [{}] sec\n");
logList.add( (double)(end - start)/1000d );
if( result instanceof ModelAndView ) {
logBuffer.append("│ Result : {}\n");
logList.add(result);
}else if( result instanceof String ) {
logBuffer.append("│ View : {}\n");
logList.add(result);
} else {
logBuffer.append("│ Result : {}\n");
logList.add(result);
}
proceedingJoinPoint.getArgs();
logBuffer.append("└ [●●●●●●●●●●●●●●●●●●●●●●●●●●●●]");
if(result!=null && result.toString().indexOf("web/com")<0
&& result.toString().indexOf("main/inc")<0
) { // heder, footer, navi 로그는 찍지 않음.
log.info(logBuffer.toString(), logList.toArray());
}
return result;
} catch (Throwable throwable) {
logBuffer.append("└ [●●●●●●●●●●●●●●●●●●●●●●●●●●●●]");
log.info(logBuffer.toString(), logList.toArray());
System.out.println("Throwable Log ::: ");
throw throwable;
}
}
/**
* request 담긴 정보를 JSONObject 형태로 반환한다.
*
* @param request
* @return
*/
@SuppressWarnings("unchecked")
private static JSONObject getParams(HttpServletRequest request) {
JSONObject jsonObject = new JSONObject();
Enumeration<String> params = request.getParameterNames();
while (params.hasMoreElements()) {
String param = params.nextElement();
String replaceParam = param.replaceAll("\\.", "-");
jsonObject.put(replaceParam, request.getParameter(param));
}
return jsonObject;
}
}

View File

@ -0,0 +1,40 @@
package kcc.com.cmm.captcha;
import java.io.IOException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import nl.captcha.Captcha;
import nl.captcha.audio.AudioCaptcha;
import nl.captcha.audio.producer.VoiceProducer;
import nl.captcha.servlet.CaptchaServletUtil;
public class AudioCaptCha {
public void getAudioCaptCha(HttpServletRequest req, HttpServletResponse resp, String answer) throws IOException
{
HttpSession session = req.getSession();
Captcha captcha = (Captcha) session.getAttribute(Captcha.NAME);
String getAnswer = answer;
AudioCaptcha audiocaptcha = null;
if ( getAnswer == null || "".equals(getAnswer) ) getAnswer = captcha.getAnswer();
String lan = req.getParameter("lan");
if( lan != null && "kor".equals(lan)) {
VoiceProducer vProd = new SetKorVoiceProducer(); //한글 음성을 생성해주는 객체 생성
audiocaptcha = new AudioCaptcha.Builder()
.addAnswer(new SetTextProducer(getAnswer))
.addVoice(vProd) //한글음성생성기를 AudioCaptcha에 적용
.addNoise()
.build();
} else {
audiocaptcha = new AudioCaptcha.Builder()
.addAnswer(new SetTextProducer(getAnswer))
.addNoise()
.build();
}
String agent = req.getParameter("agent"); //브라우저마다 응답을 달리해야할경우 이용.
CaptchaServletUtil.writeAudio(resp, audiocaptcha.getChallenge());
}
}

View File

@ -0,0 +1,66 @@
package kcc.com.cmm.captcha;
import static nl.captcha.Captcha.NAME;
import java.awt.Color;
import java.awt.Font;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import nl.captcha.Captcha;
import nl.captcha.backgrounds.GradiatedBackgroundProducer;
import nl.captcha.gimpy.DropShadowGimpyRenderer;
import nl.captcha.servlet.CaptchaServletUtil;
import nl.captcha.text.producer.NumbersAnswerProducer;
import nl.captcha.text.renderer.DefaultWordRenderer;
public class CaptCha {
private static final long serialVersionUID = 1L;
private static int _width = 150; //이미지 가로크기
private static int _height = 50; //이미지 높이
private static int _fontsize = 44; //폰트크기
public CaptCha() {
super();
}
public void getCaptCha(HttpServletRequest req, HttpServletResponse resp)
throws IOException {
try {
// 폰트 설정 =========================================================
List<Font> fontList = new ArrayList<Font>();
fontList.add(new Font("", Font.HANGING_BASELINE, 40));//
fontList.add(new Font("Courier", Font.ITALIC, 40));
fontList.add(new Font("", Font.PLAIN, 40));
List<Color> colorList = new ArrayList<Color>();
// colorList.add(Color.green);
// colorList.add(Color.pink);
// colorList.add(Color.gray);
colorList.add(Color.black);
// colorList.add(Color.blue);
// 폰트 설정 =========================================================
Captcha captcha = new Captcha.Builder( _width, _height)
// .addText(wordRenderer)
.addText(new NumbersAnswerProducer(6), //6자리 숫자로 문자를 추가
new DefaultWordRenderer(colorList, fontList)) //글자 꾸미기(색상, 폰트)
.gimp(new DropShadowGimpyRenderer()).gimp()
// BlockGimpyRenderer,FishEyeGimpyRenderer,RippleGimpyRenderer,ShearGimpyRenderer,StretchGimpyRenderer
.addNoise().addNoise().addBorder()
.addBackground(new GradiatedBackgroundProducer())
// FlatColorBackgroundProducer,SquigglesBackgroundProducer,TransparentBackgroundProducer
.build();
req.getSession().setAttribute(NAME, captcha);
CaptchaServletUtil.writeImage(resp, captcha.getImage());
} catch (Exception e) {
System.out.println("Exception Occured!!!");
}
}
}

View File

@ -0,0 +1,59 @@
package kcc.com.cmm.captcha;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import nl.captcha.Captcha;
import nl.captcha.audio.AudioCaptcha;
import nl.captcha.audio.producer.VoiceProducer;
import nl.captcha.backgrounds.GradiatedBackgroundProducer;
import nl.captcha.servlet.CaptchaServletUtil;
import nl.captcha.text.producer.NumbersAnswerProducer;
public class CaptchaUtil {
public CaptchaUtil() {
}
public void captchaImg(HttpServletRequest request, HttpServletResponse response){
Captcha captcha = new Captcha.Builder(200, 60)
.addText(new NumbersAnswerProducer(6))
.addNoise().addNoise().addNoise()
.addBackground(new GradiatedBackgroundProducer())
.addBorder()
.build();
response.setHeader("Cache-Control", "no-cache");
response.setDateHeader("Expires", 0);
response.setHeader("Pragma", "no-cache");
response.setDateHeader("Max-Age", 0);
response.setContentType("image/png");
CaptchaServletUtil.writeImage(response, captcha.getImage());;
request.getSession().setAttribute("captcha", captcha.getAnswer());
}
public void captchaAudio(HttpServletRequest request, HttpServletResponse response){
String getAnswer = (String) request.getSession().getAttribute("captcha");
VoiceProducer vProd = new SetKorVoiceProducer(); //한글 음성을 생성해주는 객체 생성
/* AudioCaptcha ac = new AudioCaptcha.Builder()
.addAnswer(new SetTextProducer(getAnswer))
.addVoice()
.addNoise()
.build();*/
AudioCaptcha ac = new AudioCaptcha.Builder()
.addAnswer(new SetTextProducer(getAnswer))
.addVoice(vProd)
.addNoise()
.build() ;
response.setHeader("Cache-Control", "no-cache");
response.setDateHeader("Expires", 0);
response.setHeader("Pragma", "no-cache");
response.setDateHeader("Max-Age", 0);
CaptchaServletUtil.writeAudio(response, ac.getChallenge());;
request.getSession().setAttribute("captcha", ac.getAnswer());
}
}

View File

@ -0,0 +1,50 @@
package kcc.com.cmm.captcha;
import java.util.HashMap;
import java.util.Map;
import nl.captcha.audio.Sample;
import nl.captcha.audio.producer.VoiceProducer;
import nl.captcha.util.FileUtil;
public class SetKorVoiceProducer implements VoiceProducer
{
private static final Map<Integer, String> DEFAULT_VOICES_MAP;
static {
DEFAULT_VOICES_MAP = new HashMap<Integer, String>();
StringBuilder sb;
for (int i = 0; i < 10; i++) {
sb = new StringBuilder("/sounds/ko/numbers/");
sb.append(i);
sb.append(".wav");
DEFAULT_VOICES_MAP.put(i, sb.toString());
}
}
private final Map<Integer, String> _voices;
public SetKorVoiceProducer() {
this(DEFAULT_VOICES_MAP);
}
public SetKorVoiceProducer(Map<Integer, String> voices) {
_voices = voices;
}
@Override
public Sample getVocalization(char num) {
try {
Integer.parseInt(num + "");
} catch (NumberFormatException e) {
throw new IllegalArgumentException("Expected <num> to be a number, got '" + num + "' instead.",e);
}
int idx = Integer.parseInt(num + "");
String filename = _voices.get(idx);
return FileUtil.readSample(filename);
}
}

View File

@ -0,0 +1,19 @@
package kcc.com.cmm.captcha;
/**
* 전달받은 문자열을 그대로 오디오캡차가 이용할수있도록 생성한 클래스
*/
import nl.captcha.text.producer.TextProducer;
public class SetTextProducer implements TextProducer {
private final String _getAnswer;
public SetTextProducer(String getAnswer){
_getAnswer = getAnswer;
}
@Override
public String getText() {
return _getAnswer;
}
}

View File

@ -0,0 +1,80 @@
package kcc.com.cmm.exception;
public class BaseException extends RuntimeException {
private static final long serialVersionUID = 3500875284669187163L;
private BaseModelCode baseModelCode;
private Object [] params;
public BaseException() {
super();
}
public BaseException(String message) {
super(message);
}
public BaseException(String message, Throwable cause) {
super(message, cause);
}
public BaseException(Throwable cause) {
super(cause);
}
public BaseException(BaseModelCode baseModelCode, Object ... params) {
this.baseModelCode = baseModelCode;
this.params = params;
}
public BaseException(BaseModelCode baseModelCode, Object param) {
this(baseModelCode, new Object[] {param});
}
public BaseException(BaseModelCode baseModelCode) {
this(baseModelCode, new Object[] {null});
}
public BaseModelCode getBaseModelCode() {
return baseModelCode;
}
public Object[] getParams() {
Object[]returnArr;
//int returnSize = this.schSeqArr.length;
int returnSize = 0;
try {
returnSize = this.params.length;
}catch(NullPointerException ex) {
System.out.println("NullPointerException");
//ex.printStackTrace();
}
/* FIX */
if(returnSize > 0){
returnArr = new String[returnSize];
for(int i=0; i < returnSize; i++){
returnArr[i] = this.params[i];
}
return returnArr;
}else{
return null;
}
//return params;
}
}

View File

@ -0,0 +1,67 @@
package kcc.com.cmm.exception;
public enum BaseModelCode {
MC200("200", "성공"),
MC400("400", "요청 정보가 올바르지 않습니다."),
MC401("401", "사용 권한이 없습니다. 로그인 후 이용해주세요. "),
MC404("404", "요청된 URL을 찾을 수 없습니다."),
MC490("490", "첨부파일 용량({0})이 최대 허용량({1})을 초과하였습니다."),
MC491("491", "첨부파일 용량이 최대 허용량({0})을 초과하였습니다."),
MC492("492", "지원하지 않는 Http Method 입니다."),
MC500("500", "시스템 오류가 발생했습니다."),
MC600("600", "[{0}] 필수 입니다."),
MC610("610", "[{0}] 숫자만 가능합니다."),
MC611("611", "[{0}] 최소 {1}이상만 가능합니다."),
MC612("612", "[{0}] 최대 {1}이하만 가능합니다."),
MC613("613", "[{0}] {1} ~ {2}만 가능합니다."),
MC630("630", "[{0}] 최소 {1}자리 이상만 가능합니다."),
MC631("631", "[{0}] 최대 {1}자리 이하만 가능합니다."),
MC632("632", "[{0}] {1} ~ {2}자리만 가능합니다."),
MC633("633", "[{0}] 최소 {1} byte 이상만 가능합니다."),
MC634("634", "[{0}] 최대 {1} byte 이하만 가능합니다."),
MC635("635", "[{0}] {1} ~ {2} byte만 가능합니다."),
MC640("640", "[{0}] 날짜({1})만 가능합니다."),
MC650("650", "[{0}] 패턴이 일치하지 않습니다."),
MC651("651", "[{0}] 패턴({1})이 일치하지 않습니다."),
MC800("800", "{0} 오류\n{1}"), // 신보 연동 오류
MC1010("1010", "인증서 서명 검증이 실패하였습니다.\n\n{0}\n\n같은 문제가 계속해서 발생하면 위 메시지를 기록하신 후 고객상담센터({1})로 연락주시기 바랍니다."),
MC1011("1011", "인증서가 유효하지 않습니다.\n\n{0}"),
MC1012("1012", "신원확인이 실패하였습니다.\n\n공인인증서 발급에 사용된 사업자등록번호와 귀사의 사업자등록번호가 일치하지 않습니다.\n\n회원정보의 사업자번호가 올바로 등록되어 있는지 확인하시기 바랍니다.\n\n궁금하신 점이 있으시면 고객상담센터({0})로 연락주시기 바랍니다."),
MC1013("1013", "암호화 검증에 실패하였습니다."),
MC1110("1110", "서명값 Base64 Decode 결과 실패\n\n[{0}] {1}"),
MC1111("1111", "전자서명 검증 결과 실패\n\n[{0}] {1}"),
MC1112("1112", "인증서 추출 실패\n\n[{0}] {1}"),
MC1113("1113", "인증서 검증 실패\n\n[{0}] {1}"),
MC1114("1114", "신원확인이 실패하였습니다. 공인인증서 발급에 사용된 사업자등록번호와 귀사의 사업자등록번호가 일치하지 않습니다.\n\n회원정보의 사업자번호가 올바로 등록되어 있는지 확인하시기 바랍니다.\n\n[{0}] {1}"),
MC2001("2001", "Excel 파일 생성 중 오류가 발생했습니다."),
MC2002("2002", "Excel Export 최대 건수({0})를 초과하였습니다."),
MC2003("2003", "파일 다운로드 중 오류가 발생했습니다."),
;
private String code;
private String msg;
BaseModelCode(String code, String msg) {
this.code = code;
this.msg = msg;
}
/**
* 코드
* @return
*/
public String code() {
return code;
}
public String msg() {
return msg;
}
}

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 kcc.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 kcc.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,48 @@
/*
* 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 kcc.com.cmm.filter;
import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
public class XssFilter implements Filter{
@SuppressWarnings("unused")
private FilterConfig config;
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
ServletContext context = config.getServletContext();
chain.doFilter(new XssFilterRequestWrapper((HttpServletRequest)request), response);
//chain.doFilter(new XssFilterRequestWrapper((HttpServletRequest)request , response , context ), response);
}
public void init(FilterConfig config) throws ServletException {
this.config = config;
}
public void destroy() {
this.config = null;
}
}

View File

@ -0,0 +1,149 @@
/*
* 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 kcc.com.cmm.filter;
import java.io.IOException;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletRequestWrapper;
public class XssFilterRequestWrapper extends HttpServletRequestWrapper {
ServletContext context ;
HttpServletRequest request ;
ServletResponse response;
public XssFilterRequestWrapper(HttpServletRequest request) {
super(request);
}
public XssFilterRequestWrapper(HttpServletRequest request, ServletContext context) {
super(request);
this.context = context ;
this.request = request;
}
public XssFilterRequestWrapper(HttpServletRequest request, ServletResponse response, ServletContext context) {
super(request);
this.context = context ;
this.request = request;
this.response = response ;
}
public String[] getParameterValues(String parameter) {
String[] values = super.getParameterValues(parameter);
if(values==null){
return null;
}
int count = values.length;
String[] encodedValues = new String[count];
for (int i = 0; i < count; i++) {
encodedValues[i] = cleanXSS(values[i]);
}
return encodedValues;
}
public String getParameter(String parameter) {
String value = super.getParameter(parameter);
if (value == null) {
return null;
}
return cleanXSS(value);
}
public String getHeader(String name) {
String value = super.getHeader(name);
if (value == null)
return null;
return cleanXSS(value);
}
private String cleanXSS(String test_str) {
// 특수 구문 필터링 (데이터베이스가 Oracle 경우)
String test_str_low= test_str.toLowerCase();
if(test_str_low.contains("union")||
test_str_low.contains("select") ||
test_str_low.contains("insert") ||
test_str_low.contains("drop") ||
test_str_low.contains("update") ||
test_str_low.contains("delete") ||
test_str_low.contains("join") ||
test_str_low.contains("from") ||
test_str_low.contains("where") ||
test_str_low.contains("substr") ||
test_str_low.contains("user_tables")||
test_str_low.contains("script")||
test_str_low.contains("<")||
test_str_low.contains(">")||
test_str_low.contains("alert")||
test_str_low.contains("javascript")||
test_str_low.contains("=")||
test_str_low.contains("!")||
test_str_low.contains("or")||
test_str_low.contains("user_tables")||
test_str_low.contains("\\(")||
test_str_low.contains("\\)")||
test_str_low.contains("user_tables")||
test_str_low.contains("&lt;") ||
test_str_low.contains("\"") ||
test_str_low.contains("%") ||
test_str_low.contains("()") ||
test_str_low.contains("+") ||
test_str_low.contains("%") ||
test_str_low.contains("&gt;")
)
{
try {
context.getRequestDispatcher("/blank.do").forward(request, response);
} catch (ServletException e) {
System.out.println("ServletException Occured!!!");
} catch (IOException e) {
System.out.println("IOException Occured!!!");
}
test_str = test_str_low;
test_str = test_str.replaceAll("union", "q-union");
test_str = test_str.replaceAll("select", "q-select");
test_str = test_str.replaceAll("insert", "q-insert");
test_str = test_str.replaceAll("drop", "q-drop");
test_str = test_str.replaceAll("update", "q-update");
test_str = test_str.replaceAll("delete", "q-delete");
test_str = test_str.replaceAll("and", "q-and");
test_str = test_str.replaceAll("or", "q-or");
test_str = test_str.replaceAll("join", "q-join");
test_str = test_str.replaceAll("substr", "q-substr");
test_str = test_str.replaceAll("from", "q-from");
test_str = test_str.replaceAll("where", "q-where");
test_str = test_str.replaceAll("declare", "q-declare");
test_str = test_str.replaceAll("openrowset", "q-openrowset");
test_str = test_str.replaceAll("user_tables","q-user_tables");
test_str = test_str.replaceAll("user_tab_columns","q-user_tab_columns");
test_str = test_str.replaceAll("table_name","q-table_name");
test_str = test_str.replaceAll("column_name","q-column_name");
test_str = test_str.replaceAll("row_num","q-row_num");
}
return test_str ;
}
}

View File

@ -0,0 +1,62 @@
package kcc.com.cmm.interceptor;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import org.springframework.web.servlet.FlashMap;
import org.springframework.web.servlet.FlashMapManager;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.handler.HandlerInterceptorAdapter;
import org.springframework.web.servlet.support.RequestContextUtils;
import org.springmodules.validation.commons.MessageUtils;
import kcc.com.cmm.LoginVO;
public class InterceptorHandler extends HandlerInterceptorAdapter{
@SuppressWarnings("unused")
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
///kccadr/adjPgrMgr/** URL 패턴 접근 LoginVO가 없을경우 로그인화면으로 이동_220425_이준호
HttpSession session = request.getSession();
LoginVO loginVO = (LoginVO) session.getAttribute("LoginVO");
/*SsoLoginVO ssoLoginVO = (SsoLoginVO) session.getAttribute("SSOLoginVO");*/
if(loginVO == null) {
FlashMap flashMap = new FlashMap();
flashMap.put("message", "로그인 시간이 만료되어 로그인 페이지로 이동합니다.");
FlashMapManager flashMapManager = RequestContextUtils.getFlashMapManager(request);
flashMapManager.saveOutputFlashMap(flashMap, request, response);
request.getSession().invalidate();
response.sendRedirect(request.getContextPath() + "/cmm/main/mainPage.do");
return true;
}
return true;
}
/*
* view 화면으로 데이터가 넘어가기 이전에 실행
* modelAndView 값을 체크할 있음
* */
@Override
public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {
super.postHandle(request, response, handler, modelAndView);
}
/*
*
* view에서 모든 처리를 완료한 후에 실행
* */
@Override
public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {
super.afterCompletion(request, response, handler, ex);
}
}

View File

@ -0,0 +1,241 @@
package kcc.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
*/
private String clCode = "";
private String searchSortCnd = ""; // 정렬 항목
private String searchSortOrd = ""; // 정렬 구분(오름/내림)
private String tempCodeId = "";
private String sortNo = "";
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;
}
public String getClCode() {
return clCode;
}
public void setClCode(String clCode) {
this.clCode = clCode;
}
public String getSearchSortCnd() {
return searchSortCnd;
}
public void setSearchSortCnd(String searchSortCnd) {
this.searchSortCnd = searchSortCnd;
}
public String getSearchSortOrd() {
return searchSortOrd;
}
public void setSearchSortOrd(String searchSortOrd) {
this.searchSortOrd = searchSortOrd;
}
public String getTempCodeId() {
return tempCodeId;
}
public void setTempCodeId(String tempCodeId) {
this.tempCodeId = tempCodeId;
}
public String getSortNo() {
return sortNo;
}
public void setSortNo(String sortNo) {
this.sortNo = sortNo;
}
}

View File

@ -0,0 +1,73 @@
package kcc.com.cmm.service;
import java.util.List;
import java.util.Map;
import kcc.com.cmm.ComDefaultCodeVO;
/**
*
* 공통코드등 전체 업무에서 공용해서 사용해야 하는 서비스를 정의하기 위한 서비스 인터페이스
* @author 공통서비스 개발팀 이삼섭
* @since 2009.04.01
* @version 1.0
* @see
*
* <pre>
* << 개정이력(Modification Information) >>
*
* 수정일 수정자 수정내용
* ------- -------- ---------------------------
* 2009.03.11 이삼섭 최초 생성
*
* </pre>
*/
public interface EgovCmmUseService {
/**
* 공통코드를 조회한다.
*
* @param vo
* @return List(코드)
* @throws Exception
*/
public List<CmmnDetailCode> selectCmmCodeDetail(ComDefaultCodeVO vo) throws Exception;
/**
* 공통코드를 조회한다.(by String codeId)
*
* @param String codeId
* @return List(코드)
* @throws Exception
*/
public List<CmmnDetailCode> selectCmmCodeDetail(String codeId) throws Exception;
/**
* ComDefaultCodeVO의 리스트를 받아서 여러개의 코드 리스트를 맵에 담아서 리턴한다.
*
* @param voList
* @return Map(코드)
* @throws Exception
*/
public Map<String, List<CmmnDetailCode>> selectCmmCodeDetails(List<?> voList) throws Exception;
/**
* 조직정보를 코드형태로 리턴한다.
*
* @param 조회조건정보 vo
* @return 조직정보 List
* @throws Exception
*/
public List<CmmnDetailCode> selectOgrnztIdDetail(ComDefaultCodeVO vo) throws Exception;
/**
* 그룹정보를 코드형태로 리턴한다.
*
* @param 조회조건정보 vo
* @return 그룹정보 List
* @throws Exception
*/
public List<CmmnDetailCode> selectGroupIdDetail(ComDefaultCodeVO vo) throws Exception;
}

View File

@ -0,0 +1,126 @@
package kcc.com.cmm.service;
import java.util.List;
import java.util.Map;
/**
* @Class Name : EgovFileMngService.java
* @Description : 파일정보의 관리를 위한 서비스 인터페이스
* @Modification Information
*
* 수정일 수정자 수정내용
* ------- ------- -------------------
* 2009. 3. 25. 이삼섭 최초생성
*
* @author 공통 서비스 개발팀 이삼섭
* @since 2009. 3. 25.
* @version
* @see
*
*/
public interface EgovFileMngService {
/**
* 파일에 대한 목록을 조회한다.
*
* @param fvo
* @return
* @throws Exception
*/
public List<FileVO> selectFileInfs(FileVO fvo) throws Exception;
/**
* 하나의 파일에 대한 정보(속성 상세) 등록한다.
*
* @param fvo
* @throws Exception
*/
public String insertFileInf(FileVO fvo) throws Exception;
/**
* 여러 개의 파일에 대한 정보(속성 상세) 등록한다.
*
* @param fvoList
* @throws Exception
*/
public String insertFileInfs(List<?> fvoList) throws Exception;
/**
* 여러 개의 파일에 대한 정보(속성 상세) 수정한다.
*
* @param fvoList
* @throws Exception
*/
public void updateFileInfs(List<?> fvoList) throws Exception;
/**
* 여러 개의 파일을 삭제한다.
*
* @param fvoList
* @throws Exception
*/
public void deleteFileInfs(List<?> fvoList) throws Exception;
/**
* 하나의 파일을 삭제한다.
*
* @param fvo
* @throws Exception
*/
public void deleteFileInf(FileVO fvo) throws Exception;
/**
* 파일에 대한 상세정보를 조회한다.
*
* @param fvo
* @return
* @throws Exception
*/
public FileVO selectFileInf(FileVO fvo) throws Exception;
/**
* 파일 구분자에 대한 최대값을 구한다.
*
* @param fvo
* @return
* @throws Exception
*/
public int getMaxFileSN(FileVO fvo) throws Exception;
/**
* 전체 파일을 삭제한다.
*
* @param fvo
* @throws Exception
*/
public void deleteAllFileInf(FileVO fvo) throws Exception;
/**
* 파일명 검색에 대한 목록을 조회한다.
*
* @param fvo
* @return
* @throws Exception
*/
public Map<String, Object> selectFileListByFileNm(FileVO fvo) throws Exception;
/**
* 이미지 파일에 대한 목록을 조회한다.
*
* @param vo
* @return
* @throws Exception
*/
public List<FileVO> selectImageFileList(FileVO vo) throws Exception;
/**
* 이미지 파일에 대한 목록을 업데이트하다.
*
* @param vo
* @return
* @throws Exception
*/
public void updateFileInfo(List<FileVO> _result) throws Exception;
public void deleteFmsFileInf(FileVO fileVO) throws Exception;
}

View File

@ -0,0 +1,498 @@
package kcc.com.cmm.service;
import java.awt.image.BufferedImage;
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.util.ArrayList;
import java.util.List;
import java.util.ListIterator;
import java.util.Map;
import javax.annotation.Resource;
import javax.imageio.ImageIO;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;
import org.springframework.util.FileCopyUtils;
import org.springframework.web.multipart.MultipartFile;
import egovframework.rte.fdl.idgnr.EgovIdGnrService;
import egovframework.rte.fdl.property.EgovPropertyService;
import kcc.let.utl.fcc.service.EgovStringUtil;
import net.coobird.thumbnailator.Thumbnails;
import net.coobird.thumbnailator.name.Rename;
//import java.util.HashMap;
/**
* @Class Name : EgovFileMngUtil.java
* @Description : 메시지 처리 관련 유틸리티
* @Modification Information
*
* 수정일 수정자 수정내용
* ------- -------- ---------------------------
* 2009.02.13 이삼섭 최초 생성
* 2011.08.31 JJY 경량환경 템플릿 커스터마이징버전 생성
*
* @author 공통 서비스 개발팀 이삼섭
* @since 2009. 02. 13
* @version 1.0
* @see
*
*/
@Component("EgovFileMngUtil")
public class EgovFileMngUtil {
public static final int BUFF_SIZE = 2048;
@Resource(name = "propertiesService")
protected EgovPropertyService propertyService;
@Resource(name = "egovFileIdGnrService")
private EgovIdGnrService idgenService;
private static final Logger LOGGER = LoggerFactory.getLogger(EgovFileMngUtil.class);
/**
* 첨부파일에 대한 목록 정보를 취득한다.
*
* @param files
* @return
* @throws Exception
*/
public List<FileVO> parseFileInf(Map<String, MultipartFile> files, String KeyStr, int fileKeyParam, String atchFileId, String storePath, String isThumbFile) throws Exception {
int fileKey = fileKeyParam;
String storePathString = "";
String atchFileIdString = "";
if ("".equals(storePath) || storePath == null) {
storePathString = propertyService.getString("Globals.fileStorePath");
} else {
storePathString = propertyService.getString(storePath);
}
if ("".equals(atchFileId) || atchFileId == null) {
atchFileIdString = idgenService.getNextStringId();
} else {
atchFileIdString = atchFileId;
}
File saveFolder = new File(storePathString);
if (!saveFolder.exists() || saveFolder.isFile()) {
saveFolder.mkdirs();
}
// Iterator<Entry<String, MultipartFile>> itr = files.entrySet().iterator();
List<MultipartFile> tmp = new ArrayList<MultipartFile>(files.values());
ListIterator<MultipartFile> itr = tmp.listIterator(tmp.size());
MultipartFile file;
String filePath = "";
List<FileVO> result = new ArrayList<FileVO>();
FileVO fvo;
while (itr.hasPrevious()) {
// Entry<String, MultipartFile> entry = itr.next();
// file = entry.getValue();
file = itr.previous();
String orginFileName = file.getOriginalFilename();
//--------------------------------------
// 파일명이 없는 경우 처리
// (첨부가 되지 않은 input file type)
//--------------------------------------
if ("".equals(orginFileName)) {
continue;
}
////------------------------------------
int index = orginFileName.lastIndexOf(".");
String fileExt = orginFileName.substring(index + 1);
String newName = KeyStr + EgovStringUtil.getTimeStamp() + fileKey;
long _size = file.getSize();
if (!"".equals(orginFileName)) {
filePath = storePathString + File.separator + newName;
file.transferTo(new File(filePath));
}
String thumbName = "";
if(("thumbFile").equals(isThumbFile)) {
// file inputstream 으로 섬네일 생성후 저장
// BufferedImage originalImage = ImageIO.read(new File("original.png"));
BufferedImage originalImage = ImageIO.read(file.getInputStream());
// BufferedImage thumbnail = Thumbnails.of(originalImage).scale(0.25).asBufferedImage(); // 해상도
BufferedImage thumbnail = Thumbnails.of(originalImage).size(360, 260).asBufferedImage(); // 사이즈
thumbName = newName + "_THUMB";
String thumFilePath = storePathString + File.separator + thumbName;
File thumbFile = new File(thumFilePath);
ImageIO.write(thumbnail, fileExt, thumbFile);
// 서버 파일로 섬네일 저장
// File destinationDir = new File(filePath);
// Thumbnails.of(filePath).size(200, 200).toFiles(saveFolder, Rename.PREFIX_DOT_THUMBNAIL); // 이미지 확장자 파일 필요
}
fvo = new FileVO();
fvo.setFileExtsn(fileExt);
fvo.setFileStreCours(storePathString);
fvo.setFileMg(Long.toString(_size));
fvo.setOrignlFileNm(orginFileName);
fvo.setStreFileNm(newName);
fvo.setAtchFileId(atchFileIdString);
fvo.setFileSn(String.valueOf(fileKey));
fvo.setThumbFileNm(thumbName);
// writeFile(file, newName, storePathString);
result.add(fvo);
fileKey++;
}
return result;
}
/**
* 첨부파일을 서버에 저장한다.
*
* @param file
* @param newName
* @param stordFilePath
* @throws Exception
*/
protected void writeUploadedFile(MultipartFile file, String newName, String stordFilePath) throws Exception {
InputStream stream = null;
OutputStream bos = null;
String stordFilePathReal = (stordFilePath==null?"":stordFilePath).replaceAll("..","");
try {
stream = file.getInputStream();
File cFile = new File(stordFilePathReal);
if (!cFile.isDirectory()) {
boolean _flag = cFile.mkdir();
if (!_flag) {
throw new IOException("Directory creation Failed ");
}
}
bos = new FileOutputStream(stordFilePathReal + File.separator + newName);
int bytesRead = 0;
byte[] buffer = new byte[BUFF_SIZE];
while ((bytesRead = stream.read(buffer, 0, BUFF_SIZE)) != -1) {
bos.write(buffer, 0, bytesRead);
}
} catch (FileNotFoundException fnfe) {
LOGGER.debug("fnfe: {}", fnfe);
} catch (IOException ioe) {
LOGGER.debug("ioe: {}", ioe);
} catch (Exception e) {
LOGGER.debug("e: {}", e);
} finally {
if (bos != null) {
try {
bos.close();
} catch (Exception ignore) {
LOGGER.debug("IGNORED: {}", ignore.getMessage());
}
}
if (stream != null) {
try {
stream.close();
} catch (Exception ignore) {
LOGGER.debug("IGNORED: {}", ignore.getMessage());
}
}
}
}
/**
* 서버의 파일을 다운로드한다.
*
* @param request
* @param response
* @throws Exception
*/
public static void downFile(HttpServletRequest request, HttpServletResponse response) throws Exception {
String downFileName = EgovStringUtil.isNullToString(request.getAttribute("downFile")).replaceAll("..","");
String orgFileName = EgovStringUtil.isNullToString(request.getAttribute("orgFileName")).replaceAll("..","");
/*if ((String)request.getAttribute("downFile") == null) {
downFileName = "";
} else {
downFileName = EgovStringUtil.isNullToString(request.getAttribute("downFile"));
}*/
/*if ((String)request.getAttribute("orgFileName") == null) {
orgFileName = "";
} else {
orgFileName = (String)request.getAttribute("orginFile");
}*/
File file = new File(downFileName);
if (!file.exists()) {
throw new FileNotFoundException(downFileName);
}
if (!file.isFile()) {
throw new FileNotFoundException(downFileName);
}
byte[] b = new byte[BUFF_SIZE]; //buffer size 2K.
String fName = (new String(orgFileName.getBytes(), "UTF-8")).replaceAll("\r\n","");
response.setContentType("application/x-msdownload");
response.setHeader("Content-Disposition:", "attachment; filename=" + fName);
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);
}
} finally {
if (outs != null) {
try {
outs.close();
} catch (Exception ignore) {
LOGGER.debug("IGNORED: {}", ignore.getMessage());
}
}
if (fin != null) {
try {
fin.close();
} catch (Exception ignore) {
LOGGER.debug("IGNORED: {}", ignore.getMessage());
}
}
}
}
/**
* 첨부로 등록된 파일을 서버에 업로드한다.
*
* @param file
* @return
* @throws Exception
public static HashMap<String, String> uploadFile(MultipartFile file) throws Exception {
HashMap<String, String> map = new HashMap<String, String>();
//Write File 이후 Move File????
String newName = "";
String stordFilePath = EgovProperties.getProperty("Globals.fileStorePath");
String orginFileName = file.getOriginalFilename();
int index = orginFileName.lastIndexOf(".");
//String fileName = orginFileName.substring(0, _index);
String fileExt = orginFileName.substring(index + 1);
long size = file.getSize();
//newName Naming Convention에 의해서 생성
newName = EgovStringUtil.getTimeStamp() + "." + fileExt;
writeFile(file, newName, stordFilePath);
//storedFilePath는 지정
map.put(Globals.ORIGIN_FILE_NM, orginFileName);
map.put(Globals.UPLOAD_FILE_NM, newName);
map.put(Globals.FILE_EXT, fileExt);
map.put(Globals.FILE_PATH, stordFilePath);
map.put(Globals.FILE_SIZE, String.valueOf(size));
return map;
}
*/
/**
* 파일을 실제 물리적인 경로에 생성한다.
*
* @param file
* @param newName
* @param stordFilePath
* @throws Exception
*/
protected static void writeFile(MultipartFile file, String newName, String stordFilePath) throws Exception {
InputStream stream = null;
OutputStream bos = null;
newName = EgovStringUtil.isNullToString(newName).replaceAll("..", "");
stordFilePath = EgovStringUtil.isNullToString(stordFilePath).replaceAll("..", "");
try {
stream = file.getInputStream();
File cFile = new File(stordFilePath);
if (!cFile.isDirectory())
cFile.mkdir();
bos = new FileOutputStream(stordFilePath + File.separator + newName);
int bytesRead = 0;
byte[] buffer = new byte[BUFF_SIZE];
while ((bytesRead = stream.read(buffer, 0, BUFF_SIZE)) != -1) {
bos.write(buffer, 0, bytesRead);
}
} catch (FileNotFoundException fnfe) {
LOGGER.debug("fnfe: {}",fnfe);
} catch (IOException ioe) {
LOGGER.debug("ioe: {}", ioe);
} catch (Exception e) {
LOGGER.debug("e: {}", e);
} finally {
if (bos != null) {
try {
bos.close();
} catch (Exception ignore) {
LOGGER.debug("IGNORED: {}", ignore.getMessage());
}
}
if (stream != null) {
try {
stream.close();
} catch (Exception ignore) {
LOGGER.debug("IGNORED: {}", ignore.getMessage());
}
}
}
}
/**
* 서버 파일에 대하여 다운로드를 처리한다.
*
* @param response
* @param streFileNm
* : 파일저장 경로가 포함된 형태
* @param orignFileNm
* @throws Exception
*/
public void downFile(HttpServletResponse response, String streFileNm, String orignFileNm) throws Exception {
// String downFileName = EgovStringUtil.isNullToString(request.getAttribute("downFile")).replaceAll("..","");
// String orgFileName = EgovStringUtil.isNullToString(request.getAttribute("orgFileName")).replaceAll("..","");
String downFileName = EgovStringUtil.isNullToString(streFileNm).replaceAll("..","");
String orgFileName = EgovStringUtil.isNullToString(orignFileNm).replaceAll("..","");
File file = new File(downFileName);
//log.debug(this.getClass().getName()+" downFile downFileName "+downFileName);
//log.debug(this.getClass().getName()+" downFile orgFileName "+orgFileName);
if (!file.exists()) {
throw new FileNotFoundException(downFileName);
}
if (!file.isFile()) {
throw new FileNotFoundException(downFileName);
}
//byte[] b = new byte[BUFF_SIZE]; //buffer size 2K.
int fSize = (int)file.length();
if (fSize > 0) {
BufferedInputStream in = null;
try {
in = new BufferedInputStream(new FileInputStream(file));
String mimetype = "text/html"; //"application/x-msdownload"
response.setBufferSize(fSize);
response.setContentType(mimetype);
response.setHeader("Content-Disposition:", "attachment; filename=" + orgFileName);
response.setContentLength(fSize);
//response.setHeader("Content-Transfer-Encoding","binary");
//response.setHeader("Pragma","no-cache");
//response.setHeader("Expires","0");
FileCopyUtils.copy(in, response.getOutputStream());
} finally {
if (in != null) {
try {
in.close();
} catch (Exception ignore) {
LOGGER.debug("IGNORED: {}", ignore.getMessage());
}
}
}
response.getOutputStream().flush();
response.getOutputStream().close();
}
/*
String uploadPath = propertiesService.getString("fileDir");
File uFile = new File(uploadPath, requestedFile);
int fSize = (int) uFile.length();
if (fSize > 0) {
BufferedInputStream in = new BufferedInputStream(new FileInputStream(uFile));
String mimetype = "text/html";
response.setBufferSize(fSize);
response.setContentType(mimetype);
response.setHeader("Content-Disposition", "attachment; filename=\""
+ requestedFile + "\"");
response.setContentLength(fSize);
FileCopyUtils.copy(in, response.getOutputStream());
in.close();
response.getOutputStream().flush();
response.getOutputStream().close();
} else {
response.setContentType("text/html");
PrintWriter printwriter = response.getWriter();
printwriter.println("<html>");
printwriter.println("<br><br><br><h2>Could not get file name:<br>" + requestedFile + "</h2>");
printwriter.println("<br><br><br><center><h3><a href='javascript: history.go(-1)'>Back</a></h3></center>");
printwriter.println("<br><br><br>&copy; webAccess");
printwriter.println("</html>");
printwriter.flush();
printwriter.close();
}
//*/
/*
response.setContentType("application/x-msdownload");
response.setHeader("Content-Disposition:", "attachment; filename=" + new String(orgFileName.getBytes(),"UTF-8" ));
response.setHeader("Content-Transfer-Encoding","binary");
response.setHeader("Pragma","no-cache");
response.setHeader("Expires","0");
BufferedInputStream fin = new BufferedInputStream(new FileInputStream(file));
BufferedOutputStream outs = new BufferedOutputStream(response.getOutputStream());
int read = 0;
while ((read = fin.read(b)) != -1) {
outs.write(b,0,read);
}
log.debug(this.getClass().getName()+" BufferedOutputStream Write Complete!!! ");
outs.close();
fin.close();
//*/
}
}

View File

@ -0,0 +1,252 @@
package kcc.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 org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import kcc.com.cmm.EgovWebUtil;
import kcc.com.cmm.util.EgovResourceCloseHelper;
//import java.io.FileNotFoundException;
//import java.io.IOException;
//import java.util.Properties;
/**
* Class Name : EgovProperties.java
* Description : properties값들을 파일로부터 읽어와 Globals클래스의 정적변수로 로드시켜주는 클래스로
* 문자열 정보 기준으로 사용할 전역변수를 시스템 재시작으로 반영할 있도록 한다.
* Modification Information
*
* 수정일 수정자 수정내용
* ------- -------- ---------------------------
* 2009.01.19 박지욱 최초 생성
* 2011.07.20 서준식 Globals파일의 상대경로를 읽은 메서드 추가
* 2011.08.31 JJY 경량환경 템플릿 커스터마이징버전 생성
*
* @author 공통 서비스 개발팀 박지욱
* @since 2009. 01. 19
* @version 1.0
* @see
*
*/
public class EgovProperties{
private static final Logger LOGGER = LoggerFactory.getLogger(EgovProperties.class);
//프로퍼티값 로드시 에러발생하면 반환되는 에러문자열
public static final String ERR_CODE =" EXCEPTION OCCURRED";
public static final String ERR_CODE_FNFE =" EXCEPTION(FNFE) OCCURRED";
public static final String ERR_CODE_IOE =" EXCEPTION(IOE) OCCURRED";
//파일구분자
static final char FILE_SEPARATOR = File.separatorChar;
//프로퍼티 파일의 물리적 위치
//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() + FILE_SEPARATOR+ ".." + FILE_SEPARATOR + ".." + FILE_SEPARATOR;
//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.getResource("").getPath().substring(0, EgovProperties.class.getResource("").getPath().lastIndexOf("com")).replaceAll("/classes/kcc/", "/classes/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 = ERR_CODE;
value="99";
debug(GLOBALS_PROPERTIES_FILE + " : " + keyName);
FileInputStream fis = null;
try{
Properties props = new Properties();
fis = new FileInputStream(GLOBALS_PROPERTIES_FILE);
props.load(new java.io.BufferedInputStream(fis));
value = props.getProperty(keyName).trim();
value = RELATIVE_PATH_PREFIX + "egovProps" + System.getProperty("file.separator") + value;
}catch(FileNotFoundException fne){
debug(fne);
}catch(IOException ioe){
debug(ioe);
}catch(Exception e){
debug(e);
}finally{
try {
if (fis != null) fis.close();
} catch (Exception ex) {
ex.printStackTrace();
}
}
return value;
}
*/
/**
* 인자로 주어진 문자열을 Key값으로 하는 프로퍼티 값을 반환한다(Globals.java 전용)
* @param keyName String
* @return String
*/
public static String getProperty(String keyName) {
String value = "";
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{
java.util.Properties props = new java.util.Properties();
fis = new FileInputStream(fileName);
props.load(new java.io.BufferedInputStream(fis));
fis.close();
String value = props.getProperty(key);
value = RELATIVE_PATH_PREFIX + "egovProps" + System.getProperty("file.separator") + value;
return value;
}catch(java.io.FileNotFoundException fne){
return ERR_CODE_FNFE;
}catch(java.io.IOException ioe){
return ERR_CODE_IOE;
}finally{
try {
if (fis != null) fis.close();
} catch (Exception ex) {
ex.printStackTrace();
}
}
}
*/
/**
* 주어진 파일에서 인자로 주어진 문자열을 Key값으로 하는 프로퍼티 값을 반환한다
* @param fileName String
* @param key String
* @return String
public static String getProperty(String fileName, String key){
FileInputStream fis = null;
try{
java.util.Properties props = new java.util.Properties();
fis = new FileInputStream(fileName);
props.load(new java.io.BufferedInputStream(fis));
fis.close();
String value = props.getProperty(key);
return value;
}catch(java.io.FileNotFoundException fne){
return ERR_CODE_FNFE;
}catch(java.io.IOException ioe){
return ERR_CODE_IOE;
}finally{
try {
if (fis != null) fis.close();
} catch (Exception ex) {
ex.printStackTrace();
}
}
}
*/
/**
* 주어진 프로파일의 내용을 파싱하여 (key-value) 형태의 구조체 배열을 반환한다.
* @param property String
* @return ArrayList
*/
@SuppressWarnings("unused")
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_SEPARATOR).replace('/', FILE_SEPARATOR);
FileInputStream fis = null;
try
{
File srcFile = new File(src);
if (srcFile.exists()) {
java.util.Properties props = new java.util.Properties();
fis = new FileInputStream(src);
props.load(new java.io.BufferedInputStream(fis));
fis.close();
int i = 0;
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 (Exception ex){
debug("EX:"+ex);
} finally {
try {
if (fis != null) fis.close();
} catch (Exception ex) {
debug("EX:"+ex);//ex.printStackTrace();
}
}
return keyList;
}
/**
* 시스템 로그를 출력한다.
* @param obj Object
*/
private static void debug(Object obj) {
if (obj instanceof java.lang.Exception) {
//((Exception)obj).printStackTrace();
//System.out.println("DEBUG: " + obj); // 2011.10.10 보안점검 후속조치
LOGGER.debug("IGNORED: {}", ((Exception)obj).getMessage());
}
}
}

View File

@ -0,0 +1,26 @@
package kcc.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,292 @@
package kcc.com.cmm.service;
import java.io.Serializable;
import org.apache.commons.lang3.builder.ToStringBuilder;
/**
* @Class Name : FileVO.java
* @Description : 파일정보 처리를 위한 VO 클래스
* @Modification Information
*
* 수정일 수정자 수정내용
* ------- ------- -------------------
* 2009. 3. 25. 이삼섭
*
* @author 공통 서비스 개발팀 이삼섭
* @since 2009. 3. 25.
* @version
* @see
*
*/
@SuppressWarnings("serial")
public class FileVO implements Serializable {
/**
* 첨부파일 아이디
*/
public String atchFileId = "";
/**
* 생성일자
*/
public String creatDt = "";
/**
* 파일내용
*/
public String fileCn = "";
/**
* 파일확장자
*/
public String fileExtsn = "";
/**
* 파일크기
*/
public String fileMg = "";
/**
* 파일연번
*/
public String fileSn = "";
/**
* 파일연번
*/
public String fileSize = "";
/**
* 파일저장경로
*/
public String fileStreCours = "";
/**
* 원파일명
*/
public String orignlFileNm = "";
/**
* 저장파일명
*/
public String streFileNm = "";
/**
* 섬네일 이미지 파일명
*/
public String thumbFileNm = "";
/**
* atchFileId attribute를 리턴한다.
*
* @return the atchFileId
*/
public String maxFileNum = "";
public String menuName = ""; //파일 업로드시 매뉴 분할
public String getMaxFileNum() {
return maxFileNum;
}
public void setMaxFileNum(String maxFileNum) {
this.maxFileNum = maxFileNum;
}
public String getAtchFileId() {
return atchFileId;
}
/**
* atchFileId attribute 값을 설정한다.
*
* @param atchFileId
* the atchFileId to set
*/
public void setAtchFileId(String atchFileId) {
this.atchFileId = atchFileId;
}
/**
* creatDt attribute를 리턴한다.
*
* @return the creatDt
*/
public String getCreatDt() {
return creatDt;
}
/**
* creatDt attribute 값을 설정한다.
*
* @param creatDt
* the creatDt to set
*/
public void setCreatDt(String creatDt) {
this.creatDt = creatDt;
}
/**
* fileCn attribute를 리턴한다.
*
* @return the fileCn
*/
public String getFileCn() {
return fileCn;
}
/**
* fileCn attribute 값을 설정한다.
*
* @param fileCn
* the fileCn to set
*/
public void setFileCn(String fileCn) {
this.fileCn = fileCn;
}
/**
* fileExtsn attribute를 리턴한다.
*
* @return the fileExtsn
*/
public String getFileExtsn() {
return fileExtsn;
}
/**
* fileExtsn attribute 값을 설정한다.
*
* @param fileExtsn
* the fileExtsn to set
*/
public void setFileExtsn(String fileExtsn) {
this.fileExtsn = fileExtsn;
}
/**
* fileMg attribute를 리턴한다.
*
* @return the fileMg
*/
public String getFileMg() {
return fileMg;
}
/**
* fileMg attribute 값을 설정한다.
*
* @param fileMg
* the fileMg to set
*/
public void setFileMg(String fileMg) {
this.fileMg = fileMg;
}
/**
* fileSn attribute를 리턴한다.
*
* @return the fileSn
*/
public String getFileSn() {
return fileSn;
}
/**
* fileSn attribute 값을 설정한다.
*
* @param fileSn
* the fileSn to set
*/
public void setFileSn(String fileSn) {
this.fileSn = fileSn;
}
/**
* fileStreCours attribute를 리턴한다.
*
* @return the fileStreCours
*/
public String getFileStreCours() {
return fileStreCours;
}
/**
* fileStreCours attribute 값을 설정한다.
*
* @param fileStreCours
* the fileStreCours to set
*/
public void setFileStreCours(String fileStreCours) {
this.fileStreCours = fileStreCours;
}
/**
* orignlFileNm attribute를 리턴한다.
*
* @return the orignlFileNm
*/
public String getOrignlFileNm() {
return orignlFileNm;
}
/**
* orignlFileNm attribute 값을 설정한다.
*
* @param orignlFileNm
* the orignlFileNm to set
*/
public void setOrignlFileNm(String orignlFileNm) {
this.orignlFileNm = orignlFileNm;
}
/**
* streFileNm attribute를 리턴한다.
*
* @return the streFileNm
*/
public String getStreFileNm() {
return streFileNm;
}
/**
* streFileNm attribute 값을 설정한다.
*
* @param streFileNm
* the streFileNm to set
*/
public void setStreFileNm(String streFileNm) {
this.streFileNm = streFileNm;
}
/**
* @return the thumbFileNm
*/
public String getThumbFileNm() {
return thumbFileNm;
}
/**
* @param thumbFileNm the thumbFileNm to set
*/
public void setThumbFileNm(String thumbFileNm) {
this.thumbFileNm = thumbFileNm;
}
/**
* toString 메소드를 대치한다.
*/
public String toString() {
return ToStringBuilder.reflectionToString(this);
}
public String getMenuName() {
return menuName;
}
public void setMenuName(String menuName) {
this.menuName = menuName;
}
public String getFileSize() {
return fileSize;
}
public void setFileSize(String fileSize) {
this.fileSize = fileSize;
}
}

View File

@ -0,0 +1,30 @@
package kcc.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,10 @@
package kcc.com.cmm.service;
import kcc.com.cmm.ReadVO;
public interface ReadService {
public ReadVO selectReadYn(ReadVO readVO) throws Exception;
public void insertReadYn(ReadVO readVO) throws Exception;
}

View File

@ -0,0 +1,20 @@
package kcc.com.cmm.service;
/**
* SequenceUtil을 위한 서비스
* @author yu
* @since 2021.10.08
* @version 1.0
* @see
*
* <pre>
* << 개정이력(Modification Information) >>
* 수정일 수정자 수정내용
* ------- -------- ---------------------------
* 2021.10.08 yu 최초 생성
* </pre>
*/
public interface SequenceUtilService {
// 일련번호(시퀀스) 조회
public String getSeqNextVal(String seqId) throws Exception;
}

View File

@ -0,0 +1,74 @@
package kcc.com.cmm.service.impl;
import java.util.List;
import org.springframework.stereotype.Repository;
import kcc.com.cmm.ComDefaultCodeVO;
import kcc.com.cmm.service.CmmnDetailCode;
/**
* @Class Name : CmmUseDAO.java
* @Description : 공통코드등 전체 업무에서 공용해서 사용해야 하는 서비스를 정의하기위한 데이터 접근 클래스
* @Modification Information
*
* 수정일 수정자 수정내용
* ------- ------- -------------------
* 2009. 3. 11. 이삼섭
*
* @author 공통 서비스 개발팀 이삼섭
* @since 2009. 3. 11.
* @version
* @see
*
*/
@Repository("cmmUseDAO")
public class CmmUseDAO extends EgovComAbstractDAO {
/**
* 주어진 조건에 따른 공통코드를 불러온다.
*
* @param vo
* @return
* @throws Exception
*/
@SuppressWarnings("unchecked")
public List<CmmnDetailCode> selectCmmCodeDetail(ComDefaultCodeVO vo) throws Exception {
return (List<CmmnDetailCode>) list("CmmUseDAO.selectCmmCodeDetail", vo);
}
/**
* 공통코드로 사용할 조직정보를 불러온다.
*
* @param vo
* @return
* @throws Exception
*/
@SuppressWarnings("unchecked")
public List<CmmnDetailCode> selectOgrnztIdDetail(ComDefaultCodeVO vo) throws Exception {
return (List<CmmnDetailCode>) list("CmmUseDAO.selectOgrnztIdDetail", vo);
}
/**
* 공통코드로 사용할그룹정보를 불러온다.
*
* @param vo
* @return
* @throws Exception
*/
@SuppressWarnings("unchecked")
public List<CmmnDetailCode> selectGroupIdDetail(ComDefaultCodeVO vo) throws Exception {
return (List<CmmnDetailCode>) list("CmmUseDAO.selectGroupIdDetail", vo);
}
/**
* 주어진 조건에 따른 공통코드를 불러온다.
*
* @param vo
* @return
* @throws Exception
*/
public CmmnDetailCode selectCmmCodeDetailValue(ComDefaultCodeVO vo) throws Exception {
return (CmmnDetailCode) select("CmmUseDAO.selectCmmCodeDetailValue", vo);
}
}

View File

@ -0,0 +1,109 @@
package kcc.com.cmm.service.impl;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import egovframework.rte.fdl.cmmn.EgovAbstractServiceImpl;
import kcc.com.cmm.ComDefaultCodeVO;
import kcc.com.cmm.service.CmmnDetailCode;
import kcc.com.cmm.service.EgovCmmUseService;
import javax.annotation.Resource;
import org.springframework.stereotype.Service;
/**
* @Class Name : EgovCmmUseServiceImpl.java
* @Description : 공통코드등 전체 업무에서 공용해서 사용해야 하는 서비스를 정의하기위한 서비스 구현 클래스
* @Modification Information
*
* 수정일 수정자 수정내용
* ------- ------- -------------------
* 2009. 3. 11. 이삼섭
*
* @author 공통 서비스 개발팀 이삼섭
* @since 2009. 3. 11.
* @version
* @see
*
*/
@Service("EgovCmmUseService")
public class EgovCmmUseServiceImpl extends EgovAbstractServiceImpl implements EgovCmmUseService {
@Resource(name = "cmmUseDAO")
private CmmUseDAO cmmUseDAO;
/**
* 공통코드를 조회한다.
*
* @param vo
* @return
* @throws Exception
*/
@Override
public List<CmmnDetailCode> selectCmmCodeDetail(ComDefaultCodeVO vo) throws Exception {
return cmmUseDAO.selectCmmCodeDetail(vo);
}
/**
* 공통코드를 조회한다.(by String codeId)
*
* @param String codeId
* @return
* @throws Exception
*/
@Override
public List<CmmnDetailCode> selectCmmCodeDetail(String codeId) throws Exception {
ComDefaultCodeVO comDefaultCodeVO = new ComDefaultCodeVO();
comDefaultCodeVO.setCodeId(codeId);
return cmmUseDAO.selectCmmCodeDetail(comDefaultCodeVO);
}
/**
* ComDefaultCodeVO의 리스트를 받아서 여러개의 코드 리스트를 맵에 담아서 리턴한다.
*
* @param voList
* @return
* @throws Exception
*/
@Override
@SuppressWarnings("rawtypes")
public Map<String, List<CmmnDetailCode>> selectCmmCodeDetails(List voList) throws Exception {
ComDefaultCodeVO vo;
Map<String, List<CmmnDetailCode>> map = new HashMap<String, List<CmmnDetailCode>>();
Iterator<?> iter = voList.iterator();
while (iter.hasNext()) {
vo = (ComDefaultCodeVO) iter.next();
map.put(vo.getCodeId(), cmmUseDAO.selectCmmCodeDetail(vo));
}
return map;
}
/**
* 조직정보를 코드형태로 리턴한다.
*
* @param 조회조건정보 vo
* @return 조직정보 List
* @throws Exception
*/
@Override
public List<CmmnDetailCode> selectOgrnztIdDetail(ComDefaultCodeVO vo) throws Exception {
return cmmUseDAO.selectOgrnztIdDetail(vo);
}
/**
* 그룹정보를 코드형태로 리턴한다.
*
* @param 조회조건정보 vo
* @return 그룹정보 List
* @throws Exception
*/
@Override
public List<CmmnDetailCode> selectGroupIdDetail(ComDefaultCodeVO vo) throws Exception {
return cmmUseDAO.selectGroupIdDetail(vo);
}
}

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