win 0605
parent
b8f1d00a87
commit
8fc70e4499
2
pom.xml
2
pom.xml
|
@ -14,7 +14,7 @@
|
||||||
<version>0.0.1-SNAPSHOT</version>
|
<version>0.0.1-SNAPSHOT</version>
|
||||||
<name>EyeGW_StandStatus</name>
|
<name>EyeGW_StandStatus</name>
|
||||||
<description>Demo project for Spring Boot</description>
|
<description>Demo project for Spring Boot</description>
|
||||||
|
|
||||||
<repositories>
|
<repositories>
|
||||||
<repository>
|
<repository>
|
||||||
<id>local-repository</id>
|
<id>local-repository</id>
|
||||||
|
|
|
@ -3,9 +3,11 @@ package kr.gmtc.gw.comp.rest.vo;
|
||||||
import kr.gmtc.gw.standstatus.vo.AiAnalyzeStandSttus;
|
import kr.gmtc.gw.standstatus.vo.AiAnalyzeStandSttus;
|
||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
import lombok.Setter;
|
import lombok.Setter;
|
||||||
|
import lombok.ToString;
|
||||||
|
|
||||||
@Getter
|
@Getter
|
||||||
@Setter
|
@Setter
|
||||||
|
@ToString
|
||||||
public class RestServiceData {
|
public class RestServiceData {
|
||||||
|
|
||||||
private String cctv_id;
|
private String cctv_id;
|
||||||
|
|
|
@ -4,20 +4,16 @@ import java.time.Duration;
|
||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
import java.time.format.DateTimeFormatter;
|
import java.time.format.DateTimeFormatter;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.HashMap;
|
|
||||||
import java.util.LinkedHashMap;
|
import java.util.LinkedHashMap;
|
||||||
import java.util.LinkedList;
|
import java.util.LinkedList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
|
||||||
import java.util.Queue;
|
|
||||||
import java.util.concurrent.LinkedBlockingQueue;
|
import java.util.concurrent.LinkedBlockingQueue;
|
||||||
|
|
||||||
import javax.annotation.Resource;
|
|
||||||
|
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
|
|
||||||
import kr.gmt.so.state.StateManager;
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||||
|
|
||||||
import kr.gmtc.gw.comp.rest.vo.RestServiceData;
|
import kr.gmtc.gw.comp.rest.vo.RestServiceData;
|
||||||
import kr.gmtc.gw.comp.thread.CustomThread;
|
import kr.gmtc.gw.comp.thread.CustomThread;
|
||||||
import kr.gmtc.gw.standstatus.config.QueueManageBean;
|
import kr.gmtc.gw.standstatus.config.QueueManageBean;
|
||||||
|
@ -25,7 +21,6 @@ import kr.gmtc.gw.standstatus.database.dto.DataLoadDTO;
|
||||||
import kr.gmtc.gw.standstatus.database.dto.DataLoadHashMap;
|
import kr.gmtc.gw.standstatus.database.dto.DataLoadHashMap;
|
||||||
import kr.gmtc.gw.standstatus.kafka.vo.AiVideoMetaData;
|
import kr.gmtc.gw.standstatus.kafka.vo.AiVideoMetaData;
|
||||||
import kr.gmtc.gw.standstatus.vo.AiAnalyzeStandSttus;
|
import kr.gmtc.gw.standstatus.vo.AiAnalyzeStandSttus;
|
||||||
import kr.gmtc.gw.standstatus.vo.AlarmMsgVO;
|
|
||||||
|
|
||||||
public class AnalysisStandStatus {
|
public class AnalysisStandStatus {
|
||||||
|
|
||||||
|
@ -133,19 +128,21 @@ public class AnalysisStandStatus {
|
||||||
AiAnalyzeStandSttus aiStandSttus;
|
AiAnalyzeStandSttus aiStandSttus;
|
||||||
|
|
||||||
int queSize = qRecvVideo.size();
|
int queSize = qRecvVideo.size();
|
||||||
|
int imapCnt = 0;
|
||||||
for(int idx = 0; idx<queSize; idx++){
|
for(int idx = 0; idx<queSize; idx++){
|
||||||
|
|
||||||
//AiVideoMetaData lcData = qRecvVideo.poll();
|
//AiVideoMetaData lcData = qRecvVideo.poll();
|
||||||
//AiVideoMetaData lcData = qRecvVideo.take();
|
//AiVideoMetaData lcData = qRecvVideo.take();
|
||||||
|
imapCnt = 0;
|
||||||
|
|
||||||
List<AiVideoMetaData> lcDataList = qRecvVideo.take();
|
List<AiVideoMetaData> lcDataList = qRecvVideo.take();
|
||||||
for( AiVideoMetaData lcData : lcDataList ){
|
for( AiVideoMetaData lcData : lcDataList ){
|
||||||
|
|
||||||
if(lcData.getCc_id().equals("123")){
|
// if(lcData.getCc_id().equals("123")){
|
||||||
String adsf = "adf";
|
// String adsf = "adf";
|
||||||
}
|
// }
|
||||||
|
imapCnt++;
|
||||||
|
|
||||||
aiStandSttus = new AiAnalyzeStandSttus();
|
aiStandSttus = new AiAnalyzeStandSttus();
|
||||||
|
|
||||||
aiStandSttus.setArcft_stand(lcData.getArcrft_yn());
|
aiStandSttus.setArcft_stand(lcData.getArcrft_yn());
|
||||||
|
@ -158,6 +155,8 @@ public class AnalysisStandStatus {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
logger.info("AI메타정보 주기장 매핑 :" + imapCnt + " 건");
|
||||||
|
|
||||||
// 주기장 항공기 상태 초기화
|
// 주기장 항공기 상태 초기화
|
||||||
//map_stand_sttus.get(lcData.getCc_id()).setAircraft_sttus_ty("0");
|
//map_stand_sttus.get(lcData.getCc_id()).setAircraft_sttus_ty("0");
|
||||||
|
|
||||||
|
@ -187,6 +186,9 @@ public class AnalysisStandStatus {
|
||||||
// 서비스큐 데이터 적재
|
// 서비스큐 데이터 적재
|
||||||
store_Service_Data();
|
store_Service_Data();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Thread.sleep(300);
|
Thread.sleep(300);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -305,9 +307,9 @@ public class AnalysisStandStatus {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(sCctv.equals("107")){
|
// if(sCctv.equals("107")){
|
||||||
String asdf = "asdfasdf";
|
// String asdf = "asdfasdf";
|
||||||
}
|
// }
|
||||||
|
|
||||||
String sRecvTime = _mfltdep.getItemString("EXP_STAND_OFF_DT");
|
String sRecvTime = _mfltdep.getItemString("EXP_STAND_OFF_DT");
|
||||||
sRecvTime = sRecvTime.concat("00.000");
|
sRecvTime = sRecvTime.concat("00.000");
|
||||||
|
@ -359,7 +361,7 @@ public class AnalysisStandStatus {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// if(idx > 0 ) logger.info("출발 주기장 :" + (idx +1) + "건 갱신" );
|
if(idx > 0 ) logger.info("푸시백 준비 현황 :" + (idx +1) + "건 갱신" );
|
||||||
|
|
||||||
return idx;
|
return idx;
|
||||||
}
|
}
|
||||||
|
@ -377,6 +379,8 @@ public class AnalysisStandStatus {
|
||||||
// serviceList.get(qi).addAll(valueList);
|
// serviceList.get(qi).addAll(valueList);
|
||||||
// }
|
// }
|
||||||
|
|
||||||
|
//logger.info("푸시백 준비 현황 :" + valueList.toString() );
|
||||||
|
|
||||||
serviceList.clear();
|
serviceList.clear();
|
||||||
serviceList.addAll(valueList);
|
serviceList.addAll(valueList);
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,52 @@
|
||||||
|
package kr.gmtc.gw.standstatus.config;
|
||||||
|
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.LinkedHashMap;
|
||||||
|
|
||||||
|
import org.springframework.beans.factory.annotation.Value;
|
||||||
|
import org.springframework.context.annotation.Bean;
|
||||||
|
import org.springframework.context.annotation.Configuration;
|
||||||
|
|
||||||
|
import kr.gmtc.gw.standstatus.database.dto.DataLoadDTO;
|
||||||
|
|
||||||
|
@Configuration("appConfig")
|
||||||
|
public class AppConfig {
|
||||||
|
|
||||||
|
@Value("${spring.profiles.group.default}")
|
||||||
|
private String gsProfile;
|
||||||
|
|
||||||
|
@Value("${kafka.consumer.group-id}")
|
||||||
|
private String gskafkaConsumeGroup;
|
||||||
|
|
||||||
|
@Value("${kafka.message.topic.recv.video}")
|
||||||
|
private String gskafkaTopicRecvVideo;
|
||||||
|
|
||||||
|
@Value("${kafka.message.topic.send.sttus}")
|
||||||
|
private String gskafkaTopicSendSttus;
|
||||||
|
|
||||||
|
@Value("${kafka.message.topic.send.alarm}")
|
||||||
|
private String gskafkaTopicSendAlarm;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@Bean(name = "dataLoadDTO")
|
||||||
|
public DataLoadDTO dataLoadDTO(){
|
||||||
|
return new DataLoadDTO();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Bean(name = "queueManageBean")
|
||||||
|
public QueueManageBean queueManageBean(){
|
||||||
|
return new QueueManageBean();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Bean(name = "testStandStsMap")
|
||||||
|
public HashMap<String, String> testStandStsMap(){
|
||||||
|
return new LinkedHashMap<String, String>();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Bean(name = "testStandStsMapAI")
|
||||||
|
public HashMap<String, String[]> testStandStsMapAI(){
|
||||||
|
return new LinkedHashMap<String, String[]>();
|
||||||
|
}
|
||||||
|
}
|
|
@ -42,10 +42,12 @@ public class KafkaMessageListener {
|
||||||
|
|
||||||
if(stateMgr.isActive()){
|
if(stateMgr.isActive()){
|
||||||
|
|
||||||
|
KafkaRequestVo vo = null;
|
||||||
|
|
||||||
try {
|
try {
|
||||||
if (message != null) {
|
if (message != null) {
|
||||||
|
|
||||||
KafkaRequestVo vo = objMapper.readValue(message, KafkaRequestVo.class);
|
vo = objMapper.readValue(message, KafkaRequestVo.class);
|
||||||
//recvVideoQ.add(vo.getData());
|
//recvVideoQ.add(vo.getData());
|
||||||
queMB.getQRecvVideo().offer((ArrayList<AiVideoMetaData>) vo.getData());
|
queMB.getQRecvVideo().offer((ArrayList<AiVideoMetaData>) vo.getData());
|
||||||
|
|
||||||
|
@ -53,6 +55,8 @@ public class KafkaMessageListener {
|
||||||
} catch(Exception e) {
|
} catch(Exception e) {
|
||||||
logger.error(e.getMessage());
|
logger.error(e.getMessage());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
logger.info("AI영상메타정보 수신 1건" );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,8 @@
|
||||||
package kr.gmtc.gw.standstatus.kafka.producer;
|
package kr.gmtc.gw.standstatus.kafka.producer;
|
||||||
|
|
||||||
|
import java.text.SimpleDateFormat;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
import java.util.Date;
|
||||||
import java.util.LinkedList;
|
import java.util.LinkedList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
@ -73,7 +75,7 @@ public class KafkaProduceStandSttus {
|
||||||
|
|
||||||
if(stateMgr.isActive()){
|
if(stateMgr.isActive()){
|
||||||
|
|
||||||
logger.info("************************** serviceList Count : " + queMB.getServiceList().size());
|
//logger.info("************************** serviceList Count : " + queMB.getServiceList().size());
|
||||||
|
|
||||||
if(queMB.getServiceList().size() > 0){
|
if(queMB.getServiceList().size() > 0){
|
||||||
sRetJsonData = makeServiceData(queMB.getServiceList());
|
sRetJsonData = makeServiceData(queMB.getServiceList());
|
||||||
|
@ -113,6 +115,12 @@ public class KafkaProduceStandSttus {
|
||||||
|
|
||||||
jsonHeader.setResult_code(sendCode);
|
jsonHeader.setResult_code(sendCode);
|
||||||
jsonHeader.setResult_msg(sendMsg);
|
jsonHeader.setResult_msg(sendMsg);
|
||||||
|
|
||||||
|
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");
|
||||||
|
|
||||||
|
Date now = new Date();
|
||||||
|
|
||||||
|
jsonHeader.setSend_tm(sdf.format(now));
|
||||||
|
|
||||||
kafkaServiceVO.setHeader(jsonHeader);
|
kafkaServiceVO.setHeader(jsonHeader);
|
||||||
|
|
||||||
|
@ -131,6 +139,8 @@ public class KafkaProduceStandSttus {
|
||||||
logger.error("makeServiceData-JsonProcessingException : " + e);
|
logger.error("makeServiceData-JsonProcessingException : " + e);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
logger.info("주기장 내 현황 분석 결과 전송:" + kafkaServiceVO.getData().size() + "건 / Kafka 전송 Header : " + kafkaServiceVO.toHeaderString());
|
||||||
|
|
||||||
return sRetJsonData;
|
return sRetJsonData;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -8,9 +8,11 @@ import com.fasterxml.jackson.annotation.JsonPropertyOrder;
|
||||||
|
|
||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
import lombok.Setter;
|
import lombok.Setter;
|
||||||
|
import lombok.ToString;
|
||||||
|
|
||||||
@Setter
|
@Setter
|
||||||
@Getter
|
@Getter
|
||||||
|
@ToString
|
||||||
@JsonPropertyOrder({ "result_code", "result_msg" })
|
@JsonPropertyOrder({ "result_code", "result_msg" })
|
||||||
public class KafkaRequestVo {
|
public class KafkaRequestVo {
|
||||||
|
|
||||||
|
|
|
@ -11,4 +11,10 @@ public class KafkaServiceVO {
|
||||||
private ResponsHeader header;
|
private ResponsHeader header;
|
||||||
private List<KafkaServiceData> data;
|
private List<KafkaServiceData> data;
|
||||||
|
|
||||||
|
public String toHeaderString() {
|
||||||
|
return header.toString();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -54,6 +54,12 @@ public class ResponsHeader implements Serializable {
|
||||||
this.send_tm = send_tm;
|
this.send_tm = send_tm;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String toString() {
|
||||||
|
return "[result_code=" + result_code + ", result_msg=" + result_msg + ", send_tm=" + send_tm
|
||||||
|
+ "]";
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -83,7 +83,7 @@ public class DataLoadService {
|
||||||
logger.error("cctv load fail");
|
logger.error("cctv load fail");
|
||||||
}else{
|
}else{
|
||||||
dataLoadDTO.setDb_CctvList(db_CctvList);
|
dataLoadDTO.setDb_CctvList(db_CctvList);
|
||||||
logger.info("cctv load Count:" + db_CctvList.size());
|
logger.info("주기장(CCTV설치) 조회:" + db_CctvList.size() + "건");
|
||||||
}
|
}
|
||||||
|
|
||||||
// Thread.sleep(600000);
|
// Thread.sleep(600000);
|
||||||
|
@ -95,7 +95,8 @@ public class DataLoadService {
|
||||||
dataLoadDTO.setDb_FltDep(icSelectDao.select_flt_dep());
|
dataLoadDTO.setDb_FltDep(icSelectDao.select_flt_dep());
|
||||||
dataLoadDTO.setDb_FltArr(icSelectDao.select_flt_arr());
|
dataLoadDTO.setDb_FltArr(icSelectDao.select_flt_arr());
|
||||||
|
|
||||||
//Thread.sleep(30000);
|
logger.info("항공기 스케줄 조회: 도착 " + dataLoadDTO.getDb_FltArr().size() + "건 / "+ "출발 " + dataLoadDTO.getDb_FltDep().size() + "건");
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public IcSelectDao getIcSelectDao() {
|
public IcSelectDao getIcSelectDao() {
|
||||||
|
|
|
@ -0,0 +1,25 @@
|
||||||
|
package kr.gmtc.gw.standstatus.vo;
|
||||||
|
|
||||||
|
import lombok.Getter;
|
||||||
|
import lombok.Setter;
|
||||||
|
|
||||||
|
@Getter
|
||||||
|
@Setter
|
||||||
|
public class Delete_StandSttusVO {
|
||||||
|
|
||||||
|
private String cctv_id;
|
||||||
|
private String stand_no;
|
||||||
|
private AiAnalyzeStandSttus aiStandSttus;
|
||||||
|
private String stand_sttus_ty;
|
||||||
|
|
||||||
|
public Delete_StandSttusVO(){
|
||||||
|
this.aiStandSttus = new AiAnalyzeStandSttus();
|
||||||
|
}
|
||||||
|
|
||||||
|
public Delete_StandSttusVO(String stand_no, String cctv_id){
|
||||||
|
this.stand_no = stand_no;
|
||||||
|
this.cctv_id = cctv_id;
|
||||||
|
this.aiStandSttus = new AiAnalyzeStandSttus();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -46,8 +46,8 @@ kafka:
|
||||||
recv:
|
recv:
|
||||||
video: ai.analyze.video
|
video: ai.analyze.video
|
||||||
send:
|
send:
|
||||||
sttus: ic.analyze.stand.status
|
sttus: ic.analyze.stand.status_test
|
||||||
alarm: ic.analyze.alarm
|
alarm: ic.analyze.alarm_test
|
||||||
|
|
||||||
---
|
---
|
||||||
spring:
|
spring:
|
||||||
|
|
Loading…
Reference in New Issue