xieshengjie 2 年之前
父節點
當前提交
38da594ccc

+ 1 - 1
histroy/healthmanagement-histroy-hb/src/main/java/com/gyee/healthmanagementhistroy/model/auto/Healthwtreport3.java

@@ -29,7 +29,7 @@ public class Healthwtreport3 extends Model {
 
     private String wtid;
 
-    private Date date;
+    private Date recorddate;
 
     private Double qxpcl;
 

+ 30 - 23
histroy/healthmanagement-histroy-hb/src/main/java/com/gyee/healthmanagementhistroy/service/healthreport/HealthReportNewService.java

@@ -61,8 +61,8 @@ public class HealthReportNewService {
         int year = DateUtils.getYear(date);
 
         QueryWrapper<Curvefittingmonthsub> curvefittingsubQueryWrapper = new QueryWrapper<>();
-        curvefittingsubQueryWrapper.ge("month",String.valueOf(month));
-        curvefittingsubQueryWrapper.ge("year",String.valueOf(year));
+        curvefittingsubQueryWrapper.eq("month",String.valueOf(month));
+        curvefittingsubQueryWrapper.eq("year",String.valueOf(year));
         List<Curvefittingmonthsub> curvefittingmonthsubs = curvefittingmonthsubService.list(curvefittingsubQueryWrapper);
         if (StringUtils.isNotEmpty(curvefittingmonthsubs)){
             wtls.stream().forEach(wt->{
@@ -70,6 +70,7 @@ public class HealthReportNewService {
                 List<Curvefittingmonthsub> collect = curvefittingmonthsubs.stream().filter(curve -> curve.getWindturbineid().equals(wt.getId())).collect(Collectors.toList());
                 Healthwtreport1 healthwtreport1 = new Healthwtreport1();
                 healthwtreport1.setId(CommonUtils.getUUID());
+                healthwtreport1.setWtid(wt.getId());
                 double qxpcl = collect.stream().mapToDouble(Curvefittingmonthsub::getDeviationrate2).average().orElse(0d);
                 double jzz = collect.stream().mapToDouble(Curvefittingmonthsub::getStandarddeviationrate).average().orElse(0d);
                 healthwtreport1.setQxpcl(qxpcl);
@@ -140,7 +141,7 @@ public class HealthReportNewService {
             Healthwtreport3 healthwtreport3 = new Healthwtreport3();
 
             healthwtreport3.setId(CommonUtils.getUUID());
-            healthwtreport3.setDate(i.getRecorddate());
+            healthwtreport3.setRecorddate(i.getRecorddate());
             healthwtreport3.setWtid(i.getWindturbineid());
             healthwtreport3.setQxpcl(i.getDeviationrate2());
             healthwtreport3.setJzz(i.getStandarddeviationrate());
@@ -165,22 +166,26 @@ public class HealthReportNewService {
         Date monthFirst = DateUtils.getMonthFirst(date);
         Date monthLast = DateUtils.getMonthLast(date);
 
-        QueryWrapper<Windturbinewindyaw> windqueryWrapper = new QueryWrapper<>();
-        windqueryWrapper.le("recorddate",monthLast);
-        windqueryWrapper.ge("recorddate",monthFirst);
-        List<Windturbinewindyaw> windturbinewindyaws = windturbinewindyawService.list(windqueryWrapper);
 
-        QueryWrapper<Windturbinepoweryaw> powerqueryWrapper = new QueryWrapper<>();
-        powerqueryWrapper.le("recorddate",monthLast);
-        powerqueryWrapper.ge("recorddate",monthFirst);
-        List<Windturbinepoweryaw> powerturbinewindyaws = windturbinepoweryawService.list(powerqueryWrapper);
 
         wtls.stream().forEach(wt->{
             Healthwtreport4 healthwtreport4 = new Healthwtreport4();
             healthwtreport4.setId(CommonUtils.getUUID());
             healthwtreport4.setWtid(wt.getId());
-            List<Windturbinewindyaw> collect = windturbinewindyaws.stream().filter(i -> i.getWindturbineid().equals(wt.getId())).collect(Collectors.toList());
-            List<Windturbinepoweryaw> collect1 = powerturbinewindyaws.stream().filter(i -> i.getWindturbineid().equals(wt.getId())).collect(Collectors.toList());
+
+            QueryWrapper<Windturbinewindyaw> windqueryWrapper = new QueryWrapper<>();
+            windqueryWrapper.le("recorddate",monthLast);
+            windqueryWrapper.ge("recorddate",monthFirst);
+            windqueryWrapper.eq("windturbineid",wt.getId());
+            List<Windturbinewindyaw> collect = windturbinewindyawService.list(windqueryWrapper);
+
+            QueryWrapper<Windturbinepoweryaw> powerqueryWrapper = new QueryWrapper<>();
+            powerqueryWrapper.le("recorddate",monthLast);
+            powerqueryWrapper.ge("recorddate",monthFirst);
+            powerqueryWrapper.eq("windturbineid",wt.getId());
+            List<Windturbinepoweryaw> collect1 = windturbinepoweryawService.list(powerqueryWrapper);
+
+
             int hg = collect.stream().mapToInt(Windturbinewindyaw::getQualified).sum();
             int bhg = collect.stream().mapToInt(Windturbinewindyaw::getUnqualified).sum();
             healthwtreport4.setWithincount(hg);
@@ -264,7 +269,7 @@ public class HealthReportNewService {
                 Winddeviationrate winddeviationrate = new Winddeviationrate();
                 winddeviationrate.setId(CommonUtils.getUUID());
                 winddeviationrate.setWtid(i.getWindturbineid());
-                winddeviationrate.setType(j.getName().replace("Rf","R-"));
+                winddeviationrate.setType(j.getName().replace("Rf","R-").replace("R",""));
                 try {
                     Field field = i.getClass().getDeclaredField(j.getName());
                     if (field.getGenericType().toString().equals("class java.lang.Integer")){
@@ -295,23 +300,25 @@ public class HealthReportNewService {
         Date monthFirst = DateUtils.getMonthFirst(date);
         Date monthLast = DateUtils.getMonthLast(date);
 
-        QueryWrapper<Inputoroutputspeedtotal> queryWrapper = new QueryWrapper<>();
-        queryWrapper.le("recorddate",monthLast);
-        queryWrapper.ge("recorddate",monthFirst);
-        List<Inputoroutputspeedtotal> inputoroutputspeedtotals = inputoroutputspeedtotalService.list(queryWrapper);
+
 
         List<Healthwtreport7> resultList = new ArrayList<>();
 
         List<Windturbine> wtls = CacheContext.wtls;
         wtls.stream().forEach(wt->{
-            List<Inputoroutputspeedtotal> collect = inputoroutputspeedtotals.stream().filter(in -> in.getWindturbineid().equals(wt.getId())).collect(Collectors.toList());
+
+            QueryWrapper<Inputoroutputspeedtotal> queryWrapper = new QueryWrapper<>();
+            queryWrapper.le("recorddate",monthLast);
+            queryWrapper.ge("recorddate",monthFirst);
+            queryWrapper.eq("windturbineid",wt.getId());
+            List<Inputoroutputspeedtotal> collect = inputoroutputspeedtotalService.list(queryWrapper);
             Healthwtreport7 healthwtreport7 = new Healthwtreport7();
             healthwtreport7.setId(CommonUtils.getUUID());
             healthwtreport7.setWtid(wt.getId());
-            double xfqr = collect.stream().mapToDouble(Inputoroutputspeedtotal::getInputsmall).average().orElse(0d);
-            double dfqr = collect.stream().mapToDouble(Inputoroutputspeedtotal::getInputbig).average().orElse(0d);
-            double xfqc = collect.stream().mapToDouble(Inputoroutputspeedtotal::getOutputsmall).average().orElse(0d);
-            double dfqc = collect.stream().mapToDouble(Inputoroutputspeedtotal::getOutputbig).average().orElse(0d);
+            double xfqr = collect.stream().filter(i->i.getInputsmall()!=null).mapToDouble(Inputoroutputspeedtotal::getInputsmall).average().orElse(0d);
+            double dfqr = collect.stream().filter(i->i.getInputbig()!=null).mapToDouble(Inputoroutputspeedtotal::getInputbig).average().orElse(0d);
+            double xfqc = collect.stream().filter(i->i.getOutputsmall()!=null).mapToDouble(Inputoroutputspeedtotal::getOutputsmall).average().orElse(0d);
+            double dfqc = collect.stream().filter(i->i.getOutputbig()!=null).mapToDouble(Inputoroutputspeedtotal::getOutputbig).average().orElse(0d);
             healthwtreport7.setDfqc(dfqc);
             healthwtreport7.setDfqr(dfqr);
             healthwtreport7.setXfqc(xfqc);