Commit 83790fc0 authored by maoying's avatar maoying

Merge branch 'upgrade' into dev_upgrade_rule

parents 1f4383c6 a8371a04
...@@ -2,31 +2,21 @@ package com.yeejoin.amos.fas.business.action; ...@@ -2,31 +2,21 @@ package com.yeejoin.amos.fas.business.action;
import java.lang.reflect.Constructor; import java.lang.reflect.Constructor;
import java.util.HashMap; import java.util.HashMap;
import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.UUID;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import com.yeejoin.amos.fas.business.action.el.ELEvaluationContext; import com.yeejoin.amos.fas.business.action.el.ELEvaluationContext;
import com.yeejoin.amos.fas.business.action.model.RiskSourceRuleRo;
import com.yeejoin.amos.fas.business.action.mq.StationEnum; import com.yeejoin.amos.fas.business.action.mq.StationEnum;
import com.yeejoin.amos.fas.business.action.mq.WebMqttComponent; import com.yeejoin.amos.fas.business.action.mq.WebMqttComponent;
import com.yeejoin.amos.fas.business.action.result.AbstractActionResult;
import com.yeejoin.amos.fas.business.action.result.ActionResult; import com.yeejoin.amos.fas.business.action.result.ActionResult;
import com.yeejoin.amos.fas.business.action.result.TipResult; import com.yeejoin.amos.fas.business.action.result.TipResult;
import com.yeejoin.amos.fas.business.action.result.message.AbstractActionResultMessage; import com.yeejoin.amos.fas.business.action.result.message.AbstractActionResultMessage;
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.action.util.DataItemUtil;
import com.yeejoin.amos.fas.business.service.intfc.IMessageService; import com.yeejoin.amos.fas.business.service.intfc.IMessageService;
import com.yeejoin.amos.fas.business.service.model.ToipResponse; 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;
/** /**
* *
...@@ -54,7 +44,7 @@ public class SimpleTipAction implements CustomerAction ...@@ -54,7 +44,7 @@ public class SimpleTipAction implements CustomerAction
private String serviceName; private String serviceName;
//@ExposeAction("消息提示") //@ExposeAction("消息提示")
public void sendMessageTip(Object bizobj, String title, String content,String type) public void sendMessageTip(Object bizobj, String title, String content, String type)
{ {
try try
{ {
...@@ -90,7 +80,7 @@ public class SimpleTipAction implements CustomerAction ...@@ -90,7 +80,7 @@ public class SimpleTipAction implements CustomerAction
e.printStackTrace(); e.printStackTrace();
} }
} }
//
// @SuppressWarnings("unchecked") // @SuppressWarnings("unchecked")
// private void saveMessageAction(AbstractActionResult abstractActionResult,String type) // private void saveMessageAction(AbstractActionResult abstractActionResult,String type)
// { // {
...@@ -106,6 +96,9 @@ public class SimpleTipAction implements CustomerAction ...@@ -106,6 +96,9 @@ public class SimpleTipAction implements CustomerAction
// message.setTitle(map.get("title").toString()); // message.setTitle(map.get("title").toString());
// } // }
// } // }
// if(!StringUtil.isNotEmpty(message.getContent())){
// continue;
// }
// if (abstractActionResult.getToipResponse().getBizObj() instanceof MessageRo) { // if (abstractActionResult.getToipResponse().getBizObj() instanceof MessageRo) {
// MessageRo messageRo = (MessageRo)abstractActionResult.getToipResponse().getBizObj(); // MessageRo messageRo = (MessageRo)abstractActionResult.getToipResponse().getBizObj();
// message.setTime(messageRo.getDateTime()); // message.setTime(messageRo.getDateTime());
...@@ -117,6 +110,16 @@ public class SimpleTipAction implements CustomerAction ...@@ -117,6 +110,16 @@ public class SimpleTipAction implements CustomerAction
// message.setBizId(StringUtil.isNotEmpty(riskSourceRuleRo.getId()) ? // message.setBizId(StringUtil.isNotEmpty(riskSourceRuleRo.getId()) ?
// String.valueOf(riskSourceRuleRo.getId()) : ""); // String.valueOf(riskSourceRuleRo.getId()) : "");
// } // }
// if (abstractActionResult.getToipResponse().getBizObj() instanceof ProtalDataRo) {
// ProtalDataRo protalDataRo = (ProtalDataRo) abstractActionResult.getToipResponse().getBizObj();
// message.setTime(DateUtil.getNow());
// message.setBizId(StringUtil.isNotEmpty(protalDataRo.getId()) ? String.valueOf(protalDataRo.getId()) : "");
// }
// if (abstractActionResult.getToipResponse().getBizObj() instanceof FireEquimentDataRo) {
// FireEquimentDataRo fireEquimentDataRo = (FireEquimentDataRo) abstractActionResult.getToipResponse().getBizObj();
// message.setTime(DateUtil.getNow());
// message.setBizId(StringUtil.isNotEmpty(fireEquimentDataRo.getId()) ? String.valueOf(fireEquimentDataRo.getId()) : "");
// }
// message.setBizclassName(abstractActionResult.getToipResponse().getBizObj().getClass().toString()); // message.setBizclassName(abstractActionResult.getToipResponse().getBizObj().getClass().toString());
// message.setType(type); // message.setType(type);
// message.setId(UUID.randomUUID().toString()); // message.setId(UUID.randomUUID().toString());
......
...@@ -5,25 +5,25 @@ import com.yeejoin.amos.fas.dao.entity.BusinessEntity; ...@@ -5,25 +5,25 @@ import com.yeejoin.amos.fas.dao.entity.BusinessEntity;
public abstract class AbstractActionResult implements ActionResult{ public abstract class AbstractActionResult implements ActionResult{
// public ToipResponse toipResponse; public ToipResponse toipResponse;
/** /**
* 智能体业务对象 * 智能体业务对象
*/ */
// private BusinessEntity bizObj; private BusinessEntity bizObj;
//
// public ToipResponse getToipResponse() {
// return toipResponse;
// }
//
// public void setToipResponse(ToipResponse toipResponse) {
// this.toipResponse = toipResponse;
// }
// public BusinessEntity getBizObj() { public ToipResponse getToipResponse() {
// return bizObj; return toipResponse;
// } }
//
// public void setBizObj(BusinessEntity bizObj) { public void setToipResponse(ToipResponse toipResponse) {
// this.bizObj = bizObj; this.toipResponse = toipResponse;
// } }
public BusinessEntity getBizObj() {
return bizObj;
}
public void setBizObj(BusinessEntity bizObj) {
this.bizObj = bizObj;
}
} }
...@@ -5,7 +5,6 @@ import java.util.HashMap; ...@@ -5,7 +5,6 @@ import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import com.alibaba.fastjson.JSONObject;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
...@@ -22,6 +21,7 @@ import org.springframework.web.bind.annotation.RequestMethod; ...@@ -22,6 +21,7 @@ import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import com.alibaba.fastjson.JSONObject;
import com.yeejoin.amos.fas.business.action.model.FireEquimentDataRo; import com.yeejoin.amos.fas.business.action.model.FireEquimentDataRo;
import com.yeejoin.amos.fas.business.action.model.ProtalDataRo; import com.yeejoin.amos.fas.business.action.model.ProtalDataRo;
import com.yeejoin.amos.fas.business.param.AlarmParam; import com.yeejoin.amos.fas.business.param.AlarmParam;
...@@ -617,7 +617,6 @@ public class RiskSourceController extends BaseController { ...@@ -617,7 +617,6 @@ public class RiskSourceController extends BaseController {
return CommonResponseUtil.success(riskSourceService.processFireEqumtData(deviceData)); return CommonResponseUtil.success(riskSourceService.processFireEqumtData(deviceData));
} }
// @Permission
@ApiOperation(httpMethod = "POST", value = "上传消防设备数据", notes = "上传消防设备数据") @ApiOperation(httpMethod = "POST", value = "上传消防设备数据", notes = "上传消防设备数据")
@RequestMapping(value = "/data/fireqeuiment/soe", produces = "application/json;charset=UTF-8", method = RequestMethod.POST) @RequestMapping(value = "/data/fireqeuiment/soe", produces = "application/json;charset=UTF-8", method = RequestMethod.POST)
public CommonResponse postFireEqumentData(@RequestBody AlarmParam alarm) throws Exception { public CommonResponse postFireEqumentData(@RequestBody AlarmParam alarm) throws Exception {
...@@ -626,7 +625,6 @@ public class RiskSourceController extends BaseController { ...@@ -626,7 +625,6 @@ public class RiskSourceController extends BaseController {
return CommonResponseUtil.success(); return CommonResponseUtil.success();
} }
// @Permission
@ApiOperation(httpMethod = "POST", value = "上传消防设备数据", notes = "上传消防设备数据") @ApiOperation(httpMethod = "POST", value = "上传消防设备数据", notes = "上传消防设备数据")
@RequestMapping(value = "/data/fireqeuiment/all", produces = "application/json;charset=UTF-8", method = RequestMethod.POST) @RequestMapping(value = "/data/fireqeuiment/all", produces = "application/json;charset=UTF-8", method = RequestMethod.POST)
public CommonResponse postFireEqumentData(@RequestBody List<AlarmParam> deviceDatas) throws Exception { public CommonResponse postFireEqumentData(@RequestBody List<AlarmParam> deviceDatas) throws Exception {
...@@ -634,7 +632,7 @@ public class RiskSourceController extends BaseController { ...@@ -634,7 +632,7 @@ public class RiskSourceController extends BaseController {
return CommonResponseUtil.success(); return CommonResponseUtil.success();
} }
@Permission // @Permission
// @Authorization(ingore = true) // @Authorization(ingore = true)
@ApiOperation(httpMethod = "PUT", value = "上传巡检数据", notes = "上传巡检数据") @ApiOperation(httpMethod = "PUT", value = "上传巡检数据", notes = "上传巡检数据")
@RequestMapping(value = "/data/patroldata", produces = "application/json;charset=UTF-8", method = RequestMethod.PUT) @RequestMapping(value = "/data/patroldata", produces = "application/json;charset=UTF-8", method = RequestMethod.PUT)
......
...@@ -80,4 +80,6 @@ public interface FireEquipMapper extends BaseMapper { ...@@ -80,4 +80,6 @@ public interface FireEquipMapper extends BaseMapper {
@Param("fname") String fname); @Param("fname") String fname);
FireEquipmentEntity findById(@Param("id") Long id); FireEquipmentEntity findById(@Param("id") Long id);
Long removeIfmeaPointByFireEquipIdAndEquipId(@Param("fireEquipmentId") Long fireEquipmentId,@Param("importantEquipmentId") Long importantEquipmentId);
} }
...@@ -73,7 +73,7 @@ public interface RiskSourceMapper extends BaseMapper { ...@@ -73,7 +73,7 @@ public interface RiskSourceMapper extends BaseMapper {
List<Map> queryForUnqualified(@Param("riskSourceId") Long riskSourceId); List<Map> queryForUnqualified(@Param("riskSourceId") Long riskSourceId);
List<Map> queryForFmeaEquipAlarm(@Param("riskSourceId") Long riskSourceId);
/** /**
* 子节点的rpni * 子节点的rpni
* *
......
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 { ...@@ -24,7 +24,7 @@ public class RemoteWebSocketServer {
private ApplicationConfig applicationConfig;*/ private ApplicationConfig applicationConfig;*/
@Value("${params.remoteWebsocketUrl}") @Value("${params.remoteWebsocketUrl}")
private String remoteRuleUrl; private String remoteWebsocketUrl;
private final RestTemplate restTemplate; private final RestTemplate restTemplate;
...@@ -41,9 +41,7 @@ public class RemoteWebSocketServer { ...@@ -41,9 +41,7 @@ public class RemoteWebSocketServer {
map.put("filter", null); map.put("filter", null);
map.put("message", message); map.put("message", message);
map.put("path", path); map.put("path", path);
//String url = applicationConfig.getParamValueStr("params.remoteWebsocketUrl"); String url =remoteWebsocketUrl;
String url =remoteRuleUrl;
HttpHeaders headers = new HttpHeaders(); HttpHeaders headers = new HttpHeaders();
MediaType type = MediaType MediaType type = MediaType
.parseMediaType("application/json; charset=UTF-8"); .parseMediaType("application/json; charset=UTF-8");
......
...@@ -16,6 +16,9 @@ public class AlarmParam extends BasicsRo{ ...@@ -16,6 +16,9 @@ public class AlarmParam extends BasicsRo{
private String monitor; private String monitor;
private String equimentId; private String equimentId;
private String code; private String code;
private String id;
private String name;
/** /**
* 是否模拟数据 * 是否模拟数据
*/ */
...@@ -100,6 +103,18 @@ public class AlarmParam extends BasicsRo{ ...@@ -100,6 +103,18 @@ public class AlarmParam extends BasicsRo{
public void setOldState(String oldState) { public void setOldState(String oldState) {
this.oldState = 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;
}
public String toJsonStr() { public String toJsonStr() {
return JSON.toJSONString(this,SerializerFeature.WriteMapNullValue,SerializerFeature.DisableCircularReferenceDetect,SerializerFeature.SkipTransientField); return JSON.toJSONString(this,SerializerFeature.WriteMapNullValue,SerializerFeature.DisableCircularReferenceDetect,SerializerFeature.SkipTransientField);
......
...@@ -40,6 +40,7 @@ import com.yeejoin.amos.fas.business.dao.mongo.EquipCommunicationDao; ...@@ -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.IEquipmentDao;
import com.yeejoin.amos.fas.business.dao.repository.IEquipmentFireEquipmentDao; 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.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.dao.repository.IPreplanPictureDao;
import com.yeejoin.amos.fas.business.feign.RemoteSecurityService; import com.yeejoin.amos.fas.business.feign.RemoteSecurityService;
import com.yeejoin.amos.fas.business.param.ImgParam; import com.yeejoin.amos.fas.business.param.ImgParam;
...@@ -91,6 +92,9 @@ public class EquipmentServiceImpl implements IEquipmentService { ...@@ -91,6 +92,9 @@ public class EquipmentServiceImpl implements IEquipmentService {
private RedisTemplate redisTemplate; private RedisTemplate redisTemplate;
@Autowired @Autowired
private IFmeaEquipmentPointDao iFmeaEquipmentPointDao;
@Autowired
private MongoTemplate mongoTemplate; private MongoTemplate mongoTemplate;
@Autowired @Autowired
...@@ -228,6 +232,8 @@ public class EquipmentServiceImpl implements IEquipmentService { ...@@ -228,6 +232,8 @@ public class EquipmentServiceImpl implements IEquipmentService {
if (equipmentFireEquipment != null) { if (equipmentFireEquipment != null) {
result = equipmentFireEquipment.getId(); result = equipmentFireEquipment.getId();
this.equipmentFireEquipmentDao.deleteById(equipmentFireEquipment.getId()); this.equipmentFireEquipmentDao.deleteById(equipmentFireEquipment.getId());
fireEquipMapper.removeIfmeaPointByFireEquipIdAndEquipId(Long.valueOf(id), equipmentId);
//iFmeaEquipmentPointDao.removeByFireEquipIdAndEquipId(Long.valueOf(id), equipmentId);
} }
ids.add(result); ids.add(result);
} }
......
...@@ -24,6 +24,8 @@ import org.springframework.web.multipart.MultipartFile; ...@@ -24,6 +24,8 @@ import org.springframework.web.multipart.MultipartFile;
import java.io.File; import java.io.File;
import java.io.IOException; import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;
import java.util.*; import java.util.*;
@Service("fireStationService") @Service("fireStationService")
...@@ -196,7 +198,14 @@ public class FireStationServiceImpl implements IFireStationService { ...@@ -196,7 +198,14 @@ public class FireStationServiceImpl implements IFireStationService {
} catch (IOException e) { } catch (IOException e) {
throw new YeeException("上传图片失败"); throw new YeeException("上传图片失败");
} }
String photoFile = path + fileName; String photoFile = path + fileName;
// try{
// photoFile = URLEncoder.encode(photoFile, "utf-8");
// } catch (UnsupportedEncodingException e){
// throw new YeeException("字符转义失败 ");
// }
if ( picture != null && picture != "") { if ( picture != null && picture != "") {
picture += "," + photoFile; picture += "," + photoFile;
} else { } else {
......
...@@ -544,44 +544,8 @@ public class RiskSourceServiceImpl implements IRiskSourceService { ...@@ -544,44 +544,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 { public void alermContingency(String batchNo, FireEquipment fireEquipment, Equipment equipment) throws Exception {
...@@ -804,6 +768,9 @@ public class RiskSourceServiceImpl implements IRiskSourceService { ...@@ -804,6 +768,9 @@ public class RiskSourceServiceImpl implements IRiskSourceService {
webMqttComponent.publish(topicThree, JSON.toJSONString(view3dService.getStatisticsCheck(orgCode))); webMqttComponent.publish(topicThree, JSON.toJSONString(view3dService.getStatisticsCheck(orgCode)));
} }
/** /**
* 巡检消息规则推送 * 巡检消息规则推送
* *
...@@ -826,6 +793,9 @@ public class RiskSourceServiceImpl implements IRiskSourceService { ...@@ -826,6 +793,9 @@ public class RiskSourceServiceImpl implements IRiskSourceService {
} }
} }
@Override @Override
public RiskSourceTreeResponse queryRiskSourceDetailById(Long id) { public RiskSourceTreeResponse queryRiskSourceDetailById(Long id) {
RiskSourceTreeResponse det = riskSourceMapper.findRiskSourceDetatil(id); RiskSourceTreeResponse det = riskSourceMapper.findRiskSourceDetatil(id);
...@@ -839,11 +809,12 @@ public class RiskSourceServiceImpl implements IRiskSourceService { ...@@ -839,11 +809,12 @@ public class RiskSourceServiceImpl implements IRiskSourceService {
Map riskSourceInfo = this.riskSourceMapper.queryForRiskSourceLevel(riskSourceId); Map riskSourceInfo = this.riskSourceMapper.queryForRiskSourceLevel(riskSourceId);
List<Map> fmeaList = this.fmeaMapper.queryForFmeaList(riskSourceId); List<Map> fmeaList = this.fmeaMapper.queryForFmeaList(riskSourceId);
List<Map> inputitemContent = this.riskSourceMapper.queryForUnqualified(riskSourceId); List<Map> inputitemContent = this.riskSourceMapper.queryForUnqualified(riskSourceId);
List<Map> fireEquipmentPointMap = fireEquipPointMapper.queryForEqueAndPointName(riskSourceId); //List<Map> fireEquipmentPointMap = fireEquipPointMapper.queryForEqueAndPointName(riskSourceId);
List<Map> equipAlarms = riskSourceMapper.queryForFmeaEquipAlarm(riskSourceId);
returnMap.put("riskSourceInfo", riskSourceInfo); returnMap.put("riskSourceInfo", riskSourceInfo);
returnMap.put("fmeaList", fmeaList); returnMap.put("fmeaList", fmeaList);
returnMap.put("inputitemContent", inputitemContent); returnMap.put("inputitemContent", inputitemContent);
returnMap.put("fire_equipment", fireEquipmentPointMap); returnMap.put("fire_equipment", equipAlarms);
return returnMap; return returnMap;
} }
...@@ -927,19 +898,19 @@ public class RiskSourceServiceImpl implements IRiskSourceService { ...@@ -927,19 +898,19 @@ public class RiskSourceServiceImpl implements IRiskSourceService {
Equipment equipment = null; Equipment equipment = null;
if (fireEquipment != null) { if (fireEquipment != null) {
deviceData.setCode(fireEquipment.getCode());
//保存实时数据 //保存实时数据
saveFireEquipmentData(fireEquipmentPoint, fireEquipment, deviceData, fireEquipmentPointType);
// 根据监测点设备信息获取保护的重点装备 // 根据监测点设备信息获取保护的重点装备
equipment = impAndFireEquipMapper.queryImpEqumtByFireEquipmt(fireEquipmentPoint.getFireEquipmentId()); 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);
DeviceRo deviceRo = new DeviceRo(); DeviceRo deviceRo = new DeviceRo();
deviceRo.setEquipmentId(equipment.getId()); deviceRo.setEquipmentId(equipment.getId());
deviceRo.setPointCode(deviceData.getPointCode()); deviceRo.setPointCode(deviceData.getPointCode());
deviceRo.setValue(deviceData.getState()); deviceRo.setValue(deviceData.getState());
triggerPlanDevice(deviceRo, equipment, toke); triggerPlanDevice(deviceRo, equipment, toke);
// Boolean have = equipmentGroupedPointDao.existsByEqpPointIdAndEquipId(fireEquipmentPoint.getId(), equipment.getId());
Boolean have = impAndFireEquipMapper.existsAlarmPointByEqpPointIdAndEquipId(fireEquipmentPoint.getId(), equipment.getId()); Boolean have = impAndFireEquipMapper.existsAlarmPointByEqpPointIdAndEquipId(fireEquipmentPoint.getId(), equipment.getId());
if (!ObjectUtils.isEmpty(have) && have) { if (!ObjectUtils.isEmpty(have) && have) {
//动态预案执行 //动态预案执行
...@@ -1014,7 +985,6 @@ public class RiskSourceServiceImpl implements IRiskSourceService { ...@@ -1014,7 +985,6 @@ public class RiskSourceServiceImpl implements IRiskSourceService {
map.put("id", param.getPointCode()); map.put("id", param.getPointCode());
Map<String, Map<String, Object>> riskSourceMap = new HashMap(); Map<String, Map<String, Object>> riskSourceMap = new HashMap();
riskSourceMap.put("equipments", map); riskSourceMap.put("equipments", map);
remoteWebSocketServer.sendMessage("equipmentMode", JSON.toJSONString(riskSourceMap)); remoteWebSocketServer.sendMessage("equipmentMode", JSON.toJSONString(riskSourceMap));
// 推送设备状态信息 // 推送设备状态信息
...@@ -1027,7 +997,67 @@ public class RiskSourceServiceImpl implements IRiskSourceService { ...@@ -1027,7 +997,67 @@ public class RiskSourceServiceImpl implements IRiskSourceService {
} }
private void saveFireEquipmentData(FireEquipmentPoint fireEquipmentPoint, FireEquipment fireEquipment, AlarmParam deviceData, String fireEquipmentPointType) { @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, Toke toke) {
if ("alarm_type_fire".equals(fireEquipmentPointType) || "alarm_type_trouble".equals(fireEquipmentPointType)) { if ("alarm_type_fire".equals(fireEquipmentPointType) || "alarm_type_trouble".equals(fireEquipmentPointType)) {
Alarm alarm = iAlarmDao.findByStatusTrueAndFireEquipmentPointCode(deviceData.getPointCode()); Alarm alarm = iAlarmDao.findByStatusTrueAndFireEquipmentPointCode(deviceData.getPointCode());
if (alarm != null) { if (alarm != null) {
...@@ -1059,6 +1089,7 @@ public class RiskSourceServiceImpl implements IRiskSourceService { ...@@ -1059,6 +1089,7 @@ public class RiskSourceServiceImpl implements IRiskSourceService {
if ("alarm_type_trouble".equals(fireEquipmentPointType)) { if ("alarm_type_trouble".equals(fireEquipmentPointType)) {
//通知刷新3d页面相关故障数据 //通知刷新3d页面相关故障数据
notifyAlarm(fireEquipmentPoint, deviceData); notifyAlarm(fireEquipmentPoint, deviceData);
fireEquipRuleMessagePush(deviceData, toke);
} else { } else {
//通知刷新3d页面告警数据 //通知刷新3d页面告警数据
iDataRefreshService.refreshViewData(DataRefreshTypeEum.alarm.getCode()); iDataRefreshService.refreshViewData(DataRefreshTypeEum.alarm.getCode());
......
...@@ -5,6 +5,7 @@ import java.io.Serializable; ...@@ -5,6 +5,7 @@ import java.io.Serializable;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.serializer.SerializerFeature; import com.alibaba.fastjson.serializer.SerializerFeature;
import com.yeejoin.amos.fas.core.util.CommonResponse; import com.yeejoin.amos.fas.core.util.CommonResponse;
import com.yeejoin.amos.fas.dao.entity.MessageRo;
import lombok.Data; import lombok.Data;
...@@ -59,4 +60,5 @@ public class ToipResponse implements Serializable ...@@ -59,4 +60,5 @@ public class ToipResponse implements Serializable
public String toJsonStr() { public String toJsonStr() {
return JSON.toJSONString(this,SerializerFeature.WriteMapNullValue,SerializerFeature.DisableCircularReferenceDetect,SerializerFeature.SkipTransientField); return JSON.toJSONString(this,SerializerFeature.WriteMapNullValue,SerializerFeature.DisableCircularReferenceDetect,SerializerFeature.SkipTransientField);
} }
} }
...@@ -60,7 +60,11 @@ DutyMode.dutyUrl=http://172.16.11.36:10005/ ...@@ -60,7 +60,11 @@ DutyMode.dutyUrl=http://172.16.11.36:10005/
##\u89C4\u5219\u5BF9\u8C61\u81EA\u52A8\u626B\u63CF ##\u89C4\u5219\u5BF9\u8C61\u81EA\u52A8\u626B\u63CF
rule.definition.load=true rule.definition.load=true
rule.definition.model-package=com.yeejoin.amos.fas.business.service.model rule.definition.model-package=com.yeejoin.amos.fas.business.action.model
rule.definition.default-agency=STATE_GRID
amos.feign.gennerator.use-gateway=true
autoSys.push.type=mqtt
#\uFFFD\u013C\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD #\uFFFD\u013C\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD
file.downLoad.url=http://172.16.10.175:8888/ file.downLoad.url=http://172.16.10.175:8888/
...@@ -60,7 +60,11 @@ DutyMode.dutyUrl=http://172.16.11.36:10005/ ...@@ -60,7 +60,11 @@ DutyMode.dutyUrl=http://172.16.11.36:10005/
##\u89C4\u5219\u5BF9\u8C61\u81EA\u52A8\u626B\u63CF ##\u89C4\u5219\u5BF9\u8C61\u81EA\u52A8\u626B\u63CF
rule.definition.load=true rule.definition.load=true
rule.definition.model-package=com.yeejoin.amos.fas.business.service.model rule.definition.model-package=com.yeejoin.amos.fas.business.action.model
rule.definition.default-agency=STATE_GRID
amos.feign.gennerator.use-gateway=true
autoSys.push.type=mqtt
#\uFFFD\u013C\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD #\uFFFD\u013C\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD
file.downLoad.url=http://172.16.10.175:8888/ file.downLoad.url=http://172.16.10.175:8888/
...@@ -528,4 +528,10 @@ ...@@ -528,4 +528,10 @@
<select id="findById" resultType="com.yeejoin.amos.fas.business.entity.mybatis.FireEquipmentEntity"> <select id="findById" resultType="com.yeejoin.amos.fas.business.entity.mybatis.FireEquipmentEntity">
select name from f_fire_equipment where id= #{id} select name from f_fire_equipment where id= #{id}
</select> </select>
<select id="removeIfmeaPointByFireEquipIdAndEquipId" resultType="long">
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 = #{fireEquipmentId} AND fmep.important_equipment_id = #{importantEquipmentId}
</select>
</mapper> </mapper>
\ No newline at end of file
...@@ -540,15 +540,47 @@ ...@@ -540,15 +540,47 @@
</select> </select>
<select id="queryForUnqualified" resultType="map"> <select id="queryForUnqualified" resultType="map">
SELECT
(
SELECT SELECT
(select i.`name` from p_input_item i where i.id = pi.point_inputitem_id)inputItemName, i.`name`
(select p.`name` from p_point p where p.id = pi.point_id )pointName,
(select ci.input_value from p_check_input ci where ci.id = pi.check_inputitem_id)inputitemContent
FROM FROM
f_risk_source_point_inputitem pi p_input_item i
WHERE
i.id = ppi.input_item_id
) inputItemName,
(
SELECT
p.`name`
FROM
p_point p
WHERE
p.id = ppi.point_id
) pointName
FROM
f_fmea_point_inputitem pi
LEFT JOIN p_point_inputitem ppi ON ppi.id = pi.point_inputitem_id
LEFT JOIN f_fmea fm ON fm.id = pi.fmea_id
WHERE
pi.`state` = 1
AND fm.risk_source_id = #{riskSourceId};
</select>
<select id="queryForFmeaEquipAlarm" resultType="map">
SELECT
fe.`name` as 'fireEquipmentName',
fep.`name` as 'name'
FROM
`f_fmea_equipment_point` AS fmep
LEFT JOIN f_fire_equipment_point fep ON fep.id = fmep.equipment_point_id
LEFT JOIN f_fire_equipment fe ON fe.id = fep.fire_equipment_id
LEFT JOIN f_fmea fm ON fm.id = fmep.fmea_id
WHERE WHERE
pi.`status` = 2 fmep.state = 1
and pi.risk_source_id = ${riskSourceId}; AND fm.risk_source_id = #{riskSourceId}
GROUP BY fireEquipmentName,name
</select> </select>
<select id="queryRiskAreaRpn" resultType="java.util.HashMap"> <select id="queryRiskAreaRpn" resultType="java.util.HashMap">
......
...@@ -958,7 +958,7 @@ ...@@ -958,7 +958,7 @@
<if test="abnormalStatus != false"> <if test="abnormalStatus != false">
AND p.status in ('0','2','3') AND p.status in ('0','2','3')
</if> </if>
AND p.coordinates != '' AND p.coordinates is not null AND p.coordinates != '' AND p.coordinates is not null AND p.is_delete = 0
UNION ALL UNION ALL
select select
fe.code, fe.code,
...@@ -1243,7 +1243,7 @@ ...@@ -1243,7 +1243,7 @@
<select id="retrieveAll" resultType="java.util.HashMap"> <select id="retrieveAll" resultType="java.util.HashMap">
select *,'{ "x": 0, "y": 0, "z": 0 }' rotationDTO,'{ "x": 1, "y": 1, "z": 1 }' scaleDTO 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, rl.level as level,rl.name as levelStr,r.is_indoor as isIndoor,'风险点' as typeName,'riskSource' as typeCode,
CASE CASE
WHEN ( WHEN (
......
...@@ -36,6 +36,7 @@ ...@@ -36,6 +36,7 @@
<artifactId>amos-component-rule</artifactId> <artifactId>amos-component-rule</artifactId>
<version>1.2.0-SNAPSHOT</version> <version>1.2.0-SNAPSHOT</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.springframework.cloud</groupId> <groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId> <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
......
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