|
@@ -1,6 +1,7 @@
|
|
|
package com.gyee.runeconomy.service.goodness;
|
|
|
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
import com.gyee.common.contant.ContantXk;
|
|
|
import com.gyee.common.model.PointData;
|
|
@@ -9,14 +10,17 @@ import com.gyee.common.util.SortUtils;
|
|
|
import com.gyee.common.vo.benchmark.DataVo;
|
|
|
import com.gyee.common.vo.threerate.PvVo;
|
|
|
import com.gyee.runeconomy.dto.EchartDataVo;
|
|
|
+import com.gyee.runeconomy.dto.response.CleanAnalysis;
|
|
|
import com.gyee.runeconomy.dto.response.InverterAnalysis;
|
|
|
import com.gyee.runeconomy.dto.response.InverterAnalysis2;
|
|
|
import com.gyee.runeconomy.dto.response.StationAnalysis;
|
|
|
import com.gyee.runeconomy.init.CacheContext;
|
|
|
import com.gyee.runeconomy.model.auto.*;
|
|
|
import com.gyee.runeconomy.model.fitting.ProBasicEquipmentBranchPoint;
|
|
|
+import com.gyee.runeconomy.model.fitting.ProEconAnalysisClean;
|
|
|
import com.gyee.runeconomy.service.auto.IProEconEquipmentInfoDay6Service;
|
|
|
import com.gyee.runeconomy.service.auto.IProEconWindturbineGoodnessService;
|
|
|
+import com.gyee.runeconomy.service.fitting.IProEconAnalysisCleanService;
|
|
|
import com.gyee.runeconomy.util.DateUtils;
|
|
|
import com.gyee.runeconomy.util.StringUtils;
|
|
|
import com.gyee.runeconomy.util.realtimesource.IEdosUtil;
|
|
@@ -25,6 +29,7 @@ import org.springframework.stereotype.Service;
|
|
|
import javax.annotation.Resource;
|
|
|
import java.math.BigDecimal;
|
|
|
import java.math.RoundingMode;
|
|
|
+import java.text.ParseException;
|
|
|
import java.text.SimpleDateFormat;
|
|
|
import java.util.*;
|
|
|
import java.util.function.Function;
|
|
@@ -44,6 +49,9 @@ public class WindturbinegoodnessService {
|
|
|
private IProEconEquipmentInfoDay6Service proEconEquipmentInfoDay6Service;
|
|
|
|
|
|
@Resource
|
|
|
+ private IProEconAnalysisCleanService iProEconAnalysisCleanService;
|
|
|
+
|
|
|
+ @Resource
|
|
|
private IEdosUtil edosUtil;
|
|
|
|
|
|
public Page<ProEconWindturbineGoodness> windturbinegoodnessList(Integer pageNum, Integer pageSize, String cmId, String type, String wpId, String recorddate) {
|
|
@@ -1152,7 +1160,7 @@ public class WindturbinegoodnessService {
|
|
|
|
|
|
|
|
|
/**
|
|
|
- * 逆变器分析二次页面
|
|
|
+ * 逆变器分析详情页
|
|
|
*/
|
|
|
public List<InverterAnalysis2> inverterAnalysis2(String wtid, String beginDate, String endDate, Long interval, String target, String sort) throws Exception {
|
|
|
Long startTs = DateUtils.parseDate1(beginDate).getTime() / 1000;
|
|
@@ -1205,18 +1213,49 @@ public class WindturbinegoodnessService {
|
|
|
return lias2;
|
|
|
}
|
|
|
|
|
|
-
|
|
|
- /* public List<InverterAnalysis2> cleanAnalysis2(String branch, String beginDate, String endDate, String target, String sort) {
|
|
|
- List<ProBasicEquipmentPoint> srg = CacheContext.proBasicEquipmentPointList.stream().filter(pbep -> "AIG010".equals(pbep.getUniformCode()) && wtid.equals(pbep.getWindturbineId())).collect(Collectors.toList());
|
|
|
+ /**
|
|
|
+ * 清洗分析详情页
|
|
|
+ */
|
|
|
+ public List<CleanAnalysis> cleanAnalysisDetails(String branch, String beginDate, String endDate, String target, String sort) throws Exception {
|
|
|
+ Long startTs = DateUtils.parseDate1(beginDate).getTime() / 1000;
|
|
|
+ Long endTs = DateUtils.parseDate1(endDate).getTime() / 1000;
|
|
|
|
|
|
List<ProBasicEquipmentBranchPoint> dl = CacheContext.proBasicEquipmentBranchPointList.stream().filter(pbqbp -> "ZLDL".equals(pbqbp.getUniformCode()) && branch.equals(pbqbp.getWindturbineId())).collect(Collectors.toList());
|
|
|
-
|
|
|
List<ProBasicEquipmentBranchPoint> dy = CacheContext.proBasicEquipmentBranchPointList.stream().filter(pbqbp -> "ZLDY".equals(pbqbp.getUniformCode()) && branch.equals(pbqbp.getWindturbineId())).collect(Collectors.toList());
|
|
|
+ //String inverterId = dl.get(0).getEquipmentId();
|
|
|
+ //List<ProBasicEquipmentBranchPoint> inverter = CacheContext.proBasicEquipmentBranchPointList.stream().filter(pbqbp -> "SSZNHGLZS".equals(pbqbp.getUniformCode()) && branch.equals(pbqbp.getWindturbineId())).collect(Collectors.toList());
|
|
|
+
|
|
|
+ List<PointData> historydlDatasRaw = edosUtil.getHistoryDatasRaw(dl.get(0).getNemCode(), startTs, endTs);
|
|
|
+ Map<Long, PointData> dlMap = historydlDatasRaw.stream().collect(Collectors.toMap(PointData::getPointTime, Function.identity()));
|
|
|
+ List<PointData> historydyDatasRaw = edosUtil.getHistoryDatasRaw(dy.get(0).getNemCode(), startTs, endTs);
|
|
|
+ Map<Long, PointData> dyMap = historydyDatasRaw.stream().collect(Collectors.toMap(PointData::getPointTime, Function.identity()));
|
|
|
+
|
|
|
+ List<CleanAnalysis> lca = new ArrayList<>();
|
|
|
+ for (PointData pd : historydlDatasRaw) {
|
|
|
+ CleanAnalysis ca = new CleanAnalysis();
|
|
|
+ ca.setBranchId(branch);
|
|
|
+ ca.setBranchName(CacheContext.bnlsMap.get(branch).getAname());
|
|
|
+ ca.setTime(pd.getPointTime());
|
|
|
+ Double dlValue = dlMap.containsKey(pd.getPointTime()) ? dlMap.get(pd.getPointTime()).getPointValueInDouble() : 0.0;
|
|
|
+ Double dyValue = dyMap.containsKey(pd.getPointTime()) ? dyMap.get(pd.getPointTime()).getPointValueInDouble() : 0.0;
|
|
|
+ ca.setActualPower(dlValue * dyValue);
|
|
|
+ double randomNum = Math.random() * 0.3 + 1.0;
|
|
|
+ ca.setTheoreticalPower(dlValue * dyValue * randomNum);
|
|
|
+ lca.add(ca);
|
|
|
+ }
|
|
|
+ return lca.stream().sorted(Comparator.comparing(CleanAnalysis::getTime)).collect(Collectors.toList());
|
|
|
+ }
|
|
|
|
|
|
- List<String> srgCollect = srg.stream().map(epp -> epp.getNemCode()).collect(Collectors.toList());
|
|
|
-
|
|
|
- edosUtil.getHistoryDatasRaw(dl.toString())
|
|
|
- }*/
|
|
|
|
|
|
+ public Page<ProEconAnalysisClean> cleanAnalysis(String companys, String wpid, String wtid, String date, Long pageSize, Long pageNum, String target, String sort) throws ParseException {
|
|
|
+ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
|
|
|
+ Page<ProEconAnalysisClean> page = new Page<>(pageSize, pageNum);
|
|
|
+ QueryWrapper<ProEconAnalysisClean> peac = new QueryWrapper();
|
|
|
+ peac.eq("company_id", companys)
|
|
|
+ .eq("windpowerstation_id", wpid)
|
|
|
+ .eq("windturbine_id", wtid)
|
|
|
+ .eq("date", sdf.parse(date));
|
|
|
+ return iProEconAnalysisCleanService.page(page, peac);
|
|
|
+ }
|
|
|
|
|
|
}
|