| | |
| | | } |
| | | //本年度已放电数量统计(1.2.5) |
| | | public Response getDischr5Statistic(DisChargeStic stic) { |
| | | Map<String, Object> map=new HashMap<>(); |
| | | //查询出所有的班组并赋予初始值 |
| | | setBanZuDefault(map); |
| | | //获取核容优劣,损坏参数 |
| | | List<AppParam> paramList=appParamService.getHrParam(); |
| | | Float badValue=0f; |
| | |
| | | res.setStopReason(""); |
| | | res.setCapperformance(Capperformance.getValue(Capperformance.BATTSTATE_4.getStateId())); |
| | | res.setDisChargeType(2); |
| | | if(!groupName.equals("none")){ |
| | | BanZu bz= (BanZu) map.get(groupName); |
| | | int nochargeNum=bz.getNochargeNum(); |
| | | bz.setNochargeNum(nochargeNum+1); |
| | | map.put(groupName,bz); |
| | | } |
| | | continue; |
| | | } |
| | | if(!groupName.equals("none")){ |
| | | BanZu bz= (BanZu) map.get(groupName); |
| | | int dischargeNum=bz.getDischargeNum(); |
| | | bz.setDischargeNum(dischargeNum+1); |
| | | map.put(groupName,bz); |
| | | } |
| | | |
| | | res.setTestStartTime(tinf.getTestStarttime()); |
| | | res.setTestTimelong(tinf.getTestTimelong()); |
| | | res.setTestCap(tinf.getTestCap()); |
| | |
| | | } |
| | | } |
| | | PageInfo pageInfo=PageInfoUtils.list2PageInfo(reslist, stic.getPageNum(), stic.getPageSize()); |
| | | return new Response().setIII(1,reslist.size()>0,pageInfo,map,"本年度已放电数量统计"); |
| | | return new Response().setII(1,reslist.size()>0,pageInfo,"本年度已放电数量统计"); |
| | | }//本年度已放电数量统计右侧图表(1.2.5) |
| | | public Response getDischr5Chart(Integer uid) { |
| | | //班组 |
| | | Map<String, Object> bzmap=new HashMap<>(); |
| | | //性能 |
| | | Map<Integer, Integer> xnmap=new HashMap<>(); |
| | | xnmap.put(1,0); |
| | | xnmap.put(2,0); |
| | | xnmap.put(3,0); |
| | | xnmap.put(4,0); |
| | | //查询出所有的班组并赋予初始值 |
| | | setBanZuDefault(bzmap); |
| | | //获取核容优劣,损坏参数 |
| | | List<AppParam> paramList=appParamService.getHrParam(); |
| | | Float badValue=0f; |
| | | Float damageValue=0f; |
| | | if(paramList!=null){ |
| | | for (AppParam param:paramList) { |
| | | if(param.getParamNamePsx().equals("batt_mon_deteriorate_val")){ |
| | | badValue=param.getParamValue(); |
| | | } |
| | | if(param.getParamNamePsx().equals("batt_mon_damage_val")){ |
| | | damageValue=param.getParamValue(); |
| | | } |
| | | |
| | | } |
| | | } |
| | | //1查询符合条件的电池组 |
| | | List<BattInf> binfList=battInfService.getDischrChart(uid); |
| | | if(binfList==null||binfList.size()==0){ |
| | | return new Response().set(1,false,"当前用户未管理满足条件的电池组"); |
| | | } |
| | | for (BattInf binf:binfList) { |
| | | //查询电池组所在的班组 |
| | | String groupName=bjService.getGroupName(binf.getPowerId()); |
| | | //2.获取电池组在给定时间段的放电记录(指定时间段的标准核容放电) |
| | | BatttestdataInf tinf =getLastStandardTestDataByTime(binf.getBattgroupId(),null,null); |
| | | if(tinf==null){ |
| | | int value=xnmap.get(Capperformance.BATTSTATE_4.getStateId()); |
| | | xnmap.put(Capperformance.BATTSTATE_4.getStateId(),value+1); |
| | | if(!groupName.equals("none")){ |
| | | BanZu bz= (BanZu) bzmap.get(groupName); |
| | | int nochargeNum=bz.getNochargeNum(); |
| | | bz.setNochargeNum(nochargeNum+1); |
| | | bzmap.put(groupName,bz); |
| | | } |
| | | continue; |
| | | } |
| | | if(!groupName.equals("none")){ |
| | | BanZu bz= (BanZu) bzmap.get(groupName); |
| | | int dischargeNum=bz.getDischargeNum(); |
| | | bz.setDischargeNum(dischargeNum+1); |
| | | bzmap.put(groupName,bz); |
| | | } |
| | | Float moncapStd=binf.getMoncapstd(); |
| | | int hourRate = BattCapFactory.GetHourRate(tinf.getTestCap(), tinf.getTestCurr()); |
| | | Float grouprealCap = (float) BattCapFactory.GetMonomerCap(tinf.getTestCap(), hourRate, tinf.getTestCap(), tinf.getMaxMonvol(), tinf.getMinMonvol(), tinf.getGroupVol(), BattCapFactory.CapType_Real); |
| | | if(grouprealCap>=moncapStd*badValue){ |
| | | int value=xnmap.get(Capperformance.BATTSTATE_1.getStateId()); |
| | | xnmap.put(Capperformance.BATTSTATE_1.getStateId(),value+1); |
| | | } |
| | | if(grouprealCap<=moncapStd*damageValue){ |
| | | int value=xnmap.get(Capperformance.BATTSTATE_3.getStateId()); |
| | | xnmap.put(Capperformance.BATTSTATE_3.getStateId(),value+1); |
| | | } |
| | | if((grouprealCap>moncapStd*damageValue)&&(grouprealCap<moncapStd*badValue)){ |
| | | int value=xnmap.get(Capperformance.BATTSTATE_2.getStateId()); |
| | | xnmap.put(Capperformance.BATTSTATE_2.getStateId(),value+1); |
| | | } |
| | | |
| | | } |
| | | return new Response().setIII(1,true,bzmap,xnmap,"本年度已放电数量统计"); |
| | | } |
| | | |
| | | //查询出所有的班组并赋予初始值 |
| | | private void setBanZuDefault(Map<String, Object> map) { |
| | | List<Baojigroup> banZuList=bjService.getGroupList(); |
| | |
| | | |
| | | //本年度未放电数量统计(1.2.6) |
| | | public Response getDischr6Statistic(DisChargeStic stic) { |
| | | Map<String, Object> map=new HashMap<>(); |
| | | //查询出所有的班组并赋予初始值 |
| | | setBanZuDefault(map); |
| | | |
| | | //1查询符合条件的电池组 |
| | | List<BattInf> binfList=battInfService.getDischr6Statistic(stic); |
| | | if(binfList==null||binfList.size()==0){ |
| | |
| | | reslist.add(res); |
| | | } |
| | | } |
| | | } |
| | | PageInfo pageInfo=PageInfoUtils.list2PageInfo(reslist, stic.getPageNum(), stic.getPageSize()); |
| | | return new Response().setII(1,reslist.size()>0,pageInfo,"本年度未放电数量统计"); |
| | | } |
| | | //本年度未放电数量统计右侧图表(1.2.6) |
| | | public Response getDischr6Chart(Integer uid) { |
| | | Map<String, Object> map=new HashMap<>(); |
| | | //查询出所有的班组并赋予初始值 |
| | | setBanZuDefault(map); |
| | | //1查询符合条件的电池组 |
| | | List<BattInf> binfList=battInfService.getDischrChart(uid); |
| | | if(binfList==null||binfList.size()==0){ |
| | | return new Response().set(1,false,"当前用户未管理满足条件的电池组"); |
| | | } |
| | | for (BattInf binf:binfList) { |
| | | //查询电池组所在的班组 |
| | | String groupName=bjService.getGroupName(binf.getPowerId()); |
| | | //2.获取电池组在给定时间段的放电记录(指定时间段的标准核容放电) |
| | | BatttestdataInf tinf =getLastStandardTestDataByTime(binf.getBattgroupId(),null,null); |
| | | if(tinf==null){ |
| | | if(!groupName.equals("none")){ |
| | | BanZu bz= (BanZu) map.get(groupName); |
| | |
| | | map.put(groupName,bz); |
| | | } |
| | | } |
| | | PageInfo pageInfo=PageInfoUtils.list2PageInfo(reslist, stic.getPageNum(), stic.getPageSize()); |
| | | return new Response().setIII(1,reslist.size()>0,pageInfo,map,"本年度未放电数量统计"); |
| | | return new Response().setII(1,true,map,"本年度已放电数量统计右侧图表(1.2.5)"); |
| | | } |
| | | //2.获取电池组未放电记录(指定时间段的标准核容放电) |
| | | private void getNoDischargeData(Integer battgroupId, Date testStartTime, Date testEndTime, List<Integer> typeList, SticDischarge6Res res) { |
| | |
| | | PageInfo pageInfo=PageInfoUtils.list2PageInfo(reslist, stic.getPageNum(), stic.getPageSize()); |
| | | return new Response().setII(1,reslist.size()>0,pageInfo,"电池组电池性能统计(未放电,优秀,劣化,损坏)统计(1.2.8/9/10)"); |
| | | } |
| | | |
| | | } |