# EAPIM Admin

광주은행 엔터프라이즈 API 관리 시스템 - 관리 콘솔

## 프로젝트 개요

**EAPIM Admin**은 광주은행의 eLink EMS (eLink Management System) 관리 콘솔로, API 게이트웨이 구성, 모니터링, 통계, 트랜잭션 로그 조회 기능을 제공하는 웹 기반 플랫폼입니다.

## 기술 스택

- Spring Framework 5.3.27
- Java 17
- Gradle 8.7
- Oracle 19c
- Spring Data JPA 2.5.2
- Hibernate 5.4.33/5.6.15
- QueryDSL 5.0.0
- iBATIS 2.3.4 (레거시 SQL 매핑)
- Quartz 2.2.1
- Logback 1.2.10

## 초기 세팅 가이드

### 사전 요구사항

- JDK 17 이상
- Gradle 8.7
- Git
- Oracle 19c (또는 개발 환경에 따라 접근 가능한 DB)

### 환경별 설정 파일  
프로젝트 클론 후 필요한 환경 설정을 수정하세요:

- `WebContent/WEB-INF/properties/env.D.properties` - 개발 환경
- `WebContent/WEB-INF/properties/env.T.properties` - 테스트/스테이징 환경
- `WebContent/WEB-INF/properties/env.P.properties` - 운영 환경


### 주의사항
- **SafeDB**: 암호화 기능이 필요한 경우 `-Dkjb_safedb.mode=fake` 설정 (개발 환경) 또는 실제 SafeDB 라이브러리 설치
- **멀티 모듈 구조**: eapim-online의 여러 모듈들을 참조하므로 반드시 eapim-online도 클론해야 합니다


## 빌드 및 실행

### Gradle 명령어

프로젝트 루트의 Gradle wrapper(`./gradlew`) 를 사용합니다.

### 빌드 및 실행 명령어

```bash
# 표준 빌드
./gradlew build

# Weblogic 배포용 빌드 (테스트 제외)
./gradlew build -x test -Pprofile=weblogic

# WAR 파일 빌드[ems_stdout.log](../../logs/emsSvr-RinjaeMA/ems_stdout.log)
./gradlew war

# 클린 빌드
./gradlew clean build

# 테스트 실행
./gradlew test

# 패키징 없이 클래스만 컴파일
./gradlew classes

# QueryDSL Q-classes 및 기타 애노테이션 생성
./gradlew compileJava

# 의존성 트리 보기
./gradlew dependencies

# 사용 가능한 모든 태스크 목록
./gradlew tasks --all
```

## 프로젝트 구조

### 전체 프로젝트 구조
```
kjb-eapim/
├── eapim-admin/          # Admin 관리 콘솔 (현재 프로젝트)
├── eapim-online/         # Online 게이트웨이 코어 모듈
│   ├── elink-online-core/
│   ├── elink-online-core-jpa/
│   ├── elink-online-transformer/
│   ├── elink-online-common/
│   ├── elink-online-emsclient/
│   └── elink-online-adapter/
├── elink-portal-common/  # 포털 공통 컴포넌트 (JPA 엔티티)
├── kjb-safedb/          # SafeDB 암호화 라이브러리
└── eapim-portal/        # Portal 개발자 포털 (선택사항)
```

### eapim-admin 내부 구조
```
src/main/java/com/eactive/eai/
├── agent/command        - 커맨드 패턴 구현
├── common/             - 공통 유틸리티, iBatis, JSON 직렬화
├── custom/             - 고객사별 커스터마이제이션
├── rms/                - 메인 애플리케이션 코드
│   ├── bap/            - 배치 처리 (BAP)
│   ├── bat/            - 추가 배치 기능
│   ├── common/         - RMS 공통 (필터, 시작, 서비스)
│   ├── data/           - 데이터 엔티티, 리포지토리
│   ├── env/            - 환경 설정
│   ├── kakao/          - 카카오 연동
│   ├── onl/            - 온라인 트랜잭션 관리
│   └── service/        - 비즈니스 서비스
└── ext.kjb/            - 광주은행(KJB) 확장
```

### 웹 리소스 구조
```
WebContent/
├── WEB-INF/
│   ├── applicationContext.xml       - Root Spring 설정
│   ├── springapp-servlet.xml        - Servlet Spring 설정
│   ├── web.xml                      - Tomcat용 배포 디스크립터
│   ├── weblogic-web.xml             - WebLogic용 배포 디스크립터
│   └── properties/                  - 환경별 프로퍼티
│       ├── env.D.properties         - 개발
│       ├── env.T.properties         - 테스트
│       └── env.P.properties         - 운영
└── guide/                           - 사용자 가이드
```

## 주요 기능

다음과 같은 관리 기능을 수행하며, 모든 관리 대상은 실시간으로 DB, 메모리에 있는 정보가 수정, 반영됩니다.

| 기능                 | 설명                                                         |
| -------------------- | ------------------------------------------------------------ |
| 사용자 관리          | 사용자 및 권한을 관리하는 기능                               |
| 로그 조회            | 거래 수행 내역을 조회 하는 기능(온라인/배치/일괄)            |
| 통계 조회            | 거래 통계 조회 기능                                          |
| 대시보드 조회        | 거래 내역 및 장애상황을 모니터링 할 수 있는 대시보드 조회 기능 |
| 인터페이스 관리      | 인터페이스 등록/관리 기능                                    |
| 레이아웃 관리        | 레이아웃 등록/관리 기능                                      |
| 변환 관리            | 변환 등록/관리 기능                                          |
| 어댑터 관리          | 통신 어댑터 등록/관리 기능                                   |
| 라우팅룰 관리        | 라우팅 룰 등록/관리 기능                                     |
| 배치 어댑터 관리     | 배치 어댑터 등록/관리 기능                                   |
| 배치 인터페이스 관리 | 배치 인터페이스 등록/관리 기능                               |
| 일괄 관리            | 일괄 등록/관리 기능                                          |

## 외부 모듈

이 프로젝트는 다음 모듈에 의존합니다 (settings.gradle 참조):

| 이름                     | 버전         | 설명                                           |
| ------------------------ | ------------ | ---------------------------------------------- |
| elink-online-core        | 4.5-SNAPSHOT | 코어 모듈로 인터페이스 클래스 정의             |
| elink-online-core-jpa    | 4.5-SNAPSHOT | JPA 엔티티 및 리포지토리                       |
| elink-online-transformer | 4.5-SNAPSHOT | 변환 모듈로 메시지 및 변환 관련 클래스 정의    |
| elink-online-adapter     | 4.5-SNAPSHOT | 어댑터 모듈로 통신에 필요한 어댑터 클래스 정의 |
| elink-online-common      | 4.5-SNAPSHOT | 나머지 공통 프로그램이 정의되어있다            |
| elink-online-emsclient   | 4.5-SNAPSHOT | ems와 통신하기 위한 모듈                       |
| elink-portal-common      | -            | 포털 공통 컴포넌트 (JPA 엔티티)                |
| kjb-safedb               | -            | 커스텀 암호화 라이브러리                       |
| eapim-admin-kjb          | -            | KJB 은행 특화 커스터마이제이션                 |

## 하이브리드 ORM 방식

이 애플리케이션은 **JPA와 iBATIS 모두를 사용**합니다:
- **JPA/Hibernate**: `elink-portal-common`을 통한 현대적인 데이터 액세스 (Spring Data repositories)
- **iBATIS**: 기존 코드를 위한 레거시 SQL 매핑 (점진적으로 마이그레이션 예정)

데이터 액세스 작업 시:
- 새로운 기능은 JPA와 Spring Data repositories를 사용해야 합니다
- 레거시 iBATIS 매퍼는 `src/main/resources/com/eactive/eai/**/*.xml`에 있으며 Spring XML을 통해 설정됩니다

## 코드 생성

빌드 프로세스에서 생성되는 것들:
- **QueryDSL Q-classes**: 타입 안전 쿼리 클래스
- **Lombok**: 애노테이션 프로세싱을 통한 Getters/setters/builders
- **MapStruct**: DTO와 엔티티 간의 객체 매퍼

### 이중 Q-Class 생성 (Gradle + Eclipse)

이 프로젝트는 **Gradle과 Eclipse 애노테이션 프로세서 모두를 사용**하므로, Q-classes가 **두 위치에 생성**됩니다:

1. **`build/generated/java/`** - `gradle compileJava` 또는 `gradle build` 실행 시 Gradle이 생성
2. **`WebContent/generated/`** - Eclipse IDE에서 빌드 시 Eclipse APT가 생성

**이는 예상된 동작이며 의도적입니다.** 두 디렉토리 모두 `.gitignore`에 포함되어 있으며 커밋해서는 안 됩니다.

## AI 코딩 어시스턴트 지침 파일

이 프로젝트는 여러 AI 코딩 어시스턴트를 지원합니다. 각 도구는 다음 파일을 참조합니다:

### 지침 파일 위치

| AI 도구 | 지침 파일 경로 | 용도 |
|---------|---------------|------|
| **Claude Code** | `CLAUDE.md` | 마스터 지침 파일 (한글) |
| **GitHub Copilot** | `.github/copilot-instructions.md` | Copilot용 지침 |
| **Cursor** | `.cursorrules` | Cursor용 간결한 규칙 |

### 지침 파일 관리 방법

1. **마스터 파일**: `CLAUDE.md`
   - 가장 상세한 프로젝트 지침을 포함
   - 한글로 작성되어 한국 개발팀이 이해하기 쉬움
   - 수정 시 이 파일을 먼저 업데이트

2. **동기화**:
   ```bash
   # CLAUDE.md 수정 후 다른 파일들 동기화
   cp CLAUDE.md .github/copilot-instructions.md
   # .cursorrules는 간결한 버전이므로 필요시 수동 업데이트
   ```

3. **새로운 AI 도구 지원 추가**:
   - Windsurf: `.windsurfrules` 파일 생성
   - 기타 도구: 해당 도구의 규칙 파일명 확인 후 생성



## 환경 설정

### 시스템 모드

- **D (DEV)**: 개발 환경
- **T (TEST)**: 테스트/스테이징 환경
- **P (PROD)**: 운영 환경

시스템 모드는 `-Deai.systemmode` JVM 옵션으로 설정하며, 해당 환경의 프로퍼티 파일(`env.D.properties` 등)을 로드합니다.

### TOMCAT 기동 옵션 참조

#### 은행 개발 서버용
```
-Deai.datasource.type=DEV
-Dinst.Name=emsSvr11
-Deai.tableowner=EMSAPP
-Deai.systemmode=D
-Dfile.encoding=utf-8
-DLOGBACK_LOG_LEVEL=info
```

#### 로컬 개발용
```
-Deai.datasource.type=DEV
-Dinst.Name=emsSvr99
-Deai.tableowner=EMSAPP
-Deai.systemmode=D
-Dfile.encoding=utf-8
-Dlogin.mode=db
-DLOGBACK_LOG_LEVEL=DEBUG
-Dlogback.configurationFile=classpath:logback-dev.xml
-Dhibernate.dialect=org.hibernate.dialect.Oracle12cDialect
-Dkjb_safedb.mode=fake


-Dlogback.configurationFile="C:\eactive\workspaces\kjb-eapim\eapim-admin\src\main\resources\logback-rinjae.xml"
```

### 데이터베이스 지원

- **Oracle**: 운영 데이터베이스 (주)
- **PostgreSQL/MariaDB**: 대체 운영 DB
- **H2**: 테스트용 인메모리 데이터베이스

데이터베이스 벤더는 프로퍼티 파일의 `db.vendor`와 `hibernate.dialect`를 통해 설정됩니다.

### SafeDB 암호화 라이브러리

`kjb-safedb` 모듈은 세 가지 동작 모드를 제공합니다:
- **REAL**: 실제 SafeDB 네이티브 라이브러리 사용
- **FAKE**: SHA-256/AES-256을 사용하는 개발 모드 (SafeDB 설치 불필요)
- **NONE**: 암호화 우회 (테스트 전용)

개발 시 SafeDB가 로컬에 설치되지 않은 경우 `-Dkjb_safedb.mode=fake`를 설정합니다.

## 배포

### 지원 서버
- **Tomcat** (기본, 개발)
- **WebLogic 14.1.2** (운영, `-Pprofile=weblogic` 필요)
- **JEUS** (지원)
- **JBoss/WildFly** (descriptors와 함께 지원)

### WebLogic 전용 빌드

WebLogic용 빌드 시, DefaultServlet 문제를 해결하기 위해 `web.xml`을 `weblogic-web.xml`로 교체하는 `weblogic` 프로필을 사용합니다:

```bash
gradle build -x test -Pprofile=weblogic
```

### WAR 배포

WAR 파일은 context path `/monitoring`으로 `eapim-admin.war`로 빌드됩니다.

## IDE 설정

### Eclipse

```bash
gradle eclipse
```

다음을 생성합니다:
- `.project` 및 `.classpath` 파일
- Eclipse WTP 설정 (context path: `/monitoring`)
- UTF-8 인코딩 설정
- QueryDSL/Lombok을 위한 애노테이션 프로세서 설정

### IntelliJ IDEA

```bash
gradle idea
```

또는 IntelliJ에서 직접 "Import Gradle Project"를 사용합니다.

## KJB (광주은행) 전용 설정

### 프로퍼티 관리
KJB 전용 프로퍼티는 데이터베이스 테이블 `TSEAIRM24`에 그룹명 `'Monitoring'`으로 저장됩니다. 


### 주요 프로퍼티 설정

**이메일 알림 (EAI Batch를 통해)**
- `kjb.eai_batch.url` - 이메일 발송을 위한 EAI 배치 서버 URL
  - 개발: http://172.31.32.111:10230/BATAppWeb/EaiBatCall
  - QA: http://172.31.33.111:10430/BATAppWeb/EaiBatCall
  - 운영: http://172.21.1.40:10860/BATAppWeb/EaiBatCall
  - 입력하지 않을 경우 EAI 배치 호출을 하지 않고 내부적으로 통신하지 않으며 warning 로그만 남김
- `kjb.ums.eai_batch.send_dir` - 이메일 파일 발송 디렉토리 (기본값: `/Data/eapim/portal/sendmail/snd`)
- `kjb.ums.eai_batch.backup_dir` - 이메일 백업 디렉토리 (기본값: `/Data/eapim/portal/sendmail/bak`)
- `kjb.ums.eai_batch.interface_id` - 고객 이메일용 인터페이스 ID (예: `UAGFF00001UIE`)

**UMS (SMS/LMS/카카오톡) 연동**
- `kjb.ums.host_url` - UMS API 엔드포인트
- `kjb.ums.api_key` - UMS API 인증 키
- `kjb.ums.connection_timeout` - 연결 타임아웃 (초 단위)
- `kjb.ums.response_timeout` - 응답 타임아웃 (초 단위)

### 보안
- 커스텀 패스워드 인코더: SafeDB 연동을 위한 `KjbSafedbPasswordEncoder`

## 테스트

테스트에 사용되는 것들:
- **JUnit 5 (Jupiter)**: 테스트 프레임워크
- **Spring Boot Test 2.6.15**: 통합 테스트 유틸리티
- **H2 Database**: 테스트용 인메모리 데이터베이스
- **Mockito**: 모킹 프레임워크 (Spring Boot Test를 통해)

```bash
# 모든 테스트 실행
gradle test

# 특정 테스트 클래스 실행
gradle test --tests "com.example.ClassName"

# 특정 테스트 패키지 실행 (JUnit 플랫폼 사용)
gradle test --tests "com.eactive.eai.rms.*"
```

## 관련 프로젝트

프로젝트 구조 (kjb-eapim 디렉토리 기준):
- `eapim-admin/` - Admin 관리 콘솔 (현재 프로젝트)
- `eapim-online/` - Online 게이트웨이 (코어 모듈 포함)
- `eapim-portal/` - Portal 개발자 포털
- `elink-portal-common/` - 공통 유틸리티 라이브러리
- `kjb-safedb/` - SafeDB 암호화 라이브러리
- `kjb-eapim-sql/` - SQL 스크립트 (선택사항)

## 문서

- **프로젝트 상세 지침**: `CLAUDE.md` (한글)
- **사용자 가이드**: `WebContent/guide/` (한글)

## 참고: KJB 데이터베이스 파라미터 설정

### 추가 파라미터 SQL
```sql
-- 로컬 개발용 (외부)
-- EAI, UMS 주소 미기입시 내부적으론 호출 시도 하지 않고 warning 로그만 남기며 정상 처리
--insert into EMSAPP.TSEAIRM24 (PRPTYGROUPNAME, PRPTYNAME, PRPTY2VAL) values ('Monitoring', 'kjb.eai_batch.url', '');
insert into EMSAPP.TSEAIRM24 (PRPTYGROUPNAME, PRPTYNAME, PRPTY2VAL) values ('Monitoring', 'kjb.eai.batch.connection_timeout', '5');
insert into EMSAPP.TSEAIRM24 (PRPTYGROUPNAME, PRPTYNAME, PRPTY2VAL) values ('Monitoring', 'kjb.eai.batch.response_timeout', '5');
insert into EMSAPP.TSEAIRM24 (PRPTYGROUPNAME, PRPTYNAME, PRPTY2VAL) values ('Monitoring', 'kjb.eai.batch.timeout', '10');
insert into EMSAPP.TSEAIRM24 (PRPTYGROUPNAME, PRPTYNAME, PRPTY2VAL) values ('Monitoring', 'kjb.eai.batch.charset', 'euc-kr');

insert into EMSAPP.TSEAIRM24 (PRPTYGROUPNAME, PRPTYNAME, PRPTY2VAL) values ('Monitoring', 'kjb.ums.eai_batch.send_dir', '/Data/eapim/portal/sendmail/snd');
insert into EMSAPP.TSEAIRM24 (PRPTYGROUPNAME, PRPTYNAME, PRPTY2VAL) values ('Monitoring', 'kjb.ums.eai_batch.backup_dir', '/Data/eapim/portal/sendmail/bak');
insert into EMSAPP.TSEAIRM24 (PRPTYGROUPNAME, PRPTYNAME, PRPTY2VAL) values ('Monitoring', 'kjb.ums.eai_batch.error_dir', '/Data/eapim/portal/sendmail/bak');
insert into EMSAPP.TSEAIRM24 (PRPTYGROUPNAME, PRPTYNAME, PRPTY2VAL) values ('Monitoring', 'kjb.ums.eai_batch.retention_date', '60');
insert into EMSAPP.TSEAIRM24 (PRPTYGROUPNAME, PRPTYNAME, PRPTY2VAL) values ('Monitoring', 'kjb.ums.eai_batch.interface_id', 'UIEFF00001UAG');

-- insert into EMSAPP.TSEAIRM24 (PRPTYGROUPNAME, PRPTYNAME, PRPTY2VAL) values ('Monitoring', 'kjb.ums.host_url', '');
insert into EMSAPP.TSEAIRM24 (PRPTYGROUPNAME, PRPTYNAME, PRPTY2VAL) values ('Monitoring', 'kjb.ums.api_key', '7cca6d58-e4f7-474d-9edd-525806bc99ff');
insert into EMSAPP.TSEAIRM24 (PRPTYGROUPNAME, PRPTYNAME, PRPTY2VAL) values ('Monitoring', 'kjb.ums.connection_timeout', '5');
insert into EMSAPP.TSEAIRM24 (PRPTYGROUPNAME, PRPTYNAME, PRPTY2VAL) values ('Monitoring', 'kjb.ums.response_timeout', '5');
insert into EMSAPP.TSEAIRM24 (PRPTYGROUPNAME, PRPTYNAME, PRPTY2VAL) values ('Monitoring', 'kjb.ums.timeout', '10');

--insert into EMSAPP.TSEAIRM24 (PRPTYGROUPNAME, PRPTYNAME, PRPTY2VAL) values ('Monitoring', 'kjb.obp.host_url', '');
insert into EMSAPP.TSEAIRM24 (PRPTYGROUPNAME, PRPTYNAME, PRPTY2VAL) values ('Monitoring', 'kjb.obp.trust_system', 'APIMPT-0002-QVBJTVBULTAwMDI=');
insert into EMSAPP.TSEAIRM24 (PRPTYGROUPNAME, PRPTYNAME, PRPTY2VAL) values ('Monitoring', 'kjb.obp.commission_uri', '/api/billing/findBillingForCondition');
insert into EMSAPP.TSEAIRM24 (PRPTYGROUPNAME, PRPTYNAME, PRPTY2VAL) values ('Monitoring', 'kjb.obp.commission_print_uri', '/api/billing/billing/findBillingForCondition/print');
insert into EMSAPP.TSEAIRM24 (PRPTYGROUPNAME, PRPTYNAME, PRPTY2VAL) values ('Monitoring', 'kjb.obp.query_partnercode_uri', '/api/customer/findCustomerByBusinessManRegistrationNo/%s');
insert into EMSAPP.TSEAIRM24 (PRPTYGROUPNAME, PRPTYNAME, PRPTY2VAL) values ('Monitoring', 'kjb.obp.create_partnercode_uri', '/not-yet-implement/%s');
commit;


-- 은행 개발 서버용
insert into EMSAPP.TSEAIRM24 (PRPTYGROUPNAME, PRPTYNAME, PRPTY2VAL) values ('Monitoring', 'kjb.eai_batch.url', 'http://172.31.32.111:10230/BATAppWeb/EaiBatCall');
insert into EMSAPP.TSEAIRM24 (PRPTYGROUPNAME, PRPTYNAME, PRPTY2VAL) values ('Monitoring', 'kjb.eai.batch.connection_timeout', '5');
insert into EMSAPP.TSEAIRM24 (PRPTYGROUPNAME, PRPTYNAME, PRPTY2VAL) values ('Monitoring', 'kjb.eai.batch.response_timeout', '5');
insert into EMSAPP.TSEAIRM24 (PRPTYGROUPNAME, PRPTYNAME, PRPTY2VAL) values ('Monitoring', 'kjb.eai.batch.timeout', '10');
insert into EMSAPP.TSEAIRM24 (PRPTYGROUPNAME, PRPTYNAME, PRPTY2VAL) values ('Monitoring', 'kjb.eai.batch.charset', 'euc-kr');
insert into EMSAPP.TSEAIRM24 (PRPTYGROUPNAME, PRPTYNAME, PRPTY2VAL) values ('Monitoring', 'kjb.ums.eai_batch.send_dir', '/Data/eapim/portal/sendmail/snd');
insert into EMSAPP.TSEAIRM24 (PRPTYGROUPNAME, PRPTYNAME, PRPTY2VAL) values ('Monitoring', 'kjb.ums.eai_batch.backup_dir', '/Data/eapim/portal/sendmail/bak');
insert into EMSAPP.TSEAIRM24 (PRPTYGROUPNAME, PRPTYNAME, PRPTY2VAL) values ('Monitoring', 'kjb.ums.eai_batch.error_dir', '/Data/eapim/portal/sendmail/bak');
insert into EMSAPP.TSEAIRM24 (PRPTYGROUPNAME, PRPTYNAME, PRPTY2VAL) values ('Monitoring', 'kjb.ums.eai_batch.retention_date', '60');
insert into EMSAPP.TSEAIRM24 (PRPTYGROUPNAME, PRPTYNAME, PRPTY2VAL) values ('Monitoring', 'kjb.ums.eai_batch.interface_id', 'UIEFF00001UAG');
insert into EMSAPP.TSEAIRM24 (PRPTYGROUPNAME, PRPTYNAME, PRPTY2VAL) values ('Monitoring', 'kjb.ums.host_url', 'http://172.31.35.144:9021');
insert into EMSAPP.TSEAIRM24 (PRPTYGROUPNAME, PRPTYNAME, PRPTY2VAL) values ('Monitoring', 'kjb.ums.api_key', '7cca6d58-e4f7-474d-9edd-525806bc99ff');
insert into EMSAPP.TSEAIRM24 (PRPTYGROUPNAME, PRPTYNAME, PRPTY2VAL) values ('Monitoring', 'kjb.ums.connection_timeout', '5');
insert into EMSAPP.TSEAIRM24 (PRPTYGROUPNAME, PRPTYNAME, PRPTY2VAL) values ('Monitoring', 'kjb.ums.response_timeout', '5');
insert into EMSAPP.TSEAIRM24 (PRPTYGROUPNAME, PRPTYNAME, PRPTY2VAL) values ('Monitoring', 'kjb.ums.timeout', '10');

insert into EMSAPP.TSEAIRM24 (PRPTYGROUPNAME, PRPTYNAME, PRPTY2VAL) values ('Monitoring', 'kjb.obp.host_url', 'http://192.168.246.15:8181');
insert into EMSAPP.TSEAIRM24 (PRPTYGROUPNAME, PRPTYNAME, PRPTY2VAL) values ('Monitoring', 'kjb.obp.trust_system', 'APIMPT-0002-QVBJTVBULTAwMDI=');
insert into EMSAPP.TSEAIRM24 (PRPTYGROUPNAME, PRPTYNAME, PRPTY2VAL) values ('Monitoring', 'kjb.obp.commission_uri', '/api/billing/findBillingForCondition');
insert into EMSAPP.TSEAIRM24 (PRPTYGROUPNAME, PRPTYNAME, PRPTY2VAL) values ('Monitoring', 'kjb.obp.commission_print_uri', '/api/billing/billing/findBillingForCondition/print');
insert into EMSAPP.TSEAIRM24 (PRPTYGROUPNAME, PRPTYNAME, PRPTY2VAL) values ('Monitoring', 'kjb.obp.query_partnercode_uri', '/api/customer/findCustomerByBusinessManRegistrationNo/%s');
insert into EMSAPP.TSEAIRM24 (PRPTYGROUPNAME, PRPTYNAME, PRPTY2VAL) values ('Monitoring', 'kjb.obp.create_partnercode_uri', '/not-yet-implement/%s');
commit;


-- 은행 운영 서버용
insert into EMSAPP.TSEAIRM24 (PRPTYGROUPNAME, PRPTYNAME, PRPTY2VAL) values ('Monitoring', 'kjb.eai_batch.url', 'http://172.21.1.40:10860/BATAppWeb/EaiBatCall');
insert into EMSAPP.TSEAIRM24 (PRPTYGROUPNAME, PRPTYNAME, PRPTY2VAL) values ('Monitoring', 'kjb.eai.batch.connection_timeout', '5');
insert into EMSAPP.TSEAIRM24 (PRPTYGROUPNAME, PRPTYNAME, PRPTY2VAL) values ('Monitoring', 'kjb.eai.batch.response_timeout', '5');
insert into EMSAPP.TSEAIRM24 (PRPTYGROUPNAME, PRPTYNAME, PRPTY2VAL) values ('Monitoring', 'kjb.eai.batch.timeout', '10');
insert into EMSAPP.TSEAIRM24 (PRPTYGROUPNAME, PRPTYNAME, PRPTY2VAL) values ('Monitoring', 'kjb.eai.batch.charset', 'euc-kr');
insert into EMSAPP.TSEAIRM24 (PRPTYGROUPNAME, PRPTYNAME, PRPTY2VAL) values ('Monitoring', 'kjb.ums.eai_batch.send_dir', '/Data/eapim/portal/sendmail/snd');
insert into EMSAPP.TSEAIRM24 (PRPTYGROUPNAME, PRPTYNAME, PRPTY2VAL) values ('Monitoring', 'kjb.ums.eai_batch.backup_dir', '/Data/eapim/portal/sendmail/bak');
insert into EMSAPP.TSEAIRM24 (PRPTYGROUPNAME, PRPTYNAME, PRPTY2VAL) values ('Monitoring', 'kjb.ums.eai_batch.error_dir', '/Data/eapim/portal/sendmail/bak');
insert into EMSAPP.TSEAIRM24 (PRPTYGROUPNAME, PRPTYNAME, PRPTY2VAL) values ('Monitoring', 'kjb.ums.eai_batch.retention_date', '60');
insert into EMSAPP.TSEAIRM24 (PRPTYGROUPNAME, PRPTYNAME, PRPTY2VAL) values ('Monitoring', 'kjb.ums.eai_batch.interface_id', 'UIEFF00001UAG');
insert into EMSAPP.TSEAIRM24 (PRPTYGROUPNAME, PRPTYNAME, PRPTY2VAL) values ('Monitoring', 'kjb.ums.host_url', 'http://172.24.128.66:9021');
insert into EMSAPP.TSEAIRM24 (PRPTYGROUPNAME, PRPTYNAME, PRPTY2VAL) values ('Monitoring', 'kjb.ums.api_key', '7cca6d58-e4f7-474d-9edd-525806bc99ff');
insert into EMSAPP.TSEAIRM24 (PRPTYGROUPNAME, PRPTYNAME, PRPTY2VAL) values ('Monitoring', 'kjb.ums.connection_timeout', '5');
insert into EMSAPP.TSEAIRM24 (PRPTYGROUPNAME, PRPTYNAME, PRPTY2VAL) values ('Monitoring', 'kjb.ums.response_timeout', '5');
insert into EMSAPP.TSEAIRM24 (PRPTYGROUPNAME, PRPTYNAME, PRPTY2VAL) values ('Monitoring', 'kjb.ums.timeout', '10');

insert into EMSAPP.TSEAIRM24 (PRPTYGROUPNAME, PRPTYNAME, PRPTY2VAL) values ('Monitoring', 'kjb.obp.host_url', 'http://192.168.246.15:8181');
insert into EMSAPP.TSEAIRM24 (PRPTYGROUPNAME, PRPTYNAME, PRPTY2VAL) values ('Monitoring', 'kjb.obp.trust_system', 'APIMPT-0002-QVBJTVBULTAwMDI=');
insert into EMSAPP.TSEAIRM24 (PRPTYGROUPNAME, PRPTYNAME, PRPTY2VAL) values ('Monitoring', 'kjb.obp.commission_uri', '/api/billing/findBillingForCondition');
insert into EMSAPP.TSEAIRM24 (PRPTYGROUPNAME, PRPTYNAME, PRPTY2VAL) values ('Monitoring', 'kjb.obp.commission_print_uri', '/api/billing/billing/findBillingForCondition/print');
insert into EMSAPP.TSEAIRM24 (PRPTYGROUPNAME, PRPTYNAME, PRPTY2VAL) values ('Monitoring', 'kjb.obp.query_partnercode_uri', '/api/customer/findCustomerByBusinessManRegistrationNo/%s');
insert into EMSAPP.TSEAIRM24 (PRPTYGROUPNAME, PRPTYNAME, PRPTY2VAL) values ('Monitoring', 'kjb.obp.create_partnercode_uri', '/not-yet-implement/%s');
commit;
```
## 라이선스

© 광주은행 (Kwangju Bank)
