暂降事件处理

This commit is contained in:
2025-06-25 21:02:30 +08:00
parent 5905c0b438
commit 482d7f6ce5
10 changed files with 127 additions and 13 deletions

View File

@@ -50,5 +50,9 @@
and pq_line.SUBV_INDEX = PQ_SUBVOLTAGE.SUBV_INDEX
and PQ_SUBVOLTAGE.DEV_INDEX = pq_device.DEV_INDEX
and pq_device.SUB_INDEX = PQ_SUBSTATION.SUB_INDEX
and pq_line.line_index in
<foreach collection="ids" item="item" open="(" close=")" separator=",">
#{item}
</foreach>
</select>
</mapper>

View File

@@ -2,6 +2,7 @@ package com.njcn.gather.event.transientes.controller;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.njcn.common.pojo.annotation.OperateInfo;
import com.njcn.common.pojo.constant.OperateType;
import com.njcn.common.pojo.enums.response.CommonResponseEnum;
import com.njcn.common.pojo.response.HttpResult;
import com.njcn.gather.event.transientes.pojo.param.LargeScreenCountParam;
@@ -80,9 +81,6 @@ public class LargeScreenCountController extends BaseController {
}
@OperateInfo
@PostMapping("/noDealEventList")
@ApiOperation("未处理暂降事件列表")
@@ -94,8 +92,15 @@ public class LargeScreenCountController extends BaseController {
}
@OperateInfo(operateType= OperateType.UPDATE)
@PostMapping("/lookEvent")
@ApiOperation("处理暂降事件")
@ApiImplicitParam(name = "eventIds", value = "暂降事件id", required = true)
public HttpResult<Boolean> lookEvent(@RequestBody List<String> eventIds) {
String methodDescribe = getMethodDescribe("lookEvent");
boolean result = largeScreenCountService.lookEvent(eventIds);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe);
}

View File

@@ -0,0 +1,9 @@
package com.njcn.gather.event.transientes.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.njcn.gather.event.transientes.pojo.po.MsgEventInfo;
import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface MsgEventInfoMapper extends BaseMapper<MsgEventInfo> {
}

View File

@@ -0,0 +1,49 @@
package com.njcn.gather.event.transientes.pojo.po;
/**
* @Author: cdf
* @CreateTime: 2025-06-25
* @Description:
*/
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.io.Serializable;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.Date;
/**
* 消息事件信息实体
*/
@Data
@TableName("MSG_EVENT_INFO")
public class MsgEventInfo implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 消息索引
*/
private String msgIndex;
/**
* 用户ID
*/
private String userId;
/**
* 发送时间
*/
private LocalDateTime sendTime;
/**
* 消息内容
*/
private String msgContent;
/**
* 事件索引
*/
private String eventIndex;
}

View File

@@ -6,6 +6,8 @@ import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import lombok.NoArgsConstructor;
@@ -28,6 +30,7 @@ public class PqsEventdetail {
private Integer lineid;
@TableField(value = "TIMEID")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime timeid;
@TableField(value = "MS")

View File

@@ -1,5 +1,6 @@
package com.njcn.gather.event.transientes.pojo.vo;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import java.math.BigDecimal;
@@ -15,13 +16,14 @@ import java.time.LocalDateTime;
@Data
public class EventDetailVO {
private String eventdetailIndex;
private String eventdetail_index;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime timeid;
private BigDecimal ms;
private Short wavetype;
private String wavetype;
private Double eventvalue;
@@ -29,10 +31,14 @@ public class EventDetailVO {
private Integer noticeFlag;
private String lineName;
private Integer lineid;
private String pointname;
private String persisttime;
private String stationName;
private String bdname;
private String objName;
}

View File

@@ -29,4 +29,5 @@ public interface LargeScreenCountService {
List<EventDetailVO> noDealEventList(LargeScreenCountParam largeScreenCountParam);
boolean lookEvent(List<String> ids);
}

View File

@@ -0,0 +1,7 @@
package com.njcn.gather.event.transientes.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.njcn.gather.event.transientes.pojo.po.MsgEventInfo;
public interface MsgEventInfoService extends IService<MsgEventInfo> {
}

View File

@@ -11,6 +11,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.github.yulichang.wrapper.segments.Fun;
import com.njcn.common.pojo.enums.common.DataStateEnum;
import com.njcn.common.pojo.exception.BusinessException;
@@ -277,15 +278,22 @@ public class LargeScreenCountServiceImpl implements LargeScreenCountService {
}
List<PqsEventdetail> eventList = pqsEventdetailService.list(lambdaQueryWrapper);
if(CollUtil.isNotEmpty(eventList)){
List<LedgerBaseInfoDTO> pqLineList = pqLineMapper.getBaseLineInfo(deptslineIds);
List<Integer> ids = eventList.stream().map(PqsEventdetail::getLineid).distinct().collect(Collectors.toList());
List<LedgerBaseInfoDTO> pqLineList = pqLineMapper.getBaseLineInfo(ids);
Map<Integer,LedgerBaseInfoDTO> ledgerBaseInfoDTOMap = pqLineList.stream().collect(Collectors.toMap(LedgerBaseInfoDTO::getLineId, Function.identity()));
eventList.forEach(it->{
EventDetailVO eventDetailVO = new EventDetailVO();
BeanUtil.copyProperties(it,eventDetailVO);
eventDetailVO.setEventdetail_index(it.getEventdetailIndex());
eventDetailVO.setTimeid(it.getTimeid());
eventDetailVO.setMs(it.getMs());
eventDetailVO.setWavetype(it.getWavetype().toString());
eventDetailVO.setPersisttime(it.getPersisttime().toString());
eventDetailVO.setEventvalue(it.getEventvalue());
if(ledgerBaseInfoDTOMap.containsKey(it.getLineid())){
LedgerBaseInfoDTO ledgerBaseInfoDTO = ledgerBaseInfoDTOMap.get(it.getLineid());
eventDetailVO.setLineName(ledgerBaseInfoDTO.getLineName());
eventDetailVO.setStationName(ledgerBaseInfoDTO.getStationName());
eventDetailVO.setLineid(ledgerBaseInfoDTO.getLineId());
eventDetailVO.setPointname(ledgerBaseInfoDTO.getLineName());
eventDetailVO.setBdname(ledgerBaseInfoDTO.getStationName());
}
result.add(eventDetailVO);
});
@@ -293,5 +301,13 @@ public class LargeScreenCountServiceImpl implements LargeScreenCountService {
return result;
}
@Override
public boolean lookEvent(List<String> ids) {
LambdaUpdateWrapper<PqsEventdetail> updateWrapper = new LambdaUpdateWrapper<>();
updateWrapper.in(PqsEventdetail::getEventdetailIndex,ids).set(PqsEventdetail::getLookFlag,DataStateEnum.ENABLE.getCode());
pqsEventdetailService.update(updateWrapper);
return true;
}
}

View File

@@ -0,0 +1,14 @@
package com.njcn.gather.event.transientes.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.njcn.gather.event.transientes.mapper.MsgEventInfoMapper;
import com.njcn.gather.event.transientes.pojo.po.MsgEventInfo;
import com.njcn.gather.event.transientes.service.MsgEventInfoService;
/**
* @Author: cdf
* @CreateTime: 2025-06-25
* @Description:
*/
public class MsgEventInfoServiceImpl extends ServiceImpl<MsgEventInfoMapper, MsgEventInfo> implements MsgEventInfoService {
}