Commit 7982ff55 authored by KeYong's avatar KeYong

修改告警确认逻辑

parent 17a0c4c5
......@@ -38,6 +38,7 @@ import org.typroject.tyboot.core.restful.exception.instance.BadRequest;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.stream.Collectors;
@Service
public class ConfirmAlarmServiceImpl extends ServiceImpl<ConfirmAlarmMapper, EquipmentSpecificAlarm> implements IConfirmAlarmService {
......@@ -50,14 +51,16 @@ public class ConfirmAlarmServiceImpl extends ServiceImpl<ConfirmAlarmMapper, Equ
private RemoteSecurityService remoteSecurityService;
static ConfirmAlarmMapper confirmAlarmMapper;
@Autowired
public void setConfirmAlarmMapper(ConfirmAlarmMapper confirmAlarmMapper){
public void setConfirmAlarmMapper(ConfirmAlarmMapper confirmAlarmMapper) {
ConfirmAlarmServiceImpl.confirmAlarmMapper = confirmAlarmMapper;
}
private static JcsFeign jcsFeign;
@Autowired
public void setJcsFeign(JcsFeign jcsFeign){
public void setJcsFeign(JcsFeign jcsFeign) {
ConfirmAlarmServiceImpl.jcsFeign = jcsFeign;
}
......@@ -78,9 +81,10 @@ public class ConfirmAlarmServiceImpl extends ServiceImpl<ConfirmAlarmMapper, Equ
private IEquipmentSpecificAlarmLogService equipmentSpecificAlarmLogService;
private static IEquipmentSpecificSerivce equipmentSpecificSerivce;
@Autowired
@Lazy
public void setIEquipmentSpecificIndexSerivce(IEquipmentSpecificSerivce equipmentSpecificSerivce){
public void setIEquipmentSpecificIndexSerivce(IEquipmentSpecificSerivce equipmentSpecificSerivce) {
ConfirmAlarmServiceImpl.equipmentSpecificSerivce = equipmentSpecificSerivce;
}
......@@ -99,9 +103,13 @@ public class ConfirmAlarmServiceImpl extends ServiceImpl<ConfirmAlarmMapper, Equ
@Autowired
private SystemctlFeign systemctlFeign;
@Autowired
private IEquipmentSpecificAlarmService equipmentSpecificAlarmService;
private static RuleConfirmAlarmService ruleConfirmAlamService;
@Autowired
public void setRuleConfirmAlamService(RuleConfirmAlarmService ruleConfirmAlamService){
public void setRuleConfirmAlamService(RuleConfirmAlarmService ruleConfirmAlamService) {
ConfirmAlarmServiceImpl.ruleConfirmAlamService = ruleConfirmAlamService;
}
......@@ -113,7 +121,7 @@ public class ConfirmAlarmServiceImpl extends ServiceImpl<ConfirmAlarmMapper, Equ
@Autowired
private EquipmentSpecificAlarmMapper equipmentSpecificAlarmMapper;
@Autowired
private EquipmentSpecificAlarmLogMapper equipmentSpecificAlarmLogMapper;
......@@ -121,8 +129,9 @@ public class ConfirmAlarmServiceImpl extends ServiceImpl<ConfirmAlarmMapper, Equ
private ISignalClassifyService signalClassifyService;
private static IFormInstanceService instanceService;
@Autowired
public void setInstanceService(IFormInstanceService instanceService){
public void setInstanceService(IFormInstanceService instanceService) {
ConfirmAlarmServiceImpl.instanceService = instanceService;
}
......@@ -165,14 +174,14 @@ public class ConfirmAlarmServiceImpl extends ServiceImpl<ConfirmAlarmMapper, Equ
}
@Override
public Map<String ,Integer> videoList(List<String> list) {
Map<String ,Integer> map=new HashMap<>();
public Map<String, Integer> videoList(List<String> list) {
Map<String, Integer> map = new HashMap<>();
for (String s : list) {
List<AlamVideoVO> video = videoMapper.getVideoBySpeId(Long.valueOf(s));
if(video!=null&&video.size()>0){
map.put(s,video.size());
}else{
map.put(s,0);
if (video != null && video.size() > 0) {
map.put(s, video.size());
} else {
map.put(s, 0);
}
}
return map;
......@@ -196,37 +205,37 @@ public class ConfirmAlarmServiceImpl extends ServiceImpl<ConfirmAlarmMapper, Equ
ent.setEquipmentSpecificId(alarmLog.getEquipmentSpecificId());
ent.setEquipmentSpecificIndexKey(alarmLog.getEquipmentSpecificIndexKey());
ent.setEquipmentSpecificIndexName(alarmLog.getEquipmentSpecificIndexName());
Equipment equipment = equipmentSpecificMapper.getEquipmentBySpecificId(alarmLog.getEquipmentSpecificId());
if (!StringUtil.isNotEmpty(equipment.getCleanType())) {
// 若此装备未定义消除策略,默认设置为复位信号自动消除
equipment.setCleanType(AlarmCleanTypeEnum.ZDXC.getCode());
equipmentMapper.updateById(equipment);
}
// Equipment equipment = equipmentSpecificMapper.getEquipmentBySpecificId(alarmLog.getEquipmentSpecificId());
// if (!StringUtil.isNotEmpty(equipment.getCleanType())) {
// 若此装备未定义消除策略,默认设置为复位信号自动消除
// equipment.setCleanType(AlarmCleanTypeEnum.ZDXC.getCode());
// equipmentMapper.updateById(equipment);
// }
if (StringUtil.isNotEmpty(equipment.getCleanType()) && AlarmCleanTypeEnum.QRXC.getCode().equals(equipment.getCleanType())) {
EquipmentSpecificAlarm alarm = equipmentSpecificAlarmMapper.selectById(alarmLog.getEquipmentSpecificAlarmId());
alarm.setStatus(AlarmStatusEnum.HF.getCode());
equipmentSpecificAlarmMapper.updateById(alarm);
// 警情处理确认后消除更新value 为false,否则灯还在闪
LambdaUpdateWrapper<EquipmentSpecificIndex> updateWrapper =new LambdaUpdateWrapper<EquipmentSpecificIndex>().
set(EquipmentSpecificIndex::getValue,"false").
set(EquipmentSpecificIndex::getUpdateDate, new Date()).
eq(EquipmentSpecificIndex::getEquipmentSpecificId,alarm.getEquipmentSpecificId()).
eq(EquipmentSpecificIndex::getEquipmentIndexKey,alarm.getEquipmentSpecificIndexKey());
iEquipmentSpecificIndexSerivce.update(updateWrapper);
//指标图标显示根据 EquipmentSpecific 表中的 RealtimeIotIndexValue 判断 同步修改
LambdaUpdateWrapper<EquipmentSpecific> wrapper =new LambdaUpdateWrapper<EquipmentSpecific>().
set(EquipmentSpecific::getRealtimeIotIndexValue,"false").
set(EquipmentSpecific::getRealtimeIotIndexUpdateDate,new Date()).
eq(EquipmentSpecific::getId,alarm.getEquipmentSpecificId());
equipmentSpecificSerivce.update(wrapper);
MqttReceiveServiceImpl.upAlarmLogStatus(alarmLog.getIotCode(), alarmLog.getEquipmentSpecificIndexKey(), null, equipmentSpecificAlarmLogService, true, "");
}
// if (StringUtil.isNotEmpty(equipment.getCleanType()) && AlarmCleanTypeEnum.QRXC.getCode().equals(equipment.getCleanType())) {
// EquipmentSpecificAlarm alarm = equipmentSpecificAlarmMapper.selectById(alarmLog.getEquipmentSpecificAlarmId());
// alarm.setStatus(AlarmStatusEnum.HF.getCode());
// equipmentSpecificAlarmMapper.updateById(alarm);
// // 警情处理确认后消除更新value 为false,否则灯还在闪
// LambdaUpdateWrapper<EquipmentSpecificIndex> updateWrapper = new LambdaUpdateWrapper<EquipmentSpecificIndex>().
// set(EquipmentSpecificIndex::getValue, "false").
// set(EquipmentSpecificIndex::getUpdateDate, new Date()).
// eq(EquipmentSpecificIndex::getEquipmentSpecificId, alarm.getEquipmentSpecificId()).
// eq(EquipmentSpecificIndex::getEquipmentIndexKey, alarm.getEquipmentSpecificIndexKey());
// iEquipmentSpecificIndexSerivce.update(updateWrapper);
// //指标图标显示根据 EquipmentSpecific 表中的 RealtimeIotIndexValue 判断 同步修改
// LambdaUpdateWrapper<EquipmentSpecific> wrapper = new LambdaUpdateWrapper<EquipmentSpecific>().
// set(EquipmentSpecific::getRealtimeIotIndexValue, "false").
// set(EquipmentSpecific::getRealtimeIotIndexUpdateDate, new Date()).
// eq(EquipmentSpecific::getId, alarm.getEquipmentSpecificId());
// equipmentSpecificSerivce.update(wrapper);
// MqttReceiveServiceImpl.upAlarmLogStatus(alarmLog.getIotCode(), alarmLog.getEquipmentSpecificIndexKey(), null, equipmentSpecificAlarmLogService, true, "");
// }
// 如果是批量确警,先查询,再确警,用于批量消息推送
isBatch = ent.getIsBatch();
if (isBatch == 1) {
list = equipmentSpecificAlarmLogService.getIsConfirmByAlarmId(alarmLog.getEquipmentSpecificId(), alarmLog.getEquipmentSpecificIndexKey(), "0");
}
// isBatch = ent.getIsBatch();
// if (isBatch == 1) {
// list = equipmentSpecificAlarmLogService.getIsConfirmByAlarmId(alarmLog.getEquipmentSpecificId(), alarmLog.getEquipmentSpecificIndexKey(), "0");
// }
}
if (ent.getType() != null) {
ent.setType(ConfirmAlamEnum.getEnumByName(ent.getType()) == null ? " " : ConfirmAlamEnum.getEnumByName(ent.getType()));
......@@ -234,7 +243,7 @@ public class ConfirmAlarmServiceImpl extends ServiceImpl<ConfirmAlarmMapper, Equ
ent.setUpdateDate(new Date());
ent.setConfirmDate(new Date());
int i = 0 ;
// int i = 0;
ent.setConfirmTypeName(ConfirmAlamEnum.getTypeByCode(ent.getConfirmType()));
Date date = new Date();
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
......@@ -245,91 +254,136 @@ public class ConfirmAlarmServiceImpl extends ServiceImpl<ConfirmAlarmMapper, Equ
} else {
ent.setResolveResult(dateString + " " + userModel.getRealName() + " 进行警情确认处理。");
}
if (ent.getIsBatch() == 0){
if (StringUtils.isNotEmpty(handleConfirm) && HandleBatchConfirmEnum.SINGLE.getCode().equalsIgnoreCase(handleConfirm)) {
QueryWrapper<EquipmentSpecificAlarmLog> wrapper = new QueryWrapper<>();
wrapper.eq("equipment_specific_id", ent.getEquipmentSpecificId()).isNull("confirm_date");
List<EquipmentSpecificAlarmLog> logs = equipmentSpecificAlarmLogMapper.selectList(wrapper);
if (0 < logs.size()) {
for (EquipmentSpecificAlarmLog x : logs) {
x.setConfirmType(ent.getConfirmType());
x.setConfirmTypeName(ent.getConfirmTypeName());
x.setConfirmDate(new Date());
x.setConfirmUser(ent.getConfirmUser());
x.setConfirmUserName(ent.getConfirmUserName());
x.setType(ent.getType());
x.setResolveResult(ent.getResolveResult());
x.setAlarmReason(ent.getAlarmReason());
}
equipmentSpecificAlarmLogService.updateBatchById(logs);
}
} else if (StringUtils.isNotEmpty(handleConfirm) && HandleBatchConfirmEnum.ALL.getCode().equalsIgnoreCase(handleConfirm)) {
QueryWrapper<EquipmentSpecificAlarmLog> logQueryWrapper = new QueryWrapper<>();
logQueryWrapper.isNull("confirm_date");
List<EquipmentSpecificAlarmLog> logList = equipmentSpecificAlarmLogMapper.selectList(logQueryWrapper);
if (0 < logList.size()) {
for (EquipmentSpecificAlarmLog x : logList) {
x.setConfirmType(ent.getConfirmType());
x.setConfirmTypeName(ent.getConfirmTypeName());
x.setConfirmDate(new Date());
x.setConfirmUser(ent.getConfirmUser());
x.setConfirmUserName(ent.getConfirmUserName());
x.setType(ent.getType());
x.setResolveResult(ent.getResolveResult());
x.setAlarmReason(ent.getAlarmReason());
}
equipmentSpecificAlarmLogService.updateBatchById(logList);
}
} else {
i = equipmentSpecificAlarmLogMapper.updateById(ent);
// if (ent.getIsBatch() == 0){
// if (StringUtils.isNotEmpty(handleConfirm) && HandleBatchConfirmEnum.SINGLE.getCode().equalsIgnoreCase(handleConfirm)) {
// QueryWrapper<EquipmentSpecificAlarmLog> wrapper = new QueryWrapper<>();
// wrapper.eq("equipment_specific_id", ent.getEquipmentSpecificId()).isNull("confirm_date");
// List<EquipmentSpecificAlarmLog> logs = equipmentSpecificAlarmLogMapper.selectList(wrapper);
// if (0 < logs.size()) {
// for (EquipmentSpecificAlarmLog x : logs) {
// x.setConfirmType(ent.getConfirmType());
// x.setConfirmTypeName(ent.getConfirmTypeName());
// x.setConfirmDate(new Date());
// x.setConfirmUser(ent.getConfirmUser());
// x.setConfirmUserName(ent.getConfirmUserName());
// x.setType(ent.getType());
// x.setResolveResult(ent.getResolveResult());
// x.setAlarmReason(ent.getAlarmReason());
// }
// equipmentSpecificAlarmLogService.updateBatchById(logs);
// }
// } else if (StringUtils.isNotEmpty(handleConfirm) && HandleBatchConfirmEnum.ALL.getCode().equalsIgnoreCase(handleConfirm)) {
// QueryWrapper<EquipmentSpecificAlarmLog> logQueryWrapper = new QueryWrapper<>();
// logQueryWrapper.isNull("confirm_date");
// List<EquipmentSpecificAlarmLog> logList = equipmentSpecificAlarmLogMapper.selectList(logQueryWrapper);
// if (0 < logList.size()) {
// for (EquipmentSpecificAlarmLog x : logList) {
// x.setConfirmType(ent.getConfirmType());
// x.setConfirmTypeName(ent.getConfirmTypeName());
// x.setConfirmDate(new Date());
// x.setConfirmUser(ent.getConfirmUser());
// x.setConfirmUserName(ent.getConfirmUserName());
// x.setType(ent.getType());
// x.setResolveResult(ent.getResolveResult());
// x.setAlarmReason(ent.getAlarmReason());
// }
// equipmentSpecificAlarmLogService.updateBatchById(logList);
// }
// } else {
// i = equipmentSpecificAlarmLogMapper.updateById(ent);
// }
// } else {
if (StringUtils.isNotEmpty(handleConfirm) && HandleBatchConfirmEnum.SINGLE.getCode().equalsIgnoreCase(handleConfirm)) {
QueryWrapper<EquipmentSpecificAlarm> alarmWrapper = new QueryWrapper<>();
alarmWrapper.eq("equipment_specific_id", ent.getEquipmentSpecificId()).eq("status", 1);
List<EquipmentSpecificAlarm> alarms = equipmentSpecificAlarmMapper.selectList(alarmWrapper);
if (CollectionUtils.isNotEmpty(alarms)) {
List<EquipmentSpecificAlarm> alarms1 = alarms.stream().map(x -> x.setStatus(AlarmStatusEnum.HF.getCode())).collect(Collectors.toList());
equipmentSpecificAlarmService.updateBatchById(alarms1);
}
} else {
if (StringUtils.isNotEmpty(handleConfirm) && HandleBatchConfirmEnum.SINGLE.getCode().equalsIgnoreCase(handleConfirm)) {
QueryWrapper<EquipmentSpecificAlarmLog> wrapper = new QueryWrapper<>();
wrapper.eq("equipment_specific_id", ent.getEquipmentSpecificId()).isNull("confirm_date");
List<EquipmentSpecificAlarmLog> logs = equipmentSpecificAlarmLogMapper.selectList(wrapper);
if (0 < logs.size()) {
for (EquipmentSpecificAlarmLog x : logs) {
x.setConfirmType(ent.getConfirmType());
x.setConfirmTypeName(ent.getConfirmTypeName());
x.setConfirmDate(new Date());
x.setConfirmUser(ent.getConfirmUser());
x.setConfirmUserName(ent.getConfirmUserName());
x.setType(ent.getType());
x.setResolveResult(ent.getResolveResult());
x.setAlarmReason(ent.getAlarmReason());
}
equipmentSpecificAlarmLogService.updateBatchById(logs);
// 警情处理确认后消除更新value 为false,否则灯还在闪
LambdaUpdateWrapper<EquipmentSpecificIndex> updateWrapper = new LambdaUpdateWrapper<EquipmentSpecificIndex>().
set(EquipmentSpecificIndex::getValue, "false").
set(EquipmentSpecificIndex::getUpdateDate, new Date()).
eq(EquipmentSpecificIndex::getEquipmentSpecificId, ent.getEquipmentSpecificId()).
eq(EquipmentSpecificIndex::getEquipmentIndexKey, ent.getEquipmentSpecificIndexKey());
iEquipmentSpecificIndexSerivce.update(updateWrapper);
//指标图标显示根据 EquipmentSpecific 表中的 RealtimeIotIndexValue 判断 同步修改
LambdaUpdateWrapper<EquipmentSpecific> speWrapper = new LambdaUpdateWrapper<EquipmentSpecific>().
set(EquipmentSpecific::getRealtimeIotIndexValue, "false").
set(EquipmentSpecific::getRealtimeIotIndexUpdateDate, new Date()).
eq(EquipmentSpecific::getId, ent.getEquipmentSpecificId());
equipmentSpecificSerivce.update(speWrapper);
QueryWrapper<EquipmentSpecificAlarmLog> logWrapper = new QueryWrapper<>();
logWrapper.eq("equipment_specific_id", ent.getEquipmentSpecificId()).isNull("confirm_date");
list = equipmentSpecificAlarmLogMapper.selectList(logWrapper);
if (0 < list.size()) {
for (EquipmentSpecificAlarmLog x : list) {
x.setConfirmType(ent.getConfirmType());
x.setConfirmTypeName(ent.getConfirmTypeName());
x.setConfirmDate(new Date());
x.setConfirmUser(ent.getConfirmUser());
x.setConfirmUserName(ent.getConfirmUserName());
x.setType(ent.getType());
x.setResolveResult(ent.getResolveResult());
x.setAlarmReason(ent.getAlarmReason());
x.setCleanTime(date);
}
} else if (StringUtils.isNotEmpty(handleConfirm) && HandleBatchConfirmEnum.ALL.getCode().equalsIgnoreCase(handleConfirm)) {
QueryWrapper<EquipmentSpecificAlarmLog> logQueryWrapper = new QueryWrapper<>();
logQueryWrapper.isNull("confirm_date");
List<EquipmentSpecificAlarmLog> logList = equipmentSpecificAlarmLogMapper.selectList(logQueryWrapper);
if (0 < logList.size()) {
for (EquipmentSpecificAlarmLog x : logList) {
x.setConfirmType(ent.getConfirmType());
x.setConfirmTypeName(ent.getConfirmTypeName());
x.setConfirmDate(new Date());
x.setConfirmUser(ent.getConfirmUser());
x.setConfirmUserName(ent.getConfirmUserName());
x.setType(ent.getType());
x.setResolveResult(ent.getResolveResult());
x.setAlarmReason(ent.getAlarmReason());
}
equipmentSpecificAlarmLogService.updateBatchById(logList);
equipmentSpecificAlarmLogService.updateBatchById(list);
}
} else if (StringUtils.isNotEmpty(handleConfirm) && HandleBatchConfirmEnum.ALL.getCode().equalsIgnoreCase(handleConfirm)) {
QueryWrapper<EquipmentSpecificAlarm> alarmWrapper = new QueryWrapper<>();
alarmWrapper.eq("equipment_specific_id", ent.getEquipmentSpecificId()).eq("status", 1);
List<EquipmentSpecificAlarm> alarms = equipmentSpecificAlarmMapper.selectList(alarmWrapper);
if (CollectionUtils.isNotEmpty(alarms)) {
List<EquipmentSpecificAlarm> alarms1 = alarms.stream().map(x -> x.setStatus(AlarmStatusEnum.HF.getCode())).collect(Collectors.toList());
equipmentSpecificAlarmService.updateBatchById(alarms1);
}
// 警情处理确认后消除更新value 为false,否则灯还在闪
LambdaUpdateWrapper<EquipmentSpecificIndex> updateWrapper = new LambdaUpdateWrapper<EquipmentSpecificIndex>().
set(EquipmentSpecificIndex::getValue, "false").
set(EquipmentSpecificIndex::getUpdateDate, new Date()).
eq(EquipmentSpecificIndex::getEquipmentSpecificId, ent.getEquipmentSpecificId()).
eq(EquipmentSpecificIndex::getEquipmentIndexKey, ent.getEquipmentSpecificIndexKey());
iEquipmentSpecificIndexSerivce.update(updateWrapper);
//指标图标显示根据 EquipmentSpecific 表中的 RealtimeIotIndexValue 判断 同步修改
LambdaUpdateWrapper<EquipmentSpecific> speWrapper = new LambdaUpdateWrapper<EquipmentSpecific>().
set(EquipmentSpecific::getRealtimeIotIndexValue, "false").
set(EquipmentSpecific::getRealtimeIotIndexUpdateDate, new Date()).
eq(EquipmentSpecific::getId, ent.getEquipmentSpecificId());
equipmentSpecificSerivce.update(speWrapper);
QueryWrapper<EquipmentSpecificAlarmLog> logQueryWrapper = new QueryWrapper<>();
logQueryWrapper.isNull("confirm_date");
list = equipmentSpecificAlarmLogMapper.selectList(logQueryWrapper);
if (0 < list.size()) {
for (EquipmentSpecificAlarmLog x : list) {
x.setConfirmType(ent.getConfirmType());
x.setConfirmTypeName(ent.getConfirmTypeName());
x.setConfirmDate(new Date());
x.setConfirmUser(ent.getConfirmUser());
x.setConfirmUserName(ent.getConfirmUserName());
x.setType(ent.getType());
x.setResolveResult(ent.getResolveResult());
x.setAlarmReason(ent.getAlarmReason());
x.setCleanTime(date);
}
} else {
LambdaUpdateWrapper<EquipmentSpecificAlarmLog> updateWrapper = new LambdaUpdateWrapper<EquipmentSpecificAlarmLog>().
eq(EquipmentSpecificAlarmLog::getEquipmentSpecificId, ent.getEquipmentSpecificId()).
eq(EquipmentSpecificAlarmLog::getEquipmentSpecificIndexKey, ent.getEquipmentSpecificIndexKey())
.isNull(EquipmentSpecificAlarmLog::getConfirmDate);
i = equipmentSpecificAlarmLogMapper.update(ent, updateWrapper);
equipmentSpecificAlarmLogService.updateBatchById(list);
}
}
// else {
// LambdaUpdateWrapper<EquipmentSpecificAlarmLog> updateWrapper = new LambdaUpdateWrapper<EquipmentSpecificAlarmLog>().
// eq(EquipmentSpecificAlarmLog::getEquipmentSpecificId, ent.getEquipmentSpecificId()).
// eq(EquipmentSpecificAlarmLog::getEquipmentSpecificIndexKey, ent.getEquipmentSpecificIndexKey())
// .isNull(EquipmentSpecificAlarmLog::getConfirmDate);
// i = equipmentSpecificAlarmLogMapper.update(ent, updateWrapper);
// }
// }
//int i = confirmAlarmMapper.confirmAlam(ent);
if (i > 0) {
// if (i > 0) {
if (jcsSwitch && AlarmTypeEnum.HZGJ.getCode().equals(ent.getConfirmType())) {
// 确警消息发送
if (StringUtils.isNotBlank(userId)) {
......@@ -346,10 +400,11 @@ public class ConfirmAlarmServiceImpl extends ServiceImpl<ConfirmAlarmMapper, Equ
}).start();
}
}
if (isBatch == 1 && CollectionUtils.isNotEmpty(list)) {
list.stream().forEach(x ->{
// if (isBatch == 1 && CollectionUtils.isNotEmpty(list)) {
if (CollectionUtils.isNotEmpty(list)) {
list.stream().forEach(x -> {
webMqttHandler.publish(TopicEnum.EQYQR.getTopic(), JSON.parseObject(JSON.toJSONString(x), HashMap.class));
x.setAlarmReason(ent.getAlarmReason());
// x.setAlarmReason(ent.getAlarmReason());
// syncConfirmAlarmMsgToSystemctl(x);
});
} else {
......@@ -358,7 +413,7 @@ public class ConfirmAlarmServiceImpl extends ServiceImpl<ConfirmAlarmMapper, Equ
// syncConfirmAlarmMsgToSystemctl(ent);
}
// syncDataService.syncCreatedSendAlarmReport(ent);
}
// }
TransactionSynchronizationManager.registerSynchronization(new TransactionSynchronization() {
@Override
public void afterCommit() {
......@@ -391,7 +446,7 @@ public class ConfirmAlarmServiceImpl extends ServiceImpl<ConfirmAlarmMapper, Equ
DateUtils.date2LongStr(equipmentSpecificAlarmLog.getCreateDate()));
model.setBody(body);
model.setMsgType("iotMonitor");
if (isSendApp){
if (isSendApp) {
model.setIsSendApp(true);
model.setTerminal("APP/WEB");
} else {
......@@ -500,73 +555,73 @@ public class ConfirmAlarmServiceImpl extends ServiceImpl<ConfirmAlarmMapper, Equ
//查询当前建筑是否是 最顶级建筑
public static List<FormInstance> selectBuildingById(List<FormInstance> formInstances){
if (formInstances.get(0).getGroupType().equals("building")){
public static List<FormInstance> selectBuildingById(List<FormInstance> formInstances) {
if (formInstances.get(0).getGroupType().equals("building")) {
return formInstances;
}
String parentId = null;
for (FormInstance formInstance : formInstances) {
if (formInstance.getFieldName().equals("parentId")){
parentId =formInstance.getFieldValue();
if (formInstance.getFieldName().equals("parentId")) {
parentId = formInstance.getFieldValue();
}
}
LambdaQueryWrapper<FormInstance> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(FormInstance::getInstanceId,parentId);
wrapper.eq(FormInstance::getInstanceId, parentId);
formInstances = instanceService.getBaseMapper().selectList(wrapper);
return selectBuildingById(formInstances);
return selectBuildingById(formInstances);
}
public static void sendIotSystemAlarm(EquipmentSpecificAlarmLog ent, String userId, String appKey, String product, String token){
public static void sendIotSystemAlarm(EquipmentSpecificAlarmLog ent, String userId, String appKey, String product, String token) {
// Token serverToken = remoteSecurityService.getServerToken();
IotSystemAlarmRo confirmAlamVo = new IotSystemAlarmRo();
confirmAlamVo.setId(ent.getId());
ent = confirmAlarmMapper.getDetailsById(String.valueOf(ent.getId()), null);
EquipmentSpecific equipmentSpecific = equipmentSpecificSerivce.getById(ent.getEquipmentSpecificId());
List<FormInstance> formInstances = new ArrayList<>();
List<FormInstance> formInstances = new ArrayList<>();
//现在需要返回设备的所在建筑及经纬度 查询当前设备所在建筑
if(!ValidationUtil.isEmpty(equipmentSpecific.getWarehouseStructureId())){
if (!ValidationUtil.isEmpty(equipmentSpecific.getWarehouseStructureId())) {
LambdaQueryWrapper<FormInstance> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(FormInstance::getInstanceId,equipmentSpecific.getWarehouseStructureId());
wrapper.eq(FormInstance::getInstanceId, equipmentSpecific.getWarehouseStructureId());
formInstances = instanceService.getBaseMapper().selectList(wrapper);
}
//判断所在建筑是否是顶级建筑 房间及楼层是没有经纬度的 向上查询
if (!ValidationUtil.isEmpty(formInstances)){
if (!ValidationUtil.isEmpty(formInstances)) {
formInstances = selectBuildingById(formInstances);
}
String address = null ;
String latitude= null ;
String longitude= null ;
String address = null;
String latitude = null;
String longitude = null;
if (!ValidationUtil.isEmpty(formInstances)){
if (!ValidationUtil.isEmpty(formInstances)) {
for (FormInstance formInstance : formInstances) {
if (formInstance.getFieldName().equals("address")){
address =formInstance.getFieldValue();
if (address.contains("@")){
if (formInstance.getFieldName().equals("address")) {
address = formInstance.getFieldValue();
if (address.contains("@")) {
String[] split = address.split("@");
address = split[0];
}
}
if (formInstance.getFieldName().equals("latitude")){
latitude =formInstance.getFieldValue();
if (formInstance.getFieldName().equals("latitude")) {
latitude = formInstance.getFieldValue();
}
if (formInstance.getFieldName().equals("longitude")){
longitude =formInstance.getFieldValue();
if (formInstance.getFieldName().equals("longitude")) {
longitude = formInstance.getFieldValue();
}
}
}
if (!ValidationUtil.isEmpty(equipmentSpecific.getAgencyId())){
if (!ValidationUtil.isEmpty(equipmentSpecific.getAgencyId())) {
// 机场单位
JSONObject unitMap = jcsFeign.getUnitById(appKey, product, token, equipmentSpecific.getAgencyId()).getResult();
JSONObject jsonObject = unitMap.getJSONObject("map");
confirmAlamVo.setUnitInvolvedId(equipmentSpecific.getAgencyId());
confirmAlamVo.setUnitInvolvedName(unitMap.getString("bizOrgName"));
confirmAlamVo.setAddress(address == null ? jsonObject.getString("companyLocation"):address);
confirmAlamVo.setLongitude(longitude== null?jsonObject.getDouble("longitude"): Double.valueOf(longitude));
confirmAlamVo.setLatitude(latitude == null?jsonObject.getDouble("latitude"):Double.valueOf(latitude));
confirmAlamVo.setAddress(address == null ? jsonObject.getString("companyLocation") : address);
confirmAlamVo.setLongitude(longitude == null ? jsonObject.getDouble("longitude") : Double.valueOf(longitude));
confirmAlamVo.setLatitude(latitude == null ? jsonObject.getDouble("latitude") : Double.valueOf(latitude));
}
try {
// 机场人员
......@@ -580,10 +635,10 @@ public class ConfirmAlarmServiceImpl extends ServiceImpl<ConfirmAlarmMapper, Equ
Map<String, Double> equipLocationInfo = equipmentSpecificSerivce.getEquipLocationInfo(ent.getEquipmentSpecificId());
if (!ObjectUtils.isEmpty(equipLocationInfo)) {
if (equipLocationInfo.containsKey("longitude")){
if (equipLocationInfo.containsKey("longitude")) {
confirmAlamVo.setFloorLongitude(equipLocationInfo.get("longitude"));
}
if (equipLocationInfo.containsKey("latitude")){
if (equipLocationInfo.containsKey("latitude")) {
confirmAlamVo.setFloorLatitude(equipLocationInfo.get("latitude"));
}
}
......@@ -594,7 +649,7 @@ public class ConfirmAlarmServiceImpl extends ServiceImpl<ConfirmAlarmMapper, Equ
}
}
private Double getVal(String value){
private Double getVal(String value) {
return ValidationUtil.isEmpty(value) ? null : Double.parseDouble(value);
}
}
......@@ -201,7 +201,7 @@ public class MqttReceiveServiceImpl implements MqttReceiveService {
public static List<EquipmentSpecificAlarmLog> upAlarmLogStatus(String iotCode, String equipmentSpecificIndexKey,
String traceId, IEquipmentSpecificAlarmLogService equipmentSpecificAlarmLogService,
boolean flag, String batchConfirm) {
boolean flag, boolean batchConfirm, String confirmType) {
// LambdaQueryWrapper<EquipmentSpecificAlarmLog> queryWrapper = new LambdaQueryWrapper<>();
// if (batchConfirm.equalsIgnoreCase(HandleBatchConfirmEnum.SINGLE.getCode())) {
......@@ -594,7 +594,7 @@ public class MqttReceiveServiceImpl implements MqttReceiveService {
bool = Boolean.FALSE;
} else {
alarmLogs.addAll(upAlarmLogStatus(action.getIotCode(), action.getEquipmentSpecificIndexKey(), action.getTraceId(),
equipmentSpecificAlarmLogService, false, ""));
equipmentSpecificAlarmLogService, false, false, ""));
mqttSendGateway.sendToMqtt(TopicEnum.EQYQR.getTopic(), JSONArray.toJSON(action).toString());
bool = Boolean.TRUE;
}
......@@ -858,7 +858,7 @@ public class MqttReceiveServiceImpl implements MqttReceiveService {
bool = Boolean.FALSE;
} else {
alarmLogs.addAll(upAlarmLogStatus(action.getIotCode(), action.getEquipmentSpecificIndexKey(), action.getTraceId(),
equipmentSpecificAlarmLogService, false, ""));
equipmentSpecificAlarmLogService, false, false, ""));
mqttSendGateway.sendToMqtt(TopicEnum.EQYQR.getTopic(), JSONArray.toJSON(action).toString());
bool = Boolean.TRUE;
}
......@@ -1151,7 +1151,7 @@ public class MqttReceiveServiceImpl implements MqttReceiveService {
bool = Boolean.FALSE;
} else {
alarmLogs.addAll(upAlarmLogStatus(action.getIotCode(), action.getEquipmentSpecificIndexKey(), action.getTraceId(),
equipmentSpecificAlarmLogService, false, ""));
equipmentSpecificAlarmLogService, false, false, ""));
mqttSendGateway.sendToMqtt(TopicEnum.EQYQR.getTopic(), JSONArray.toJSON(action).toString());
bool = Boolean.TRUE;
}
......
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