diff --git a/pom.xml b/pom.xml index 449631a..a4ead36 100644 --- a/pom.xml +++ b/pom.xml @@ -14,7 +14,7 @@ 0.0.1-SNAPSHOT EyeGW_StandStatus Demo project for Spring Boot - + local-repository diff --git a/src/main/java/kr/gmtc/gw/comp/rest/vo/RestServiceData.java b/src/main/java/kr/gmtc/gw/comp/rest/vo/RestServiceData.java index 87c5aa3..3fad25c 100644 --- a/src/main/java/kr/gmtc/gw/comp/rest/vo/RestServiceData.java +++ b/src/main/java/kr/gmtc/gw/comp/rest/vo/RestServiceData.java @@ -3,9 +3,11 @@ package kr.gmtc.gw.comp.rest.vo; import kr.gmtc.gw.standstatus.vo.AiAnalyzeStandSttus; import lombok.Getter; import lombok.Setter; +import lombok.ToString; @Getter @Setter +@ToString public class RestServiceData { private String cctv_id; diff --git a/src/main/java/kr/gmtc/gw/standstatus/component/AnalysisStandStatus.java b/src/main/java/kr/gmtc/gw/standstatus/component/AnalysisStandStatus.java index 0b104b3..3409446 100644 --- a/src/main/java/kr/gmtc/gw/standstatus/component/AnalysisStandStatus.java +++ b/src/main/java/kr/gmtc/gw/standstatus/component/AnalysisStandStatus.java @@ -4,20 +4,16 @@ import java.time.Duration; import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; import java.util.ArrayList; -import java.util.HashMap; import java.util.LinkedHashMap; import java.util.LinkedList; import java.util.List; -import java.util.Map; -import java.util.Queue; import java.util.concurrent.LinkedBlockingQueue; -import javax.annotation.Resource; - import org.slf4j.Logger; 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.thread.CustomThread; 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.kafka.vo.AiVideoMetaData; import kr.gmtc.gw.standstatus.vo.AiAnalyzeStandSttus; -import kr.gmtc.gw.standstatus.vo.AlarmMsgVO; public class AnalysisStandStatus { @@ -133,19 +128,21 @@ public class AnalysisStandStatus { AiAnalyzeStandSttus aiStandSttus; int queSize = qRecvVideo.size(); - + int imapCnt = 0; for(int idx = 0; idx lcDataList = qRecvVideo.take(); for( AiVideoMetaData lcData : lcDataList ){ - if(lcData.getCc_id().equals("123")){ - String adsf = "adf"; - } - + // if(lcData.getCc_id().equals("123")){ + // String adsf = "adf"; + // } + imapCnt++; + aiStandSttus = new AiAnalyzeStandSttus(); 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"); @@ -187,6 +186,9 @@ public class AnalysisStandStatus { // 서비스큐 데이터 적재 store_Service_Data(); + + + Thread.sleep(300); } @@ -305,9 +307,9 @@ public class AnalysisStandStatus { continue; } - if(sCctv.equals("107")){ - String asdf = "asdfasdf"; - } + // if(sCctv.equals("107")){ + // String asdf = "asdfasdf"; + // } String sRecvTime = _mfltdep.getItemString("EXP_STAND_OFF_DT"); 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; } @@ -377,6 +379,8 @@ public class AnalysisStandStatus { // serviceList.get(qi).addAll(valueList); // } + //logger.info("푸시백 준비 현황 :" + valueList.toString() ); + serviceList.clear(); serviceList.addAll(valueList); diff --git a/src/main/java/kr/gmtc/gw/standstatus/config/AppConfig.java b/src/main/java/kr/gmtc/gw/standstatus/config/AppConfig.java new file mode 100644 index 0000000..9eb41a1 --- /dev/null +++ b/src/main/java/kr/gmtc/gw/standstatus/config/AppConfig.java @@ -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 testStandStsMap(){ + return new LinkedHashMap(); + } + + @Bean(name = "testStandStsMapAI") + public HashMap testStandStsMapAI(){ + return new LinkedHashMap(); + } +} diff --git a/src/main/java/kr/gmtc/gw/standstatus/kafka/consummer/KafkaMessageListener.java b/src/main/java/kr/gmtc/gw/standstatus/kafka/consummer/KafkaMessageListener.java index 92fdbb4..63abbe6 100644 --- a/src/main/java/kr/gmtc/gw/standstatus/kafka/consummer/KafkaMessageListener.java +++ b/src/main/java/kr/gmtc/gw/standstatus/kafka/consummer/KafkaMessageListener.java @@ -42,10 +42,12 @@ public class KafkaMessageListener { if(stateMgr.isActive()){ + KafkaRequestVo vo = null; + try { if (message != null) { - KafkaRequestVo vo = objMapper.readValue(message, KafkaRequestVo.class); + vo = objMapper.readValue(message, KafkaRequestVo.class); //recvVideoQ.add(vo.getData()); queMB.getQRecvVideo().offer((ArrayList) vo.getData()); @@ -53,6 +55,8 @@ public class KafkaMessageListener { } catch(Exception e) { logger.error(e.getMessage()); } + + logger.info("AI영상메타정보 수신 1건" ); } diff --git a/src/main/java/kr/gmtc/gw/standstatus/kafka/producer/KafkaProduceStandSttus.java b/src/main/java/kr/gmtc/gw/standstatus/kafka/producer/KafkaProduceStandSttus.java index f593cfc..165051d 100644 --- a/src/main/java/kr/gmtc/gw/standstatus/kafka/producer/KafkaProduceStandSttus.java +++ b/src/main/java/kr/gmtc/gw/standstatus/kafka/producer/KafkaProduceStandSttus.java @@ -1,6 +1,8 @@ package kr.gmtc.gw.standstatus.kafka.producer; +import java.text.SimpleDateFormat; import java.util.ArrayList; +import java.util.Date; import java.util.LinkedList; import java.util.List; import java.util.Map; @@ -73,7 +75,7 @@ public class KafkaProduceStandSttus { if(stateMgr.isActive()){ - logger.info("************************** serviceList Count : " + queMB.getServiceList().size()); + //logger.info("************************** serviceList Count : " + queMB.getServiceList().size()); if(queMB.getServiceList().size() > 0){ sRetJsonData = makeServiceData(queMB.getServiceList()); @@ -113,6 +115,12 @@ public class KafkaProduceStandSttus { jsonHeader.setResult_code(sendCode); 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); @@ -131,6 +139,8 @@ public class KafkaProduceStandSttus { logger.error("makeServiceData-JsonProcessingException : " + e); } + logger.info("주기장 내 현황 분석 결과 전송:" + kafkaServiceVO.getData().size() + "건 / Kafka 전송 Header : " + kafkaServiceVO.toHeaderString()); + return sRetJsonData; } diff --git a/src/main/java/kr/gmtc/gw/standstatus/kafka/vo/KafkaRequestVo.java b/src/main/java/kr/gmtc/gw/standstatus/kafka/vo/KafkaRequestVo.java index fb45779..c40873d 100644 --- a/src/main/java/kr/gmtc/gw/standstatus/kafka/vo/KafkaRequestVo.java +++ b/src/main/java/kr/gmtc/gw/standstatus/kafka/vo/KafkaRequestVo.java @@ -8,9 +8,11 @@ import com.fasterxml.jackson.annotation.JsonPropertyOrder; import lombok.Getter; import lombok.Setter; +import lombok.ToString; @Setter @Getter +@ToString @JsonPropertyOrder({ "result_code", "result_msg" }) public class KafkaRequestVo { diff --git a/src/main/java/kr/gmtc/gw/standstatus/kafka/vo/KafkaServiceVO.java b/src/main/java/kr/gmtc/gw/standstatus/kafka/vo/KafkaServiceVO.java index 630b426..798b478 100644 --- a/src/main/java/kr/gmtc/gw/standstatus/kafka/vo/KafkaServiceVO.java +++ b/src/main/java/kr/gmtc/gw/standstatus/kafka/vo/KafkaServiceVO.java @@ -11,4 +11,10 @@ public class KafkaServiceVO { private ResponsHeader header; private List data; + public String toHeaderString() { + return header.toString(); + } + + + } diff --git a/src/main/java/kr/gmtc/gw/standstatus/kafka/vo/ResponsHeader.java b/src/main/java/kr/gmtc/gw/standstatus/kafka/vo/ResponsHeader.java index 9f81ada..26b735a 100644 --- a/src/main/java/kr/gmtc/gw/standstatus/kafka/vo/ResponsHeader.java +++ b/src/main/java/kr/gmtc/gw/standstatus/kafka/vo/ResponsHeader.java @@ -54,6 +54,12 @@ public class ResponsHeader implements Serializable { this.send_tm = send_tm; } + @Override + public String toString() { + return "[result_code=" + result_code + ", result_msg=" + result_msg + ", send_tm=" + send_tm + + "]"; + } + } diff --git a/src/main/java/kr/gmtc/gw/standstatus/service/DataLoadService.java b/src/main/java/kr/gmtc/gw/standstatus/service/DataLoadService.java index 5aba322..5dbbfc2 100644 --- a/src/main/java/kr/gmtc/gw/standstatus/service/DataLoadService.java +++ b/src/main/java/kr/gmtc/gw/standstatus/service/DataLoadService.java @@ -83,7 +83,7 @@ public class DataLoadService { logger.error("cctv load fail"); }else{ dataLoadDTO.setDb_CctvList(db_CctvList); - logger.info("cctv load Count:" + db_CctvList.size()); + logger.info("주기장(CCTV설치) 조회:" + db_CctvList.size() + "건"); } // Thread.sleep(600000); @@ -95,7 +95,8 @@ public class DataLoadService { dataLoadDTO.setDb_FltDep(icSelectDao.select_flt_dep()); dataLoadDTO.setDb_FltArr(icSelectDao.select_flt_arr()); - //Thread.sleep(30000); + logger.info("항공기 스케줄 조회: 도착 " + dataLoadDTO.getDb_FltArr().size() + "건 / "+ "출발 " + dataLoadDTO.getDb_FltDep().size() + "건"); + } public IcSelectDao getIcSelectDao() { diff --git a/src/main/java/kr/gmtc/gw/standstatus/vo/Delete_StandSttusVO.java b/src/main/java/kr/gmtc/gw/standstatus/vo/Delete_StandSttusVO.java new file mode 100644 index 0000000..c8b14d8 --- /dev/null +++ b/src/main/java/kr/gmtc/gw/standstatus/vo/Delete_StandSttusVO.java @@ -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(); + } + +} \ No newline at end of file diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index c2556e1..db90df5 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -46,8 +46,8 @@ kafka: recv: video: ai.analyze.video send: - sttus: ic.analyze.stand.status - alarm: ic.analyze.alarm + sttus: ic.analyze.stand.status_test + alarm: ic.analyze.alarm_test --- spring: