1.终端在线率

2.稳态指标合格率统计
This commit is contained in:
wr
2025-03-12 20:22:47 +08:00
parent ea748ef4b6
commit 7d503a42b1
30 changed files with 1984 additions and 92 deletions

View File

@@ -8,6 +8,7 @@ import com.njcn.common.pojo.response.HttpResult;
import com.njcn.common.utils.HttpResultUtil;
import com.njcn.dataProcess.annotation.InsertBean;
import com.njcn.dataProcess.annotation.QueryBean;
import com.njcn.dataProcess.param.LineCountEvaluateParam;
import com.njcn.dataProcess.pojo.dto.DataLimitRateDto;
import com.njcn.dataProcess.service.IDataLimitRate;
import com.njcn.web.controller.BaseController;
@@ -49,5 +50,12 @@ public class DataLimitRateController extends BaseController {
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe);
}
@OperateInfo(info = LogEnum.BUSINESS_COMMON,operateType = OperateType.ADD)
@PostMapping("/getRawData")
@ApiOperation("获取原始数据")
public HttpResult<List<DataLimitRateDto>> getRawData(@RequestBody LineCountEvaluateParam lineParam) {
String methodDescribe = getMethodDescribe("getRawData");
List<DataLimitRateDto> rawData = limitRateInsert.getRawData(lineParam);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, rawData, methodDescribe);
}
}

View File

@@ -0,0 +1,55 @@
package com.njcn.dataProcess.controller;
import com.njcn.common.pojo.annotation.OperateInfo;
import com.njcn.common.pojo.constant.OperateType;
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.dataProcess.annotation.InsertBean;
import com.njcn.dataProcess.annotation.QueryBean;
import com.njcn.dataProcess.pojo.dto.DataLimitTargetDto;
import com.njcn.dataProcess.service.IDataLimitTarget;
import com.njcn.web.controller.BaseController;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Controller;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
/**
* @author hongawen
* @version 1.0
* @data 2024/11/6 19:48
*/
@Validated
@Slf4j
@Controller
@RestController
@RequestMapping("/dataLimitTarget")
@Api(tags = "监测点稳态指标越限次数获取")
public class DataLimitTargetController extends BaseController {
@QueryBean
private IDataLimitTarget limitTargetQuery;
@InsertBean
private IDataLimitTarget limitTargetInsert;
@OperateInfo(info = LogEnum.BUSINESS_COMMON,operateType = OperateType.ADD)
@PostMapping("/batchInsertion")
@ApiOperation("批量插入")
public HttpResult<String> batchInsertion(@RequestBody List<DataLimitTargetDto> dataVDTOList) {
String methodDescribe = getMethodDescribe("batchInsertion");
limitTargetInsert.batchInsertion(dataVDTOList);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe);
}
}

View File

@@ -8,6 +8,8 @@ import com.njcn.common.pojo.response.HttpResult;
import com.njcn.common.utils.HttpResultUtil;
import com.njcn.dataProcess.annotation.InsertBean;
import com.njcn.dataProcess.annotation.QueryBean;
import com.njcn.dataProcess.param.LineCountEvaluateParam;
import com.njcn.dataProcess.pojo.dto.DataLimitRateDto;
import com.njcn.dataProcess.pojo.dto.DataOnlineRateDto;
import com.njcn.dataProcess.service.IDataOnlineRate;
import com.njcn.web.controller.BaseController;
@@ -52,5 +54,12 @@ public class DataOnlineRateController extends BaseController {
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe);
}
@OperateInfo(info = LogEnum.BUSINESS_COMMON,operateType = OperateType.ADD)
@PostMapping("/getRawData")
@ApiOperation("获取原始数据")
public HttpResult<List<DataOnlineRateDto.Detail>> getRawData(@RequestBody LineCountEvaluateParam lineParam) {
String methodDescribe = getMethodDescribe("getRawData");
List<DataOnlineRateDto.Detail> rawData = onlineRateInsert.getRawData(lineParam);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, rawData, methodDescribe);
}
}

View File

@@ -0,0 +1,17 @@
package com.njcn.dataProcess.dao.relation.mapper;
import com.github.jeffreyning.mybatisplus.base.MppBaseMapper;
import com.njcn.dataProcess.pojo.po.RStatLimitTargetD;
/**
* <p>
* Mapper 接口
* </p>
* @author web2023
*/
public interface RStatLimitTargetRelationMapper extends MppBaseMapper<RStatLimitTargetD> {
}

View File

@@ -1,6 +1,7 @@
package com.njcn.dataProcess.service;
import com.github.jeffreyning.mybatisplus.service.IMppService;
import com.njcn.dataProcess.param.LineCountEvaluateParam;
import com.njcn.dataProcess.pojo.dto.DataLimitRateDto;
import com.njcn.dataProcess.pojo.po.RStatLimitRateD;
@@ -19,4 +20,11 @@ public interface IDataLimitRate extends IMppService<RStatLimitRateD> {
* @param limitRateList
*/
void batchInsertion(List<DataLimitRateDto> limitRateList);
/**
* 获取原始数据
* @param lineParam
*/
List<DataLimitRateDto> getRawData(LineCountEvaluateParam lineParam);
}

View File

@@ -0,0 +1,23 @@
package com.njcn.dataProcess.service;
import com.github.jeffreyning.mybatisplus.service.IMppService;
import com.njcn.dataProcess.pojo.dto.DataLimitTargetDto;
import com.njcn.dataProcess.pojo.po.RStatLimitTargetD;
import java.util.List;
/**
* @Description:
* @Author: wr
* @Date: 2025/3/6 10:22
*/
public interface IDataLimitTarget extends IMppService<RStatLimitTargetD> {
/**
* 批量插入数据
* @param limitRateList
*/
void batchInsertion(List<DataLimitTargetDto> limitRateList);
}

View File

@@ -3,6 +3,7 @@ package com.njcn.dataProcess.service;
import com.github.jeffreyning.mybatisplus.service.IMppService;
import com.njcn.dataProcess.param.LineCountEvaluateParam;
import com.njcn.dataProcess.pojo.dto.DataOnlineRateDto;
import com.njcn.dataProcess.pojo.po.RStatOnlineRateD;
@@ -21,4 +22,10 @@ public interface IDataOnlineRate extends IMppService<RStatOnlineRateD>{
*/
void batchInsertion(List<DataOnlineRateDto.Detail> onlineRateList);
/**
* 获取原始数据
* @param lineParam
*/
List<DataOnlineRateDto.Detail> getRawData(LineCountEvaluateParam lineParam);
}

View File

@@ -1,13 +1,20 @@
package com.njcn.dataProcess.service.impl.influxdb;
import cn.hutool.core.collection.CollUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.github.jeffreyning.mybatisplus.service.MppServiceImpl;
import com.njcn.dataProcess.constant.PhaseType;
import com.njcn.dataProcess.dao.relation.mapper.RStatLimitRateRelationMapper;
import com.njcn.dataProcess.param.LineCountEvaluateParam;
import com.njcn.dataProcess.pojo.dto.DataLimitRateDto;
import com.njcn.dataProcess.pojo.po.RStatLimitRateD;
import com.njcn.dataProcess.service.IDataLimitRate;
import lombok.RequiredArgsConstructor;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
/**
@@ -23,4 +30,9 @@ public class InfluxdbDataLimitRateImpl extends MppServiceImpl<RStatLimitRateRela
public void batchInsertion(List<DataLimitRateDto> limitRateList) {
}
@Override
public List<DataLimitRateDto> getRawData(LineCountEvaluateParam lineParam) {
return Collections.emptyList();
}
}

View File

@@ -0,0 +1,28 @@
package com.njcn.dataProcess.service.impl.influxdb;
import com.github.jeffreyning.mybatisplus.service.MppServiceImpl;
import com.njcn.dataProcess.dao.relation.mapper.RStatLimitTargetRelationMapper;
import com.njcn.dataProcess.pojo.dto.DataLimitTargetDto;
import com.njcn.dataProcess.pojo.po.RStatLimitTargetD;
import com.njcn.dataProcess.service.IDataLimitTarget;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* @Description:
* @Author: wr
* @Date: 2025/3/7 10:13
*/
@Service("InfluxdbDataLimitTargetImpl")
@RequiredArgsConstructor
public class InfluxdbDataLimitTargetImpl extends MppServiceImpl<RStatLimitTargetRelationMapper, RStatLimitTargetD> implements IDataLimitTarget {
@Override
public void batchInsertion(List<DataLimitTargetDto> limitRateList) {
}
}

View File

@@ -3,12 +3,14 @@ package com.njcn.dataProcess.service.impl.influxdb;
import com.github.jeffreyning.mybatisplus.service.MppServiceImpl;
import com.njcn.dataProcess.dao.relation.mapper.RStatOnlineRateDMapper;
import com.njcn.dataProcess.param.LineCountEvaluateParam;
import com.njcn.dataProcess.pojo.dto.DataOnlineRateDto;
import com.njcn.dataProcess.pojo.po.RStatOnlineRateD;
import com.njcn.dataProcess.service.IDataOnlineRate;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import java.util.Collections;
import java.util.List;
@@ -26,4 +28,9 @@ public class InfluxdbDataOnlineRateImpl extends MppServiceImpl<RStatOnlineRateDM
public void batchInsertion(List<DataOnlineRateDto.Detail> onlineRateList) {
}
@Override
public List<DataOnlineRateDto.Detail> getRawData(LineCountEvaluateParam lineParam) {
return Collections.emptyList();
}
}

View File

@@ -1,7 +1,11 @@
package com.njcn.dataProcess.service.impl.relation;
import cn.hutool.core.collection.CollUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.github.jeffreyning.mybatisplus.service.MppServiceImpl;
import com.njcn.dataProcess.constant.PhaseType;
import com.njcn.dataProcess.dao.relation.mapper.RStatLimitRateRelationMapper;
import com.njcn.dataProcess.param.LineCountEvaluateParam;
import com.njcn.dataProcess.pojo.dto.DataLimitRateDto;
import com.njcn.dataProcess.pojo.po.RStatLimitRateD;
import com.njcn.dataProcess.service.IDataLimitRate;
@@ -11,6 +15,7 @@ import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
@@ -36,4 +41,22 @@ public class RelationDataLimitRateImpl extends MppServiceImpl<RStatLimitRateRela
});
this.saveOrUpdateBatchByMultiId(result);
}
@Override
public List<DataLimitRateDto> getRawData(LineCountEvaluateParam lineParam) {
List<DataLimitRateDto> result = new ArrayList<>();
LambdaQueryWrapper<RStatLimitRateD> lambdaQueryWrapper = new LambdaQueryWrapper<>();
lambdaQueryWrapper.in(CollUtil.isNotEmpty(lineParam.getLineId()),RStatLimitRateD::getLineId,lineParam.getLineId())
.ge(RStatLimitRateD::getTime,lineParam.getStartTime())
.le(RStatLimitRateD::getTime,lineParam.getEndTime())
.eq(RStatLimitRateD::getPhasicType, PhaseType.PHASE_T);
List<RStatLimitRateD> list = this.list(lambdaQueryWrapper);
list.forEach(item->{
DataLimitRateDto dto = new DataLimitRateDto();
BeanUtils.copyProperties(item,dto);
result.add(dto);
});
return result;
}
}

View File

@@ -0,0 +1,41 @@
package com.njcn.dataProcess.service.impl.relation;
import com.github.jeffreyning.mybatisplus.service.MppServiceImpl;
import com.njcn.dataProcess.dao.relation.mapper.RStatLimitTargetRelationMapper;
import com.njcn.dataProcess.pojo.dto.DataLimitTargetDto;
import com.njcn.dataProcess.pojo.po.RStatLimitTargetD;
import com.njcn.dataProcess.service.IDataLimitRate;
import com.njcn.dataProcess.service.IDataLimitTarget;
import lombok.RequiredArgsConstructor;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.List;
/**
* @Description:
* @Author: wr
* @Date: 2025/3/7 10:13
*/
@Service("RelationDataLimitTargetImpl")
@RequiredArgsConstructor
public class RelationDataLimitTargetImpl extends MppServiceImpl<RStatLimitTargetRelationMapper, RStatLimitTargetD> implements IDataLimitTarget {
@Resource
private IDataLimitTarget limitTarget;
@Override
public void batchInsertion(List<DataLimitTargetDto> limitRateList) {
List<RStatLimitTargetD> result = new ArrayList<>();
limitRateList.forEach(item->{
RStatLimitTargetD limitRate = new RStatLimitTargetD();
BeanUtils.copyProperties(item, limitRate);
result.add(limitRate);
});
this.saveOrUpdateBatchByMultiId(result);
}
}

View File

@@ -1,9 +1,15 @@
package com.njcn.dataProcess.service.impl.relation;
import cn.hutool.core.collection.CollUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.github.jeffreyning.mybatisplus.service.MppServiceImpl;
import com.njcn.dataProcess.constant.PhaseType;
import com.njcn.dataProcess.dao.relation.mapper.RStatOnlineRateDMapper;
import com.njcn.dataProcess.param.LineCountEvaluateParam;
import com.njcn.dataProcess.pojo.dto.DataLimitRateDto;
import com.njcn.dataProcess.pojo.dto.DataOnlineRateDto;
import com.njcn.dataProcess.pojo.po.RStatLimitRateD;
import com.njcn.dataProcess.pojo.po.RStatOnlineRateD;
import com.njcn.dataProcess.service.IDataOnlineRate;
import lombok.RequiredArgsConstructor;
@@ -11,6 +17,7 @@ import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
@@ -34,4 +41,21 @@ public class RelationDataOnlineRateImpl extends MppServiceImpl<RStatOnlineRateD
});
this.saveOrUpdateBatchByMultiId(result);
}
@Override
public List<DataOnlineRateDto.Detail> getRawData(LineCountEvaluateParam lineParam) {
List<DataOnlineRateDto.Detail> result = new ArrayList<>();
LambdaQueryWrapper<RStatOnlineRateD> lambdaQueryWrapper = new LambdaQueryWrapper<>();
lambdaQueryWrapper.in(CollUtil.isNotEmpty(lineParam.getLineId()),RStatOnlineRateD::getDevIndex,lineParam.getLineId())
.ge(RStatOnlineRateD::getTimeId,lineParam.getStartTime())
.le(RStatOnlineRateD::getTimeId,lineParam.getEndTime());
List<RStatOnlineRateD> list = this.list(lambdaQueryWrapper);
list.forEach(item->{
DataOnlineRateDto.Detail dto = new DataOnlineRateDto.Detail();
BeanUtils.copyProperties(item,dto);
result.add(dto);
});
return result;
}
}