1.冀北电网一张图,区域终端统计,监测点分布统计修改

This commit is contained in:
wr
2024-05-06 17:44:58 +08:00
parent c54ac60a13
commit 0676b467ca
7 changed files with 122 additions and 25 deletions

View File

@@ -105,4 +105,26 @@ public class GridDiagramVO {
private Float outOfStandardRate;
}
@Data
public static class DevData {
@ApiModelProperty(name = "orgId", value = "单位id")
private String orgId;
@ApiModelProperty(name = "orgName", value = "单位名称")
private String orgName;
@ApiModelProperty(name = "onLineRate", value = "运行个数")
private Long runNum;
@ApiModelProperty(name = "integrityRate", value = "检修个数")
private Long overhaulNum;
@ApiModelProperty(name = "outOfStandardRate", value = "退役个数")
private Long refundNum;
@ApiModelProperty(name = "onLineRate", value = "数据在线率")
private Float onLineRate;
}
}

View File

@@ -75,6 +75,15 @@ public class GridDiagramController extends BaseController {
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, gridDiagramDevData, methodDescribe);
}
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@PostMapping("/getGridDiagramDevDataList")
@ApiOperation("区域终端统计")
public HttpResult<List<GridDiagramVO.DevData>> getGridDiagramDevDataList(@RequestBody GridDiagramParam param){
String methodDescribe = getMethodDescribe("getGridDiagramDevDataList");
List<GridDiagramVO.DevData> gridDiagramDevDataList = gridDiagramService.getGridDiagramDevDataList(param);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, gridDiagramDevDataList, methodDescribe);
}
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@PostMapping("/getGridDiagramLineTendency")
@ApiOperation("监测点趋势分析")

View File

@@ -65,7 +65,7 @@
</select>
<select id="selectTotalIntegrityByLineIds" resultType="java.lang.Float">
select
ROUND( sum(real_time)/sum(due_time)*100,2) as integrityRate
IFNULL(ROUND( sum(real_time)/sum(due_time)*100,2),0) as integrityRate
from
r_stat_integrity_d
<where>

View File

@@ -26,7 +26,7 @@
</select>
<select id="getTotalOnlineRates" resultType="java.lang.Float">
select
ROUND( sum(online_min)/(sum(online_min) + sum(offline_min))*100,2) as online_rate
IFNULL(ROUND( sum(online_min)/(sum(online_min) + sum(offline_min))*100,2),0) as online_rate
from r_stat_onlinerate_d
<where>
<if test="param!=null and param.ids != null and param.ids.size > 0">

View File

@@ -49,6 +49,18 @@ public interface GridDiagramService {
*/
List<GridDiagramVO.DeviceData> getGridDiagramDevData(GridDiagramParam param);
/**
* @Description: 终端统计详细列表
* @param
* @Author: wr
*/
List<GridDiagramVO.DevData> getGridDiagramDevDataList(GridDiagramParam param);
//---------------------------------------------------市级---------------------------------------
/**

View File

@@ -361,6 +361,48 @@ public class GridDiagramServiceImpl implements GridDiagramService {
return info;
}
@Override
public List<GridDiagramVO.DevData> getGridDiagramDevDataList(GridDiagramParam param) {
List<GridDiagramVO.DevData> info=new ArrayList<>();
List<GeneralDeviceDTO> generalDeviceDTOList = generalDeviceService.getDeviceInfoAsDept(param.getDeviceInfoParam(), null, Stream.of(1).collect(Collectors.toList()));
List<String> devIds = generalDeviceDTOList.stream().flatMap(x -> x.getDeviceIndexes().stream()).collect(Collectors.toList());
//终端信息
List<Device> devList =new ArrayList<>();
if(CollUtil.isNotEmpty(devIds)){
devList = deviceService.list(new LambdaQueryWrapper<Device>().in(CollUtil.isNotEmpty(devIds), Device::getId, devIds));
}
GridDiagramVO.DevData data;
OnlineRateParam onlineRateParam = new OnlineRateParam();
onlineRateParam.setStartTime(param.getSearchBeginTime());
onlineRateParam.setEndTime(param.getSearchEndTime());
for (GeneralDeviceDTO dto : generalDeviceDTOList) {
List<String> list = new ArrayList<>();
for (int i = 0; i < 3; i++) {
int finalI = i;
List<String> devices = devList.stream()
.filter(x->dto.getDeviceIndexes().contains(x.getId()))
.filter(x -> finalI == x.getRunFlag())
.map(Device::getId).distinct().collect(Collectors.toList());
list.add(String.valueOf(devices.size()));
if (i == 0) {
onlineRateParam.setIds(devices);
list.add(String.valueOf(onLineRateDMapper.getTotalOnlineRates(onlineRateParam)));
} else {
list.add(String.valueOf(3.14159));
}
}
data=new GridDiagramVO.DevData();
data.setOrgId(dto.getIndex());
data.setOrgName(dto.getName());
data.setRunNum(Long.valueOf(list.get(0)));
data.setOverhaulNum(Long.valueOf(list.get(2)));
data.setRefundNum(Long.valueOf(list.get(4)));
data.setOnLineRate(Float.valueOf(list.get(1)));
info.add(data);
}
return info;
}
@Override
public List<String> getGridDiagramCityDev(GridDiagramParam param) {
List<GeneralDeviceDTO> generalDeviceDTOList = generalDeviceService.getDeviceInfoAsDept(param.getDeviceInfoParam(), null, Stream.of(1).collect(Collectors.toList()));