| | |
| | | import com.whyc.mapper.BattTestDataStopMapper; |
| | | import com.whyc.pojo.BattTestDataStop; |
| | | import com.whyc.pojo.BatttestdataInf; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import javax.annotation.Resource; |
| | |
| | | @Resource |
| | | private BattTestDataStopMapper mapper; |
| | | |
| | | @Autowired |
| | | private SubTablePageInfoService subService; |
| | | |
| | | /**计算落后信息 |
| | | * @param battTestDataInf*/ |
| | | public BatttestdataInf calcBehindInfo(BatttestdataInf battTestDataInf) { |
| | | //筛选落后单体,计算总电压 |
| | | List<BattTestDataStop> stopList = mapper.getList(battTestDataInf.getBattGroupId(), battTestDataInf.getTestRecordCount()); |
| | | //List<BattTestDataStop> stopList = mapper.getList(battTestDataInf.getBattGroupId(), battTestDataInf.getTestRecordCount()); |
| | | List<BattTestDataStop> stopList = subService.getList(battTestDataInf.getBattGroupId(), battTestDataInf.getTestRecordCount()); |
| | | double realCap = 0;//实际容量 |
| | | double STDAH = 0;//标存容量 |
| | | int hourRate = 0;//小时率 |
| | |
| | | List<BattTestDataStop> listBehind = new ArrayList<>();//存放落后单体 |
| | | if (stopList != null && stopList.size() > 0) { |
| | | for (int i = 0; i < stopList.size(); i++) { |
| | | STDAH = battTestDataInf.getTestCurr();//标称电容 |
| | | MonomerVolType = battTestDataInf.getTestCap();//电压类型 |
| | | STDAH = battTestDataInf.getBattInf().getMonCapStd();//标称电容 |
| | | MonomerVolType = battTestDataInf.getBattInf().getMonVolStd();//电压类型 |
| | | current = stopList.get(i).getTestCurr(); |
| | | SumAH = stopList.get(i).getTestCap(); |
| | | MaxMonomerVol = battTestDataInf.getMaxMonvol();//最大电压 |
| | |
| | | } |
| | | } |
| | | //查询平均截止电压值 |
| | | Float avgVol = mapper.calcAvgVol(battTestDataInf.getBattGroupId(), battTestDataInf.getTestRecordCount()); |
| | | avgVol = BigDecimal.valueOf(avgVol).setScale(3, BigDecimal.ROUND_HALF_UP).floatValue(); |
| | | //Float avgVol = mapper.calcAvgVol(battTestDataInf.getBattGroupId(), battTestDataInf.getTestRecordCount()); |
| | | Float avgVol = subService.calcAvgVol_stop(battTestDataInf.getBattGroupId(), battTestDataInf.getTestRecordCount()); |
| | | if(avgVol!=null){ |
| | | avgVol = BigDecimal.valueOf(avgVol).setScale(3, BigDecimal.ROUND_HALF_UP).floatValue(); |
| | | battTestDataInf.setAvgVol(avgVol); |
| | | } |
| | | |
| | | //整理编号和电压 |
| | | if (stopList != null && stopList.size() > 0) { |
| | | if (listBehind != null && listBehind.size() > 0) { |
| | | //落后单体编号 |
| | | String numStrN = ""; |
| | | //落后单体电压 |
| | | String numStrV = ""; |
| | | //落后单体数 |
| | | Integer monSum = stopList.size(); |
| | | Integer monSum = listBehind.size(); |
| | | |
| | | for (int i = 0; i < stopList.size(); i++) { |
| | | for (int i = 0; i < listBehind.size(); i++) { |
| | | numStrN += ","; |
| | | numStrN += stopList.get(i).getMonNum().toString(); |
| | | numStrN += listBehind.get(i).getMonNum().toString(); |
| | | numStrV += ","; |
| | | Float mon_vol = (float) Math.round(stopList.get(i).getMonVol() * 1000) / 1000; |
| | | Float mon_vol = (float) Math.round(listBehind.get(i).getMonVol() * 1000) / 1000; |
| | | numStrV += mon_vol.toString(); |
| | | |
| | | } |
| | |
| | | battTestDataInf.setCapBehindMonCode(numStrN); |
| | | battTestDataInf.setCapBehindMonNum(monSum); |
| | | } |
| | | |
| | | battTestDataInf.setAvgVol(avgVol); |
| | | |
| | | return battTestDataInf; |
| | | } |