From f998f917f90d86499bf8a24c8912e270655e4d43 Mon Sep 17 00:00:00 2001
From: whyclxw <810412026@qq.com>
Date: 星期二, 24 六月 2025 17:27:57 +0800
Subject: [PATCH] 预警分析修改

---
 src/main/java/com/whyc/service/BatttestdataInfService.java |  196 ++++++++++++++++++++++++++++++++++--------------
 1 files changed, 137 insertions(+), 59 deletions(-)

diff --git a/src/main/java/com/whyc/service/BatttestdataInfService.java b/src/main/java/com/whyc/service/BatttestdataInfService.java
index b462679..6811e8c 100644
--- a/src/main/java/com/whyc/service/BatttestdataInfService.java
+++ b/src/main/java/com/whyc/service/BatttestdataInfService.java
@@ -57,11 +57,14 @@
     @Autowired(required = false)
     private PwrdevHistorydataIdService pwrHisdataIdService;
 
+    @Autowired(required = false)
+    private BattresdataInfService battResdataInfService;
+
 
 
 
     //鑾峰彇鏈�鍚庝竴娆℃祴璇曟暟鎹苟璁$畻鍓╀綑瀹归噺
-    public Float getLastTestDataRestCap(Integer battgroupId) {
+    public Float getLastTestDataRestCap(Float moncapstd,Integer battgroupId) {
         //鑾峰彇鏀剧數璁板綍
         QueryWrapper wrapper=new QueryWrapper();
         wrapper.eq("battgroup_id",battgroupId);
@@ -70,7 +73,7 @@
         BatttestdataInf tinf=mapper.selectOne(wrapper);
         if(tinf!=null){
             int hourRate = BattCapFactory.GetHourRate(tinf.getTestCap(), tinf.getTestCurr());
-            Float restcap = (float) BattCapFactory.GetMonomerCap(tinf.getTestCap(), hourRate, tinf.getTestCap(), tinf.getMaxMonvol(), tinf.getMinMonvol(), tinf.getGroupVol(), BattCapFactory.CapType_Rest);
+            Float restcap = (float) BattCapFactory.GetMonomerCap(moncapstd, hourRate, tinf.getTestCap(), tinf.getMaxMonvol(), tinf.getMinMonvol(), tinf.getGroupVol(), BattCapFactory.CapType_Rest);
             return restcap;
         }else{
             return 0f;
@@ -82,17 +85,18 @@
         List<BatttestdataInf> list=mapper.getBattTinfStatistic(stic);
         if(list!=null&&list.size()>0){
             for (BatttestdataInf tinf:list) {
+                //鑾峰彇鐢垫睜缁勪俊鎭�
+                BattInf binf=battInfService.getBinfByBattgroupId(tinf.getBattgroupId());
                 //鍓╀綑瀹归噺鍜屽墿浣欐椂闂磋绠�
                 int hourRate = BattCapFactory.GetHourRate(tinf.getTestCap(), tinf.getTestCurr());
-                Float restCap = (float) BattCapFactory.GetMonomerCap(tinf.getTestCap(), hourRate, tinf.getTestCap(), tinf.getMaxMonvol(), tinf.getMinMonvol(), tinf.getGroupVol(), BattCapFactory.CapType_Rest);
-                Float realCap = (float) BattCapFactory.GetMonomerCap(tinf.getTestCap(), hourRate, tinf.getTestCap(), tinf.getMaxMonvol(), tinf.getMinMonvol(), tinf.getGroupVol(), BattCapFactory.CapType_Real);
+                Float restCap = (float) BattCapFactory.GetMonomerCap(binf.getMoncapstd(), hourRate, tinf.getTestCap(), tinf.getMaxMonvol(), tinf.getMinMonvol(), tinf.getGroupVol(), BattCapFactory.CapType_Rest);
+                Float realCap = (float) BattCapFactory.GetMonomerCap(binf.getMoncapstd(), hourRate, tinf.getTestCap(), tinf.getMaxMonvol(), tinf.getMinMonvol(), tinf.getGroupVol(), BattCapFactory.CapType_Real);
                 tinf.setRestCap(restCap);
                 tinf.setRealCap(realCap);
                 tinf.setRestTime(0f);
                 //鑾峰彇鐢垫睜缁勫疄鏃舵暟鎹�
                 BattRtstate battRtstate=rtstateService.getBattRealInfo(tinf.getBattgroupId());
-                //鑾峰彇鐢垫睜缁勪俊鎭�
-                BattInf binf=battInfService.getBinfByBattgroupId(tinf.getBattgroupId());
+
                 //瀹炴椂缁勭鐢垫祦锛屽墿浣欏閲忥紝鏍囩О瀹归噺
                 if(battRtstate!=null){
                     Float restTime= BattCapFactory.getTheoryTime(battRtstate.getLoadCurr(), restCap, binf.getMoncapstd());
@@ -193,7 +197,7 @@
             int hourRate = BattCapFactory.GetHourRate(tinf.getTestCap(), tinf.getTestCurr());
             Float moncapStd=binf.getMoncapstd();
             for (BatttestdataId data:idDataList) {//姹傚崟浣撶殑 瀹為檯瀹归噺锛屾渶灏忓�煎氨鏄崟浣撶殑鍗曚綋鐢靛帇
-                realCap = (float) BattCapFactory.GetMonomerCap(tinf.getTestCap(), hourRate, tinf.getTestCap(), tinf.getMaxMonvol(),data.getMonVol() , tinf.getGroupVol(), BattCapFactory.CapType_Real);
+                realCap = (float) BattCapFactory.GetMonomerCap(binf.getMoncapstd(), hourRate, tinf.getTestCap(), tinf.getMaxMonvol(),data.getMonVol() , tinf.getGroupVol(), BattCapFactory.CapType_Real);
                 SticMonRes res=new SticMonRes();
                 res.setBattgroupId(binf.getBattgroupId());
                 res.setBattgroupName(binf.getBattgroupName());
@@ -260,8 +264,8 @@
         }
     }
     /*钃勭數姹犵粍瀵规瘮鍒嗘瀽鐣岄潰锛堝悓涓�鍝佺墝鍚屼竴鏃堕棿锛�
-     *1.鏌ヨ鍑虹鍚堟潯浠剁殑鐢垫睜缁勪俊鎭�
-     * 2.璁$畻鐢垫睜缁勭殑棰勪及鍓╀綑瀹归噺
+     *1.鏌ヨ鍑虹鍚堟潯浠剁殑鐢垫睜缁勪俊鎭紙鍚屼竴鍝佺墝鍚屼竴鎶曡繍鏃堕棿锛�
+     * 2.璁$畻鐢垫睜缁勭殑鏈�杩戜竴娆℃爣鍑嗘牳瀹规斁鐢电殑棰勪及瀹归噺
      *3.鍒ゆ柇鎬ц兘鍜岀櫨鍒嗘瘮
      * 4.鍒嗛〉
      */
@@ -280,12 +284,25 @@
                 }
             }
         }
+        Map<String,Object> map=new HashMap<>();//鍙充晶鍥捐〃
+        map.put("avgCap",0f);
+        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<>();
+        List<ComPareChart> flotVolList=new ArrayList<>();
+        map.put("capList",capList);
+        map.put("resList",resList);
+        map.put("flotVolList",flotVolList);
         //1鏌ヨ绗﹀悎鏉′欢鐨勭數姹犵粍
         List<BattInf> binfList=battInfService.getBattCompare15Statistic(stic);
         if(binfList==null||binfList.size()==0){
             return new Response().set(1,false,"褰撳墠鐢ㄦ埛鏈鐞嗘弧瓒虫潯浠剁殑鐢垫睜缁�");
         }
-        List<SticCompare15Res> reslist=new ArrayList<>();
+        List<SticCompare15Res> comparelist=new ArrayList<>();
         for (BattInf binf:binfList) {
             SticCompare15Res res=new SticCompare15Res();
             res.setProvice(binf.getProvice());
@@ -305,54 +322,73 @@
             BatttestdataInf tinf =getLastStandardTestDataByTime(binf.getBattgroupId(),stic.getTestStartTime(),stic.getTestEndTime());
             if(tinf==null){
                 res.setRealCap(0f);
-                res.setPrecentCap("0");
+                res.setPrecentCap("0.00000");
                 res.setCapperformance(BattCapperformanceEnum.getValue(BattCapperformanceEnum.BATTSTATE_4.getStateId()));
-                continue;
-            }
-            //鎵捐繖娆℃斁鐢电殑鏈�鍚庝竴绗旀暟鎹�
-            List<BatttestdataId> idDataList=battTestdataIdService.getLastDataByBattgroupId(tinf.getBattgroupId(),tinf.getTestRecordCount(),tinf.getRecordNum());
-            if(idDataList==null||idDataList.size()==0){
-                res.setRealCap(0f);
-                res.setPrecentCap("0");
-                res.setCapperformance(BattCapperformanceEnum.getValue(BattCapperformanceEnum.BATTSTATE_4.getStateId()));
-                continue;
-            }
-            Float moncapStd=binf.getMoncapstd();
-            int hourRate = BattCapFactory.GetHourRate(tinf.getTestCap(), tinf.getTestCurr());
-            Float grouprealCap = (float) BattCapFactory.GetMonomerCap(tinf.getTestCap(), hourRate, tinf.getTestCap(), tinf.getMaxMonvol(), tinf.getMinMonvol(), tinf.getGroupVol(), BattCapFactory.CapType_Real);
-            //Float restCap = (float) BattCapFactory.GetMonomerCap(tinf.getTestCap(), hourRate, tinf.getTestCap(), tinf.getMaxMonvol(), tinf.getMinMonvol(), tinf.getGroupVol(), BattCapFactory.CapType_Rest);
-            res.setRealCap(grouprealCap);
-            if(grouprealCap>=moncapStd*badValue){
-                res.setCapperformance(BattCapperformanceEnum.getValue(BattCapperformanceEnum.BATTSTATE_1.getStateId()));
-            }
-            if(grouprealCap<=moncapStd*damageValue){
-                res.setCapperformance(BattCapperformanceEnum.getValue(BattCapperformanceEnum.BATTSTATE_3.getStateId()));
-            }
-            if((grouprealCap>moncapStd*damageValue)&&(grouprealCap<moncapStd*badValue)){
-                res.setCapperformance(BattCapperformanceEnum.getValue(BattCapperformanceEnum.BATTSTATE_2.getStateId()));
-            }
-            //淇濈暀5浣嶅皬鏁�
-            String precentCap = String.format("%.5f",(grouprealCap/binf.getMoncapstd()*100));
-            res.setPrecentCap(precentCap);
-            List<Integer> monNums=new ArrayList<>();
-            for (BatttestdataId data:idDataList) {//姹傚崟浣撶殑 瀹為檯瀹归噺锛屾渶灏忓�煎氨鏄崟浣撶殑鍗曚綋鐢靛帇
-                Float monrealCap = (float) BattCapFactory.GetMonomerCap(tinf.getTestCap(), hourRate, tinf.getTestCap(), tinf.getMaxMonvol(), data.getMonVol(), tinf.getGroupVol(), BattCapFactory.CapType_Real);
-                if (monrealCap <= moncapStd * damageValue) {//鎹熷潖鐨�
-                    monNums.add(data.getMonNum());
+                res.setStopReason("--");
+                res.setFloatGroupVol(0f);
+            }else{
+                res.setStopReason(StopReasonEnum.getValue(tinf.getTestStoptype()));
+                res.setFloatGroupVol(tinf.getFloatGroupVol());
+                //鎵捐繖娆℃斁鐢电殑鏈�鍚庝竴绗旀暟鎹�
+                List<BatttestdataId> idDataList=battTestdataIdService.getLastDataByBattgroupId(tinf.getBattgroupId(),tinf.getTestRecordCount(),tinf.getRecordNum());
+                if(idDataList==null||idDataList.size()==0){
+                    res.setRealCap(0f);
+                    res.setPrecentCap("0.00000");
+                    res.setCapperformance(BattCapperformanceEnum.getValue(BattCapperformanceEnum.BATTSTATE_4.getStateId()));
+                    res.setFloatGroupVol(0f);
+                }else{
+                    Float moncapStd=binf.getMoncapstd();
+                    int hourRate = BattCapFactory.GetHourRate(tinf.getTestCap(), tinf.getTestCurr());
+                    Float grouprealCap = (float) BattCapFactory.GetMonomerCap(binf.getMoncapstd(), hourRate, tinf.getTestCap(), tinf.getMaxMonvol(), tinf.getMinMonvol(), tinf.getGroupVol(), BattCapFactory.CapType_Real);
+                    //Float restCap = (float) BattCapFactory.GetMonomerCap(binf.getMoncapstd(), hourRate, tinf.getTestCap(), tinf.getMaxMonvol(), tinf.getMinMonvol(), tinf.getGroupVol(), BattCapFactory.CapType_Rest);
+                    res.setRealCap(grouprealCap);
+                    if(grouprealCap>=moncapStd*badValue){
+                        res.setCapperformance(BattCapperformanceEnum.getValue(BattCapperformanceEnum.BATTSTATE_1.getStateId()));
+                    }
+                    if(grouprealCap<=moncapStd*damageValue){
+                        res.setCapperformance(BattCapperformanceEnum.getValue(BattCapperformanceEnum.BATTSTATE_3.getStateId()));
+                    }
+                    if((grouprealCap>moncapStd*damageValue)&&(grouprealCap<moncapStd*badValue)){
+                        res.setCapperformance(BattCapperformanceEnum.getValue(BattCapperformanceEnum.BATTSTATE_2.getStateId()));
+                    }
+                    //淇濈暀5浣嶅皬鏁�
+                    String precentCap = String.format("%.5f",(grouprealCap/binf.getMoncapstd()*100));
+                    res.setPrecentCap(precentCap);
+                    sumCap+=grouprealCap;
+                    if(grouprealCap>=maxCap){
+                        maxCap=grouprealCap;
+                    }
+                    if(grouprealCap<=minCap){
+                        minCap=grouprealCap;
+                    }
                 }
             }
-            res.setMonNums(monNums);
             if(stic.getPerformance()==null){
-                reslist.add(res);
+                comparelist.add(res);
             }else{
                 if(res.getCapperformance().equals(BattCapperformanceEnum.getValue(stic.getPerformance()))){
-                    reslist.add(res);
+                    comparelist.add(res);
                 }
             }
-
+            ComPareChart capChart=new ComPareChart();
+            capChart.setBattgroupId(binf.getBattgroupId());
+            capChart.setBattgroupName(binf.getBattgroupName());
+            capChart.setValue(res.getRealCap());
+            capList.add(capChart);
+            ComPareChart floatVolChart=new ComPareChart();
+            floatVolChart.setBattgroupId(binf.getBattgroupId());
+            floatVolChart.setBattgroupName(binf.getBattgroupName());
+            floatVolChart.setValue(res.getFloatGroupVol());
+            flotVolList.add(floatVolChart);
+            //缁熻鍐呴樆娴嬭瘯
+            ComPareChart resChart=battResdataInfService.getMaxResData(binf);
+            resList.add(resChart);
         }
-        PageInfo pageInfo=PageInfoUtils.list2PageInfo(reslist, stic.getPageNum(), stic.getPageSize());
-        return new Response().setII(1,reslist.size()>0,pageInfo,"钃勭數姹犵粍瀵规瘮鍒嗘瀽鐣岄潰锛堝悓涓�鍝佺墝鍚屼竴鏃堕棿锛�");
+        map.put("avgCap",sumCap/binfList.size());
+        map.put("standCapDiff",maxCap-minCap);
+
+        PageInfo pageInfo=PageInfoUtils.list2PageInfo(comparelist, stic.getPageNum(), stic.getPageSize());
+        return new Response().setIII(1,comparelist.size()>0,pageInfo,map,"钃勭數姹犵粍瀵规瘮鍒嗘瀽鐣岄潰锛堝悓涓�鍝佺墝鍚屼竴鏃堕棿锛�");
     }
 
     //钃勭數姹犵粍瀵规瘮鍒嗘瀽鐣岄潰锛堜笉鍚屽搧鐗屽悓涓�鏃堕棿锛�(1.2.16)
@@ -406,8 +442,8 @@
             res.setStopReason(StopReasonEnum.getValue(tinf.getTestStoptype()));
             Float moncapStd=binf.getMoncapstd();
             int hourRate = BattCapFactory.GetHourRate(tinf.getTestCap(), tinf.getTestCurr());
-            Float grouprealCap = (float) BattCapFactory.GetMonomerCap(tinf.getTestCap(), hourRate, tinf.getTestCap(), tinf.getMaxMonvol(), tinf.getMinMonvol(), tinf.getGroupVol(), BattCapFactory.CapType_Real);
-            //Float restCap = (float) BattCapFactory.GetMonomerCap(tinf.getTestCap(), hourRate, tinf.getTestCap(), tinf.getMaxMonvol(), tinf.getMinMonvol(), tinf.getGroupVol(), BattCapFactory.CapType_Rest);
+            Float grouprealCap = (float) BattCapFactory.GetMonomerCap(binf.getMoncapstd(), hourRate, tinf.getTestCap(), tinf.getMaxMonvol(), tinf.getMinMonvol(), tinf.getGroupVol(), BattCapFactory.CapType_Real);
+            //Float restCap = (float) BattCapFactory.GetMonomerCap(binf.getMoncapstd(), hourRate, tinf.getTestCap(), tinf.getMaxMonvol(), tinf.getMinMonvol(), tinf.getGroupVol(), BattCapFactory.CapType_Rest);
             res.setRealCap(grouprealCap);
             if(grouprealCap>=moncapStd*badValue){
                 res.setCapperformance(BattCapperformanceEnum.getValue(BattCapperformanceEnum.BATTSTATE_1.getStateId()));
@@ -491,7 +527,7 @@
                 res.setPowerId(binf.getPowerId());
                 res.setDevId(binf.getDevId());
                 res.setBattgroupId(binf.getBattgroupId());
-                Float monrealCap = (float) BattCapFactory.GetMonomerCap(tinf.getTestCap(), hourRate, tinf.getTestCap(), tinf.getMaxMonvol(), data.getMonVol(), tinf.getGroupVol(), BattCapFactory.CapType_Real);
+                Float monrealCap = (float) BattCapFactory.GetMonomerCap(binf.getMoncapstd(), hourRate, tinf.getTestCap(), tinf.getMaxMonvol(), data.getMonVol(), tinf.getGroupVol(), BattCapFactory.CapType_Real);
                 res.setMonrealCap(monrealCap);
                 //淇濈暀5浣嶅皬鏁�
                 String monprecentCap = String.format("%.5f",(monrealCap/binf.getMoncapstd()*100));
@@ -572,16 +608,16 @@
             dto.setRecordNum(tinf.getRecordNum());
             dto.setTestCap(tinf.getTestCap());
             dto.setTestTimeLong(tinf.getTestTimelong());
-            int hourRate = BattCapFactory.GetHourRate(tinf.getTestCap(), tinf.getTestCurr());
-            Float realCap = (float) BattCapFactory.GetMonomerCap(tinf.getTestCap(), hourRate, tinf.getTestCap(), tinf.getMaxMonvol(), tinf.getMinMonvol(), tinf.getGroupVol(), BattCapFactory.CapType_Real);
-            dto.setRealCap(realCap);
-            //瀹炴椂鑾峰彇鐢垫睜缁勪俊鎭�
-            BattRtstate battRtstate = rtstateService.getBattRealInfo(tinf.getBattgroupId());
             //鑾峰彇鐢垫睜缁勪俊鎭�
             BattInf binf = battInfService.getBinfByBattgroupId(tinf.getBattgroupId());
             dto.setMoncapstd(binf.getMoncapstd());
             dto.setMonCount(binf.getMoncount());
             dto.setMonvolstd(binf.getMonvolstd());
+            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);
+            dto.setRealCap(realCap);
+            //瀹炴椂鑾峰彇鐢垫睜缁勪俊鎭�
+            BattRtstate battRtstate = rtstateService.getBattRealInfo(tinf.getBattgroupId());
             dto.setFloatchartVol(tinf.getFloatGroupVol());
             if(battRtstate!=null){
                 Float restTime= BattCapFactory.getTheoryTime(battRtstate.getLoadCurr(), realCap, binf.getMoncapstd());
@@ -693,7 +729,7 @@
             res.setTestRecordCount(tinf.getTestRecordCount());
             Float moncapStd=binf.getMoncapstd();
             int hourRate = BattCapFactory.GetHourRate(tinf.getTestCap(), tinf.getTestCurr());
-            Float grouprealCap = (float) BattCapFactory.GetMonomerCap(tinf.getTestCap(), hourRate, tinf.getTestCap(), tinf.getMaxMonvol(), tinf.getMinMonvol(), tinf.getGroupVol(), BattCapFactory.CapType_Real);
+            Float grouprealCap = (float) BattCapFactory.GetMonomerCap(binf.getMoncapstd(), hourRate, tinf.getTestCap(), tinf.getMaxMonvol(), tinf.getMinMonvol(), tinf.getGroupVol(), BattCapFactory.CapType_Real);
             res.setRealCap(grouprealCap);
             //res.setDisChargeType(1);
             if(grouprealCap>=moncapStd*badValue){
@@ -869,7 +905,7 @@
                 }else{
                     Float moncapStd=binf.getMoncapstd();
                     int hourRate = BattCapFactory.GetHourRate(tinf.getTestCap(), tinf.getTestCurr());
-                    Float grouprealCap = (float) BattCapFactory.GetMonomerCap(tinf.getTestCap(), hourRate, tinf.getTestCap(), tinf.getMaxMonvol(), tinf.getMinMonvol(), tinf.getGroupVol(), BattCapFactory.CapType_Real);
+                    Float grouprealCap = (float) BattCapFactory.GetMonomerCap(binf.getMoncapstd(), hourRate, tinf.getTestCap(), tinf.getMaxMonvol(), tinf.getMinMonvol(), tinf.getGroupVol(), BattCapFactory.CapType_Real);
                     res.setRealCap(grouprealCap);
                     if(grouprealCap>=moncapStd*badValue){
                         res.setCapperformance(BattCapperformanceEnum.getValue(BattCapperformanceEnum.BATTSTATE_1.getStateId()));
@@ -1012,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