test source/resources -> xbase-example로 이동, mariadb dependency 제거

master
mjkhan21 2 years ago
parent 5433bc1fde
commit 4d16828da6

@ -51,6 +51,10 @@
<enabled>false</enabled>
</snapshots>
</repository>
<repository>
<id>maven-public</id>
<url>http://xit.xit-nexus.com:8081/repository/maven-public/</url>
</repository>
<!--
<repository>
<id>maven-releases</id>
@ -87,13 +91,6 @@
<artifactId>xit-user</artifactId>
<version>23.04.01-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.mariadb.jdbc</groupId>
<artifactId>mariadb-java-client</artifactId>
<version>2.7.2</version>
<scope>test</scope>
</dependency>
</dependencies>

@ -1,101 +0,0 @@
package cokr.xit.base.security.access.service;
import java.util.List;
import javax.annotation.Resource;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
import cokr.xit.base.security.access.ActionGroup;
import cokr.xit.foundation.data.DataObject;
import cokr.xit.foundation.test.TestSupport;
public class ActionGroupServiceTest extends TestSupport {
@Resource(name = "actionGroupService")
private ActionGroupService actionGroupService;
@Test
public void getGroupList() {
ActionQuery req = new ActionQuery();
actionGroupService.getGroupList(req);
actionGroupService.getGroupList(req.setBy("groupID"));
actionGroupService.getGroupList(req.setTerm("group-0"));
actionGroupService.getGroupList(req.setBy(null).setTerm("group-zero"));
req.setBy(null).setTerm(null).setFetchSize(10);
actionGroupService.getGroupList(req);
actionGroupService.getGroupList(req.setBy("groupID"));
actionGroupService.getGroupList(req.setTerm("group-0"));
actionGroupService.getGroupList(req.setBy("groupID").setTerm("group-zero"));
actionGroupService.getGroups("group-0", "group-1", "group-2");
actionGroupService.getGroups("group-0");
}
private ActionGroup createGroup(String id) {
ActionGroup group = new ActionGroup();
group.setId(id);
group.setName(id + " name");
group.setDescription(id + " description");
boolean created = actionGroupService.create(group);
return created ? group : null;
}
@Test
public void saveGroup() {
String groupID = "group-0";
ActionGroup created = createGroup(groupID);
Assertions.assertNotNull(created);
ActionGroup loaded = actionGroupService.getGroup(groupID);
Assertions.assertNotNull(loaded);
Assertions.assertThrows(Exception.class, () -> actionGroupService.create(created));
created.setName("그룹 이름");
Assertions.assertTrue(actionGroupService.update(created));
loaded = actionGroupService.getGroup(groupID);
Assertions.assertEquals(created.getName(), loaded.getName());
deleteGroup(groupID);
loaded = actionGroupService.getGroup(groupID);
Assertions.assertNull(loaded);
}
@Test
public void saveActions() {
String groupID = "group-0";
String[] actions = {"action-0", "action-1", "action-2"};
ActionQuery req = new ActionQuery().setGroupIDs(groupID).setPageNum(1);
createGroup(groupID);
actionGroupService.addActions(groupID, actions);
List<DataObject> actionList = actionGroupService.getActionList(req);
Assertions.assertEquals(actions.length, actionList.size());
actionGroupService.addActions(groupID, actions);
actionList = actionGroupService.getActionList(req);
Assertions.assertEquals(actions.length, actionList.size());
actions = new String[] {"action-0", "action-1", "action-2", "action-3"};
actionGroupService.addActions(groupID, actions);
actionList = actionGroupService.getActionList(req);
Assertions.assertEquals(actions.length, actionList.size());
actionGroupService.removeActions(groupID, "action-2", "action-3");
actionList = actionGroupService.getActionList(req);
Assertions.assertEquals(2, actionList.size());
deleteGroup(groupID);
actionList = actionGroupService.getActionList(req);
Assertions.assertTrue(actionList.isEmpty());
}
private void deleteGroup(String... groupIDs) {
actionGroupService.remove(groupIDs);
}
}

@ -1,159 +0,0 @@
package cokr.xit.base.security.access.service;
import java.util.List;
import javax.annotation.Resource;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
import cokr.xit.base.security.Authority;
import cokr.xit.foundation.data.DataObject;
import cokr.xit.foundation.test.TestSupport;
public class AuthorityServiceTest extends TestSupport {
@Resource(name = "authorityService")
private AuthorityService authorityService;
@Test
public void getAuthorityList() {
AuthorityQuery req = new AuthorityQuery();
authorityService.getAuthorityList(req);
authorityService.getAuthorityList(req.setBy("authID"));
authorityService.getAuthorityList(req.setTerm("auth-0"));
authorityService.getAuthorityList(req.setBy(null).setTerm("auth-zero"));
authorityService.getAuthorityList(req.setBy(null).setTerm("auth-zero"));
req = new AuthorityQuery();
authorityService.getAuthorityList(req.setPageNum(1).setFetchSize(10));
authorityService.getAuthorityList(req.setBy("authID"));
authorityService.getAuthorityList(req.setTerm("auth-0"));
authorityService.getAuthorityList(req.setBy(null).setTerm("auth-zero"));
authorityService.getAuthorities("auth-0", "auth-1", "auth-2");
authorityService.getAuthorities("auth-0");
Authority auth = authorityService.getAuthority(Authority.ADMIN);
Assertions.assertNotNull(auth);
Assertions.assertEquals(Authority.Type.SUPER, auth.type());
auth = authorityService.getAuthority(Authority.USER);
Assertions.assertNotNull(auth);
Assertions.assertEquals(Authority.Type.IMPLICIT, auth.type());
auth = authorityService.getAuthority(Authority.ANONYMOUS);
Assertions.assertNotNull(auth);
Assertions.assertEquals(Authority.Type.IMPLICIT, auth.type());
}
private Authority createAuthority(String id) {
Authority authority = new Authority();
authority.setId(id);
authority.setName(id + " name");
authority.setDescription(id + " description");
boolean created = authorityService.create(authority);
return created ? authority : null;
}
@Test
public void saveAuthority() {
String authID = "auth-0";
Authority created = createAuthority(authID);
Assertions.assertNotNull(created);
Authority loaded = authorityService.getAuthority(authID);
Assertions.assertNotNull(loaded);
Assertions.assertEquals(Authority.Type.SYS_DEFINED, loaded.type());
created.setName("권한 이름");
Assertions.assertTrue(authorityService.update(created));
loaded = authorityService.getAuthority(authID);
Assertions.assertEquals(created.getName(), loaded.getName());
deleteAuthority(authID);
loaded = authorityService.getAuthority(authID);
Assertions.assertNull(loaded);
}
@Test
public void saveActionGroups() {
String authID = "auth-0";
String[] groupIDs = {"group-0", "group-1", "group-2"};
AuthorityQuery req = new AuthorityQuery().setAuthIDs(authID);
authorityService.addActionGroups(authID, groupIDs);
List<DataObject> actionList = authorityService.getActionGroupList(req);
Assertions.assertEquals(groupIDs.length, actionList.size());
req.setPageNum(1).setFetchSize(10);
actionList = authorityService.getActionGroupList(req);
Assertions.assertEquals(groupIDs.length, actionList.size());
authorityService.addActionGroups(authID, groupIDs);
actionList = authorityService.getActionGroupList(req.setPageNum(0).setFetchSize(0));
Assertions.assertEquals(groupIDs.length, actionList.size());
actionList = authorityService.getActionGroupList(req.setPageNum(1).setFetchSize(10));
Assertions.assertEquals(groupIDs.length, actionList.size());
groupIDs = new String[] {"group-0", "group-1", "group-2", "group-3"};
authorityService.addActionGroups(authID, groupIDs);
actionList = authorityService.getActionGroupList(req.setPageNum(0).setFetchSize(0));
Assertions.assertEquals(groupIDs.length, actionList.size());
actionList = authorityService.getActionGroupList(req.setPageNum(1).setFetchSize(10));
Assertions.assertEquals(groupIDs.length, actionList.size());
authorityService.removeActionGroups(authID, "group-2", "group-3");
actionList = authorityService.getActionGroupList(req.setPageNum(0).setFetchSize(0));
Assertions.assertEquals(2, actionList.size());
actionList = authorityService.getActionGroupList(req.setPageNum(1).setFetchSize(10));
Assertions.assertEquals(2, actionList.size());
deleteAuthority(authID);
actionList = authorityService.getActionGroupList(req.setPageNum(0).setFetchSize(0));
Assertions.assertTrue(actionList.isEmpty());
actionList = authorityService.getActionGroupList(req.setPageNum(1).setFetchSize(10));
Assertions.assertTrue(actionList.isEmpty());
}
@Test
public void saveUsers() {
String authID = "auth-0";
String[] userIDs = {"user-0", "user-1", "user-2"};
AuthorityQuery req = new AuthorityQuery().setAuthIDs(authID);
authorityService.addUsers(authID, userIDs);
List<DataObject> userList = authorityService.getUserList(req);
Assertions.assertEquals(userIDs.length, userList.size());
userList = authorityService.getUserList(req.setPageNum(1).setFetchSize(10));
Assertions.assertEquals(userIDs.length, userList.size());
authorityService.addUsers(authID, userIDs);
userList = authorityService.getUserList(req.setPageNum(0).setFetchSize(0));
Assertions.assertEquals(userIDs.length, userList.size());
userList = authorityService.getUserList(req.setPageNum(1).setFetchSize(10));
Assertions.assertEquals(userIDs.length, userList.size());
userIDs = new String[] {"user-0", "user-1", "user-2", "user-3"};
authorityService.addUsers(authID, userIDs);
userList = authorityService.getUserList(req.setPageNum(0).setFetchSize(0));
Assertions.assertEquals(userIDs.length, userList.size());
userList = authorityService.getUserList(req.setPageNum(1).setFetchSize(10));
Assertions.assertEquals(userIDs.length, userList.size());
authorityService.removeUsers(authID, "user-2", "user-3");
userList = authorityService.getUserList(req.setPageNum(0).setFetchSize(0));
Assertions.assertEquals(2, userList.size());
userList = authorityService.getUserList(req.setPageNum(1).setFetchSize(10));
Assertions.assertEquals(2, userList.size());
deleteAuthority(authID);
userList = authorityService.getUserList(req.setPageNum(0).setFetchSize(0));
Assertions.assertTrue(userList.isEmpty());
userList = authorityService.getUserList(req.setPageNum(1).setFetchSize(10));
Assertions.assertTrue(userList.isEmpty());
}
private void deleteAuthority(String... authIDs) {
authorityService.removeAuthorities(authIDs);
}
}

@ -1,70 +0,0 @@
package cokr.xit.base.security.authentication.service;
import java.util.stream.Collectors;
import java.util.stream.Stream;
import javax.annotation.Resource;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
import org.springframework.security.core.userdetails.UserDetails;
import cokr.xit.base.security.authentication.service.bean.PasswordEncoder;
import cokr.xit.foundation.test.TestSupport;
public class AuthenticationServiceTest extends TestSupport {
@Resource(name = "passwordEncoder")
private PasswordEncoder passwordEncoder;
@Resource(name = "authenticationService")
private AuthenticationService authenticationService;
@Test
void passwordEncoder() {
String str = "5811807";
String encoded = passwordEncoder.encode(str);
System.out.println("encoded: " + encoded);
Assertions.assertTrue(passwordEncoder.matches(str, encoded));
}
@Test
void loadUserByUsername() {
String userID = "test-user";
create(userID);
UserDetails userDetails = authenticationService.loadUserByUsername(userID);
Assertions.assertNotNull(userDetails);
deleteUsers(userID);
}
protected boolean create(String userID) {
String name = userID + " name";
String password = userID + "-password";
String insert = "INSERT INTO TBL_USER (\r\n"
+ " USER_ID\r\n"
+ " , USER_NM\r\n"
+ " , PASSWD\r\n"
+ " , LOCK_CNT\r\n"
+ " , INS_DT\r\n"
+ " , STATUS\r\n"
+ ") VALUES (\r\n"
+ " '" + userID + "'\r\n"
+ " , '" + name + "'\r\n"
+ " , '" + password + "'\r\n"
+ " , 0\r\n"
+ " , CURRENT_TIMESTAMP()\r\n"
+ " , 'A'\r\n"
+ ")";
return testDao.execInsert(insert) == 1;
}
protected void deleteUsers(String... userIDs) {
String condition = Stream.of(userIDs)
.map(userID -> "'" + userID + "'")
.collect(Collectors.joining(","));
testDao.execDelete("DELETE FROM TBL_USER WHERE USER_ID IN (" + condition + ")");
testDao.commit();
}
}

@ -1,44 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE Configuration>
<Configuration>
<Appenders>
<Console name="console" target="SYSTEM_OUT">
<PatternLayout pattern="%d{HH:mm:ss,SSS} %5p [%c{1}] %m%n" />
</Console>
<RollingFile name="file" fileName="./logs/xit-base.log" filePattern="./logs/xit-base.%d{yy-MM-dd}.log" append="false">
<PatternLayout pattern="%d{HH:mm:ss,SSS} %5p [%c{1}] %m%n"/>
<Policies>
<TimeBasedTriggeringPolicy interval="1" modulate="true"/>
</Policies>
</RollingFile>
</Appenders>
<Loggers>
<Logger name="org.springframework" level="INFO" additivity="false">
<AppenderRef ref="console" />
<AppenderRef ref="file" />
</Logger>
<Logger name="egovframework" level="INFO" additivity="false">
<AppenderRef ref="console" />
<AppenderRef ref="file" />
</Logger>
<Logger name="cokr.xit" level="DEBUG" additivity="false">
<AppenderRef ref="console" />
<AppenderRef ref="file" />
</Logger>
<!-- log SQL with timing information, post execution -->
<Logger name="jdbc.audit" level="OFF" />
<Logger name="jdbc.sqlonly" level="OFF" />
<Logger name="jdbc.resultset" level="OFF" />
<Logger name="jdbc.resultsettable" level="OFF" />
<Logger name="jdbc.sqltiming" level="DEBUG" additivity="false">
<AppenderRef ref="console" />
</Logger>
<Root level="DEBUG">
<AppenderRef ref="console" />
<AppenderRef ref="file" />
</Root>
</Loggers>
</Configuration>

@ -1,4 +0,0 @@
log4jdbc.spylogdelegator.name=net.sf.log4jdbc.log.slf4j.Slf4jSpyLogDelegator
log4jdbc.dump.sql.maxlinelength=0
log4jdbc.drivers=org.mariadb.jdbc.Driver

@ -1,2 +0,0 @@
# see https://projectlombok.org/features/constructor lombok.copyableAnnotations
lombok.copyableAnnotations += org.springframework.beans.factory.annotation.Qualifier

@ -1,5 +0,0 @@
authenticationFailure.usernameNotFound=\uc0ac\uc6a9\uc790\ub97c \ucc3e\uc9c0 \ubabb\ud588\uc2b5\ub2c8\ub2e4.
authenticationFailure.badCredentials=\uc0ac\uc6a9\uc790 \uc544\uc774\ub514\ub098 \ube44\ubc00\ubc88\ud638\uac00 \uc798\ubabb\ub410\uc2b5\ub2c8\ub2e4.
authenticationFailure.credentialsExpired=\ube44\ubc00\ubc88\ud638\uac00 \ub9cc\ub8cc\ub410\uc2b5\ub2c8\ub2e4.
authenticationFailure.authenticationFailed=\uc0ac\uc6a9\uc790\ub97c \uc778\uc99d\ud558\uc9c0 \ubabb\ud588\uc2b5\ub2c8\ub2e4.
authenticationFailure.policyViolated=\ub85c\uadf8\uc778 \uc815\ucc45\uc5d0 \ub530\ub77c \uc811\uadfc\uc774 \ucc28\ub2e8\ub410\uc2b5\ub2c8\ub2e4.

@ -1,382 +0,0 @@
valueRequired={0}\uac00 \uc124\uc815\ub418\uc9c0 \uc54a\uc558\uc2b5\ub2c8\ub2e4.
pageNotFound=\uc694\uccad\ud558\uc2e0 \ud398\uc774\uc9c0\ub97c \ucc3e\uc9c0 \ubabb\ud588\uc2b5\ub2c8\ub2e4.
sessionExpired=\uc138\uc158\uc774 \ub9cc\ub8cc\ub410\uc2b5\ub2c8\ub2e4.
duplicate.object=\uc774\ubbf8 \ub4f1\ub85d\ub41c {0}\uc785\ub2c8\ub2e4.
fail.common.msg=\uc5d0\ub7ec\uac00 \ubc1c\uc0dd\ud588\uc2b5\ub2c8\ub2e4!
fail.common.sql=sql \uc5d0\ub7ec\uac00 \ubc1c\uc0dd\ud588\uc2b5\ub2c8\ub2e4! error code: {0}, error msg: {1}
info.nodata.msg=\ud574\ub2f9 \ub370\uc774\ud130\uac00 \uc5c6\uc2b5\ub2c8\ub2e4.
#UI Common resource#
table.num=\ubc88\ud638
table.regdate=\ub4f1\ub85d\uc77c
table.reger=\ub4f1\ub85d\uc790
table.select=\uc120\ud0dd
title.html=egovframe common component
title.detail=\uc0c1\uc138\uc870\ud68c
title.inquire=\uc870\ud68c
title.update=\uc218\uc815
title.create=\ub4f1\ub85d
title.delete=\uc0ad\uc81c
title.save=\uc800\uc7a5
title.list=\ubaa9\ub85d
title.searchCondition=\uac80\uc0c9\uc870\uac74
title.search=\uac80\uc0c9\uc5b4
title.reply=\ub2f5\uae00
title.scrap=\uc2a4\ud06c\ub7a9
title.comment=\ub313\uae00
title.attachedFileSelect=\ud30c\uc77c\uc120\ud0dd
title.attachedFileDelete=\ud30c\uc77c\uc0ad\uc81c
title.link=\ub9c1\ud06c
title.management=\uad00\ub9ac
title.all=\uc804\uccb4
input.select=\uc120\ud0dd\ud558\uc138\uc694
input.cSelect=\uc120\ud0dd
input.input=\uc785\ub825
input.button=\ubc84\ud2bc
input.selectAll.title=\uc804\uccb4\uc120\ud0dd\uccb4\ud06c\ubc15\uc2a4
input.yes=\uc608
input.no=\uc544\ub2c8\uc624
select.searchCondition=\uc870\ud68c\uc870\uac74 \uc120\ud0dd
button.select=\uc120\ud0dd
button.search=\uac80\uc0c9
button.use=\uc0ac\uc6a9
button.notUsed=\uc0ac\uc6a9\uc911\uc9c0
button.inquire=\uc870\ud68c
button.update=\uc218\uc815
button.create=\ub4f1\ub85d
button.delete=\uc0ad\uc81c
button.deleteDatabase=\uc644\uc804\uc0ad\uc81c
button.close=\ub2eb\uae30
button.save=\uc800\uc7a5
button.list=\ubaa9\ub85d
button.reset=\ucde8\uc18c
button.passwordUpdate=\uc554\ud638\ubcc0\uacbd
button.subscribe=\uac00\uc785\uc2e0\uccad
button.realname=\uc2e4\uba85\ud655\uc778
button.moveToGpin=GPIN\uc2e4\uba85\ud655\uc778\uc73c\ub85c \uc774\ub3d9
button.moveToIhidnum=\uc8fc\ubbfc\ub4f1\ub85d\ubc88\ud638 \uc2e4\uba85\ud655\uc778\uc73c\ub85c \uc774\ub3d9
button.agree=\ub3d9\uc758
button.disagree=\ube44\ub3d9\uc758
button.possible=\uac00\ub2a5
button.impossible=\ubd88\uac00\ub2a5
button.qnaregist=Q&A\ub4f1\ub85d
button.cnsltregist=\uc0c1\ub2f4\ub4f1\ub85d
button.preview=\ubbf8\ub9ac\ubcf4\uae30
button.next=\ub2e4\uc74c
button.add=\ubc14\ub85c\ucd94\uac00
button.confirm=\ud655\uc778
button.back = \ub4a4\ub85c
button.yes = \uc608
button.no = \uc544\ub2c8\uc624
button.home = \ud648
button.user = \uc0ac\uc6a9\uc790\uc9c0\uc6d0
button.cop = \ud611\uc5c5
button.wrkstart = \ucd9c\uadfc
button.wrkend = \ud1f4\uadfc
button.reply = \ub2f5\uae00
button.scrap = \uc2a4\ud06c\ub7a9
button.comment = \ub313\uae00
button.excel = \uc5d1\uc140
button.init=\ucd08\uae30\ud654
button.acknowledgment=\uc2b9\uc778
button.cancelAcknowledgment=\uc2b9\uc778\ucde8\uc18c
button.bulkUpload=\uc77c\uad04\ub4f1\ub85d
button.log = \ub85c\uadf8
button.set = \uc124\uc815
button.move = \uc774\ub3d9
#UI Common Message#
common.noScriptTitle.msg=\uc790\ubc14\uc2a4\ud06c\ub9bd\ud2b8\ub97c \uc9c0\uc6d0\ud558\uc9c0 \uc54a\ub294 \ube0c\ub77c\uc6b0\uc800\uc5d0\uc11c\ub294 \uc77c\ubd80 \uae30\ub2a5\uc744 \uc0ac\uc6a9\ud558\uc2e4 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4.
common.searchCondition.msg=\uc774 \ub808\uc774\uc544\uc6c3\uc740 \ud558\ub2e8 \uc815\ubcf4\ub97c \ub300\ud55c \uac80\uc0c9 \uc815\ubcf4\ub85c \uad6c\uc131\ub418\uc5b4 \uc788\uc2b5\ub2c8\ub2e4.
common.summary.list={0}\uc758 \ub0b4\uc5ed\uc5d0 \ub300\ud55c \ubaa9\ub85d\uc744 \ucd9c\ub825\ud569\ub2c8\ub2e4.
common.summary.regist={0}\uc758 \ub4f1\ub85d \uac00\ub2a5\ud55c \ub0b4\uc6a9\uc744 \uc785\ub825\ud558\uc5ec \ub4f1\ub85d \ubc84\ud2bc\uc744 \ud074\ub9ad\ud558\uc5ec \ub4f1\ub85d\ud55c\ub2e4.
common.summary.update={0}\uc758 \ub4f1\ub85d \uac00\ub2a5\ud55c \ub0b4\uc6a9\uc744 \uc785\ub825\ud558\uc5ec \ub4f1\ub85d \ubc84\ud2bc\uc744 \ud074\ub9ad\ud558\uc5ec \uc218\uc815\ud55c\ub2e4.
common.summary.inqire={0}\uc758 \ub0b4\uc5ed\uc5d0 \ub300\ud55c \uc0c1\uc138\uc870\ud68c \ub0b4\uc5ed\uc744 \ucd9c\ub825\ud569\ub2c8\ub2e4.
common.save.msg=\uc800\uc7a5\ud558\uc2dc\uaca0\uc2b5\ub2c8\uae4c?
common.regist.msg=\ub4f1\ub85d\ud558\uc2dc\uaca0\uc2b5\ub2c8\uae4c?
common.delete.msg=\uc0ad\uc81c\ud558\uc2dc\uaca0\uc2b5\ub2c8\uae4c?
common.update.msg=\uc218\uc815\ud558\uc2dc\uaca0\uc2b5\ub2c8\uae4c?
common.nodata.msg=\uc790\ub8cc\uac00 \uc5c6\uc2b5\ub2c8\ub2e4. \ub2e4\ub978 \uac80\uc0c9\uc870\uac74\uc744 \uc120\ud0dd\ud574\uc8fc\uc138\uc694
common.required.msg=(\uc740)\ub294 \ud544\uc218\uc785\ub825\ud56d\ubaa9\uc785\ub2c8\ub2e4.
common.acknowledgement.msg=\uc2b9\uc778\ud558\uc2dc\uaca0\uc2b5\ub2c8\uae4c?
common.acknowledgementcancel.msg=\uc2b9\uc778\ucde8\uc18c\ud558\uc2dc\uaca0\uc2b5\ub2c8\uae4c?
common.nocomment.msg=\ub313\uae00\uc774 \uc5c6\uc2b5\ub2c8\ub2e4.
common.noguest.msg=\uc791\uc131\ub41c \ubc29\uba85\ub85d\uc774 \uc5c6\uc2b5\ub2c8\ub2e4.
success.request.msg = \uc694\uccad\ucc98\ub9ac\uac00 \uc131\uacf5\uc801\uc73c\ub85c \uc218\ud589\ub418\uc5c8\uc2b5\ub2c8\ub2e4.
success.common.select=\uc815\uc0c1\uc801\uc73c\ub85c \uc870\ud68c\ub418\uc5c8\uc2b5\ub2c8\ub2e4.
success.common.insert=\uc815\uc0c1\uc801\uc73c\ub85c \ub4f1\ub85d\ub418\uc5c8\uc2b5\ub2c8\ub2e4.
success.common.update=\uc815\uc0c1\uc801\uc73c\ub85c \uc218\uc815\ub418\uc5c8\uc2b5\ub2c8\ub2e4.
success.common.delete=\uc815\uc0c1\uc801\uc73c\ub85c \uc0ad\uc81c\ub418\uc5c8\uc2b5\ub2c8\ub2e4.
common.imposbl.fileupload = \ub354 \uc774\uc0c1 \ud30c\uc77c\uc744 \ucca8\ubd80\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4.
common.isConfmDe.msg=\uc2b9\uc778\uc77c\uc790\ub97c \ud655\uc778 \ubc14\ub78d\ub2c8\ub2e4.
common.isExist.msg = \uc774\ubbf8 \uc874\uc7ac\ud558\uac70\ub098 \uacfc\uac70\uc5d0 \ub4f1\ub85d\uc774 \ub418\uc5c8\ub358 \uc0c1\ud0dc\uc785\ub2c8\ub2e4.
fail.common.insert = \uc0dd\uc131\uc774 \uc2e4\ud328\ud558\uc600\uc2b5\ub2c8\ub2e4.
fail.common.update = \uc218\uc815\uc774 \uc2e4\ud328\ud558\uc600\uc2b5\ub2c8\ub2e4.
fail.common.delete = \uc0ad\uc81c\uac00 \uc2e4\ud328\ud558\uc600\uc2b5\ub2c8\ub2e4.
fail.common.delete.upperMenuExist = \ucc38\uc870\ub418\ub294 \uba54\ub274\uac00 \uc788\uc5b4 \uc0ad\uc81c\uac00 \uc2e4\ud328\ud558\uc600\uc2b5\ub2c8\ub2e4.
fail.common.select = \uc870\ud68c\uc5d0 \uc2e4\ud328\ud558\uc600\uc2b5\ub2c8\ub2e4.
fail.common.login = \ub85c\uadf8\uc778 \uc815\ubcf4\uac00 \uc62c\ubc14\ub974\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.
fail.common.loginIncorrect = {0}\ud68c \uc774\uc0c1 \ub85c\uadf8\uc778 \uc811\uc18d\uc774 \uc2dc\ub3c4 \ub418\uc5b4 \uacc4\uc815\uc774 \uc7a0\uaca8\uc2b5\ub2c8\ub2e4!
fail.common.login.password = \ud328\uc2a4\uc6cc\ub4dc \uc790\ub9ac \uc218\uac00 \uc77c\uce58 \ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.(8\uc790\ub9ac \uc774\uc0c1 20\uc790\ub9ac \uc774\ud558)
fail.common.idsearch = \uc544\uc774\ub514\ub97c \ucc3e\uc744\uc218 \uc5c6\uc2b5\ub2c8\ub2e4.
fail.common.pwsearch = \ube44\ubc00\ubc88\ud638\ub97c \ucc3e\uc744\uc218 \uc5c6\uc2b5\ub2c8\ub2e4.
fail.request.msg = \uc694\uccad\ucc98\ub9ac\ub97c \uc2e4\ud328\ud558\uc600\uc2b5\ub2c8\ub2e4.
fail.common.login.ip = \ub4f1\ub85d\ub41c IP\uac00 \uc544\ub2c8\ubbc0\ub85c \ub85c\uadf8\uc778\uc774 \uac70\ubd80\ub418\uc5c8\uc2b5\ub2c8\ub2e4.
#UI User Message#
fail.user.passwordUpdate1=\ud604\uc7ac \ube44\ubc00\ubc88\ud638\uac00 \ub9de\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.
fail.user.passwordUpdate2=\ube44\ubc00\ubc88\ud638\uc640 \ube44\ubc00\ubc88\ud638 \ud655\uc778\uc774 \uc77c\uce58\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.
info.user.rlnmCnfirm=\uc8fc\ubbfc\ub4f1\ub85d\ubc88\ud638\ub97c \uc0ac\uc6a9\ud558\uc5ec \uc2e4\uba85\ud655\uc778\uc744 \ud558\uc2ed\uc2dc\uc624.
success.user.rlnmCnfirm=\ud589\uc815\uc548\uc804\ubd80\uc758 \uc8fc\ubbfc\ub4f1\ub85d\uc790\ub8cc\uc640 \uc77c\uce58\ud569\ub2c8\ub2e4.
fail.user.rlnmCnfirm=\ud589\uc815\uc548\uc804\ubd80\uc758 \uc8fc\ubbfc\ub4f1\ub85d\uc790\ub8cc\uc640 \uc77c\uce58\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.
fail.user.connectFail=\uc2dc\uc2a4\ud15c \uc7a5\uc560\uac00 \ubc1c\uc0dd\ud588\uc2b5\ub2c8\ub2e4.(\uc778\uc99d\uc11c\ubc84 \uc5f0\uacb0 \uc2e4\ud328)
info.user.rlnmPinCnfirm=\uacf5\uacf5 \uc544\uc774\ud540 \uc544\uc774\ub514\ub97c \uc0ac\uc6a9\ud558\uc5ec \uc2e4\uba85\ud655\uc778\uc744 \ud558\uc2ed\uc2dc\uc624.
success.user.rlnmPinCnfirm=\uacf5\uacf5\uc544\uc774\ud540\uc758 \ub4f1\ub85d\uc790\ub8cc\uc640 \uc77c\uce58\ud569\ub2c8\ub2e4.
fail.user.rlnmPinCnfirm=\uacf5\uacf5\uc544\uc774\ud540\uc758 \ub4f1\ub85d\uc790\ub8cc\uc640 \uc77c\uce58\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.
#UI Cop Message#
cop.extrlUser = \uc678\ubd80\uc0ac\uc6a9\uc790
cop.intrlUser = \ub0b4\ubd80\uc0ac\uc6a9\uc790
cop.private = \ube44\uacf5\uac1c
cop.public = \uacf5\uac1c
cop.adbkNm = \uc8fc\uc18c\ub85d\uba85
cop.othbcScope = \uacf5\uac1c\ubc94\uc704
cop.company = \ud68c\uc0ac
cop.part = \ubd80\uc11c
cop.man = \uac1c\uc778
cop.adbkUser = \uad6c\uc131\uc6d0
cop.bbsNm = \uac8c\uc2dc\ud310\uba85
cop.bbsIntrcn = \uac8c\uc2dc\ud310\uc18c\uac1c
cop.bbsTyCode = \uac8c\uc2dc\ud310 \uc720\ud615
cop.bbsAttrbCode = \uac8c\uc2dc\ud310 \uc18d\uc131
cop.replyPosblAt = \ub2f5\uc7a5\uac00\ub2a5\uc5ec\ubd80
cop.fileAtchPosblAt = \ud30c\uc77c\ucca8\ubd80\uac00\ub2a5\uc5ec\ubd80
cop.posblAtchFileNumber = \ucca8\ubd80\uac00\ub2a5\ud30c\uc77c \uc22b\uc790
cop.tmplatId = \ud15c\ud50c\ub9bf \uc815\ubcf4
cop.guestList.subject = \ubc29\uba85\ub85d \uac8c\uc2dc\uae00\uc785\ub2c8\ub2e4.
cop.nttSj = \uc81c\ubaa9
cop.nttCn = \uae00\ub0b4\uc6a9
cop.ntceBgnde = \uac8c\uc2dc\uc2dc\uc791\uc77c
cop.ntceEndde = \uac8c\uc2dc\uc885\ub8cc\uc77c
cop.ntcrNm = \uc791\uc131\uc790
cop.password = \ud328\uc2a4\uc6cc\ub4dc
cop.atchFile = \ud30c\uc77c\ucca8\ubd80
cop.guestList = \ubc29\uba85\ub85d
cop.guestListCn = \ubc29\uba85\ub85d \ub0b4\uc6a9
cop.noticeTerm = \uac8c\uc2dc\uae30\uac04
cop.atchFileList = \ucca8\ubd80\ud30c\uc77c\ubaa9\ub85d
cop.cmmntyNm = \ucee4\ubba4\ub2c8\ud2f0\uba85
cop.cmmntyIntrcn = \ucee4\ubba4\ub2c8\ud2f0 \uc18c\uac1c
cop.cmmntyMngr = \ucee4\ubba4\ub2c8\ud2f0 \uad00\ub9ac\uc790
cop.clbOprtr = \ub3d9\ud638\ud68c \uc6b4\uc601\uc790
cop.clbIntrcn = \ub3d9\ud638\ud68c \uc18c\uac1c
cop.clbNm = \ub3d9\ud638\ud68c \uba85
cop.tmplatNm = \ud15c\ud50c\ub9bf\uba85
cop.tmplatSeCode = \ud15c\ud50c\ub9bf \uad6c\ubd84
cop.tmplatCours = \ud15c\ud50c\ub9bf\uacbd\ub85c
cop.useAt = \uc0ac\uc6a9\uc5ec\ubd80
cop.ncrdNm = \uc774\ub984
cop.cmpnyNm = \ud68c\uc0ac\uba85
cop.deptNm = \ubd80\uc11c\uba85
cop.ofcpsNm = \uc9c1\uc704
cop.clsfNm = \uc9c1\uae09
cop.emailAdres = \uc774\uba54\uc77c\uc8fc\uc18c
cop.telNo = \uc804\ud654\ubc88\ud638
cop.mbtlNum = \ud734\ub300\ud3f0\ubc88\ud638
cop.adres = \uc8fc\uc18c
cop.extrlUserAt = \uc678\ubd80\uc0ac\uc6a9\uc790\uc5ec\ubd80
cop.publicAt = \uacf5\uac1c\uc5ec\ubd80
cop.remark = \ube44\uace0
cop.trgetNm = \ucee4\ubba4\ub2c8\ud2f0/\ub3d9\ud638\ud68c \uc815\ubcf4
cop.preview = \ubbf8\ub9ac\ubcf4\uae30
cop.withdraw.msg=\ud0c8\ud1f4\ucc98\ub9ac \ud558\uc2dc\uaca0\uc2b5\ub2c8\uae4c?
cop.reregist.msg=\uc7ac\uac00\uc785 \ucc98\ub9ac\ud558\uc2dc\uaca0\uc2b5\ub2c8\uae4c?
cop.registmanager.msg=\uc6b4\uc601\uc9c4\uc73c\ub85c \ub4f1\ub85d\ud558\uc2dc\uaca0\uc2b5\ub2c8\uae4c?
cop.use.msg=\uc0ac\uc6a9 \ucc98\ub9ac\ud558\uc2dc\uaca0\uc2b5\ub2c8\uae4c?
cop.unuse.msg=\uc0ac\uc6a9\uc911\uc9c0 \ucc98\ub9ac\ud558\uc2dc\uaca0\uc2b5\ub2c8\uae4c?
cop.delete.confirm.msg=\uc0ac\uc6a9\uc911\uc9c0\ub97c \uc120\ud0dd\ud558\uc2e4 \uacbd\uc6b0 \ub2e4\uc2dc \uc0ac\uc6a9\uc73c\ub85c \ubcc0\uacbd\uc774 \ubd88\uac00\ub2a5\ud569\ub2c8\ub2e4.
cop.ing.msg=\uc2b9\uc778\uc694\uccad \uc911\uc785\ub2c8\ub2e4.
cop.request.msg=\uac00\uc785\uc2e0\uccad\uc774 \uc815\uc0c1\uc801\uc73c\ub85c \uc694\uccad\ub418\uc5c8\uc2b5\ub2c8\ub2e4
cop.password.msg=\ud328\uc2a4\uc6cc\ub4dc\ub97c \uc785\ub825\ud574 \uc8fc\uc2ed\uc2dc\uc624.
cop.password.not.same.msg=\ud328\uc2a4\uc6cc\ub4dc\uac00 \uc77c\uce58\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.
cop.comment.wrterNm = \uc791\uc131\uc790
cop.comment.commentCn = \ub0b4\uc6a9
cop.comment.commentPassword = \ud328\uc2a4\uc6cc\ub4dc
cop.satisfaction.wrterNm = \uc791\uc131\uc790
cop.satisfaction.stsfdgCn = \ub0b4\uc6a9
cop.satisfaction.stsfdg = \ub9cc\uc871\ub3c4
cop.satisfaction.stsfdgPassword = \ud328\uc2a4\uc6cc\ub4dc
cop.scrap.scrapNm = \uc2a4\ud06c\ub7a9\uba85
#UI USS Message#
uss.ion.noi.ntfcSj=\uc81c\ubaa9
uss.ion.noi.ntfcCn=\ub0b4\uc6a9
uss.ion.noi.ntfcDate=\uc54c\ub9bc\uc77c\uc790
uss.ion.noi.ntfcTime=\uc54c\ub9bc\uc2dc\uac04
uss.ion.noi.ntfcHH=\uc54c\ub9bc\uc2dc\uac04
uss.ion.noi.ntfcMM=\uc54c\ub9bc\ubd84
uss.ion.noi.bhNtfcIntrvl=\uc0ac\uc804\uc54c\ub9bc\uac04\uaca9
uss.ion.noi.bhNtfcIntrvl.msg=\uc0ac\uc804\uc54c\ub9bc\uac04\uaca9 \uc9c0\uc815\uc774 \ud544\uc694\ud569\ub2c8\ub2e4.
uss.ion.noi.alertNtfcTime=\uc54c\ub9bc\uc77c\uc790 \ubc0f \uc2dc\uac04\uc774 \uc720\ud6a8\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.
#UI COP Message#
cop.sms.trnsmitTelno=\ubc1c\uc2e0\uc804\ud654\ubc88\ud638
cop.sms.trnsmitCn=\uc804\uc1a1\ub0b4\uc6a9
cop.sms.recptnTelno=\uc218\uc2e0\uc804\ud654\ubc88\ud638
cop.sms.send=\uc804\uc1a1
cop.sms.addRecptn=\ucd94\uac00
cop.sms.recptnTelno.msg=\uc218\uc2e0\uc804\ud654\ubc88\ud638 \uc9c0\uc815\uc774 \ud544\uc694\ud569\ub2c8\ub2e4.
#UI sym.log Message#
sym.log.histSeCode = \uc774\ub825\uad6c\ubd84
sym.log.sysNm = \uc2dc\uc2a4\ud15c\uba85
sym.log.histCn = \uc774\ub825\ub0b4\uc6a9
sym.log.atchFile = \ucca8\ubd80\ud30c\uc77c
sym.log.atchFileList = \ucca8\ubd80\ud30c\uc77c\ubaa9\ub85d
sym.ems.receiver = \ubc1b\ub294\uc0ac\ub78c
sym.ems.title = \uc81c\ubaa9
sym.ems.content = \ubc1c\uc2e0\ub0b4\uc6a9
#Vlidator Errors#
errors.prefix=<div class="error">
errors.suffix=</div><br/>
errors.required={0}\uc740(\ub294) \ud544\uc218 \uc785\ub825\uac12\uc785\ub2c8\ub2e4.
errors.minlength={0}\uc740(\ub294) {1}\uc790 \uc774\uc0c1 \uc785\ub825\ud574\uc57c \ud569\ub2c8\ub2e4.
errors.maxlength={0}\uc740(\ub294) {1}\uc790 \uc774\uc0c1 \uc785\ub825\ud560\uc218 \uc5c6\uc2b5\ub2c8\ub2e4.
errors.invalid={0}\uc740(\ub294) \uc720\ud6a8\ud558\uc9c0 \uc54a\uc740 \uac12\uc785\ub2c8\ub2e4.
errors.minInteger={0}\uc740(\ub294) \uc720\ud6a8\ud55c \uac12\uc774 \uc544\ub2d9\ub2c8\ub2e4. 1 \uc774\uc0c1\uc758 \uac12\uc744 \uc785\ub825\ud574\uc57c \ud569\ub2c8\ub2e4.
errors.byte={0}\uc740(\ub294) byte\ud0c0\uc785\uc774\uc5b4\uc57c \ud569\ub2c8\ub2e4.
errors.short={0}\uc740(\ub294) short\ud0c0\uc785\uc774\uc5b4\uc57c \ud569\ub2c8\ub2e4.
errors.integer={0}\uc740(\ub294) \uc815\uc218 \ud0c0\uc785\uc774\uc5b4\uc57c \ud569\ub2c8\ub2e4.
errors.long={0}\uc740(\ub294) long \ud0c0\uc785\uc774\uc5b4\uc57c \ud569\ub2c8\ub2e4.
errors.float={0}\uc740(\ub294) \uc2e4\uc218 \ud0c0\uc785\uc774\uc5b4\uc57c \ud569\ub2c8\ub2e4.
errors.double={0}\uc740(\ub294) double \ud0c0\uc785\uc774\uc5b4\uc57c \ud569\ub2c8\ub2e4.
errors.date={0}\uc740(\ub294) \ub0a0\uc9dc \uc720\ud615\uc774 \uc544\ub2d9\ub2c8\ub2e4.
errors.range={0}\uc740(\ub294) {1}\uacfc {2} \uc0ac\uc774\uc758 \uac12\uc774\uc5b4\uc57c \ud569\ub2c8\ub2e4.
errors.creditcard={0}\uc740(\ub294) \uc720\ud6a8\ud558\uc9c0 \uc54a\uc740 \uc2e0\uc6a9\uce74\ub4dc \ubc88\ud638\uc785\ub2c8\ub2e4.
errors.email={0}\uc740(\ub294) \uc720\ud6a8\ud558\uc9c0 \uc54a\uc740 \uc774\uba54\uc77c \uc8fc\uc18c\uc785\ub2c8\ub2e4.
errors.ihidnum=\uc720\ud6a8\ud558\uc9c0 \uc54a\uc740 \uc8fc\ubbfc\ub4f1\ub85d\ubc88\ud638\uc785\ub2c8\ub2e4.
errors.korean={0}\uc740(\ub294) \ud55c\uae00\uc744 \uc785\ub825\ud558\uc154\uc57c \ud569\ub2c8\ub2e4.
errors.ip=\uc720\ud6a8\ud558\uc9c0 \uc54a\uc740 IP\uc8fc\uc18c\uc785\ub2c8\ub2e4.
errors.password1={0}\uc740(\ub294) 8~20\uc790 \ub0b4\uc5d0\uc11c \uc785\ub825\ud574\uc57c \ud569\ub2c8\ub2e4.
errors.password2={0}\uc740(\ub294) \ud55c\uae00,\ud2b9\uc218\ubb38\uc790,\ub744\uc5b4\uc4f0\uae30\ub294 \ud5c8\uc6a9\ub418\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.
errors.password3={0}\uc740(\ub294) \uc21c\ucc28\uc801\uc778 \uc22b\uc790\ub97c 4\uac1c\uc774\uc0c1 \uc5f0\uc18d\ud574\uc11c \uc0ac\uc6a9\ud560\uc218 \uc5c6\uc2b5\ub2c8\ub2e4.
errors.password4={0}\uc740(\ub294) \ubc18\ubcf5\ub418\ub294 \ubb38\uc790\ub098 \uc22b\uc790\ub97c 4\uac1c\uc774\uc0c1 \uc5f0\uc18d\ud574\uc11c \uc0ac\uc6a9\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4.
errors.notKorean={0}\uc740(\ub294) \ud55c\uae00\uc744 \uc0ac\uc6a9\ud558\uc2e4\uc218 \uc5c6\uc2b5\ub2c8\ub2e4.
error.security.runtime.error = error
#Xss Errors#
errors.xss.checkerUser=\ud574\ub2f9 \uae30\ub2a5\uc5d0 \ub300\ud55c \uc0ac\uc6a9 \ubc0f \ucc98\ub9ac \uad8c\ud55c\uc774 \uc5c6\uc2b5\ub2c8\ub2e4.
#File Upload / Download
errors.file.extension=\uc9c0\uc6d0\ub418\ub294 \ud30c\uc77c\uc720\ud615\uc774 \uc544\ub2d9\ub2c8\ub2e4.
errors.file.transfer=\ud30c\uc77c\uc804\uc1a1\uc911 \uc624\ub958\uac00 \ubc1c\uc0dd\ud588\uc2b5\ub2c8\ub2e4.
success.file.transfer=\ud30c\uc77c\uc804\uc1a1\uc774 \uc644\ub8cc\ub418\uc5c8\uc2b5\ub2c8\ub2e4.
#Vlidator Errors- wordDicaryVO#
wordDicaryVO.wordNm=\uc6a9\uc5b4\uba85
wordDicaryVO.engNm=\uc601\ubb38\uba85
wordDicaryVO.wordDc=\uc6a9\uc5b4\uc124\uba85
wordDicaryVO.synonm=\ub3d9\uc758\uc5b4
#Vlidator Errors- cnsltManageVO#
cnsltManageVO.cnsltSj=\uc0c1\ub2f4\uc81c\ubaa9
cnsltManageVO.cnsltCn=\uc0c1\ub2f4\ub0b4\uc6a9
cnsltManageVO.writngPassword=\uc791\uc131\ube44\ubc00\ubc88\ud638
cnsltManageVO.areaNo=\uc9c0\uc5ed\ubc88\ud638
cnsltManageVO.middleTelno=\uc911\uac04\uc804\ud654\ubc88\ud638
cnsltManageVO.endTelno=\ub05d\uc804\ud654\ubc88\ud638
cnsltManageVO.wrterNm=\uc791\uc131\uc790\uba85
cnsltManageVO.managtCn=\ub2f5\ubcc0\ub0b4\uc6a9
#Vlidator Errors- siteManageVO#
siteManageVO.siteNm=\uc0ac\uc774\ud2b8\uba85
siteManageVO.siteUrl=\uc0ac\uc774\ud2b8 URL
siteManageVO.siteDc=\uc0ac\uc774\ud2b8\uc124\uba85
siteManageVO.siteThemaClCode=\uc0ac\uc774\ud2b8\uc8fc\uc81c\ubd84\ub958
siteManageVO.actvtyAt=\ud65c\uc131\uc5ec\ubd80
siteManageVO.useAt=\uc0ac\uc6a9\uc5ec\ubd80
#Vlidator Errors- recomendSiteManageVO#
recomendSiteManageVO.recomendSiteNm=\ucd94\ucc9c\uc0ac\uc774\ud2b8\uba85
recomendSiteManageVO.recomendSiteUrl=\ucd94\ucc9c\uc0ac\uc774\ud2b8 URL
recomendSiteManageVO.recomendSiteDc=\ucd94\ucc9c\uc0ac\uc774\ud2b8\uc124\uba85
recomendSiteManageVO.recomendResnCn=\ucd94\ucc9c\uc0ac\uc774\ud2b8\uc2b9\uc778\uc0ac\uc720
recomendSiteManageVO.confmDe=\uc2b9\uc778\uc77c\uc790
#Vlidator Errors- hpcmManageVO#
hpcmManageVO.hpcmSeCode=\ub3c4\uc6c0\ub9d0\uad6c\ubd84
hpcmManageVO.hpcmDf=\ub3c4\uc6c0\ub9d0\uc815\uc758
hpcmManageVO.hpcmDc=\ub3c4\uc6c0\ub9d0\uc124\uba85
#Vlidator Errors- newsManageVO#
newsManageVO.newsSj=\ub274\uc2a4\uc81c\ubaa9
newsManageVO.newsCn=\ub274\uc2a4\ub0b4\uc6a9
newsManageVO.ntceDe=\uac8c\uc2dc\uc77c\uc790
#Vlidator Errors- faqManageVO#
faqManageVO.qestnSj=\uc9c8\ubb38\uc81c\ubaa9
faqManageVO.qestnCn=\uc9c8\ubb38\ub0b4\uc6a9
faqManageVO.answerCn=\ub2f5\ubcc0\ub0b4\uc6a9
#Vlidator Errors- stplatManageVO#
stplatManageVO.useStplatNm=\uc774\uc6a9\uc57d\uad00\uba85
stplatManageVO.useStplatCn=\uc774\uc6a9\uc57d\uad00\ub0b4\uc6a9
stplatManageVO.infoProvdAgreCn=\uc815\ubcf4\uc81c\uacf5\ub3d9\uc758\ub0b4\uc6a9
#Vlidator Errors- cpyrhtPrtcPolicyVO#
cpyrhtPrtcPolicyVO.cpyrhtPrtcPolicyCn=\uc800\uc791\uad8c\ubcf4\ud638\uc815\ucc45\ub0b4\uc6a9
#Vlidator Errors- qnaManageVO#
qnaManageVO.qestnSj=\uc9c8\ubb38\uc81c\ubaa9
qnaManageVO.qestnCn=\uc9c8\ubb38\ub0b4\uc6a9
qnaManageVO.writngPassword=\uc791\uc131\ube44\ubc00\ubc88\ud638
qnaManageVO.areaNo=\uc9c0\uc5ed\ubc88\ud638
qnaManageVO.middleTelno=\uc911\uac04\uc804\ud654\ubc88\ud638
qnaManageVO.endTelno=\ub05d\uc804\ud654\ubc88\ud638
qnaManageVO.wrterNm=\uc791\uc131\uc790\uba85
qnaManageVO.answerCn=\ub2f5\ubcc0\ub0b4\uc6a9
#Vlidator Errors- ReprtStatsVO#
sts.reprtId = \ubcf4\uace0\uc11cID
sts.title = \ubcf4\uace0\uc11c\uba85
sts.category = \ubcf4\uace0\uc11c\uc720\ud615
sts.status = \uc9c4\ud589\uc0c1\ud0dc
sts.regDate = \ub4f1\ub85d\uc77c\uc2dc
#Rest day messages#
sym.cal.restDay = \ud734\uc77c\uc77c\uc790
sym.cal.restName = \ud734\uc77c\uba85
sym.cal.restDetail = \ud734\uc77c\uc124\uba85
sym.cal.restCategory = \ud734\uc77c\uad6c\ubd84
image.errorBg = \uc624\ub958\uc774\ubbf8\uc9c0
#Custom message#
custom.fail.access=\uc815\uc0c1\uc801\uc778 \uc811\uadfc\uc774 \uc544\ub2d9\ub2c8\ub2e4. \ub85c\uadf8\uc778 \ud6c4 \uc774\uc6a9\ud558\uc138\uc694.
custom.fail.accessDenied=\uc694\uccad\uc5d0 \ub300\ud55c \uad8c\ud55c\uc774 \uc5c6\uc2b5\ub2c8\ub2e4.
custom.isNotExist.msg=\ucc98\ub9ac\uc5d0 \ud544\uc694\ud55c \uc790\ub8cc\uac00 \uc874\uc7ac\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.

@ -1,277 +0,0 @@
fail.common.msg=error ocurred!
fail.common.sql=sql error ocurred! error code: {0}, error msg: {1}
info.nodata.msg=no data found.
#UI Common resource#
table.num=num.
table.regdate=reg.date
table.reger=registrant
table.select=select
title.html=egovframe common component
title.detail=Detail Inquiry
title.inquire=Inquire
title.update=Modify
title.create=Create
title.delete=Delete
title.save=Save
title.list=List
title.searchCondition=search condition
title.search=keyword
title.reply=reply
title.scrap=scrap
title.comment=comment
title.attachedFileSelect=attached file
title.attachedFileDelete=attached file delete
title.link=link
title.management=Management
title.all=All
input.select=Select
input.cSelect=Select
input.input=input
input.button=button
input.selectAll.title=Checkbox select all
input.yes=Yes
input.no=No
select.searchCondition=select condition select
button.select=select
button.search=Search
button.use=use
button.notUsed=Not used
button.inquire=inquire
button.update=update
button.create=create
button.delete=delete
button.deleteDatabase=Wiping
button.close=close
button.save=save
button.list=list
button.reset=reset
button.passwordUpdate=password update
button.subscribe=subscribe
button.realname=realname confirm
button.moveToGpin=move to gpin confirm
button.moveToIhidnum=move to ihidnum confirm
button.agree=agree
button.disagree=disagree
button.possible=possible
button.impossible=impossible
button.qnaregist=Q&A create
button.cnsltregist=Counsel create
button.preview=preview
button.next=nexut
button.add=add it now
button.confirm=confirm
button.back =back
button.yes =yes
button.no =no
button.home =home
button.user =user support
button.cop =cooperation
button.wrkstart = work start
button.wrkend = work end
button.reply = reply
button.scrap = scrap
button.comment = comment
button.excel = excel
button.init=init
button.acknowledgment=acknowledgment
button.cancelAcknowledgment=cancel acknowledgment
button.bulkUpload=bulk upload
button.log = log
button.set = set
button.move = move
#UI Common Message#
common.noScriptTitle.msg=I can't use all functions in browser JavaScript is not supported.
common.searchCondition.msg=This layout is a lower information searches made up of information.
common.summary.list={0} A list of the details of the output.
common.summary.regist={0} Registered by typing the possible contents of registers by clicking the button.
common.summary.update={0} Registered by typing the possible content of modification by clicking the button.
common.summary.inqire={0} Full inquiry details about the details of the output.
common.save.msg=confirm save?
common.regist.msg=confirm regist?
common.delete.msg=confirm delete?
common.update.msg=confirm update?
common.nodata.msg=There is no data. please choose another seach keyword
common.required.msg=is required field
common.acknowledgement.msg=confirm acknowledgement?
common.acknowledgementcancel.msg=confirm acknowledgement cancel?
common.nocomment.msg=There is no comment.
common.noguest.msg=There is no guest notice.
success.request.msg=you're request successfully done
success.common.select=successfully selected
success.common.insert=successfully inserted
success.common.update=successfully updated
success.common.delete=successfully deleted
common.imposbl.fileupload = cannot upload files
common.isConfmDe.msg=Please check the approval date box
common.isExist.msg = already exist
fail.common.insert = fail to insert.
fail.common.update = fail to update
fail.common.delete = fail to delete
fail.common.delete.upperMenuExist = fail to delete[upperMenuId foreign key error]
fail.common.select = fail to select
fail.common.login = login information is not correct
fail.common.loginIncorrect = login in more than {0} account will be locked!
fail.common.login.password = password information is not correct(password digit should be 8 to 20)
fail.common.idsearch = can not find id
fail.common.pwsearch = can not find password
fail.request.msg = Failed to handle the request
fail.common.login.ip = Login is refused because it is not a registered IP.
#UI User Message#
fail.user.passwordUpdate1=current password is not correct
fail.user.passwordUpdate2=password confirm is not correct
info.user.rlnmCnfirm=realname confirm ready
success.user.rlnmCnfirm=it is realname
fail.user.rlnmCnfirm=it is not realname
fail.user.connectFail=connection fail
#UI Cop Message#
cop.extrlUser = External User
cop.intrlUser = Internal User
cop.private = private
cop.public = public
cop.bbsNm = BBS Name
cop.bbsIntrcn = BBS Introduction
cop.bbsTyCode = BBS Type
cop.bbsAttrbCode = BBS Attribute
cop.replyPosblAt = Reply Possible Alternative
cop.fileAtchPosblAt = File Attach Possible Alternative
cop.posblAtchFileNumber = Possible Attach File Number
cop.tmplatId = Template Information
cop.guestList.subject = This article registered by Guest List
cop.nttSj = Notice Subject
cop.nttCn = Notice Contents
cop.ntceBgnde = Notice Start Date
cop.ntceEndde = Notice End Date
cop.ntcrNm = Noticer Name
cop.password = PassWord
cop.atchFile = Attach Files
cop.guestList = Guest List
cop.guestListCn = Guest List Contents
cop.noticeTerm = Notice term
cop.atchFileList = Attached File List
cop.cmmntyNm = Community Name
cop.cmmntyIntrcn = Community Introduction
cop.cmmntyMngr = Community Manager
cop.clbOprtr = Club Operator
cop.clbIntrcn = Club Introduction
cop.clbNm = Club Name
cop.tmplatNm = Template Name
cop.tmplatSeCode = Template Se Code
cop.tmplatCours = Template Cours
cop.useAt = Use Alternative
cop.ncrdNm = NameCard user name
cop.cmpnyNm = Company name
cop.deptNm = Department name
cop.ofcpsNm = OFCPS name
cop.clsfNm = Class Name
cop.emailAdres = E-mail
cop.telNo = Tel No.
cop.mbtlNum = Mobile
cop.adres = Address
cop.extrlUserAt = External User alternative
cop.publicAt = Public open alternative
cop.remark = Remark
cop.trgetNm = Company/Club Information
cop.preview = preview
cop.withdraw.msg=confirm withdrawal memebership?
cop.reregist.msg=confirm re-registration?
cop.registmanager.msg=confirm registration of manager?
cop.use.msg=confirm use?
cop.unuse.msg=confirm stop using?
cop.delete.confirm.msg=If you choose to disable the re-use change is impossible.
cop.ing.msg=Approval is being requested.
cop.request.msg=Signup is normally requested.
cop.password.msg=Please enter your password.
cop.password.not.same.msg=Password do not match.
cop.comment.wrterNm = Writer Name
cop.comment.commentCn = Comment
cop.comment.commentPassword = Password
cop.satisfaction.wrterNm = Writer Name
cop.satisfaction.stsfdgCn = Satisfaction
cop.satisfaction.stsfdg = Satisfaction Degree
cop.satisfaction.stsfdgPassword = Password
cop.scrap.scrapNm = Scrap Name
#UI USS Message#
uss.ion.noi.ntfcSj=Subject
uss.ion.noi.ntfcCn=Contents
uss.ion.noi.ntfcDate=Notification Date
uss.ion.noi.ntfcTime=Notification Time
uss.ion.noi.ntfcHH=Notification Hour
uss.ion.noi.ntfcMM=Notification Minute
uss.ion.noi.bhNtfcIntrvl=Beforehand Interval
uss.ion.noi.bhNtfcIntrvl.msg=Beforehand Interval is required.
uss.ion.noi.alertNtfcTime=Date and time of notification is not valid.
#UI COP Message#
cop.sms.trnsmitTelno=Sender
cop.sms.trnsmitCn=Contents
cop.sms.recptnTelno=Receiver(s)
cop.sms.send=Send
cop.sms.addRecptn=Add
cop.sms.recptnTelno.msg=The phone number of receiver is required.
#UI sym.log Message#
sym.log.histSeCode = History Code
sym.log.sysNm = System Name
sym.log.histCn = History Contents
sym.log.atchFile = Attached File
sym.log.atchFileList = Attached File List
sym.ems.receiver = Receiver
sym.ems.title = Title
sym.ems.content = Content
#Vlidator Errors#
errors.required={0} is required.
errors.minlength={0} can not be less than {1} characters.
errors.maxlength={0} can not be greater than {1} characters.
errors.invalid={0} is invalid.
errors.byte={0} must be a byte.
errors.short={0} must be a short.
errors.integer={0} must be an integer.
errors.long={0} must be a long.
errors.float={0} must be a float.
errors.double={0} must be a double.
errors.date={0} is not a date.
errors.range={0} is not in the range {1} through {2}.
errors.creditcard={0} is an invalid credit card number.
errors.email={0} is an invalid e-mail address.
#Vlidator Errors- ReprtStatsVO#
sts.reprtId = Report ID
sts.title = Report Title
sts.category = Report Category
sts.status = Report Status
sts.regDate = Registration Date
#Rest day messages#
sym.cal.restDay = Holiday Date
sym.cal.restName = Holiday Name
sym.cal.restDetail = Holiday Detail
sym.cal.restCategory = Holiday Category
#Custom message#
custom.fail.access=It's not a normal approach. Log in and use it.
custom.fail.accessDenied=You do not have permission to request.
custom.isNotExist.msg=Data required for processing does not exist.

@ -1,375 +0,0 @@
fail.common.msg=\uc5d0\ub7ec\uac00 \ubc1c\uc0dd\ud588\uc2b5\ub2c8\ub2e4!
fail.common.sql=sql \uc5d0\ub7ec\uac00 \ubc1c\uc0dd\ud588\uc2b5\ub2c8\ub2e4! error code: {0}, error msg: {1}
info.nodata.msg=\ud574\ub2f9 \ub370\uc774\ud130\uac00 \uc5c6\uc2b5\ub2c8\ub2e4.
#UI Common resource#
table.num=\ubc88\ud638
table.regdate=\ub4f1\ub85d\uc77c
table.reger=\ub4f1\ub85d\uc790
table.select=\uc120\ud0dd
title.html=egovframe common component
title.detail=\uc0c1\uc138\uc870\ud68c
title.inquire=\uc870\ud68c
title.update=\uc218\uc815
title.create=\ub4f1\ub85d
title.delete=\uc0ad\uc81c
title.save=\uc800\uc7a5
title.list=\ubaa9\ub85d
title.searchCondition=\uac80\uc0c9\uc870\uac74
title.search=\uac80\uc0c9\uc5b4
title.reply=\ub2f5\uae00
title.scrap=\uc2a4\ud06c\ub7a9
title.comment=\ub313\uae00
title.attachedFileSelect=\ud30c\uc77c\uc120\ud0dd
title.attachedFileDelete=\ud30c\uc77c\uc0ad\uc81c
title.link=\ub9c1\ud06c
title.management=\uad00\ub9ac
title.all=\uc804\uccb4
input.select=\uc120\ud0dd\ud558\uc138\uc694
input.cSelect=\uc120\ud0dd
input.input=\uc785\ub825
input.button=\ubc84\ud2bc
input.selectAll.title=\uc804\uccb4\uc120\ud0dd\uccb4\ud06c\ubc15\uc2a4
input.yes=\uc608
input.no=\uc544\ub2c8\uc624
select.searchCondition=\uc870\ud68c\uc870\uac74 \uc120\ud0dd
button.select=\uc120\ud0dd
button.search=\uac80\uc0c9
button.use=\uc0ac\uc6a9
button.notUsed=\uc0ac\uc6a9\uc911\uc9c0
button.inquire=\uc870\ud68c
button.update=\uc218\uc815
button.create=\ub4f1\ub85d
button.delete=\uc0ad\uc81c
button.deleteDatabase=\uc644\uc804\uc0ad\uc81c
button.close=\ub2eb\uae30
button.save=\uc800\uc7a5
button.list=\ubaa9\ub85d
button.reset=\ucde8\uc18c
button.passwordUpdate=\uc554\ud638\ubcc0\uacbd
button.subscribe=\uac00\uc785\uc2e0\uccad
button.realname=\uc2e4\uba85\ud655\uc778
button.moveToGpin=GPIN\uc2e4\uba85\ud655\uc778\uc73c\ub85c \uc774\ub3d9
button.moveToIhidnum=\uc8fc\ubbfc\ub4f1\ub85d\ubc88\ud638 \uc2e4\uba85\ud655\uc778\uc73c\ub85c \uc774\ub3d9
button.agree=\ub3d9\uc758
button.disagree=\ube44\ub3d9\uc758
button.possible=\uac00\ub2a5
button.impossible=\ubd88\uac00\ub2a5
button.qnaregist=Q&A\ub4f1\ub85d
button.cnsltregist=\uc0c1\ub2f4\ub4f1\ub85d
button.preview=\ubbf8\ub9ac\ubcf4\uae30
button.next=\ub2e4\uc74c
button.add=\ubc14\ub85c\ucd94\uac00
button.confirm=\ud655\uc778
button.back = \ub4a4\ub85c
button.yes = \uc608
button.no = \uc544\ub2c8\uc624
button.home = \ud648
button.user = \uc0ac\uc6a9\uc790\uc9c0\uc6d0
button.cop = \ud611\uc5c5
button.wrkstart = \ucd9c\uadfc
button.wrkend = \ud1f4\uadfc
button.reply = \ub2f5\uae00
button.scrap = \uc2a4\ud06c\ub7a9
button.comment = \ub313\uae00
button.excel = \uc5d1\uc140
button.init=\ucd08\uae30\ud654
button.acknowledgment=\uc2b9\uc778
button.cancelAcknowledgment=\uc2b9\uc778\ucde8\uc18c
button.bulkUpload=\uc77c\uad04\ub4f1\ub85d
button.log = \ub85c\uadf8
button.set = \uc124\uc815
button.move = \uc774\ub3d9
#UI Common Message#
common.noScriptTitle.msg=\uc790\ubc14\uc2a4\ud06c\ub9bd\ud2b8\ub97c \uc9c0\uc6d0\ud558\uc9c0 \uc54a\ub294 \ube0c\ub77c\uc6b0\uc800\uc5d0\uc11c\ub294 \uc77c\ubd80 \uae30\ub2a5\uc744 \uc0ac\uc6a9\ud558\uc2e4 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4.
common.searchCondition.msg=\uc774 \ub808\uc774\uc544\uc6c3\uc740 \ud558\ub2e8 \uc815\ubcf4\ub97c \ub300\ud55c \uac80\uc0c9 \uc815\ubcf4\ub85c \uad6c\uc131\ub418\uc5b4 \uc788\uc2b5\ub2c8\ub2e4.
common.summary.list={0}\uc758 \ub0b4\uc5ed\uc5d0 \ub300\ud55c \ubaa9\ub85d\uc744 \ucd9c\ub825\ud569\ub2c8\ub2e4.
common.summary.regist={0}\uc758 \ub4f1\ub85d \uac00\ub2a5\ud55c \ub0b4\uc6a9\uc744 \uc785\ub825\ud558\uc5ec \ub4f1\ub85d \ubc84\ud2bc\uc744 \ud074\ub9ad\ud558\uc5ec \ub4f1\ub85d\ud55c\ub2e4.
common.summary.update={0}\uc758 \ub4f1\ub85d \uac00\ub2a5\ud55c \ub0b4\uc6a9\uc744 \uc785\ub825\ud558\uc5ec \ub4f1\ub85d \ubc84\ud2bc\uc744 \ud074\ub9ad\ud558\uc5ec \uc218\uc815\ud55c\ub2e4.
common.summary.inqire={0}\uc758 \ub0b4\uc5ed\uc5d0 \ub300\ud55c \uc0c1\uc138\uc870\ud68c \ub0b4\uc5ed\uc744 \ucd9c\ub825\ud569\ub2c8\ub2e4.
common.save.msg=\uc800\uc7a5\ud558\uc2dc\uaca0\uc2b5\ub2c8\uae4c?
common.regist.msg=\ub4f1\ub85d\ud558\uc2dc\uaca0\uc2b5\ub2c8\uae4c?
common.delete.msg=\uc0ad\uc81c\ud558\uc2dc\uaca0\uc2b5\ub2c8\uae4c?
common.update.msg=\uc218\uc815\ud558\uc2dc\uaca0\uc2b5\ub2c8\uae4c?
common.nodata.msg=\uc790\ub8cc\uac00 \uc5c6\uc2b5\ub2c8\ub2e4. \ub2e4\ub978 \uac80\uc0c9\uc870\uac74\uc744 \uc120\ud0dd\ud574\uc8fc\uc138\uc694
common.required.msg=(\uc740)\ub294 \ud544\uc218\uc785\ub825\ud56d\ubaa9\uc785\ub2c8\ub2e4.
common.acknowledgement.msg=\uc2b9\uc778\ud558\uc2dc\uaca0\uc2b5\ub2c8\uae4c?
common.acknowledgementcancel.msg=\uc2b9\uc778\ucde8\uc18c\ud558\uc2dc\uaca0\uc2b5\ub2c8\uae4c?
common.nocomment.msg=\ub313\uae00\uc774 \uc5c6\uc2b5\ub2c8\ub2e4.
common.noguest.msg=\uc791\uc131\ub41c \ubc29\uba85\ub85d\uc774 \uc5c6\uc2b5\ub2c8\ub2e4.
success.request.msg = \uc694\uccad\ucc98\ub9ac\uac00 \uc131\uacf5\uc801\uc73c\ub85c \uc218\ud589\ub418\uc5c8\uc2b5\ub2c8\ub2e4.
success.common.select=\uc815\uc0c1\uc801\uc73c\ub85c \uc870\ud68c\ub418\uc5c8\uc2b5\ub2c8\ub2e4.
success.common.insert=\uc815\uc0c1\uc801\uc73c\ub85c \ub4f1\ub85d\ub418\uc5c8\uc2b5\ub2c8\ub2e4.
success.common.update=\uc815\uc0c1\uc801\uc73c\ub85c \uc218\uc815\ub418\uc5c8\uc2b5\ub2c8\ub2e4.
success.common.delete=\uc815\uc0c1\uc801\uc73c\ub85c \uc0ad\uc81c\ub418\uc5c8\uc2b5\ub2c8\ub2e4.
common.imposbl.fileupload = \ub354 \uc774\uc0c1 \ud30c\uc77c\uc744 \ucca8\ubd80\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4.
common.isConfmDe.msg=\uc2b9\uc778\uc77c\uc790\ub97c \ud655\uc778 \ubc14\ub78d\ub2c8\ub2e4.
common.isExist.msg = \uc774\ubbf8 \uc874\uc7ac\ud558\uac70\ub098 \uacfc\uac70\uc5d0 \ub4f1\ub85d\uc774 \ub418\uc5c8\ub358 \uc0c1\ud0dc\uc785\ub2c8\ub2e4.
fail.common.insert = \uc0dd\uc131\uc774 \uc2e4\ud328\ud558\uc600\uc2b5\ub2c8\ub2e4.
fail.common.update = \uc218\uc815\uc774 \uc2e4\ud328\ud558\uc600\uc2b5\ub2c8\ub2e4.
fail.common.delete = \uc0ad\uc81c\uac00 \uc2e4\ud328\ud558\uc600\uc2b5\ub2c8\ub2e4.
fail.common.delete.upperMenuExist = \ucc38\uc870\ub418\ub294 \uba54\ub274\uac00 \uc788\uc5b4 \uc0ad\uc81c\uac00 \uc2e4\ud328\ud558\uc600\uc2b5\ub2c8\ub2e4.
fail.common.select = \uc870\ud68c\uc5d0 \uc2e4\ud328\ud558\uc600\uc2b5\ub2c8\ub2e4.
fail.common.login = \ub85c\uadf8\uc778 \uc815\ubcf4\uac00 \uc62c\ubc14\ub974\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.
fail.common.loginIncorrect = {0}\ud68c \uc774\uc0c1 \ub85c\uadf8\uc778 \uc811\uc18d\uc774 \uc2dc\ub3c4 \ub418\uc5b4 \uacc4\uc815\uc774 \uc7a0\uaca8\uc2b5\ub2c8\ub2e4!
fail.common.login.password = \ud328\uc2a4\uc6cc\ub4dc \uc790\ub9ac \uc218\uac00 \uc77c\uce58 \ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.(8\uc790\ub9ac \uc774\uc0c1 20\uc790\ub9ac \uc774\ud558)
fail.common.idsearch = \uc544\uc774\ub514\ub97c \ucc3e\uc744\uc218 \uc5c6\uc2b5\ub2c8\ub2e4.
fail.common.pwsearch = \ube44\ubc00\ubc88\ud638\ub97c \ucc3e\uc744\uc218 \uc5c6\uc2b5\ub2c8\ub2e4.
fail.request.msg = \uc694\uccad\ucc98\ub9ac\ub97c \uc2e4\ud328\ud558\uc600\uc2b5\ub2c8\ub2e4.
fail.common.login.ip = \ub4f1\ub85d\ub41c IP\uac00 \uc544\ub2c8\ubbc0\ub85c \ub85c\uadf8\uc778\uc774 \uac70\ubd80\ub418\uc5c8\uc2b5\ub2c8\ub2e4.
#UI User Message#
fail.user.passwordUpdate1=\ud604\uc7ac \ube44\ubc00\ubc88\ud638\uac00 \ub9de\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.
fail.user.passwordUpdate2=\ube44\ubc00\ubc88\ud638\uc640 \ube44\ubc00\ubc88\ud638 \ud655\uc778\uc774 \uc77c\uce58\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.
info.user.rlnmCnfirm=\uc8fc\ubbfc\ub4f1\ub85d\ubc88\ud638\ub97c \uc0ac\uc6a9\ud558\uc5ec \uc2e4\uba85\ud655\uc778\uc744 \ud558\uc2ed\uc2dc\uc624.
success.user.rlnmCnfirm=\ud589\uc815\uc548\uc804\ubd80\uc758 \uc8fc\ubbfc\ub4f1\ub85d\uc790\ub8cc\uc640 \uc77c\uce58\ud569\ub2c8\ub2e4.
fail.user.rlnmCnfirm=\ud589\uc815\uc548\uc804\ubd80\uc758 \uc8fc\ubbfc\ub4f1\ub85d\uc790\ub8cc\uc640 \uc77c\uce58\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.
fail.user.connectFail=\uc2dc\uc2a4\ud15c \uc7a5\uc560\uac00 \ubc1c\uc0dd\ud588\uc2b5\ub2c8\ub2e4.(\uc778\uc99d\uc11c\ubc84 \uc5f0\uacb0 \uc2e4\ud328)
info.user.rlnmPinCnfirm=\uacf5\uacf5 \uc544\uc774\ud540 \uc544\uc774\ub514\ub97c \uc0ac\uc6a9\ud558\uc5ec \uc2e4\uba85\ud655\uc778\uc744 \ud558\uc2ed\uc2dc\uc624.
success.user.rlnmPinCnfirm=\uacf5\uacf5\uc544\uc774\ud540\uc758 \ub4f1\ub85d\uc790\ub8cc\uc640 \uc77c\uce58\ud569\ub2c8\ub2e4.
fail.user.rlnmPinCnfirm=\uacf5\uacf5\uc544\uc774\ud540\uc758 \ub4f1\ub85d\uc790\ub8cc\uc640 \uc77c\uce58\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.
#UI Cop Message#
cop.extrlUser = \uc678\ubd80\uc0ac\uc6a9\uc790
cop.intrlUser = \ub0b4\ubd80\uc0ac\uc6a9\uc790
cop.private = \ube44\uacf5\uac1c
cop.public = \uacf5\uac1c
cop.adbkNm = \uc8fc\uc18c\ub85d\uba85
cop.othbcScope = \uacf5\uac1c\ubc94\uc704
cop.company = \ud68c\uc0ac
cop.part = \ubd80\uc11c
cop.man = \uac1c\uc778
cop.adbkUser = \uad6c\uc131\uc6d0
cop.bbsNm = \uac8c\uc2dc\ud310\uba85
cop.bbsIntrcn = \uac8c\uc2dc\ud310\uc18c\uac1c
cop.bbsTyCode = \uac8c\uc2dc\ud310 \uc720\ud615
cop.bbsAttrbCode = \uac8c\uc2dc\ud310 \uc18d\uc131
cop.replyPosblAt = \ub2f5\uc7a5\uac00\ub2a5\uc5ec\ubd80
cop.fileAtchPosblAt = \ud30c\uc77c\ucca8\ubd80\uac00\ub2a5\uc5ec\ubd80
cop.posblAtchFileNumber = \ucca8\ubd80\uac00\ub2a5\ud30c\uc77c \uc22b\uc790
cop.tmplatId = \ud15c\ud50c\ub9bf \uc815\ubcf4
cop.guestList.subject = \ubc29\uba85\ub85d \uac8c\uc2dc\uae00\uc785\ub2c8\ub2e4.
cop.nttSj = \uc81c\ubaa9
cop.nttCn = \uae00\ub0b4\uc6a9
cop.ntceBgnde = \uac8c\uc2dc\uc2dc\uc791\uc77c
cop.ntceEndde = \uac8c\uc2dc\uc885\ub8cc\uc77c
cop.ntcrNm = \uc791\uc131\uc790
cop.password = \ud328\uc2a4\uc6cc\ub4dc
cop.atchFile = \ud30c\uc77c\ucca8\ubd80
cop.guestList = \ubc29\uba85\ub85d
cop.guestListCn = \ubc29\uba85\ub85d \ub0b4\uc6a9
cop.noticeTerm = \uac8c\uc2dc\uae30\uac04
cop.atchFileList = \ucca8\ubd80\ud30c\uc77c\ubaa9\ub85d
cop.cmmntyNm = \ucee4\ubba4\ub2c8\ud2f0\uba85
cop.cmmntyIntrcn = \ucee4\ubba4\ub2c8\ud2f0 \uc18c\uac1c
cop.cmmntyMngr = \ucee4\ubba4\ub2c8\ud2f0 \uad00\ub9ac\uc790
cop.clbOprtr = \ub3d9\ud638\ud68c \uc6b4\uc601\uc790
cop.clbIntrcn = \ub3d9\ud638\ud68c \uc18c\uac1c
cop.clbNm = \ub3d9\ud638\ud68c \uba85
cop.tmplatNm = \ud15c\ud50c\ub9bf\uba85
cop.tmplatSeCode = \ud15c\ud50c\ub9bf \uad6c\ubd84
cop.tmplatCours = \ud15c\ud50c\ub9bf\uacbd\ub85c
cop.useAt = \uc0ac\uc6a9\uc5ec\ubd80
cop.ncrdNm = \uc774\ub984
cop.cmpnyNm = \ud68c\uc0ac\uba85
cop.deptNm = \ubd80\uc11c\uba85
cop.ofcpsNm = \uc9c1\uc704
cop.clsfNm = \uc9c1\uae09
cop.emailAdres = \uc774\uba54\uc77c\uc8fc\uc18c
cop.telNo = \uc804\ud654\ubc88\ud638
cop.mbtlNum = \ud734\ub300\ud3f0\ubc88\ud638
cop.adres = \uc8fc\uc18c
cop.extrlUserAt = \uc678\ubd80\uc0ac\uc6a9\uc790\uc5ec\ubd80
cop.publicAt = \uacf5\uac1c\uc5ec\ubd80
cop.remark = \ube44\uace0
cop.trgetNm = \ucee4\ubba4\ub2c8\ud2f0/\ub3d9\ud638\ud68c \uc815\ubcf4
cop.preview = \ubbf8\ub9ac\ubcf4\uae30
cop.withdraw.msg=\ud0c8\ud1f4\ucc98\ub9ac \ud558\uc2dc\uaca0\uc2b5\ub2c8\uae4c?
cop.reregist.msg=\uc7ac\uac00\uc785 \ucc98\ub9ac\ud558\uc2dc\uaca0\uc2b5\ub2c8\uae4c?
cop.registmanager.msg=\uc6b4\uc601\uc9c4\uc73c\ub85c \ub4f1\ub85d\ud558\uc2dc\uaca0\uc2b5\ub2c8\uae4c?
cop.use.msg=\uc0ac\uc6a9 \ucc98\ub9ac\ud558\uc2dc\uaca0\uc2b5\ub2c8\uae4c?
cop.unuse.msg=\uc0ac\uc6a9\uc911\uc9c0 \ucc98\ub9ac\ud558\uc2dc\uaca0\uc2b5\ub2c8\uae4c?
cop.delete.confirm.msg=\uc0ac\uc6a9\uc911\uc9c0\ub97c \uc120\ud0dd\ud558\uc2e4 \uacbd\uc6b0 \ub2e4\uc2dc \uc0ac\uc6a9\uc73c\ub85c \ubcc0\uacbd\uc774 \ubd88\uac00\ub2a5\ud569\ub2c8\ub2e4.
cop.ing.msg=\uc2b9\uc778\uc694\uccad \uc911\uc785\ub2c8\ub2e4.
cop.request.msg=\uac00\uc785\uc2e0\uccad\uc774 \uc815\uc0c1\uc801\uc73c\ub85c \uc694\uccad\ub418\uc5c8\uc2b5\ub2c8\ub2e4
cop.password.msg=\ud328\uc2a4\uc6cc\ub4dc\ub97c \uc785\ub825\ud574 \uc8fc\uc2ed\uc2dc\uc624.
cop.password.not.same.msg=\ud328\uc2a4\uc6cc\ub4dc\uac00 \uc77c\uce58\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.
cop.comment.wrterNm = \uc791\uc131\uc790
cop.comment.commentCn = \ub0b4\uc6a9
cop.comment.commentPassword = \ud328\uc2a4\uc6cc\ub4dc
cop.satisfaction.wrterNm = \uc791\uc131\uc790
cop.satisfaction.stsfdgCn = \ub0b4\uc6a9
cop.satisfaction.stsfdg = \ub9cc\uc871\ub3c4
cop.satisfaction.stsfdgPassword = \ud328\uc2a4\uc6cc\ub4dc
cop.scrap.scrapNm = \uc2a4\ud06c\ub7a9\uba85
#UI USS Message#
uss.ion.noi.ntfcSj=\uc81c\ubaa9
uss.ion.noi.ntfcCn=\ub0b4\uc6a9
uss.ion.noi.ntfcDate=\uc54c\ub9bc\uc77c\uc790
uss.ion.noi.ntfcTime=\uc54c\ub9bc\uc2dc\uac04
uss.ion.noi.ntfcHH=\uc54c\ub9bc\uc2dc\uac04
uss.ion.noi.ntfcMM=\uc54c\ub9bc\ubd84
uss.ion.noi.bhNtfcIntrvl=\uc0ac\uc804\uc54c\ub9bc\uac04\uaca9
uss.ion.noi.bhNtfcIntrvl.msg=\uc0ac\uc804\uc54c\ub9bc\uac04\uaca9 \uc9c0\uc815\uc774 \ud544\uc694\ud569\ub2c8\ub2e4.
uss.ion.noi.alertNtfcTime=\uc54c\ub9bc\uc77c\uc790 \ubc0f \uc2dc\uac04\uc774 \uc720\ud6a8\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.
#UI COP Message#
cop.sms.trnsmitTelno=\ubc1c\uc2e0\uc804\ud654\ubc88\ud638
cop.sms.trnsmitCn=\uc804\uc1a1\ub0b4\uc6a9
cop.sms.recptnTelno=\uc218\uc2e0\uc804\ud654\ubc88\ud638
cop.sms.send=\uc804\uc1a1
cop.sms.addRecptn=\ucd94\uac00
cop.sms.recptnTelno.msg=\uc218\uc2e0\uc804\ud654\ubc88\ud638 \uc9c0\uc815\uc774 \ud544\uc694\ud569\ub2c8\ub2e4.
#UI sym.log Message#
sym.log.histSeCode = \uc774\ub825\uad6c\ubd84
sym.log.sysNm = \uc2dc\uc2a4\ud15c\uba85
sym.log.histCn = \uc774\ub825\ub0b4\uc6a9
sym.log.atchFile = \ucca8\ubd80\ud30c\uc77c
sym.log.atchFileList = \ucca8\ubd80\ud30c\uc77c\ubaa9\ub85d
sym.ems.receiver = \ubc1b\ub294\uc0ac\ub78c
sym.ems.title = \uc81c\ubaa9
sym.ems.content = \ubc1c\uc2e0\ub0b4\uc6a9
#Vlidator Errors#
errors.prefix=<div class="error">
errors.suffix=</div><br/>
errors.required={0}\uc740(\ub294) \ud544\uc218 \uc785\ub825\uac12\uc785\ub2c8\ub2e4.
errors.minlength={0}\uc740(\ub294) {1}\uc790 \uc774\uc0c1 \uc785\ub825\ud574\uc57c \ud569\ub2c8\ub2e4.
errors.maxlength={0}\uc740(\ub294) {1}\uc790 \uc774\uc0c1 \uc785\ub825\ud560\uc218 \uc5c6\uc2b5\ub2c8\ub2e4.
errors.invalid={0}\uc740(\ub294) \uc720\ud6a8\ud558\uc9c0 \uc54a\uc740 \uac12\uc785\ub2c8\ub2e4.
errors.minInteger={0}\uc740(\ub294) \uc720\ud6a8\ud55c \uac12\uc774 \uc544\ub2d9\ub2c8\ub2e4. 1 \uc774\uc0c1\uc758 \uac12\uc744 \uc785\ub825\ud574\uc57c \ud569\ub2c8\ub2e4.
errors.byte={0}\uc740(\ub294) byte\ud0c0\uc785\uc774\uc5b4\uc57c \ud569\ub2c8\ub2e4.
errors.short={0}\uc740(\ub294) short\ud0c0\uc785\uc774\uc5b4\uc57c \ud569\ub2c8\ub2e4.
errors.integer={0}\uc740(\ub294) \uc815\uc218 \ud0c0\uc785\uc774\uc5b4\uc57c \ud569\ub2c8\ub2e4.
errors.long={0}\uc740(\ub294) long \ud0c0\uc785\uc774\uc5b4\uc57c \ud569\ub2c8\ub2e4.
errors.float={0}\uc740(\ub294) \uc2e4\uc218 \ud0c0\uc785\uc774\uc5b4\uc57c \ud569\ub2c8\ub2e4.
errors.double={0}\uc740(\ub294) double \ud0c0\uc785\uc774\uc5b4\uc57c \ud569\ub2c8\ub2e4.
errors.date={0}\uc740(\ub294) \ub0a0\uc9dc \uc720\ud615\uc774 \uc544\ub2d9\ub2c8\ub2e4.
errors.range={0}\uc740(\ub294) {1}\uacfc {2} \uc0ac\uc774\uc758 \uac12\uc774\uc5b4\uc57c \ud569\ub2c8\ub2e4.
errors.creditcard={0}\uc740(\ub294) \uc720\ud6a8\ud558\uc9c0 \uc54a\uc740 \uc2e0\uc6a9\uce74\ub4dc \ubc88\ud638\uc785\ub2c8\ub2e4.
errors.email={0}\uc740(\ub294) \uc720\ud6a8\ud558\uc9c0 \uc54a\uc740 \uc774\uba54\uc77c \uc8fc\uc18c\uc785\ub2c8\ub2e4.
errors.ihidnum=\uc720\ud6a8\ud558\uc9c0 \uc54a\uc740 \uc8fc\ubbfc\ub4f1\ub85d\ubc88\ud638\uc785\ub2c8\ub2e4.
errors.korean={0}\uc740(\ub294) \ud55c\uae00\uc744 \uc785\ub825\ud558\uc154\uc57c \ud569\ub2c8\ub2e4.
errors.ip=\uc720\ud6a8\ud558\uc9c0 \uc54a\uc740 IP\uc8fc\uc18c\uc785\ub2c8\ub2e4.
errors.password1={0}\uc740(\ub294) 8~20\uc790 \ub0b4\uc5d0\uc11c \uc785\ub825\ud574\uc57c \ud569\ub2c8\ub2e4.
errors.password2={0}\uc740(\ub294) \ud55c\uae00,\ud2b9\uc218\ubb38\uc790,\ub744\uc5b4\uc4f0\uae30\ub294 \ud5c8\uc6a9\ub418\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.
errors.password3={0}\uc740(\ub294) \uc21c\ucc28\uc801\uc778 \uc22b\uc790\ub97c 4\uac1c\uc774\uc0c1 \uc5f0\uc18d\ud574\uc11c \uc0ac\uc6a9\ud560\uc218 \uc5c6\uc2b5\ub2c8\ub2e4.
errors.password4={0}\uc740(\ub294) \ubc18\ubcf5\ub418\ub294 \ubb38\uc790\ub098 \uc22b\uc790\ub97c 4\uac1c\uc774\uc0c1 \uc5f0\uc18d\ud574\uc11c \uc0ac\uc6a9\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4.
errors.notKorean={0}\uc740(\ub294) \ud55c\uae00\uc744 \uc0ac\uc6a9\ud558\uc2e4\uc218 \uc5c6\uc2b5\ub2c8\ub2e4.
error.security.runtime.error = error
#Xss Errors#
errors.xss.checkerUser=\ud574\ub2f9 \uae30\ub2a5\uc5d0 \ub300\ud55c \uc0ac\uc6a9 \ubc0f \ucc98\ub9ac \uad8c\ud55c\uc774 \uc5c6\uc2b5\ub2c8\ub2e4.
#File Upload / Download
errors.file.extension=\uc9c0\uc6d0\ub418\ub294 \ud30c\uc77c\uc720\ud615\uc774 \uc544\ub2d9\ub2c8\ub2e4.
errors.file.transfer=\ud30c\uc77c\uc804\uc1a1\uc911 \uc624\ub958\uac00 \ubc1c\uc0dd\ud588\uc2b5\ub2c8\ub2e4.
success.file.transfer=\ud30c\uc77c\uc804\uc1a1\uc774 \uc644\ub8cc\ub418\uc5c8\uc2b5\ub2c8\ub2e4.
#Vlidator Errors- wordDicaryVO#
wordDicaryVO.wordNm=\uc6a9\uc5b4\uba85
wordDicaryVO.engNm=\uc601\ubb38\uba85
wordDicaryVO.wordDc=\uc6a9\uc5b4\uc124\uba85
wordDicaryVO.synonm=\ub3d9\uc758\uc5b4
#Vlidator Errors- cnsltManageVO#
cnsltManageVO.cnsltSj=\uc0c1\ub2f4\uc81c\ubaa9
cnsltManageVO.cnsltCn=\uc0c1\ub2f4\ub0b4\uc6a9
cnsltManageVO.writngPassword=\uc791\uc131\ube44\ubc00\ubc88\ud638
cnsltManageVO.areaNo=\uc9c0\uc5ed\ubc88\ud638
cnsltManageVO.middleTelno=\uc911\uac04\uc804\ud654\ubc88\ud638
cnsltManageVO.endTelno=\ub05d\uc804\ud654\ubc88\ud638
cnsltManageVO.wrterNm=\uc791\uc131\uc790\uba85
cnsltManageVO.managtCn=\ub2f5\ubcc0\ub0b4\uc6a9
#Vlidator Errors- siteManageVO#
siteManageVO.siteNm=\uc0ac\uc774\ud2b8\uba85
siteManageVO.siteUrl=\uc0ac\uc774\ud2b8 URL
siteManageVO.siteDc=\uc0ac\uc774\ud2b8\uc124\uba85
siteManageVO.siteThemaClCode=\uc0ac\uc774\ud2b8\uc8fc\uc81c\ubd84\ub958
siteManageVO.actvtyAt=\ud65c\uc131\uc5ec\ubd80
siteManageVO.useAt=\uc0ac\uc6a9\uc5ec\ubd80
#Vlidator Errors- recomendSiteManageVO#
recomendSiteManageVO.recomendSiteNm=\ucd94\ucc9c\uc0ac\uc774\ud2b8\uba85
recomendSiteManageVO.recomendSiteUrl=\ucd94\ucc9c\uc0ac\uc774\ud2b8 URL
recomendSiteManageVO.recomendSiteDc=\ucd94\ucc9c\uc0ac\uc774\ud2b8\uc124\uba85
recomendSiteManageVO.recomendResnCn=\ucd94\ucc9c\uc0ac\uc774\ud2b8\uc2b9\uc778\uc0ac\uc720
recomendSiteManageVO.confmDe=\uc2b9\uc778\uc77c\uc790
#Vlidator Errors- hpcmManageVO#
hpcmManageVO.hpcmSeCode=\ub3c4\uc6c0\ub9d0\uad6c\ubd84
hpcmManageVO.hpcmDf=\ub3c4\uc6c0\ub9d0\uc815\uc758
hpcmManageVO.hpcmDc=\ub3c4\uc6c0\ub9d0\uc124\uba85
#Vlidator Errors- newsManageVO#
newsManageVO.newsSj=\ub274\uc2a4\uc81c\ubaa9
newsManageVO.newsCn=\ub274\uc2a4\ub0b4\uc6a9
newsManageVO.ntceDe=\uac8c\uc2dc\uc77c\uc790
#Vlidator Errors- faqManageVO#
faqManageVO.qestnSj=\uc9c8\ubb38\uc81c\ubaa9
faqManageVO.qestnCn=\uc9c8\ubb38\ub0b4\uc6a9
faqManageVO.answerCn=\ub2f5\ubcc0\ub0b4\uc6a9
#Vlidator Errors- stplatManageVO#
stplatManageVO.useStplatNm=\uc774\uc6a9\uc57d\uad00\uba85
stplatManageVO.useStplatCn=\uc774\uc6a9\uc57d\uad00\ub0b4\uc6a9
stplatManageVO.infoProvdAgreCn=\uc815\ubcf4\uc81c\uacf5\ub3d9\uc758\ub0b4\uc6a9
#Vlidator Errors- cpyrhtPrtcPolicyVO#
cpyrhtPrtcPolicyVO.cpyrhtPrtcPolicyCn=\uc800\uc791\uad8c\ubcf4\ud638\uc815\ucc45\ub0b4\uc6a9
#Vlidator Errors- qnaManageVO#
qnaManageVO.qestnSj=\uc9c8\ubb38\uc81c\ubaa9
qnaManageVO.qestnCn=\uc9c8\ubb38\ub0b4\uc6a9
qnaManageVO.writngPassword=\uc791\uc131\ube44\ubc00\ubc88\ud638
qnaManageVO.areaNo=\uc9c0\uc5ed\ubc88\ud638
qnaManageVO.middleTelno=\uc911\uac04\uc804\ud654\ubc88\ud638
qnaManageVO.endTelno=\ub05d\uc804\ud654\ubc88\ud638
qnaManageVO.wrterNm=\uc791\uc131\uc790\uba85
qnaManageVO.answerCn=\ub2f5\ubcc0\ub0b4\uc6a9
#Vlidator Errors- ReprtStatsVO#
sts.reprtId = \ubcf4\uace0\uc11cID
sts.title = \ubcf4\uace0\uc11c\uba85
sts.category = \ubcf4\uace0\uc11c\uc720\ud615
sts.status = \uc9c4\ud589\uc0c1\ud0dc
sts.regDate = \ub4f1\ub85d\uc77c\uc2dc
#Rest day messages#
sym.cal.restDay = \ud734\uc77c\uc77c\uc790
sym.cal.restName = \ud734\uc77c\uba85
sym.cal.restDetail = \ud734\uc77c\uc124\uba85
sym.cal.restCategory = \ud734\uc77c\uad6c\ubd84
image.errorBg = \uc624\ub958\uc774\ubbf8\uc9c0
#Custom message#
custom.fail.access=\uc815\uc0c1\uc801\uc778 \uc811\uadfc\uc774 \uc544\ub2d9\ub2c8\ub2e4. \ub85c\uadf8\uc778 \ud6c4 \uc774\uc6a9\ud558\uc138\uc694.
custom.fail.accessDenied=\uc694\uccad\uc5d0 \ub300\ud55c \uad8c\ud55c\uc774 \uc5c6\uc2b5\ub2c8\ub2e4.
custom.isNotExist.msg=\ucc98\ub9ac\uc5d0 \ud544\uc694\ud55c \uc790\ub8cc\uac00 \uc874\uc7ac\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.

@ -1,9 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:beans="http://www.springframework.org/schema/beans"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
</beans>

@ -1,68 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:beans="http://www.springframework.org/schema/beans"
xmlns:util="http://www.springframework.org/schema/util"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util.xsd">
<context:component-scan base-package="cokr.xit">
<context:include-filter type="annotation" expression="org.springframework.stereotype.Component"/>
<context:include-filter type="annotation" expression="org.springframework.stereotype.Service"/>
<context:include-filter type="annotation" expression="org.springframework.stereotype.Repository"/>
<context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller"/>
</context:component-scan>
<bean id="antPathMatcher" class="org.springframework.util.AntPathMatcher" />
<bean id="messageSource" class="org.springframework.context.support.ReloadableResourceBundleMessageSource">
<property name="basenames">
<list>
<value>classpath:message/message-common</value>
<value>classpath:message/authentication-message</value>
<value>classpath:org/egovframe/rte/fdl/property/messages/properties</value>
</list>
</property>
<property name="defaultEncoding" value="UTF-8"/>
<property name="cacheSeconds">
<value>60</value>
</property>
</bean>
<bean id="objectMapper" class="com.fasterxml.jackson.databind.ObjectMapper">
<property name="dateFormat" ref="dateFormat"/>
</bean>
<bean id="dateFormat" class="java.text.SimpleDateFormat">
<constructor-arg index="0" value="yyyy-MM-dd HH:mm"/>
</bean>
<bean id="localeResolver" class="org.springframework.web.servlet.i18n.SessionLocaleResolver">
<property name="defaultLocale" value="ko_KR"/>
</bean>
<bean name="propertyService" class="org.egovframe.rte.fdl.property.impl.EgovPropertyServiceImpl" destroy-method="destroy">
<property name="properties">
<map>
<entry key="tempDir" value="D:/temp"/>
<entry key="pageUnit" value="10"/>
<entry key="pageSize" value="10"/>
</map>
</property>
<!--
<property name="extFileName">
<set>
<map>
<entry key="encoding" value="UTF-8"/>
<entry key="filename" value="classpath*:properties/your-file.properties"/>
</map>
</set>
</property>
-->
</bean>
<bean id="leaveaTrace" class="org.egovframe.rte.fdl.cmmn.trace.LeaveaTrace" />
</beans>

@ -1,49 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:p="http://www.springframework.org/schema/p"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd
">
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
<!--
<property name="driverClassName" value="net.sf.log4jdbc.sql.jdbcapi.DriverSpy"/>
<property name="url" value="jdbc:oracle:thin:@115.21.123.118:1521:bustms" />
-->
<property name="driverClassName" value="net.sf.log4jdbc.sql.jdbcapi.DriverSpy"/>
<property name="url" value="jdbc:log4jdbc:mariadb://localhost:3306/xit-base?useUnicode=true&amp;characterEncoding=utf8&amp;serverTimezone=Asia/Seoul&amp;useSSL=false" />
<property name="username" value="root"/>
<property name="password" value="mjkhan"/>
</bean>
<bean id="sqlSession" class="org.mybatis.spring.SqlSessionFactoryBean"
p:dataSource-ref="dataSource"
p:configLocation="classpath:sql/mybatis-config.xml"
p:mapperLocations="classpath:sql/mapper/**/*.xml"
/>
<bean id="mapperConfigurer" class="org.egovframe.rte.psl.dataaccess.mapper.MapperConfigurer">
<property name="basePackage" value="cokr.xit" />
<property name="sqlSessionFactoryBeanName" value="sqlSession"/>
</bean>
<bean id="txManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSource"/>
</bean>
<tx:advice id="txAdvice" transaction-manager="txManager">
<tx:attributes>
<tx:method name="*" rollback-for="Exception"/>
</tx:attributes>
</tx:advice>
<aop:config>
<aop:pointcut id="serviceMethod" expression="execution(* cokr.xit..service.bean..*ServiceBean.*(..))" />
<aop:pointcut id="requiredTx" expression="execution(* cokr.xit..service.bean..*ServiceBean.*(..))"/>
<aop:advisor advice-ref="txAdvice" pointcut-ref="requiredTx" />
</aop:config>
</beans>

@ -1,66 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<beans
xmlns="http://www.springframework.org/schema/beans"
xmlns:security="http://www.springframework.org/schema/security"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/security https://www.springframework.org/schema/security/spring-security-5.7.xsd">
<security:http pattern="/resources/**" security="none"/>
<security:http auto-config="true" create-session="never" use-expressions="true" access-decision-manager-ref="accessDecisionManager">
<security:csrf />
<security:headers />
<security:intercept-url pattern="/login.do" access="permitAll" />
<security:intercept-url pattern="/error/*.do" access="permitAll" />
<security:intercept-url pattern="/**/*.do" access="isAuthenticated()" />
<security:form-login
login-page="/login.do"
username-parameter="userId" password-parameter="password"
authentication-details-source-ref="authenticationDetailsSource"
login-processing-url="/login.do"
authentication-success-handler-ref="authenticationSuccess"
authentication-failure-handler-ref="authenticationFailure"
/>
<security:logout
logout-url="/logout.do"
success-handler-ref="logoutSuccess"
/>
<security:session-management invalid-session-url="/error/sessionExpired.do">
<security:concurrency-control expired-url="/error/sessionExpired.do" />
</security:session-management>
</security:http>
<security:http-firewall ref="httpFirewall"/>
<bean id="httpFirewall" class="org.springframework.security.web.firewall.DefaultHttpFirewall"/>
<security:authentication-manager >
<security:authentication-provider ref="authenticationService"/>
</security:authentication-manager>
<bean id="passwordEncoder" class="cokr.xit.base.security.authentication.service.bean.PasswordEncoder" />
<bean id="authenticationService" class="cokr.xit.base.security.authentication.service.bean.AuthenticationServiceBean">
<property name="passwordEncoder" ref="passwordEncoder" />
</bean>
<bean id="authenticationDetailsSource" class="cokr.xit.base.security.authentication.web.AuthenticationExtraDetailsSource" />
<bean id="accessDecisionManager" class="org.springframework.security.access.vote.UnanimousBased">
<constructor-arg>
<list>
<ref bean="applicationAccess"/>
<bean class="org.springframework.security.web.access.expression.WebExpressionVoter"/>
</list>
</constructor-arg>
</bean>
<bean id="applicationAccess" class="cokr.xit.base.security.access.ApplicationAccess">
<property name="controlAccess" value="false"/>
</bean>
</beans>

@ -1,78 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="cokr.xit.base.security.access.dao.ActionGroupMapper">
<resultMap id="groupRow" type="cokr.xit.base.security.access.ActionGroup">
<result property="id" column="GRP_ID"/>
<result property="name" column="GRP_NM"/>
<result property="description" column="DSCRP"/>
<result property="createdAt" column="INS_DT"/>
</resultMap>
<sql id="selectGroups"><include refid="utility.paging-prefix" />
SELECT A.*
FROM TBL_ACTION_GRP A
<where>
<if test="groupIDs != null">AND GRP_ID IN (<foreach collection="groupIDs" item="groupID" separator=",">#{groupID}</foreach>)</if>
<if test="by != null and term != null">AND ${by} LIKE CONCAT('%', #{term}, '%')</if>
</where>
<include refid="utility.paging-suffix" /></sql>
<select id="getGroupList" parameterType="map" resultType="dataobject">/* 기능그룹 목록 조회(actionGroupMapper.getGroupList) */
<include refid="selectGroups" /></select>
<select id="getGroups" parameterType="map" resultMap="groupRow">/* 기능그룹 가져오기(actionGroupMapper.getGroups) */
<include refid="selectGroups" /></select>
<insert id="insertGroup" parameterType="cokr.xit.base.security.access.ActionGroup">/* 기능그룹 등록(actionGroupMapper.insertGroup) */
INSERT INTO TBL_ACTION_GRP (
GRP_ID
, GRP_NM
, DSCRP
, INS_DT
) VALUES (
#{id}
, #{name}
, #{description}
, CURRENT_TIMESTAMP()
)</insert>
<update id="updateGroup" parameterType="cokr.xit.base.security.access.ActionGroup">/* 기능그룹 수정(actionGroupMapper.updateGroup) */
UPDATE TBL_ACTION_GRP SET
GRP_NM = #{name}
, DSCRP = #{description}
WHERE GRP_ID = #{id}</update>
<delete id="removeGroups" parameterType="map">/* 기능그룹 삭제(actionGroupMapper.removeGroups) */
DELETE FROM TBL_ACTION_GRP
WHERE GRP_ID IN (<foreach collection="groupIDs" item="groupID" separator=",">#{groupID}</foreach>)</delete>
<select id="getActionList" parameterType="map" resultType="dataobject">/* 그룹별 기능 가져오기(actionGroupMapper.getActionList) */
SELECT *
FROM TBL_GRP_ACTION
<if test="groupIDs != null">WHERE GRP_ID IN (<foreach collection="groupIDs" item="groupID" separator=",">#{groupID}</foreach>)</if>
ORDER BY GRP_ID, ACTION
</select>
<insert id="addActions" parameterType="map">/* 그룹별 기능 추가(actionGroupMapper.addActions) */
INSERT INTO TBL_GRP_ACTION (GRP_ID, ACTION, INS_DT)
SELECT GRP_ID, ACTION, CURRENT_TIMESTAMP()
FROM (<foreach collection="actions" item="action" separator="UNION">
SELECT #{groupID} GRP_ID, #{action} ACTION FROM DUAL</foreach>
) A
WHERE NOT EXISTS (
SELECT GRP_ID, ACTION
FROM TBL_GRP_ACTION B
WHERE B.GRP_ID = A.GRP_ID
AND B.ACTION = A.ACTION
)</insert>
<delete id="removeActions" parameterType="map">/* 그룹별 기능 삭제(actionGroupMapper.removeActions) */
DELETE FROM TBL_GRP_ACTION
<where>
<if test="groupIDs != null">AND GRP_ID IN (<foreach collection="groupIDs" item="groupID" separator=",">#{groupID}</foreach>)</if>
<if test="actions != null">AND ACTION IN (<foreach collection="actions" item="action" separator=",">#{action}</foreach>)</if>
</where>
</delete>
</mapper>

@ -1,141 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="cokr.xit.base.security.access.dao.AuthorityMapper">
<resultMap id="authRow" type="cokr.xit.base.security.Authority">
<result property="type" column="AUTH_TYPE"/>
<result property="id" column="AUTH_ID"/>
<result property="name" column="AUTH_NM"/>
<result property="infoScope" column="INF_SCP"/>
<result property="userInfoScope" column="USER_INF_SCP"/>
<result property="description" column="DSCRP"/>
<result property="createdAt" column="INS_DT"/>
</resultMap>
<sql id="selectAuthorities"><include refid="utility.paging-prefix" />
SELECT * FROM (
SELECT 0 AUTH_TYPE, 'ROLE_ADMIN' AUTH_ID, '시스템 관리자' AUTH_NM, '시스템 관리자' DSCRP, 'all' INF_SCP, 'all' USER_INF_SCP, CURRENT_TIMESTAMP() NOW UNION
SELECT 1 AUTH_TYPE, 'ROLE_ANONYMOUS' AUTH_ID, '익명 사용자' AUTH_NM, '모든 사용자' DSCRP, 'none' INF_SCP, 'none' USER_INF_SCP, CURRENT_TIMESTAMP() NOW UNION
SELECT 1 AUTH_TYPE, 'ROLE_USER' AUTH_ID, '시스템 사용자' AUTH_NM, '로그인한 사용자' DSCRP, 'self' INF_SCP, 'self' USER_INF_SCP, CURRENT_TIMESTAMP() NOW UNION
SELECT 2 AUTH_TYPE, AUTH_ID, AUTH_NM, DSCRP, INF_SCP, USER_INF_SCP, INS_DT
FROM TBL_AUTHORITY
) A
<where>
<if test="authIDs != null">AND AUTH_ID IN (<foreach collection="authIDs" item="authID" separator=",">#{authID}</foreach>)</if>
<if test="by != null and term != null">AND ${by} LIKE CONCAT('%', #{term}, '%')</if>
</where>
<include refid="utility.orderBy"/>
<include refid="utility.paging-suffix" /></sql>
<select id="getAuthorityList" parameterType="map" resultType="dataobject">/* 권한 목록 조회(authorityMapper.getAuthorityList) */
<include refid="selectAuthorities" /></select>
<select id="getAuthorities" parameterType="map" resultMap="authRow">/* 권한 가져오기(authorityMapper.getAuthorities) */
<include refid="selectAuthorities" /></select>
<insert id="insertAuthority" parameterType="cokr.xit.base.security.Authority">/* 권한 등록(authorityMapper.insertAuthority) */
INSERT INTO TBL_AUTHORITY (
AUTH_ID
, AUTH_NM
, DSCRP
, INF_SCP
, USER_INF_SCP
, INS_DT
) VALUES (
#{id}
, #{name}
, #{description}
, #{infoScope}
, #{userInfoScope}
, CURRENT_TIMESTAMP()
)</insert>
<update id="updateAuthority" parameterType="cokr.xit.base.security.Authority">/* 권한 수정(authorityMapper.updateAuthority) */
UPDATE TBL_AUTHORITY SET
AUTH_NM = #{name}
, DSCRP = #{description}
, INF_SCP = #{infoScope}
, USER_INF_SCP = #{userInfoScope}
WHERE AUTH_ID = #{id}</update>
<delete id="removeAuthorities" parameterType="map">/* 권한 삭제(authorityMapper.removeAuthorities) */
DELETE FROM TBL_AUTHORITY
WHERE AUTH_ID IN (<foreach collection="authIDs" item="authID" separator=",">#{authID}</foreach>)</delete>
<select id="getActionGroupList" parameterType="map" resultType="dataobject">/* 권한-기능그룹 가져오기(authorityMapper.getActionGroups) */
<include refid="utility.paging-prefix" />
SELECT *
FROM TBL_AUTH_ACTION
<if test="authIDs != null">WHERE AUTH_ID IN (<foreach collection="authIDs" item="authID" separator=",">#{authID}</foreach>)</if>
ORDER BY AUTH_ID, GRP_ID
<include refid="utility.paging-suffix" /></select>
<insert id="addActionGroups" parameterType="map">/* 권한-기능그룹 추가(authorityMapper.addActionGroups) */
INSERT INTO TBL_AUTH_ACTION (AUTH_ID, GRP_ID, INS_DT)
SELECT AUTH_ID, GRP_ID, CURRENT_TIMESTAMP()
FROM (<foreach collection="groupIDs" item="groupID" separator=" UNION">
SELECT #{authID} AUTH_ID, #{groupID} GRP_ID FROM DUAL</foreach>
) A
WHERE NOT EXISTS (
SELECT AUTH_ID, GRP_ID
FROM TBL_AUTH_ACTION B
WHERE B.AUTH_ID = A.AUTH_ID
AND B.GRP_ID = A.GRP_ID
)</insert>
<delete id="removeActionGroups" parameterType="map">/* 권한-기능그룹 삭제(authorityMapper.removeActionGroups) */
DELETE FROM TBL_AUTH_ACTION
<where>
<if test="authIDs != null">AND AUTH_ID IN (<foreach collection="authIDs" item="authID" separator=",">#{authID}</foreach>)</if>
<if test="groupIDs != null">AND GRP_ID IN (<foreach collection="groupIDs" item="groupID" separator=",">#{groupID}</foreach>)</if>
</where>
</delete>
<select id="getActionList" resultType="dataobject">/* 권한-기능 가져오기(authorityMapper.getActionList) */
SELECT A.AUTH_ID
, A.GRP_ID
, C.ACTION
FROM TBL_AUTH_ACTION A
, TBL_ACTION_GRP B
, TBL_GRP_ACTION C
WHERE A.GRP_ID = B.GRP_ID
AND B.GRP_ID = C.GRP_ID
ORDER BY A.AUTH_ID, A.GRP_ID, C.ACTION</select>
<sql id="selectAuthUser">
<include refid="utility.paging-prefix" />
SELECT *
FROM TBL_AUTH_USER
<if test="authIDs != null">WHERE AUTH_ID IN (<foreach collection="authIDs" item="authID" separator=",">#{authID}</foreach>)</if>
<if test="userIDs != null">WHERE USER_ID IN (<foreach collection="userIDs" item="userID" separator=",">#{userID}</foreach>)</if>
<include refid="utility.orderBy"/>
<include refid="utility.paging-suffix" /></sql>
<select id="getUserList" parameterType="map" resultType="dataobject">/* 권한-사용자 가져오기(authorityMapper.getUserList) */
<include refid="selectAuthUser" /></select>
<select id="getUserAuths" parameterType="map" resultType="dataobject">/* 사용자-권한 가져오기(authorityMapper.getUserAuths) */
<include refid="selectAuthUser" /></select>
<insert id="addUsers" parameterType="map">/* 권한-사용자 추가(authorityMapper.addUsers) */
INSERT INTO TBL_AUTH_USER (AUTH_ID, USER_ID, INS_DT)
SELECT AUTH_ID, USER_ID, CURRENT_TIMESTAMP()
FROM (<foreach collection="userIDs" item="userID" separator="UNION">
SELECT #{authID} AUTH_ID, #{userID} USER_ID FROM DUAL</foreach>
) A
WHERE NOT EXISTS (
SELECT AUTH_ID, USER_ID
FROM TBL_AUTH_USER B
WHERE B.AUTH_ID = A.AUTH_ID
AND B.USER_ID = A.USER_ID
)</insert>
<delete id="removeUsers" parameterType="map">/* 권한-사용자 삭제(authorityMapper.removeUsers) */
DELETE FROM TBL_AUTH_USER
<where>
<if test="authIDs != null">AND AUTH_ID IN (<foreach collection="authIDs" item="authID" separator=",">#{authID}</foreach>)</if>
<if test="userIDs != null">AND USER_ID IN (<foreach collection="userIDs" item="userID" separator=",">#{userID}</foreach>)</if>
</where>
</delete>
</mapper>

@ -1,69 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="cokr.xit.base.security.authentication.dao.PolicyMapper">
<resultMap id="policyRow" type="cokr.xit.base.security.authentication.AuthenticationPolicy">
<result property="userID" column="USER_ID"/>
<result property="ipAddress" column="IP_ADRS"/>
<result property="duplicateYN" column="DPLCT_YN"/>
<result property="limitYN" column="LIMIT_YN"/>
<result property="createdBy" column="INS_ID"/>
<result property="createdAt" column="INS_DT"/>
<result property="modifiedBy" column="UPD_ID"/>
<result property="lastModified" column="UPD_DT"/>
</resultMap>
<select id="getPolicyList" parameterType="map" resultType="dataobject">/* 로그인 정책 목록 조회(policyMapper.getPolicyList) */
<include refid="utility.paging-prefix"/>
SELECT A.USER_ID
, USER_NM
, IP_ADRS
, DPLCT_YN
, LIMIT_YN
, UPD_ID
, UPD_DT
FROM TBL_USER A LEFT OUTER JOIN TBL_LOGIN_POLICY B ON A.USER_ID = B.USER_ID
<if test="term != null">WHERE A.${by} LIKE CONCAT('%', #{term}, '%')</if>
<include refid="utility.paging-suffix"/></select>
<select id="getPolicies" parameterType="map" resultMap="policyRow">/* 로그인 정책 가져오기(policyMapper.getPolicies) */
SELECT *
FROM TBL_LOGIN_POLICY
<if test="userIDs != null">WHERE USER_ID IN (<foreach collection="userIDs" item="userID" separator=",">#{userID}</foreach>)</if>
ORDER BY USER_ID</select>
<insert id="insertPolicy" parameterType="map">/* 로그인 정책 등록(policyMapper.insertPolicy) */
INSERT INTO TBL_LOGIN_POLICY (
USER_ID
, IP_ADRS
, DPLCT_YN
, LIMIT_YN
, FRST_REGISTER_ID
, FRST_REGIST_PNTTM
, UPD_ID
, UPD_DT
) VALUES (
#{policy.userID}
, #{policy.ipAddress}
, #{policy.duplicateYN}
, #{policy.limitYN}
, #{currentUser.id}
, CURRENT_TIMESTAMP()
, #{currentUser.id}
, CURRENT_TIMESTAMP()
)</insert>
<update id="updatePolicy" parameterType="map">/* 로그인 정책 수정(policyMapper.updatePolicy) */
UPDATE TBL_LOGIN_POLICY SET
IP_ADRS = #{policy.ipAddress}
, DPLCT_YN = #{policy.duplicateYN}
, LIMIT_YN = #{policy.limitYN}
, UPD_ID = #{currentUser.id}
, UPD_DT = CURRENT_TIMESTAMP()
WHERE USER_ID = #{policy.userID}</update>
<delete id="removePolicy" parameterType="map">/* 로그인 정책 삭제(policyMapper.removePolicy) */
DELETE FROM TBL_LOGIN_POLICY
WHERE USER_ID IN (<foreach collection="userIDs" item="userID" separator=",">#{userID}</foreach>)</delete>
</mapper>

@ -1,14 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="test">
<insert id="insert" parameterType="map">${sql}</insert>
<update id="update" parameterType="map">${sql}</update>
<delete id="delete" parameterType="map">${sql}</delete>
<update id="commit">COMMIT</update>
</mapper>

@ -1,189 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<!-- 업무 사용자 -->
<mapper namespace="cokr.xit.base.user.dao.UserMapper">
<resultMap id="userRow" type="cokr.xit.base.user.ManagedUser">
<result property="id" column="USER_ID"/>
<result property="key" column="USER_KEY"/>
<result property="name" column="USER_NM"/>
<result property="password" column="PASSWD"/>
<result property="passwordHint" column="PASSWD_HINT"/>
<result property="passwordHintAnswer" column="PASSWD_NSR"/>
<result property="empNo" column="EMP_NO"/>
<result property="residentRegNo" column="RSDNT_NO"/>
<result property="gender" column="GENDER"/>
<result property="birthday" column="BIRTHDAY"/>
<result property="areaNo" column="AREA_NO"/>
<result property="zipCode" column="ZIP_CODE"/>
<result property="address" column="ADRS"/>
<result property="addressDetail" column="ADRS_DTL"/>
<result property="phoneNo" column="PHN_NO"/>
<result property="mobilePhoneNo" column="MBL_PHN_NO"/>
<result property="faxNo" column="FX_NO"/>
<result property="emailAddress" column="EML_ADRS"/>
<result property="positionName" column="POS_NM"/>
<result property="groupID" column="GRP_ID"/>
<result property="orgID" column="ORG_ID"/>
<result property="institute" column="NSTT_CD"/>
<result property="certificateDn" column="CRTFC_DN"/>
<result property="locked" column="LOCK_YN"/>
<result property="lockCount" column="LOCK_CNT"/>
<result property="lockedDate" column="LOCK_DT"/>
<result property="registeredDate" column="INS_DT"/>
<result property="status" column="STATUS"/>
</resultMap>
<sql id="selectUsers"><include refid="utility.paging-prefix" />
SELECT USER_ID
, USER_KEY
, USER_NM
<if test='password == true'> , PASSWD</if>
, PASSWD_HINT
, PASSWD_NSR
, EMP_NO
, RSDNT_NO
, GENDER
, BIRTHDAY
, AREA_NO
, ZIP_CODE
, ADRS
, ADRS_DTL
, PHN_NO
, MBL_PHN_NO
, FX_NO
, EML_ADRS
, POS_NM
, GRP_ID
, ORG_ID
, NSTT_CD
, CRTFC_DN
, LOCK_YN
, LOCK_CNT
, LOCK_DT
, INS_DT
, STATUS
FROM TBL_USER
<where><if test="by != null and term != null">AND ${by} LIKE CONCAT('%', #{term}, '%')</if>
<if test="userIDs != null">USER_ID IN (<foreach collection="userIDs" item="userID" separator=",">#{userID}</foreach>)</if>
<if test="userIDs == null and status == null">AND STATUS != 'D'</if>
<if test="status != null">AND STATUS = #{status}</if></where>
<include refid="utility.paging-suffix" /></sql>
<select id="getUserList" parameterType="map" resultType="dataobject">/* 사용자 목록 조회(userMapper.getUserList) */
<include refid="selectUsers"/></select>
<select id="getUsers" parameterType="map" resultMap="userRow">/* 사용자 가져오기(userMapper.getUsers) */
<include refid="selectUsers"/></select>
<insert id="insertUser" parameterType="cokr.xit.base.user.ManagedUser">/* 사용자 정보 등록(userMapper.insertUser) */
INSERT INTO TBL_USER (
USER_ID
, USER_KEY
, USER_NM
, PASSWD
, PASSWD_HINT
, PASSWD_NSR
, EMP_NO
, RSDNT_NO
, GENDER
, BIRTHDAY
, AREA_NO
, ZIP_CODE
, ADRS
, ADRS_DTL
, PHN_NO
, MBL_PHN_NO
, FX_NO
, EML_ADRS
, POS_NM
, GRP_ID
, ORG_ID
, NSTT_CD
, CRTFC_DN
, LOCK_YN
, LOCK_CNT
, LOCK_DT
, INS_DT
, STATUS
) VALUES (
#{id}
, #{key}
, #{name}
, #{password}
, #{passwordHint}
, #{passwordHintAnswer}
, #{empNo}
, #{residentRegNo}
, #{gender}
, #{birthday}
, #{areaNo}
, #{zipCode}
, #{address}
, #{addressDetail}
, #{phoneNo}
, #{mobilePhoneNo}
, #{faxNo}
, #{emailAddress}
, #{positionName}
, #{groupID}
, #{orgID}
, #{institute}
, #{certificateDn}
, 'N'
, 0
, NULL
, CURRENT_TIMESTAMP()
, #{status}
)</insert>
<update id="updateUser" parameterType="cokr.xit.base.user.ManagedUser">/* 사용자 정보 수정(userMapper.updateUser) */
UPDATE TBL_USER SET
USER_KEY = #{key}
, USER_NM = #{name}
, PASSWD_HINT = #{passwordHint}
, PASSWD_NSR = #{passwordHintAnswer}
, EMP_NO = #{empNo}
, RSDNT_NO = #{residentRegNo}
, GENDER = #{gender}
, BIRTHDAY = #{birthday}
, AREA_NO = #{areaNo}
, ZIP_CODE = #{zipCode}
, ADRS = #{address}
, ADRS_DTL = #{addressDetail}
, PHN_NO = #{phoneNo}
, MBL_PHN_NO = #{mobilePhoneNo}
, FX_NO = #{faxNo}
, EML_ADRS = #{emailAddress}
, POS_NM = #{positionName}
, GRP_ID = #{groupID}
, ORG_ID = #{orgID}
, NSTT_CD = #{institute}
, CRTFC_DN = #{certificateDn}
WHERE USER_ID = #{id}</update>
<update id="changePassword" parameterType="map">/* 비밀번호 변경(userMapper.changePassword) */
UPDATE TBL_USER SET PASSWD = CASE USER_ID
<foreach collection="userPasswords" item="userPassword" separator=" ">WHEN #{userPassword.userID} THEN #{userPassword.password}</foreach>
ELSE PASSWD END
WHERE USER_ID IN (<foreach collection="userIDs" item="userID" separator=",">#{userID}</foreach>)
</update>
<update id="lockUsers" parameterType="map">/* 사용자 잠김 해제(userMapper.lockUsers) */
UPDATE TBL_USER SET
<if test='lock == true'> LOCK_YN = 'Y'
, LOCK_CNT = LOCK_CNT + 1
, LOCK_DT = CURRENT_TIMESTAMP()</if>
<if test='lock == false'> LOCK_YN = 'N'
, LOCK_CNT = 0
, LOCK_DT = NULL</if>
WHERE USER_ID IN (<foreach collection="userIDs" item="userID" separator=",">#{userID}</foreach>)
</update>
<update id="setStatus" parameterType="map">/* 사용자 상태 변경(userMapper.setStatus) */
UPDATE TBL_USER SET STATUS = #{status}
WHERE USER_ID IN (<foreach collection="userIDs" item="userID" separator=",">#{userID}</foreach>)
AND STATUS != #{status}
</update>
</mapper>

@ -1,27 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="utility">
<!-- For Maria DB -->
<sql id="paging-prefix"><if test="fetchSize != null and fetchSize &gt; 0">
SELECT QROWS.* FROM (
SELECT ROW_NUMBER() OVER(<include refid="utility.sortBy" />) ROW_NUM
, COUNT(*) OVER() TOT_CNT, QBODY.*
FROM (</if></sql>
<sql id="paging-suffix"><if test="fetchSize != null and fetchSize &gt; 0"> ) QBODY
) QROWS
WHERE ROW_NUM BETWEEN ((#{pageNum} - 1) * #{fetchSize}) + 1 AND (#{pageNum} * #{fetchSize})</if></sql>
<select id="foundRows" resultType="dataobject">/* 전체 결과수 가져오기(utility.foundRows) */
SELECT FOUND_ROWS() TOT_CNT</select>
<sql id="sortBy"><if test="orderBy != null and orderBy != ''">ORDER BY ${orderBy}</if></sql>
<sql id="orderBy"><if test="fetchSize == null or fetchSize &lt; 1"><include refid="utility.sortBy" /></if></sql>
<sql id="thisDay">IFNULL(#{thisDay}, TO_CHAR(CURRENT_DATE, 'YYYYMMDD'))</sql>
<sql id="selectThisDay">SELECT<include refid="utility.thisDay" />THIS_DAY</sql>
</mapper>

@ -1,25 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<settings>
<setting name="mapUnderscoreToCamelCase" value="false"/>
<setting name="cacheEnabled" value="false" />
<setting name="jdbcTypeForNull" value="NULL" />
<setting name="callSettersOnNulls" value="true"/>
</settings>
<typeAliases>
<typeAlias alias="egovMap" type="org.egovframe.rte.psl.dataaccess.util.EgovMap"/>
<typeAlias alias="dataobject" type="cokr.xit.foundation.data.DataObject"/>
</typeAliases>
<typeHandlers>
<typeHandler handler="cokr.xit.foundation.data.RowValueHandler" javaType="java.lang.Object"/>
</typeHandlers>
<plugins>
<plugin interceptor="cokr.xit.foundation.data.paging.PagingSupport" />
</plugins>
</configuration>
Loading…
Cancel
Save