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; 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 id="getPollutionDeviceInfo" resultType="com.njcn.device.biz.pojo.dto.PollutionLineInfoDTO">
SELECT SELECT
line.id lineId, line.id lineId,
line.name lineName,
gdinfo.NAME AS gdName, gdinfo.NAME AS gdName,
substation.NAME AS subStationName, substation.NAME AS subStationName,
device.NAME AS devName, device.NAME AS devName,
@@ -357,6 +358,7 @@
lineDetail.load_type AS loadtype, lineDetail.load_type AS loadtype,
lineDetail.obj_name AS objName, lineDetail.obj_name AS objName,
lineDetail.power_substation_name AS powerSubstationName, lineDetail.power_substation_name AS powerSubstationName,
lineDetail.Time_Interval as timeInterval,
deviceDetail.manufacturer AS manufacturer, deviceDetail.manufacturer AS manufacturer,
deviceDetail.dev_Type AS devType, deviceDetail.dev_Type AS devType,
deviceDetail.login_Time AS loginTime, 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.pojo.vo.*;
import com.njcn.device.pq.service.DeptLineService; import com.njcn.device.pq.service.DeptLineService;
import com.njcn.device.pq.service.LineService; import com.njcn.device.pq.service.LineService;
import com.njcn.device.pq.service.PqDevTypeService;
import com.njcn.influx.constant.InfluxDbSqlConstant; import com.njcn.influx.constant.InfluxDbSqlConstant;
import com.njcn.influx.imapper.PqsCommunicateMapper; import com.njcn.influx.imapper.PqsCommunicateMapper;
import com.njcn.influx.pojo.po.PqsCommunicate; 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 DeptFeignClient deptFeignClient;
private final DeptLineService deptLineService; private final DeptLineService deptLineService;
private final UserLedgerFeignClient userLedgerFeignClient; private final UserLedgerFeignClient userLedgerFeignClient;
private final PqDevTypeService pqDevTypeService;
@Override @Override
public LineDetailDataVO getLineDetailData(String id) { public LineDetailDataVO getLineDetailData(String id) {
if (StringUtils.isEmpty(id)) { if (StringUtils.isEmpty(id)) {

View File

@@ -1001,7 +1001,7 @@ public class PollutionSubstationServiceImpl extends ServiceImpl<RStatPollutionSu
} }
// 获取所有监测点的元信息 // 获取所有监测点的元信息
List<PollutionLineInfoDTO> lineInfoDTOList = commLineClient.getPollutionLineInfo(lineIdList).getData(); 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 onlineRateParam = new OnlineRateParam();
onlineRateParam.setStartTime(startDate); onlineRateParam.setStartTime(startDate);
@@ -1021,34 +1021,23 @@ public class PollutionSubstationServiceImpl extends ServiceImpl<RStatPollutionSu
} }
if (CollUtil.isNotEmpty(lineIdList)) { if (CollUtil.isNotEmpty(lineIdList)) {
// 获取谐波电压数据&总畸变率&越限限值计算基础污染值 // 获取谐波电压数据&总畸变率&越限限值计算基础污染值
for (int i = 0; i < lineIdList.size(); i++) { for (String lineId: lineIdList) {
String lineId = lineIdList.get(i); if(lineMap.containsKey(lineId)){
LinePollution linePollution = new LinePollution(); PollutionLineInfoDTO data = lineMap.get(lineId);
linePollution.setLineId(lineId); LinePollution linePollution = new LinePollution();
//获取监测点数据完整性 // 获取暂态数据
linePollution.setIntegrity(Objects.isNull(integrityMap.get(lineId)) ? 0.0 : integrityMap.get(lineId)>100?100.0:integrityMap.get(lineId)); BeanUtil.copyProperties(eventMap.get(lineId), linePollution);
//获取监测点限值
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); BeanUtil.copyProperties(data, linePollution, true);
//监测点在线率
Float vo2 = onlineRateMap.get(data.getDeviceId()); Float vo2 = onlineRateMap.get(data.getDeviceId());
linePollution.setOnlineRate(Objects.isNull(vo2) ? 0.0f : vo2); 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);
} }
linePollutionList.add(linePollution);
} }
} }
return linePollutionList; return linePollutionList;

View File

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