whycxzp
2022-10-26 2f5c408bcdcf0cec9ce2baffc5d690e1ae819ed9
小数点处理
2个文件已修改
38 ■■■■■ 已修改文件
src/main/java/com/whyc/service/BattGroupDataService.java 30 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/service/ExcelExportService.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/service/BattGroupDataService.java
@@ -10,6 +10,7 @@
import javax.annotation.Resource;
import java.math.BigDecimal;
import java.text.NumberFormat;
import java.util.HashMap;
import java.util.LinkedList;
import java.util.List;
@@ -98,14 +99,16 @@
        List<Float> crList = monList.stream().map(BattgroupData::getCr).map(Float::parseFloat).collect(Collectors.toList());
        List<Float> bsList = monList.stream().map(BattgroupData::getBs).map(Float::parseFloat).collect(Collectors.toList());
        NumberFormat percentInstance = NumberFormat.getPercentInstance();
        percentInstance.setMinimumFractionDigits(2);
        float stdDevBv = MathUtil.getStandardDeviation(bvList);
        float stdDevBr = MathUtil.getStandardDeviation(brList);
        float stdDevCr = MathUtil.getStandardDeviation(crList);
        float stdDevBs = MathUtil.getStandardDeviation(bsList);
        map.put("stdDevBv",stdDevBv*10000/100+"%");
        map.put("stdDevBr",stdDevBr*10000/100+"%");
        map.put("stdDevCr",stdDevCr*10000/100+"%");
        map.put("stdDevBs",stdDevBs*10000/100+"%");
        map.put("stdDevBv",percentInstance.format(stdDevBv));
        map.put("stdDevBr",percentInstance.format(stdDevBr));
        map.put("stdDevCr",percentInstance.format(stdDevCr));
        map.put("stdDevBs",percentInstance.format(stdDevBs));
        return map;
    }
@@ -129,11 +132,14 @@
        float sdBr = MathUtil.getStandardDeviation(dataList.stream().map(BattgroupData::getBr).map(Float::parseFloat).collect(Collectors.toList()));
        float sdBv = MathUtil.getStandardDeviation(dataList.stream().map(BattgroupData::getBv).map(Float::parseFloat).collect(Collectors.toList()));
        resBalanceRate.add(sdBaseBr*10000/100+"%");
        resBalanceRate.add(sdBr*10000/100+"%");
        NumberFormat percentInstance = NumberFormat.getPercentInstance();
        percentInstance.setMinimumFractionDigits(2);
        volBalanceRate.add(sdBaseBv*10000/100+"%");
        volBalanceRate.add(sdBv*10000/100+"%");
        resBalanceRate.add(percentInstance.format(sdBaseBr));
        resBalanceRate.add(percentInstance.format(sdBr));
        volBalanceRate.add(percentInstance.format(sdBaseBv));
        volBalanceRate.add(percentInstance.format(sdBv));
        for (int i = 0; i < dataList.size(); i++) {
            BattgroupData data = dataList.get(i);
@@ -154,7 +160,7 @@
                    }
                }else {
                    float brFloat = BigDecimal.valueOf(br).subtract(BigDecimal.valueOf(baseBr)).divide(BigDecimal.valueOf(baseBr), 4, BigDecimal.ROUND_HALF_UP).floatValue();
                    resChangeRate.add(brFloat * 10000/100 + "%");
                    resChangeRate.add(percentInstance.format(brFloat));
                }
                Float bv =  Float.parseFloat(data.getBv());
@@ -167,16 +173,16 @@
                    }
                }else {
                    float bvFloat = BigDecimal.valueOf(bv).subtract(BigDecimal.valueOf(baseBv)).divide(BigDecimal.valueOf(baseBv), 4, BigDecimal.ROUND_HALF_UP).floatValue();
                    volChangeRate.add(bvFloat * 10000/100 + "%");
                    volChangeRate.add(percentInstance.format(bvFloat));
                }
            }
        }
        //将均一性值,也进行变化率计算
        float brFloat = BigDecimal.valueOf(sdBr).subtract(BigDecimal.valueOf(sdBaseBr)).divide(BigDecimal.valueOf(sdBaseBr),4, BigDecimal.ROUND_HALF_UP).floatValue();
        resChangeRate.add(brFloat*10000/100+"%");
        resChangeRate.add(percentInstance.format(brFloat));
        float bvFloat = BigDecimal.valueOf(sdBv).subtract(BigDecimal.valueOf(sdBaseBv)).divide(BigDecimal.valueOf(sdBaseBv),4, BigDecimal.ROUND_HALF_UP).floatValue();
        volChangeRate.add(bvFloat*10000/100+"%");
        volChangeRate.add(percentInstance.format(bvFloat));
        map.put("resChangeRate",resChangeRate);
        map.put("volChangeRate",volChangeRate);
src/main/java/com/whyc/service/ExcelExportService.java
@@ -19,6 +19,7 @@
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.net.URLEncoder;
import java.text.NumberFormat;
import java.text.ParseException;
import java.text.ParsePosition;
import java.text.SimpleDateFormat;
@@ -130,10 +131,13 @@
        List<String> resBalanceRateList = data3.get("resBalanceRate");
        List<String> volBalanceRateList = data3.get("volBalanceRate");
        //均一性:chainRes/?容量/bs(电导)
        NumberFormat percentInstance = NumberFormat.getPercentInstance();
        percentInstance.setMinimumFractionDigits(2);
        List<Float> chainResList = dataList2.stream().map(BattgroupData::getCr).map(Float::parseFloat).collect(Collectors.toList());
        List<Float> bsList = dataList2.stream().map(BattgroupData::getBs).map(Float::parseFloat).collect(Collectors.toList());
        String chainResBalanceRate = MathUtil.getStandardDeviation(chainResList) * 10000 / 100 + "%";
        String bsBalanceRate = MathUtil.getStandardDeviation(bsList) * 10000 / 100 + "%";
        String chainResBalanceRate = percentInstance.format(MathUtil.getStandardDeviation(chainResList));
        String bsBalanceRate = percentInstance.format(MathUtil.getStandardDeviation(bsList));
        //获取FileParam和StationInfo
        StationInfo stationInfo = stationInfoService.getByFileId(fileId2);
        FileParam param = fileParamService.getByFileId(fileId2);