| | |
| | | }else{ |
| | | map.put("wj", "W"); |
| | | } |
| | | |
| | | }else{ |
| | | map.put("wj", "J"); |
| | | } |
| | |
| | | int goodSum = 0; |
| | | //未正常 |
| | | int noHrDisNum = 0; |
| | | //实际容量 |
| | | float cap = 0f; |
| | | |
| | | //去年的数据---------------- |
| | | //小于capAlarm |
| | | int oldalarmNum = 0; |
| | |
| | | int oldgoodSum = 0; |
| | | //未正常 |
| | | int oldnoHrDisNum = 0; |
| | | //实际容量去年 |
| | | float oldcap = 0f; |
| | | |
| | | //0.查询所有的电池组 |
| | | List<Battinf> binfList = binfMapper.getBinfList(userId); |
| | | if (binfList != null && binfList.size() > 0) { |
| | | for (Battinf binf : binfList) { |
| | | //实际容量 |
| | | float cap = 0f; |
| | | //实际容量去年 |
| | | float oldcap = 0f; |
| | | int battgroupId = binf.getBattGroupId(); |
| | | float monCapStd = binf.getMonCapStd(); |
| | | float monVolstd = binf.getMonVolStd(); |
| | |
| | | int goodSum = 0; |
| | | //未正常 |
| | | int noHrDisNum = 0; |
| | | //实际容量 |
| | | float cap = 0f; |
| | | |
| | | //去年的数据---------------- |
| | | //小于capAlarm |
| | | int oldalarmNum = 0; |
| | |
| | | int oldgoodSum = 0; |
| | | //未正常 |
| | | int oldnoHrDisNum = 0; |
| | | //实际容量去年 |
| | | float oldcap = 0f; |
| | | |
| | | //0.查询所有的电池组 |
| | | List<Battinf> binfList = binfMapper.getBinfList(userId); |
| | | if (binfList != null && binfList.size() > 0) { |
| | | for (Battinf binf : binfList) { |
| | | int battgroupId = binf.getBattGroupId(); |
| | | float monCapStd = binf.getMonCapStd(); |
| | | float monVolstd = binf.getMonVolStd(); |
| | | //实际容量 |
| | | float cap = 0f; |
| | | float oldcap = 0f; |
| | | //标记本年 |
| | | int flagWJ=0; |
| | | int oldflagWJ=0; |
| | | |
| | | //放电次数 |
| | | int disNum = 0; |
| | | int olddisNum = 0; |
| | | |
| | | int battgroupId = binf.getBattGroupId(); |
| | | float monCapStd = binf.getMonCapStd(); |
| | | float monVolstd = binf.getMonVolStd(); |
| | | |
| | | //1.查出符合条件的电池组(核容数据)按照时间倒叙排序的第一个(本年度) |
| | | BatttestdataInf inf = mapper.getGroupAnalysisQB_WJ(battgroupId,nowDateStart,nowDateEnd); |
| | | //1.查出符合条件的电池组(核容数据)按照时间倒叙排序的第一个(上一年度) |
| | | BatttestdataInf oldinf = mapper.getGroupAnalysisQBOld_WJ(battgroupId,oldDate); |
| | | if (inf != null) { |
| | | disNum=1; |
| | | flagWJ=1; |
| | | int hourRate = BattCapFactory.GetHourRate(monCapStd, inf.getTestCurr()); |
| | | cap = (float) BattCapFactory.GetMonomerCap(monCapStd, hourRate, inf.getTestCap(), inf.getMaxMonvol(), inf.getMinMonvol(), monVolstd, BattCapFactory.CapType_Real); |
| | | } |
| | | if(oldinf!=null){ |
| | | olddisNum=1; |
| | | oldflagWJ=1; |
| | | int oldhourRate = BattCapFactory.GetHourRate(monCapStd, oldinf.getTestCurr()); |
| | | oldcap = (float) BattCapFactory.GetMonomerCap(monCapStd, oldhourRate, oldinf.getTestCap(), oldinf.getMaxMonvol(), oldinf.getMinMonvol(), monVolstd, BattCapFactory.CapType_Real); |
| | | } |
| | | //查询电池告警内阻告警 |
| | | List listALmRes = alarmDataMapper.getAlm2(battgroupId); |
| | | //未放电:本年度未放电,且无内阻告警<13,14>(预告警(重要),告警(紧急))-----本年度 |
| | | if( (disNum==0) ){ |
| | | noHrDisNum+=1; |
| | | } |
| | | //优秀:本年度已放电,且容量健康,无内阻告警(预告警(重要),告警(紧急)) |
| | | if( (disNum>0)&&(cap > capAlarm * monCapStd)&&(listALmRes.size()<=0)){ |
| | | goodSum+=1; |
| | | } |
| | | /*劣化:本年度未放电,内阻告警(预告警(重要),告警(紧急)) |
| | | *容量小于劣化阈值,大于损坏阈值,内阻告警(预告警,告警) |
| | | * 容量小于劣化阈值,内阻正常 |
| | | * 容量正常,内阻告警(预告警,告警) |
| | | */ |
| | | if (((disNum==0)&&(listALmRes.size()>0)) |
| | | ||((disNum>0)&&(cap <= capAlarm * monCapStd && cap >= capChange * monCapStd)&&(listALmRes.size()>0)) |
| | | ||((disNum>0)&&(cap <= capAlarm * monCapStd)&&(listALmRes.size()<=0)) |
| | | ||(disNum>0)&&(cap > capAlarm * monCapStd)&&(listALmRes.size()>0)){ |
| | | alarmNum+=1; |
| | | } |
| | | //损坏:容量低,内阻告警 |
| | | if((disNum!=0)&&(cap< capChange * monCapStd)&&(listALmRes.size()>0)){ |
| | | changeNum+=1; |
| | | } |
| | | if(flagWJ==1){ |
| | | //未放电:本年度未放电,且无内阻告警<13,14>(预告警(重要),告警(紧急))-----本年度 |
| | | if( (disNum==0) ){ |
| | | noHrDisNum+=1; |
| | | } |
| | | //优秀:本年度已放电,且容量健康,无内阻告警(预告警(重要),告警(紧急)) |
| | | if( (disNum>0)&&(cap > capAlarm * monCapStd)&&(listALmRes.size()<=0)){ |
| | | goodSum+=1; |
| | | } |
| | | /*劣化:本年度未放电,内阻告警(预告警(重要),告警(紧急)) |
| | | *容量小于劣化阈值,大于损坏阈值,内阻告警(预告警,告警) |
| | | * 容量小于劣化阈值,内阻正常 |
| | | * 容量正常,内阻告警(预告警,告警) |
| | | */ |
| | | if (((disNum==0)&&(listALmRes.size()>0)) |
| | | ||((disNum>0)&&(cap <= capAlarm * monCapStd && cap >= capChange * monCapStd)&&(listALmRes.size()>0)) |
| | | ||((disNum>0)&&(cap <= capAlarm * monCapStd)&&(listALmRes.size()<=0)) |
| | | ||(disNum>0)&&(cap > capAlarm * monCapStd)&&(listALmRes.size()>0)){ |
| | | alarmNum+=1; |
| | | } |
| | | //损坏:容量低,内阻告警 |
| | | if((disNum>0)&&(cap< capChange * monCapStd)&&(listALmRes.size()>0)){ |
| | | changeNum+=1; |
| | | } |
| | | |
| | | //未放电:本年度未放电,且无内阻告警<13,14>(预告警(重要),告警(紧急))-----其他年度 |
| | | if( (olddisNum==0) ){ |
| | | oldnoHrDisNum+=1; |
| | | } |
| | | //优秀:本年度已放电,且容量健康,无内阻告警(预告警(重要),告警(紧急)) |
| | | if( (olddisNum>0)&&(oldcap > capAlarm * monCapStd)&&(listALmRes.size()<=0)){ |
| | | oldgoodSum+=1; |
| | | } |
| | | /*劣化:本年度未放电,内阻告警(预告警(重要),告警(紧急)) |
| | | *容量小于劣化阈值,大于损坏阈值,内阻告警(预告警,告警) |
| | | * 容量小于劣化阈值,内阻正常 |
| | | * 容量正常,内阻告警(预告警,告警) |
| | | */ |
| | | if (((olddisNum==0)&&(listALmRes.size()>0)) |
| | | ||((olddisNum>0)&&(oldcap <= capAlarm * monCapStd && oldcap >= capChange * monCapStd)&&(listALmRes.size()>0)) |
| | | ||((olddisNum>0)&&(oldcap <= capAlarm * monCapStd)&&(listALmRes.size()<=0)) |
| | | ||(olddisNum>0)&&(oldcap > capAlarm * monCapStd)&&(listALmRes.size()>0)){ |
| | | oldalarmNum+=1; |
| | | } |
| | | //损坏:容量低,内阻告警 |
| | | if((olddisNum!=0)&&(oldcap< capChange * monCapStd)&&(listALmRes.size()>0)){ |
| | | oldchangeNum+=1; |
| | | if(oldflagWJ==1){ |
| | | //未放电:本年度未放电,且无内阻告警<13,14>(预告警(重要),告警(紧急))-----其他年度 |
| | | if( (olddisNum==0) ){ |
| | | oldnoHrDisNum+=1; |
| | | } |
| | | //优秀:本年度已放电,且容量健康,无内阻告警(预告警(重要),告警(紧急)) |
| | | if( (olddisNum>0)&&(oldcap > capAlarm * monCapStd)&&(listALmRes.size()<=0)){ |
| | | oldgoodSum+=1; |
| | | } |
| | | /*劣化:本年度未放电,内阻告警(预告警(重要),告警(紧急)) |
| | | *容量小于劣化阈值,大于损坏阈值,内阻告警(预告警,告警) |
| | | * 容量小于劣化阈值,内阻正常 |
| | | * 容量正常,内阻告警(预告警,告警) |
| | | */ |
| | | if (((olddisNum==0)&&(listALmRes.size()>0)) |
| | | ||((olddisNum>0)&&(oldcap <= capAlarm * monCapStd && oldcap >= capChange * monCapStd)&&(listALmRes.size()>0)) |
| | | ||((olddisNum>0)&&(oldcap <= capAlarm * monCapStd)&&(listALmRes.size()<=0)) |
| | | ||(olddisNum>0)&&(oldcap > capAlarm * monCapStd)&&(listALmRes.size()>0)){ |
| | | oldalarmNum+=1; |
| | | } |
| | | //损坏:容量低,内阻告警 |
| | | if((olddisNum>0)&&(oldcap< capChange * monCapStd)&&(listALmRes.size()>0)){ |
| | | oldchangeNum+=1; |
| | | } |
| | | } |
| | | |
| | | } |