|
@@ -11,6 +11,7 @@ import com.gyee.gradeevaluation.model.auto.*;
|
|
|
import com.gyee.gradeevaluation.model.healthreport.*;
|
|
|
import com.gyee.gradeevaluation.service.auto.*;
|
|
|
import com.gyee.gradeevaluation.util.*;
|
|
|
+import com.gyee.gradeevaluation.util.golden.timeseries.StringUtil;
|
|
|
import io.lettuce.core.GeoArgs;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
@@ -72,6 +73,18 @@ public class HealthReportService {
|
|
|
private IHealthreportService healthreportService;
|
|
|
@Resource
|
|
|
private IFaultstatisticwindturbineService faultstatisticwindturbineService;
|
|
|
+ @Resource
|
|
|
+ private IReportpowerfittingService reportpowerfittingService;
|
|
|
+ @Resource
|
|
|
+ private IReportdeviationService reportdeviationService;
|
|
|
+ @Resource
|
|
|
+ private IWindpowerdeviationrateService windpowerdeviationrateService;
|
|
|
+ @Resource
|
|
|
+ private IWinddeviationrateService winddeviationrateService;
|
|
|
+ @Resource
|
|
|
+ private IReportdangerService reportdangerService;
|
|
|
+ @Resource
|
|
|
+ private IReportpowerpartweatherService reportpowerpartweatherService;
|
|
|
|
|
|
/**
|
|
|
* 保存风机报告
|
|
@@ -201,14 +214,21 @@ public class HealthReportService {
|
|
|
|
|
|
}
|
|
|
//功率曲线拟合
|
|
|
- List<Windturbinecurvefittingmonth> glqxnhlist = windturbinecurvefittingmonthService.glqxnhlist(wt.getId(),year,month);
|
|
|
+ QueryWrapper<Reportpowerfitting> reportpowerfittingQueryWrapper = new QueryWrapper<>();
|
|
|
+ reportpowerfittingQueryWrapper.eq("month",month);
|
|
|
+ reportpowerfittingQueryWrapper.eq("year",year);
|
|
|
+ reportpowerfittingQueryWrapper.eq("wtid",wt.getId());
|
|
|
+ List<Reportpowerfitting> glqxnhlist = reportpowerfittingService.list(reportpowerfittingQueryWrapper);
|
|
|
+// List<Windturbinecurvefittingmonth> glqxnhlist = windturbinecurvefittingmonthService.glqxnhlist(wt.getId(),year,month);
|
|
|
if (glqxnhlist!=null && glqxnhlist.size()>0){
|
|
|
List<NhglVo> list = new ArrayList<>();
|
|
|
glqxnhlist.stream().forEach(i->{
|
|
|
NhglVo vo = new NhglVo();
|
|
|
vo.setSpeed(i.getSpeed());
|
|
|
- vo.setNhgl(i.getActualpower());
|
|
|
- vo.setBzgl(i.getOptimalpower());
|
|
|
+// vo.setNhgl(i.getActualpower());
|
|
|
+// vo.setBzgl(i.getOptimalpower());
|
|
|
+ vo.setNhgl(i.getNhgl());
|
|
|
+ vo.setBzgl(i.getBzgl());
|
|
|
list.add(vo);
|
|
|
});
|
|
|
SortUtils.sort(list,"speed",SortUtils.ASC);
|
|
@@ -216,14 +236,21 @@ public class HealthReportService {
|
|
|
}
|
|
|
|
|
|
//曲线偏差率
|
|
|
- List<Wtreportsub> wtreportsub = wtreportsubService.qxpcllist(wt.getId(),day);
|
|
|
+ QueryWrapper<Reportdeviation> reportdeviationQueryWrapper = new QueryWrapper<>();
|
|
|
+ reportdeviationQueryWrapper.eq("wtid",wt.getId());
|
|
|
+ reportdeviationQueryWrapper.ge("recorddate",monthFirst).le("recorddate",yestday);
|
|
|
+ List<Reportdeviation> wtreportsub = reportdeviationService.list(reportdeviationQueryWrapper);
|
|
|
+// List<Wtreportsub> wtreportsub = wtreportsubService.qxpcllist(wt.getId(),day);
|
|
|
if (wtreportsub!=null && wtreportsub.size()>0){
|
|
|
List<QxpclVo> list = new ArrayList<>();
|
|
|
wtreportsub.stream().forEach(i->{
|
|
|
QxpclVo vo = new QxpclVo();
|
|
|
- vo.setDate(i.getRecodedate());
|
|
|
- vo.setQxpcl(i.getQxpcl());
|
|
|
- vo.setJzz(i.getQxpcljzz());
|
|
|
+// vo.setDate(i.getRecodedate());
|
|
|
+// vo.setQxpcl(i.getQxpcl());
|
|
|
+// vo.setJzz(i.getQxpcljzz());
|
|
|
+ vo.setDate(i.getRecorddate());
|
|
|
+ vo.setQxpcl(i.getPcl());
|
|
|
+ vo.setJzz(i.getJzz());
|
|
|
list.add(vo);
|
|
|
});
|
|
|
healthReportVo.setQxpcls(list);
|
|
@@ -271,76 +298,94 @@ public class HealthReportService {
|
|
|
}
|
|
|
|
|
|
//对风偏差图
|
|
|
- List<Windturbinepoweryaw> glqxts =windturbinepoweryawService.getPowerDraw(wt.getId(),day);
|
|
|
+ QueryWrapper<Windpowerdeviationrate> windpowerdeviationrateQueryWrapper = new QueryWrapper<>();
|
|
|
+ windpowerdeviationrateQueryWrapper.eq("wtid",wt.getId());
|
|
|
+ List<Windpowerdeviationrate> windpowerdeviationrates = windpowerdeviationrateService.list(windpowerdeviationrateQueryWrapper);
|
|
|
+ List<Windpowerdeviationrate> glqxts = windpowerdeviationrates.stream().filter(deviationrate-> deviationrate.getType() == 2).collect(Collectors.toList());
|
|
|
+// List<Windturbinepoweryaw> glqxts =windturbinepoweryawService.getPowerDraw(wt.getId(),day);
|
|
|
List<DfpclPowerVo> dfpclpowers = new ArrayList<>();
|
|
|
if (glqxts!=null && glqxts.size()>0){
|
|
|
glqxts.stream().forEach(i->{
|
|
|
DfpclPowerVo vo = new DfpclPowerVo();
|
|
|
- vo.setPower(i.getPower());
|
|
|
- int sum = i.getQualified() + i.getUnqualified();
|
|
|
- if (i.getUnqualified()!=0){
|
|
|
- BigDecimal divide = BigDecimalUtils.divide(String.valueOf(i.getUnqualified()), String.valueOf(sum), 2);
|
|
|
- vo.setDfpcl(divide.doubleValue()*100);
|
|
|
- }else{
|
|
|
- vo.setDfpcl(0.0);
|
|
|
- }
|
|
|
+// vo.setPower(i.getPower());
|
|
|
+// int sum = i.getQualified() + i.getUnqualified();
|
|
|
+// if (i.getUnqualified()!=0){
|
|
|
+// BigDecimal divide = BigDecimalUtils.divide(String.valueOf(i.getUnqualified()), String.valueOf(sum), 2);
|
|
|
+// vo.setDfpcl(divide.doubleValue()*100);
|
|
|
+// }else{
|
|
|
+// vo.setDfpcl(0.0);
|
|
|
+// }
|
|
|
+ vo.setPower(i.getTypevalue());
|
|
|
+ vo.setDfpcl(i.getValue());
|
|
|
dfpclpowers.add(vo);
|
|
|
});
|
|
|
SortUtils.sort(dfpclpowers,"power",SortUtils.ASC);
|
|
|
healthReportVo.setDfpclpowers(dfpclpowers);
|
|
|
}
|
|
|
-
|
|
|
- List<Windturbinewindyaw> fsqxts =windturbinewindyawService.getPowerDraw(wt.getId(),day);
|
|
|
+ List<Windpowerdeviationrate> fsqxts = windpowerdeviationrates.stream().filter(deviationrate-> deviationrate.getType() == 1).collect(Collectors.toList());
|
|
|
+// List<Windturbinewindyaw> fsqxts =windturbinewindyawService.getPowerDraw(wt.getId(),day);
|
|
|
List<DfpclSpeedVo> dfpclSpeeds = new ArrayList<>();
|
|
|
if (fsqxts!=null && fsqxts.size()>0){
|
|
|
fsqxts.stream().forEach(i->{
|
|
|
DfpclSpeedVo vo = new DfpclSpeedVo();
|
|
|
- vo.setSpeed(i.getSpeed());
|
|
|
- int sum = i.getQualified() + i.getUnqualified();
|
|
|
- if (i.getUnqualified()!=0){
|
|
|
- BigDecimal divide = BigDecimalUtils.divide(String.valueOf(i.getUnqualified()), String.valueOf(sum), 2);
|
|
|
- vo.setDfpcl(divide.doubleValue()*100);
|
|
|
- }else{
|
|
|
- vo.setDfpcl(0.0);
|
|
|
- }
|
|
|
- vo.setDfpcl(sum != 0 ? (i.getUnqualified())/sum*100 : 0.0);
|
|
|
+// vo.setSpeed(i.getSpeed());
|
|
|
+// int sum = i.getQualified() + i.getUnqualified();
|
|
|
+// if (i.getUnqualified()!=0){
|
|
|
+// BigDecimal divide = BigDecimalUtils.divide(String.valueOf(i.getUnqualified()), String.valueOf(sum), 2);
|
|
|
+// vo.setDfpcl(divide.doubleValue()*100);
|
|
|
+// }else{
|
|
|
+// vo.setDfpcl(0.0);
|
|
|
+// }
|
|
|
+// vo.setDfpcl(sum != 0 ? (i.getUnqualified())/sum*100 : 0.0);
|
|
|
+ vo.setSpeed(DoubleUtils.getRoundingNum(i.getTypevalue(),0));
|
|
|
+ vo.setDfpcl(i.getValue());
|
|
|
dfpclSpeeds.add(vo);
|
|
|
});
|
|
|
SortUtils.sort(dfpclSpeeds,"speed",SortUtils.ASC);
|
|
|
healthReportVo.setDfpclSpeeds(dfpclSpeeds);
|
|
|
}
|
|
|
+ QueryWrapper<Winddeviationrate> winddeviationrateQueryWrapper = new QueryWrapper<>();
|
|
|
+ winddeviationrateQueryWrapper.eq("wtid",wt.getId());
|
|
|
+ List<Winddeviationrate> winddeviationrates = winddeviationrateService.list(winddeviationrateQueryWrapper);
|
|
|
+ if (winddeviationrates!=null){
|
|
|
+ winddeviationrates.stream().forEach(i->{
|
|
|
+ NippleVo vo = new NippleVo();
|
|
|
+ vo.setPcl(Integer.parseInt(i.getType().substring(i.getType().indexOf("R")+1)));
|
|
|
+ vo.setCount(i.getCount());
|
|
|
+ });
|
|
|
|
|
|
- List<Windturbinewindyaw> nzs =windturbinewindyawService.getnzt(wt.getId(),day);
|
|
|
- if(nzs.get(0)!=null){
|
|
|
- Windturbinewindyaw windturbinewindyaw = nzs.get(0);
|
|
|
- Field[] field = windturbinewindyaw.getClass().getDeclaredFields(); // 获取实体类的所有属性,返回Field数组
|
|
|
- List<NippleVo> nippleVos = new ArrayList<>();
|
|
|
- try {
|
|
|
- for (int j = 7; j < field.length; j++) { // 遍历所有属性
|
|
|
- String name = field[j].getName(); // 获取属性的名字
|
|
|
- name = name.substring(0, 1).toUpperCase() + name.substring(1); // 将属性的首字符大写,方便构造get,set方法
|
|
|
- Method m = windturbinewindyaw.getClass().getMethod("get" + name);
|
|
|
- Integer value = (Integer) m.invoke(windturbinewindyaw);
|
|
|
- NippleVo vo = new NippleVo();
|
|
|
- vo.setPcl(Integer.parseInt(name.substring(1).replace("f","-")));
|
|
|
- vo.setCount(value);
|
|
|
- nippleVos.add(vo);
|
|
|
- // 如果有需要,可以仿照上面继续进行扩充,再增加对其它类型的判断
|
|
|
- }
|
|
|
- SortUtils.sort(nippleVos,"pcl",SortUtils.ASC);
|
|
|
- healthReportVo.setNipples(nippleVos);
|
|
|
- } catch (NoSuchMethodException e) {
|
|
|
- e.printStackTrace();
|
|
|
- } catch (SecurityException e) {
|
|
|
- e.printStackTrace();
|
|
|
- } catch (IllegalAccessException e) {
|
|
|
- e.printStackTrace();
|
|
|
- } catch (IllegalArgumentException e) {
|
|
|
- e.printStackTrace();
|
|
|
- } catch (InvocationTargetException e) {
|
|
|
- e.printStackTrace();
|
|
|
- }
|
|
|
}
|
|
|
+// List<Windturbinewindyaw> nzs =windturbinewindyawService.getnzt(wt.getId(),day);
|
|
|
+// if(nzs.get(0)!=null){
|
|
|
+// Windturbinewindyaw windturbinewindyaw = nzs.get(0);
|
|
|
+// Field[] field = windturbinewindyaw.getClass().getDeclaredFields(); // 获取实体类的所有属性,返回Field数组
|
|
|
+// List<NippleVo> nippleVos = new ArrayList<>();
|
|
|
+// try {
|
|
|
+// for (int j = 7; j < field.length; j++) { // 遍历所有属性
|
|
|
+// String name = field[j].getName(); // 获取属性的名字
|
|
|
+// name = name.substring(0, 1).toUpperCase() + name.substring(1); // 将属性的首字符大写,方便构造get,set方法
|
|
|
+// Method m = windturbinewindyaw.getClass().getMethod("get" + name);
|
|
|
+// Integer value = (Integer) m.invoke(windturbinewindyaw);
|
|
|
+// NippleVo vo = new NippleVo();
|
|
|
+// vo.setPcl(Integer.parseInt(name.substring(1).replace("f","-")));
|
|
|
+// vo.setCount(value);
|
|
|
+// nippleVos.add(vo);
|
|
|
+// // 如果有需要,可以仿照上面继续进行扩充,再增加对其它类型的判断
|
|
|
+// }
|
|
|
+// SortUtils.sort(nippleVos,"pcl",SortUtils.ASC);
|
|
|
+// healthReportVo.setNipples(nippleVos);
|
|
|
+// } catch (NoSuchMethodException e) {
|
|
|
+// e.printStackTrace();
|
|
|
+// } catch (SecurityException e) {
|
|
|
+// e.printStackTrace();
|
|
|
+// } catch (IllegalAccessException e) {
|
|
|
+// e.printStackTrace();
|
|
|
+// } catch (IllegalArgumentException e) {
|
|
|
+// e.printStackTrace();
|
|
|
+// } catch (InvocationTargetException e) {
|
|
|
+// e.printStackTrace();
|
|
|
+// }
|
|
|
+// }
|
|
|
//切入切出整合
|
|
|
List<QrqcVo> qrqcVos = new ArrayList<>();
|
|
|
List<Inputoroutputspeedtotal> inputoroutputspeedtotals =inputoroutputspeedtotalService.getQrqc(wt.getId(),day);
|
|
@@ -368,73 +413,73 @@ public class HealthReportService {
|
|
|
healthReportVo.setQrqcs(qrqcVos);
|
|
|
|
|
|
//可靠性
|
|
|
- List<Jkbgbjyh> jkbgbjyhs = jkbgbjyhService.getBjyhdb(wt.getId(),day);
|
|
|
-
|
|
|
+// List<Jkbgbjyh> jkbgbjyhs = jkbgbjyhService.getBjyhdb(wt.getId(),day);
|
|
|
+ List<Reportdanger> jkbgbjyhs = reportdangerService.getBjyhdb(wt.getId());
|
|
|
List<BjyhdbVo> bjyhdbs = new ArrayList<>();
|
|
|
if (jkbgbjyhs!=null && jkbgbjyhs.size()>0){
|
|
|
- List<String> types = jkbgbjyhs.stream().map(i -> i.getType()).collect(Collectors.toList());
|
|
|
+ List<String> types = jkbgbjyhs.stream().map(i -> i.getPart()).collect(Collectors.toList());
|
|
|
BjyhdbVo sj = new BjyhdbVo();
|
|
|
sj.setForeignkeyid(wt.getId());
|
|
|
if (types.contains("传动链")){
|
|
|
- Jkbgbjyh cdl = jkbgbjyhs.stream().filter(i -> i.getType().contains("传动链")).findFirst().get();
|
|
|
+ Reportdanger cdl = jkbgbjyhs.stream().filter(i -> i.getPart().contains("传动链")).findFirst().get();
|
|
|
sj.setCdlcount(cdl.getCount());
|
|
|
- sj.setCdltimes(DoubleUtils.getRoundingNum(cdl.getTime(),0));
|
|
|
+ sj.setCdltimes(DoubleUtils.getRoundingNum(cdl.getTimes(),0));
|
|
|
}else {
|
|
|
sj.setCdlcount(0);
|
|
|
sj.setCdltimes(DoubleUtils.getRoundingNum(0.0,0));
|
|
|
}
|
|
|
if (types.contains("测风系统")){
|
|
|
- Jkbgbjyh cdl = jkbgbjyhs.stream().filter(i -> i.getType().contains("测风系统")).findFirst().get();
|
|
|
+ Reportdanger cdl = jkbgbjyhs.stream().filter(i -> i.getPart().contains("测风系统")).findFirst().get();
|
|
|
sj.setCfxtcount(cdl.getCount());
|
|
|
- sj.setCfxttimes(DoubleUtils.getRoundingNum(cdl.getTime(),0));
|
|
|
+ sj.setCfxttimes(DoubleUtils.getRoundingNum(cdl.getTimes(),0));
|
|
|
}else {
|
|
|
sj.setCfxtcount(0);
|
|
|
sj.setCfxttimes(DoubleUtils.getRoundingNum(0.0,0));
|
|
|
}
|
|
|
if (types.contains("齿轮箱")){
|
|
|
- Jkbgbjyh cdl = jkbgbjyhs.stream().filter(i -> i.getType().contains("齿轮箱")).findFirst().get();
|
|
|
+ Reportdanger cdl = jkbgbjyhs.stream().filter(i -> i.getPart().contains("齿轮箱")).findFirst().get();
|
|
|
sj.setClxcount(cdl.getCount());
|
|
|
- sj.setClxtimes(DoubleUtils.getRoundingNum(cdl.getTime(),0));
|
|
|
+ sj.setClxtimes(DoubleUtils.getRoundingNum(cdl.getTimes(),0));
|
|
|
}else {
|
|
|
sj.setClxcount(0);
|
|
|
sj.setClxtimes(DoubleUtils.getRoundingNum(0.0,0));
|
|
|
}
|
|
|
if (types.contains("发电机")){
|
|
|
- Jkbgbjyh cdl = jkbgbjyhs.stream().filter(i -> i.getType().contains("发电机")).findFirst().get();
|
|
|
+ Reportdanger cdl = jkbgbjyhs.stream().filter(i -> i.getPart().contains("发电机")).findFirst().get();
|
|
|
sj.setFdjcount(cdl.getCount());
|
|
|
- sj.setFdjtimes(DoubleUtils.getRoundingNum(cdl.getTime(),0));
|
|
|
+ sj.setFdjtimes(DoubleUtils.getRoundingNum(cdl.getTimes(),0));
|
|
|
}else {
|
|
|
sj.setFdjcount(0);
|
|
|
sj.setFdjtimes(DoubleUtils.getRoundingNum(0.0,0));
|
|
|
}
|
|
|
if (types.contains("变桨")){
|
|
|
- Jkbgbjyh cdl = jkbgbjyhs.stream().filter(i -> i.getType().contains("变桨")).findFirst().get();
|
|
|
+ Reportdanger cdl = jkbgbjyhs.stream().filter(i -> i.getPart().contains("变桨")).findFirst().get();
|
|
|
sj.setBjcount(cdl.getCount());
|
|
|
- sj.setBjtimes(DoubleUtils.getRoundingNum(cdl.getTime(),0));
|
|
|
+ sj.setBjtimes(DoubleUtils.getRoundingNum(cdl.getTimes(),0));
|
|
|
}else {
|
|
|
sj.setBjcount(0);
|
|
|
sj.setBjtimes(DoubleUtils.getRoundingNum(0.0,0));
|
|
|
}
|
|
|
if (types.contains("机舱")){
|
|
|
- Jkbgbjyh cdl = jkbgbjyhs.stream().filter(i -> i.getType().contains("机舱")).findFirst().get();
|
|
|
+ Reportdanger cdl = jkbgbjyhs.stream().filter(i -> i.getPart().contains("机舱")).findFirst().get();
|
|
|
sj.setJccount(cdl.getCount());
|
|
|
- sj.setJctimes(DoubleUtils.getRoundingNum(cdl.getTime(),0));
|
|
|
+ sj.setJctimes(DoubleUtils.getRoundingNum(cdl.getTimes(),0));
|
|
|
}else {
|
|
|
sj.setJccount(0);
|
|
|
sj.setJctimes(DoubleUtils.getRoundingNum(0.0,0));
|
|
|
}
|
|
|
if (types.contains("偏航")){
|
|
|
- Jkbgbjyh cdl = jkbgbjyhs.stream().filter(i -> i.getType().contains("偏航")).findFirst().get();
|
|
|
+ Reportdanger cdl = jkbgbjyhs.stream().filter(i -> i.getPart().contains("偏航")).findFirst().get();
|
|
|
sj.setPhcount(cdl.getCount());
|
|
|
- sj.setPhtimes(DoubleUtils.getRoundingNum(cdl.getTime(),0));
|
|
|
+ sj.setPhtimes(DoubleUtils.getRoundingNum(cdl.getTimes(),0));
|
|
|
}else {
|
|
|
sj.setPhcount(0);
|
|
|
sj.setPhtimes(DoubleUtils.getRoundingNum(0.0,0));
|
|
|
}
|
|
|
if (types.contains("塔底柜")){
|
|
|
- Jkbgbjyh cdl = jkbgbjyhs.stream().filter(i -> i.getType().contains("塔底柜")).findFirst().get();
|
|
|
+ Reportdanger cdl = jkbgbjyhs.stream().filter(i -> i.getPart().contains("塔底柜")).findFirst().get();
|
|
|
sj.setTdgcount(cdl.getCount());
|
|
|
- sj.setTdgtimes(cdl.getTime());
|
|
|
+ sj.setTdgtimes(cdl.getTimes());
|
|
|
}else {
|
|
|
sj.setTdgcount(0);
|
|
|
sj.setTdgtimes(DoubleUtils.getRoundingNum(0.0,0));
|
|
@@ -462,71 +507,71 @@ public class HealthReportService {
|
|
|
sj.setTdgtimes(DoubleUtils.getRoundingNum(0.0,0));
|
|
|
bjyhdbs.add(sj);
|
|
|
}
|
|
|
- List<Jkbgbjyh> jkbgbjyhsjz = jkbgbjyhService.getBjyhdbjz(wt.getWindpowerstationid(),day);
|
|
|
- if (jkbgbjyhsjz!=null && jkbgbjyhsjz.size()>0){
|
|
|
- List<String> types = jkbgbjyhsjz.stream().map(i -> i.getType()).collect(Collectors.toList());
|
|
|
+// List<Jkbgbjyh> jkbgbjyhsjz = jkbgbjyhService.getBjyhdbjz(wt.getWindpowerstationid(),day);
|
|
|
+ if (jkbgbjyhs!=null && jkbgbjyhs.size()>0){
|
|
|
+ List<String> types = jkbgbjyhs.stream().map(i -> i.getPart()).collect(Collectors.toList());
|
|
|
BjyhdbVo sj = new BjyhdbVo();
|
|
|
sj.setForeignkeyid("平均值");
|
|
|
if (types.contains("传动链")){
|
|
|
- Jkbgbjyh cdl = jkbgbjyhsjz.stream().filter(i -> i.getType().contains("传动链")).findFirst().get();
|
|
|
- sj.setCdlcount(cdl.getCount());
|
|
|
- sj.setCdltimes(DoubleUtils.getRoundingNum(cdl.getTime(),0));
|
|
|
+ Reportdanger cdl = jkbgbjyhs.stream().filter(i -> i.getPart().contains("传动链")).findFirst().get();
|
|
|
+ sj.setCdlcount(cdl.getCountavg());
|
|
|
+ sj.setCdltimes(DoubleUtils.getRoundingNum(cdl.getTimesavg(),0));
|
|
|
}else {
|
|
|
sj.setCdlcount(0);
|
|
|
sj.setCdltimes(DoubleUtils.getRoundingNum(0.0,0));
|
|
|
}
|
|
|
if (types.contains("测风系统")){
|
|
|
- Jkbgbjyh cdl = jkbgbjyhsjz.stream().filter(i -> i.getType().contains("测风系统")).findFirst().get();
|
|
|
- sj.setCfxtcount(cdl.getCount());
|
|
|
- sj.setCfxttimes(DoubleUtils.getRoundingNum(cdl.getTime(),0));
|
|
|
+ Reportdanger cdl = jkbgbjyhs.stream().filter(i -> i.getPart().contains("测风系统")).findFirst().get();
|
|
|
+ sj.setCfxtcount(cdl.getCountavg());
|
|
|
+ sj.setCfxttimes(DoubleUtils.getRoundingNum(cdl.getTimesavg(),0));
|
|
|
}else {
|
|
|
sj.setCfxtcount(0);
|
|
|
sj.setCfxttimes(DoubleUtils.getRoundingNum(0.0,0));
|
|
|
}
|
|
|
if (types.contains("齿轮箱")){
|
|
|
- Jkbgbjyh cdl = jkbgbjyhsjz.stream().filter(i -> i.getType().contains("齿轮箱")).findFirst().get();
|
|
|
- sj.setClxcount(cdl.getCount());
|
|
|
- sj.setClxtimes(DoubleUtils.getRoundingNum(cdl.getTime(),0));
|
|
|
+ Reportdanger cdl = jkbgbjyhs.stream().filter(i -> i.getPart().contains("齿轮箱")).findFirst().get();
|
|
|
+ sj.setClxcount(cdl.getCountavg());
|
|
|
+ sj.setClxtimes(DoubleUtils.getRoundingNum(cdl.getTimesavg(),0));
|
|
|
}else {
|
|
|
sj.setClxcount(0);
|
|
|
sj.setClxtimes(DoubleUtils.getRoundingNum(0.0,0));
|
|
|
}
|
|
|
if (types.contains("发电机")){
|
|
|
- Jkbgbjyh cdl = jkbgbjyhsjz.stream().filter(i -> i.getType().contains("发电机")).findFirst().get();
|
|
|
- sj.setFdjcount(cdl.getCount());
|
|
|
- sj.setFdjtimes(DoubleUtils.getRoundingNum(cdl.getTime(),0));
|
|
|
+ Reportdanger cdl = jkbgbjyhs.stream().filter(i -> i.getPart().contains("发电机")).findFirst().get();
|
|
|
+ sj.setFdjcount(cdl.getCountavg());
|
|
|
+ sj.setFdjtimes(DoubleUtils.getRoundingNum(cdl.getTimesavg(),0));
|
|
|
}else {
|
|
|
sj.setFdjcount(0);
|
|
|
sj.setFdjtimes(DoubleUtils.getRoundingNum(0.0,0));
|
|
|
}
|
|
|
if (types.contains("变桨")){
|
|
|
- Jkbgbjyh cdl = jkbgbjyhsjz.stream().filter(i -> i.getType().contains("变桨")).findFirst().get();
|
|
|
- sj.setBjcount(cdl.getCount());
|
|
|
- sj.setBjtimes(DoubleUtils.getRoundingNum(cdl.getTime(),0));
|
|
|
+ Reportdanger cdl = jkbgbjyhs.stream().filter(i -> i.getPart().contains("变桨")).findFirst().get();
|
|
|
+ sj.setBjcount(cdl.getCountavg());
|
|
|
+ sj.setBjtimes(DoubleUtils.getRoundingNum(cdl.getTimesavg(),0));
|
|
|
}else {
|
|
|
sj.setBjcount(0);
|
|
|
sj.setBjtimes(DoubleUtils.getRoundingNum(0.0,0));
|
|
|
}
|
|
|
if (types.contains("机舱")){
|
|
|
- Jkbgbjyh cdl = jkbgbjyhsjz.stream().filter(i -> i.getType().contains("机舱")).findFirst().get();
|
|
|
- sj.setJccount(cdl.getCount());
|
|
|
- sj.setJctimes(DoubleUtils.getRoundingNum(cdl.getTime(),0));
|
|
|
+ Reportdanger cdl = jkbgbjyhs.stream().filter(i -> i.getPart().contains("机舱")).findFirst().get();
|
|
|
+ sj.setJccount(cdl.getCountavg());
|
|
|
+ sj.setJctimes(DoubleUtils.getRoundingNum(cdl.getTimesavg(),0));
|
|
|
}else {
|
|
|
sj.setJccount(0);
|
|
|
sj.setJctimes(DoubleUtils.getRoundingNum(0.0,0));
|
|
|
}
|
|
|
if (types.contains("偏航")){
|
|
|
- Jkbgbjyh cdl = jkbgbjyhsjz.stream().filter(i -> i.getType().contains("偏航")).findFirst().get();
|
|
|
- sj.setPhcount(cdl.getCount());
|
|
|
- sj.setPhtimes(DoubleUtils.getRoundingNum(cdl.getTime(),0));
|
|
|
+ Reportdanger cdl = jkbgbjyhs.stream().filter(i -> i.getPart().contains("偏航")).findFirst().get();
|
|
|
+ sj.setPhcount(cdl.getCountavg());
|
|
|
+ sj.setPhtimes(DoubleUtils.getRoundingNum(cdl.getTimesavg(),0));
|
|
|
}else {
|
|
|
sj.setPhcount(0);
|
|
|
sj.setPhtimes(DoubleUtils.getRoundingNum(0.0,0));
|
|
|
}
|
|
|
if (types.contains("塔底柜")){
|
|
|
- Jkbgbjyh cdl = jkbgbjyhsjz.stream().filter(i -> i.getType().contains("塔底柜")).findFirst().get();
|
|
|
- sj.setTdgcount(cdl.getCount());
|
|
|
- sj.setTdgtimes(DoubleUtils.getRoundingNum(cdl.getTime(),0));
|
|
|
+ Reportdanger cdl = jkbgbjyhs.stream().filter(i -> i.getPart().contains("塔底柜")).findFirst().get();
|
|
|
+ sj.setTdgcount(cdl.getCountavg());
|
|
|
+ sj.setTdgtimes(DoubleUtils.getRoundingNum(cdl.getTimesavg(),0));
|
|
|
}else {
|
|
|
sj.setTdgcount(0);
|
|
|
sj.setTdgtimes(DoubleUtils.getRoundingNum(0.0,0));
|
|
@@ -557,23 +602,25 @@ public class HealthReportService {
|
|
|
bjyhdbs.add(sj);
|
|
|
}
|
|
|
healthReportVo.setBjyhdbs(bjyhdbs);
|
|
|
-
|
|
|
- List<Jkbgbjyh> yht2sj = jkbgbjyhService.getBjyhdbBywt(wt.getId(),day);
|
|
|
- List<Jkbgbjyh> yht2jz = jkbgbjyhService.getBjyhdbBywp(wt.getWindpowerstationid(),day);
|
|
|
+ List<Reportdanger> yht2sj = reportdangerService.getBjyhdbBywt(wt.getId());
|
|
|
+// List<Jkbgbjyh> yht2sj = jkbgbjyhService.getBjyhdbBywt(wt.getId(),day);
|
|
|
+// List<Jkbgbjyh> yht2jz = jkbgbjyhService.getBjyhdbBywp(wt.getWindpowerstationid(),day);
|
|
|
List<YhmxdbVo> yhmxdbs = new ArrayList<>();
|
|
|
if (yht2sj!=null & yht2sj.size()>0){
|
|
|
yht2sj.stream().forEach(i->{
|
|
|
YhmxdbVo vo = new YhmxdbVo();
|
|
|
- vo.setPart(i.getType());
|
|
|
- vo.setYhmx(i.getAlerttext());
|
|
|
+ vo.setPart(i.getPart());
|
|
|
+ vo.setYhmx(i.getDanger());
|
|
|
vo.setCount(i.getCount());
|
|
|
- vo.setTimes(DoubleUtils.getRoundingNum(i.getTime(),0));
|
|
|
+ vo.setTimes(DoubleUtils.getRoundingNum(i.getTimes(),0));
|
|
|
+ vo.setMeantimes(DoubleUtils.getRoundingNum(i.getTimesavg(),0));
|
|
|
+ vo.setMeancount(i.getCountavg());
|
|
|
yhmxdbs.add(vo);
|
|
|
});
|
|
|
- yhmxdbs.stream().forEach(i->{
|
|
|
- i.setMeancount(yht2jz.stream().filter(j->j.getAlerttext().equals(i.getYhmx())).findFirst().get().getCount());
|
|
|
- i.setMeantimes(DoubleUtils.getRoundingNum(yht2jz.stream().filter(j->j.getAlerttext().equals(i.getYhmx())).findFirst().get().getTime(),2));
|
|
|
- });
|
|
|
+// yhmxdbs.stream().forEach(i->{
|
|
|
+// i.setMeancount(yht2jz.stream().filter(j->j.getAlerttext().equals(i.getYhmx())).findFirst().get().getCount());
|
|
|
+// i.setMeantimes(DoubleUtils.getRoundingNum(yht2jz.stream().filter(j->j.getAlerttext().equals(i.getYhmx())).findFirst().get().getTime(),2));
|
|
|
+// });
|
|
|
SortUtils.sort(yhmxdbs,"part",SortUtils.ASC);
|
|
|
|
|
|
}
|
|
@@ -587,17 +634,21 @@ public class HealthReportService {
|
|
|
SortUtils.sort(faultstatisticwindturbines,"monthwarningnum",SortUtils.DESC);
|
|
|
healthReportVo.setFaultclass(faultstatisticwindturbines);
|
|
|
//功率对部件温度影响
|
|
|
- List<Bjgltjb> bjgltjbs = bjgltjbService.getpartwds(wt.getId(),day);
|
|
|
+
|
|
|
+ QueryWrapper<Reportpowerpartweather> reportpowerpartweatherQueryWrapper = new QueryWrapper<>();
|
|
|
+ reportpowerpartweatherQueryWrapper.eq("wtid",wt.getId());
|
|
|
+ List<Reportpowerpartweather> bjgltjbs = reportpowerpartweatherService.list(reportpowerpartweatherQueryWrapper);
|
|
|
+// List<Bjgltjb> bjgltjbs = bjgltjbService.getpartwds(wt.getId(),day);
|
|
|
List<PartwdVo> partwds = new ArrayList<>();
|
|
|
if (bjgltjbs!=null && bjgltjbs.size()>0){
|
|
|
bjgltjbs.stream().forEach(i->{
|
|
|
PartwdVo vo = new PartwdVo();
|
|
|
//(部件,温度分类,温度,实际值,平均值)
|
|
|
- vo.setPart(i.getPartid());
|
|
|
+ vo.setPart(i.getPartname());
|
|
|
vo.setType(i.getName());
|
|
|
vo.setPower(i.getPower());
|
|
|
vo.setValue(i.getDatavalue());
|
|
|
- vo.setMeanvalue(0.0);
|
|
|
+ vo.setMeanvalue(i.getEarlywarningvalue());
|
|
|
partwds.add(vo);
|
|
|
});
|
|
|
SortUtils.sort(partwds,"part",SortUtils.DESC);
|