From 6dfd2599d2e52507e018fd4c6b35d38873e48cfb Mon Sep 17 00:00:00 2001
From: wang-hao-jie <1550036656@qq.com>
Date: 星期四, 17 三月 2022 15:52:51 +0800
Subject: [PATCH] 最新版本

---
 xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/schedulings/StatisticPc2ScheduleImpl.java |   42 +++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 41 insertions(+), 1 deletions(-)

diff --git a/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/schedulings/StatisticPc2ScheduleImpl.java b/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/schedulings/StatisticPc2ScheduleImpl.java
index 48f6124..3ea03b6 100644
--- a/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/schedulings/StatisticPc2ScheduleImpl.java
+++ b/xboot-modules/xboot-your/src/main/java/cn/exrick/xboot/your/schedulings/StatisticPc2ScheduleImpl.java
@@ -14,6 +14,8 @@
 
 import java.io.IOException;
 import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
 import java.util.List;
 
 //澶у睆閰嶉�佸垎鏋�
@@ -32,7 +34,7 @@
     @Autowired
     private IOrderTaskService iOrderTaskService;
 
-    @Scheduled(cron="0 0 * * * ?")//姣忓皬鏃舵墽琛屼竴娆�
+    @Scheduled(cron="0 0 20 * * ?")//姣忔櫄8鐐规墽琛�
     public void execute(){
         List<Area> list = iAreaService.list();
         for(Area area:list){
@@ -59,12 +61,50 @@
                 listTime.add(orderTask.getTime());
             }
 
+            Collections.sort(listTime);
 
+            double v = (sum * 1.0) / (1000 * 60 * 60) / listTime.size();
+            areaSection.setAvgTime((double) Math.round(v * 10) / 10);
+            if(listTime.size()>0){
+                double v1 = (listTime.get(0) * 1.0) / (1000 * 60 * 60);
+                areaSection.setMinTime((double) Math.round(v1 * 10) / 10);
 
+                double v2 = (listTime.get(listTime.size()-1) * 1.0) / (1000 * 60 * 60);
+                areaSection.setMaxTime((double) Math.round(v2 * 10) / 10);
+            }
 
+            double variance = Variance(listTime);
+            areaSection.setStability(variance);
+            iAreaSectionService.saveOrUpdate(areaSection);
         }
 
+    }
 
+    public double Variance(List<Integer> x) {
+        List<Double> y = new ArrayList<>();
+        for(Integer s:x){
+            y.add(trans((s*1.0)/(3600*1000)));
+        }
 
+        int m = x.size();
+        double sum = 0;
+        for (int i = 0; i < m; i++) {
+            sum += y.get(i);
+        }
+        double dAve = sum / m;
+        double dVar = 0;
+        for (int i = 0; i < m; i++) {
+            dVar += (y.get(i) - dAve) * (y.get(i) - dAve);
+        }
+        double v = dVar / m;
+        return trans2(v);
+    }
+
+    public double trans(double v2){
+        return (double) Math.round(v2 * 10) / 10;
+    }
+
+    public double trans2(double v2){
+        return (double) Math.round(v2 * 100) / 100;
     }
 }

--
Gitblit v1.9.1