feat(event): 添加电能质量事件源信息存储和查询功能
- 在事件详情表中新增 SagSource 字段存储 - 修改 insertEvent 方法增加 sagSource 参数传递 - 优化事件用户查询页面的搜索逻辑,支持按告警码查询 - 更新 XML 映射文件中的搜索条件构建方式 - 添加对电能质量参数 EPD 列表的查询支持 - 修复数据服务中排序字段错误问题 - 补充便携式离线日志处理中的源信息同步
This commit is contained in:
@@ -628,6 +628,9 @@ public class PortableOfflLogServiceImpl extends ServiceImpl<PortableOfflLogMappe
|
|||||||
} else {
|
} else {
|
||||||
rmpEventDetailPo.setDealFlag(0);
|
rmpEventDetailPo.setDealFlag(0);
|
||||||
}
|
}
|
||||||
|
if (!Objects.isNull(item.getSagSource())) {
|
||||||
|
rmpEventDetailPo.setSagsource(item.getSagSource());
|
||||||
|
}
|
||||||
wlRmpEventDetailMapper.insert(rmpEventDetailPo);
|
wlRmpEventDetailMapper.insert(rmpEventDetailPo);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -7,6 +7,7 @@ import org.hibernate.validator.constraints.Range;
|
|||||||
|
|
||||||
import javax.validation.constraints.Min;
|
import javax.validation.constraints.Min;
|
||||||
import javax.validation.constraints.NotNull;
|
import javax.validation.constraints.NotNull;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
@@ -81,4 +82,6 @@ public class CsEventUserQueryPage extends CsEventUserQueryParam{
|
|||||||
|
|
||||||
@ApiModelProperty(value = "是否是dvr治理效果 0:否 1:是")
|
@ApiModelProperty(value = "是否是dvr治理效果 0:否 1:是")
|
||||||
private Integer isDvr;
|
private Integer isDvr;
|
||||||
|
|
||||||
|
private List<String> epdTagList;
|
||||||
}
|
}
|
||||||
@@ -223,13 +223,25 @@
|
|||||||
<if test="csEventUserQueryPage!=null and csEventUserQueryPage.severityMax != null and csEventUserQueryPage.severityMax !=''">
|
<if test="csEventUserQueryPage!=null and csEventUserQueryPage.severityMax != null and csEventUserQueryPage.severityMax !=''">
|
||||||
AND b.severity < #{csEventUserQueryPage.severityMax}
|
AND b.severity < #{csEventUserQueryPage.severityMax}
|
||||||
</if>
|
</if>
|
||||||
<if test="csEventUserQueryPage!=null and csEventUserQueryPage.searchValue != null and csEventUserQueryPage.searchValue !=''">
|
<if test="csEventUserQueryPage != null and csEventUserQueryPage.searchValue != null and csEventUserQueryPage.searchValue != ''">
|
||||||
<if test="csEventUserQueryPage.type != null and csEventUserQueryPage.type !='' and csEventUserQueryPage.type == 3 ">
|
AND (
|
||||||
AND e.name like concat('%',#{csEventUserQueryPage.searchValue},'%')
|
<!-- 名称匹配(根据type区分线路名/设备名) -->
|
||||||
</if>
|
<choose>
|
||||||
<if test="csEventUserQueryPage.type != null and csEventUserQueryPage.type !='' and csEventUserQueryPage.type != 3 ">
|
<when test="csEventUserQueryPage.type != null and csEventUserQueryPage.type == 3">
|
||||||
AND d.name like concat('%',#{csEventUserQueryPage.searchValue},'%')
|
e.name LIKE CONCAT('%', #{csEventUserQueryPage.searchValue}, '%')
|
||||||
|
</when>
|
||||||
|
<otherwise>
|
||||||
|
d.name LIKE CONCAT('%', #{csEventUserQueryPage.searchValue}, '%')
|
||||||
|
</otherwise>
|
||||||
|
</choose>
|
||||||
|
<!-- OR tag匹配:当epdTagList不为空时,加入tag IN条件 -->
|
||||||
|
<if test="csEventUserQueryPage.epdTagList != null and csEventUserQueryPage.epdTagList.size() > 0">
|
||||||
|
OR b.tag IN
|
||||||
|
<foreach collection="csEventUserQueryPage.epdTagList" item="tagItem" open="(" separator="," close=")">
|
||||||
|
#{tagItem}
|
||||||
|
</foreach>
|
||||||
</if>
|
</if>
|
||||||
|
)
|
||||||
</if>
|
</if>
|
||||||
<if test="csEventUserQueryPage!=null and csEventUserQueryPage.fileFlag != null">
|
<if test="csEventUserQueryPage!=null and csEventUserQueryPage.fileFlag != null">
|
||||||
<if test="csEventUserQueryPage!=null and csEventUserQueryPage.fileFlag == 0 ">
|
<if test="csEventUserQueryPage!=null and csEventUserQueryPage.fileFlag == 0 ">
|
||||||
|
|||||||
@@ -479,7 +479,7 @@ public class CsEventPOServiceImpl extends ServiceImpl<CsEventPOMapper, CsEventPO
|
|||||||
influxDbUtils.batchInsert(influxDbUtils.getDbName(), "", InfluxDB.ConsistencyLevel.ALL, TimeUnit.MILLISECONDS, records);
|
influxDbUtils.batchInsert(influxDbUtils.getDbName(), "", InfluxDB.ConsistencyLevel.ALL, TimeUnit.MILLISECONDS, records);
|
||||||
}
|
}
|
||||||
//同步数据到 r_mp_event_detail
|
//同步数据到 r_mp_event_detail
|
||||||
insertEvent(uuid, param, time, eventPo.getSeverity());
|
insertEvent(uuid, param, time, eventPo.getSeverity(),eventPo.getSagSource());
|
||||||
|
|
||||||
//获取台账信息
|
//获取台账信息
|
||||||
DevDetailDTO devDetailDto = csLedgerFeignclient.queryDevDetail(po.getDeviceId()).getData();
|
DevDetailDTO devDetailDto = csLedgerFeignclient.queryDevDetail(po.getDeviceId()).getData();
|
||||||
@@ -577,7 +577,7 @@ public class CsEventPOServiceImpl extends ServiceImpl<CsEventPOMapper, CsEventPO
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void insertEvent(String uuid, CldEventParam param, LocalDateTime time, Double severity) {
|
public void insertEvent(String uuid, CldEventParam param, LocalDateTime time, Double severity, String sagSource) {
|
||||||
RmpEventDetailPO rmpEventDetailPO = new RmpEventDetailPO();
|
RmpEventDetailPO rmpEventDetailPO = new RmpEventDetailPO();
|
||||||
rmpEventDetailPO.setEventId(uuid);
|
rmpEventDetailPO.setEventId(uuid);
|
||||||
rmpEventDetailPO.setMeasurementPointId(param.getMonitorId());
|
rmpEventDetailPO.setMeasurementPointId(param.getMonitorId());
|
||||||
@@ -590,6 +590,7 @@ public class CsEventPOServiceImpl extends ServiceImpl<CsEventPOMapper, CsEventPO
|
|||||||
rmpEventDetailPO.setDealFlag(0);
|
rmpEventDetailPO.setDealFlag(0);
|
||||||
rmpEventDetailPO.setFileFlag(0);
|
rmpEventDetailPO.setFileFlag(0);
|
||||||
rmpEventDetailPO.setSeverity(severity);
|
rmpEventDetailPO.setSeverity(severity);
|
||||||
|
rmpEventDetailPO.setSagsource(sagSource);
|
||||||
wlRmpEventDetailMapper.insert(rmpEventDetailPO);
|
wlRmpEventDetailMapper.insert(rmpEventDetailPO);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -4,6 +4,7 @@ import cn.hutool.core.collection.CollUtil;
|
|||||||
import cn.hutool.core.collection.CollectionUtil;
|
import cn.hutool.core.collection.CollectionUtil;
|
||||||
import cn.hutool.core.date.DateUtil;
|
import cn.hutool.core.date.DateUtil;
|
||||||
import cn.hutool.core.util.ObjectUtil;
|
import cn.hutool.core.util.ObjectUtil;
|
||||||
|
import cn.hutool.core.util.StrUtil;
|
||||||
import com.alibaba.csp.sentinel.util.StringUtil;
|
import com.alibaba.csp.sentinel.util.StringUtil;
|
||||||
import com.alibaba.fastjson.JSONArray;
|
import com.alibaba.fastjson.JSONArray;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
@@ -461,6 +462,17 @@ public class CsEventUserPOServiceImpl extends ServiceImpl<CsEventUserPOMapper, C
|
|||||||
csEventUserQueryPage.setTarget(tag);
|
csEventUserQueryPage.setTarget(tag);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
//获取告警码
|
||||||
|
String searchValue = csEventUserQueryPage.getSearchValue();
|
||||||
|
if (StrUtil.isNotBlank(searchValue)) {
|
||||||
|
List<EleEpdPqd> epdList = epdFeignClient.findListByCode(searchValue).getData();
|
||||||
|
if (CollUtil.isNotEmpty(epdList)) {
|
||||||
|
List<String> epdTagList = epdList.stream()
|
||||||
|
.map(EleEpdPqd::getName)
|
||||||
|
.collect(Collectors.toList());
|
||||||
|
csEventUserQueryPage.setEpdTagList(epdTagList);
|
||||||
|
}
|
||||||
|
}
|
||||||
//获取监测点电压等级
|
//获取监测点电压等级
|
||||||
List<CsLineDTO> list = csLineFeignClient.getAllLineDetail().getData();
|
List<CsLineDTO> list = csLineFeignClient.getAllLineDetail().getData();
|
||||||
Map<String, CsLineDTO> map = list.stream().collect(Collectors.toMap(CsLineDTO::getLineId, temp -> temp));
|
Map<String, CsLineDTO> map = list.stream().collect(Collectors.toMap(CsLineDTO::getLineId, temp -> temp));
|
||||||
@@ -559,65 +571,172 @@ public class CsEventUserPOServiceImpl extends ServiceImpl<CsEventUserPOMapper, C
|
|||||||
@Override
|
@Override
|
||||||
public Page<FrontWarnVo> getFrontWarnInfo(CldWarnParam baseParam) {
|
public Page<FrontWarnVo> getFrontWarnInfo(CldWarnParam baseParam) {
|
||||||
Page<FrontWarnVo> result = new Page<>(baseParam.getPageNum(), baseParam.getPageSize());
|
Page<FrontWarnVo> result = new Page<>(baseParam.getPageNum(), baseParam.getPageSize());
|
||||||
Page<CsEventPO> page = new Page<>(baseParam.getPageNum(), baseParam.getPageSize());
|
|
||||||
List<Node> nodeList = nodeFeignClient.nodeAllList().getData();
|
|
||||||
Map<String, Node> nodeMap = new HashMap<>();
|
|
||||||
|
|
||||||
if (CollectionUtil.isNotEmpty(nodeList)) {
|
// 1. 获取全量节点并构建映射(始终保留全量map用于后续VO转换)
|
||||||
nodeMap = nodeList.stream().collect(Collectors.toMap(Node::getId, Function.identity()));
|
List<Node> nodeList = nodeFeignClient.nodeAllList().getData();
|
||||||
if (ObjectUtil.isNotNull(baseParam.getSearchValue()) || StringUtil.isNotBlank(baseParam.getSearchValue())) {
|
if (CollectionUtil.isEmpty(nodeList)) {
|
||||||
nodeList = nodeList.stream().filter(item-> item.getName().contains(baseParam.getSearchValue()) || item.getIp().contains(baseParam.getSearchValue())).collect(Collectors.toList());
|
return result;
|
||||||
}
|
}
|
||||||
if (CollectionUtil.isNotEmpty(nodeList)) {
|
Map<String, Node> nodeMap = nodeList.stream()
|
||||||
List<String> nodeIds = nodeList.stream().map(Node::getId).collect(Collectors.toList());
|
.collect(Collectors.toMap(Node::getId, Function.identity(), (a, b) -> a));
|
||||||
|
|
||||||
|
// 2. 提取搜索关键词,避免重复调用getter
|
||||||
|
String searchValue = baseParam.getSearchValue();
|
||||||
|
boolean hasSearchValue = StrUtil.isNotBlank(searchValue);
|
||||||
|
// 3. 根据搜索词筛选出"名称/IP匹配"的节点ID(仅作为OR条件的一部分)
|
||||||
|
List<String> matchedNodeIds;
|
||||||
|
if (hasSearchValue) {
|
||||||
|
matchedNodeIds = nodeList.stream()
|
||||||
|
.filter(item -> item.getName().contains(searchValue)
|
||||||
|
|
||||||
|
|| item.getIp().contains(searchValue))
|
||||||
|
.map(Node::getId)
|
||||||
|
.collect(Collectors.toList());
|
||||||
|
} else {
|
||||||
|
matchedNodeIds = Collections.emptyList();
|
||||||
|
}
|
||||||
|
// 4. 全量节点ID(用于限定查询总范围,防止code LIKE查到无关设备)
|
||||||
|
List<String> allNodeIds = nodeList.stream()
|
||||||
|
.map(Node::getId)
|
||||||
|
.collect(Collectors.toList());
|
||||||
|
|
||||||
|
// 5. 构建查询条件
|
||||||
LambdaQueryWrapper<CsEventPO> queryWrapper = new LambdaQueryWrapper<>();
|
LambdaQueryWrapper<CsEventPO> queryWrapper = new LambdaQueryWrapper<>();
|
||||||
queryWrapper.in(CsEventPO::getDeviceId, nodeIds)
|
// 搜索条件下 deviceId 与 code 改为 OR 关系
|
||||||
.between(CsEventPO::getStartTime,
|
if (hasSearchValue) {
|
||||||
|
if (CollectionUtil.isNotEmpty(matchedNodeIds)) {
|
||||||
|
// 有匹配节点:(deviceId IN 匹配节点 OR code LIKE) AND deviceId IN 全部节点
|
||||||
|
queryWrapper.in(CsEventPO::getDeviceId, allNodeIds)
|
||||||
|
.and(w -> w
|
||||||
|
.in(CsEventPO::getDeviceId, matchedNodeIds)
|
||||||
|
.or()
|
||||||
|
.like(CsEventPO::getCode, searchValue)
|
||||||
|
);
|
||||||
|
} else {
|
||||||
|
// 无匹配节点:仅靠 code LIKE,但仍限定在全部节点范围内
|
||||||
|
queryWrapper.in(CsEventPO::getDeviceId, allNodeIds)
|
||||||
|
.and(w -> w.like(CsEventPO::getCode, searchValue));
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
// 无搜索词:正常按全部节点查询
|
||||||
|
queryWrapper.in(CsEventPO::getDeviceId, allNodeIds);
|
||||||
|
}
|
||||||
|
// 时间范围 & 类型固定条件
|
||||||
|
queryWrapper.between(CsEventPO::getStartTime,
|
||||||
DateUtil.beginOfDay(DateUtil.parse(baseParam.getSearchBeginTime())).toString(),
|
DateUtil.beginOfDay(DateUtil.parse(baseParam.getSearchBeginTime())).toString(),
|
||||||
DateUtil.endOfDay(DateUtil.parse(baseParam.getSearchEndTime())).toString())
|
DateUtil.endOfDay(DateUtil.parse(baseParam.getSearchEndTime())).toString())
|
||||||
.eq(CsEventPO::getType, 4)
|
.eq(CsEventPO::getType, 4)
|
||||||
.orderByDesc(CsEventPO::getStartTime);
|
.orderByDesc(CsEventPO::getStartTime);
|
||||||
if (ObjectUtil.isNotNull(baseParam.getLevel()) && StringUtil.isNotBlank(baseParam.getLevel())) {
|
// 等级筛选
|
||||||
|
if (StrUtil.isNotBlank(baseParam.getLevel())) {
|
||||||
List<Integer> levelList = Arrays.stream(baseParam.getLevel().split(","))
|
List<Integer> levelList = Arrays.stream(baseParam.getLevel().split(","))
|
||||||
.map(String::trim)
|
.map(String::trim)
|
||||||
.filter(s -> !s.isEmpty())
|
.filter(s -> !s.isEmpty())
|
||||||
.map(Integer::parseInt)
|
.map(Integer::parseInt)
|
||||||
.collect(Collectors.toList());
|
.collect(Collectors.toList());
|
||||||
|
if (CollectionUtil.isNotEmpty(levelList)) {
|
||||||
queryWrapper.in(CsEventPO::getLevel, levelList);
|
queryWrapper.in(CsEventPO::getLevel, levelList);
|
||||||
}
|
}
|
||||||
page = csEventPOMapper.selectPage(page, queryWrapper);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 6. 执行分页查询
|
||||||
|
Page<CsEventPO> page = csEventPOMapper.selectPage(
|
||||||
|
new Page<>(baseParam.getPageNum(), baseParam.getPageSize()), queryWrapper);
|
||||||
|
// 7. 结果转换
|
||||||
List<CsEventPO> records = page.getRecords();
|
List<CsEventPO> records = page.getRecords();
|
||||||
if (CollUtil.isNotEmpty(records)) {
|
if (CollUtil.isEmpty(records)) {
|
||||||
List<FrontWarnVo> frontWarnVos = new ArrayList<>();
|
return result;
|
||||||
Map<String, Node> finalNodeMap = nodeMap;
|
}
|
||||||
page.getRecords().forEach(item->{
|
List<FrontWarnVo> frontWarnVos = records.stream().map(item -> {
|
||||||
FrontWarnVo vo = new FrontWarnVo();
|
FrontWarnVo vo = new FrontWarnVo();
|
||||||
//这边将前置名称放进lineId字段;将前置IP放进wavePath字段;进程号使用clDid
|
// 填充节点信息(使用全量nodeMap,而非过滤后的列表)
|
||||||
Node node = finalNodeMap.get(item.getDeviceId());
|
Node node = nodeMap.get(item.getDeviceId());
|
||||||
item.setLineId(Objects.isNull(node) ? null : node.getName());
|
item.setLineId(node != null ? node.getName() : null);
|
||||||
item.setWavePath(Objects.isNull(node) ? null : node.getIp());
|
item.setWavePath(node != null ? node.getIp() : null);
|
||||||
//事件等级(1:Ⅰ级||ERROR 2:Ⅱ级||WARN 3:Ⅲ级||(DEBUG&&NORMAL))
|
// 事件等级映射: 4,5→3(DEBUG/NORMAL) | 6→2(WARN) | 7→1(ERROR)
|
||||||
if (item.getLevel() == 4 || item.getLevel() == 5) {
|
Integer level = item.getLevel();
|
||||||
|
if (level == 4 || level == 5) {
|
||||||
item.setLevel(3);
|
item.setLevel(3);
|
||||||
} else if (item.getLevel() == 6) {
|
} else if (level == 6) {
|
||||||
item.setLevel(2);
|
item.setLevel(2);
|
||||||
} else if (item.getLevel() == 7) {
|
} else if (level == 7) {
|
||||||
item.setLevel(1);
|
item.setLevel(1);
|
||||||
}
|
}
|
||||||
BeanUtils.copyProperties(item, vo);
|
BeanUtils.copyProperties(item, vo);
|
||||||
frontWarnVos.add(vo);
|
return vo;
|
||||||
});
|
}).collect(Collectors.toList());
|
||||||
|
|
||||||
result.setRecords(frontWarnVos);
|
result.setRecords(frontWarnVos);
|
||||||
result.setTotal(page.getTotal());
|
result.setTotal(page.getTotal());
|
||||||
result.setPages(page.getPages());
|
result.setPages(page.getPages());
|
||||||
result.setCurrent(page.getCurrent());
|
result.setCurrent(page.getCurrent());
|
||||||
result.setSize(page.getSize());
|
result.setSize(page.getSize());
|
||||||
}
|
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// @Override
|
||||||
|
// public Page<FrontWarnVo> getFrontWarnInfo(CldWarnParam baseParam) {
|
||||||
|
// Page<FrontWarnVo> result = new Page<>(baseParam.getPageNum(), baseParam.getPageSize());
|
||||||
|
// Page<CsEventPO> page = new Page<>(baseParam.getPageNum(), baseParam.getPageSize());
|
||||||
|
// List<Node> nodeList = nodeFeignClient.nodeAllList().getData();
|
||||||
|
// Map<String, Node> nodeMap = new HashMap<>();
|
||||||
|
//
|
||||||
|
// if (CollectionUtil.isNotEmpty(nodeList)) {
|
||||||
|
// nodeMap = nodeList.stream().collect(Collectors.toMap(Node::getId, Function.identity()));
|
||||||
|
// if (ObjectUtil.isNotNull(baseParam.getSearchValue()) || StringUtil.isNotBlank(baseParam.getSearchValue())) {
|
||||||
|
// nodeList = nodeList.stream().filter(item-> item.getName().contains(baseParam.getSearchValue()) || item.getIp().contains(baseParam.getSearchValue())).collect(Collectors.toList());
|
||||||
|
// }
|
||||||
|
// if (CollectionUtil.isNotEmpty(nodeList)) {
|
||||||
|
// List<String> nodeIds = nodeList.stream().map(Node::getId).collect(Collectors.toList());
|
||||||
|
// LambdaQueryWrapper<CsEventPO> queryWrapper = new LambdaQueryWrapper<>();
|
||||||
|
// queryWrapper.in(CsEventPO::getDeviceId, nodeIds)
|
||||||
|
// .between(CsEventPO::getStartTime,
|
||||||
|
// DateUtil.beginOfDay(DateUtil.parse(baseParam.getSearchBeginTime())).toString(),
|
||||||
|
// DateUtil.endOfDay(DateUtil.parse(baseParam.getSearchEndTime())).toString())
|
||||||
|
// .eq(CsEventPO::getType, 4)
|
||||||
|
// .like(StrUtil.isNotBlank(baseParam.getSearchValue()), CsEventPO::getCode, baseParam.getSearchValue())
|
||||||
|
// .orderByDesc(CsEventPO::getStartTime);
|
||||||
|
// if (ObjectUtil.isNotNull(baseParam.getLevel()) && StringUtil.isNotBlank(baseParam.getLevel())) {
|
||||||
|
// List<Integer> levelList = Arrays.stream(baseParam.getLevel().split(","))
|
||||||
|
// .map(String::trim)
|
||||||
|
// .filter(s -> !s.isEmpty())
|
||||||
|
// .map(Integer::parseInt)
|
||||||
|
// .collect(Collectors.toList());
|
||||||
|
// queryWrapper.in(CsEventPO::getLevel, levelList);
|
||||||
|
// }
|
||||||
|
// page = csEventPOMapper.selectPage(page, queryWrapper);
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// List<CsEventPO> records = page.getRecords();
|
||||||
|
// if (CollUtil.isNotEmpty(records)) {
|
||||||
|
// List<FrontWarnVo> frontWarnVos = new ArrayList<>();
|
||||||
|
// Map<String, Node> finalNodeMap = nodeMap;
|
||||||
|
// page.getRecords().forEach(item->{
|
||||||
|
// FrontWarnVo vo = new FrontWarnVo();
|
||||||
|
// //这边将前置名称放进lineId字段;将前置IP放进wavePath字段;进程号使用clDid
|
||||||
|
// Node node = finalNodeMap.get(item.getDeviceId());
|
||||||
|
// item.setLineId(Objects.isNull(node) ? null : node.getName());
|
||||||
|
// item.setWavePath(Objects.isNull(node) ? null : node.getIp());
|
||||||
|
// //事件等级(1:Ⅰ级||ERROR 2:Ⅱ级||WARN 3:Ⅲ级||(DEBUG&&NORMAL))
|
||||||
|
// if (item.getLevel() == 4 || item.getLevel() == 5) {
|
||||||
|
// item.setLevel(3);
|
||||||
|
// } else if (item.getLevel() == 6) {
|
||||||
|
// item.setLevel(2);
|
||||||
|
// } else if (item.getLevel() == 7) {
|
||||||
|
// item.setLevel(1);
|
||||||
|
// }
|
||||||
|
// BeanUtils.copyProperties(item, vo);
|
||||||
|
// frontWarnVos.add(vo);
|
||||||
|
// });
|
||||||
|
// result.setRecords(frontWarnVos);
|
||||||
|
// result.setTotal(page.getTotal());
|
||||||
|
// result.setPages(page.getPages());
|
||||||
|
// result.setCurrent(page.getCurrent());
|
||||||
|
// result.setSize(page.getSize());
|
||||||
|
// }
|
||||||
|
// return result;
|
||||||
|
// }
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<CsEventUserPO> queryEventListByUserId(String userIndex, List<String> eventList) {
|
public List<CsEventUserPO> queryEventListByUserId(String userIndex, List<String> eventList) {
|
||||||
LambdaQueryWrapper<CsEventUserPO> queryWrapper = new LambdaQueryWrapper<>();
|
LambdaQueryWrapper<CsEventUserPO> queryWrapper = new LambdaQueryWrapper<>();
|
||||||
|
|||||||
@@ -1757,7 +1757,7 @@ public class DataServiceImpl implements IDataService {
|
|||||||
if (CollUtil.isNotEmpty(result)) {
|
if (CollUtil.isNotEmpty(result)) {
|
||||||
result.sort(Comparator.comparing(AppLineDetailVo::getProjectName)
|
result.sort(Comparator.comparing(AppLineDetailVo::getProjectName)
|
||||||
.thenComparing(AppLineDetailVo::getDeviceName)
|
.thenComparing(AppLineDetailVo::getDeviceName)
|
||||||
.thenComparing(AppLineDetailVo::getPointId));
|
.thenComparing(AppLineDetailVo::getPointName));
|
||||||
}
|
}
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
@@ -2042,7 +2042,7 @@ public class DataServiceImpl implements IDataService {
|
|||||||
children2.sort(Comparator.comparingInt(AppLineDetailVo.targetDetail::getSort));
|
children2.sort(Comparator.comparingInt(AppLineDetailVo.targetDetail::getSort));
|
||||||
children2.forEach(item2->{
|
children2.forEach(item2->{
|
||||||
if (Objects.isNull(item2.getData())) {
|
if (Objects.isNull(item2.getData())) {
|
||||||
item2.setData(3.15159);
|
item2.setData(3.14159);
|
||||||
}
|
}
|
||||||
if (!Objects.equals(item2.getData(),NULL_DATA)) {
|
if (!Objects.equals(item2.getData(),NULL_DATA)) {
|
||||||
item2.setData(BigDecimal.valueOf(item2.getData()).setScale(2, RoundingMode.HALF_UP).doubleValue());
|
item2.setData(BigDecimal.valueOf(item2.getData()).setScale(2, RoundingMode.HALF_UP).doubleValue());
|
||||||
|
|||||||
Reference in New Issue
Block a user