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