|
@@ -13,9 +13,7 @@ import com.sooka.sponest.event.centereventtdeptevent.domain.CentereventDeptEvent
|
|
|
import com.sooka.sponest.event.centereventtdeptevent.service.ICentereventDeptEventService;
|
|
|
import com.sooka.sponest.event.centereventteventcatalogue.domain.CentereventTEventcatalogue;
|
|
|
import com.sooka.sponest.event.centereventteventcatalogue.domain.DaHuaEventBO;
|
|
|
-import com.sooka.sponest.event.centereventteventcatalogue.domain.dahua.DaHuaFireEventVO;
|
|
|
-import com.sooka.sponest.event.centereventteventcatalogue.domain.dahua.DaHuaOtherEventVO;
|
|
|
-import com.sooka.sponest.event.centereventteventcatalogue.domain.dahua.PictureVO;
|
|
|
+import com.sooka.sponest.event.centereventteventcatalogue.domain.dahua.*;
|
|
|
import com.sooka.sponest.event.centereventteventcatalogue.domain.haikang.EventsVo;
|
|
|
import com.sooka.sponest.event.centereventteventcatalogue.domain.haikang.HaiKangEventVo;
|
|
|
import com.sooka.sponest.event.centereventteventcatalogue.domain.sensor.SensorEventVo;
|
|
@@ -32,6 +30,7 @@ import com.sooka.sponest.exchange.api.domain.FireEventVO;
|
|
|
import com.sooka.sponest.monitor.api.RemoteMonitorService;
|
|
|
import com.sooka.sponest.monitor.api.domain.CenterdataTAidevicedept;
|
|
|
import com.sooka.sponest.monitor.api.domain.CenterdataTCamera;
|
|
|
+import org.apache.commons.collections4.MapUtils;
|
|
|
import org.slf4j.Logger;
|
|
|
import org.slf4j.LoggerFactory;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
@@ -237,19 +236,23 @@ public class AlarmEventServiceImpl implements AlarmEventService {
|
|
|
@Transactional
|
|
|
@Override
|
|
|
public String insertDaHuaEvent(DaHuaFireEventVO daHuaFireEventVO) {
|
|
|
- Long type = daHuaFireEventVO.getInfo().getAlarmType();
|
|
|
+ Long type = MapUtils.getLong(daHuaFireEventVO.getInfo(), "alarmType");
|
|
|
// 313:烟雾,5122:热感
|
|
|
if (type == 313 || type == 5122) {
|
|
|
return insertFireEvent(daHuaFireEventVO);
|
|
|
+ } else if (type == 302 || type == 303 || type == 962 || type == 963 || type == 964 || type == 965) {
|
|
|
+ // 302:绊线入侵,303:区域入侵 ,962:人穿越警戒线,963:机动车穿越警戒线,964:人穿越区域,965:机动车穿越区域
|
|
|
+ return insertBayonetEvent(daHuaFireEventVO);
|
|
|
}
|
|
|
return "";
|
|
|
}
|
|
|
|
|
|
public String insertFireEvent(DaHuaFireEventVO daHuaFireEventVO) {
|
|
|
+ InfoVO infoVO = JSONObject.parseObject(JSON.toJSONString(daHuaFireEventVO.getInfo()), InfoVO.class);
|
|
|
// 验证是否配置摄像头通道
|
|
|
- CenterdataTCamera centerdataTCamera = SpringUtils.getBean(RemoteMonitorService.class).getInfoByChannelCode(daHuaFireEventVO.getInfo().getChannelSn()).getData();
|
|
|
+ CenterdataTCamera centerdataTCamera = SpringUtils.getBean(RemoteMonitorService.class).getInfoByChannelCode(infoVO.getChannelSn()).getData();
|
|
|
if (StringUtils.isNull(centerdataTCamera)) {
|
|
|
- logger.info(ERROR_MSG_CHANNEL, daHuaFireEventVO.getInfo().getChannelSn());
|
|
|
+ logger.info(ERROR_MSG_CHANNEL, infoVO.getChannelSn());
|
|
|
return "";
|
|
|
}
|
|
|
// 验证是否配置指挥中心
|
|
@@ -260,12 +263,12 @@ public class AlarmEventServiceImpl implements AlarmEventService {
|
|
|
}
|
|
|
// 事件目录
|
|
|
//四平市双辽市卧虎镇贺家村热感应 + 2024-01-05 10:32:54 + 火情报警
|
|
|
- String eventName = daHuaFireEventVO.getInfo().getChannelName() + daHuaFireEventVO.getInfo().getAlarmDateStr() + daHuaFireEventVO.getInfo().getAlarmTypeName();
|
|
|
- String eventDescription = daHuaFireEventVO.getInfo().toString(centerdataTCamera);
|
|
|
- String longitude = StringUtils.isEmpty(daHuaFireEventVO.getInfo().getFirePoint()) ? centerdataTCamera.getLongitude() : daHuaFireEventVO.getInfo().getFirePoint()[0].getGpsX();
|
|
|
- String latitude = StringUtils.isEmpty(daHuaFireEventVO.getInfo().getFirePoint()) ? centerdataTCamera.getLatitude() : daHuaFireEventVO.getInfo().getFirePoint()[0].getGpsY();
|
|
|
- String reportor = daHuaFireEventVO.getInfo().getDeviceName();
|
|
|
- Date reportTime = DateUtils.timestampToTime(daHuaFireEventVO.getInfo().getAlarmDate());
|
|
|
+ String eventName = infoVO.getChannelName() + infoVO.getAlarmDateStr() + infoVO.getAlarmTypeName();
|
|
|
+ String eventDescription = infoVO.toString(centerdataTCamera);
|
|
|
+ String longitude = StringUtils.isEmpty(infoVO.getFirePoint()) ? centerdataTCamera.getLongitude() : infoVO.getFirePoint()[0].getGpsX();
|
|
|
+ String latitude = StringUtils.isEmpty(infoVO.getFirePoint()) ? centerdataTCamera.getLatitude() : infoVO.getFirePoint()[0].getGpsY();
|
|
|
+ String reportor = infoVO.getDeviceName();
|
|
|
+ Date reportTime = DateUtils.timestampToTime(infoVO.getAlarmDate());
|
|
|
String address = centerdataTCamera.getCameraRegion();
|
|
|
CentereventTEventcatalogue centereventTEventcatalogue = new CentereventTEventcatalogue("1", null, eventName, eventDescription, longitude, latitude, reportor, reportTime, address,
|
|
|
REPORTING_SOURCE_1, "上报", FOREST_EVENT_STATUS_1, centerdataTCamera.getId(), centerdataTCamera.getCameraName(), daHuaFireEventVO.getCreateTime());
|
|
@@ -274,8 +277,8 @@ public class AlarmEventServiceImpl implements AlarmEventService {
|
|
|
this.insertEventDept(centereventTEventcatalogue, listDept);
|
|
|
// 事件日志
|
|
|
String logId = this.insertEventLog(centereventTEventcatalogue);
|
|
|
- if (StringUtils.isNotBlank(daHuaFireEventVO.getInfo().getPicture())) {
|
|
|
- String[] pictures = daHuaFireEventVO.getInfo().getPicture().split(",");
|
|
|
+ if (StringUtils.isNotBlank(infoVO.getPicture())) {
|
|
|
+ String[] pictures = infoVO.getPicture().split(",");
|
|
|
for (String picture : pictures) {
|
|
|
CenterdataTAttach tAttach = new CenterdataTAttach();
|
|
|
tAttach.setBusId(logId);
|
|
@@ -289,6 +292,56 @@ public class AlarmEventServiceImpl implements AlarmEventService {
|
|
|
return centereventTEventcatalogue.getEventCode();
|
|
|
}
|
|
|
|
|
|
+ private String insertBayonetEvent(DaHuaFireEventVO daHuaFireEventVO) {
|
|
|
+ BayonetInfoVO infoVO = JSONObject.parseObject(JSON.toJSONString(daHuaFireEventVO.getInfo()), BayonetInfoVO.class);
|
|
|
+ // 验证是否配置摄像头
|
|
|
+ List<CenterdataTCamera> centerdataTCameras = SpringUtils.getBean(RemoteMonitorService.class).selectCameraByDepIdGong(new CenterdataTCamera(null, infoVO.getDeviceName())).getData();
|
|
|
+ if (StringUtils.isEmpty(centerdataTCameras) || 1 != centerdataTCameras.size()) {
|
|
|
+ logger.info("无法匹配相关设备!摄像头为:{}", infoVO.getDeviceName());
|
|
|
+ return "";
|
|
|
+ }
|
|
|
+ // 验证是否配置指挥中心
|
|
|
+ CenterdataTCamera centerdataTCamera = centerdataTCameras.get(0);
|
|
|
+ List<CenterdataTAidevicedept> listDept = SpringUtils.getBean(RemoteMonitorService.class).listForCommandCenter(centerdataTCamera.getId(), "1", "1").getData();
|
|
|
+ if (StringUtils.isEmpty(listDept)) {
|
|
|
+ logger.info(ERROR_MSG_DEPT, centerdataTCamera.getCameraCode());
|
|
|
+ return "";
|
|
|
+ }
|
|
|
+ // 验证事件类型是否配置对应报文码值--只能从数据库配
|
|
|
+ CentereventTEventtype centereventTEventtype = centereventTEventtypeService.selectCentereventTEventtypeByCode(infoVO.getAlarmType());
|
|
|
+ if (StringUtils.isNull(centereventTEventtype)) {
|
|
|
+ logger.info("无法匹配相关事件!报文码值为:{}", infoVO.getAlarmType());
|
|
|
+ return "";
|
|
|
+ }
|
|
|
+ // 事件目录
|
|
|
+ String eventType = centereventTEventtype.getParentId();
|
|
|
+ String eventTypeXl = centereventTEventtype.getId();
|
|
|
+ String eventName = infoVO.getChannelName() + DateUtils.parseDateToStr(YYYY_MM_DD_HH_MM_SS, new Date(infoVO.getAlarmDate() * 1000)) + centereventTEventtype.getEventTypeName();
|
|
|
+ String eventDescription = infoVO.toString(centerdataTCamera);
|
|
|
+ String longitude = centerdataTCamera.getLongitude();
|
|
|
+ String latitude = centerdataTCamera.getLatitude();
|
|
|
+ String reportor = centerdataTCamera.getCameraName();
|
|
|
+ Date reportTime = DateUtils.timestampToTime(infoVO.getAlarmDate() * 1000);
|
|
|
+ String address = centerdataTCamera.getCameraRegion();
|
|
|
+ CentereventTEventcatalogue centereventTEventcatalogue = new CentereventTEventcatalogue(eventType, eventTypeXl, eventName, eventDescription, longitude, latitude, reportor, reportTime, address,
|
|
|
+ REPORTING_SOURCE_1, "上报", FOREST_EVENT_STATUS_1, centerdataTCamera.getId(), centerdataTCamera.getCameraName(), daHuaFireEventVO.getCreateTime());
|
|
|
+ this.insertEventCatalogue(centereventTEventcatalogue);
|
|
|
+ // 事件部门
|
|
|
+ this.insertEventDept(centereventTEventcatalogue, listDept);
|
|
|
+ // 事件日志
|
|
|
+ String logId = this.insertEventLog(centereventTEventcatalogue);
|
|
|
+ if (StringUtils.isNotBlank(infoVO.getAlarmPicture())) {
|
|
|
+ CenterdataTAttach tAttach = new CenterdataTAttach();
|
|
|
+ tAttach.setBusId(logId);
|
|
|
+ tAttach.setAttachPath(infoVO.getAlarmPicture());
|
|
|
+ tAttach.setBusIndx(BUS_INDEX_2);
|
|
|
+ tAttach.setBusSource("DH_1");
|
|
|
+ tAttach.setFileType(FILE_TYPE_1);
|
|
|
+ remoteDataService.insertAttach(tAttach);
|
|
|
+ }
|
|
|
+ return centereventTEventcatalogue.getEventCode();
|
|
|
+ }
|
|
|
+
|
|
|
@Override
|
|
|
public String updateFireEventImage(DaHuaEventBO eventBO) throws ClientException {
|
|
|
// 通过eventCode查询详情
|