fix(alarm): 修复报警服务中的消息发送逻辑
- 移除注释掉的appNotificationService调用代码 - 修复事件服务中消息发送参数的条件判断逻辑 - 更新设备模型服务中监测点模板生成逻辑,支持不同设备类型 - 修复心跳服务中设备离线通知逻辑,暂时关闭消息发送功能 - 添加对直接连接设备和便携式设备的特殊处理逻辑 - 优化监测点名称生成规则,增加输出侧监测点支持
This commit is contained in:
@@ -43,6 +43,7 @@ import com.njcn.system.pojo.param.CsWaveParam;
|
||||
import com.njcn.system.pojo.param.EleEpdPqdParam;
|
||||
import com.njcn.system.pojo.param.EleEvtParam;
|
||||
import com.njcn.system.pojo.po.EleEpdPqd;
|
||||
import com.njcn.system.pojo.po.SysDicTreePO;
|
||||
import com.njcn.system.pojo.vo.DictTreeVO;
|
||||
import com.njcn.web.utils.RequestUtil;
|
||||
import lombok.AllArgsConstructor;
|
||||
@@ -125,7 +126,7 @@ public class CsDevModelServiceImpl implements ICsDevModelService {
|
||||
//2.录入数据集、详细数据(主设备、模块、监测设备、便携式设备...)
|
||||
analysisDataSet(templateDto,csDevModelPo.getId());
|
||||
//3.录入监测点模板表(记录当前模板有几个监测点,治理类型的模板目前规定1个监测点,电能质量模板根据逻辑子设备来)
|
||||
addCsLineModel(templateDto,csDevModelPo.getId());
|
||||
addCsLineModel(templateDto,csDevModelPo.getId(),devType);
|
||||
//4.如果是云前置的模板录入,重新录入完需要将模板关系信息重新录入
|
||||
if (Objects.equals(devType,DicDataEnum.DEV_CLD.getCode())) {
|
||||
List<CsEquipmentDeliveryPO> list = eequipmentFeignClient.getAll().getData();
|
||||
@@ -1205,7 +1206,7 @@ public class CsDevModelServiceImpl implements ICsDevModelService {
|
||||
/**
|
||||
* 根据模板文件来录入监测点模板
|
||||
*/
|
||||
private void addCsLineModel(TemplateDto templateDto,String pId) {
|
||||
private void addCsLineModel(TemplateDto templateDto,String pId,String devType) {
|
||||
List<CsLineModel> result = new ArrayList<>();
|
||||
//fixme 先用数据类型来区分模板的类型
|
||||
if (templateDto.getDataList().contains("Apf") || templateDto.getDataList().contains("Dvr")){
|
||||
@@ -1217,19 +1218,36 @@ public class CsDevModelServiceImpl implements ICsDevModelService {
|
||||
result.add(csLineModel);
|
||||
} else {
|
||||
List<ClDevDto> list = templateDto.getClDevDtoList();
|
||||
list.forEach(item->{
|
||||
CsLineModel csLineModel = new CsLineModel();
|
||||
csLineModel.setLineId(IdUtil.fastSimpleUUID());
|
||||
csLineModel.setPid(pId);
|
||||
if (Objects.equals(item.getClDid(),1) || Objects.equals(item.getLocation(), TypeEnum.GUID.getCode())){
|
||||
csLineModel.setName("电网侧监测点");
|
||||
csLineModel.setPosition(dicDataFeignClient.getDicDataByCode(DicDataEnum.GRID_SIDE.getCode()).getData().getId());
|
||||
} else if (Objects.equals(item.getClDid(),2) || Objects.equals(item.getLocation(), TypeEnum.LOAD.getCode())){
|
||||
csLineModel.setName("负载侧监测点");
|
||||
csLineModel.setPosition(dicDataFeignClient.getDicDataByCode(DicDataEnum.LOAD_SIDE.getCode()).getData().getId());
|
||||
}
|
||||
result.add(csLineModel);
|
||||
});
|
||||
//根据设备型号获取设备类型,根据设备类型生成监测点模板表数据
|
||||
DictTreeVO vo1 = dictTreeFeignClient.queryByCode(devType).getData();
|
||||
SysDicTreePO po1 = dictTreeFeignClient.queryById(vo1.getPid()).getData();
|
||||
if (Objects.equals(po1.getCode(),"Direct_Connected_Device") || Objects.equals(po1.getCode(),"Portable")){
|
||||
list.forEach(item->{
|
||||
CsLineModel csLineModel = new CsLineModel();
|
||||
csLineModel.setLineId(IdUtil.fastSimpleUUID());
|
||||
csLineModel.setPid(pId);
|
||||
if (Objects.equals(item.getClDid(),1) || Objects.equals(item.getLocation(), TypeEnum.GUID.getCode())){
|
||||
csLineModel.setName("电网侧监测点");
|
||||
csLineModel.setPosition(dicDataFeignClient.getDicDataByCode(DicDataEnum.GRID_SIDE.getCode()).getData().getId());
|
||||
} else if (Objects.equals(item.getClDid(),2) || Objects.equals(item.getLocation(), TypeEnum.LOAD.getCode())){
|
||||
csLineModel.setName("负载侧监测点");
|
||||
csLineModel.setPosition(dicDataFeignClient.getDicDataByCode(DicDataEnum.LOAD_SIDE.getCode()).getData().getId());
|
||||
} else {
|
||||
csLineModel.setName("输出侧监测点");
|
||||
csLineModel.setPosition(dicDataFeignClient.getDicDataByCode(DicDataEnum.OUTPUT_SIDE.getCode()).getData().getId());
|
||||
}
|
||||
result.add(csLineModel);
|
||||
});
|
||||
} else {
|
||||
list.forEach(item->{
|
||||
CsLineModel csLineModel = new CsLineModel();
|
||||
csLineModel.setLineId(IdUtil.fastSimpleUUID());
|
||||
csLineModel.setPid(pId);
|
||||
csLineModel.setName(item.getClDid() + "#监测点");
|
||||
csLineModel.setPosition("");
|
||||
result.add(csLineModel);
|
||||
});
|
||||
}
|
||||
}
|
||||
if (CollectionUtil.isNotEmpty(result)){
|
||||
csLineModelService.addList(result);
|
||||
|
||||
@@ -122,7 +122,8 @@ public class CsHeartServiceImpl implements ICsHeartService {
|
||||
csEquipmentDeliveryService.updateRunStatusBynDid(nDid, AccessEnum.OFFLINE.getCode());
|
||||
//装置调整为注册状态
|
||||
csEquipmentDeliveryService.updateStatusBynDid(nDid,AccessEnum.REGISTERED.getCode(),null,null);
|
||||
sendMessage(nDid);
|
||||
//设备离线通知关闭
|
||||
//sendMessage(nDid);
|
||||
//记录装置掉线时间
|
||||
PqsCommunicateDto dto = new PqsCommunicateDto();
|
||||
dto.setTime(LocalDateTime.now().format(DateTimeFormatter.ofPattern(DatePattern.NORM_DATETIME_PATTERN)));
|
||||
|
||||
@@ -21,7 +21,6 @@ import com.njcn.system.pojo.po.EleEpdPqd;
|
||||
import com.njcn.system.pojo.po.SysDicTreePO;
|
||||
import com.njcn.zlevent.mapper.CsEventMapper;
|
||||
import com.njcn.zlevent.pojo.po.CsEventLogs;
|
||||
//import com.njcn.zlevent.service.AppNotificationService;
|
||||
import com.njcn.zlevent.service.ICsAlarmService;
|
||||
import com.njcn.zlevent.service.ICsEventLogsService;
|
||||
import com.njcn.zlevent.service.ICsEventService;
|
||||
@@ -138,11 +137,9 @@ public class CsAlarmServiceImpl extends ServiceImpl<CsEventMapper, CsEventPO> im
|
||||
if (Objects.isNull(item.getCode())){
|
||||
msgSendParam.setEventName(item.getName());
|
||||
msgSendFeignClient.appMsgSend(msgSendParam);
|
||||
// appNotificationService.sendAppNotification(2,item.getType(),po.getId(),item.getName(),eventTime,id,po.getNdid(),null,null,null);
|
||||
} else {
|
||||
msgSendParam.setEventName(item.getCode());
|
||||
msgSendFeignClient.appMsgSend(msgSendParam);
|
||||
// appNotificationService.sendAppNotification(2,item.getType(),po.getId(),item.getCode(),eventTime,id,po.getNdid(),null, null,null);
|
||||
//更新字典信息
|
||||
EleEpdPqd eleEpdPqd = epdFeignClient.findByName(item.getName()).getData();
|
||||
EleEpdPqdParam.EleEpdPqdUpdateParam updateParam = new EleEpdPqdParam.EleEpdPqdUpdateParam();
|
||||
|
||||
@@ -247,18 +247,20 @@ public class EventServiceImpl implements IEventService {
|
||||
}
|
||||
}
|
||||
}
|
||||
MsgSendParam msgSendParam = new MsgSendParam();
|
||||
msgSendParam.setEventType(1);
|
||||
msgSendParam.setType("2");
|
||||
msgSendParam.setDevId(po.getId());
|
||||
msgSendParam.setEventName(item.getName());
|
||||
msgSendParam.setEventTime(eventTime);
|
||||
msgSendParam.setId(id);
|
||||
msgSendParam.setNDid(po.getNdid());
|
||||
msgSendParam.setAmplitude(amplitude);
|
||||
msgSendParam.setPersistTime(persistTime);
|
||||
msgSendParam.setDropZone(dropZone);
|
||||
msgSendFeignClient.appMsgSend(msgSendParam);
|
||||
if (Objects.equals(item.getType(),"2")){
|
||||
MsgSendParam msgSendParam = new MsgSendParam();
|
||||
msgSendParam.setEventType(1);
|
||||
msgSendParam.setType("2");
|
||||
msgSendParam.setDevId(po.getId());
|
||||
msgSendParam.setEventName(item.getName());
|
||||
msgSendParam.setEventTime(eventTime);
|
||||
msgSendParam.setId(id);
|
||||
msgSendParam.setNDid(po.getNdid());
|
||||
msgSendParam.setAmplitude(amplitude);
|
||||
msgSendParam.setPersistTime(persistTime);
|
||||
msgSendParam.setDropZone(dropZone);
|
||||
msgSendFeignClient.appMsgSend(msgSendParam);
|
||||
}
|
||||
//如果是暂降事件,则异步发送短信
|
||||
if (Objects.equals(item.getName(), "Evt_Sys_DipStr")) {
|
||||
MsgSendParam msgSendParam2 = new MsgSendParam();
|
||||
|
||||
Reference in New Issue
Block a user