Commit bd0e3901 authored by lisong's avatar lisong

稳压泵、管网压力、水池水箱泡沫罐告警事件添加逻辑

parent cfe32d1c
......@@ -66,4 +66,6 @@ public interface EquipmentIndexMapper extends BaseMapper<EquipmentIndex> {
List<EquipmentIndex> getPerfQutoaIotList(Long id);
List<String> getGruopName(Long equipmentId);
EquipmentIndex getMessage(@Param("equipmentSpecificId")Long equipmentSpecificId, @Param("equipmentIndexKey")String equipmentIndexKey);
}
......@@ -11,6 +11,7 @@ import com.yeejoin.equipmanage.common.vo.Token;
import com.yeejoin.equipmanage.fegin.SystemctlFeign;
import com.yeejoin.equipmanage.mapper.MarqueeDataMapper;
import com.yeejoin.equipmanage.remote.RemoteSecurityService;
import com.yeejoin.equipmanage.service.IEquipmentSpecificAlarmLogService;
import lombok.extern.slf4j.Slf4j;
import org.quartz.Job;
import org.quartz.JobExecutionContext;
......@@ -36,6 +37,7 @@ public class PumpSendMessage implements Job {
SystemctlFeign systemctlFeign = (SystemctlFeign)jobDataMap.get("systemctlFeign");
RemoteSecurityService remoteSecurityService = (RemoteSecurityService)jobDataMap.get("remoteSecurityService");
MarqueeDataMapper marqueeDataMapper = (MarqueeDataMapper)jobDataMap.get("marqueeDataMapper");
IEquipmentSpecificAlarmLogService equipmentSpecificAlarmLogService = (IEquipmentSpecificAlarmLogService)jobDataMap.get("equipmentSpecificAlarmLogService");
MessageModel model = new MessageModel();
model.setSendTime(new Date());
......@@ -64,6 +66,8 @@ public class PumpSendMessage implements Job {
marqueeData.setType("漏水提醒");
marqueeData.setCreateDate(new Date());
marqueeDataMapper.insert(marqueeData);
// 稳压泵漏水告警添加告警事件信息
equipmentSpecificAlarmLogService.pressurePumpDisposeAlarm(equipmentSpecific.getId());
}
model.setBody(body);
......
......@@ -2,6 +2,7 @@ package com.yeejoin.equipmanage.service;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.yeejoin.equipmanage.common.entity.EquipmentSpecific;
import com.yeejoin.equipmanage.common.entity.EquipmentSpecificAlarm;
import com.yeejoin.equipmanage.common.entity.EquipmentSpecificAlarmLog;
import com.yeejoin.equipmanage.common.entity.dto.EquipmentAlarmLogDto;
......@@ -61,4 +62,9 @@ public interface IEquipmentSpecificAlarmLogService extends IService<EquipmentSpe
* @return
*/
Page<EquipmentAlarmLogDto> getEquipAlarmLog(String id, String startTime, String endTime, long pageSize, long current );
void pressurePumpDisposeAlarm(Long equipmentSpecificId);
void pressurePumpRestore(Long equipmentSpecificId);
}
package com.yeejoin.equipmanage.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.google.common.collect.Lists;
import com.yeejoin.equipmanage.common.entity.EquipmentSpecificAlarm;
import com.yeejoin.equipmanage.common.entity.EquipmentSpecificAlarmLog;
import com.yeejoin.equipmanage.common.entity.FireFightingSystemEntity;
import com.yeejoin.equipmanage.common.entity.*;
import com.yeejoin.equipmanage.common.entity.dto.EquipmentAlarmLogDto;
import com.yeejoin.equipmanage.common.entity.vo.EquiplistSpecificBySystemVO;
import com.yeejoin.equipmanage.common.enums.AlarmStatusEnum;
import com.yeejoin.equipmanage.common.utils.DateUtils;
import com.yeejoin.equipmanage.fegin.IotFeign;
import com.yeejoin.equipmanage.fegin.VideoFeignClient;
import com.yeejoin.equipmanage.mapper.EquipmentSpecificAlarmLogMapper;
import com.yeejoin.equipmanage.mapper.FireFightingSystemMapper;
import com.yeejoin.equipmanage.mapper.*;
import com.yeejoin.equipmanage.service.IESeqService;
import com.yeejoin.equipmanage.service.IEquipmentSpecificAlarmLogService;
import liquibase.pro.packaged.S;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.ObjectUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import org.typroject.tyboot.core.restful.exception.instance.BadRequest;
......@@ -28,6 +31,7 @@ import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
* @author keyong
......@@ -42,6 +46,22 @@ public class EquipmentSpecificAlarmLogServiceImpl extends ServiceImpl<EquipmentS
@Autowired
EquipmentSpecificAlarmLogMapper equipmentSpecificAlarmLogMapper;
@Autowired
EquipmentSpecificAlarmMapper equipmentSpecificAlarmMapper;
@Autowired
EquipmentSpecificMapper equipmentSpecificMapper;
@Autowired
EquipmentSpecificAlarmServiceImpl equipmentSpecificAlarmService;
@Autowired
EquipmentIndexMapper equipmentIndexMapper;
@Value("${equipment.pressurepump.start}")
private String pressurePumpStart;
@Autowired
FireFightingSystemMapper fireFightingSystemMapper;
......@@ -141,6 +161,130 @@ public class EquipmentSpecificAlarmLogServiceImpl extends ServiceImpl<EquipmentS
}
@Override
public void pressurePumpDisposeAlarm(Long equipmentSpecificId) {
EquipmentSpecific equipmentSpecific = equipmentSpecificMapper.selectById(equipmentSpecificId);
EquipmentSpecificAlarm equipmentSpecificAlarm = new EquipmentSpecificAlarm();
String sysCodes = null;
Map<String, Object> stationCode = equipmentSpecificMapper.getStationCode(equipmentSpecificId);
EquipmentIndex equipmentIndex = equipmentIndexMapper.getMessage(equipmentSpecificId, pressurePumpStart);
LambdaQueryWrapper<EquipmentSpecificAlarm> lambda = new QueryWrapper<EquipmentSpecificAlarm>().lambda();
lambda.eq(EquipmentSpecificAlarm::getEquipmentSpecificId, equipmentSpecific.getId());
lambda.eq(EquipmentSpecificAlarm::getEquipmentSpecificIndexKey, equipmentSpecific.getRealtimeIotIndexKey());
lambda.eq(EquipmentSpecificAlarm::getStatus, AlarmStatusEnum.BJ.getCode());
lambda.orderByDesc(EquipmentSpecificAlarm::getCreateDate);
lambda.last("limit 1");
EquipmentSpecificAlarm specificAlarm = equipmentSpecificAlarmMapper.selectOne(lambda);
// 已存在稳压泵漏水告警信息,告警频率+1
if (!ObjectUtils.isEmpty(specificAlarm)) {
specificAlarm.setFrequency(specificAlarm.getFrequency() + 1);
equipmentSpecificAlarmMapper.updateById(specificAlarm);
BeanUtils.copyProperties(specificAlarm, equipmentSpecificAlarm);
} else {
equipmentSpecificAlarm.setEquipmentSpecificId(equipmentSpecific.getId());
equipmentSpecificAlarm.setEquipmentSpecificName(equipmentSpecific.getName());
equipmentSpecificAlarm.setOrgCode(equipmentSpecific.getOrgCode());
equipmentSpecificAlarm.setIotCode(equipmentSpecific.getIotCode());
equipmentSpecificAlarm.setEquipmentSpecificIndexName("漏水提醒");
equipmentSpecificAlarm.setEquipmentSpecificIndexKey(equipmentIndex.getPerfQuotaDefinitionId());
equipmentSpecificAlarm.setEquipmentSpecificIndexValue("true");
equipmentSpecificAlarm.setStatus(AlarmStatusEnum.BJ.getCode());
equipmentSpecificAlarm.setFrequency(1);
equipmentSpecificAlarm.setType(equipmentIndex.getTypeCode());
equipmentSpecificAlarm.setEquipmentIndexId(equipmentIndex.getId());
equipmentSpecificAlarm.setSystemIds(equipmentSpecific.getSystemId());
equipmentSpecificAlarm.setEquipmentCode(equipmentSpecific.getEquipmentCode());
equipmentSpecificAlarm.setEquipmentDetailId(equipmentSpecific.getEquipmentDetailId());
equipmentSpecificAlarm.setLocation(equipmentSpecific.getPosition());
equipmentSpecificAlarm.setBizOrgCode(equipmentSpecific.getBizOrgCode());
equipmentSpecificAlarm.setBizOrgName(equipmentSpecific.getBizOrgName());
equipmentSpecificAlarm.setEmergencyLevel(equipmentIndex.getEmergencyLevel());
equipmentSpecificAlarm.setEmergencyLevelColor(equipmentIndex.getEmergencyLevelColor());
equipmentSpecificAlarm.setEmergencyLevelDescribe(equipmentIndex.getEmergencyLevelDescribe());
equipmentSpecificAlarm.setEquipmentId(ObjectUtils.isEmpty(equipmentIndex.getEquipmentId()) ? null : Long.parseLong(equipmentIndex.getEquipmentId()));
if (!ObjectUtils.isEmpty(stationCode)) {
equipmentSpecificAlarm.setStationCode(stationCode.get("station_code").toString());
equipmentSpecificAlarm.setStationName(stationCode.get("station_name").toString());
}
if (!ObjectUtils.isEmpty(equipmentSpecificAlarm.getSystemIds())) {
sysCodes = getSysCodes(equipmentSpecificAlarm.getSystemIds());
equipmentSpecificAlarm.setSystemCodes(ObjectUtils.isEmpty(sysCodes) ? null : sysCodes);
}
equipmentSpecificAlarmMapper.insert(equipmentSpecificAlarm);
}
EquipmentSpecificAlarmLog equipmentSpecificAlarmLog = new EquipmentSpecificAlarmLog();
BeanUtils.copyProperties(equipmentSpecificAlarm, equipmentSpecificAlarmLog);
equipmentSpecificAlarmLog.setId(null);
equipmentSpecificAlarmLog.setEquipmentSpecificAlarmId(equipmentSpecificAlarm.getId());
equipmentSpecificAlarmLog.setEquipmentSpecificCode(equipmentSpecific.getCode());
equipmentSpecificAlarmLog.setEquipmentId(ObjectUtils.isEmpty(equipmentIndex.getEquipmentId()) ? null : Long.parseLong(equipmentIndex.getEquipmentId()));
equipmentSpecificAlarmLog.setBuildId(equipmentSpecific.getWarehouseStructureId().toString());
equipmentSpecificAlarmLog.setEmergencyLevel(equipmentIndex.getEmergencyLevel());
equipmentSpecificAlarmLog.setEmergencyLevelColor(equipmentIndex.getEmergencyLevelColor());
equipmentSpecificAlarmLog.setEmergencyLevelDescribe(equipmentIndex.getEmergencyLevelDescribe());
if (!ObjectUtils.isEmpty(sysCodes)) {
equipmentSpecificAlarmLog.setSystemCodes(sysCodes);
}
if (!ObjectUtils.isEmpty(stationCode)) {
equipmentSpecificAlarmLog.setStationCode(stationCode.get("station_code").toString());
equipmentSpecificAlarmLog.setStationName(stationCode.get("station_name").toString());
}
equipmentSpecificAlarmLogMapper.insert(equipmentSpecificAlarmLog);
}
private String getSysCodes(String systemId){
if (!ObjectUtils.isEmpty(systemId)) {
List<FireFightingSystemEntity> codes = fireFightingSystemMapper.getFightingSysByIds(systemId.split(","));
if (!ObjectUtils.isEmpty(codes)) {
return codes.stream().map(FireFightingSystemEntity::getCode).collect(Collectors.joining(","));
}
}
return null;
}
@Override
public void pressurePumpRestore(Long equipmentSpecificId) {
// 修改报警数据为正常
Date date = new Date();
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String dateString = formatter.format(date);
LambdaQueryWrapper<EquipmentSpecificAlarm> lambda = new QueryWrapper<EquipmentSpecificAlarm>().lambda();
lambda.eq(EquipmentSpecificAlarm::getEquipmentSpecificId, equipmentSpecificId);
lambda.eq(EquipmentSpecificAlarm::getStatus, AlarmStatusEnum.BJ.getCode());
lambda.eq(EquipmentSpecificAlarm::getEquipmentSpecificIndexKey, pressurePumpStart);
List<EquipmentSpecificAlarm> equipmentSpecificAlarms = equipmentSpecificAlarmMapper.selectList(lambda);
if (!ObjectUtils.isEmpty(equipmentSpecificAlarms)){
equipmentSpecificAlarms.forEach(item ->{
item.setStatus(AlarmStatusEnum.HF.getCode());
item.setRecoveryDate(date);
item.setConfirmType(item.getType());
item.setEquipmentSpecificIndexValue("false");
});
equipmentSpecificAlarmService.saveOrUpdateBatch(equipmentSpecificAlarms);
}
LambdaQueryWrapper<EquipmentSpecificAlarmLog> lambdaLog = new QueryWrapper<EquipmentSpecificAlarmLog>().lambda();
lambdaLog.eq(EquipmentSpecificAlarmLog::getEquipmentSpecificId, equipmentSpecificId);
lambdaLog.eq(EquipmentSpecificAlarmLog::getStatus, AlarmStatusEnum.BJ.getCode());
lambdaLog.eq(EquipmentSpecificAlarmLog::getEquipmentSpecificIndexKey, pressurePumpStart);
List<EquipmentSpecificAlarmLog> equipmentSpecificAlarmLogs = equipmentSpecificAlarmLogMapper.selectList(lambdaLog);
if (!ObjectUtils.isEmpty(equipmentSpecificAlarmLogs)){
equipmentSpecificAlarmLogs.forEach(item ->{
item.setAlarmReason(item.getEquipmentSpecificName() + "引起设备报警");
item.setResolveResult(dateString + "系统收到设备复归(已消除)信号,系统自动处理。");
item.setConfirmUser("");
item.setConfirmUserName("系统自动处理");
item.setConfirmDate(date);
item.setCleanTime(date);
item.setConfirmType(item.getType());
item.setEquipmentSpecificIndexValue("false");
item.setStatus(AlarmStatusEnum.HF.getCode());
});
this.updateBatchById(equipmentSpecificAlarmLogs);
}
}
}
\ No newline at end of file
......@@ -128,6 +128,11 @@ public class MqttReceiveServiceImpl implements MqttReceiveService {
*/
private final static String FHS_WirelessliquidDetector_WaterLevel = "FHS_WirelessliquidDetector_WaterLevel";
/**
* 水箱液位
*/
private final static String CAFS_WaterTank_WaterTankLevel = "CAFS_WaterTank_WaterTankLevel";
static EquipmentSpecificMapper equipmentSpecificMapper;
@Autowired
......@@ -366,6 +371,7 @@ public class MqttReceiveServiceImpl implements MqttReceiveService {
// 存储温度数据至内存中(火眼)
iotDataListToCacheMap(iotDatalist);
iotDatalist.forEach(iotDataVO -> {
boolean alarmFlag = false;
String indexKey = iotDataVO.getKey();
String indexValue = iotDataVO.getValue().toString();
// 稳压泵启停信号处理
......@@ -405,19 +411,29 @@ public class MqttReceiveServiceImpl implements MqttReceiveService {
// 火眼数据构造告警指标逻辑
equipmentSpecificIndex = handleTemperatureAlarm(equipmentSpeIndex, iotDatalist);
// 指标告警处理
if (equipmentSpecificIndex.getIsAlarm() != null && 1 == equipmentSpecificIndex.getIsAlarm()) {
equipmentSpecificAlarms.addAll(createIndexAlarmRecord(equipmentSpecificIndex));
}
//管网压力和泡沫罐信息处理
//管网压力、泡沫罐信息、水箱液位告警处理
if (iotDataVO.getKey().toLowerCase().equals(CAFS_FoamTank_FoamTankLevel.toLowerCase()) ||
FHS_PipePressureDetector_PipePressure.toLowerCase().equals(iotDataVO.getKey().toLowerCase())) {
doFoamTankLevel(iotDataVO, equipmentSpecificIndex);
FHS_PipePressureDetector_PipePressure.toLowerCase().equals(iotDataVO.getKey().toLowerCase()) ||
iotDataVO.getKey().toLowerCase().equals(CAFS_WaterTank_WaterTankLevel.toLowerCase())) {
alarmFlag = doFoamTankLevel(iotDataVO, equipmentSpecificIndex);
}
//消防水池液位处理
if (iotDataVO.getKey().toLowerCase().equals(FHS_FirePoolDevice_WaterLevel.toLowerCase()) ||
iotDataVO.getKey().toLowerCase().equals(FHS_WirelessliquidDetector_WaterLevel.toLowerCase())) {
doWaterPoolLevel(iotDataVO, equipmentSpecificIndex);
alarmFlag = doWaterPoolLevel(iotDataVO, equipmentSpecificIndex);
}
// 遥测数据生成告警事件、日志处理
if (iotDataVO.getKey().toLowerCase().equals(CAFS_FoamTank_FoamTankLevel.toLowerCase()) ||
FHS_PipePressureDetector_PipePressure.toLowerCase().equals(iotDataVO.getKey().toLowerCase()) ||
iotDataVO.getKey().toLowerCase().equals(CAFS_WaterTank_WaterTankLevel.toLowerCase()) ||
iotDataVO.getKey().toLowerCase().equals(FHS_FirePoolDevice_WaterLevel.toLowerCase()) ||
iotDataVO.getKey().toLowerCase().equals(FHS_WirelessliquidDetector_WaterLevel.toLowerCase())) {
handlingAlarms(equipmentSpecificIndex, alarmFlag);
}
// 指标告警处理
if (equipmentSpecificIndex.getIsAlarm() != null && 1 == equipmentSpecificIndex.getIsAlarm()) {
equipmentSpecificAlarms.addAll(createIndexAlarmRecord(equipmentSpecificIndex));
}
// 遥测遥信数据推送云端kafka
JSONObject jsonObjectXf = new JSONObject();
......@@ -568,16 +584,22 @@ public class MqttReceiveServiceImpl implements MqttReceiveService {
}
private void handlingAlarms(EquipmentSpecificIndex equipmentSpecificIndex, boolean alarmFlag){
equipmentSpecificIndex.setIsAlarm(1);
equipmentSpecificIndex.setValue(String.valueOf(alarmFlag));
}
/**
* 泡沫罐 或 者管网压力 消息发送
* @param iotDataVO iotDataVO
* @param equipmentSpecificIndex equipmentSpecificIndex
*/
private void doFoamTankLevel(IotDataVO iotDataVO, EquipmentSpecificIndex equipmentSpecificIndex) {
private boolean doFoamTankLevel(IotDataVO iotDataVO, EquipmentSpecificIndex equipmentSpecificIndex) {
boolean alarmFlag = false;
MessageModel model = new MessageModel();
Map<String, Object> map = new HashMap<>();
if (iotDataVO.getKey().toLowerCase().equals(CAFS_FoamTank_FoamTankLevel.toLowerCase())) {
if (iotDataVO.getKey().toLowerCase().equals(CAFS_FoamTank_FoamTankLevel.toLowerCase()) || iotDataVO.getKey().toLowerCase().equals(CAFS_WaterTank_WaterTankLevel.toLowerCase())) {
map = fireFightingSystemMapper.getFoamTankLevel(equipmentSpecificIndex.getEquipmentSpecificId());
} else {
map = fireFightingSystemMapper.getPipeNetwork(equipmentSpecificIndex.getEquipmentSpecificId());
......@@ -620,7 +642,9 @@ public class MqttReceiveServiceImpl implements MqttReceiveService {
log.error("调用平台出错!");
}
log.info(String.format("调用平台消息服务成功:%s", JSON.toJSONString(model)));
alarmFlag = true;
}
return alarmFlag;
}
/**
......@@ -629,7 +653,8 @@ public class MqttReceiveServiceImpl implements MqttReceiveService {
* @param iotDataVO iotDataVO
* @param equipmentSpecificIndex equipmentSpecificIndex
*/
private void doWaterPoolLevel(IotDataVO iotDataVO, EquipmentSpecificIndex equipmentSpecificIndex) {
private boolean doWaterPoolLevel(IotDataVO iotDataVO, EquipmentSpecificIndex equipmentSpecificIndex) {
boolean alarmFlag = false;
MessageModel model = new MessageModel();
Map<String, Object> map = fireFightingSystemMapper.getWaterPoolLevel(equipmentSpecificIndex.getEquipmentSpecificId());
if (!ObjectUtils.isEmpty(map)) {
......@@ -682,8 +707,10 @@ public class MqttReceiveServiceImpl implements MqttReceiveService {
Token token = remoteSecurityService.getServerToken();
systemctlFeign.create(token.getAppKey(), token.getProduct(), token.getToke(), model);
log.info(String.format("调用平台消息服务成功:%s", JSON.toJSONString(model)));
alarmFlag = true;
}
}
return alarmFlag;
}
private BigDecimal getBigDecimal( Object value ) {
......@@ -1523,6 +1550,12 @@ public class MqttReceiveServiceImpl implements MqttReceiveService {
// 2. 校验
if (!ObjectUtils.isEmpty(data.getUpdateDate())) {
checkValueByDate(data, newDate, pressurePumpEnum);
}else {
// 稳压泵漏水告警恢复
List<EquipmentSpecificIndex> collect = equipmentSpeIndexList.stream().filter(item -> !ObjectUtils.isEmpty(item.getIotCode()) && item.getIotCode().equals(topicEntity.getIotCode())).collect(Collectors.toList());
if (!ObjectUtils.isEmpty(collect) && !ObjectUtils.isEmpty(collect.get(0)) && !ObjectUtils.isEmpty(collect.get(0).getEquipmentId())){
equipmentSpecificAlarmLogService.pressurePumpRestore(collect.get(0).getEquipmentId());
}
}
});
}
......@@ -1548,7 +1581,8 @@ public class MqttReceiveServiceImpl implements MqttReceiveService {
StringUtil.isNotEmpty(e.getValue()) && e.getIotCode().equals(iotCode) && pressurePumpStart.equals(e.getEquipmentIndexKey())).sorted(Comparator.comparing(EquipmentSpecificIndex::getUpdateDate).reversed())
.collect(Collectors.toList());
if (!CollectionUtils.isEmpty(lastStop)) {
equipmentSpecificIndex = getIotDate(equipmentSpecificIndex, lastStop, prefix, suffix , "false");
EquipmentSpecificIndex aFalse = getIotDate(equipmentSpecificIndex, lastStop, prefix, suffix, "false");
BeanUtils.copyProperties(aFalse, equipmentSpecificIndex);
}
break;
case LAST_START:
......@@ -1562,7 +1596,9 @@ public class MqttReceiveServiceImpl implements MqttReceiveService {
StringUtil.isNotEmpty(e.getValue()) && e.getIotCode().equals(iotCode) && pressurePumpStart.equals(e.getEquipmentIndexKey())).sorted(Comparator.comparing(EquipmentSpecificIndex::getUpdateDate).reversed())
.collect(Collectors.toList());
if (!CollectionUtils.isEmpty(lastStart)) {
equipmentSpecificIndex = getIotDate(equipmentSpecificIndex, lastStart, prefix, suffix, "true");
EquipmentSpecificIndex aTrue = getIotDate(equipmentSpecificIndex, lastStart, prefix, suffix, "true");
BeanUtils.copyProperties(aTrue, equipmentSpecificIndex);
}
break;
case LATELY_STOP:
......@@ -1570,7 +1606,9 @@ public class MqttReceiveServiceImpl implements MqttReceiveService {
StringUtil.isNotEmpty(e.getValue()) && pressurePumpStart.equals(e.getEquipmentIndexKey())).sorted(Comparator.comparing(EquipmentSpecificIndex::getUpdateDate).reversed())
.collect(Collectors.toList());
if (!CollectionUtils.isEmpty(latelyStop)) {
equipmentSpecificIndex = getIotDate(equipmentSpecificIndex, latelyStop, prefix, null, "false");
EquipmentSpecificIndex aFalse = getIotDate(equipmentSpecificIndex, latelyStop, prefix, null, "false");
BeanUtils.copyProperties(aFalse, equipmentSpecificIndex);
}
break;
case LATELY_START:
......@@ -1578,7 +1616,9 @@ public class MqttReceiveServiceImpl implements MqttReceiveService {
StringUtil.isNotEmpty(e.getValue()) && pressurePumpStart.equals(e.getEquipmentIndexKey())).sorted(Comparator.comparing(EquipmentSpecificIndex::getUpdateDate).reversed())
.collect(Collectors.toList());
if (!CollectionUtils.isEmpty(latelyStart)) {
equipmentSpecificIndex = getIotDate(equipmentSpecificIndex, latelyStart, prefix, null, "true");
EquipmentSpecificIndex aTrue = getIotDate(equipmentSpecificIndex, latelyStart, prefix, null, "true");
BeanUtils.copyProperties(aTrue, equipmentSpecificIndex);
}
break;
case PUMP_START_TIME:
......@@ -1685,6 +1725,8 @@ public class MqttReceiveServiceImpl implements MqttReceiveService {
marqueeData.setType("漏水提醒");
marqueeData.setCreateDate(new Date());
marqueeDataMapper.insert(marqueeData);
// 稳压泵告警事件生成
equipmentSpecificAlarmLogService.pressurePumpDisposeAlarm(data.getEquipmentId());
}
switch (pumpMessageEnum) {
......@@ -1765,6 +1807,7 @@ public class MqttReceiveServiceImpl implements MqttReceiveService {
parameter.put("remoteSecurityService", remoteSecurityService);
parameter.put("systemctlFeign", systemctlFeign);
parameter.put("marqueeDataMapper", marqueeDataMapper);
parameter.put("equipmentSpecificAlarmLogService", equipmentSpecificAlarmLogService);
QuartzManager.addJob(jobName,PUMP_JOB_GROUP_NAME,triggerName,PUMP_TRIGGER_GROUP_NAME, PumpSendMessage.class,cron,parameter);
}
}
......
......@@ -230,4 +230,21 @@
select equipment_detail_id from wl_equipment_specific where id = #{id})
)
</select>
<select id="getMessage" resultType="com.yeejoin.equipmanage.common.entity.EquipmentIndex">
SELECT
wei.id,
wei.equipment_id as equipmentId,
wei.name_key as perfQuotaDefinitionId,
wei.emergency_level as emergencyLevel,
wei.emergency_level_describe as emergencyLevelDescribe,
wei.emergency_level_color as emergencyLevelColor,
wei.type_code as typeCode ,
wei.name as perfQuotaName
FROM
`wl_equipment_index` wei
LEFT JOIN wl_equipment_specific_index wesi ON wei.id = wesi.equipment_index_id
WHERE
wesi.equipment_specific_id = #{equipmentSpecificId}
AND wesi.equipment_index_key = #{equipmentIndexKey}
</select>
</mapper>
......@@ -64,39 +64,39 @@
wles.biz_org_code like concat (#{param.bizOrgCode},'%')
</if>
</where>
UNION ALL
SELECT
equipment_specific_id id,
NULL org_code,
null fireEquipmentId,
NULL equipDetailId,
NULL fireEquipmentCode,
null systemId,
NULL fireEquipmentName,
NULL alamContent,
NULL handleStatus,
NULL cleanStatus,
NULL handleType,
NULL fireEquipmentIndexId,
NULL fireEquipmentSpecificIndexKey,
type fireEquipmentSpecificIndexName,
NULL buildId,
NULL imgUrl,
NULL fireEquipmentPointValue,
NULL typeCode,
NULL type,
date_format( create_date, '%Y-%m-%d %H:%i:%s' ) createDate,
NULL warehouseStructureName,
NULL equipmentName,
NAME equipmentSpecificName,
position,
id messageId,
message_type messageType,
is_read isRead
FROM
wl_marquee_data
WHERE
is_read = '0'
-- UNION ALL
-- SELECT
-- equipment_specific_id id,
-- NULL org_code,
-- null fireEquipmentId,
-- NULL equipDetailId,
-- NULL fireEquipmentCode,
-- null systemId,
-- NULL fireEquipmentName,
-- NULL alamContent,
-- NULL handleStatus,
-- NULL cleanStatus,
-- NULL handleType,
-- NULL fireEquipmentIndexId,
-- NULL fireEquipmentSpecificIndexKey,
-- type fireEquipmentSpecificIndexName,
-- NULL buildId,
-- NULL imgUrl,
-- NULL fireEquipmentPointValue,
-- NULL typeCode,
-- NULL type,
-- date_format( create_date, '%Y-%m-%d %H:%i:%s' ) createDate,
-- NULL warehouseStructureName,
-- NULL equipmentName,
-- NAME equipmentSpecificName,
-- position,
-- id messageId,
-- message_type messageType,
-- is_read isRead
-- FROM
-- wl_marquee_data
-- WHERE
-- is_read = '0'
ORDER BY createDate DESC
</select>
</mapper>
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