This commit is contained in:
wr
2025-09-11 15:31:50 +08:00
parent c1dca815e7
commit 6815e1df4b
6 changed files with 33 additions and 32 deletions

View File

@@ -85,4 +85,13 @@ public class PollutionLineInfoDTO {
*/
private String monitorId;
/**
* 监测点统计间隔(解决MySQL关键字问题)
*/
private Integer timeInterval;
/**
* 监测点名称
*/
private String lineName;
}

View File

@@ -348,6 +348,7 @@
<select id="getPollutionDeviceInfo" resultType="com.njcn.device.biz.pojo.dto.PollutionLineInfoDTO">
SELECT
line.id lineId,
line.name lineName,
gdinfo.NAME AS gdName,
substation.NAME AS subStationName,
device.NAME AS devName,
@@ -357,6 +358,7 @@
lineDetail.load_type AS loadtype,
lineDetail.obj_name AS objName,
lineDetail.power_substation_name AS powerSubstationName,
lineDetail.Time_Interval as timeInterval,
deviceDetail.manufacturer AS manufacturer,
deviceDetail.dev_Type AS devType,
deviceDetail.login_Time AS loginTime,

View File

@@ -31,6 +31,7 @@ import com.njcn.device.pq.pojo.po.*;
import com.njcn.device.pq.pojo.vo.*;
import com.njcn.device.pq.service.DeptLineService;
import com.njcn.device.pq.service.LineService;
import com.njcn.device.pq.service.PqDevTypeService;
import com.njcn.influx.constant.InfluxDbSqlConstant;
import com.njcn.influx.imapper.PqsCommunicateMapper;
import com.njcn.influx.pojo.po.PqsCommunicate;
@@ -105,7 +106,7 @@ public class LineServiceImpl extends ServiceImpl<LineMapper, Line> implements Li
private final DeptFeignClient deptFeignClient;
private final DeptLineService deptLineService;
private final UserLedgerFeignClient userLedgerFeignClient;
private final PqDevTypeService pqDevTypeService;
@Override
public LineDetailDataVO getLineDetailData(String id) {
if (StringUtils.isEmpty(id)) {

View File

@@ -1001,7 +1001,7 @@ public class PollutionSubstationServiceImpl extends ServiceImpl<RStatPollutionSu
}
// 获取所有监测点的元信息
List<PollutionLineInfoDTO> lineInfoDTOList = commLineClient.getPollutionLineInfo(lineIdList).getData();
Map<String, PollutionLineInfoDTO> lineMap = lineInfoDTOList.stream().collect(Collectors.toMap(PollutionLineInfoDTO::getLineId, Function.identity()));
//获取监测点的数据完整性
OnlineRateParam onlineRateParam = new OnlineRateParam();
onlineRateParam.setStartTime(startDate);
@@ -1021,36 +1021,25 @@ public class PollutionSubstationServiceImpl extends ServiceImpl<RStatPollutionSu
}
if (CollUtil.isNotEmpty(lineIdList)) {
// 获取谐波电压数据&总畸变率&越限限值计算基础污染值
for (int i = 0; i < lineIdList.size(); i++) {
String lineId = lineIdList.get(i);
for (String lineId: lineIdList) {
if(lineMap.containsKey(lineId)){
PollutionLineInfoDTO data = lineMap.get(lineId);
LinePollution linePollution = new LinePollution();
linePollution.setLineId(lineId);
//获取监测点数据完整性
linePollution.setIntegrity(Objects.isNull(integrityMap.get(lineId)) ? 0.0 : integrityMap.get(lineId)>100?100.0:integrityMap.get(lineId));
//获取监测点限值
Overlimit overlimit = commTerminalGeneralClient.getOverLimitData(lineId).getData();
LineDevGetDTO lineDetailData = commTerminalGeneralClient.getMonitorDetail(lineId).getData();
if (Objects.isNull(overlimit) || Objects.isNull(lineDetailData)) {
// 如果没有查到限值跳过,后期需要记录这种异常
continue;
}
linePollution.setLineName(lineDetailData.getPointName());
linePollution.setInterval(lineDetailData.getInterval());
// 计算谐波的污染值
linePollution.setHarmonicValue(calcMap.containsKey(lineId)?calcMap.get(lineId)>100?100.0:integrityMap.get(lineId):0.0);
// 获取暂态数据
BeanUtil.copyProperties(eventMap.get(lineId), linePollution);
//获取该监测点其他元信息
Optional<PollutionLineInfoDTO> any = lineInfoDTOList.stream().filter(item -> item.getLineId().equals(lineId)).findAny();
if (any.isPresent()) {
PollutionLineInfoDTO data = any.get();
BeanUtil.copyProperties(data, linePollution, true);
//监测点在线率
Float vo2 = onlineRateMap.get(data.getDeviceId());
linePollution.setOnlineRate(Objects.isNull(vo2) ? 0.0f : vo2);
}
//获取监测点数据完整性
linePollution.setIntegrity(Objects.isNull(integrityMap.get(lineId)) ? 0.0 : integrityMap.get(lineId)>100?100.0:integrityMap.get(lineId));
// 计算谐波的污染值
linePollution.setHarmonicValue(calcMap.containsKey(lineId)?calcMap.get(lineId)>100?100.0:integrityMap.get(lineId):0.0);
linePollution.setInterval(data.getTimeInterval());
linePollutionList.add(linePollution);
}
}
}
return linePollutionList;
}

View File

@@ -38,7 +38,7 @@ public class LibModelController extends BaseController {
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@PostMapping("/pageLibModelQuery")
@ApiOperation("分页查询案例")
@ApiOperation("分页查询模型")
@ApiImplicitParam(name = "param", value = "参数", required = true)
public HttpResult<Page<LibModel>> pageLibModelQuery(@RequestBody @Validated LibModelParam.LibModelParamQuery param) {
String methodDescribe = getMethodDescribe("pageLibModelQuery");
@@ -48,7 +48,7 @@ public class LibModelController extends BaseController {
@OperateInfo(info = LogEnum.BUSINESS_COMMON, operateType = OperateType.ADD)
@PostMapping("/addLibModel")
@ApiOperation("新增")
@ApiOperation("新增模型库")
@ApiImplicitParam(name = "param", value = "实体参数", required = true)
public HttpResult<Boolean> addLibModel(@RequestBody @Validated LibModelParam param) {
String methodDescribe = getMethodDescribe("addLibModel");
@@ -58,7 +58,7 @@ public class LibModelController extends BaseController {
@OperateInfo(info = LogEnum.BUSINESS_COMMON, operateType = OperateType.UPDATE)
@PostMapping("/updateLibModel")
@ApiOperation("更新")
@ApiOperation("更新模型库")
@ApiImplicitParam(name = "param", value = "实体参数", required = true)
public HttpResult<Boolean> updateLibModel(@RequestBody @Validated LibModelParam.LibModelParamUpdate param) {
String methodDescribe = getMethodDescribe("updateLibModel");
@@ -68,7 +68,7 @@ public class LibModelController extends BaseController {
@OperateInfo(info = LogEnum.SYSTEM_COMMON,operateType = OperateType.DELETE)
@GetMapping("/deleteByLibModelId")
@ApiOperation("通过id删除")
@ApiOperation("通过id删除模型库")
public HttpResult<Boolean> deleteByLibModelId(@RequestParam("id") String id) {
String methodDescribe = getMethodDescribe("deleteByLibModelId");
boolean update = libModelService.lambdaUpdate().set(LibModel::getStatus, 0).eq(LibModel::getId, id).update();
@@ -77,7 +77,7 @@ public class LibModelController extends BaseController {
@OperateInfo(info = LogEnum.SYSTEM_COMMON)
@GetMapping("/queryByLibModelId")
@ApiOperation("根据id查询")
@ApiOperation("根据id查询模型库")
public HttpResult<LibModel> queryByLibModelId(@RequestParam("id") String id) {
String methodDescribe = getMethodDescribe("queryByLibModelId");
LibModel result = libModelService.lambdaQuery().eq(LibModel::getId,id).one();

View File

@@ -56,7 +56,7 @@ public class LibModelServiceImpl extends ServiceImpl<LibModelMapper, LibModel> i
DateUtil.beginOfDay(DateUtil.parse(param.getSearchBeginTime())),
DateUtil.endOfDay(DateUtil.parse(param.getSearchEndTime())));
}
queryWrapper.orderByDesc(LibModel::getUpdateTime);
queryWrapper.orderByDesc(LibModel::getName);
return this.page(new Page<>(PageFactory.getPageNum(param), PageFactory.getPageSize(param)), queryWrapper);
}