海南版本提交

This commit is contained in:
hzj
2024-04-01 09:08:11 +08:00
parent ea56af7e63
commit 0275cba0ed
4 changed files with 101 additions and 75 deletions

View File

@@ -46,7 +46,7 @@ public class CarryCapacityResultPOServiceImpl extends ServiceImpl<CarryCapacityR
QueryWrapper<CarryCapacityResultPO> queryWrapper = new QueryWrapper<>();
queryWrapper.lambda().eq(StringUtils.isNotBlank(queryParam.getEvaluateType()) ,CarryCapacityResultPO::getEvaluateType,queryParam.getEvaluateType())
.between(StringUtils.isNotBlank(queryParam.getStartTime()) && StringUtils.isNotBlank(queryParam.getEndTime()) ,CarryCapacityResultPO::getEvaluateDate,queryParam.getStartTime(),queryParam.getEndTime())
.between(StringUtils.isNotBlank(queryParam.getStartTime()) && StringUtils.isNotBlank(queryParam.getEndTime()) ,CarryCapacityResultPO::getEvaluateDate,queryParam.getStartTime()+" 00:00:00",queryParam.getEndTime()+" 23:59:59")
.eq(CarryCapacityResultPO::getStatus,1)
.orderByDesc(CarryCapacityResultPO::getEvaluateDate);

View File

@@ -64,7 +64,7 @@ public class CarryCapacityUserPOServiceImpl extends ServiceImpl<CarryCapacityUse
.eq(StringUtils.isNotBlank(pageParm.getVoltage()) ,CarryCapacityUserPO::getVoltage,pageParm.getVoltage())
.eq(StringUtils.isNotBlank(pageParm.getUserType()) ,CarryCapacityUserPO::getUserType,pageParm.getUserType())
.in(CollectionUtil.isNotEmpty(pageParm.getUserTypeList()) ,CarryCapacityUserPO::getUserType,pageParm.getUserTypeList())
.between(StringUtils.isNotBlank(pageParm.getStartTime()) && StringUtils.isNotBlank(pageParm.getEndTime()) ,CarryCapacityUserPO::getCreateTime,pageParm.getStartTime(),pageParm.getEndTime()).
.between(StringUtils.isNotBlank(pageParm.getStartTime()) && StringUtils.isNotBlank(pageParm.getEndTime()) ,CarryCapacityUserPO::getCreateTime,pageParm.getStartTime()+" 00:00:00",pageParm.getEndTime()+" 23:59:59").
orderByDesc(CarryCapacityUserPO::getCreateTime);
IPage<CarryCapacityUserPO> page = this.page (returnpage, queryWrapper);

View File

@@ -123,10 +123,10 @@ public class CarryCapcityServiceImpl implements CarryCapcityService {
String endTime = LocalDateTimeUtil.format(queryParam.getEndTime(), formatter) + " 23:59:00";
//先重redis读取数据无数据查看是否存在文件不存在文件查数据库数据校验补通过上传文件
// dataHarmPowerPList = (List<CarryCapcityData>) redisUtil.getObjectByKey(lineId + "#" + LocalDateTimeUtil.format(startDate, formatter) + "#" + LocalDateTimeUtil.format(endDate, formatter) + "#" + "P");
// dataHarmPowerP2List = (List<CarryCapcityData>) redisUtil.getObjectByKey(lineId + "#" + LocalDateTimeUtil.format(startDate2, formatter) + "#" + LocalDateTimeUtil.format(endDate2, formatter) + "#" + "P");
// dataHarmPowerQ2List = (List<CarryCapcityData>) redisUtil.getObjectByKey(lineId + "#" + LocalDateTimeUtil.format(startDate2, formatter) + "#" + LocalDateTimeUtil.format(endDate2, formatter) + "#" + "Q");
// dataHarmPowerU2List = (List<CarryCapcityData>) redisUtil.getObjectByKey(lineId + "#" + LocalDateTimeUtil.format(startDate2, formatter) + "#" + LocalDateTimeUtil.format(endDate2, formatter) + "#" + "U");
dataHarmPowerPList = (List<CarryCapcityData>) redisUtil.getObjectByKey(lineId + "#" + LocalDateTimeUtil.format(startDate, formatter) + "#" + LocalDateTimeUtil.format(endDate, formatter) + "#" + "P");
dataHarmPowerP2List = (List<CarryCapcityData>) redisUtil.getObjectByKey(lineId + "#" + LocalDateTimeUtil.format(startDate2, formatter) + "#" + LocalDateTimeUtil.format(endDate2, formatter) + "#" + "P");
dataHarmPowerQ2List = (List<CarryCapcityData>) redisUtil.getObjectByKey(lineId + "#" + LocalDateTimeUtil.format(startDate2, formatter) + "#" + LocalDateTimeUtil.format(endDate2, formatter) + "#" + "Q");
dataHarmPowerU2List = (List<CarryCapcityData>) redisUtil.getObjectByKey(lineId + "#" + LocalDateTimeUtil.format(startDate2, formatter) + "#" + LocalDateTimeUtil.format(endDate2, formatter) + "#" + "U");
if(CollectionUtil.isEmpty(dataHarmPowerPList)){
CarryCapacityDataPO one = carryCapacityDataPOService.lambdaQuery().eq(CarryCapacityDataPO::getLineId, lineId)
@@ -134,6 +134,15 @@ public class CarryCapcityServiceImpl implements CarryCapcityService {
.eq(CarryCapacityDataPO::getEndTime, endTime).one();
if(Objects.nonNull(one)){
//todo 调用查询文件
InputStream fileStream = fileStorageUtil.getFileStream(one.getDateList());
ExcelDataDTO excelDataDTO = ParsingFile(one.getStartTime(), one.getEndTime(), fileStream);
dataHarmPowerPList = excelDataDTO.getDataHarmPowerPList();
dataHarmPowerQList = excelDataDTO.getDataHarmPowerQList();
dataIList = excelDataDTO.getDataIList();
dataHarmPowerP2List = excelDataDTO.getDataHarmPowerP2List();
dataHarmPowerQ2List = excelDataDTO.getDataHarmPowerQ2List();
dataHarmPowerU2List = excelDataDTO.getDataHarmPowerU2List();
}else {
/* 近一周的数据包括电流,电压有功功率无功功率数据完整性校验就取有功功率一组数据校验因为要有都有要没有都没有数据查询按时间间隔和tag分组
@@ -243,14 +252,15 @@ public class CarryCapcityServiceImpl implements CarryCapcityService {
}
//数据缺失填补
linearInterpolation(dataHarmPowerU2List);
// redisUtil.saveByKey(lineId+"#"+LocalDateTimeUtil.format(startDate2, formatter)+"#"+LocalDateTimeUtil.format(endDate2, formatter)+"#"+"P",
// dataHarmPowerP2List);
// redisUtil.saveByKey(lineId+"#"+LocalDateTimeUtil.format(startDate2, formatter)+"#"+LocalDateTimeUtil.format(endDate2, formatter)+"#"+"Q",
// dataHarmPowerQ2List);
// redisUtil.saveByKey(lineId+"#"+LocalDateTimeUtil.format(startDate2, formatter)+"#"+LocalDateTimeUtil.format(endDate2, formatter)+"#"+"U",
// dataHarmPowerU2List);
// redisUtil.saveByKey(lineId+"#"+LocalDateTimeUtil.format(startDate, formatter)+"#"+LocalDateTimeUtil.format(endDate, formatter)+"#"+"I",
// dataIList);
redisUtil.saveByKey(lineId+"#"+LocalDateTimeUtil.format(startDate, formatter)+"#"+LocalDateTimeUtil.format(endDate, formatter)+"#"+"P",
dataHarmPowerPList);
redisUtil.saveByKey(lineId+"#"+LocalDateTimeUtil.format(startDate2, formatter)+"#"+LocalDateTimeUtil.format(endDate2, formatter)+"#"+"P",
dataHarmPowerP2List);
redisUtil.saveByKey(lineId+"#"+LocalDateTimeUtil.format(startDate2, formatter)+"#"+LocalDateTimeUtil.format(endDate2, formatter)+"#"+"Q",
dataHarmPowerQ2List);
redisUtil.saveByKey(lineId+"#"+LocalDateTimeUtil.format(startDate2, formatter)+"#"+LocalDateTimeUtil.format(endDate2, formatter)+"#"+"U",
dataHarmPowerU2List);
}
@@ -307,24 +317,29 @@ public class CarryCapcityServiceImpl implements CarryCapcityService {
String startTime = LocalDateTimeUtil.format(queryParam.getStartTime(), formatter) + " 00:00:00";
String endTime = LocalDateTimeUtil.format(queryParam.getEndTime(), formatter) + " 23:59:00";
List<CarryCapcityData> dataHarmPowerQList = new ArrayList<>();
dataHarmPowerQList = (List<CarryCapcityData>) redisUtil.getObjectByKey(lineId + "#" + LocalDateTimeUtil.format(startDate, formatter) + "#" + LocalDateTimeUtil.format(endDate, formatter) + "#" + "Q");
if(CollectionUtil.isEmpty(dataHarmPowerQList)){
//无功功率
String SqlQ1 = "select mean(q)*1000 as value from data_harmpower_q where value_type='CP95' and phasic_type!='T' and line_id='"+lineId+
"' and time >= '" + startTime + "'and time <= '" +endTime + "'"+"group by time("+timeInterval+"m) ,* fill(3.1415926)"+InfluxDBPublicParam.TIME_ZONE;
List<CarryCapcityData> dataHarmPowerList = dataHarmPowerQMapper.getSqlResult(SqlQ1);
if(CollectionUtil.isEmpty(dataHarmPowerList)){
dataHarmPowerQList = dataHarmPowerQMapper.getSqlResult(SqlQ1);
if(CollectionUtil.isEmpty(dataHarmPowerQList)){
throw new BusinessException(AdvanceResponseEnum.DATA_NOT_FOUND);
}else {
if (!checkData(dataHarmPowerList,startDate,endDate,timeInterval)){
if (!checkData(dataHarmPowerQList,startDate,endDate,timeInterval)){
throw new BusinessException(AdvanceResponseEnum.DATA_NOT_FOUND);
}
}
//数据缺失填补
linearInterpolation(dataHarmPowerList);
carryCapacityDataQVO.setData(dataHarmPowerList);
linearInterpolation(dataHarmPowerQList);
redisUtil.saveByKey(lineId+"#"+LocalDateTimeUtil.format(startDate, formatter)+"#"+LocalDateTimeUtil.format(endDate, formatter)+"#"+"Q",
dataHarmPowerQList);
}
carryCapacityDataQVO.setData(dataHarmPowerQList);
@@ -333,8 +348,9 @@ public class CarryCapcityServiceImpl implements CarryCapcityService {
Map<String,Double> results = new HashMap<>(4);
//计算最小Cp95值用于评估
List<CarryCapcityData> finalDataHarmPowerQList = dataHarmPowerQList;
phaseType.stream().forEach(phase -> {
List<Double> listQ = dataHarmPowerList.stream().filter(temp -> Utils.isTimeInRange(temp.getTime(), LocalTime.of(9, 0), LocalTime.of(15, 0)))
List<Double> listQ = finalDataHarmPowerQList.stream().filter(temp -> Utils.isTimeInRange(temp.getTime(), LocalTime.of(9, 0), LocalTime.of(15, 0)))
.filter(temp -> temp.getValue()!=DEFAULTVALUE&&Objects.nonNull(temp.getValue()))
.filter(temp -> Objects.equals(temp.getPhaseType(),phase))
.map(CarryCapcityData::getValue)
@@ -364,6 +380,10 @@ public class CarryCapcityServiceImpl implements CarryCapcityService {
String startTime = LocalDateTimeUtil.format(startDate, formatter) + " 00:00:00";
String endTime = LocalDateTimeUtil.format(endDate, formatter) + " 23:59:00";
List<DataI> dataI = new ArrayList<>();
dataI = (List<DataI>) redisUtil.getObjectByKey(lineId + "#" + LocalDateTimeUtil.format(startDate, formatter) + "#" + LocalDateTimeUtil.format(endDate, formatter) + "#" + "I");
if(CollectionUtil.isEmpty(dataI)){
//电流
StringBuilder stringBuilder1 = new StringBuilder();
StringBuilder stringBuilder2 = new StringBuilder();
@@ -376,7 +396,7 @@ public class CarryCapcityServiceImpl implements CarryCapcityService {
}
stringBuilder2.append ("line_id='").append (lineId).append ("' and ").append(InfluxDBPublicParam.TIME + " >= '").append(startTime).append("' and ").append(InfluxDBPublicParam.TIME).append(" <= '").append(endTime).append("' group by time(").append(timeInterval).append("m),* fill(3.1415926) ").append(InfluxDBPublicParam.TIME_ZONE);
String sqlI1 = "select "+stringBuilder1+" from "+ InfluxDBPublicParam.DATA_I+" where value_type='CP95' and phasic_type!='T' and "+stringBuilder2;
List<DataI> dataI = dataIMapper.getSqlResult(sqlI1);
dataI = dataIMapper.getSqlResult(sqlI1);
if(CollectionUtil.isEmpty(dataI)){
throw new BusinessException(AdvanceResponseEnum.DATA_NOT_FOUND);
}else {
@@ -393,6 +413,11 @@ public class CarryCapcityServiceImpl implements CarryCapcityService {
}
//数据缺失填补
linearInterpolationI(dataI);
redisUtil.saveByKey(lineId+"#"+LocalDateTimeUtil.format(startDate, formatter)+"#"+LocalDateTimeUtil.format(endDate, formatter)+"#"+"I",
dataI);
}
List<CarryCapcityData> i_list = dataI.stream().map(temp -> {
CarryCapcityData carryCapcityData = new CarryCapcityData();
BeanUtils.copyProperties(temp, carryCapcityData);
@@ -404,11 +429,12 @@ public class CarryCapcityServiceImpl implements CarryCapcityService {
List<Double> I_βmax =new ArrayList<>();
List<Integer> integerList = Stream.of(2, 3, 4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25).collect(Collectors.toList());
List<String> phaseType = Stream.of("A", "B", "C").collect(Collectors.toList());
List<DataI> finalDataI = dataI;
integerList.stream().forEach(temp->{
List<Double> iList = new ArrayList<>();
phaseType.stream().forEach(phase -> {
List<DataI> tempDataIList = dataI.stream().filter(temp1 -> Utils.isTimeInRange(temp1.getTime(), LocalTime.of(9, 0), LocalTime.of(15, 0)))
List<DataI> tempDataIList = finalDataI.stream().filter(temp1 -> Utils.isTimeInRange(temp1.getTime(), LocalTime.of(9, 0), LocalTime.of(15, 0)))
.filter(temp1 -> temp1.getPhaseType().equals(phase))
.collect(Collectors.toList());
@@ -696,19 +722,19 @@ public class CarryCapcityServiceImpl implements CarryCapcityService {
}
linearInterpolationI(dataIList);
//存入redis
// redisUtil.saveByKey(lineId+"#"+LocalDateTimeUtil.format(startDate, formatter)+"#"+LocalDateTimeUtil.format(endDate, formatter)+"#"+"P",
// dataHarmPowerPList);
// redisUtil.saveByKey(lineId+"#"+LocalDateTimeUtil.format(startDate2, formatter)+"#"+LocalDateTimeUtil.format(endDate2, formatter)+"#"+"P",
// dataHarmPowerP2List);
// redisUtil.saveByKey(lineId+"#"+LocalDateTimeUtil.format(startDate, formatter)+"#"+LocalDateTimeUtil.format(endDate, formatter)+"#"+"Q",
// dataHarmPowerQList);
// redisUtil.saveByKey(lineId+"#"+LocalDateTimeUtil.format(startDate2, formatter)+"#"+LocalDateTimeUtil.format(endDate2, formatter)+"#"+"Q",
// dataHarmPowerQ2List);
// redisUtil.saveByKey(lineId+"#"+LocalDateTimeUtil.format(startDate2, formatter)+"#"+LocalDateTimeUtil.format(endDate2, formatter)+"#"+"U",
// dataHarmPowerU2List);
// redisUtil.saveByKey(lineId+"#"+LocalDateTimeUtil.format(startDate, formatter)+"#"+LocalDateTimeUtil.format(endDate, formatter)+"#"+"I",
// dataIList);
// 存入redis
redisUtil.saveByKey(lineId+"#"+LocalDateTimeUtil.format(startDate, formatter)+"#"+LocalDateTimeUtil.format(endDate, formatter)+"#"+"P",
dataHarmPowerPList);
redisUtil.saveByKey(lineId+"#"+LocalDateTimeUtil.format(startDate2, formatter)+"#"+LocalDateTimeUtil.format(endDate2, formatter)+"#"+"P",
dataHarmPowerP2List);
redisUtil.saveByKey(lineId+"#"+LocalDateTimeUtil.format(startDate, formatter)+"#"+LocalDateTimeUtil.format(endDate, formatter)+"#"+"Q",
dataHarmPowerQList);
redisUtil.saveByKey(lineId+"#"+LocalDateTimeUtil.format(startDate2, formatter)+"#"+LocalDateTimeUtil.format(endDate2, formatter)+"#"+"Q",
dataHarmPowerQ2List);
redisUtil.saveByKey(lineId+"#"+LocalDateTimeUtil.format(startDate2, formatter)+"#"+LocalDateTimeUtil.format(endDate2, formatter)+"#"+"U",
dataHarmPowerUList);
redisUtil.saveByKey(lineId+"#"+LocalDateTimeUtil.format(startDate, formatter)+"#"+LocalDateTimeUtil.format(endDate, formatter)+"#"+"I",
dataIList);
//todo 将文件存入文件服务器获取url
String filePath = fileStorageUtil.uploadMultipart(excelDataParam.getFile(), OssPath.CARRY_CAPCITY_DATA);
String url = "temp";
@@ -848,7 +874,7 @@ public class CarryCapcityServiceImpl implements CarryCapcityService {
carryCapacityResultPO.setStatus(1);
if(rate<0.001){
carryCapacityResultPO.setReslutLevel(1);
carryCapacityResultPO.setReslutLevel(6);
carryCapacityResultPOService.save(carryCapacityResultPO);
return vo;
}
@@ -991,7 +1017,7 @@ public class CarryCapcityServiceImpl implements CarryCapcityService {
vo.setIResultList(carryCapacityIResultList);
carryCapacityResultPO.setIResultList(JSONUtil.toJsonStr(carryCapacityIResultList));
long count = carryCapacityIResultList.stream().filter(temp -> temp.getI() > temp.getI_limit()).count();
carryCapacityResultPO.setReslutLevel(count==0?1:6);
carryCapacityResultPO.setReslutLevel(count==0?6:5);
carryCapacityResultPOService.save(carryCapacityResultPO);
@@ -1019,7 +1045,7 @@ public class CarryCapcityServiceImpl implements CarryCapcityService {
}
public static ExcelDataDTO ParsingFile(LocalDate startDate, LocalDate endDate, InputStream is) throws Exception{
public static ExcelDataDTO ParsingFile(LocalDate startDate, LocalDate endDate, InputStream is) {
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
List<CarryCapcityData> dataHarmPowerPList = new ArrayList<>();
List<CarryCapcityData> dataHarmPowerQList= new ArrayList<>();

View File

@@ -78,9 +78,9 @@ public class CZNLPG {
matU.setEntry(i, 0, u.get(i));
}
System.out.println("matPQ=");
// System.out.println("matPQ=");
printMatrix(matPQ);
System.out.println("matPQ transpose=");
// System.out.println("matPQ transpose=");
printMatrix(matPQ.transpose());
// w = inv(PQ1'*PQ1)*PQ1'*U