Commit 3dcba973 authored by maoying's avatar maoying

修改预案水池液位

parent 2dde8df4
......@@ -18,13 +18,14 @@ import com.yeejoin.amos.fas.business.feign.RemoteSecurityService;
import com.yeejoin.amos.fas.business.param.AlarmParam;
import com.yeejoin.amos.fas.business.service.intfc.IDataRefreshService;
import com.yeejoin.amos.fas.business.service.intfc.IEquipmentHandlerService;
import com.yeejoin.amos.fas.business.service.intfc.IRiskSourceService;
import com.yeejoin.amos.fas.business.service.intfc.IView3dService;
import com.yeejoin.amos.fas.business.util.JexlUtil;
import com.yeejoin.amos.fas.business.util.RpnUtils;
import com.yeejoin.amos.fas.business.util.StringUtil;
import com.yeejoin.amos.fas.business.vo.EquipCommunicationData;
import com.yeejoin.amos.fas.business.vo.EquipmentSpecificForRiskVo;
import com.yeejoin.amos.fas.business.vo.EquipmentSpecificIndexVo;
import com.yeejoin.amos.fas.business.vo.ReginParams;
import com.yeejoin.amos.fas.business.vo.Toke;
import com.yeejoin.amos.fas.business.vo.TopicEntityVo;
import com.yeejoin.amos.fas.client.invoke.RsDataQueue;
......@@ -120,7 +121,7 @@ public class HandlerMqttMessageImpl implements IEquipmentHandlerService {
@Autowired
private FmeaMapper fmeaMapper;
@Value("${station.name}")
private String stationName;
......@@ -145,6 +146,12 @@ public class HandlerMqttMessageImpl implements IEquipmentHandlerService {
}
EquipmentSpecificForRiskVo equipmentSpecific = equipmentSpecificMapper.getOneById(eqSpecId);
//水池液位处理逻辑
log.info("指标namekey: " + nameKey);
if(nameKey !=null && "liquidLevel".equals(nameKey)){
waterLiquidLevel(equipmentSpecific,equipmentSpecificIndex);
}
// 三维屏指标状态推送
String specificIndexType = equipmentSpecificIndex.getType();
if (nameKey !=null && nameKeys.contains(nameKey)) {
......@@ -240,26 +247,23 @@ public class HandlerMqttMessageImpl implements IEquipmentHandlerService {
redisTemplate.opsForValue().set(key, JSONObject.toJSONString(equipmentSpecificIndex));
return true;
}
@Async
public void waterLiquidLevel(EquipmentSpecificForRiskVo equipmentSpecific, EquipmentSpecificIndexVo equipmentSpecificIndex){
if(StringUtil.isNotEmpty(equipmentSpecific.getBuildCode())){
EquipCommunicationData data = new EquipCommunicationData();
data.setPointCode(equipmentSpecific.getBuildCode());
data.setState(equipmentSpecificIndex.getValue());
try {
redisTemplate.opsForHash().put("Analogue", data.getPointCode(), data);
String topic = String.format("/%s/%s/%s", serviceName, stationName,"analogue");
webMqttComponent.publish(topic, JSON.toJSONString(data));
} catch (Exception e) {
e.printStackTrace();
}
}
}
// @Override
// public void subscribeTopic(ReginParams reginParams) {
// // 若登录系统则订阅装备数据
// webMqttSubscribe.adapter.removeTopic(defaultTopic);
// String orgCode = reginParams.getCompany().getOrgCode();
// String topic = String.format("%s.%s%s", serverName, "equipment", "/#");
// String[] strs = webMqttSubscribe.adapter.getTopic();
// List<String> list = Stream.of(strs).collect(Collectors.toList());
// if(list.size() > 0) {
// list.forEach(x -> {
// if(!(x.equals(topic))) {
// webMqttSubscribe.adapter.addTopic(topic);
// }
// });
// } else {
// webMqttSubscribe.adapter.addTopic(topic);
// }
//
// }
@Override
public void subscribeTopic() {
......
......@@ -1373,7 +1373,6 @@ public class RiskSourceServiceImpl implements IRiskSourceService {
public void sendAnalogue(EquipCommunicationData data) {
try {
redisTemplate.opsForHash().put("Analogue", data.getPointCode(), data);
// remoteWebSocketServer.sendMessage("plan", JSON.toJSONString(data));
String topic = String.format("/%s/%s/%s", serviceName, stationName,"analogue");
webMqttComponent.publish(topic, JSON.toJSONString(data));
} catch (Exception e) {
......@@ -1471,12 +1470,12 @@ public class RiskSourceServiceImpl implements IRiskSourceService {
String volume = String.format("%.2f", Double.valueOf(level) * area);
if (hashOperations.size("Analogue") > 0) {
if (ObjectUtils.isEmpty(map.get("CODE")) || !hashOperations.hasKey("Analogue", map.get("CODE"))) {
if (ObjectUtils.isEmpty(map.get("code")) || !hashOperations.hasKey("Analogue", map.get("code"))) {
map.put("level", level);
map.put("volume", volume);
continue;
}
EquipCommunicationData data = (EquipCommunicationData) hashOperations.get("Analogue", map.get("CODE"));
EquipCommunicationData data = (EquipCommunicationData) hashOperations.get("Analogue", map.get("code"));
map.put("level", StringUtil.isNumeric(data.getState()) ? data.getState() : level);
map.put("volume", String.format("%.2f", (Double.valueOf(map.get("level").toString()) * area)));
} else {
......
......@@ -9,6 +9,7 @@ import com.yeejoin.amos.fas.business.param.AlarmParam;
import com.yeejoin.amos.fas.business.param.CommonPageInfoParam;
import com.yeejoin.amos.fas.business.param.FmeaBindParam;
import com.yeejoin.amos.fas.business.service.model.ContingencyDeviceStatus;
import com.yeejoin.amos.fas.business.vo.EquipCommunicationData;
import com.yeejoin.amos.fas.core.common.request.CommonPageable;
import com.yeejoin.amos.fas.core.common.response.RegionTreeResponse;
import com.yeejoin.amos.fas.core.common.response.RiskSourceTreeResponse;
......
......@@ -54,5 +54,8 @@ public class EquipmentSpecificForRiskVo {
*/
private String description;
@ApiModelProperty(value = "建筑编码")
private String buildCode;
}
......@@ -24,7 +24,7 @@ params.remoteWebsocketUrl=http://39.98.246.31:10600/
spring.redis.database=0
spring.redis.host=39.98.246.31
spring.redis.port=6379
spring.redis.password=1234560
spring.redis.password=amos2019Redis
spring.redis.jedis.pool.max-active=200
spring.redis.jedis.pool.max-wait=-1
spring.redis.jedis.pool.max-idle=10
......
spring.application.name = AMOS-AUTOSYS
spring.application.name = AMOS-AUTOSYS-my
server.servlet.context-path=/fireAutoSys
server.port = 8083
spring.profiles.active=dev
......
......@@ -179,13 +179,15 @@
wes.code as code,
wes.org_code as orgCode,
ws.full_name as location ,
sd.description
sd.description,
b.`code` buildCode
from
wl_equipment_specific wes
left join
wl_equipment_detail wed ON wed.id = wes.equipment_detail_id
LEFT JOIN wl_stock_detail sd ON sd.equipment_specific_id = wes.id
LEFT JOIN wl_warehouse_structure ws ON ws.id = sd.warehouse_structure_id
LEFT JOIN wl_building b ON b.region_id = ws.source_id
where
wes.id=#{id}
</select>
......
......@@ -670,14 +670,12 @@
FROM
(
SELECT
building.height AS alarm_level,
building.warn_height AS max_level,
building.warn_height AS alarm_level,
building.height AS max_level,
building.area_measure AS area,
building.CODE AS CODE,
building.NAME AS NAME,
3.6 AS
VALUE
building.`code`,
building.`name`,
building.height AS 'value'
FROM
wl_building building
LEFT JOIN wl_equipment_category category ON building.equipment_code = category.id
......
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