From 35764901d6a63ee5427ab2f07b76ca3827be3f43 Mon Sep 17 00:00:00 2001 From: whyclxw <810412026@qq.com> Date: 星期二, 10 六月 2025 18:21:04 +0800 Subject: [PATCH] 电池组电池性能统计(未放电,优秀,劣化,损坏)统计(1.2.8/9/10) --- src/main/java/com/whyc/service/BattInfService.java | 9 ++-- src/main/java/com/whyc/service/BatttestdataInfService.java | 50 ++++++++----------------- src/main/java/com/whyc/dto/Statistic/PerformanceRes.java | 19 +++++++++ src/main/java/com/whyc/mapper/BattInfMapper.java | 7 +-- src/main/resources/mapper/BattInfMapper.xml | 28 ++++++++++++++ 5 files changed, 71 insertions(+), 42 deletions(-) diff --git a/src/main/java/com/whyc/dto/Statistic/PerformanceRes.java b/src/main/java/com/whyc/dto/Statistic/PerformanceRes.java new file mode 100644 index 0000000..4c931cb --- /dev/null +++ b/src/main/java/com/whyc/dto/Statistic/PerformanceRes.java @@ -0,0 +1,19 @@ +package com.whyc.dto.Statistic; + +import lombok.Data; + +@Data +public class PerformanceRes { + private String provice; + private String city; + private String country; + private String stationName; + private String battgroupName; + private Float monvolstd; + private Float moncapstd; + private Float moncount; + private String product; + private Integer inuseYear; + private Float realCap; //瀹為檯瀹归噺 + private String capperformance; //鎬ц兘 +} \ No newline at end of file diff --git a/src/main/java/com/whyc/mapper/BattInfMapper.java b/src/main/java/com/whyc/mapper/BattInfMapper.java index 46b3234..b214255 100644 --- a/src/main/java/com/whyc/mapper/BattInfMapper.java +++ b/src/main/java/com/whyc/mapper/BattInfMapper.java @@ -2,10 +2,7 @@ import com.whyc.dto.BattDto; import com.whyc.dto.InfoDto; -import com.whyc.dto.Statistic.BattCompareStic; -import com.whyc.dto.Statistic.DisChargeStic; -import com.whyc.dto.Statistic.MonStic; -import com.whyc.dto.Statistic.StationStic; +import com.whyc.dto.Statistic.*; import com.whyc.pojo.db_station.BattInf; import org.apache.ibatis.annotations.Param; @@ -52,4 +49,6 @@ List<BattInf> getDischr5Statistic(@Param("stic") DisChargeStic stic); //鏈勾搴﹀凡鏀剧數鏁伴噺缁熻(1.2.6) List<BattInf> getDischr6Statistic(@Param("stic") DisChargeStic stic); + //鐢垫睜缁勭數姹犳�ц兘缁熻锛堟湭鏀剧數锛屼紭绉�锛屽姡鍖栵紝鎹熷潖锛夌粺璁�(1.2.8/9/10) + List<BattInf> getPerformanceStatistic(@Param("stic") PerformanceStic stic); } \ No newline at end of file diff --git a/src/main/java/com/whyc/service/BattInfService.java b/src/main/java/com/whyc/service/BattInfService.java index eeea2e3..c027615 100644 --- a/src/main/java/com/whyc/service/BattInfService.java +++ b/src/main/java/com/whyc/service/BattInfService.java @@ -10,10 +10,7 @@ import com.whyc.dto.InfoDto; import com.whyc.dto.Real.QuarterDto; import com.whyc.dto.Response; -import com.whyc.dto.Statistic.BattCompareStic; -import com.whyc.dto.Statistic.DisChargeStic; -import com.whyc.dto.Statistic.MonStic; -import com.whyc.dto.Statistic.StationStic; +import com.whyc.dto.Statistic.*; import com.whyc.factory.InfoFactory; import com.whyc.mapper.BattInfMapper; import com.whyc.mapper.PowerInfMapper; @@ -468,4 +465,8 @@ public List<BattInf> getDischr6Statistic(DisChargeStic stic) { return mapper.getDischr6Statistic(stic); } + //鐢垫睜缁勭數姹犳�ц兘缁熻锛堟湭鏀剧數锛屼紭绉�锛屽姡鍖栵紝鎹熷潖锛夌粺璁�(1.2.8/9/10) + public List<BattInf> getPerformanceStatistic(PerformanceStic stic) { + return mapper.getPerformanceStatistic(stic); + } } \ No newline at end of file diff --git a/src/main/java/com/whyc/service/BatttestdataInfService.java b/src/main/java/com/whyc/service/BatttestdataInfService.java index 9f9835b..c1cea22 100644 --- a/src/main/java/com/whyc/service/BatttestdataInfService.java +++ b/src/main/java/com/whyc/service/BatttestdataInfService.java @@ -18,6 +18,7 @@ import com.whyc.pojo.db_ram_db.BattRtstate; import com.whyc.pojo.db_station.BattInf; import com.whyc.pojo.db_user.Baojigroup; +import com.whyc.util.ActionUtil; import com.whyc.util.PageInfoUtils; import com.whyc.util.ThreadLocalUtil; import org.springframework.beans.factory.annotation.Autowired; @@ -793,7 +794,7 @@ } //鐢垫睜缁勭數姹犳�ц兘缁熻锛堟湭鏀剧數锛屼紭绉�锛屽姡鍖栵紝鎹熷潖锛夌粺璁�(1.2.8/9/10) public Response getPerformanceStatistic(PerformanceStic stic) { - /*//鑾峰彇鏍稿浼樺姡锛屾崯鍧忓弬鏁� + //鑾峰彇鏍稿浼樺姡锛屾崯鍧忓弬鏁� List<AppParam> paramList=appParamService.getHrParam(); Float badValue=0f; Float damageValue=0f; @@ -809,31 +810,34 @@ } } //1鏌ヨ绗﹀悎鏉′欢鐨勭數姹犵粍 - List<BattInf> binfList=battInfService.getBattCompare15Statistic(stic); + List<BattInf> binfList=battInfService.getPerformanceStatistic(stic); if(binfList==null||binfList.size()==0){ return new Response().set(1,false,"褰撳墠鐢ㄦ埛鏈鐞嗘弧瓒虫潯浠剁殑鐢垫睜缁�"); } - List<SticCompare15Res> reslist=new ArrayList<>(); + List<PerformanceRes> reslist=new ArrayList<>(); for (BattInf binf:binfList) { - SticCompare15Res res=new SticCompare15Res(); + PerformanceRes res=new PerformanceRes(); res.setProvice(binf.getProvice()); res.setCity(binf.getCity()); res.setCountry(binf.getCountry()); res.setStationName(binf.getStationName()); res.setBattgroupName(binf.getBattgroupName()); - res.setDevName(binf.getDevName()); res.setProduct(binf.getProduct()); - res.setInuseTime(binf.getInuseTime()); + res.setInuseYear(ActionUtil.getDateYear(new Date())-ActionUtil.getDateYear(binf.getInuseTime())); res.setMonvolstd(binf.getMonvolstd()); - res.setStationId(binf.getStationId()); - res.setPowerId(binf.getPowerId()); - res.setDevId(binf.getDevId()); - res.setBattgroupId(binf.getBattgroupId()); + res.setMoncapstd(binf.getMoncapstd()); + res.setMoncount(binf.getMoncount()); //2.鑾峰彇鐢垫睜缁勫湪缁欏畾鏃堕棿娈电殑鏀剧數璁板綍(鎸囧畾鏃堕棿娈电殑鏍囧噯鏍稿鏀剧數) BatttestdataInf tinf =getLastStandardTestDataByTime(binf.getBattgroupId(),stic.getTestStartTime(),stic.getTestEndTime()); + if(stic.getPerformance()==null){ + reslist.add(res); + }else{ + if(res.getCapperformance().equals(Capperformance.getValue(stic.getPerformance()))){ + reslist.add(res); + } + } if(tinf==null){ res.setRealCap(0f); - res.setPrecentCap("0"); res.setCapperformance(Capperformance.getValue(Capperformance.BATTSTATE_4.getStateId())); continue; } @@ -841,14 +845,12 @@ List<BatttestdataId> idDataList=battTestdataIdService.getLastDataByBattgroupId(tinf.getBattgroupId(),tinf.getTestRecordCount(),tinf.getRecordNum()); if(idDataList==null||idDataList.size()==0){ res.setRealCap(0f); - res.setPrecentCap("0"); res.setCapperformance(Capperformance.getValue(Capperformance.BATTSTATE_4.getStateId())); continue; } 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); - //Float restCap = (float) BattCapFactory.GetMonomerCap(tinf.getTestCap(), hourRate, tinf.getTestCap(), tinf.getMaxMonvol(), tinf.getMinMonvol(), tinf.getGroupVol(), BattCapFactory.CapType_Rest); res.setRealCap(grouprealCap); if(grouprealCap>=moncapStd*badValue){ res.setCapperformance(Capperformance.getValue(Capperformance.BATTSTATE_1.getStateId())); @@ -859,28 +861,8 @@ if((grouprealCap>moncapStd*damageValue)&&(grouprealCap<moncapStd*badValue)){ res.setCapperformance(Capperformance.getValue(Capperformance.BATTSTATE_2.getStateId())); } - //淇濈暀5浣嶅皬鏁� - String precentCap = String.format("%.5f",(grouprealCap/binf.getMoncapstd()*100)); - res.setPrecentCap(precentCap); - List<Integer> monNums=new ArrayList<>(); - for (BatttestdataId data:idDataList) {//姹傚崟浣撶殑 瀹為檯瀹归噺锛屾渶灏忓�煎氨鏄崟浣撶殑鍗曚綋鐢靛帇 - Float monrealCap = (float) BattCapFactory.GetMonomerCap(tinf.getTestCap(), hourRate, tinf.getTestCap(), tinf.getMaxMonvol(), data.getMonVol(), tinf.getGroupVol(), BattCapFactory.CapType_Real); - if (monrealCap <= moncapStd * damageValue) {//鎹熷潖鐨� - monNums.add(data.getMonNum()); - } - } - res.setMonNums(monNums); - if(stic.getPerformance()==null){ - reslist.add(res); - }else{ - if(res.getCapperformance().equals(Capperformance.getValue(stic.getPerformance()))){ - reslist.add(res); - } - } - } PageInfo pageInfo=PageInfoUtils.list2PageInfo(reslist, stic.getPageNum(), stic.getPageSize()); - return new Response().setII(1,reslist.size()>0,pageInfo,"钃勭數姹犵粍瀵规瘮鍒嗘瀽鐣岄潰锛堝悓涓�鍝佺墝鍚屼竴鏃堕棿锛�");*/ - return null; + return new Response().setII(1,reslist.size()>0,pageInfo,"鐢垫睜缁勭數姹犳�ц兘缁熻锛堟湭鏀剧數锛屼紭绉�锛屽姡鍖栵紝鎹熷潖锛夌粺璁�(1.2.8/9/10)"); } } \ No newline at end of file diff --git a/src/main/resources/mapper/BattInfMapper.xml b/src/main/resources/mapper/BattInfMapper.xml index 5886e22..1abbd67 100644 --- a/src/main/resources/mapper/BattInfMapper.xml +++ b/src/main/resources/mapper/BattInfMapper.xml @@ -374,4 +374,32 @@ order by tb_batt_inf.dev_id asc,battgroup_id asc </where> </select> + <select id="getPerformanceStatistic" resultType="com.whyc.pojo.db_station.BattInf"> + select distinct tb_batt_inf.* + ,tb_station_inf.station_type,tb_station_inf.station_name,tb_station_inf.provice,tb_station_inf.city,tb_station_inf.country,tb_station_inf.full_name + from db_station.tb_batt_inf,db_station.tb_station_inf + <where> + tb_batt_inf.station_id=tb_station_inf.station_id + <if test="stic.provice!=null"> + and tb_station_inf.provice=#{stic.provice} + </if> + <if test="stic.city!=null"> + and tb_station_inf.city=#{stic.city} + </if> + <if test="stic.country!=null"> + and tb_station_inf.country=#{stic.country} + </if> + <if test="stic.stationName!=null"> + and tb_station_inf.station_name=#{stic.stationName} + </if> + <if test="stic.uid>100"> + and tb_batt_inf.station_id in( + select distinct station_id from db_user.tb_baojigroup_power,db_user.tb_baojigroup_usr + where tb_baojigroup_power.baoji_group_id=tb_baojigroup_usr.baoji_group_id + and tb_baojigroup_usr.uid=#{stic.uid} + ) + </if> + order by tb_batt_inf.dev_id asc,battgroup_id asc + </where> + </select> </mapper> \ No newline at end of file -- Gitblit v1.9.1