diff --git a/batch/.classpath b/batch/.classpath
new file mode 100644
index 00000000..a50c6c85
--- /dev/null
+++ b/batch/.classpath
@@ -0,0 +1,27 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/batch/.gitattributes b/batch/.gitattributes
new file mode 100644
index 00000000..61793db4
--- /dev/null
+++ b/batch/.gitattributes
@@ -0,0 +1,6 @@
+#
+# https://help.github.com/articles/dealing-with-line-endings/
+#
+# These are explicitly windows files and should use crlf
+*.bat text eol=crlf
+
diff --git a/batch/.gitignore b/batch/.gitignore
new file mode 100644
index 00000000..c75f3c2c
--- /dev/null
+++ b/batch/.gitignore
@@ -0,0 +1,5 @@
+# Ignore Gradle project-specific cache directory
+.gradle
+
+# Ignore Gradle build output directory
+build
diff --git a/batch/.project b/batch/.project
new file mode 100644
index 00000000..cbcce560
--- /dev/null
+++ b/batch/.project
@@ -0,0 +1,41 @@
+
+
+ urpItms_30_Batch
+ Project lib created by Buildship.
+
+
+
+
+ org.eclipse.jdt.core.javabuilder
+
+
+
+
+ org.eclipse.wst.common.project.facet.core.builder
+
+
+
+
+ org.eclipse.wst.validation.validationbuilder
+
+
+
+
+ org.eclipse.buildship.core.gradleprojectbuilder
+
+
+
+
+ org.springframework.ide.eclipse.boot.validation.springbootbuilder
+
+
+
+
+
+ org.eclipse.jdt.core.javanature
+ org.eclipse.wst.common.project.facet.core.nature
+ org.eclipse.wst.common.modulecore.ModuleCoreNature
+ org.eclipse.jem.workbench.JavaEMFNature
+ org.eclipse.buildship.core.gradleprojectnature
+
+
diff --git a/batch/.settings/org.eclipse.buildship.core.prefs b/batch/.settings/org.eclipse.buildship.core.prefs
new file mode 100644
index 00000000..7b8f9727
--- /dev/null
+++ b/batch/.settings/org.eclipse.buildship.core.prefs
@@ -0,0 +1,13 @@
+arguments=
+auto.sync=false
+build.scans.enabled=false
+connection.gradle.distribution=GRADLE_DISTRIBUTION(WRAPPER)
+connection.project.dir=
+eclipse.preferences.version=1
+gradle.user.home=
+java.home=
+jvm.arguments=
+offline.mode=false
+override.workspace.settings=false
+show.console.view=false
+show.executions.view=false
diff --git a/batch/.settings/org.eclipse.jdt.core.prefs b/batch/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 00000000..7938522f
--- /dev/null
+++ b/batch/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,4 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=16
+org.eclipse.jdt.core.compiler.compliance=16
+org.eclipse.jdt.core.compiler.source=16
diff --git a/batch/.settings/org.eclipse.wst.common.component b/batch/.settings/org.eclipse.wst.common.component
new file mode 100644
index 00000000..88d71dfd
--- /dev/null
+++ b/batch/.settings/org.eclipse.wst.common.component
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
diff --git a/batch/.settings/org.eclipse.wst.common.project.facet.core.xml b/batch/.settings/org.eclipse.wst.common.project.facet.core.xml
new file mode 100644
index 00000000..3d08c3f6
--- /dev/null
+++ b/batch/.settings/org.eclipse.wst.common.project.facet.core.xml
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
diff --git a/batch/.settings/org.springframework.ide.eclipse.prefs b/batch/.settings/org.springframework.ide.eclipse.prefs
new file mode 100644
index 00000000..e587c651
--- /dev/null
+++ b/batch/.settings/org.springframework.ide.eclipse.prefs
@@ -0,0 +1,2 @@
+boot.validation.initialized=true
+eclipse.preferences.version=1
diff --git a/batch/bin/main/application-infra_server.yml b/batch/bin/main/application-infra_server.yml
new file mode 100644
index 00000000..980e643f
--- /dev/null
+++ b/batch/bin/main/application-infra_server.yml
@@ -0,0 +1,62 @@
+# Service port
+# server:
+# port: 9002
+
+# JPA 설정, JSP 설정
+ spring:
+ devtools:
+ livereload:
+ enabled: true
+
+# Primary db information
+ primarydb:
+ driverClassName: net.sf.log4jdbc.sql.jdbcapi.DriverSpy
+ jdbcUrl: jdbc:log4jdbc:mariadb://109.26.11.21:3306/ur_itms_db?characterEncoding=UTF-8&serverTimezone=Asia/Seoul&rewriteBatchedStatements=true
+ username: g9IwFesTyIloXVpUnfOX0g==
+ password: E4SOtjDqqO79BQERc/eaTw==
+ maximumPoolSize: 35
+ minimumIdle: 2
+ connectionTimeout: 3000
+ idleTimeout: 300000
+ testOnBorrow: true
+ validationQuery: SELECT 1
+
+# SQL Log 관련 setting
+ log4jdbc:
+ spylogdelegator:
+ name: net.sf.log4jdbc.log.slf4j.Slf4jSpyLogDelegator
+ dump:
+ sql:
+ maxlinelength: 0
+
+ logging.level.jdbc.sqltiming: false
+ logging.level.jdbc.audit: false
+ logging.level.jdbc.resultset: false
+ logging.level.jdbc.connection: false
+
+# 개발중
+ logging.level.jdbc.sqlonly: info
+ logging.level.jdbc.resultsettable: info
+# 운영중
+# logging.level.jdbc.sqlonly: false
+# logging.level.jdbc.resultsettable: false
+# custom 설정
+ custom:
+ api_server : null
+ sendmail:
+ id: tW9kMpd3SiAnf3RQBOZapw==
+ password: Tkkj8p2PYfZ+AmpQMPLHF8ksj8vrtJouj6xczU8ShM8=
+ port: 587
+ host: smtp.gmail.com
+ sendEmail: hhjj0701@gmail.com
+ senderName: 나혁제
+ socketFactory-class: javax.net.ssl.SSLSocketFactory
+ supplier: gmail.com
+ sendkakaoTalk:
+ serviceId: ncp:kkobizmsg:kr:349487487272:uritms
+ accessKey: ncp_iam_BPAMKR4Le2ali6vfRCsG
+ secretKey: ncp_iam_BPKMKRIOXMe91u5YQoPjmk5WZ2A1FNEcoR
+ friendId: 유알피-uritsm
+ api_search_server: http://109.26.11.21:48381
+# api_search_server: http://192.168.8.138:48381
+
\ No newline at end of file
diff --git a/batch/bin/main/application-kic_dev.yml b/batch/bin/main/application-kic_dev.yml
new file mode 100644
index 00000000..a3f2b797
--- /dev/null
+++ b/batch/bin/main/application-kic_dev.yml
@@ -0,0 +1,85 @@
+# Service port
+ server:
+ port: 11030
+
+# JPA 설정, JSP 설정
+ spring:
+ devtools:
+ livereload:
+ enabled: true
+
+# Primary db information
+ primarydb:
+ driverClassName: net.sf.log4jdbc.sql.jdbcapi.DriverSpy
+ jdbcUrl: jdbc:log4jdbc:mariadb://192.10.10.203:3306/ur_itms_db?characterEncoding=UTF-8&serverTimezone=Asia/Seoul&rewriteBatchedStatements=true
+ username: g9IwFesTyIloXVpUnfOX0g==
+ password: E4SOtjDqqO79BQERc/eaTw==
+ maximumPoolSize: 35
+ minimumIdle: 2
+ connectionTimeout: 3000
+ idleTimeout: 300000
+ testOnBorrow: true
+ validationQuery: SELECT 1
+
+ # kicinsadb db information
+ kicinsadb:
+ driverClassName: net.sf.log4jdbc.sql.jdbcapi.DriverSpy
+ jdbcUrl: jdbc:log4jdbc:oracle:thin:@192.10.10.19:1521:gwdev
+ username: mLq9nSgZHzZBmuOmyvjahQ==
+ password: C7+TsdsHhTcGiH6JSupSeA==
+ maximumPoolSize: 35
+ minimumIdle: 2
+ connectionTimeout: 3000
+ idleTimeout: 300000
+ testOnBorrow: true
+ validationQuery: SELECT 1
+
+# SQL Log 관련 setting
+ log4jdbc:
+ spylogdelegator:
+ name: net.sf.log4jdbc.log.slf4j.Slf4jSpyLogDelegator
+ dump:
+ sql:
+ maxlinelength: 0
+
+ logging.level.jdbc.sqltiming: false
+ logging.level.jdbc.audit: false
+ logging.level.jdbc.resultset: false
+ logging.level.jdbc.connection: false
+
+# 개발중
+ logging.level.jdbc.sqlonly: info
+ logging.level.jdbc.resultsettable: info
+# 운영중
+# logging.level.jdbc.sqlonly: false
+# logging.level.jdbc.resultsettable: false
+# custom 설정
+ custom:
+ api_server : null
+ sendmail:
+ id: tW9kMpd3SiAnf3RQBOZapw==
+ password: Tkkj8p2PYfZ+AmpQMPLHF8ksj8vrtJouj6xczU8ShM8=
+ port: 587
+ host: smtp.gmail.com
+ sendEmail: hhjj0701@gmail.com
+ senderName: 나혁제
+ socketFactory-class: javax.net.ssl.SSLSocketFactory
+ supplier: gmail.com
+ sendkakaoTalk:
+ serviceId: ncp:kkobizmsg:kr:349487487272:uritms
+ accessKey: ncp_iam_BPAMKR4Le2ali6vfRCsG
+ secretKey: ncp_iam_BPKMKRIOXMe91u5YQoPjmk5WZ2A1FNEcoR
+ friendId: 유알피-uritsm
+ # 검색서버
+ api_search_server: http://192.10.10.203:48381
+ # kicc 메일서버
+ api_kic_mail_server : https://devkicmail.kic.go.kr
+ # api_kic_mail_server : https://kicmail.kic.go.kr
+ # kicc 메신저 서버
+ api_kic_msg_server : http://devtalk.kic.go.kr
+ api_kic_msg_key : 73f26d49-b014-41a9-a184-24c34c893701
+ # api_kic_msg_server : http://talk.kic.go.kr
+ # api_kic_msg_key : eebe896f-1608-456f-80ff-282d1024c25c
+ client : kic
+
+
\ No newline at end of file
diff --git a/batch/bin/main/application-kic_rel.yml b/batch/bin/main/application-kic_rel.yml
new file mode 100644
index 00000000..1e98c878
--- /dev/null
+++ b/batch/bin/main/application-kic_rel.yml
@@ -0,0 +1,81 @@
+# Service port
+ server:
+ port: 12030
+
+# JPA 설정, JSP 설정
+ spring:
+ devtools:
+ livereload:
+ enabled: true
+
+# Primary db information
+ primarydb:
+ driverClassName: net.sf.log4jdbc.sql.jdbcapi.DriverSpy
+ jdbcUrl: jdbc:log4jdbc:mariadb://192.10.10.203:3306/ur_itms_rel_db?characterEncoding=UTF-8&serverTimezone=Asia/Seoul&rewriteBatchedStatements=true
+ username: YvRZ5jyhmB6gwVSUGBOqNMQB00k6OZZSfUH5ZU4GEFs=
+ password: E4SOtjDqqO79BQERc/eaTw==
+ maximumPoolSize: 35
+ minimumIdle: 2
+ connectionTimeout: 3000
+ idleTimeout: 300000
+ testOnBorrow: true
+ validationQuery: SELECT 1
+
+# kicinsadb db information
+ kicinsadb:
+ driverClassName: net.sf.log4jdbc.sql.jdbcapi.DriverSpy
+ jdbcUrl: jdbc:log4jdbc:oracle:thin:@192.10.10.242:1521:gwprd2
+ username: mLq9nSgZHzZBmuOmyvjahQ==
+ password: F4KWP/A4aPptqZO9gZUdqg==
+ maximumPoolSize: 35
+ minimumIdle: 2
+ connectionTimeout: 3000
+ idleTimeout: 300000
+ testOnBorrow: true
+ validationQuery: SELECT 1
+
+
+# SQL Log 관련 setting
+ log4jdbc:
+ spylogdelegator:
+ name: net.sf.log4jdbc.log.slf4j.Slf4jSpyLogDelegator
+ dump:
+ sql:
+ maxlinelength: 0
+
+ logging.level.jdbc.sqltiming: false
+ logging.level.jdbc.audit: false
+ logging.level.jdbc.resultset: false
+ logging.level.jdbc.connection: false
+
+# 개발중
+ logging.level.jdbc.sqlonly: info
+ logging.level.jdbc.resultsettable: info
+# 운영중
+# logging.level.jdbc.sqlonly: false
+# logging.level.jdbc.resultsettable: false
+# custom 설정
+ custom:
+ api_server : null
+ sendmail:
+ id: tW9kMpd3SiAnf3RQBOZapw==
+ password: Tkkj8p2PYfZ+AmpQMPLHF8ksj8vrtJouj6xczU8ShM8=
+ port: 587
+ host: smtp.gmail.com
+ sendEmail: hhjj0701@gmail.com
+ senderName: 나혁제
+ socketFactory-class: javax.net.ssl.SSLSocketFactory
+ supplier: gmail.com
+ sendkakaoTalk:
+ serviceId: ncp:kkobizmsg:kr:349487487272:uritms
+ accessKey: ncp_iam_BPAMKR4Le2ali6vfRCsG
+ secretKey: ncp_iam_BPKMKRIOXMe91u5YQoPjmk5WZ2A1FNEcoR
+ friendId: 유알피-uritsm
+ api_search_server: http://192.10.10.203:49381
+ # kicc 메일서버
+ api_kic_mail_server : https://kicmail.kic.go.kr
+ # kicc 메신저 서버
+ api_kic_msg_server : http://talk.kic.go.kr
+ api_kic_msg_key : eebe896f-1608-456f-80ff-282d1024c25c
+ client : kic
+
\ No newline at end of file
diff --git a/batch/bin/main/application-local.yml b/batch/bin/main/application-local.yml
new file mode 100644
index 00000000..9de735bf
--- /dev/null
+++ b/batch/bin/main/application-local.yml
@@ -0,0 +1,81 @@
+# Service port
+# server:
+# port: 11030
+
+# JPA 설정, JSP 설정
+ spring:
+ devtools:
+ livereload:
+ enabled: true
+
+# Primary db information
+ primarydb:
+ driverClassName: net.sf.log4jdbc.sql.jdbcapi.DriverSpy
+ jdbcUrl: jdbc:log4jdbc:mariadb://192.168.8.131:3306/ur_itms_db?characterEncoding=UTF-8&serverTimezone=Asia/Seoul&rewriteBatchedStatements=true
+ username: g9IwFesTyIloXVpUnfOX0g==
+ password: E4SOtjDqqO79BQERc/eaTw==
+ maximumPoolSize: 35
+ minimumIdle: 2
+ connectionTimeout: 3000
+ idleTimeout: 300000
+ testOnBorrow: true
+ validationQuery: SELECT 1
+
+ # kicinsadb db information
+ kicinsadb:
+ driverClassName: net.sf.log4jdbc.sql.jdbcapi.DriverSpy
+ jdbcUrl: jdbc:log4jdbc:oracle:thin:@192.168.8.132:1521:XE
+ username: Lp1nYnFre15DjG/Y36UNWA== ## TEST01
+ password: E4SOtjDqqO79BQERc/eaTw== ## 123456
+ maximumPoolSize: 35
+ minimumIdle: 2
+ connectionTimeout: 3000
+ idleTimeout: 300000
+ testOnBorrow: true
+ validationQuery: SELECT 1
+
+# SQL Log 관련 setting
+ log4jdbc:
+ spylogdelegator:
+ name: net.sf.log4jdbc.log.slf4j.Slf4jSpyLogDelegator
+ dump:
+ sql:
+ maxlinelength: 0
+
+ logging.level.jdbc.sqltiming: false
+ logging.level.jdbc.audit: false
+ logging.level.jdbc.resultset: false
+ logging.level.jdbc.connection: false
+
+# 개발중
+ logging.level.jdbc.sqlonly: info
+ logging.level.jdbc.resultsettable: info
+# 운영중
+# logging.level.jdbc.sqlonly: false
+# logging.level.jdbc.resultsettable: false
+# custom 설정
+ custom:
+ api_server : null
+ sendmail:
+ id: tW9kMpd3SiAnf3RQBOZapw==
+ password: Tkkj8p2PYfZ+AmpQMPLHF8ksj8vrtJouj6xczU8ShM8=
+ port: 587
+ host: smtp.gmail.com
+ sendEmail: hhjj0701@gmail.com
+ senderName: 나혁제
+ socketFactory-class: javax.net.ssl.SSLSocketFactory
+ supplier: gmail.com
+ sendkakaoTalk:
+ serviceId: ncp:kkobizmsg:kr:349487487272:uritms
+ accessKey: ncp_iam_BPAMKR4Le2ali6vfRCsG
+ secretKey: ncp_iam_BPKMKRIOXMe91u5YQoPjmk5WZ2A1FNEcoR
+ friendId: 유알피-uritsm
+# api_search_server: http://192.168.8.138:48381 # 개발
+ api_search_server: http://192.168.8.138:49381 # 운영
+ # kicc 메일서버
+ api_kic_mail_server : http://localhost:9002
+ # kicc 메신저 서버
+ api_kic_msg_server : http://localhost:9002
+ api_kic_msg_key : testKey
+ client :
+
\ No newline at end of file
diff --git a/batch/bin/main/application-vmware.yml b/batch/bin/main/application-vmware.yml
new file mode 100644
index 00000000..380716ab
--- /dev/null
+++ b/batch/bin/main/application-vmware.yml
@@ -0,0 +1,62 @@
+# Service port
+# server:
+# port: 11030
+
+# JPA 설정, JSP 설정
+ spring:
+ devtools:
+ livereload:
+ enabled: true
+
+# Primary db information
+ primarydb:
+ driverClassName: net.sf.log4jdbc.sql.jdbcapi.DriverSpy
+ jdbcUrl: jdbc:log4jdbc:mariadb://192.168.8.131:3306/ur_itms_db?characterEncoding=UTF-8&serverTimezone=Asia/Seoul&rewriteBatchedStatements=true
+ username: g9IwFesTyIloXVpUnfOX0g==
+ password: E4SOtjDqqO79BQERc/eaTw==
+ maximumPoolSize: 35
+ minimumIdle: 2
+ connectionTimeout: 3000
+ idleTimeout: 300000
+ testOnBorrow: true
+ validationQuery: SELECT 1
+
+# SQL Log 관련 setting
+ log4jdbc:
+ spylogdelegator:
+ name: net.sf.log4jdbc.log.slf4j.Slf4jSpyLogDelegator
+ dump:
+ sql:
+ maxlinelength: 0
+
+ logging.level.jdbc.sqltiming: false
+ logging.level.jdbc.audit: false
+ logging.level.jdbc.resultset: false
+ logging.level.jdbc.connection: false
+
+# 개발중
+ logging.level.jdbc.sqlonly: info
+ logging.level.jdbc.resultsettable: info
+# 운영중
+# logging.level.jdbc.sqlonly: false
+# logging.level.jdbc.resultsettable: false
+# custom 설정
+ custom:
+ api_server : null
+ sendmail:
+ id: tW9kMpd3SiAnf3RQBOZapw==
+ password: Tkkj8p2PYfZ+AmpQMPLHF8ksj8vrtJouj6xczU8ShM8=
+ port: 587
+ host: smtp.gmail.com
+ sendEmail: hhjj0701@gmail.com
+ senderName: 나혁제
+ socketFactory-class: javax.net.ssl.SSLSocketFactory
+ supplier: gmail.com
+ sendkakaoTalk:
+ serviceId: ncp:kkobizmsg:kr:349487487272:uritms
+ accessKey: ncp_iam_BPAMKR4Le2ali6vfRCsG
+ secretKey: ncp_iam_BPKMKRIOXMe91u5YQoPjmk5WZ2A1FNEcoR
+ friendId: 유알피-uritsm
+# api_search_server: http://109.26.11.21:48381
+ api_search_server: http://192.168.8.138:48381
+
\ No newline at end of file
diff --git a/batch/bin/main/com/urpsys/basebatch/Aes256Test.class b/batch/bin/main/com/urpsys/basebatch/Aes256Test.class
new file mode 100644
index 00000000..8fcf6ff6
Binary files /dev/null and b/batch/bin/main/com/urpsys/basebatch/Aes256Test.class differ
diff --git a/batch/bin/main/com/urpsys/basebatch/common/crypto/Aes256Cipher.class b/batch/bin/main/com/urpsys/basebatch/common/crypto/Aes256Cipher.class
new file mode 100644
index 00000000..1582ecab
Binary files /dev/null and b/batch/bin/main/com/urpsys/basebatch/common/crypto/Aes256Cipher.class differ
diff --git a/batch/bin/main/com/urpsys/basebatch/common/exception/CustomException.class b/batch/bin/main/com/urpsys/basebatch/common/exception/CustomException.class
new file mode 100644
index 00000000..59c77d1f
Binary files /dev/null and b/batch/bin/main/com/urpsys/basebatch/common/exception/CustomException.class differ
diff --git a/batch/bin/main/com/urpsys/basebatch/common/util/CommonUtil.class b/batch/bin/main/com/urpsys/basebatch/common/util/CommonUtil.class
new file mode 100644
index 00000000..53f4b774
Binary files /dev/null and b/batch/bin/main/com/urpsys/basebatch/common/util/CommonUtil.class differ
diff --git a/batch/bin/main/com/urpsys/basebatch/common/util/ConvertUtils.class b/batch/bin/main/com/urpsys/basebatch/common/util/ConvertUtils.class
new file mode 100644
index 00000000..5fdf9db1
Binary files /dev/null and b/batch/bin/main/com/urpsys/basebatch/common/util/ConvertUtils.class differ
diff --git a/batch/bin/main/com/urpsys/basebatch/common/util/DataSourceUtil.class b/batch/bin/main/com/urpsys/basebatch/common/util/DataSourceUtil.class
new file mode 100644
index 00000000..90ae13d6
Binary files /dev/null and b/batch/bin/main/com/urpsys/basebatch/common/util/DataSourceUtil.class differ
diff --git a/batch/bin/main/com/urpsys/basebatch/common/util/EgovIdGnrBuilder.class b/batch/bin/main/com/urpsys/basebatch/common/util/EgovIdGnrBuilder.class
new file mode 100644
index 00000000..16b59342
Binary files /dev/null and b/batch/bin/main/com/urpsys/basebatch/common/util/EgovIdGnrBuilder.class differ
diff --git a/batch/bin/main/com/urpsys/basebatch/common/util/HtmlEmailUtil.class b/batch/bin/main/com/urpsys/basebatch/common/util/HtmlEmailUtil.class
new file mode 100644
index 00000000..14ed900f
Binary files /dev/null and b/batch/bin/main/com/urpsys/basebatch/common/util/HtmlEmailUtil.class differ
diff --git a/batch/bin/main/com/urpsys/basebatch/common/util/RestApiCallUtil.class b/batch/bin/main/com/urpsys/basebatch/common/util/RestApiCallUtil.class
new file mode 100644
index 00000000..e2ed9475
Binary files /dev/null and b/batch/bin/main/com/urpsys/basebatch/common/util/RestApiCallUtil.class differ
diff --git a/batch/bin/main/com/urpsys/basebatch/config/EgovConfigAppIdGen.class b/batch/bin/main/com/urpsys/basebatch/config/EgovConfigAppIdGen.class
new file mode 100644
index 00000000..68f3ca0c
Binary files /dev/null and b/batch/bin/main/com/urpsys/basebatch/config/EgovConfigAppIdGen.class differ
diff --git a/batch/bin/main/com/urpsys/basebatch/config/EgovMessageSource.class b/batch/bin/main/com/urpsys/basebatch/config/EgovMessageSource.class
new file mode 100644
index 00000000..be53d48d
Binary files /dev/null and b/batch/bin/main/com/urpsys/basebatch/config/EgovMessageSource.class differ
diff --git a/batch/bin/main/com/urpsys/basebatch/config/EncryptConfig.class b/batch/bin/main/com/urpsys/basebatch/config/EncryptConfig.class
new file mode 100644
index 00000000..78756c50
Binary files /dev/null and b/batch/bin/main/com/urpsys/basebatch/config/EncryptConfig.class differ
diff --git a/batch/bin/main/com/urpsys/basebatch/config/KicInsaDbConfig.class b/batch/bin/main/com/urpsys/basebatch/config/KicInsaDbConfig.class
new file mode 100644
index 00000000..14db1682
Binary files /dev/null and b/batch/bin/main/com/urpsys/basebatch/config/KicInsaDbConfig.class differ
diff --git a/batch/bin/main/com/urpsys/basebatch/config/MailConfig.class b/batch/bin/main/com/urpsys/basebatch/config/MailConfig.class
new file mode 100644
index 00000000..c9a6d43a
Binary files /dev/null and b/batch/bin/main/com/urpsys/basebatch/config/MailConfig.class differ
diff --git a/batch/bin/main/com/urpsys/basebatch/config/MessageConfig.class b/batch/bin/main/com/urpsys/basebatch/config/MessageConfig.class
new file mode 100644
index 00000000..5fe4b36e
Binary files /dev/null and b/batch/bin/main/com/urpsys/basebatch/config/MessageConfig.class differ
diff --git a/batch/bin/main/com/urpsys/basebatch/config/PrimaryDbConfig.class b/batch/bin/main/com/urpsys/basebatch/config/PrimaryDbConfig.class
new file mode 100644
index 00000000..8ae681cc
Binary files /dev/null and b/batch/bin/main/com/urpsys/basebatch/config/PrimaryDbConfig.class differ
diff --git a/batch/bin/main/com/urpsys/basebatch/config/quartz/AutoWiringSpringBeanJobFactory.class b/batch/bin/main/com/urpsys/basebatch/config/quartz/AutoWiringSpringBeanJobFactory.class
new file mode 100644
index 00000000..b6796ec5
Binary files /dev/null and b/batch/bin/main/com/urpsys/basebatch/config/quartz/AutoWiringSpringBeanJobFactory.class differ
diff --git a/batch/bin/main/com/urpsys/basebatch/config/quartz/QuartzConfig.class b/batch/bin/main/com/urpsys/basebatch/config/quartz/QuartzConfig.class
new file mode 100644
index 00000000..c2c4e664
Binary files /dev/null and b/batch/bin/main/com/urpsys/basebatch/config/quartz/QuartzConfig.class differ
diff --git a/batch/bin/main/com/urpsys/basebatch/config/quartz/QuartzConfigService.class b/batch/bin/main/com/urpsys/basebatch/config/quartz/QuartzConfigService.class
new file mode 100644
index 00000000..2f775eaa
Binary files /dev/null and b/batch/bin/main/com/urpsys/basebatch/config/quartz/QuartzConfigService.class differ
diff --git a/batch/bin/main/com/urpsys/basebatch/config/quartz/QuartzJob.class b/batch/bin/main/com/urpsys/basebatch/config/quartz/QuartzJob.class
new file mode 100644
index 00000000..7bdce427
Binary files /dev/null and b/batch/bin/main/com/urpsys/basebatch/config/quartz/QuartzJob.class differ
diff --git a/batch/bin/main/com/urpsys/basebatch/config/quartz/QuartzJobListner.class b/batch/bin/main/com/urpsys/basebatch/config/quartz/QuartzJobListner.class
new file mode 100644
index 00000000..ec566259
Binary files /dev/null and b/batch/bin/main/com/urpsys/basebatch/config/quartz/QuartzJobListner.class differ
diff --git a/batch/bin/main/com/urpsys/basebatch/config/quartz/QuartzTriggerListener.class b/batch/bin/main/com/urpsys/basebatch/config/quartz/QuartzTriggerListener.class
new file mode 100644
index 00000000..1096f4d2
Binary files /dev/null and b/batch/bin/main/com/urpsys/basebatch/config/quartz/QuartzTriggerListener.class differ
diff --git a/batch/bin/main/com/urpsys/basebatch/dao/QuartzDao.class b/batch/bin/main/com/urpsys/basebatch/dao/QuartzDao.class
new file mode 100644
index 00000000..45f5162a
Binary files /dev/null and b/batch/bin/main/com/urpsys/basebatch/dao/QuartzDao.class differ
diff --git a/batch/bin/main/com/urpsys/basebatch/domain/JWTKey.class b/batch/bin/main/com/urpsys/basebatch/domain/JWTKey.class
new file mode 100644
index 00000000..af7f9765
Binary files /dev/null and b/batch/bin/main/com/urpsys/basebatch/domain/JWTKey.class differ
diff --git a/batch/bin/main/com/urpsys/basebatch/domain/TokenInfo.class b/batch/bin/main/com/urpsys/basebatch/domain/TokenInfo.class
new file mode 100644
index 00000000..0e2a177e
Binary files /dev/null and b/batch/bin/main/com/urpsys/basebatch/domain/TokenInfo.class differ
diff --git a/batch/bin/main/com/urpsys/basebatch/service/QuartzService.class b/batch/bin/main/com/urpsys/basebatch/service/QuartzService.class
new file mode 100644
index 00000000..f3537334
Binary files /dev/null and b/batch/bin/main/com/urpsys/basebatch/service/QuartzService.class differ
diff --git a/batch/bin/main/com/urpsys/basebatch/urpBaseBatchApplication.class b/batch/bin/main/com/urpsys/basebatch/urpBaseBatchApplication.class
new file mode 100644
index 00000000..a06c8909
Binary files /dev/null and b/batch/bin/main/com/urpsys/basebatch/urpBaseBatchApplication.class differ
diff --git a/batch/bin/main/com/urpsys/itmsbatch/bbs/dao/BbsInfoHistDao.class b/batch/bin/main/com/urpsys/itmsbatch/bbs/dao/BbsInfoHistDao.class
new file mode 100644
index 00000000..8cfb987e
Binary files /dev/null and b/batch/bin/main/com/urpsys/itmsbatch/bbs/dao/BbsInfoHistDao.class differ
diff --git a/batch/bin/main/com/urpsys/itmsbatch/bbs/service/BbsInfoHistService.class b/batch/bin/main/com/urpsys/itmsbatch/bbs/service/BbsInfoHistService.class
new file mode 100644
index 00000000..bc415340
Binary files /dev/null and b/batch/bin/main/com/urpsys/itmsbatch/bbs/service/BbsInfoHistService.class differ
diff --git a/batch/bin/main/com/urpsys/itmsbatch/cmm/dao/CmmUseDao.class b/batch/bin/main/com/urpsys/itmsbatch/cmm/dao/CmmUseDao.class
new file mode 100644
index 00000000..128de577
Binary files /dev/null and b/batch/bin/main/com/urpsys/itmsbatch/cmm/dao/CmmUseDao.class differ
diff --git a/batch/bin/main/com/urpsys/itmsbatch/cmm/dao/KicItsmDao.class b/batch/bin/main/com/urpsys/itmsbatch/cmm/dao/KicItsmDao.class
new file mode 100644
index 00000000..cd456c8f
Binary files /dev/null and b/batch/bin/main/com/urpsys/itmsbatch/cmm/dao/KicItsmDao.class differ
diff --git a/batch/bin/main/com/urpsys/itmsbatch/cmm/dao/MailKaTalkDao.class b/batch/bin/main/com/urpsys/itmsbatch/cmm/dao/MailKaTalkDao.class
new file mode 100644
index 00000000..3ac68192
Binary files /dev/null and b/batch/bin/main/com/urpsys/itmsbatch/cmm/dao/MailKaTalkDao.class differ
diff --git a/batch/bin/main/com/urpsys/itmsbatch/cmm/excute/KicInsaInterJob.class b/batch/bin/main/com/urpsys/itmsbatch/cmm/excute/KicInsaInterJob.class
new file mode 100644
index 00000000..ce16a4b3
Binary files /dev/null and b/batch/bin/main/com/urpsys/itmsbatch/cmm/excute/KicInsaInterJob.class differ
diff --git a/batch/bin/main/com/urpsys/itmsbatch/cmm/excute/MailKaTalkSendJob.class b/batch/bin/main/com/urpsys/itmsbatch/cmm/excute/MailKaTalkSendJob.class
new file mode 100644
index 00000000..52b5c182
Binary files /dev/null and b/batch/bin/main/com/urpsys/itmsbatch/cmm/excute/MailKaTalkSendJob.class differ
diff --git a/batch/bin/main/com/urpsys/itmsbatch/cmm/excute/MailKaTalkSendKiccJob.class b/batch/bin/main/com/urpsys/itmsbatch/cmm/excute/MailKaTalkSendKiccJob.class
new file mode 100644
index 00000000..f32d1837
Binary files /dev/null and b/batch/bin/main/com/urpsys/itmsbatch/cmm/excute/MailKaTalkSendKiccJob.class differ
diff --git a/batch/bin/main/com/urpsys/itmsbatch/cmm/excute/MailKaTalkSendKiccJob.java.20250703 b/batch/bin/main/com/urpsys/itmsbatch/cmm/excute/MailKaTalkSendKiccJob.java.20250703
new file mode 100644
index 00000000..df86c71d
--- /dev/null
+++ b/batch/bin/main/com/urpsys/itmsbatch/cmm/excute/MailKaTalkSendKiccJob.java.20250703
@@ -0,0 +1,259 @@
+package com.urpsys.itmsbatch.cmm.excute;
+
+import java.time.LocalDateTime;
+import java.time.format.DateTimeFormatter;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.LinkedHashMap;
+import java.util.List;
+import java.util.Map;
+
+import org.quartz.DisallowConcurrentExecution;
+import org.quartz.Job;
+import org.quartz.JobDataMap;
+import org.quartz.JobExecutionContext;
+import org.quartz.JobExecutionException;
+import org.quartz.PersistJobDataAfterExecution;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.mail.javamail.JavaMailSender;
+import org.springframework.stereotype.Component;
+
+import com.urpsys.basebatch.common.util.CommonUtil;
+import com.urpsys.basebatch.common.util.ConvertUtils;
+import com.urpsys.basebatch.common.util.HtmlEmailUtil;
+import com.urpsys.basebatch.common.util.RestApiCallUtil;
+import com.urpsys.itmsbatch.cmm.dao.MailKaTalkDao;
+import com.urpsys.itmsbatch.cmm.service.MailKaTalkService;
+
+import kong.unirest.json.JSONObject;
+import lombok.extern.slf4j.Slf4j;
+
+/**
+ * KIC(한국투자공사) 메일/카톡 처리 실행 클래스
+ *
+ * @author urp 인프라본부 나혁제
+ * @since 2025.06.11
+ * @version 1.0.0
+ * @see
+ *
+ *
+ *
+ * << 개정이력(Modification information) >>
+ *
+ * 수정일 수정자 수정내용
+ * ----------- --------- ------------------------
+ * 2025.06.11 나혁제 최초작성
+ *
+ *
+ */
+
+@Slf4j
+@Component
+@PersistJobDataAfterExecution
+@DisallowConcurrentExecution
+public class MailKaTalkSendKiccJob2 implements Job
+{
+ @Autowired
+ MailKaTalkService mailKaTalkService;
+
+ @Autowired
+ HtmlEmailUtil htmlEmailUtil;
+
+ @Autowired
+ RestApiCallUtil restApiCallUtil;
+
+ @Value("${custom.api_kic_msg_key}")
+ private String strApiKicMsgKey; // KIC 메신저서버 api key
+
+ @Override
+ public void execute(JobExecutionContext context) throws JobExecutionException
+ {
+ log.info(" >>>>>>>>>> MailKaTalkSendKiccJob Executed <<<<<<<<<< ");
+
+ JobDataMap dataMap = context.getJobDetail().getJobDataMap();
+
+ log.info("dataMap date : {}", dataMap.get("date"));
+ log.info("dataMap executeCount : {}", dataMap.get("executeCount"));
+
+ // 전송메일 대상 조회
+ List> listNctn = mailKaTalkService.selectNctnProcSndInfo();
+
+ for(LinkedHashMap tempMap : listNctn)
+ {
+ String strProcRsltCn = "";
+ String strProcRsltCd = "";
+
+ // 메일 처리
+ if(tempMap.get("procTy").equals("1"))
+ {
+ Map bodyMap = new HashMap();
+
+ String strMailAddress = CommonUtil.nvl(tempMap.get("rcvrAddr"));
+
+ // 2025.07.01 나혁제 자기 메일로 처리
+ // bodyMap.put("email" , "hong@kic.go.kr");
+ bodyMap.put("email" , CommonUtil.nvl(tempMap.get("rcvrAddr")) );
+ bodyMap.put("to" , CommonUtil.nvl(tempMap.get("rcvrAddr")) );
+ bodyMap.put("subject" , CommonUtil.nvl(tempMap.get("ttl")) );
+ bodyMap.put("content" , CommonUtil.nvl(tempMap.get("bdy")) );
+ // bodyMap.put("content" , "itms 메일테스트 입니다. 메일 삭제해주세요." );
+ bodyMap.put("contentType" , "text/html" );
+
+ try
+ {
+ // 메일주소가 없는경우 오류 처리
+ if(strMailAddress.equals(""))
+ {
+ strProcRsltCn = "메일주소 존재하지 않음";
+ strProcRsltCd = "-1";
+ }
+ else
+ {
+ // Map retMap = restApiCallUtil.RestApiCallNoAuthKicMailTextHtml(bodyMap, "/test/kicMailTest.do");
+ Map retMap = restApiCallUtil.RestApiCallNoAuthKicMailTextHtml(bodyMap, "/api/mail/send/json");
+
+ strProcRsltCn = retMap.toString();
+ strProcRsltCd = "0";
+ }
+ }
+ catch(Exception e)
+ {
+ e.printStackTrace();
+
+ strProcRsltCn = e.toString();
+ strProcRsltCd = "-2";
+ }
+ }
+ // 메신저 처리
+ else if(tempMap.get("procTy").equals("3"))
+ {
+ String strTtl = CommonUtil.nvl(tempMap.get("ttl"));
+ String strRcvrAddr = CommonUtil.nvl(tempMap.get("rcvrAddr"));
+ String strBdy = CommonUtil.nvl(tempMap.get("bdy"));
+ String[] srBdy = strBdy.split(",");
+
+ try
+ {
+ /*
+ Map messageMap = new HashMap();
+
+ messageMap.put("\""+"title" +"\"" , "\""+strTtl+"\"" );
+ messageMap.put("\""+"context" +"\"" , "\""+srBdy[0]+"\"" );
+
+ Map messageFuncMap = new HashMap();
+
+ messageFuncMap.put("\""+"name" +"\"", "\""+"상세페이지로이동"+"\"" );
+ messageFuncMap.put("\""+"type" +"\"", "\""+"link" +"\"" );
+ messageFuncMap.put("\""+"data" +"\"", "\""+srBdy[1] +"\"" );
+
+ messageMap.put("\""+"func"+"\"", messageFuncMap);
+ */
+
+ // JSONParser parser = new JSONParser();
+
+ /*
+ Map messageMap = new HashMap();
+
+ messageMap.put("title" , strTtl );
+ messageMap.put("context" , srBdy[0] );
+
+ Map messageFuncMap = new HashMap();
+
+ messageFuncMap.put("name" , "상세페이지로이동" );
+ messageFuncMap.put("type" , "link" );
+ messageFuncMap.put("data" , srBdy[1] );
+
+ messageMap.put("func", messageFuncMap);
+
+ StringBuilder strBulider = new StringBuilder(1000);
+
+ strBulider.append("\"");
+ strBulider.append(messageMap.toString().replaceAll("\"", "\\\""));
+ strBulider.append("\"");
+ */
+
+ // 변환처리
+ // JSONObject jsonObj = ConvertUtils.getJsonFromMap(messageMap);
+
+
+ Map bodyMap = new HashMap();
+
+ List