whycxzp
2025-06-09 1240254a4ff3da8d9f3258b0601fb1559ffe015c
压入总电压和总电流的行列及数据
2个文件已修改
147 ■■■■ 已修改文件
src/main/java/com/whyc/service/BattRealTimeDataHistoryService.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/service/ExcelService.java 139 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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);
                }
src/main/java/com/whyc/service/ExcelService.java
@@ -695,48 +695,118 @@
        //从rowIndex=6开始
        int rowIndex = 6;
        //从rowIndex=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("-");
            }