基于云平台功能调整

This commit is contained in:
xy
2026-01-07 19:20:11 +08:00
parent 6b0feb1320
commit b774b7ce91
14 changed files with 196 additions and 62 deletions

View File

@@ -10,6 +10,8 @@ import com.njcn.common.pojo.enums.common.LogEnum;
import com.njcn.common.pojo.enums.response.CommonResponseEnum;
import com.njcn.common.pojo.response.HttpResult;
import com.njcn.common.utils.HttpResultUtil;
import com.njcn.csdevice.api.CsLineFeignClient;
import com.njcn.csdevice.pojo.po.CsLinePO;
import com.njcn.csharmonic.pojo.param.PqSensitiveUserParam;
import com.njcn.csharmonic.pojo.po.PqSensitiveUser;
import com.njcn.csharmonic.pojo.vo.PqSensitiveUserVo;
@@ -24,7 +26,10 @@ import lombok.extern.slf4j.Slf4j;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
import java.util.stream.Collectors;
/**
* <p>
@@ -42,6 +47,7 @@ import java.util.List;
public class PqSensitiveUserController extends BaseController {
private final IPqSensitiveUserService pqSensitiveUserService;
private final CsLineFeignClient csLineFeignClient;
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@PostMapping("/getList")
@@ -59,11 +65,26 @@ public class PqSensitiveUserController extends BaseController {
@ApiImplicitParam(name = "ids", value = "id集合")
public HttpResult<List<PqSensitiveUser>> getListByIds(@RequestParam(name = "ids", required = false) List<String> ids) {
String methodDescribe = getMethodDescribe("getListByIds");
List<PqSensitiveUser> list = pqSensitiveUserService.list(
new LambdaQueryWrapper<PqSensitiveUser>()
.in(CollUtil.isNotEmpty(ids),PqSensitiveUser::getId, ids)
List<PqSensitiveUser> list;
//获取用户监测点
List<String> keywordsLineIds = new ArrayList<>();
List<CsLinePO> poList = csLineFeignClient.getSimpleLine().getData();
if (CollUtil.isNotEmpty(poList)) {
keywordsLineIds = poList.stream().map(CsLinePO::getMonitorUser).filter(Objects::nonNull).distinct().collect(Collectors.toList());
}
if (CollUtil.isEmpty(keywordsLineIds)) {
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe);
} else {
if (CollUtil.isNotEmpty(ids)) {
keywordsLineIds = ids;
}
}
list = pqSensitiveUserService.list(
new LambdaQueryWrapper<PqSensitiveUser>().in(PqSensitiveUser::getId, keywordsLineIds)
);
if (CollUtil.isEmpty(list)) {
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe);
}
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, list, methodDescribe);
}

View File

@@ -112,7 +112,6 @@ public class RStatLimitRateDController extends BaseController {
public HttpResult<TotalLimitTotalStatisticsVO> totalLimitTotalStatisticsData(@RequestBody TotalLimitStatisticsParam mainLineQueryParam) {
String methodDescribe = getMethodDescribe("totalLimitStatisticsList");
TotalLimitTotalStatisticsVO data = limitRateDService.totalLimitTotalStatisticsData(mainLineQueryParam);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, data, methodDescribe);
}
@@ -122,7 +121,6 @@ public class RStatLimitRateDController extends BaseController {
public HttpResult<List<TotalLimitStatisticsVO>> totalLimitStatisticsList(@RequestBody TotalLimitStatisticsParam mainLineQueryParam) {
String methodDescribe = getMethodDescribe("totalLimitStatisticsList");
List<TotalLimitStatisticsVO> list = limitRateDService.totalLimitStatisticsList(mainLineQueryParam);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, list, methodDescribe);
}

View File

@@ -162,13 +162,21 @@ public class RStatLimitRateDServiceImpl extends ServiceImpl<RStatLimitRateDMappe
return result;
}
keywordsLineIds = lineList.stream().map(CsLinePO::getLineId).collect(Collectors.toList());
} else {
List<CsLinePO> poList = csLineFeignClient.getSimpleLine().getData();
if (CollUtil.isNotEmpty(poList)) {
keywordsLineIds = poList.stream().map(CsLinePO::getLineId).collect(Collectors.toList());
}
}
if (CollUtil.isEmpty(keywordsLineIds)) {
return result;
}
// 根据监测点Id分组再分页
Page<RStatLimitRateDPO> ratePage = this.page(new Page<RStatLimitRateDPO>(param.getPageNum(), param.getPageSize()), new LambdaQueryWrapper<RStatLimitRateDPO>()
.eq(RStatLimitRateDPO::getPhasicType, "T")
.ge(StrUtil.isNotBlank(param.getSearchBeginTime()), RStatLimitRateDPO::getTime, param.getSearchBeginTime())
.le(StrUtil.isNotBlank(param.getSearchEndTime()), RStatLimitRateDPO::getTime, param.getSearchEndTime())
.in(CollUtil.isNotEmpty(keywordsLineIds), RStatLimitRateDPO::getLineId, keywordsLineIds)
.in(RStatLimitRateDPO::getLineId, keywordsLineIds)
.groupBy(RStatLimitRateDPO::getLineId)
.select(RStatLimitRateDPO::getLineId)
);
@@ -237,19 +245,19 @@ public class RStatLimitRateDServiceImpl extends ServiceImpl<RStatLimitRateDMappe
@Override
public List<MainLineStatLimitRateDetailsVO> mainLineStatLimitRateDetails(MainLineStatLimitRateDetailsQueryParam param) {
HttpResult<CsLinePO> lineResult = csLineFeignClient.getById(param.getLineId());
CsLinePO linePO = lineResult.getData();
if (linePO == null) {
return Collections.emptyList();
}
List<RStatLimitRateDPO> list = this.list(new LambdaQueryWrapper<RStatLimitRateDPO>()
.eq(RStatLimitRateDPO::getLineId, param.getLineId())
.eq(RStatLimitRateDPO::getPhasicType, "T")
.eq(RStatLimitRateDPO::getLineId, param.getLineId())
.ge(StrUtil.isNotBlank(param.getSearchBeginTime()), RStatLimitRateDPO::getTime, param.getSearchBeginTime())
.le(StrUtil.isNotBlank(param.getSearchEndTime()), RStatLimitRateDPO::getTime, param.getSearchEndTime())
.orderByAsc(RStatLimitRateDPO::getTime)
);
return list.stream().map(item -> {
MainLineStatLimitRateDetailsVO vo = BeanUtil.copyProperties(item, MainLineStatLimitRateDetailsVO.class);
vo.setLineName(linePO.getName());
@@ -269,16 +277,28 @@ public class RStatLimitRateDServiceImpl extends ServiceImpl<RStatLimitRateDMappe
}).collect(Collectors.toList());
}
@Override
public TotalLimitTotalStatisticsVO totalLimitTotalStatisticsData(TotalLimitStatisticsParam param) {
TotalLimitTotalStatisticsVO statisticsVO = new TotalLimitTotalStatisticsVO();
//获取用户监测点
List<String> keywordsLineIds = new ArrayList<>();
List<CsLinePO> poList = csLineFeignClient.getSimpleLine().getData();
if (CollUtil.isNotEmpty(poList)) {
keywordsLineIds = poList.stream().map(CsLinePO::getLineId).collect(Collectors.toList());
}
if (CollUtil.isEmpty(keywordsLineIds)) {
return statisticsVO;
}
List<RStatLimitRateDPO> rateList = this.list(new LambdaQueryWrapper<RStatLimitRateDPO>()
.eq(RStatLimitRateDPO::getPhasicType, "T")
.ge(StrUtil.isNotBlank(param.getSearchBeginTime()), RStatLimitRateDPO::getTime, param.getSearchBeginTime())
.le(StrUtil.isNotBlank(param.getSearchEndTime()), RStatLimitRateDPO::getTime, param.getSearchEndTime())
.in(RStatLimitRateDPO::getLineId, keywordsLineIds)
.orderByAsc(RStatLimitRateDPO::getTime)
);
TotalLimitTotalStatisticsVO statisticsVO = new TotalLimitTotalStatisticsVO();
int flickerTotalTime = rateList.stream().mapToInt(RStatLimitRateDPO::getFlickerOvertime).sum();
int voltageDevTotalTime = rateList.stream().mapToInt(RStatLimitRateDPO::getVoltageDevOvertime).sum();
int ubalanceTotalTime = rateList.stream().mapToInt(RStatLimitRateDPO::getUbalanceOvertime).sum();
@@ -316,11 +336,20 @@ public class RStatLimitRateDServiceImpl extends ServiceImpl<RStatLimitRateDMappe
@Override
public List<TotalLimitStatisticsVO> totalLimitStatisticsList(TotalLimitStatisticsParam param) {
List<TotalLimitStatisticsVO> result = new ArrayList<>();
//获取用户监测点
List<String> keywordsLineIds = new ArrayList<>();
List<CsLinePO> poList = csLineFeignClient.getSimpleLine().getData();
if (CollUtil.isNotEmpty(poList)) {
keywordsLineIds = poList.stream().map(CsLinePO::getLineId).collect(Collectors.toList());
}
if (CollUtil.isEmpty(keywordsLineIds)) {
return result;
}
List<RStatLimitRateDPO> rateList = this.list(new LambdaQueryWrapper<RStatLimitRateDPO>()
.eq(RStatLimitRateDPO::getPhasicType, "T")
.ge(StrUtil.isNotBlank(param.getSearchBeginTime()), RStatLimitRateDPO::getTime, param.getSearchBeginTime())
.le(StrUtil.isNotBlank(param.getSearchEndTime()), RStatLimitRateDPO::getTime, param.getSearchEndTime())
.in(RStatLimitRateDPO::getLineId, keywordsLineIds)
.orderByAsc(RStatLimitRateDPO::getTime)
);
if (CollUtil.isEmpty(rateList)) {

View File

@@ -89,9 +89,19 @@ public class RStatLimitRateDetailDServiceImpl extends ServiceImpl<RStatLimitRate
LimitExtentVO ubalance = new LimitExtentVO();
ubalance.setCode("ubalance");
ubalance.setName(indexMap.get(ubalance.getCode()));
//获取用户监测点
List<String> keywordsLineIds = new ArrayList<>();
List<CsLinePO> poList = csLineFeignClient.getSimpleLine().getData();
if (CollUtil.isNotEmpty(poList)) {
keywordsLineIds = poList.stream().map(CsLinePO::getLineId).collect(Collectors.toList());
}
if (CollUtil.isEmpty(keywordsLineIds)) {
return result;
}
List<RStatLimitRateDetailDPO> detailList = this.list(new LambdaQueryWrapper<RStatLimitRateDetailDPO>()
.ge(StrUtil.isNotBlank(param.getSearchBeginTime()), RStatLimitRateDetailDPO::getTime, param.getSearchBeginTime())
.le(StrUtil.isNotBlank(param.getSearchEndTime()), RStatLimitRateDetailDPO::getTime, param.getSearchEndTime())
.in(RStatLimitRateDetailDPO::getLineId, keywordsLineIds)
.orderByAsc(RStatLimitRateDetailDPO::getTime)
);
if (CollUtil.isNotEmpty(detailList)) {
@@ -190,9 +200,19 @@ public class RStatLimitRateDetailDServiceImpl extends ServiceImpl<RStatLimitRate
@Override
public List<LimitCalendarVO> limitCalendarData(LimitCalendarQueryParam param) {
List<LimitCalendarVO> result = new ArrayList<>();
//获取用户监测点
List<String> keywordsLineIds = new ArrayList<>();
List<CsLinePO> poList = csLineFeignClient.getSimpleLine().getData();
if (CollUtil.isNotEmpty(poList)) {
keywordsLineIds = poList.stream().map(CsLinePO::getLineId).collect(Collectors.toList());
}
if (CollUtil.isEmpty(keywordsLineIds)) {
return result;
}
List<RStatLimitRateDetailDPO> detailList = this.list(new LambdaQueryWrapper<RStatLimitRateDetailDPO>()
.ge(StrUtil.isNotBlank(param.getSearchBeginTime()), RStatLimitRateDetailDPO::getTime, param.getSearchBeginTime())
.le(StrUtil.isNotBlank(param.getSearchEndTime()), RStatLimitRateDetailDPO::getTime, param.getSearchEndTime())
.in(RStatLimitRateDetailDPO::getLineId, keywordsLineIds)
.orderByAsc(RStatLimitRateDetailDPO::getTime)
);
if (CollUtil.isEmpty(detailList)) {

View File

@@ -1,11 +1,11 @@
package com.njcn.csharmonic.service.impl.event;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.date.*;
import cn.hutool.core.date.DateField;
import cn.hutool.core.date.DatePattern;
import cn.hutool.core.date.DateTime;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.StrUtil;
import com.alibaba.nacos.shaded.org.checkerframework.checker.units.qual.C;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.google.common.collect.ImmutableMap;
import com.njcn.common.pojo.enums.response.CommonResponseEnum;
import com.njcn.common.pojo.exception.BusinessException;
@@ -13,7 +13,6 @@ import com.njcn.csdevice.api.CsCommTerminalFeignClient;
import com.njcn.csdevice.api.CsLineFeignClient;
import com.njcn.csdevice.pojo.po.CsLinePO;
import com.njcn.csharmonic.enums.CsEventEnum;
import com.njcn.csharmonic.enums.CsTransientEnum;
import com.njcn.csharmonic.pojo.param.EventStatisticParam;
import com.njcn.csharmonic.pojo.po.CsEventPO;
import com.njcn.csharmonic.pojo.vo.event.EventCoordsVO;
@@ -24,9 +23,9 @@ import com.njcn.csharmonic.service.event.EventOverviewService;
import com.njcn.web.utils.RequestUtil;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.time.format.DateTimeFormatter;
import java.util.*;
import java.util.stream.Collectors;
import java.util.stream.IntStream;