| | |
| | | return info; |
| | | } |
| | | //Float stdVol = param.getBattVol(); |
| | | Float stdCap = param.getBattCap(); |
| | | Float stdRes = param.getBattRes(); |
| | | Float volLowCoeK1 = null; |
| | | Float volHighCoeK2 = null; |
| | |
| | | volLowCoeK1 = param2.getVol6LowCoeK1(); |
| | | volHighCoeK2 = param2.getVol6HighCoeK2(); |
| | | } |
| | | else{ |
| | | else if(param.getBattVol() == 12){ |
| | | volLowCoeK1 = param2.getVol12LowCoeK1(); |
| | | volHighCoeK2 = param2.getVol12HighCoeK2(); |
| | | }else{ //电压非常规值,则默认设置为2v的电压阈值 |
| | | volLowCoeK1 = param2.getVol2LowCoeK1(); |
| | | volHighCoeK2 = param2.getVol2HighCoeK2(); |
| | | } |
| | | Float resGoodCoeK3 = param2.getResGoodCoeK3(); |
| | | Float resBadCoeK4 = param2.getResBadCoeK4(); |
| | |
| | | dataList.forEach(data->{ |
| | | //判断处理阈值 |
| | | Float br = Float.parseFloat(data.getBr()); |
| | | Float bs = Float.parseFloat(data.getBs()); |
| | | Float bv = Float.parseFloat(data.getBv()); |
| | | Float cr = Float.parseFloat(data.getCr()); //连接条阻抗 |
| | | |
| | | if(bv < finalVolLowCoeK){ |
| | | if(bv!=0.0 && bv <= finalVolLowCoeK){ |
| | | data.setLowVolFlag(true); |
| | | }else if(bv > finalVolHighCoeK){ |
| | | }else if(bv >= finalVolHighCoeK){ |
| | | data.setHighVolFlag(true); |
| | | } |
| | | |
| | | if(br > stdRes*resGoodCoeK3/100){ |
| | | if(br > stdRes*resBadCoeK4/100){ |
| | | if(br >= stdRes*resGoodCoeK3/100){ |
| | | if(br >= stdRes*resBadCoeK4/100){ |
| | | data.setHighResFlag2(true); |
| | | }else{ |
| | | data.setHighResFlag1(true); |
| | | } |
| | | } |
| | | |
| | | if(cr > chainRes*param2.getChainResCoeK5()/100){ |
| | | if(cr > chainRes*param2.getChainResChange()/100) { |
| | | if(bs <= (1/stdRes)*param2.getSerGoodCoeK6()/100){ |
| | | if(bs >= chainRes*param2.getSerBadCoeK7()/100) { |
| | | data.setHighSerFlag1(true); |
| | | }else { |
| | | data.setHighSerFlag2(true); |
| | | } |
| | | } |
| | | if(cr >= chainRes*param2.getChainResCoeK5()/100){ |
| | | if(cr >= chainRes*param2.getChainResChange()/100) { |
| | | data.setHighChainResFlag2(true); |
| | | }else { |
| | | data.setHighChainResFlag1(true); |
| | | } |
| | | } |
| | | /*//预估容量 |
| | | if(stdRes==0){ |
| | | data.setEstimatedCap(stdCap); |
| | | }else{ |
| | | float resRate = stdRes/br; |
| | | if(resRate<=0.5f){ |
| | | data.setEstimatedCap(0f); |
| | | }else { |
| | | data.setEstimatedCap(stdRes / br * stdCap); |
| | | } |
| | | }*/ |
| | | float preCapPercent=MathUtil.getPreCapTest(Float.valueOf(br),stdRes); |
| | | //容量百分比修改 |
| | | data.setPreCapPercent(preCapPercent); |
| | | //预估容量 |
| | | data.setEstimatedCap(preCapPercent*stdCap); |
| | | //内阻偏差率 |
| | | float resDevRate=(Float.valueOf(br)-stdRes)/stdRes; |
| | | data.setResDevRate(resDevRate); |
| | | }); |
| | | |
| | | info.setDataList(dataList); |
| | |
| | | } |
| | | } |
| | | //将均一性值,也进行变化率计算 |
| | | float brFloat = BigDecimal.valueOf(sdBr).subtract(BigDecimal.valueOf(sdBaseBr)).divide(BigDecimal.valueOf(sdBaseBr),4, BigDecimal.ROUND_HALF_UP).floatValue(); |
| | | //均一性暂时取消,去除 |
| | | /*float brFloat = BigDecimal.valueOf(sdBr).subtract(BigDecimal.valueOf(sdBaseBr)).divide(BigDecimal.valueOf(sdBaseBr),4, BigDecimal.ROUND_HALF_UP).floatValue(); |
| | | 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(percentInstance.format(bvFloat)); |
| | | volChangeRate.add(percentInstance.format(bvFloat));*/ |
| | | |
| | | map.put("resChangeRate",resChangeRate); |
| | | map.put("volChangeRate",volChangeRate); |