1.监测点运行状态数据调整;

2.暂态事件同步
This commit is contained in:
xy
2026-01-16 14:57:44 +08:00
parent 0ac51648f4
commit 4497699178
10 changed files with 311 additions and 41 deletions

View File

@@ -1,7 +1,5 @@
package com.njcn.csdevice.controller.line;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.njcn.common.pojo.annotation.OperateInfo;
@@ -28,10 +26,8 @@ import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import springfox.documentation.annotations.ApiIgnore;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
* Description:
@@ -284,16 +280,7 @@ public class CslineController extends BaseController {
@ApiImplicitParam(name = "param", value = "param", required = true)
public HttpResult<List<CsLinePO>> list(@RequestBody CsLinePO param) {
String methodDescribe = getMethodDescribe("list");
List<String> keywordsLineIds = new ArrayList<>();
List<CsLinePO> poList = csLinePOService.getSimpleLine();
if (CollUtil.isNotEmpty(poList)) {
keywordsLineIds = poList.stream().map(CsLinePO::getLineId).collect(Collectors.toList());
}
List<CsLinePO> list = csLinePOService.list(new LambdaQueryWrapper<CsLinePO>()
.eq(CsLinePO::getStatus, 1)
.eq(StrUtil.isNotBlank(param.getPosition()), CsLinePO::getPosition, param.getPosition())
.in(CsLinePO::getLineId, keywordsLineIds)
.orderByAsc(CsLinePO::getName));
List<CsLinePO> list = csLinePOService.getLineList(param);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, list, methodDescribe);
}

View File

@@ -95,4 +95,6 @@ public interface CsLinePOService extends IService<CsLinePO>{
* @return 结果
*/
LineDetailDataVO getLineDetailData(String id);
List<CsLinePO> getLineList(CsLinePO param);
}

View File

@@ -942,9 +942,9 @@ public class CsEquipmentDeliveryServiceImpl extends ServiceImpl<CsEquipmentDeliv
devList.forEach(item->{item.setRunStatus(1);});
this.updateBatchById(devList);
//修改监测点运行状态
List<String> devIdList = devList.stream().map(CsEquipmentDeliveryPO::getId).collect(Collectors.toList());
List<CsLinePO> lineList = csLinePOService.getLinesByDevList(devIdList);
csLinePOService.updateCldLineStatus(lineList,2);
//List<String> devIdList = devList.stream().map(CsEquipmentDeliveryPO::getId).collect(Collectors.toList());
//List<CsLinePO> lineList = csLinePOService.getLinesByDevList(devIdList);
//csLinePOService.updateCldLineStatus(lineList,2);
}
}
@@ -958,9 +958,10 @@ public class CsEquipmentDeliveryServiceImpl extends ServiceImpl<CsEquipmentDeliv
if (ObjectUtil.isNotNull(po)) {
po.setRunStatus(status);
this.updateById(po);
//这边是监测点的运行状态 不是通讯状态,所以不要修改,通讯状态跟着设备的通讯状态来
//修改监测点运行状态
List<CsLinePO> lineList = csLinePOService.getLinesByDevList(Collections.singletonList(po.getId()));
csLinePOService.updateCldLineStatus(lineList,status==1?2:0);
//List<CsLinePO> lineList = csLinePOService.getLinesByDevList(Collections.singletonList(po.getId()));
//csLinePOService.updateCldLineStatus(lineList,status==1?2:0);
}
}

View File

@@ -369,19 +369,21 @@ public class CsLinePOServiceImpl extends ServiceImpl<CsLinePOMapper, CsLinePO> i
}
// 运行状态
if (ObjectUtil.isNotNull(record.getRunStatus())) {
sensitiveUserLineVO.setRunStatus(getRunStatusDescription(record.getRunStatus()));
//获取设备状态
int devRunStatus = csEquipmentDeliveryMapper.selectById(record.getDeviceId()).getRunStatus();
sensitiveUserLineVO.setRunStatus(getRunStatusDescription(devRunStatus));
}
// 报告文件
sensitiveUserLineVO.setReportFilePath(record.getReportFilePath());
// 最新数据时间
List<CsLineLatestData> lineLatestDataList = csLineLatestDataFeignClient.listData().getData();
if (CollUtil.isNotEmpty(lineLatestDataList)) {
sensitiveUserLineVO.setLatestTime(lineLatestDataList.stream()
.filter(item -> item.getLineId().equals(record.getLineId()))
.map(CsLineLatestData::getTimeId)
.max(LocalDateTime::compareTo)
.orElse(null));
}
// List<CsLineLatestData> lineLatestDataList = csLineLatestDataFeignClient.listData().getData();
// if (CollUtil.isNotEmpty(lineLatestDataList)) {
// sensitiveUserLineVO.setLatestTime(lineLatestDataList.stream()
// .filter(item -> item.getLineId().equals(record.getLineId()))
// .map(CsLineLatestData::getTimeId)
// .max(LocalDateTime::compareTo)
// .orElse(null));
// }
list.add(sensitiveUserLineVO);
}
result.setRecords(list);
@@ -443,23 +445,41 @@ public class CsLinePOServiceImpl extends ServiceImpl<CsLinePOMapper, CsLinePO> i
return lineDetailDataVO;
}
}
@Override
public List<CsLinePO> getLineList(CsLinePO param) {
List<CsLinePO> result = new ArrayList<>();
List<String> keywordsLineIds = new ArrayList<>();
List<CsLinePO> poList = getSimpleLine();
if (CollUtil.isNotEmpty(poList)) {
keywordsLineIds = poList.stream().map(CsLinePO::getLineId).collect(Collectors.toList());
}
List<CsLinePO> list = this.list(new LambdaQueryWrapper<CsLinePO>()
.eq(CsLinePO::getStatus, 1)
.eq(StrUtil.isNotBlank(param.getPosition()), CsLinePO::getPosition, param.getPosition())
.in(CsLinePO::getLineId, keywordsLineIds)
.orderByAsc(CsLinePO::getName));
//根据监测点id查询设备信息
if (CollectionUtil.isNotEmpty(list)) {
//获取设备信息集合
List<String> devList = list.stream().map(CsLinePO::getDevId).collect(Collectors.toList());
List<CsEquipmentDeliveryPO> equipmentDeliveryList = csEquipmentDeliveryMapper.selectBatchIds(devList);
Map<String,Integer> runStatusMap = equipmentDeliveryList.stream().collect(Collectors.toMap(CsEquipmentDeliveryPO::getId,CsEquipmentDeliveryPO::getRunStatus));
list.forEach(item->{
item.setRunStatus(runStatusMap.get(item.getDevId()));
});
}
return result;
}
private String getRunStatusDescription(Integer runStatus) {
// 0运行1检修2停运3调试4退运
switch (runStatus) {
case 0:
return "运行";
case 1:
return "检修";
return "离线";
case 2:
return "停运";
case 3:
return "调试";
case 4:
return "退运";
return "在线";
default:
return "未知";
}