Commit 08ecc4a5 authored by 刘林's avatar 刘林

Merge remote-tracking branch 'origin/develop_dl' into develop_dl

parents 95fe4813 e30d10e4
package com.yeejoin.equipmanage.service.impl;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
......@@ -74,9 +75,14 @@ public class ConfirmAlarmServiceImpl extends ServiceImpl<ConfirmAlarmMapper, Equ
private WebMqttHandler webMqttHandler;
@Autowired
EquipQrcodeRecordMapper equipQrcodeRecordMapper;
@Autowired
private IEquipmentSpecificAlarmLogService equipmentSpecificAlarmLogService;
private static IEquipmentSpecificSerivce equipmentSpecificSerivce;
@Autowired
@Lazy
public void setIEquipmentSpecificIndexSerivce(IEquipmentSpecificSerivce equipmentSpecificSerivce){
......@@ -206,6 +212,34 @@ public class ConfirmAlarmServiceImpl extends ServiceImpl<ConfirmAlarmMapper, Equ
EquipmentSpecificAlarm alarm = equipmentSpecificAlarmMapper.selectById(alarmLog.getEquipmentSpecificAlarmId());
alarm.setStatus(AlarmStatusEnum.HF.getCode());
equipmentSpecificAlarmMapper.updateById(alarm);
//恢复后修改 wl_equip_qrcode_record中对应记录
LambdaQueryWrapper<EquipQrcodeRecord> wra = new LambdaQueryWrapper<>();
wra.eq(EquipQrcodeRecord::getEquipid, alarm.getEquipmentSpecificId());
wra.eq(EquipQrcodeRecord::getEquipIndex,alarm.getEquipmentSpecificIndexKey());
wra.isNull(EquipQrcodeRecord::getCleanTime);
EquipQrcodeRecord equipQrcodeRecord = equipQrcodeRecordMapper.selectOne(wra);
if (!ObjectUtils.isEmpty(equipQrcodeRecord)){
equipQrcodeRecord.setCleanTime(new Date());
equipQrcodeRecord.setCleanReason("设备确认消除");
equipQrcodeRecordMapper.updateById(equipQrcodeRecord);
}
//查询二维码事件记录表中该设备的历史数据
LambdaQueryWrapper<EquipQrcodeRecord> query = new LambdaQueryWrapper<>();
query.eq(EquipQrcodeRecord::getEquipid, alarm.getEquipmentSpecificId());
query.isNull(EquipQrcodeRecord::getCleanTime);
query.orderByDesc(EquipQrcodeRecord::getStatus);
List<EquipQrcodeRecord> equipQrcodeRecords = equipQrcodeRecordMapper.selectList(query);
if (equipQrcodeRecords.size() > 0) { //如果记录表中还存在未消除的巡检故障 则先修改为黄码
equipmentSpecificSerivce.updateEquipSpecificStatus(equipQrcodeRecords.get(0).getStatus(), String.valueOf(alarm.getEquipmentSpecificId()));
} else {
equipmentSpecificSerivce.updateEquipSpecificStatus(EquipQrcodeColorEnum.GREEN.getCode(), String.valueOf(alarm.getEquipmentSpecificId()));
}
// 警情处理确认后消除更新value 为false,否则灯还在闪
LambdaUpdateWrapper<EquipmentSpecificIndex> updateWrapper =new LambdaUpdateWrapper<EquipmentSpecificIndex>().
set(EquipmentSpecificIndex::getValue,"false").
......
......@@ -952,19 +952,25 @@ public class MqttReceiveServiceImpl implements MqttReceiveService {
}
specific.setEquipStatus(EquipQrcodeColorEnum.RED.getCode());
//保存 wl_equip_qrcode_record 二维码记录
EquipQrcodeRecord equipQrcodeRecord = new EquipQrcodeRecord();
equipQrcodeRecord.setEquipid(action.getEquipmentSpecificId());
equipQrcodeRecord.setSource("equip");
equipQrcodeRecord.setAlarmTime(new Date());
equipQrcodeRecord.setStatus(EquipQrcodeColorEnum.RED.getCode());
equipQrcodeRecord.setSourceId(equipmentSpecificAlarmLog.getId().toString());
equipQrcodeRecord.setBizOrgCode(action.getBizOrgCode());
equipQrcodeRecord.setBizOrgName(action.getBizOrgName());
equipQrcodeRecord.setSystemCode(action.getSystemIds());
equipQrcodeRecord.setEquipIndex(equipmentSpecificAlarmLog.getEquipmentSpecificIndexKey());
equipQrcodeRecordMapper.insert(equipQrcodeRecord);
LambdaQueryWrapper<EquipQrcodeRecord> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(EquipQrcodeRecord::getEquipid, action.getEquipmentSpecificId());
wrapper.eq(EquipQrcodeRecord::getEquipIndex,equipmentSpecificAlarmLog.getEquipmentSpecificIndexKey());
wrapper.isNull(EquipQrcodeRecord::getCleanTime);
EquipQrcodeRecord equipQrcodeRecord = equipQrcodeRecordMapper.selectOne(wrapper);
if (ObjectUtils.isEmpty(equipQrcodeRecord)){
//保存 wl_equip_qrcode_record 二维码记录
EquipQrcodeRecord qrcodeRecord = new EquipQrcodeRecord();
qrcodeRecord.setEquipid(action.getEquipmentSpecificId());
qrcodeRecord.setSource("equip");
qrcodeRecord.setAlarmTime(new Date());
qrcodeRecord.setStatus(EquipQrcodeColorEnum.RED.getCode());
qrcodeRecord.setSourceId(equipmentSpecificAlarmLog.getId().toString());
qrcodeRecord.setBizOrgCode(action.getBizOrgCode());
qrcodeRecord.setBizOrgName(action.getBizOrgName());
qrcodeRecord.setSystemCode(action.getSystemIds());
qrcodeRecord.setEquipIndex(equipmentSpecificAlarmLog.getEquipmentSpecificIndexKey());
equipQrcodeRecordMapper.insert(qrcodeRecord);
}
isAlarm = Boolean.TRUE;
mqttSendGateway.sendToMqtt(TopicEnum.EQDQR.getTopic(), JSONArray.toJSON(action).toString());
iEquipmentSpecificSerivce.updateEquipSpecificStatus(specific.getEquipStatus(), String.valueOf(specific.getId()));
......@@ -973,6 +979,7 @@ public class MqttReceiveServiceImpl implements MqttReceiveService {
LambdaQueryWrapper<EquipQrcodeRecord> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(EquipQrcodeRecord::getEquipid, action.getEquipmentSpecificId());
wrapper.eq(EquipQrcodeRecord::getEquipIndex,iotDatalist.get(0).getKey());
wrapper.isNull(EquipQrcodeRecord::getCleanTime);
EquipQrcodeRecord equipQrcodeRecord = equipQrcodeRecordMapper.selectOne(wrapper);
equipQrcodeRecord.setCleanTime(new Date());
equipQrcodeRecord.setCleanReason("设备上报复归信息");
......@@ -989,10 +996,12 @@ public class MqttReceiveServiceImpl implements MqttReceiveService {
LambdaQueryWrapper<EquipQrcodeRecord> query = new LambdaQueryWrapper<>();
query.eq(EquipQrcodeRecord::getEquipid, action.getEquipmentSpecificId());
query.isNull(EquipQrcodeRecord::getCleanTime);
query.orderByDesc(EquipQrcodeRecord::getStatus);
List<EquipQrcodeRecord> equipQrcodeRecords = equipQrcodeRecordMapper.selectList(query);
String status = equipQrcodeRecords.stream().sorted(Comparator.comparing(EquipQrcodeRecord::getStatus)).findFirst().get().getStatus();
// String status = equipQrcodeRecords.stream().sorted(Comparator.comparing(EquipQrcodeRecord::getStatus)).findFirst().get().getStatus();
if (equipQrcodeRecords.size() > 0) { //如果记录表中还存在未消除的巡检故障 则先修改为黄码
iEquipmentSpecificSerivce.updateEquipSpecificStatus(status, String.valueOf(specific.getId()));
iEquipmentSpecificSerivce.updateEquipSpecificStatus(equipQrcodeRecords.get(0).getStatus(), String.valueOf(specific.getId()));
} else {
iEquipmentSpecificSerivce.updateEquipSpecificStatus(specific.getEquipStatus(), String.valueOf(specific.getId()));
......
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