From 298e75c24c0f790f8f1af0fae40e5783b4590953 Mon Sep 17 00:00:00 2001
From: whycxzp <perryhsu@163.com>
Date: 星期五, 14 十月 2022 10:10:06 +0800
Subject: [PATCH] 更新

---
 src/main/java/com/whyc/service/BattGroupDataService.java |   50 +++++++++++++++++++++++++++++++++-----------------
 1 files changed, 33 insertions(+), 17 deletions(-)

diff --git a/src/main/java/com/whyc/service/BattGroupDataService.java b/src/main/java/com/whyc/service/BattGroupDataService.java
index 3b61b3e..69d729d 100644
--- a/src/main/java/com/whyc/service/BattGroupDataService.java
+++ b/src/main/java/com/whyc/service/BattGroupDataService.java
@@ -1,5 +1,6 @@
 package com.whyc.service;
 
+import com.whyc.dto.BattGroupStationInfoWithFileParam;
 import com.whyc.dto.Response;
 import com.whyc.mapper.BattGroupDataMapper;
 import com.whyc.pojo.*;
@@ -31,15 +32,26 @@
     @Autowired
     private TestParamService testParamService;
 
-    public List<BattgroupData> getListWithTestTime(String fileId) {
+    @Autowired
+    private StationInfoService stationInfoService;
+
+    public BattGroupStationInfoWithFileParam getListWithTestTime(String fileId) {
+        BattGroupStationInfoWithFileParam info = new BattGroupStationInfoWithFileParam();
+        //鏌ヨ绔欑偣淇℃伅鍜屾枃浠跺弬鏁颁俊鎭�
+        StationInfo stationInfo = stationInfoService.getByFileId(fileId);
+
         String battGroupId = battGroupInfoService.getByFileId(fileId).getBattgroupId();
         List<BattgroupData> dataList = mapper.getListWithTestTime(battGroupId);
         //鏌ヨ绯绘暟鍜岄槇鍊兼槸鍚︾鐢�
         //BattgroupInfo info = battGroupInfoService.getByBattGroupId(fileId);
         FileParam param = fileParamService.getByFileId(fileId);
         TestParam param2 = testParamService.getFactorsAndThreshold();
+
+        info.setStationInfo(stationInfo);
+        info.setFileParam(param);
         if(param2.getEnabled() == 0){ //绯绘暟鍜岄槇鍊肩鐢�,涓嶉渶瑕佸垽鏂鐞嗛槇鍊�
-            return dataList;
+            info.setDataList(dataList);
+            return info;
         }
         Float stdVol = param.getBattVol();
         Float stdRes = param.getBattRes();
@@ -47,7 +59,7 @@
         Float volHighCoeK2 = param2.getVolHighCoeK2();
         Float resGoodCoeK3 = param2.getResGoodCoeK3();
         Float resBadCoeK4 = param2.getResBadCoeK4();
-        Float chainRes = param2.getChainRes();
+        Float chainRes = param.getChainRes();
         dataList.forEach(data->{
             //鍒ゆ柇澶勭悊闃堝��
             Float br = data.getBr();
@@ -55,33 +67,35 @@
             Float cr = data.getCr(); //杩炴帴鏉¢樆鎶�
 
             if(bv < stdVol*volLowCoeK1){
-                data.setLowVolFlag(1);
+                data.setLowVolFlag(true);
             }else if(bv > stdVol*volHighCoeK2){
-                data.setHighVolFlag(1);
+                data.setHighVolFlag(true);
             }
 
             if(br > stdRes*resGoodCoeK3){
                 if(br > stdRes*resBadCoeK4){
-                    data.setHighResFlag2(1);
+                    data.setHighResFlag2(true);
                 }else{
-                    data.setHighResFlag1(1);
+                    data.setHighResFlag1(true);
                 }
             }
 
-            if(cr > chainRes){
-                data.setHighChainResFlag(1);
+            if(cr > chainRes*param2.getChainResCoeK5()){
+                data.setHighChainResFlag(true);
             }
         });
-        return dataList;
+
+        info.setDataList(dataList);
+
+        return info;
     }
 
     public Map<String, String> getStandardDeviation(List<BattgroupData> monList) {
         Map<String,String> map = new HashMap<>();
-        Stream<BattgroupData> stream = monList.stream();
-        List<Float> bvList = stream.map(BattgroupData::getBv).collect(Collectors.toList());
-        List<Float> brList = stream.map(BattgroupData::getBr).collect(Collectors.toList());
-        List<Float> crList = stream.map(BattgroupData::getCr).collect(Collectors.toList());
-        List<Float> bsList = stream.map(BattgroupData::getBs).collect(Collectors.toList());
+        List<Float> bvList = monList.stream().map(BattgroupData::getBv).collect(Collectors.toList());
+        List<Float> brList = monList.stream().map(BattgroupData::getBr).collect(Collectors.toList());
+        List<Float> crList = monList.stream().map(BattgroupData::getCr).collect(Collectors.toList());
+        List<Float> bsList = monList.stream().map(BattgroupData::getBs).collect(Collectors.toList());
         float stdDevBv = MathUtil.getStandardDeviation(bvList);
         float stdDevBr = MathUtil.getStandardDeviation(brList);
         float stdDevCr = MathUtil.getStandardDeviation(crList);
@@ -96,8 +110,10 @@
     public Response getComparedList(String baseFileId, String fileId) {
         //String baseBattGroupId = battGroupInfoService.getByFileId(baseFileId).getBattgroupId();
         //String battGroupId = battGroupInfoService.getByFileId(fileId).getBattgroupId();
-        List<BattgroupData> baseDataList = getListWithTestTime(baseFileId);
-        List<BattgroupData> dataList = getListWithTestTime(fileId);
+        BattGroupStationInfoWithFileParam baseInfo = getListWithTestTime(baseFileId);
+        List<BattgroupData> baseDataList = baseInfo.getDataList();
+        BattGroupStationInfoWithFileParam info = getListWithTestTime(fileId);
+        List<BattgroupData> dataList = info.getDataList();
 
         //鍐呴樆鍙樺寲鐜�,鍧囦竴鎬�;鐢靛帇鍙樺寲鐜�,鍧囦竴鎬�
         Map<String,List<String>> map = new HashMap<>();

--
Gitblit v1.9.1