From f28d51a7e7353a08482380255675b55422cc4d61 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?scnoh=28=EB=85=B8=EC=8A=B9=EC=B2=A0=29?= Date: Wed, 31 Aug 2022 16:55:57 +0900 Subject: [PATCH] =?UTF-8?q?=EB=B9=84=EC=A0=95=EC=83=81=20=EB=8D=B0?= =?UTF-8?q?=EC=9D=B4=ED=84=B0=20=EC=A4=91=EB=B3=B5=20=EC=95=8C=EB=A6=BC=20?= =?UTF-8?q?=EB=B0=A9=EC=A7=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/palnet/comn/model/CtrCntrlModel.java | 2 +- .../message/consumer/MessageConsumer.java | 6 ++++-- .../task/ctr/service/CtrCntrlTaskService.java | 17 +++++++++-------- 3 files changed, 14 insertions(+), 11 deletions(-) diff --git a/src/main/java/com/palnet/comn/model/CtrCntrlModel.java b/src/main/java/com/palnet/comn/model/CtrCntrlModel.java index ebc9d51..0eac139 100644 --- a/src/main/java/com/palnet/comn/model/CtrCntrlModel.java +++ b/src/main/java/com/palnet/comn/model/CtrCntrlModel.java @@ -66,7 +66,7 @@ public class CtrCntrlModel implements Comparable{ // 비정상 상황 알림 표출 코드 (알림: true, 미알림: false) private boolean controlWarnNotyCd; // 비정상 상황 알림 중복 체크 - private String warnNotyExposure; + private Integer controlCacheCount; @Override public int compareTo(CtrCntrlModel o) { diff --git a/src/main/java/com/palnet/process/message/consumer/MessageConsumer.java b/src/main/java/com/palnet/process/message/consumer/MessageConsumer.java index 3701e6a..0049d5e 100644 --- a/src/main/java/com/palnet/process/message/consumer/MessageConsumer.java +++ b/src/main/java/com/palnet/process/message/consumer/MessageConsumer.java @@ -30,7 +30,7 @@ public class MessageConsumer { @RabbitHandler @RabbitListener(queues = {"websocket.drone.queue"}) public void receiveDroneMessage(final String message) throws JsonProcessingException { - log.info("websocket message : {}", message); +// log.info("websocket message : {}", message); GPModel model = objectMapper.readValue(message, GPModel.class); CtrCntrlModel history = this.modelConvert(model); // 웹 표출 model로 변환 @@ -88,7 +88,9 @@ public class MessageConsumer { if(!prevModel.isControlWarnCd() && model.isControlWarnCd()) { model.setControlWarnNotyCd(true); // 정상 -> 비정상상 } - } + } + + model.setControlCacheCount(1); return model; } diff --git a/src/main/java/com/palnet/server/task/ctr/service/CtrCntrlTaskService.java b/src/main/java/com/palnet/server/task/ctr/service/CtrCntrlTaskService.java index b59a715..2235954 100644 --- a/src/main/java/com/palnet/server/task/ctr/service/CtrCntrlTaskService.java +++ b/src/main/java/com/palnet/server/task/ctr/service/CtrCntrlTaskService.java @@ -32,14 +32,15 @@ public class CtrCntrlTaskService { if(Objects.nonNull(allHistory)) { allHistory.forEach((k, v) -> { -// if(v.isControlWarnCd() && v.isControlWarnNotyCd()) { -// if(!"Y".equals(v.getWarnNotyExposure())) { -// v.setControlWarnNotyCd(true); -// v.setWarnNotyExposure("Y"); -// } else { -// v.setControlWarnNotyCd(false); -// } -// } + // 데이터가 수신 되지 않고 이전 데이터를 표출하고 있는 경우 + // 비정상 상황 판별하여 알림 표출 X + if(v.getControlCacheCount() == 2) { + if(v.isControlWarnCd() && v.isControlWarnNotyCd()) { + v.setControlWarnNotyCd(false); + } + } + + v.setControlCacheCount(2); list.add(v); });