win 0422
parent
afc88cdeb0
commit
91dfe5e3db
|
@ -6,5 +6,8 @@
|
|||
"useMarkdownLinks": false,
|
||||
"autoPairMarkdown": true,
|
||||
"newFileLocation": "current",
|
||||
"attachmentFolderPath": "zzz.resources"
|
||||
"attachmentFolderPath": "zzz.resources",
|
||||
"readableLineLength": false,
|
||||
"showLineNumber": false,
|
||||
"focusNewTab": false
|
||||
}
|
|
@ -1,5 +1,117 @@
|
|||
{
|
||||
"recentFiles": [
|
||||
{
|
||||
"basename": "2024-04-22",
|
||||
"path": "Work Related/1.업무메모/2024-04-22.md"
|
||||
},
|
||||
{
|
||||
"basename": "WIndows OpenSSH server 설치",
|
||||
"path": "Programing/Windows/WIndows OpenSSH server 설치.md"
|
||||
},
|
||||
{
|
||||
"basename": "2022-06-13",
|
||||
"path": "Work Related/1.업무메모/2022.06/2022-06-13.md"
|
||||
},
|
||||
{
|
||||
"basename": "GAM_LIST 데이터 일괄 insert",
|
||||
"path": "Work Related/프로젝트/스마트계류장/1.데이터베이스/GAM_LIST 데이터 일괄 insert.md"
|
||||
},
|
||||
{
|
||||
"basename": "주기장 기준 항공기 유무 확인 쿼리(GAM)",
|
||||
"path": "Work Related/프로젝트/스마트계류장/1.데이터베이스/주기장 기준 항공기 유무 확인 쿼리(GAM).md"
|
||||
},
|
||||
{
|
||||
"basename": "테이블 일괄 생성 스크립트",
|
||||
"path": "Work Related/프로젝트/스마트계류장/1.데이터베이스/산출물작업/테이블 일괄 생성 스크립트.md"
|
||||
},
|
||||
{
|
||||
"basename": "표준이동경로 관련 임시테이블",
|
||||
"path": "Work Related/프로젝트/스마트계류장/1.데이터베이스/표준이동경로 관련 임시테이블.md"
|
||||
},
|
||||
{
|
||||
"basename": "프로젝트 범위 요약",
|
||||
"path": "Work Related/프로젝트/스마트계류장/0.관련정보/프로젝트 범위 요약.md"
|
||||
},
|
||||
{
|
||||
"basename": "DB 필요항목",
|
||||
"path": "Work Related/프로젝트/스마트계류장/1.데이터베이스/DB 필요항목.md"
|
||||
},
|
||||
{
|
||||
"basename": "CCTV 설치된 멀티 주기장",
|
||||
"path": "Work Related/프로젝트/스마트계류장/9.기타/CCTV 설치된 멀티 주기장.md"
|
||||
},
|
||||
{
|
||||
"basename": "PassWD",
|
||||
"path": "Zettelkasten/PassWD.md"
|
||||
},
|
||||
{
|
||||
"basename": "테이블 스페이스 관련",
|
||||
"path": "Programing/Tibero/테이블 스페이스 관련.md"
|
||||
},
|
||||
{
|
||||
"basename": "JAVA -Json for VO",
|
||||
"path": "Programing/Java/JAVA -Json for VO.md"
|
||||
},
|
||||
{
|
||||
"basename": "Java ArrayList 정렬",
|
||||
"path": "Programing/Java/Java ArrayList 정렬.md"
|
||||
},
|
||||
{
|
||||
"basename": "TODO",
|
||||
"path": "Work Related/프로젝트/스마트계류장/TODO.md"
|
||||
},
|
||||
{
|
||||
"basename": "스마트계류장 요구사항",
|
||||
"path": "Work Related/프로젝트/스마트계류장/0.관련정보/스마트계류장 요구사항.md"
|
||||
},
|
||||
{
|
||||
"basename": "2023.10-4",
|
||||
"path": "Work Related/3.주간계획/스마트계류장/2023.10-4.md"
|
||||
},
|
||||
{
|
||||
"basename": "방문증 신청 문구",
|
||||
"path": "Work Related/프로젝트/스마트계류장/9.기타/방문증 신청 문구.md"
|
||||
},
|
||||
{
|
||||
"basename": "관리페이지 수정",
|
||||
"path": "Work Related/프로젝트/스마트계류장/9.기타/관리페이지 수정.md"
|
||||
},
|
||||
{
|
||||
"basename": "공유문서",
|
||||
"path": "Work Related/프로젝트/스마트계류장/0.관련정보/공유문서.md"
|
||||
},
|
||||
{
|
||||
"basename": "Elastic Search + Spring Boot에서 검색 로직",
|
||||
"path": "Programing/ELK/Elastic Search + Spring Boot에서 검색 로직.md"
|
||||
},
|
||||
{
|
||||
"basename": "query DSL",
|
||||
"path": "Programing/ELK/query DSL.md"
|
||||
},
|
||||
{
|
||||
"basename": "Kafka-ELK 테스트",
|
||||
"path": "Work Related/프로젝트/스마트계류장/0.관련정보/Kafka-ELK 테스트.md"
|
||||
},
|
||||
{
|
||||
"basename": "미들웨어 API",
|
||||
"path": "Work Related/프로젝트/스마트계류장/0.관련정보/미들웨어 API.md"
|
||||
},
|
||||
{
|
||||
"basename": "0.Learnig List",
|
||||
"path": "Programing/0.Learnig List.md"
|
||||
},
|
||||
{
|
||||
"basename": "Kafka Windows 실행",
|
||||
"path": "Programing/Kafka(AMQP)/Kafka Windows 실행.md"
|
||||
},
|
||||
{
|
||||
"basename": "오류모음",
|
||||
"path": "Programing/Kafka(AMQP)/오류모음.md"
|
||||
},
|
||||
{
|
||||
"basename": "물리적인 구성",
|
||||
"path": "Programing/Kafka(AMQP)/물리적인 구성.md"
|
||||
},
|
||||
{
|
||||
"basename": "CMD 명령어",
|
||||
"path": "Programing/Windows/CMD 명령어.md"
|
||||
|
@ -12,10 +124,6 @@
|
|||
"basename": "2023.10-3",
|
||||
"path": "Work Related/3.주간계획/스마트계류장/2023.10-3.md"
|
||||
},
|
||||
{
|
||||
"basename": "2023.10-4",
|
||||
"path": "Work Related/3.주간계획/스마트계류장/2023.10-4.md"
|
||||
},
|
||||
{
|
||||
"basename": "Jenkins 설치",
|
||||
"path": "Programing/Jenkins/Jenkins 설치.md"
|
||||
|
@ -24,10 +132,6 @@
|
|||
"basename": "용어정리",
|
||||
"path": "Work Related/프로젝트/스마트계류장/항공용어/용어정리.md"
|
||||
},
|
||||
{
|
||||
"basename": "프로젝트 범위 요약",
|
||||
"path": "Work Related/프로젝트/스마트계류장/0.관련정보/프로젝트 범위 요약.md"
|
||||
},
|
||||
{
|
||||
"basename": "약어표",
|
||||
"path": "Work Related/프로젝트/스마트계류장/항공용어/약어표.md"
|
||||
|
@ -60,14 +164,6 @@
|
|||
"basename": "Kafka 설치",
|
||||
"path": "Programing/Kafka(AMQP)/Kafka 설치.md"
|
||||
},
|
||||
{
|
||||
"basename": "방문증 신청 문구",
|
||||
"path": "Work Related/프로젝트/스마트계류장/9.기타/방문증 신청 문구.md"
|
||||
},
|
||||
{
|
||||
"basename": "TODO",
|
||||
"path": "Work Related/프로젝트/스마트계류장/TODO.md"
|
||||
},
|
||||
{
|
||||
"basename": "EAI 데이터 초기화",
|
||||
"path": "Work Related/프로젝트/스마트계류장/1.데이터베이스/EAI 데이터 초기화.md"
|
||||
|
@ -80,10 +176,6 @@
|
|||
"basename": "EAI 프로시져 테스트",
|
||||
"path": "Work Related/프로젝트/스마트계류장/1.데이터베이스/EAI 프로시져 테스트.md"
|
||||
},
|
||||
{
|
||||
"basename": "GAM_LIST 데이터 일괄 insert",
|
||||
"path": "Work Related/프로젝트/스마트계류장/1.데이터베이스/GAM_LIST 데이터 일괄 insert.md"
|
||||
},
|
||||
{
|
||||
"basename": "Docker 설치",
|
||||
"path": "Programing/Docker/Docker 설치.md"
|
||||
|
@ -107,98 +199,6 @@
|
|||
{
|
||||
"basename": "스키마 생성",
|
||||
"path": "Programing/Tibero/스키마 생성.md"
|
||||
},
|
||||
{
|
||||
"basename": "설치",
|
||||
"path": "Programing/MariaDB/설치.md"
|
||||
},
|
||||
{
|
||||
"basename": "ssh포트로 파일 전송",
|
||||
"path": "Programing/Linux/Linux 명령어/ssh포트로 파일 전송.md"
|
||||
},
|
||||
{
|
||||
"basename": "SSH",
|
||||
"path": "Programing/Linux/RHEL9/SSH.md"
|
||||
},
|
||||
{
|
||||
"basename": "공유문서",
|
||||
"path": "Work Related/프로젝트/스마트계류장/0.관련정보/공유문서.md"
|
||||
},
|
||||
{
|
||||
"basename": "Maven 설치",
|
||||
"path": "Tools/VSCode_Server/Maven 설치.md"
|
||||
},
|
||||
{
|
||||
"basename": "SACP maven 빌드 명령어",
|
||||
"path": "Work Related/프로젝트/스마트계류장/9.기타/SACP maven 빌드 명령어.md"
|
||||
},
|
||||
{
|
||||
"basename": "프로젝트 생성",
|
||||
"path": "Tools/VSCode_Server/프로젝트 생성.md"
|
||||
},
|
||||
{
|
||||
"basename": "Ubuntu에 설치",
|
||||
"path": "Tools/VSCode_Server/Ubuntu에 설치.md"
|
||||
},
|
||||
{
|
||||
"basename": "vscode_server 설치관련",
|
||||
"path": "Tools/VSCode_Server/vscode_server 설치관련.md"
|
||||
},
|
||||
{
|
||||
"basename": "VSCode 설치",
|
||||
"path": "Tools/VSCode/VSCode 설치.md"
|
||||
},
|
||||
{
|
||||
"basename": "VSCode Extension",
|
||||
"path": "Tools/VSCode/VSCode Extension.md"
|
||||
},
|
||||
{
|
||||
"basename": "Docker 폐쇄망 설치",
|
||||
"path": "Programing/Docker/Docker 폐쇄망 설치.md"
|
||||
},
|
||||
{
|
||||
"basename": "프로세스 확인 및 강제 종료",
|
||||
"path": "Programing/Linux/Ubuntu/프로세스 확인 및 강제 종료.md"
|
||||
},
|
||||
{
|
||||
"basename": "Reno server URL",
|
||||
"path": "Work Related/프로젝트/스마트계류장/1.데이터베이스/Reno server URL.md"
|
||||
},
|
||||
{
|
||||
"basename": "Docker Compose",
|
||||
"path": "Programing/Docker/Docker Compose.md"
|
||||
},
|
||||
{
|
||||
"basename": "Docker Engine",
|
||||
"path": "Programing/Docker/Docker Engine.md"
|
||||
},
|
||||
{
|
||||
"basename": "2022-06-06",
|
||||
"path": "Work Related/1.업무메모/2022.06/2022-06-06.md"
|
||||
},
|
||||
{
|
||||
"basename": "2022-06-16",
|
||||
"path": "Work Related/1.업무메모/2022.06/2022-06-16.md"
|
||||
},
|
||||
{
|
||||
"basename": "상황관제-방송수신내역(항적)",
|
||||
"path": "Work Related/프로젝트/D-MHFH/유지보수/상황관제-방송수신내역(항적).md"
|
||||
},
|
||||
{
|
||||
"basename": "커맨트라인(bash) 단축키",
|
||||
"path": "Programing/Linux/Linux 명령어/커맨트라인(bash) 단축키.md"
|
||||
},
|
||||
{
|
||||
"basename": "ElasticSearch 쿼리",
|
||||
"path": "Programing/ELK/ElasticSearch 쿼리.md"
|
||||
},
|
||||
{
|
||||
"basename": "Set Up",
|
||||
"path": "Learning/Programing/WSL개발환경 셋팅/Set Up.md"
|
||||
},
|
||||
{
|
||||
"basename": "Tibero 7 설치",
|
||||
"path": "Programing/Tibero/Tibero 7 설치.md"
|
||||
}
|
||||
],
|
||||
"omittedPaths": [],
|
||||
|
|
|
@ -4,16 +4,16 @@
|
|||
"type": "split",
|
||||
"children": [
|
||||
{
|
||||
"id": "e55c8d30f7a2d34c",
|
||||
"id": "90db076928281e7d",
|
||||
"type": "tabs",
|
||||
"children": [
|
||||
{
|
||||
"id": "5481a3c21b2c27b9",
|
||||
"id": "87246a6f2da07960",
|
||||
"type": "leaf",
|
||||
"state": {
|
||||
"type": "markdown",
|
||||
"state": {
|
||||
"file": "Programing/Windows/CMD 명령어.md",
|
||||
"file": "Work Related/1.업무메모/2024-04-22.md",
|
||||
"mode": "source",
|
||||
"backlinks": true,
|
||||
"source": false
|
||||
|
@ -49,7 +49,7 @@
|
|||
"state": {
|
||||
"type": "search",
|
||||
"state": {
|
||||
"query": "netstat",
|
||||
"query": "add_month",
|
||||
"matchingCase": false,
|
||||
"explainSearch": false,
|
||||
"collapseAll": true,
|
||||
|
@ -82,8 +82,7 @@
|
|||
"state": {}
|
||||
}
|
||||
}
|
||||
],
|
||||
"currentTab": 1
|
||||
]
|
||||
}
|
||||
],
|
||||
"direction": "horizontal",
|
||||
|
@ -103,7 +102,7 @@
|
|||
"state": {
|
||||
"type": "backlink",
|
||||
"state": {
|
||||
"file": "Programing/Windows/CMD 명령어.md",
|
||||
"file": "Work Related/1.업무메모/2024-04-22.md",
|
||||
"collapseAll": false,
|
||||
"extraContext": false,
|
||||
"sortOrder": "alphabetical",
|
||||
|
@ -120,7 +119,7 @@
|
|||
"state": {
|
||||
"type": "outgoing-link",
|
||||
"state": {
|
||||
"file": "Programing/Windows/CMD 명령어.md",
|
||||
"file": "Work Related/1.업무메모/2024-04-22.md",
|
||||
"linksCollapsed": false,
|
||||
"unlinkedCollapsed": true
|
||||
}
|
||||
|
@ -143,7 +142,7 @@
|
|||
"state": {
|
||||
"type": "outline",
|
||||
"state": {
|
||||
"file": "Programing/Windows/CMD 명령어.md"
|
||||
"file": "Work Related/1.업무메모/2024-04-22.md"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
@ -185,28 +184,34 @@
|
|||
"command-palette:명령어 팔레트 열기": false
|
||||
}
|
||||
},
|
||||
"active": "5481a3c21b2c27b9",
|
||||
"active": "87246a6f2da07960",
|
||||
"lastOpenFiles": [
|
||||
"Work Related/1.업무메모/2024-03-25.md",
|
||||
"Work Related/3.주간계획/스마트계류장/2023.10-3.md",
|
||||
"Work Related/3.주간계획/스마트계류장/2023.10-4.md",
|
||||
"Programing/Jenkins/Jenkins 설치.md",
|
||||
"Work Related/프로젝트/스마트계류장/항공용어/용어정리.md",
|
||||
"Work Related/프로젝트/스마트계류장/0.관련정보/프로젝트 범위 요약.md",
|
||||
"Work Related/프로젝트/스마트계류장/항공용어/약어표.md",
|
||||
"Programing/Java/Java 접근제한.md",
|
||||
"Programing/Java/16진수 표기.md",
|
||||
"Programing/Java/CMD 실행.md",
|
||||
"Programing/Docker/Docker 페쇄망 이관.md",
|
||||
"Programing/Kafka(AMQP)/Kafka 명령어.md",
|
||||
"Programing/Kafka(AMQP)/kafka 오류.md",
|
||||
"Programing/Kafka(AMQP)/Kafka 설치.md",
|
||||
"Work Related/프로젝트/스마트계류장/9.기타/방문증 신청 문구.md",
|
||||
"Work Related/프로젝트/스마트계류장/TODO.md",
|
||||
"Work Related/프로젝트/스마트계류장/1.데이터베이스/EAI 데이터 초기화.md",
|
||||
"Work Related/1.업무메모/2024-04-01.md",
|
||||
"Work Related/프로젝트/스마트계류장/1.데이터베이스/EAI 프로시져 테스트.md",
|
||||
"Programing/Windows/WIndows OpenSSH server 설치.md",
|
||||
"Work Related/1.업무메모/2024-04-22.md",
|
||||
"Work Related/1.업무메모/2022.06/2022-06-13.md",
|
||||
"Work Related/프로젝트/스마트계류장/1.데이터베이스/GAM_LIST 데이터 일괄 insert.md",
|
||||
"Work Related/프로젝트/스마트계류장/1.데이터베이스/주기장 기준 항공기 유무 확인 쿼리(GAM).md",
|
||||
"Work Related/프로젝트/스마트계류장/1.데이터베이스/산출물작업/테이블 일괄 생성 스크립트.md",
|
||||
"Work Related/프로젝트/스마트계류장/1.데이터베이스/표준이동경로 관련 임시테이블.md",
|
||||
"Work Related/프로젝트/스마트계류장/0.관련정보/프로젝트 범위 요약.md",
|
||||
"Work Related/프로젝트/스마트계류장/1.데이터베이스/DB 필요항목.md",
|
||||
"Work Related/프로젝트/스마트계류장/9.기타/CCTV 설치된 멀티 주기장.md",
|
||||
"Zettelkasten/PassWD.md",
|
||||
"Programing/Tibero/테이블 스페이스 관련.md",
|
||||
"Programing/Java/JAVA -Json for VO.md",
|
||||
"Programing/Java/Java ArrayList 정렬.md",
|
||||
"Work Related/프로젝트/스마트계류장/TODO.md",
|
||||
"Work Related/프로젝트/스마트계류장/0.관련정보/스마트계류장 요구사항.md",
|
||||
"Work Related/3.주간계획/스마트계류장/2023.10-4.md",
|
||||
"Work Related/프로젝트/스마트계류장/9.기타/방문증 신청 문구.md",
|
||||
"Work Related/프로젝트/스마트계류장/9.기타/관리페이지 수정.md",
|
||||
"Work Related/프로젝트/스마트계류장/0.관련정보/공유문서.md",
|
||||
"Programing/ELK/Elastic Search + Spring Boot에서 검색 로직.md",
|
||||
"Programing/ELK/query DSL.md",
|
||||
"Work Related/프로젝트/스마트계류장/0.관련정보/Kafka-ELK 테스트.md",
|
||||
"Work Related/프로젝트/스마트계류장/0.관련정보/미들웨어 API.md",
|
||||
"Programing/0.Learnig List.md",
|
||||
"Programing/Kafka(AMQP)/Kafka Windows 실행.md",
|
||||
"zzz.resources/Pasted image 20240404100942.png",
|
||||
"zzz.resources/Pasted image 20240404100125.png",
|
||||
"zzz.resources/Pasted image 20240404095641.png",
|
||||
|
@ -217,13 +222,7 @@
|
|||
"zzz.resources/Pasted image 20240404092924.png",
|
||||
"zzz.resources/Pasted image 20240404092657.png",
|
||||
"zzz.resources/Pasted image 20240404092425.png",
|
||||
"Programing/Docker/Docker 설치.md",
|
||||
"Programing/Docker/무제 파일.md",
|
||||
"Programing/Grafana/설치 및 실행.md",
|
||||
"Programing/0.Root/용어.md",
|
||||
"Programing/Jenkins",
|
||||
"Programing/Tibero/권한(Grant).md",
|
||||
"Programing/Tibero/스키마 생성.md",
|
||||
"무제 파일.canvas",
|
||||
"Work Related/1.업무메모/2023",
|
||||
"zzz.resources/tibero-jdbc-7.jar",
|
||||
|
|
|
@ -1,4 +1,9 @@
|
|||
- [ ] 일렉트론
|
||||
- [ ] Git
|
||||
- [ ] Perl
|
||||
- [ ]
|
||||
|
||||
https://fastcampus.co.kr/data_online_engineering
|
||||
|
||||
https://fastcampus.co.kr/dev_online_linuxcloud
|
||||
|
||||
https://fastcampus.co.kr/dev_online_devopskit
|
|
@ -0,0 +1,173 @@
|
|||
|
||||
- Kibana Test 쿼리
|
||||
```json
|
||||
|
||||
POST replay_log_*/_search
|
||||
{
|
||||
"size" : 10000,
|
||||
"track_total_hits": true,
|
||||
"query" : {
|
||||
"bool" : {
|
||||
"filter" : [
|
||||
{
|
||||
"terms" : {
|
||||
"header.msg_type.keyword" : [
|
||||
10
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"range" : {
|
||||
"header.recv_time" : {
|
||||
"from" : "20240416090000.000",
|
||||
"to" : "20240416103059.999"
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"_source": ["@timestamp", "header", "message"],
|
||||
"sort" : [{"header.recv_time.keyword" : {"order" : "ASC"}}],
|
||||
"search_after" : ["0"]
|
||||
}
|
||||
|
||||
```
|
||||
|
||||
|
||||
- Elasticsearch 라이브러리 사용
|
||||
```java
|
||||
|
||||
public String elkSearch_replay_log(String sLogIndex, String sStartDt, String sEndDt) {
|
||||
|
||||
// String sLogType = "3"; // 재생용 로그 S/W구분
|
||||
// String sStart_tm = "20240219160000.000"; // 일시(from)
|
||||
// String sEnd_tm = "20240219170000.000"; // 일시(to)
|
||||
|
||||
List<Object> sAfter = null; // 일시(to)
|
||||
|
||||
List<IndexReplayMsg> productMatches = new ArrayList<IndexReplayMsg>();
|
||||
|
||||
String esQuery = "{ " + //
|
||||
" \"bool\" : { " + //
|
||||
" \"filter\" : [ " + //
|
||||
" { \"terms\" : { " + //
|
||||
" \"header.msg_type.keyword\" : [ " + //
|
||||
" "+ sLogIndex +" ] } }, " + //
|
||||
" { \"range\" : { " + //
|
||||
" \"header.recv_time\" : { " + //
|
||||
" \"from\" : \""+ sStartDt +"\", " + //
|
||||
" \"to\" : \""+ sEndDt +"\" } } } ] } " + //
|
||||
"}";
|
||||
|
||||
Query searchQuery = new StringQuery(esQuery);
|
||||
|
||||
// 한번에 가져올 row수 설정
|
||||
((BaseQuery) searchQuery).setMaxResults(1000);
|
||||
|
||||
// 페이징( PageRequest.of( 페이지번호( 총개수 / size ), size) )
|
||||
//searchQuery.setPageable(PageRequest.of(62, 10)); // 620번째 로우부터 10개까지 가져옴
|
||||
|
||||
// 데이터 정렬할 필드 설정
|
||||
searchQuery.addSort(Sort.by(new Sort.Order(Sort.Direction.ASC, "header.recv_time.keyword")));
|
||||
|
||||
LocalDateTime dt_before = LocalDateTime.now();
|
||||
|
||||
while (true) {
|
||||
|
||||
searchQuery.setSearchAfter(sAfter);
|
||||
|
||||
// 검색 요청하여 검색 결과 가져오기
|
||||
SearchHits<IndexReplayMsg> productHits = elasticsearchOperations.search(searchQuery, IndexReplayMsg.class, IndexCoordinates.of("replay_log_*"));
|
||||
|
||||
if (productHits.getTotalHits() <= 0) break;
|
||||
|
||||
Duration diff = Duration.between(dt_before, LocalDateTime.now());
|
||||
|
||||
logger.info("elastic Call " + productHits.getTotalHits() + "건 " + diff.toMillis() + "msec");
|
||||
|
||||
sAfter = productHits.toList().get(productHits.toList().size() -1).getSortValues();
|
||||
|
||||
// IndexFusion Object에 데이터 담기
|
||||
productHits.forEach(srcHit -> {
|
||||
productMatches.add(srcHit.getContent());
|
||||
});
|
||||
|
||||
|
||||
logger.info("map cnt " + productMatches.size() + "건 " );
|
||||
|
||||
if (productHits.toList().size() != 1000) {
|
||||
break;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
return "OK";
|
||||
}
|
||||
|
||||
```
|
||||
|
||||
|
||||
|
||||
- Post요청 -> 결과 Map 반환
|
||||
```java
|
||||
|
||||
public String searchReplayDSL(String sIndex, String sStartDt, String sEndDt) {
|
||||
|
||||
|
||||
while (true) {
|
||||
|
||||
String sQeury = "{\r\n" + //
|
||||
" \"size\" : 10000,\r\n" + //
|
||||
" \"track_total_hits\": true,\r\n" + //
|
||||
" \"query\" : {\r\n" + //
|
||||
" \"bool\" : {\r\n" + //
|
||||
" \"filter\" : [\r\n" + //
|
||||
" {\r\n" + //
|
||||
" \"terms\" : {\r\n" + //
|
||||
" \"header.msg_type.keyword\" : [\r\n" + //
|
||||
" 10\r\n" + //
|
||||
" ]\r\n" + //
|
||||
" }\r\n" + //
|
||||
" },\r\n" + //
|
||||
" {\r\n" + //
|
||||
" \"range\" : {\r\n" + //
|
||||
" \"header.recv_time\" : {\r\n" + //
|
||||
" \"from\" : \"20240416090000.000\",\r\n" + //
|
||||
" \"to\" : \"20240416103059.999\"\r\n" + //
|
||||
" }\r\n" + //
|
||||
" }\r\n" + //
|
||||
" }\r\n" + //
|
||||
" ]\r\n" + //
|
||||
" }\r\n" + //
|
||||
" },\r\n" + //
|
||||
" \"_source\": [\"@timestamp\", \"header\", \"message\"],\r\n" + //
|
||||
" \"sort\" : [{\"header.recv_time.keyword\" : {\"order\" : \"ASC\"}}],\r\n" + //
|
||||
" \"search_after\" : [\"0\"]\r\n" + //
|
||||
"}";
|
||||
|
||||
// MultiValueMap<String, String> params = new LinkedMultiValueMap<>();
|
||||
// params.add("Content-Type", "application/json");
|
||||
|
||||
HttpHeaders headers = new HttpHeaders();
|
||||
headers.add("Content-Type", "application/json");
|
||||
|
||||
HttpEntity<String> entity = new HttpEntity<String>(sQeury, headers);
|
||||
|
||||
|
||||
RestTemplate rt = new RestTemplate();
|
||||
|
||||
Map<String, Object> personResultAsJsonStr = rt.postForObject("http://10.200.31.130:9200/replay_log_*/_search", entity, Map.class);
|
||||
|
||||
if (personResultAsJsonStr != null) {
|
||||
break;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
return "OK";
|
||||
}
|
||||
|
||||
```
|
|
@ -12,3 +12,37 @@ https://velog.io/@hanblueblue/Elastic-Search-2
|
|||
- 스크립팅
|
||||
https://velog.io/@soyeon207/ES-8.-Script
|
||||
|
||||
|
||||
```json
|
||||
|
||||
POST replay_log_*/_search
|
||||
{
|
||||
"size" : 10000,
|
||||
"track_total_hits": true,
|
||||
"query" : {
|
||||
"bool" : {
|
||||
"filter" : [
|
||||
{
|
||||
"terms" : {
|
||||
"header.msg_type.keyword" : [
|
||||
10
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"range" : {
|
||||
"header.recv_time" : {
|
||||
"from" : "20240416090000.000",
|
||||
"to" : "20240416103059.999"
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"_source": ["@timestamp", "header", "message"],
|
||||
"sort" : [{"header.recv_time.keyword" : {"order" : "ASC"}}],
|
||||
"search_after" : ["0"]
|
||||
}
|
||||
|
||||
```
|
|
@ -0,0 +1,72 @@
|
|||
```java
|
||||
|
||||
package kr.gmtc.gw.elastic.vo;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
@Setter
|
||||
@Getter
|
||||
public class LogMsgParserVO_Arraytype {
|
||||
|
||||
private LogMsgHeader header;
|
||||
private ArrayList<LogMsgFieldVO> data;
|
||||
|
||||
public LogMsgParserVO_Arraytype() {
|
||||
this.data = new ArrayList<LogMsgFieldVO>();
|
||||
}
|
||||
|
||||
@Setter
|
||||
@Getter
|
||||
public static class LogMsgHeader {
|
||||
private String log_dt;
|
||||
private String log_se;
|
||||
private String sw_se;
|
||||
private String server_se;
|
||||
}
|
||||
|
||||
@Setter
|
||||
@Getter
|
||||
public static class LogMsgFieldVO {
|
||||
|
||||
private ArrayList<Object> fields;
|
||||
|
||||
public LogMsgFieldVO(){
|
||||
this.fields = new ArrayList<Object>();
|
||||
}
|
||||
|
||||
public LogMsgFieldVO(ArrayList<Object> fields){
|
||||
this.fields = fields;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@Setter
|
||||
@Getter
|
||||
public static class LogMsgFieldListVO {
|
||||
|
||||
private List<LogMsgFieldArrayVO> fieldList;
|
||||
|
||||
public LogMsgFieldListVO() {
|
||||
|
||||
this.fieldList = new ArrayList<LogMsgFieldArrayVO>();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@Setter
|
||||
@Getter
|
||||
public static class LogMsgFieldArrayVO {
|
||||
|
||||
private ArrayList<String> fieldArray;
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
```
|
|
@ -0,0 +1 @@
|
|||
https://hianna.tistory.com/569
|
|
@ -0,0 +1,88 @@
|
|||
``` cmd
|
||||
|
||||
# zookeeper server 실행
|
||||
bin\windows\zookeeper-server-start.bat config\zookeeper.properties
|
||||
|
||||
# zookeeper server 실행 확인
|
||||
netstat -na | findstr "2181"
|
||||
|
||||
|
||||
# kafka server 실행
|
||||
bin\windows\kafka-server-start.bat config\server.properties
|
||||
|
||||
# kafka server 실행 확인
|
||||
netstat -na | findstr "9092"
|
||||
|
||||
# kafka topic 생성하기
|
||||
# bin\windows\kafka-topics.bat --create --bootstrap-server 카프카 접속주소:카프카 포트 --topic 카프카 토픽이름
|
||||
ex)
|
||||
bin\windows\kafka-topics.bat --create --bootstrap-server localhost:9092 --topic dev-topic
|
||||
|
||||
# kafka topic 생성확인
|
||||
# bin\windows\kafka-topics.bat --list --bootstrap-server 카프카 접속주소:카프카 포트
|
||||
ex)
|
||||
bin\windows\kafka-topics.bat --list --bootstrap-server localhost:9092
|
||||
|
||||
# zookeeper server 종료
|
||||
bin\windows\zookeeper-server-stop.bat
|
||||
|
||||
|
||||
# kafka server 종료
|
||||
bin\windows\kafka-server-stop.bat
|
||||
|
||||
# kafdrop 실행
|
||||
D:\JAVA\jdk-18.0.2\bin\java --add-opens=java.base/sun.nio.ch=ALL-UNNAMED -jar kafdrop/kafdrop-4.0.1.jar --kafka.brokerConnect=localhost:9092
|
||||
|
||||
```
|
||||
|
||||
- windows kraft
|
||||
```cmd
|
||||
|
||||
# zookeeper server 실행
|
||||
bin\windows\zookeeper-server-start.bat config\zookeeper.properties
|
||||
|
||||
bin\windows\zookeeper-server-start.bat config\kraft\zookeeper.properties
|
||||
|
||||
# zookeeper server 실행 확인
|
||||
netstat -na | findstr "2181"
|
||||
|
||||
|
||||
# kafka server 실행
|
||||
bin\windows\kafka-server-start.bat config\server.properties
|
||||
|
||||
bin\windows\kafka-server-start.bat config\kraft\server.properties
|
||||
|
||||
bin\windows\kafka-storage.bat random-uuid
|
||||
8vVw8BXyTKejURskMuC0xw
|
||||
|
||||
bin\windows\kafka-storage.bat format -t IDio-YJlQkqWjcpbrWQgUw -c config\kraft\server.properties
|
||||
|
||||
bin\windows\kafka-server-start.bat config\kraft\server.properties
|
||||
|
||||
# kafka server 실행 확인
|
||||
netstat -na | findstr "9092"
|
||||
|
||||
# kafka topic 생성하기
|
||||
# bin\windows\kafka-topics.bat --create --bootstrap-server 카프카 접속주소:카프카 포트 --topic 카프카 토픽이름
|
||||
ex)
|
||||
bin\windows\kafka-topics.bat --create --bootstrap-server localhost:9092 --topic dev-topic
|
||||
|
||||
# kafka topic 생성확인
|
||||
# bin\windows\kafka-topics.bat --list --bootstrap-server 카프카 접속주소:카프카 포트
|
||||
ex)
|
||||
bin\windows\kafka-topics.bat --list --bootstrap-server localhost:9092
|
||||
|
||||
# zookeeper server 종료
|
||||
bin\windows\zookeeper-server-stop.bat
|
||||
|
||||
|
||||
# kafka server 종료
|
||||
bin\windows\kafka-server-stop.bat
|
||||
|
||||
# kafdrop 실행
|
||||
D:\JAVA\jdk-18.0.2\bin\java --add-opens=java.base/sun.nio.ch=ALL-UNNAMED -jar kafdrop/kafdrop-4.0.1.jar --kafka.brokerConnect=localhost:9092
|
||||
|
||||
|
||||
bin\windows\kafka-console-producer.bat --broker-list localhost:9092 --topic TestTopic
|
||||
|
||||
```
|
|
@ -0,0 +1,33 @@
|
|||
- OpenSSH 다운로드 : https://github.com/PowerShell/Win32-OpenSSH/releases
|
||||
- Program Filse에 압출풀기 (C:\Program Files\OpenSSH-Win64)
|
||||
```shell
|
||||
|
||||
# Program Filse에 압출풀기 (C:\Program Files\OpenSSH-Win64)
|
||||
|
||||
# PowerShell 관리자권한
|
||||
cd "C:\Program Files\OpenSSH-Win64"
|
||||
./install-sshd.ps1
|
||||
-> sshd and ssh-agent services successfully installed
|
||||
|
||||
|
||||
## 보안 오류: (:) [], PSSecurityException 발생하는경우
|
||||
PSSecurityException
|
||||
-> Restricted
|
||||
|
||||
Set-ExecutionPolicy RemoteSigned
|
||||
PSSecurityException
|
||||
-> RemoteSigned
|
||||
## 보안 오류: (:) [], PSSecurityException 발생하는경우 END
|
||||
|
||||
# 동작 확인
|
||||
ssh gmt@10.200.32.59
|
||||
|
||||
# 스크립트 보안 원복
|
||||
Set-ExecutionPolicy Restricted
|
||||
|
||||
```
|
||||
|
||||
##### CF. ExecutionPolicy
|
||||
- Restricted: 기본 실행 정책으로 개별 명령을 허용하지만 스크립트를 실행하지 않습니다.
|
||||
- Unrestricted: 서명되지 않은 스크립트를 실행할 수 있음. 악의적인 스크립트를 실행할 위험이 있음
|
||||
- RemoteSigned : 스크립트를 실행 가능, 이미 실행한 스크립트와 로컬 컴퓨터에 작성한 스크립트에는 디지털 서명이 필요 없음.
|
|
@ -0,0 +1,275 @@
|
|||
-- 통계 백업
|
||||
|
||||
```sql
|
||||
|
||||
/*
|
||||
* 시간별 집계 조회조건 = 일자 from ~ to
|
||||
*/
|
||||
|
||||
-- 집계쿼리
|
||||
select substr(flt_dt, 1, 8) as flt_de
|
||||
, stand_no
|
||||
, stand_on_off
|
||||
-- , case when actl_apn_in_tm is not null then 'A'
|
||||
-- when actl_apn_out_tm is not null then 'D'
|
||||
-- else 'T' END as flt_se
|
||||
-- , ac_grad
|
||||
-- , ac_ty_iata
|
||||
, sum(decode(substr(flt_dt,9,2), '01', 1, 0)) as tm01
|
||||
, sum(decode(substr(flt_dt,9,2), '02', 1, 0)) as tm02
|
||||
, sum(decode(substr(flt_dt,9,2), '03', 1, 0)) as tm03
|
||||
, sum(decode(substr(flt_dt,9,2), '04', 1, 0)) as tm04
|
||||
, sum(decode(substr(flt_dt,9,2), '05', 1, 0)) as tm05
|
||||
, sum(decode(substr(flt_dt,9,2), '06', 1, 0)) as tm06
|
||||
, sum(decode(substr(flt_dt,9,2), '07', 1, 0)) as tm07
|
||||
, sum(decode(substr(flt_dt,9,2), '08', 1, 0)) as tm08
|
||||
, sum(decode(substr(flt_dt,9,2), '09', 1, 0)) as tm09
|
||||
, sum(decode(substr(flt_dt,9,2), '10', 1, 0)) as tm10
|
||||
, sum(decode(substr(flt_dt,9,2), '11', 1, 0)) as tm11
|
||||
, sum(decode(substr(flt_dt,9,2), '12', 1, 0)) as tm12
|
||||
, sum(decode(substr(flt_dt,9,2), '13', 1, 0)) as tm13
|
||||
, sum(decode(substr(flt_dt,9,2), '14', 1, 0)) as tm14
|
||||
, sum(decode(substr(flt_dt,9,2), '15', 1, 0)) as tm15
|
||||
, sum(decode(substr(flt_dt,9,2), '16', 1, 0)) as tm16
|
||||
, sum(decode(substr(flt_dt,9,2), '17', 1, 0)) as tm17
|
||||
, sum(decode(substr(flt_dt,9,2), '18', 1, 0)) as tm18
|
||||
, sum(decode(substr(flt_dt,9,2), '19', 1, 0)) as tm19
|
||||
, sum(decode(substr(flt_dt,9,2), '20', 1, 0)) as tm20
|
||||
, sum(decode(substr(flt_dt,9,2), '21', 1, 0)) as tm21
|
||||
, sum(decode(substr(flt_dt,9,2), '22', 1, 0)) as tm22
|
||||
, sum(decode(substr(flt_dt,9,2), '23', 1, 0)) as tm23
|
||||
, sum(decode(substr(flt_dt,9,2), '24', 1, 0)) as tm24
|
||||
from (
|
||||
select ucm.fun_kst_tm(ACTL_STAND_ON_de||actl_stand_on_tm) as flt_dt, stand_no, 'ON' as stand_on_off
|
||||
, ac_grad, ac_ty_iata, actl_apn_in_tm, actl_apn_out_tm
|
||||
from uic.SACP_GAM_LAST
|
||||
where ACTL_STAND_ON_TM is not null
|
||||
union all
|
||||
select ucm.fun_kst_tm(ACTL_STAND_OFF_de||actl_stand_OFF_tm) as flt_dt, stand_no, 'OFF' as stand_on_off
|
||||
, ac_grad, ac_ty_iata, actl_apn_in_tm, actl_apn_out_tm
|
||||
from uic.SACP_GAM_LAST
|
||||
where ACTL_STAND_OFF_TM is not null
|
||||
order by stand_no, 4, 5
|
||||
) m
|
||||
where flt_dt like '2024042%'
|
||||
--and stand_no = '367'
|
||||
and stand_no in (
|
||||
select ucm.FUN_PRE_ZERO_REMOVE(replace(a.stand_no, '00', '')) as std_stand_no
|
||||
-- , decode(b.STAND_NO, null, 'N', 'Y') as cctv_yn
|
||||
from ucm.SACP_STAND a, ucm.SACP_CCTVID_MAPPING b
|
||||
where a.STAND_NO = b.STAND_NO (+)
|
||||
and a.DSTRCT_TY in ( 'AF02003', 'AF02004', 'AF02007', 'AF02009' ) )
|
||||
group by substr(flt_dt, 1, 8), stand_no, stand_on_off
|
||||
order by flt_de, stand_no, decode(stand_on_off, 'ON', 1, 2)
|
||||
|
||||
|
||||
|
||||
-- 확인용
|
||||
select stand_no
|
||||
, stand_on_off
|
||||
-- , case when actl_apn_in_tm is not null then 'A'
|
||||
-- when actl_apn_out_tm is not null then 'D'
|
||||
-- else 'T' END as flt_se
|
||||
-- , ac_grad
|
||||
-- , ac_ty_iata
|
||||
, sum(decode(substr(flt_dt,9,2), '01', 1, 0)) as tm01
|
||||
, sum(decode(substr(flt_dt,9,2), '02', 1, 0)) as tm02
|
||||
, sum(decode(substr(flt_dt,9,2), '03', 1, 0)) as tm03
|
||||
, sum(decode(substr(flt_dt,9,2), '04', 1, 0)) as tm04
|
||||
, sum(decode(substr(flt_dt,9,2), '05', 1, 0)) as tm05
|
||||
, sum(decode(substr(flt_dt,9,2), '06', 1, 0)) as tm06
|
||||
, sum(decode(substr(flt_dt,9,2), '07', 1, 0)) as tm07
|
||||
, sum(decode(substr(flt_dt,9,2), '08', 1, 0)) as tm08
|
||||
, sum(decode(substr(flt_dt,9,2), '09', 1, 0)) as tm09
|
||||
, sum(decode(substr(flt_dt,9,2), '10', 1, 0)) as tm10
|
||||
, sum(decode(substr(flt_dt,9,2), '11', 1, 0)) as tm11
|
||||
, sum(decode(substr(flt_dt,9,2), '12', 1, 0)) as tm12
|
||||
, sum(decode(substr(flt_dt,9,2), '13', 1, 0)) as tm13
|
||||
, sum(decode(substr(flt_dt,9,2), '14', 1, 0)) as tm14
|
||||
, sum(decode(substr(flt_dt,9,2), '15', 1, 0)) as tm15
|
||||
, sum(decode(substr(flt_dt,9,2), '16', 1, 0)) as tm16
|
||||
, sum(decode(substr(flt_dt,9,2), '17', 1, 0)) as tm17
|
||||
, sum(decode(substr(flt_dt,9,2), '18', 1, 0)) as tm18
|
||||
, sum(decode(substr(flt_dt,9,2), '19', 1, 0)) as tm19
|
||||
, sum(decode(substr(flt_dt,9,2), '20', 1, 0)) as tm20
|
||||
, sum(decode(substr(flt_dt,9,2), '21', 1, 0)) as tm21
|
||||
, sum(decode(substr(flt_dt,9,2), '22', 1, 0)) as tm22
|
||||
, sum(decode(substr(flt_dt,9,2), '23', 1, 0)) as tm23
|
||||
, sum(decode(substr(flt_dt,9,2), '24', 1, 0)) as tm24
|
||||
from (
|
||||
select ucm.fun_kst_tm(ACTL_STAND_ON_de||actl_stand_on_tm) as flt_dt, stand_no, 'ON' as stand_on_off
|
||||
, ac_grad, ac_ty_iata, actl_apn_in_tm, actl_apn_out_tm
|
||||
from uic.SACP_GAM_LAST
|
||||
where ACTL_STAND_ON_TM is not null
|
||||
union all
|
||||
select ucm.fun_kst_tm(ACTL_STAND_OFF_de||actl_stand_OFF_tm) as flt_dt, stand_no, 'OFF' as stand_on_off
|
||||
, ac_grad, ac_ty_iata, actl_apn_in_tm, actl_apn_out_tm
|
||||
from uic.SACP_GAM_LAST
|
||||
where ACTL_STAND_OFF_TM is not null
|
||||
order by stand_no, 4, 5
|
||||
) m
|
||||
where flt_dt between '20240401' and '20240431'
|
||||
--and stand_no = '367'
|
||||
and stand_no in (
|
||||
select ucm.FUN_PRE_ZERO_REMOVE(replace(a.stand_no, '00', '')) as std_stand_no
|
||||
-- , decode(b.STAND_NO, null, 'N', 'Y') as cctv_yn
|
||||
from ucm.SACP_STAND a, ucm.SACP_CCTVID_MAPPING b
|
||||
where a.STAND_NO = b.STAND_NO (+)
|
||||
and a.DSTRCT_TY in ( 'AF02003', 'AF02004', 'AF02007', 'AF02009' ) )
|
||||
group by stand_no, stand_on_off
|
||||
order by stand_no, decode(stand_on_off, 'ON', 1, 2)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
```
|
||||
|
||||
```sql
|
||||
|
||||
select 'ON' as stand_on_off
|
||||
, ucm.fun_kst_tm(ACTL_STAND_ON_de||actl_stand_on_tm) as flt_dt
|
||||
, a.stand_no
|
||||
, ac_grad
|
||||
, ac_ty_iata
|
||||
, actl_apn_in_tm
|
||||
, actl_apn_out_tm
|
||||
, b.DSTRCT_TY
|
||||
, ucm.fun_get_cmmn_nm('CT003', 'AF02003') as stand_DSTRCT_TY
|
||||
from uic.SACP_GAM_LAST a,
|
||||
(select ucm.FUN_PRE_ZERO_REMOVE(replace(a.stand_no, '00', '')) as stand_no
|
||||
, decode(b.STAND_NO, null, 'N', 'Y') as cctv_yn
|
||||
, a.DSTRCT_TY
|
||||
from ucm.SACP_STAND a, ucm.SACP_CCTVID_MAPPING b
|
||||
where a.STAND_NO = b.STAND_NO (+)
|
||||
and a.DSTRCT_TY in ( 'AF02003', 'AF02004', 'AF02007', 'AF02009' ) )b
|
||||
where a.STAND_NO = b.STAND_NO
|
||||
and a.ACTL_STAND_ON_TM is not null
|
||||
and a.actl_stand_on_de = '20240422'
|
||||
and a.stand_no = '253'
|
||||
|
||||
|
||||
```
|
||||
|
||||
|
||||
```sql
|
||||
|
||||
/*
|
||||
* 일자별 집계 조회조건 = 년월(yyyymm) from ~ to
|
||||
*/
|
||||
|
||||
-- 집계쿼리
|
||||
select stand_no
|
||||
, stand_on_off
|
||||
-- , case when actl_apn_in_tm is not null then 'A'
|
||||
-- when actl_apn_out_tm is not null then 'D'
|
||||
-- else 'T' END as flt_se
|
||||
-- , ac_grad
|
||||
-- , ac_ty_iata
|
||||
, sum(decode(substr(flt_dt,7,2), '01', 1, 0)) as day01
|
||||
, sum(decode(substr(flt_dt,7,2), '02', 1, 0)) as day02
|
||||
, sum(decode(substr(flt_dt,7,2), '03', 1, 0)) as day03
|
||||
, sum(decode(substr(flt_dt,7,2), '04', 1, 0)) as day04
|
||||
, sum(decode(substr(flt_dt,7,2), '05', 1, 0)) as day05
|
||||
, sum(decode(substr(flt_dt,7,2), '06', 1, 0)) as day06
|
||||
, sum(decode(substr(flt_dt,7,2), '07', 1, 0)) as day07
|
||||
, sum(decode(substr(flt_dt,7,2), '08', 1, 0)) as day08
|
||||
, sum(decode(substr(flt_dt,7,2), '09', 1, 0)) as day09
|
||||
, sum(decode(substr(flt_dt,7,2), '10', 1, 0)) as day10
|
||||
, sum(decode(substr(flt_dt,7,2), '11', 1, 0)) as day11
|
||||
, sum(decode(substr(flt_dt,7,2), '12', 1, 0)) as day12
|
||||
, sum(decode(substr(flt_dt,7,2), '13', 1, 0)) as day13
|
||||
, sum(decode(substr(flt_dt,7,2), '14', 1, 0)) as day14
|
||||
, sum(decode(substr(flt_dt,7,2), '15', 1, 0)) as day15
|
||||
, sum(decode(substr(flt_dt,7,2), '16', 1, 0)) as day16
|
||||
, sum(decode(substr(flt_dt,7,2), '17', 1, 0)) as day17
|
||||
, sum(decode(substr(flt_dt,7,2), '18', 1, 0)) as day18
|
||||
, sum(decode(substr(flt_dt,7,2), '19', 1, 0)) as day19
|
||||
, sum(decode(substr(flt_dt,7,2), '20', 1, 0)) as day20
|
||||
, sum(decode(substr(flt_dt,7,2), '21', 1, 0)) as day21
|
||||
, sum(decode(substr(flt_dt,7,2), '22', 1, 0)) as day22
|
||||
, sum(decode(substr(flt_dt,7,2), '23', 1, 0)) as day23
|
||||
, sum(decode(substr(flt_dt,7,2), '24', 1, 0)) as day24
|
||||
, sum(decode(substr(flt_dt,7,2), '25', 1, 0)) as day25
|
||||
, sum(decode(substr(flt_dt,7,2), '26', 1, 0)) as day26
|
||||
, sum(decode(substr(flt_dt,7,2), '27', 1, 0)) as day27
|
||||
, sum(decode(substr(flt_dt,7,2), '28', 1, 0)) as day28
|
||||
, sum(decode(substr(flt_dt,7,2), '29', 1, 0)) as day29
|
||||
, sum(decode(substr(flt_dt,7,2), '30', 1, 0)) as day30
|
||||
, sum(decode(substr(flt_dt,7,2), '31', 1, 0)) as day31
|
||||
from (
|
||||
select ucm.fun_kst_tm(ACTL_STAND_ON_de||actl_stand_on_tm) as flt_dt, stand_no, 'ON' as stand_on_off
|
||||
, ac_grad, ac_ty_iata, actl_apn_in_tm, actl_apn_out_tm
|
||||
from uic.SACP_GAM_LAST
|
||||
where ACTL_STAND_ON_TM is not null
|
||||
union all
|
||||
select ucm.fun_kst_tm(ACTL_STAND_OFF_de||actl_stand_OFF_tm) as flt_dt, stand_no, 'OFF' as stand_on_off
|
||||
, ac_grad, ac_ty_iata, actl_apn_in_tm, actl_apn_out_tm
|
||||
from uic.SACP_GAM_LAST
|
||||
where ACTL_STAND_OFF_TM is not null
|
||||
order by stand_no, 4, 5
|
||||
) m
|
||||
where substr(flt_dt, 1, 6) between '202403' and '202403'
|
||||
--and stand_no = '367'
|
||||
and stand_no in (
|
||||
select ucm.FUN_PRE_ZERO_REMOVE(replace(a.stand_no, '00', '')) as std_stand_no
|
||||
-- , decode(b.STAND_NO, null, 'N', 'Y') as cctv_yn
|
||||
from ucm.SACP_STAND a, ucm.SACP_CCTVID_MAPPING b
|
||||
where a.STAND_NO = b.STAND_NO (+)
|
||||
and a.DSTRCT_TY in ( 'AF02003', 'AF02004', 'AF02007', 'AF02009' ) )
|
||||
group by stand_no, stand_on_off
|
||||
order by stand_no, decode(stand_on_off, 'ON', 1, 2)
|
||||
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* 년도별 집계 조회조건 = 년도(yyyy) to
|
||||
*/
|
||||
|
||||
-- 집계쿼리
|
||||
select stand_no
|
||||
, stand_on_off
|
||||
-- , case when actl_apn_in_tm is not null then 'A'
|
||||
-- when actl_apn_out_tm is not null then 'D'
|
||||
-- else 'T' END as flt_se
|
||||
-- , ac_grad
|
||||
-- , ac_ty_iata
|
||||
, sum(decode(substr(flt_dt,1,4), to_char(to_date(:ar_year||'0101', 'yyyymmdd'), 'yyyy') -5 , 1, 0)) as year_5
|
||||
, sum(decode(substr(flt_dt,1,4), to_char(to_date(:ar_year||'0101', 'yyyymmdd'), 'yyyy') -4 , 1, 0)) as year_4
|
||||
, sum(decode(substr(flt_dt,1,4), to_char(to_date(:ar_year||'0101', 'yyyymmdd'), 'yyyy') -3 , 1, 0)) as year_3
|
||||
, sum(decode(substr(flt_dt,1,4), to_char(to_date(:ar_year||'0101', 'yyyymmdd'), 'yyyy') -2 , 1, 0)) as year_2
|
||||
, sum(decode(substr(flt_dt,1,4), to_char(to_date(:ar_year||'0101', 'yyyymmdd'), 'yyyy') -1 , 1, 0)) as year_1
|
||||
, sum(decode(substr(flt_dt,1,4), to_char(to_date(:ar_year||'0101', 'yyyymmdd'), 'yyyy') -0 , 1, 0)) as year_0
|
||||
from (
|
||||
select ucm.fun_kst_tm(ACTL_STAND_ON_de||actl_stand_on_tm) as flt_dt, stand_no, 'ON' as stand_on_off
|
||||
, ac_grad, ac_ty_iata, actl_apn_in_tm, actl_apn_out_tm
|
||||
from uic.SACP_GAM_LAST
|
||||
where ACTL_STAND_ON_TM is not null
|
||||
union all
|
||||
select ucm.fun_kst_tm(ACTL_STAND_OFF_de||actl_stand_OFF_tm) as flt_dt, stand_no, 'OFF' as stand_on_off
|
||||
, ac_grad, ac_ty_iata, actl_apn_in_tm, actl_apn_out_tm
|
||||
from uic.SACP_GAM_LAST
|
||||
where ACTL_STAND_OFF_TM is not null
|
||||
order by stand_no, 4, 5
|
||||
) m
|
||||
where substr(flt_dt, 1, 4) between to_char(to_date(:ar_year||'0101', 'yyyymmdd'), 'yyyy') -5 and :ar_year
|
||||
--and stand_no = '367'
|
||||
and stand_no in (
|
||||
select ucm.FUN_PRE_ZERO_REMOVE(replace(a.stand_no, '00', '')) as std_stand_no
|
||||
-- , decode(b.STAND_NO, null, 'N', 'Y') as cctv_yn
|
||||
from ucm.SACP_STAND a, ucm.SACP_CCTVID_MAPPING b
|
||||
where a.STAND_NO = b.STAND_NO (+)
|
||||
and a.DSTRCT_TY in ( 'AF02003', 'AF02004', 'AF02007', 'AF02009' ) )
|
||||
group by stand_no, stand_on_off
|
||||
order by stand_no, decode(stand_on_off, 'ON', 1, 2)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
```
|
|
@ -23,8 +23,6 @@ http://118.220.143.172:5601/app/dev_tools#/console
|
|||
http://118.220.143.175:9000/
|
||||
|
||||
|
||||
- NAS-git
|
||||
http://10.200.32.100:30080/
|
||||
|
||||
|
||||
- NAS
|
||||
|
@ -36,16 +34,8 @@ admin / todn
|
|||
10.200.32.100:3751
|
||||
admin / todn
|
||||
|
||||
|
||||
GET spring-sacp7-/_search
|
||||
{
|
||||
"track_total_hits": true,
|
||||
"size":1000,
|
||||
"query": {
|
||||
"match_all": {}
|
||||
},
|
||||
"sort": [{ "recptn_dt.keyword": { "order" : "desc" } }]
|
||||
}
|
||||
- NAS-git
|
||||
http://10.200.32.100:30080/
|
||||
|
||||
|
||||
- 판교 GIT
|
||||
|
@ -56,3 +46,5 @@ https://git.gmt.dscloud.biz/users/sign_in
|
|||
http://gitlab.think-tree.com/
|
||||
jerosian@gmtc.kr /jerosian@gmtc.kr
|
||||
|
||||
|
||||
- 통합DB root: Sacp1234!
|
|
@ -0,0 +1,3 @@
|
|||
http://10.200.31.42:8090/getSQL
|
||||
|
||||
http://10.200.31.42:8090/Select/sacp/PN_V_DATA_BLOCK_NEW
|
|
@ -52,6 +52,19 @@ E
|
|||
- 박재열 01057675809 880723 1187916
|
||||
- 김명국 01039382570 940313 1012822
|
||||
|
||||
- EC-Miner 업무별 담당자
|
||||
- 영상수치분석 담당
|
||||
"한용천 수석" ychan@ecminer.com, 010-3358-4875
|
||||
- VCCS/영상학습 담당
|
||||
"김범곤 책임" bgkim@ecminer.com, 010-4154-4677
|
||||
- 영상분석 담당
|
||||
"박재열 책임" jypark@ecminer.com, 010-5767-5809
|
||||
- AI 시스템/제스처/EMS-LOG 담당
|
||||
"최환민 선임" hmchoi@ecminer.com, 010-5053-0799
|
||||
- TRS 담당
|
||||
"김명국 주임" mkkim@ecminer.com, 010-3938-2570
|
||||
|
||||
|
||||
인솔자
|
||||
- 박수영 2208738702 / 861020 1121323 / 01041730001
|
||||
- 박준호 2304745460
|
||||
|
|
|
@ -29,6 +29,7 @@ g- [x] 데이터블럭 뷰 생성
|
|||
검색 QCODE | 항공기 주기장 폐쇄됨(QMPLC)
|
||||
|
||||
- [ ] TSS 통합
|
||||
- [ ] asde, radar, Kafka로 변경, null인경우 저장 X
|
||||
- [ ] ASDE Status 수정
|
||||
- [ ] KAFKA 관리정보 모니터링 개발
|
||||
- [ ] 버전관리 S/W
|
||||
|
@ -37,14 +38,14 @@ g- [x] 데이터블럭 뷰 생성
|
|||
|
||||
|
||||
#### 프로시져 관련 작업
|
||||
- [ ] uic.SACP_FLT_SCHDUL 스케줄 정보 상태 (계획, 실행, 취소)
|
||||
- [ ] uic.SACP_FLT_SCHDUL GAM_ID 추가
|
||||
- [ ] 각 연계 프로시져 UEAI.EAI_GRDACMVT_RCV -> uic.SACP_GAM_LAST로 변경
|
||||
- [x] uic.SACP_FLT_SCHDUL 스케줄 정보 상태 (계획, 실행, 취소)
|
||||
- [x] uic.SACP_FLT_SCHDUL GAM_ID 추가
|
||||
- [x] 각 연계 프로시져 UEAI.EAI_GRDACMVT_RCV -> uic.SACP_GAM_LAST로 변경
|
||||
|
||||
|
||||
|
||||
- [ ] EyeIfEai : 최초실행시 스레드 순차 실행
|
||||
- [ ] 로그 상태로그와 분리
|
||||
- [ ]
|
||||
- [ ] GAM Procedure 수정 (주기장번호 없는 취소데이터처리, 0000000002024041873834)
|
||||
|
||||
|
||||
|
|
Loading…
Reference in New Issue