From 1d34cb0fbec1f4dd9999747f41f7c18ee25ee835 Mon Sep 17 00:00:00 2001 From: whycxzp <glperry@163.com> Date: 星期二, 10 六月 2025 14:15:38 +0800 Subject: [PATCH] 测试调整格式 --- src/main/java/com/whyc/service/ExcelService.java | 377 ++++++++++++++++++++++++++++++++++++++++++----------- 1 files changed, 299 insertions(+), 78 deletions(-) diff --git a/src/main/java/com/whyc/service/ExcelService.java b/src/main/java/com/whyc/service/ExcelService.java index a65dc88..b78d4e6 100644 --- a/src/main/java/com/whyc/service/ExcelService.java +++ b/src/main/java/com/whyc/service/ExcelService.java @@ -588,10 +588,20 @@ CellRangeAddress region25 = new CellRangeAddress(1, 1, 18, 24); sheet.addMergedRegion(region25); - //绗笁琛岀殑鍚堝苟鍒�,鍓嶄袱涓崟鍏冩ā鍧楁槸鍥哄畾鐨�,鍏朵腑1涓悎骞跺崟鍏� - CellRangeAddress region31 = new CellRangeAddress(2, 2, 2, 3); - sheet.addMergedRegion(region31); + //绗笁琛�,绗簲琛�,绗叚琛岀殑鍚堝苟鍒�,鍓嶄袱涓崟鍏冩ā鍧楁槸鍥哄畾鐨�,鍏朵腑1涓悎骞跺崟鍏� + CellRangeAddress region31 = new CellRangeAddress(2, 2, 1, 2); + CellRangeAddress region32 = new CellRangeAddress(2, 2, 3, 4); + CellRangeAddress region51 = new CellRangeAddress(4, 4, 1, 2); + CellRangeAddress region52 = new CellRangeAddress(4, 4, 3, 4); + CellRangeAddress region61 = new CellRangeAddress(5, 5, 1, 2); + CellRangeAddress region62 = new CellRangeAddress(5, 5, 3, 4); + sheet.addMergedRegion(region31); + sheet.addMergedRegion(region32); + sheet.addMergedRegion(region51); + sheet.addMergedRegion(region52); + sheet.addMergedRegion(region61); + sheet.addMergedRegion(region62); // 鍒涘缓灞呬腑鏍峰紡 CellStyle style = workbook.createCellStyle(); @@ -633,33 +643,51 @@ //绗洓琛屾槸鐢靛帇鍒楀拰娓╁害鍒楁爣璇� XSSFRow row2 = sheet.createRow(2); XSSFRow row3 = sheet.createRow(3); + XSSFRow row4 = sheet.createRow(4); + XSSFRow row5 = sheet.createRow(5); + row2.createCell(0).setCellValue("钃勭數姹犲彿锛�#锛�"); row2.createCell(1).setCellValue("钃勭數姹犳诞鍏呯數鍘嬪�硷紙V锛�"); - row2.createCell(2).setCellValue("鏀剧數鍓嶈搫鐢垫睜寮�璺數鍘嬪�硷紙V锛�"); + row2.createCell(3).setCellValue("鏀剧數鍓嶈搫鐢垫睜寮�璺數鍘嬪�硷紙V锛�"); + row2.createCell(4); row3.createCell(0).setCellValue("椤圭洰"); row3.createCell(1).setCellValue("-1锛堢數鍘嬶級"); - row3.createCell(2).setCellValue("0锛堢數鍘嬶級"); - row3.createCell(3).setCellValue("0锛堟俯搴︼級"); + row3.createCell(2).setCellValue("-1锛堟俯搴︼級"); + row3.createCell(3).setCellValue("0锛堢數鍘嬶級"); + row3.createCell(4).setCellValue("0锛堟俯搴︼級"); //鏀剧數鐗瑰畾鐢靛帇鍊� - int columnIndex = 3; + int columnIndex = 5; if(dischargeColumnCount > 0){ - row2.createCell(5).setCellValue("鏀剧數0.5h钃勭數姹犵數鍘嬪�硷紙V锛�"); - CellRangeAddress region33 = new CellRangeAddress(2, 2, 4, 5); + //row2.createCell(5).setCellValue("鏀剧數0.5h钃勭數姹犵數鍘嬪�硷紙V锛�"); + row2.createCell(columnCount).setCellValue("鏀剧數0.5h钃勭數姹犵數鍘嬪�硷紙V锛�"); + CellRangeAddress region33 = new CellRangeAddress(2, 2, 5, 6); + CellRangeAddress region53 = new CellRangeAddress(4, 4, 5, 6); + CellRangeAddress region63 = new CellRangeAddress(5, 5, 5, 6); + sheet.addMergedRegion(region33); - row3.createCell(4).setCellValue("0.5锛堢數鍘嬶級"); - row3.createCell(5).setCellValue("0.5锛堟俯搴︼級"); + sheet.addMergedRegion(region53); + sheet.addMergedRegion(region63); + + row3.createCell(5).setCellValue("0.5锛堢數鍘嬶級"); + row3.createCell(6).setCellValue("0.5锛堟俯搴︼級"); columnIndex+=2; if(dischargeColumnCount > 2){ //鍚堝苟鍗曞厓鏍间簡,鎵�浠ョ储寮�+2 - row2.createCell(7).setCellValue("鏀剧數1h钃勭數姹犵數鍘嬪�硷紙V锛�"); - CellRangeAddress region34 = new CellRangeAddress(2, 2, 6, 7); + //row2.createCell(7).setCellValue("鏀剧數1h钃勭數姹犵數鍘嬪�硷紙V锛�"); + row2.createCell(columnCount).setCellValue("鏀剧數1h钃勭數姹犵數鍘嬪�硷紙V锛�"); + CellRangeAddress region34 = new CellRangeAddress(2, 2, 7, 8); + CellRangeAddress region54 = new CellRangeAddress(4, 4, 7, 8); + CellRangeAddress region64 = new CellRangeAddress(5, 5, 7, 8); + sheet.addMergedRegion(region34); - row3.createCell(6).setCellValue("1锛堢數鍘嬶級"); - row3.createCell(7).setCellValue("1锛堟俯搴︼級"); + sheet.addMergedRegion(region54); + sheet.addMergedRegion(region64); + + row3.createCell(7).setCellValue("1锛堢數鍘嬶級"); + row3.createCell(8).setCellValue("1锛堟俯搴︼級"); columnIndex+=2; if(dischargeColumnCount > 4){ - columnIndex++; //鏀剧數nh钃勭數姹犵數鍘嬪�硷紙V锛�,n浠�2寮�濮� for(int i = 4;i < dischargeColumnCount;i++){ row2.createCell(i+5).setCellValue("鏀剧數" + (i-2) + "h钃勭數姹犵數鍘嬪�硷紙V锛�"); @@ -672,71 +700,140 @@ } //鍏呯數鐗瑰畾鐢靛帇鍊� - row2.createCell(++columnIndex).setCellValue("鏀剧數缁撴潫0.5h鍚庤搫鐢垫睜寮�璺數鍘嬪�硷紙V锛�"); + row2.createCell(columnIndex).setCellValue("鏀剧數缁撴潫0.5h鍚庤搫鐢垫睜寮�璺數鍘嬪�硷紙V锛�"); row3.createCell(columnIndex).setCellValue("10.5"); + columnIndex++; if(chargeColumnCount > 0){ - columnIndex++; row2.createCell(columnIndex).setCellValue("鍏呯數0.5h"); - + columnIndex++; if(chargeColumnCount > 1){ //鍏呯數nh,n浠�1寮�濮� for(int i = 1;i < chargeColumnCount;i++){ - columnIndex++; row2.createCell(columnIndex).setCellValue("鍏呯數" + (i) + "h钃勭數姹犵數鍘嬪�硷紙V锛�"); row3.createCell(columnIndex);//濉厖鍗曞厓鏍肩殑浣滅敤 + columnIndex++; } } } - row2.createCell(++columnIndex).setCellValue("鍏呮弧鍚庤搫鐢垫睜鐢靛帇鍊硷紙V)锛堢數娴佷负0锛�"); + row2.createCell(columnIndex).setCellValue("鍏呮弧鍚庤搫鐢垫睜鐢靛帇鍊硷紙V)锛堢數娴佷负0锛�"); row3.createCell(columnIndex).setCellValue("11"); - row2.createCell(++columnIndex).setCellValue("澶囨敞"); + columnIndex++; + row2.createCell(columnIndex).setCellValue("澶囨敞"); row3.createCell(columnIndex);//濉厖鍗曞厓鏍肩殑浣滅敤 - - - //浠巖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) { - rowTemp.createCell(0).setCellValue((j + 1) + "#"); + 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,44 +843,102 @@ //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()); - - rowTemp.createCell(2).setCellValue(preVolList.get(j).getMonVol()); - rowTemp.createCell(3).setCellValue(preVolList.get(j).getMonTmp()); + if(j == 0){ + rowTemp.createCell(1).setCellValue(fcVolList.get(j).getGroupVol()); + rowTemp.createCell(2); + rowTemp.createCell(3).setCellValue(preVolList.get(j).getGroupVol()); + rowTemp.createCell(4); + }else if (j == 1){ + rowTemp.createCell(1).setCellValue(fcVolList.get(j).getGroupCurr()); + rowTemp.createCell(2); + rowTemp.createCell(3).setCellValue(preVolList.get(j).getGroupCurr()); + rowTemp.createCell(4); + }else { + rowTemp.createCell(1).setCellValue(fcVolList.get(j).getMonVol()); + rowTemp.createCell(2).setCellValue(fcVolList.get(j).getMonVol()); + rowTemp.createCell(3).setCellValue(preVolList.get(j).getMonVol()); + rowTemp.createCell(4).setCellValue(preVolList.get(j).getMonTmp()); + } //鏀剧數鐗瑰畾鐢靛帇鍊� - int columnIndexTemp = 3; + int columnIndexTemp = 5; Calendar dischargeCalendar = Calendar.getInstance(); dischargeCalendar.setTime(dischargeStartTime); if(dischargeColumnCount > 0){ //鏃堕棿鍦ㄦ祴璇曞紑濮嬫椂闂�+0.5h dischargeCalendar.add(Calendar.MINUTE,30); Date recordTime = dischargeCalendar.getTime(); - List<BattRealTimeDataHistory> dischargeListOne = battRTDataHisService.getRecordList(battGroupId,recordTime); + List<BattRealTimeDataHistory> dischargeListOne = new ArrayList<>(); + List<BattRealTimeDataHistory> dischargeListOneOriginal = battRTDataHisService.getRecordList(battGroupId,recordTime); //鎸夊崟浣撶紪鍙锋帓搴�,鎸夌紪鍙峰崌搴� - dischargeListOne.sort(Comparator.comparingInt(BattRealTimeDataHistory::getMonNum)); - addStatistics(dischargeListOne,"vol"); + dischargeListOneOriginal.sort(Comparator.comparingInt(BattRealTimeDataHistory::getMonNum)); + addStatistics(dischargeListOneOriginal,"vol"); + //鎬荤數娴佹�荤數鍘嬪垪鍏� + Float groupVolDisOne = dischargeListOneOriginal.get(0).getGroupVol(); + Float groupCurrDisOne = dischargeListOneOriginal.get(0).getGroupCurr(); + + BattRealTimeDataHistory groupVolDataDisOne = new BattRealTimeDataHistory(); + groupVolDataDisOne.setMonNum(-2); + groupVolDataDisOne.setGroupVol(groupVolDisOne); + + BattRealTimeDataHistory groupCurrDataDisOne = new BattRealTimeDataHistory(); + groupCurrDataDisOne.setMonNum(-1); + groupCurrDataDisOne.setGroupCurr(groupCurrDisOne); + + dischargeListOne.add(groupVolDataDisOne); + dischargeListOne.add(groupCurrDataDisOne); + dischargeListOne.addAll(dischargeListOneOriginal); + //rowTemp.createCell(5).setCellValue("鏀剧數0.5h鐢靛帇鍊硷紙V锛�:"+(j+1)+"#"); //rowTemp.createCell(6).setCellValue("鏀剧數0.5h娓╁害鍊�:"+(j+1)+"#"); - rowTemp.createCell(4).setCellValue(dischargeListOne.get(j).getMonVol()); - rowTemp.createCell(5).setCellValue(dischargeListOne.get(j).getMonTmp()); + if(j==0){ + //rowTemp.createCell(5).setCellValue(dischargeListOne.get(j).getGroupVol()); + rowTemp.createCell(columnIndexTemp).setCellValue(dischargeListOne.get(j).getGroupVol()); + }else if (j==1){ + rowTemp.createCell(columnIndexTemp).setCellValue(dischargeListOne.get(j).getGroupCurr()); + }else { + rowTemp.createCell(columnIndexTemp).setCellValue(dischargeListOne.get(j).getMonVol()); + rowTemp.createCell(columnIndexTemp+1).setCellValue(dischargeListOne.get(j).getMonTmp()); + } columnIndexTemp+=2; if(dischargeColumnCount > 2){ //鍚堝苟鍗曞厓鏍间簡,鎵�浠ョ储寮�+2 //鏃堕棿鍦ㄦ祴璇曞紑濮嬫椂闂�+1h dischargeCalendar.setTime(dischargeStartTime); dischargeCalendar.add(Calendar.HOUR,1); Date recordTimeTwo = dischargeCalendar.getTime(); - List<BattRealTimeDataHistory> dischargeListTwo = battRTDataHisService.getRecordList(battGroupId,recordTimeTwo); - dischargeListTwo.sort(Comparator.comparingInt(BattRealTimeDataHistory::getMonNum)); - addStatistics(dischargeListTwo,"vol"); + List<BattRealTimeDataHistory> dischargeListTwo = new ArrayList<>(); + List<BattRealTimeDataHistory> dischargeListTwoOriginal = battRTDataHisService.getRecordList(battGroupId,recordTimeTwo); + dischargeListTwoOriginal.sort(Comparator.comparingInt(BattRealTimeDataHistory::getMonNum)); + addStatistics(dischargeListTwoOriginal,"vol"); + //鎬荤數娴佹�荤數鍘嬪垪鍏� + Float groupVolDisTwo = dischargeListTwoOriginal.get(0).getGroupVol(); + Float groupCurrDisTwo = dischargeListTwoOriginal.get(0).getGroupCurr(); + + BattRealTimeDataHistory groupVolDataDisTwo = new BattRealTimeDataHistory(); + groupVolDataDisTwo.setMonNum(-2); + groupVolDataDisTwo.setGroupVol(groupVolDisTwo); + + BattRealTimeDataHistory groupCurrDataDisTwo = new BattRealTimeDataHistory(); + groupCurrDataDisTwo.setMonNum(-1); + groupCurrDataDisTwo.setGroupCurr(groupCurrDisTwo); + + dischargeListTwo.add(groupVolDataDisTwo); + dischargeListTwo.add(groupCurrDataDisTwo); + dischargeListTwo.addAll(dischargeListTwoOriginal); + //rowTemp.createCell(7).setCellValue("鏀剧數1h鐢靛帇鍊硷紙V锛�:"+(j+1)+"#"); //rowTemp.createCell(8).setCellValue("鏀剧數1h娓╁害鍊�:"+(j+1)+"#"); - rowTemp.createCell(6).setCellValue(dischargeListTwo.get(j).getMonVol()); - rowTemp.createCell(7).setCellValue(dischargeListTwo.get(j).getMonTmp()); + if (j==0) { + rowTemp.createCell(columnIndexTemp).setCellValue(dischargeListTwo.get(j).getGroupVol()); + }else if (j==1){ + rowTemp.createCell(columnIndexTemp).setCellValue(dischargeListTwo.get(j).getGroupCurr()); + }else { + rowTemp.createCell(columnIndexTemp).setCellValue(dischargeListTwo.get(j).getMonVol()); + rowTemp.createCell(columnIndexTemp+1).setCellValue(dischargeListTwo.get(j).getMonTmp()); + } columnIndexTemp+=2; if(dischargeColumnCount > 4){ - columnIndexTemp++; //鏀剧數nh钃勭數姹犵數鍘嬪�硷紙V锛�,n浠�2寮�濮� for(int i = 4;i < dischargeColumnCount;i++){ int dischargeHour = i-2; @@ -791,11 +946,33 @@ dischargeCalendar.setTime(dischargeStartTime); dischargeCalendar.add(Calendar.HOUR,dischargeHour); Date recordTimeN = dischargeCalendar.getTime(); - List<BattRealTimeDataHistory> dischargeListN = battRTDataHisService.getRecordList(battGroupId,recordTimeN); - dischargeListN.sort(Comparator.comparingInt(BattRealTimeDataHistory::getMonNum)); - addStatistics(dischargeListN,"vol"); + List<BattRealTimeDataHistory> dischargeListN = new ArrayList<>(); + List<BattRealTimeDataHistory> dischargeListNOriginal = battRTDataHisService.getRecordList(battGroupId,recordTimeN); + dischargeListNOriginal.sort(Comparator.comparingInt(BattRealTimeDataHistory::getMonNum)); + addStatistics(dischargeListNOriginal,"vol"); + //鎬荤數娴佹�荤數鍘嬪垪鍏� + Float groupVolDisN = dischargeListNOriginal.get(0).getGroupVol(); + Float groupCurrDisN = dischargeListNOriginal.get(0).getGroupCurr(); + + BattRealTimeDataHistory groupVolDataDisN = new BattRealTimeDataHistory(); + groupVolDataDisN.setMonNum(-2); + groupVolDataDisN.setGroupVol(groupVolDisN); + + BattRealTimeDataHistory groupCurrDataDisN = new BattRealTimeDataHistory(); + groupCurrDataDisN.setMonNum(-1); + groupCurrDataDisN.setGroupCurr(groupCurrDisN); + + dischargeListN.add(groupVolDataDisN); + dischargeListN.add(groupCurrDataDisN); + dischargeListN.addAll(dischargeListNOriginal); //rowTemp.createCell(i+5).setCellValue("鏀剧數" + dischargeHour + "h钃勭數姹犵數鍘嬪�硷紙V锛�"); - rowTemp.createCell(i+5).setCellValue(dischargeListN.get(j).getMonVol()); + if(j==0){ + rowTemp.createCell(columnIndexTemp).setCellValue(dischargeListN.get(j).getGroupVol()); + }else if (j==1){ + rowTemp.createCell(columnIndexTemp).setCellValue(dischargeListN.get(j).getGroupCurr()); + }else { + rowTemp.createCell(columnIndexTemp).setCellValue(dischargeListN.get(j).getMonVol()); + } columnIndexTemp++; } @@ -804,32 +981,69 @@ } //濉厖鏀剧數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()); + } + columnIndexTemp++; if(chargeColumnCount > 0){ chargeCalendar = Calendar.getInstance(); chargeCalendar.setTime(chargeStartTime); chargeCalendar.add(Calendar.MINUTE,30); - List<BattRealTimeDataHistory> chargeVolListOne = battRTDataHisService.getRecordList(battGroupId, chargeCalendar.getTime()); - chargeVolListOne.sort(Comparator.comparingInt(BattRealTimeDataHistory::getMonNum)); - addStatistics(chargeVolListOne,"vol"); - columnIndexTemp++; + List<BattRealTimeDataHistory> chargeVolListOne = new ArrayList<>(); + List<BattRealTimeDataHistory> chargeVolListOneOriginal = battRTDataHisService.getRecordList(battGroupId, chargeCalendar.getTime()); + chargeVolListOneOriginal.sort(Comparator.comparingInt(BattRealTimeDataHistory::getMonNum)); + addStatistics(chargeVolListOneOriginal,"vol"); + //鎬荤數娴佹�荤數鍘嬪垪鍏� + Float groupVolChargeOne = chargeVolListOneOriginal.get(0).getGroupVol(); + Float groupCurrChargeOne = chargeVolListOneOriginal.get(0).getGroupCurr(); + + BattRealTimeDataHistory groupVolDataChargeOne = new BattRealTimeDataHistory(); + groupVolDataChargeOne.setMonNum(-2); + groupVolDataChargeOne.setGroupVol(groupVolChargeOne); + + BattRealTimeDataHistory groupCurrDataChargeOne = new BattRealTimeDataHistory(); + groupCurrDataChargeOne.setMonNum(-1); + groupCurrDataChargeOne.setGroupCurr(groupCurrChargeOne); + + chargeVolListOne.add(groupVolDataChargeOne); + chargeVolListOne.add(groupCurrDataChargeOne); + chargeVolListOne.addAll(chargeVolListOneOriginal); //rowTemp.createCell(columnIndexTemp).setCellValue("鍏呯數0.5h"); rowTemp.createCell(columnIndexTemp).setCellValue(chargeVolListOne.get(j).getMonVol()); + columnIndexTemp++; if(chargeColumnCount > 1){ //鍏呯數nh,n浠�1寮�濮� for(int i = 1;i < chargeColumnCount;i++){ - columnIndexTemp++; - chargeCalendar.setTime(chargeStartTime); chargeCalendar.add(Calendar.HOUR,i); - List<BattRealTimeDataHistory> chargeVolListN = battRTDataHisService.getRecordList(battGroupId, chargeCalendar.getTime()); - chargeVolListN.sort(Comparator.comparingInt(BattRealTimeDataHistory::getMonNum)); - addStatistics(chargeVolListN,"vol"); + List<BattRealTimeDataHistory> chargeVolListN = new ArrayList<>(); + List<BattRealTimeDataHistory> chargeVolListNOriginal = battRTDataHisService.getRecordList(battGroupId, chargeCalendar.getTime()); + chargeVolListNOriginal.sort(Comparator.comparingInt(BattRealTimeDataHistory::getMonNum)); + addStatistics(chargeVolListNOriginal,"vol"); + //鎬荤數娴佹�荤數鍘嬪垪鍏� + Float groupVolChargeN = chargeVolListNOriginal.get(0).getGroupVol(); + Float groupCurrChargeN = chargeVolListNOriginal.get(0).getGroupCurr(); + + BattRealTimeDataHistory groupVolDataChargeN = new BattRealTimeDataHistory(); + groupVolDataChargeN.setMonNum(-2); + groupVolDataChargeN.setGroupVol(groupVolChargeN); + + BattRealTimeDataHistory groupCurrDataChargeN = new BattRealTimeDataHistory(); + groupCurrDataChargeN.setMonNum(-1); + groupCurrDataChargeN.setGroupCurr(groupCurrChargeN); + + chargeVolListN.add(groupVolDataChargeN); + chargeVolListN.add(groupCurrDataChargeN); + chargeVolListN.addAll(chargeVolListNOriginal); //rowTemp.createCell(columnIndexTemp).setCellValue("鍏呯數" + (i) + "h钃勭數姹犵數鍘嬪�硷紙V锛�"); rowTemp.createCell(columnIndexTemp).setCellValue(chargeVolListN.get(j).getMonVol()); + columnIndexTemp++; } } @@ -838,11 +1052,18 @@ //濉厖鍏呮弧鍚庤搫鐢垫睜鐢靛帇 //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("-"); + rowTemp.createCell(columnIndexTemp).setCellValue("-"); } - rowTemp.createCell(++columnIndexTemp).setCellValue("-"); + columnIndexTemp++; + rowTemp.createCell(columnIndexTemp); } //=====================鏍煎紡璁剧疆=====================// -- Gitblit v1.9.1