From 0c5690dbd3023fc95419f7d59fa5a729c996ba25 Mon Sep 17 00:00:00 2001
From: whycxzp <perryhsu@163.com>
Date: 星期二, 20 九月 2022 16:52:00 +0800
Subject: [PATCH] 更新分级评价/数据对比渲染

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

diff --git a/src/main/java/com/whyc/service/BattGroupDataService.java b/src/main/java/com/whyc/service/BattGroupDataService.java
index cdad6ac..5528ac6 100644
--- a/src/main/java/com/whyc/service/BattGroupDataService.java
+++ b/src/main/java/com/whyc/service/BattGroupDataService.java
@@ -3,8 +3,11 @@
 import com.whyc.dto.Response;
 import com.whyc.mapper.BattGroupDataMapper;
 import com.whyc.pojo.BattgroupData;
+import com.whyc.pojo.BattgroupInfo;
 import com.whyc.pojo.FileInfo;
+import com.whyc.pojo.FileParam;
 import com.whyc.util.MathUtil;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
@@ -21,11 +24,55 @@
     @Resource
     private BattGroupDataMapper mapper;
 
-    public List<BattgroupData> getListWithTestTime(int battGroupId) {
-        return mapper.getListWithTestTime(battGroupId);
+    @Autowired
+    private FileParamService fileParamService;
+
+    @Autowired
+    private BattGroupInfoService battGroupInfoService;
+
+    public List<BattgroupData> getListWithTestTime(String battGroupId) {
+        List<BattgroupData> dataList = mapper.getListWithTestTime(battGroupId);
+        //鏌ヨ绯绘暟鍜岄槇鍊兼槸鍚︾鐢�
+        BattgroupInfo info = battGroupInfoService.getByBattGroupId(battGroupId);
+        FileParam param = fileParamService.getFactorsAndThreshold(info.getFileId());
+        if(param.getFactorDisabled() == 1){ //绯绘暟鍜岄槇鍊肩鐢�,涓嶉渶瑕佸垽鏂鐞嗛槇鍊�
+            return dataList;
+        }
+        Float stdVol = param.getBattVol();
+        Float stdRes = param.getBattRes();
+        Float volLowCoeK1 = param.getVolLowCoeK1();
+        Float volHighCoeK2 = param.getVolHighCoeK2();
+        Float resGoodCoeK3 = param.getResGoodCoeK3();
+        Float resBadCoeK4 = param.getResBadCoeK4();
+        Float chainRes = param.getChainRes();
+        dataList.forEach(data->{
+            //鍒ゆ柇澶勭悊闃堝��
+            Float br = data.getBr();
+            Float bv = data.getBv();
+            Float cr = data.getCr(); //杩炴帴鏉¢樆鎶�
+
+            if(bv < stdVol*volLowCoeK1){
+                data.setLowVolFlag(1);
+            }else if(bv > stdVol*volHighCoeK2){
+                data.setHighVolFlag(1);
+            }
+
+            if(br > stdRes*resGoodCoeK3){
+                if(br > stdRes*resBadCoeK4){
+                    data.setHighResFlag2(1);
+                }else{
+                    data.setHighResFlag1(1);
+                }
+            }
+
+            if(cr > chainRes){
+                data.setHighChainResFlag(1);
+            }
+        });
+        return dataList;
     }
 
-    public Response getComparedList(int baseBattGroupId, int battGroupId) {
+    public Response getComparedList(String baseBattGroupId, String battGroupId) {
         List<BattgroupData> baseDataList = getListWithTestTime(baseBattGroupId);
         List<BattgroupData> dataList = getListWithTestTime(battGroupId);
 

--
Gitblit v1.9.1