Commit e6bca411 authored by maoying's avatar maoying

修改风险推送bug

parent dcc9ce68
......@@ -6,12 +6,6 @@ import java.util.List;
import java.util.Map;
import java.util.UUID;
import com.yeejoin.amos.fas.business.service.model.FireEquimentDataRo;
import com.yeejoin.amos.fas.business.service.model.ProtalDataRo;
import com.yeejoin.amos.fas.business.service.model.RiskSourceRuleRo;
import com.yeejoin.amos.fas.core.common.request.DateUtil;
import com.yeejoin.amos.fas.core.util.StringUtil;
import org.jsoup.helper.DataUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
......@@ -22,11 +16,15 @@ import com.yeejoin.amos.fas.business.action.result.TipResult;
import com.yeejoin.amos.fas.business.action.result.message.ActionResultMessage;
import com.yeejoin.amos.fas.business.action.util.DataItemUtil;
import com.yeejoin.amos.fas.business.service.intfc.IMessageService;
import com.yeejoin.amos.fas.business.service.model.FireEquimentDataRo;
import com.yeejoin.amos.fas.business.service.model.ProtalDataRo;
import com.yeejoin.amos.fas.business.service.model.RiskSourceRuleRo;
import com.yeejoin.amos.fas.business.service.model.ToipResponse;
import com.yeejoin.amos.fas.core.common.request.DateUtil;
import com.yeejoin.amos.fas.core.util.StringUtil;
import com.yeejoin.amos.fas.dao.entity.BusinessEntity;
import com.yeejoin.amos.fas.dao.entity.Message;
import com.yeejoin.amos.fas.dao.entity.MessageRo;
import org.springframework.util.unit.DataUnit;
/**
*
......@@ -97,6 +95,9 @@ public class SimpleTipAction implements CustomerAction
message.setTitle(map.get("title").toString());
}
}
if(!StringUtil.isNotEmpty(message.getContent())){
continue;
}
if (abstractActionResult.getToipResponse().getBizObj() instanceof MessageRo) {
MessageRo messageRo = (MessageRo)abstractActionResult.getToipResponse().getBizObj();
message.setTime(messageRo.getDateTime());
......
package com.yeejoin.amos.fas.business.dao.repository;
import java.util.List;
import org.springframework.data.jpa.repository.Modifying;
import org.springframework.data.jpa.repository.Query;
import org.springframework.stereotype.Repository;
import com.yeejoin.amos.fas.dao.entity.FmeaEquipmentPoint;
@Repository("iFmeaEquipmentPointDao")
public interface IFmeaEquipmentPointDao extends BaseDao<FmeaEquipmentPoint, Long>{
@Modifying
@Query(value="DELETE fmep FROM `f_fmea_equipment_point` fmep"+
"LEFT JOIN f_fire_equipment_point fep ON fep.id = fmep.equipment_point_id"+
"WHERE fep.fire_equipment_id = ?1 AND fmep.important_equipment_id = ?2", nativeQuery = true)
void removeByFireEquipIdAndEquipId(Long fire_equipment_id,Long importantEquipmentId);
}
//package com.yeejoin.amos.fas.business.dao.repository;
//
//import java.util.List;
//
//import org.springframework.data.jpa.repository.Modifying;
//import org.springframework.data.jpa.repository.Query;
//import org.springframework.stereotype.Repository;
//
//import com.yeejoin.amos.fas.dao.entity.RiskSourcePointInputitem;
//
//@Repository("iRiskSourcePointInputitemDao")
//public interface IRiskSourcePointInputitemDao extends BaseDao<RiskSourcePointInputitem, Long>{
//
// List<RiskSourcePointInputitem> findAllByRiskSourceIdAndPointId(Long riskSourceId, Long pointId);
// RiskSourcePointInputitem findAllByRiskSourceIdAndPointIdAndPointInputitemId(Long riskSourceId, Long pointId,Long pointInputitemId);
//
// @Modifying
// @Query(value="delete from f_risk_source_point_inputitem where risk_source_id = (?1) and point_id = (?2)", nativeQuery = true)
// void removeByRSIdAndPId(String riskSourceId,String pointId);
//}
......@@ -24,7 +24,7 @@ public class RemoteWebSocketServer {
private ApplicationConfig applicationConfig;*/
@Value("${params.remoteWebsocketUrl}")
private String remoteRuleUrl;
private String remoteWebsocketUrl;
private final RestTemplate restTemplate;
......@@ -41,9 +41,7 @@ public class RemoteWebSocketServer {
map.put("filter", null);
map.put("message", message);
map.put("path", path);
//String url = applicationConfig.getParamValueStr("params.remoteWebsocketUrl");
String url =remoteRuleUrl;
String url =remoteWebsocketUrl;
HttpHeaders headers = new HttpHeaders();
MediaType type = MediaType
.parseMediaType("application/json; charset=UTF-8");
......
......@@ -14,6 +14,9 @@ public class AlarmParam extends BasicsRo{
private String monitor;
private String equimentId;
private String code;
private String id;
private String name;
/**
* 是否模拟数据
*/
......@@ -97,5 +100,17 @@ public class AlarmParam extends BasicsRo{
}
public void setOldState(String oldState) {
this.oldState = oldState;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
}
......@@ -40,6 +40,7 @@ import com.yeejoin.amos.fas.business.dao.mongo.EquipCommunicationDao;
import com.yeejoin.amos.fas.business.dao.repository.IEquipmentDao;
import com.yeejoin.amos.fas.business.dao.repository.IEquipmentFireEquipmentDao;
import com.yeejoin.amos.fas.business.dao.repository.IFireEquipmentDao;
import com.yeejoin.amos.fas.business.dao.repository.IFmeaEquipmentPointDao;
import com.yeejoin.amos.fas.business.dao.repository.IPreplanPictureDao;
import com.yeejoin.amos.fas.business.feign.RemoteSecurityService;
import com.yeejoin.amos.fas.business.param.ImgParam;
......@@ -89,6 +90,9 @@ public class EquipmentServiceImpl implements IEquipmentService {
@Autowired
private RedisTemplate redisTemplate;
@Autowired
private IFmeaEquipmentPointDao iFmeaEquipmentPointDao;
@Autowired
private MongoTemplate mongoTemplate;
......@@ -224,10 +228,11 @@ public class EquipmentServiceImpl implements IEquipmentService {
for (String id : fireEquipmentIds) {
long result = 0;
EquipmentFireEquipment equipmentFireEquipment = impAndFireEquipMapper.queryForOne(String.valueOf(id), String.valueOf(equipmentId));
if (equipmentFireEquipment != null) {
result = equipmentFireEquipment.getId();
this.equipmentFireEquipmentDao.deleteById(equipmentFireEquipment.getId());
iFmeaEquipmentPointDao.removeByFireEquipIdAndEquipId(Long.valueOf(id), equipmentId);
}
ids.add(result);
}
......
......@@ -589,44 +589,8 @@ public class RiskSourceServiceImpl implements IRiskSourceService {
}
@Override
@Async
public String processFireEqumtData(FireEquimentDataRo deviceData) throws Exception {
//处理设备和巡检数据
deviceData.setNodeState(deviceData.getValue());
String batchNo = UUID.randomUUID().toString();
deviceData.setBatchNo(batchNo);
Optional<FireEquipment> fireEquipment1 = this.iFireEquipmentDao.findById(deviceData.getFireEquimentId());
FireEquipment fireEquipment = null;
if (fireEquipment1.isPresent()) {
fireEquipment = fireEquipment1.get();
}
Equipment equipment = null;
if (fireEquipment != null) {
deviceData.setCode(fireEquipment.getCode());
equipment = impAndFireEquipMapper.queryImpEqumtByFireEquipmt(deviceData.getFireEquimentId());
if (equipment != null) {
deviceData.setMonitor(equipment.getName());
deviceData.setEquimentId(String.valueOf(equipment.getId()));
//Object result = remoteRuleServer.fireRule(deviceData, "风险管控/fireEquiment");
//处理返回结果
List<RiskSource> riskSources = this.riskSourceMapper.queryByFireEqument(deviceData.getFireEquimentId());
//asymbleWithParent(batchNo, riskSources, FireEquimentDataRo.class.getSimpleName(), deviceData.getFireEquimentId(), deviceData.getNodeState(), null, null);
try {
alermContingency(deviceData.getBatchNo(), fireEquipment, equipment);
} catch (Exception e) {
log.error("调用规则失败", e);
}
}
}
return "SUCCESS";
}
public void alermContingency(String batchNo, FireEquipment fireEquipment, Equipment equipment) throws Exception {
......@@ -805,6 +769,9 @@ public class RiskSourceServiceImpl implements IRiskSourceService {
}
iDataRefreshService.refreshViewData(DataRefreshTypeEum.check.getCode());
}
/**
* 巡检消息规则推送
......@@ -827,6 +794,9 @@ public class RiskSourceServiceImpl implements IRiskSourceService {
log.error(e.getMessage(),e);
}
}
@Override
public RiskSourceTreeResponse queryRiskSourceDetailById(Long id) {
......@@ -924,10 +894,13 @@ public class RiskSourceServiceImpl implements IRiskSourceService {
}
Equipment equipment = null;
if (fireEquipment != null) {
deviceData.setCode(fireEquipment.getCode());
//保存实时数据
saveFireEquipmentData(fireEquipmentPoint, fireEquipment, deviceData, fireEquipmentPointType);
equipment = impAndFireEquipMapper.queryImpEqumtByFireEquipmt(fireEquipmentPoint.getFireEquipmentId());
deviceData.setMonitor(equipment != null?equipment.getName():"");
deviceData.setId(String.valueOf(fireEquipment.getId()));
deviceData.setCode(fireEquipment.getCode());
saveFireEquipmentData(fireEquipmentPoint, fireEquipment, deviceData, fireEquipmentPointType, toke);
if (equipment != null && "alarm_type_fire".equals(fireEquipmentPointType)) {
//动态预案执行
dynamicPlan(deviceData, equipment, fireEquipment, fireEquipmentPointType,toke);
......@@ -1026,15 +999,74 @@ public class RiskSourceServiceImpl implements IRiskSourceService {
map.put("id", param.getPointCode());
Map<String, Map<String, Object>> riskSourceMap = new HashMap();
riskSourceMap.put("equipments", map);
remoteWebSocketServer.sendMessage("equipmentMode", JSON.toJSONString(riskSourceMap));
} catch (Exception e) {
log.error("推送前端数据失败-->"+JSON.toJSONString(param));
}
}
@Override
@Async
public String processFireEqumtData(FireEquimentDataRo deviceData) throws Exception {
//处理设备和巡检数据
deviceData.setNodeState(deviceData.getValue());
String batchNo = UUID.randomUUID().toString();
deviceData.setBatchNo(batchNo);
Optional<FireEquipment> fireEquipment1 = this.iFireEquipmentDao.findById(deviceData.getFireEquimentId());
FireEquipment fireEquipment = null;
if (fireEquipment1.isPresent()) {
fireEquipment = fireEquipment1.get();
}
Equipment equipment = null;
if (fireEquipment != null) {
deviceData.setCode(fireEquipment.getCode());
equipment = impAndFireEquipMapper.queryImpEqumtByFireEquipmt(deviceData.getFireEquimentId());
if (equipment != null) {
deviceData.setMonitor(equipment.getName());
deviceData.setEquimentId(String.valueOf(equipment.getId()));
//Object result = remoteRuleServer.fireRule(deviceData, "风险管控/fireEquiment");
//处理返回结果
List<RiskSource> riskSources = this.riskSourceMapper.queryByFireEqument(deviceData.getFireEquimentId());
//asymbleWithParent(batchNo, riskSources, FireEquimentDataRo.class.getSimpleName(), deviceData.getFireEquimentId(), deviceData.getNodeState(), null, null);
try {
alermContingency(deviceData.getBatchNo(), fireEquipment, equipment);
} catch (Exception e) {
log.error("调用规则失败", e);
}
}
}
return "SUCCESS";
}
/**
* 设备消息规则推送
*
* @param protalData
*/
@Async
void fireEquipRuleMessagePush(AlarmParam deviceData, Toke toke) {
String bacthNo = UUID.randomUUID().toString();
FireEquimentDataRo fireEquimentDataRo = new FireEquimentDataRo();
deviceData.setBatchNo(bacthNo);
BeanUtils.copyProperties(deviceData, fireEquimentDataRo);
try {
RequestContext.setToken(toke.getToke());
RequestContext.setProduct(toke.getProduct());
log.info("设备消息规则推送" + JSONObject.toJSONString(deviceData));
ruleTrigger.publish(fireEquimentDataRo, "风险管控/fireEquiment", null);
} catch (Exception e) {
log.error(e.getMessage(),e);
}
}
private void saveFireEquipmentData(FireEquipmentPoint fireEquipmentPoint, FireEquipment fireEquipment, AlarmParam deviceData, String fireEquipmentPointType) {
private void saveFireEquipmentData(FireEquipmentPoint fireEquipmentPoint, FireEquipment fireEquipment, AlarmParam deviceData, String fireEquipmentPointType, Toke toke) {
if ("alarm_type_fire".equals(fireEquipmentPointType) || "alarm_type_trouble".equals(fireEquipmentPointType)) {
Alarm alarm = iAlarmDao.findByStatusTrueAndFireEquipmentPointCode(deviceData.getPointCode());
if (alarm != null) {
......@@ -1066,6 +1098,7 @@ public class RiskSourceServiceImpl implements IRiskSourceService {
if ("alarm_type_trouble".equals(fireEquipmentPointType)) {
//通知刷新3d页面相关故障数据
notifyAlarm(fireEquipmentPoint, deviceData);
fireEquipRuleMessagePush(deviceData, toke);
} else {
//通知刷新3d页面告警数据
iDataRefreshService.refreshViewData(DataRefreshTypeEum.alarm.getCode());
......
......@@ -1233,7 +1233,7 @@
<select id="retrieveAll" resultType="java.util.HashMap">
select *,'{ "x": 0, "y": 0, "z": 0 }' rotationDTO,'{ "x": 1, "y": 1, "z": 1 }' scaleDTO
from (select concat('riskSource',r.id) as id,r.id as originId,r.name,r.code,r.ue4_location as ue4Location,r.ue4_rotation as ue4Rotation ,'riskSource' as type,r.org_code as orgCode,
from (select concat('riskSource-',r.id) as id,r.id as originId,r.name,r.code,r.ue4_location as ue4Location,r.ue4_rotation as ue4Rotation ,'riskSource' as type,r.org_code as orgCode,
rl.level as level,rl.name as levelStr,r.is_indoor as isIndoor,'风险点' as typeName,'riskSource' as typeCode,
CASE
WHEN (
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment