From 1240254a4ff3da8d9f3258b0601fb1559ffe015c Mon Sep 17 00:00:00 2001
From: whycxzp <glperry@163.com>
Date: 星期一, 09 六月 2025 20:33:30 +0800
Subject: [PATCH] 压入总电压和总电流的行列及数据

---
 src/main/java/com/whyc/service/ExcelService.java                   |  139 ++++++++++++++++++++++++++++++++++++++--------
 src/main/java/com/whyc/service/BattRealTimeDataHistoryService.java |    8 ++
 2 files changed, 122 insertions(+), 25 deletions(-)

diff --git a/src/main/java/com/whyc/service/BattRealTimeDataHistoryService.java b/src/main/java/com/whyc/service/BattRealTimeDataHistoryService.java
index 5df9704..11b575a 100644
--- a/src/main/java/com/whyc/service/BattRealTimeDataHistoryService.java
+++ b/src/main/java/com/whyc/service/BattRealTimeDataHistoryService.java
@@ -130,6 +130,8 @@
                     his.setMonNum(rs.getInt("mon_num"));
                     his.setMonVol(rs.getFloat("mon_vol"));
                     his.setMonTmp(rs.getFloat("mon_tmp"));
+                    his.setGroupVol(rs.getFloat("group_vol"));
+                    his.setGroupCurr(rs.getFloat("group_curr"));
 
                     list.add(his);
                 }
@@ -154,6 +156,8 @@
                     his.setMonNum(rs.getInt("mon_num"));
                     his.setMonVol(rs.getFloat("mon_vol"));
                     his.setMonTmp(rs.getFloat("mon_tmp"));
+                    his.setGroupVol(rs.getFloat("group_vol"));
+                    his.setGroupCurr(rs.getFloat("group_curr"));
 
                     list.add(his);
                 }
@@ -178,6 +182,8 @@
                     his.setMonNum(rs.getInt("mon_num"));
                     his.setMonVol(rs.getFloat("mon_vol"));
                     his.setMonTmp(rs.getFloat("mon_tmp"));
+                    his.setGroupVol(rs.getFloat("group_vol"));
+                    his.setGroupCurr(rs.getFloat("group_curr"));
 
                     list.add(his);
                 }
@@ -223,6 +229,8 @@
                     his.setMonNum(rs.getInt("mon_num"));
                     his.setMonVol(rs.getFloat("mon_vol"));
                     his.setMonTmp(rs.getFloat("mon_tmp"));
+                    his.setGroupVol(rs.getFloat("group_vol"));
+                    his.setGroupCurr(rs.getFloat("group_curr"));
 
                     list.add(his);
                 }
diff --git a/src/main/java/com/whyc/service/ExcelService.java b/src/main/java/com/whyc/service/ExcelService.java
index a65dc88..88e77f6 100644
--- a/src/main/java/com/whyc/service/ExcelService.java
+++ b/src/main/java/com/whyc/service/ExcelService.java
@@ -695,48 +695,118 @@
 
 
 
-        //浠巖owIndex=6寮�濮�
-        int rowIndex = 6;
+        //浠巖owIndex=4寮�濮�
+        int rowIndex = 4;
         // 鍏�104鑺傚崟浣�,104琛�. 杩涜閬嶅巻,濉厖
         //钃勭數姹犳诞鍏呯數鍘嬪�煎垪琛�
         List<BattRealTimeDataHistory> fcVolList = new ArrayList<>();
-        fcVolList = battRTDataHisService.getFcVolList(battGroupId,dischargeStartTime);
+        List<BattRealTimeDataHistory> fcVolListOriginal = battRTDataHisService.getFcVolList(battGroupId,dischargeStartTime);
         //鎸夊崟浣撶紪鍙锋帓搴�,鎸夌紪鍙峰崌搴�
-        fcVolList.sort(Comparator.comparingInt(BattRealTimeDataHistory::getMonNum));
+        fcVolListOriginal.sort(Comparator.comparingInt(BattRealTimeDataHistory::getMonNum));
+        addStatistics(fcVolListOriginal,"vol");
+        //鎬荤數娴佹�荤數鍘嬪垪鍏�
+        Float fcGroupVol = fcVolListOriginal.get(0).getGroupVol();
+        Float fcGroupCurr = fcVolListOriginal.get(0).getGroupCurr();
+
+        BattRealTimeDataHistory fcGroupVolData = new BattRealTimeDataHistory();
+        fcGroupVolData.setMonNum(-2);
+        fcGroupVolData.setGroupVol(fcGroupVol);
+
+        BattRealTimeDataHistory fcGroupCurrData = new BattRealTimeDataHistory();
+        fcGroupCurrData.setMonNum(-1);
+        fcGroupCurrData.setGroupCurr(fcGroupCurr);
+
+        fcVolList.add(fcGroupVolData);
+        fcVolList.add(fcGroupCurrData);
+        fcVolList.addAll(fcVolListOriginal);
+
         //鏀剧偣鍓嶈搫鐢垫睜寮�璺數鍘嬪��
         List<BattRealTimeDataHistory> preVolList = new ArrayList<>();
-        preVolList = battRTDataHisService.getPreVolList(battGroupId,dischargeStartTime);
+        List<BattRealTimeDataHistory> preVolListOriginal = battRTDataHisService.getPreVolList(battGroupId,dischargeStartTime);
+        addStatistics(preVolListOriginal,"vol","tmp");
+        //鎬荤數娴佹�荤數鍘嬪垪鍏�
+        Float preGroupVol = preVolListOriginal.get(0).getGroupVol();
+        Float preGroupCurr = preVolListOriginal.get(0).getGroupCurr();
 
-        addStatistics(fcVolList,"vol");
-        addStatistics(preVolList,"vol","tmp");
+        BattRealTimeDataHistory preGroupVolData = new BattRealTimeDataHistory();
+        preGroupVolData.setMonNum(-2);
+        preGroupVolData.setGroupVol(preGroupVol);
+
+        BattRealTimeDataHistory preGroupCurrData = new BattRealTimeDataHistory();
+        preGroupCurrData.setMonNum(-1);
+        preGroupCurrData.setGroupCurr(preGroupCurr);
+
+        preVolList.add(preGroupVolData);
+        preVolList.add(preGroupCurrData);
+        preVolList.addAll(preVolListOriginal);
 
         //鏀剧數缁撴潫0.5h鍚庤搫鐢垫睜寮�璺數鍘嬪��
         Calendar dischargeEndCalendar = Calendar.getInstance();
         dischargeEndCalendar.setTime(dischargeEndTime.getTime());
         dischargeEndCalendar.add(Calendar.MINUTE,30);
-        List<BattRealTimeDataHistory> dischargeSetVolListOne = battRTDataHisService.getRecordList(battGroupId, dischargeEndCalendar.getTime());
-        dischargeSetVolListOne.sort(Comparator.comparingInt(BattRealTimeDataHistory::getMonNum));
-        addStatistics(dischargeSetVolListOne,"vol","tmp");
+        List<BattRealTimeDataHistory> dischargeSetVolListOne = new ArrayList<>();
+        List<BattRealTimeDataHistory> dischargeSetVolListOneOriginal = battRTDataHisService.getRecordList(battGroupId, dischargeEndCalendar.getTime());
+        dischargeSetVolListOneOriginal.sort(Comparator.comparingInt(BattRealTimeDataHistory::getMonNum));
+        addStatistics(dischargeSetVolListOneOriginal,"vol","tmp");
+        //鎬荤數娴佹�荤數鍘嬪垪鍏�
+        Float groupVolOne = dischargeSetVolListOneOriginal.get(0).getGroupVol();
+        Float groupCurrOne = dischargeSetVolListOneOriginal.get(0).getGroupCurr();
+
+        BattRealTimeDataHistory groupVolDataOne = new BattRealTimeDataHistory();
+        groupVolDataOne.setMonNum(-2);
+        groupVolDataOne.setGroupVol(groupVolOne);
+
+        BattRealTimeDataHistory groupCurrDataOne = new BattRealTimeDataHistory();
+        groupCurrDataOne.setMonNum(-1);
+        groupCurrDataOne.setGroupCurr(groupCurrOne);
+
+        dischargeSetVolListOne.add(groupVolDataOne);
+        dischargeSetVolListOne.add(groupCurrDataOne);
+        dischargeSetVolListOne.addAll(dischargeSetVolListOneOriginal);
+
         //瀹氫綅鍒板厖鐢靛紑濮嬫椂闂�,鐘舵�佸彉涓哄厖鐢电殑璁板綍鏃堕棿
         Date chargeStartTime = battRTDataHisService.getChargeStartTime(battGroupId, dischargeEndTime.getTime());
         //鍏呮弧鍚庤搫鐢垫睜鐨勭數鍘�
         Calendar chargeCalendar = Calendar.getInstance();
         chargeCalendar.setTime(chargeStartTime);
-        List<BattRealTimeDataHistory> fcVolListAfter = battRTDataHisService.getFcVolListAfter(battGroupId, chargeCalendar.getTime());
-        fcVolListAfter.sort(Comparator.comparingInt(BattRealTimeDataHistory::getMonNum));
-        addStatistics(fcVolListAfter,"vol","tmp");
+        List<BattRealTimeDataHistory> fcVolListAfter = new ArrayList<>();
+        List<BattRealTimeDataHistory> fcVolListAfterOriginal = battRTDataHisService.getFcVolListAfter(battGroupId, chargeCalendar.getTime());
+        fcVolListAfterOriginal.sort(Comparator.comparingInt(BattRealTimeDataHistory::getMonNum));
+        addStatistics(fcVolListAfterOriginal,"vol","tmp");
+        //鎬荤數娴佹�荤數鍘嬪垪鍏�
+        if(fcVolListAfterOriginal.size()>0) {
+            Float groupVolAfter = fcVolListAfterOriginal.get(0).getGroupVol();
+            Float groupCurrAfter = fcVolListAfterOriginal.get(0).getGroupCurr();
 
-        //涓�鍏�104鑺傚崟浣�,鍐嶅姞涓婄粺璁℃暟鎹�4鍒�,涓�鍏�108
-        for(int j = 0; j < 108; j++){
+            BattRealTimeDataHistory groupVolDataAfter = new BattRealTimeDataHistory();
+            groupVolDataAfter.setMonNum(-2);
+            groupVolDataAfter.setGroupVol(groupVolAfter);
+
+            BattRealTimeDataHistory groupCurrDataAfter = new BattRealTimeDataHistory();
+            groupCurrDataAfter.setMonNum(-1);
+            groupCurrDataAfter.setGroupCurr(groupCurrAfter);
+
+            fcVolListAfter.add(groupVolDataAfter);
+            fcVolListAfter.add(groupCurrDataAfter);
+            fcVolListAfter.addAll(fcVolListAfterOriginal);
+        }
+
+        //涓�鍏�104鑺傚崟浣�,鍐嶅姞涓婂墠闈㈡�荤數鍘嬪拰鎬荤數娴�2鍒�,鍚庨潰缁熻鏁版嵁4鍒�,涓�鍏�110
+        for(int j = 0; j < 110; j++){
             XSSFRow rowTemp = sheet.createRow(rowIndex++);
-            if(j<104) {
+            if(j == 0){
+                rowTemp.createCell(0).setCellValue("鎬荤數鍘�");
+            }else if(j == 1){
+                rowTemp.createCell(0).setCellValue("鎬荤數娴�");
+            }
+            else if(j<106) {
                 rowTemp.createCell(0).setCellValue((j + 1) + "#");
             }else{
-                if(j == 104){
+                if(j == 106){
                     rowTemp.createCell(0).setCellValue("鍗曡妭骞冲潎鐢靛帇");
-                }else if (j == 105){
+                }else if (j == 107){
                     rowTemp.createCell(0).setCellValue("鍗曡妭鏈�澶х數鍘�");
-                }else if (j == 106){
+                }else if (j == 108){
                     rowTemp.createCell(0).setCellValue("鍗曡妭鏈�灏忕數鍘�");
                 }else{
                     rowTemp.createCell(0).setCellValue("鍗曡妭鏈�澶у樊鍊�");
@@ -746,10 +816,18 @@
             //rowTemp.createCell(2).setCellValue("钃勭數姹犳诞鍏呮俯搴﹀��:"+(j+1)+"#");
             //rowTemp.createCell(3).setCellValue("鏀剧數鍓嶈搫鐢垫睜寮�璺數鍘嬪�硷紙V锛�:"+(j+1)+"#");
             //rowTemp.createCell(4).setCellValue("鏀剧數鍓嶈搫鐢垫睜寮�璺俯搴﹀��:"+(j+1)+"#");
-            rowTemp.createCell(1).setCellValue(fcVolList.get(j).getMonVol());
+            if(j == 0){
+                rowTemp.createCell(1).setCellValue(fcVolList.get(j).getGroupVol());
+                rowTemp.createCell(2).setCellValue(preVolList.get(j).getGroupVol());
+            }else if (j == 1){
+                rowTemp.createCell(1).setCellValue(fcVolList.get(j).getGroupCurr());
+                rowTemp.createCell(2).setCellValue(preVolList.get(j).getGroupCurr());
+            }else {
+                rowTemp.createCell(1).setCellValue(fcVolList.get(j).getMonVol());
 
-            rowTemp.createCell(2).setCellValue(preVolList.get(j).getMonVol());
-            rowTemp.createCell(3).setCellValue(preVolList.get(j).getMonTmp());
+                rowTemp.createCell(2).setCellValue(preVolList.get(j).getMonVol());
+                rowTemp.createCell(3).setCellValue(preVolList.get(j).getMonTmp());
+            }
 
 
             //鏀剧數鐗瑰畾鐢靛帇鍊�
@@ -804,8 +882,13 @@
             }
 
             //濉厖鏀剧數0.5h鍚庡紑璺數鍘嬪��
-            rowTemp.createCell(++columnIndexTemp).setCellValue(dischargeSetVolListOne.get(j).getMonVol());
-
+            if(j == 0){
+                rowTemp.createCell(++columnIndexTemp).setCellValue(dischargeSetVolListOne.get(j).getGroupVol());
+            }else if(j == 1){
+                rowTemp.createCell(++columnIndexTemp).setCellValue(dischargeSetVolListOne.get(j).getGroupCurr());
+            }else {
+                rowTemp.createCell(++columnIndexTemp).setCellValue(dischargeSetVolListOne.get(j).getMonVol());
+            }
 
             if(chargeColumnCount > 0){
                 chargeCalendar = Calendar.getInstance();
@@ -838,7 +921,13 @@
             //濉厖鍏呮弧鍚庤搫鐢垫睜鐢靛帇
             //rowTemp.createCell(++columnIndexTemp).setCellValue("鍏呮弧鍚庤搫鐢垫睜鐢靛帇鍊硷紙V)锛堢數娴佷负0锛�");
             if (fcVolListAfter.size() > 0){
-                rowTemp.createCell(++columnIndexTemp).setCellValue(fcVolListAfter.get(j).getMonVol());
+                if(j ==  0){
+                    rowTemp.createCell(++columnIndexTemp).setCellValue(fcVolListAfter.get(j).getGroupVol());
+                }else if(j == 1){
+                    rowTemp.createCell(++columnIndexTemp).setCellValue(fcVolListAfter.get(j).getGroupCurr());
+                }else {
+                    rowTemp.createCell(++columnIndexTemp).setCellValue(fcVolListAfter.get(j).getMonVol());
+                }
             }else {
                 rowTemp.createCell(++columnIndexTemp).setCellValue("-");
             }

--
Gitblit v1.9.1