|
|
@ -33,11 +33,15 @@ public class MessageConsumer { |
|
|
|
@RabbitListener(queues = {"websocket.drone.queue"}, concurrency = "8") |
|
|
|
@RabbitListener(queues = {"websocket.drone.queue"}, concurrency = "8") |
|
|
|
public void receiveDroneMessage(final String message) throws JsonProcessingException { |
|
|
|
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); |
|
|
|
GPModel model = objectMapper.readValue(message, GPModel.class); |
|
|
|
|
|
|
|
|
|
|
|
CtrCntrlModel history = this.convertModel(model); // 웹 표출 model로 변환
|
|
|
|
CtrCntrlModel history = this.convertModel(model); |
|
|
|
|
|
|
|
|
|
|
|
gpHistoryShareModel.putHistory(model.getObjectId(), history); |
|
|
|
// DRON의 대한 식별정보만 이력 관리
|
|
|
|
|
|
|
|
if (history.getObjectId().indexOf("PALDRON") > -1) { |
|
|
|
|
|
|
|
gpHistoryShareModel.putHistory(model.getObjectId(), history); |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
public CtrCntrlModel convertModel(final GPModel dataInfo) { |
|
|
|
public CtrCntrlModel convertModel(final GPModel dataInfo) { |
|
|
@ -73,23 +77,23 @@ public class MessageConsumer { |
|
|
|
// 비정상 상황 식별코드 추가
|
|
|
|
// 비정상 상황 식별코드 추가
|
|
|
|
model.setControlWarnCd(dataInfo.isControlWarnCd()); |
|
|
|
model.setControlWarnCd(dataInfo.isControlWarnCd()); |
|
|
|
|
|
|
|
|
|
|
|
if(prevModel == null) { |
|
|
|
// if(prevModel == null) {
|
|
|
|
if(model.isControlWarnCd()) { |
|
|
|
// if(model.isControlWarnCd()) {
|
|
|
|
model.setControlWarnNotyCd(true); // 최초 비정상 발생
|
|
|
|
// model.setControlWarnNotyCd(true); // 최초 비정상 발생
|
|
|
|
} |
|
|
|
// }
|
|
|
|
} else { |
|
|
|
// } else {
|
|
|
|
if(prevModel.isControlWarnCd() && model.isControlWarnCd()) { |
|
|
|
// if(prevModel.isControlWarnCd() && model.isControlWarnCd()) {
|
|
|
|
model.setControlWarnNotyCd(false); // 비정상 -> 비정상
|
|
|
|
// model.setControlWarnNotyCd(false); // 비정상 -> 비정상
|
|
|
|
} |
|
|
|
// }
|
|
|
|
if(prevModel.isControlWarnCd() && !model.isControlWarnCd()) { |
|
|
|
// if(prevModel.isControlWarnCd() && !model.isControlWarnCd()) {
|
|
|
|
model.setControlWarnNotyCd(false); // 비정상 -> 정상
|
|
|
|
// model.setControlWarnNotyCd(false); // 비정상 -> 정상
|
|
|
|
} |
|
|
|
// }
|
|
|
|
if(!prevModel.isControlWarnCd() && model.isControlWarnCd()) { |
|
|
|
// if(!prevModel.isControlWarnCd() && model.isControlWarnCd()) {
|
|
|
|
model.setControlWarnNotyCd(true); // 정상 -> 비정상상
|
|
|
|
// model.setControlWarnNotyCd(true); // 정상 -> 비정상상
|
|
|
|
} |
|
|
|
// }
|
|
|
|
} |
|
|
|
// }
|
|
|
|
|
|
|
|
//
|
|
|
|
model.setControlCacheCount(1); |
|
|
|
// model.setControlCacheCount(1);
|
|
|
|
|
|
|
|
|
|
|
|
return model; |
|
|
|
return model; |
|
|
|
} |
|
|
|
} |
|
|
|