From 3bd9824f9140c3c42643806b454d3be23259f515 Mon Sep 17 00:00:00 2001
From: whyclxw <810412026@qq.com>
Date: 星期二, 24 六月 2025 16:12:36 +0800
Subject: [PATCH] 点击右侧折线图画出电池组所有完整周期的实际容量,浮充电压变化,单体内阻图(1.2.15/16/17)

---
 src/main/java/com/whyc/service/BatttestdataInfService.java |   49 +++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 47 insertions(+), 2 deletions(-)

diff --git a/src/main/java/com/whyc/service/BatttestdataInfService.java b/src/main/java/com/whyc/service/BatttestdataInfService.java
index f2c8d87..6811e8c 100644
--- a/src/main/java/com/whyc/service/BatttestdataInfService.java
+++ b/src/main/java/com/whyc/service/BatttestdataInfService.java
@@ -289,6 +289,7 @@
         map.put("standCapDiff",0f);
         Float sumCap=0f;
         Float maxCap=0f;
+        Float minCap=0f;
         Float standCapDiff=0f;
         List<ComPareChart> capList=new ArrayList<>();
         List<ComPareChart> resList=new ArrayList<>();
@@ -354,9 +355,11 @@
                     String precentCap = String.format("%.5f",(grouprealCap/binf.getMoncapstd()*100));
                     res.setPrecentCap(precentCap);
                     sumCap+=grouprealCap;
-                    standCapDiff=grouprealCap-maxCap;
                     if(grouprealCap>=maxCap){
                         maxCap=grouprealCap;
+                    }
+                    if(grouprealCap<=minCap){
+                        minCap=grouprealCap;
                     }
                 }
             }
@@ -382,7 +385,7 @@
             resList.add(resChart);
         }
         map.put("avgCap",sumCap/binfList.size());
-        map.put("standCapDiff",standCapDiff);
+        map.put("standCapDiff",maxCap-minCap);
 
         PageInfo pageInfo=PageInfoUtils.list2PageInfo(comparelist, stic.getPageNum(), stic.getPageSize());
         return new Response().setIII(1,comparelist.size()>0,pageInfo,map,"钃勭數姹犵粍瀵规瘮鍒嗘瀽鐣岄潰锛堝悓涓�鍝佺墝鍚屼竴鏃堕棿锛�");
@@ -1045,4 +1048,46 @@
         wrapper.last(" limit 1");
         return mapper.selectOne(wrapper);
     }
+    //鐐瑰嚮鍙充晶鎶樼嚎鍥剧敾鍑虹數姹犵粍鎵�鏈夊畬鏁村懆鏈熺殑瀹為檯瀹归噺鍙樺寲鍥�(1.2.15/16/17)
+    public Response getRealCapChangeByBattgroupId(Integer battgroupId) {
+        QueryWrapper wrapper = new QueryWrapper();
+        wrapper.eq("battgroup_id", battgroupId);
+        wrapper.eq("test_type", 3);
+        wrapper.eq("test_starttype", 3);
+        wrapper.eq("data_available", 1);//涓�娆℃湁鏁堢殑璁板綍
+        wrapper.last("  ORDER BY test_starttime DESC ");
+        List<BatttestdataInf> list = mapper.selectList(wrapper);
+        //鑾峰彇鐢垫睜缁勭殑鏍囩О瀹归噺
+        BattInf binf=battInfService.getBattgroupIdInf(battgroupId);
+        List<ComPareChangeCurve> curvelist=new ArrayList<>();
+        for (BatttestdataInf tinf:list) {
+            int hourRate = BattCapFactory.GetHourRate(tinf.getTestCap(), tinf.getTestCurr());
+            Float realCap = (float) BattCapFactory.GetMonomerCap(binf.getMoncapstd(), hourRate, tinf.getTestCap(), tinf.getMaxMonvol(), tinf.getMinMonvol(), tinf.getGroupVol(), BattCapFactory.CapType_Real);
+            ComPareChangeCurve curve=new ComPareChangeCurve();
+            curve.setBattgroupId(battgroupId);
+            curve.setStartTime(tinf.getTestStarttime());
+            curve.setCurveValue(realCap);
+            curvelist.add(curve);
+        }
+        return new Response().setII(1,list.size()>0,curvelist,"鐐瑰嚮鍙充晶鎶樼嚎鍥剧敾鍑虹數姹犵粍鎵�鏈夊畬鏁村懆鏈熺殑瀹為檯瀹归噺鍙樺寲鍥�(1.2.15/16/17)");
+    }
+    //鐐瑰嚮鍙充晶鎶樼嚎鍥剧敾鍑虹數姹犵粍鎵�鏈夊畬鏁村懆鏈熺殑娴厖鐢靛帇鍙樺寲鍥�(1.2.15/16/17)
+    public Response getFloatGroupVolChangeByBattgroupId(Integer battgroupId) {
+        QueryWrapper wrapper = new QueryWrapper();
+        wrapper.eq("battgroup_id", battgroupId);
+        wrapper.eq("test_type", 3);
+        wrapper.eq("test_starttype", 3);
+        wrapper.eq("data_available", 1);//涓�娆℃湁鏁堢殑璁板綍
+        wrapper.last("  ORDER BY test_starttime asc ");
+        List<BatttestdataInf> list = mapper.selectList(wrapper);
+        List<ComPareChangeCurve> curvelist=new ArrayList<>();
+        for (BatttestdataInf tinf:list) {
+            ComPareChangeCurve curve=new ComPareChangeCurve();
+            curve.setBattgroupId(battgroupId);
+            curve.setStartTime(tinf.getTestStarttime());
+            curve.setCurveValue(tinf.getFloatGroupVol());
+            curvelist.add(curve);
+        }
+        return new Response().setII(1,list.size()>0,curvelist,"鐐瑰嚮鍙充晶鎶樼嚎鍥剧敾鍑虹數姹犵粍鎵�鏈夊畬鏁村懆鏈熺殑娴厖鐢靛帇鍙樺寲鍥�(1.2.15/16/17)");
+    }
 }
\ No newline at end of file

--
Gitblit v1.9.1