src/main/java/com/whyc/controller/BattCompareController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/whyc/dto/Statistic/ComPareChangeCurve.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/whyc/service/BattresdataInfService.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/whyc/service/BatttestdataInfService.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/whyc/service/SubTablePageInfoService.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/main/java/com/whyc/controller/BattCompareController.java
@@ -3,15 +3,13 @@ import com.whyc.dto.Response; import com.whyc.dto.Statistic.BattCompareStic; import com.whyc.pojo.db_user.User; import com.whyc.service.BattresdataInfService; import com.whyc.service.BatttestdataInfService; import com.whyc.util.ActionUtil; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.*; import java.text.ParseException; import java.util.Map; @@ -24,8 +22,11 @@ @Autowired private BatttestdataInfService battTinfService; @Autowired private BattresdataInfService battRinfService; @ApiOperation(value = "蓄电池组对比分析界面(同一品牌同一时间)(1.2.15)") @ApiOperation(value = "蓄电池组对比分析界面(同一时间同一品牌/同一时间不同一品牌/不同一时间同一品牌)(1.2.15/16/17)") @PostMapping("getBattCompare15Statistic") public Response getBattCompare15Statistic(@RequestBody BattCompareStic stic) throws ParseException { User uinf= ActionUtil.getUser(); @@ -38,19 +39,21 @@ return battTinfService.getBattCompare15Statistic(stic); } @ApiOperation(value = "蓄电池组对比分析界面(不同品牌同一时间)(1.2.16)") @PostMapping("getBattCompare16Statistic") public Response getBattCompare16Statistic(@RequestBody BattCompareStic stic){ User uinf= ActionUtil.getUser(); stic.setUid(uinf.getId()); return battTinfService.getBattCompare16Statistic(stic); @ApiOperation(value = "点击右侧折线图画出电池组所有完整周期的实际容量变化图(1.2.15/16/17)") @GetMapping("getRealCapChangeByBattgroupId") public Response getRealCapChangeByBattgroupId(@RequestParam Integer battgroupId){ return battTinfService.getRealCapChangeByBattgroupId(battgroupId); } @ApiOperation(value = "蓄电池组对比分析界面(同一品牌不同时间)(1.2.17)") @PostMapping("getBattCompare17Statistic") public Response getBattCompare17Statistic(@RequestBody BattCompareStic stic){ User uinf= ActionUtil.getUser(); stic.setUid(uinf.getId()); return battTinfService.getBattCompare17Statistic(stic); @ApiOperation(value = "点击右侧折线图画出电池组所有完整周期的浮充电压变化图(1.2.15/16/17)") @GetMapping("getFloatGroupVolChangeByBattgroupId") public Response getFloatGroupVolChangeByBattgroupId(@RequestParam Integer battgroupId){ return battTinfService.getFloatGroupVolChangeByBattgroupId(battgroupId); } @ApiOperation(value = "点击右侧折线图画出电池组单体的所有内阻测试单体内阻变化图(1.2.15/16/17)") @GetMapping("getMonResChangeByBattgroupId") public Response getMonResChangeByBattgroupId(@RequestParam Integer battgroupId,@RequestParam Integer monNum){ return battRinfService.getMonResChangeByBattgroupId(battgroupId,monNum); } } src/main/java/com/whyc/dto/Statistic/ComPareChangeCurve.java
New file @@ -0,0 +1,13 @@ package com.whyc.dto.Statistic; import lombok.Data; import java.util.Date; @Data public class ComPareChangeCurve { private Integer battgroupId; private Date startTime; private Float curveValue; private Integer monNum; } src/main/java/com/whyc/service/BattresdataInfService.java
@@ -2,6 +2,8 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.whyc.dto.Real.QuarterDto; import com.whyc.dto.Response; import com.whyc.dto.Statistic.ComPareChangeCurve; import com.whyc.dto.Statistic.ComPareChart; import com.whyc.mapper.BattresdataInfMapper; import com.whyc.mapper.CommonMapper; @@ -87,4 +89,23 @@ } return chart; } //点击右侧折线图画出电池组单体的所有内阻测试单体内阻变化图(1.2.15/16/17) public Response getMonResChangeByBattgroupId(Integer battgroupId, Integer monNum) { QueryWrapper wrapper = new QueryWrapper(); wrapper.eq("battgroup_id", battgroupId); wrapper.last(" ORDER BY test_starttime asc "); List<BattresdataInf> list = mapper.selectList(wrapper); List<ComPareChangeCurve> curvelist=new ArrayList<>(); for (BattresdataInf rinf:list) { String existTableName = commonMapper.existTable("db_batt_testdata", "tb_battresdata_"+battgroupId); if(existTableName != null){ //取内阻测试指定单体的单体电压 ComPareChangeCurve curve=subTablePageInfoService.getMonResChangeByBattgroupId(battgroupId,rinf.getTestRecordCount(),monNum); if(curve!=null){ curvelist.add(curve); } } } return new Response().setII(1,list.size()>0,curvelist,"点击右侧折线图画出电池组单体的所有内阻测试单体内阻变化图(1.2.15/16/17)"); } } src/main/java/com/whyc/service/BatttestdataInfService.java
@@ -289,6 +289,7 @@ map.put("standCapDiff",0f); Float sumCap=0f; Float maxCap=0f; Float minCap=0f; Float standCapDiff=0f; List<ComPareChart> capList=new ArrayList<>(); List<ComPareChart> resList=new ArrayList<>(); @@ -354,9 +355,11 @@ String precentCap = String.format("%.5f",(grouprealCap/binf.getMoncapstd()*100)); res.setPrecentCap(precentCap); sumCap+=grouprealCap; standCapDiff=grouprealCap-maxCap; if(grouprealCap>=maxCap){ maxCap=grouprealCap; } if(grouprealCap<=minCap){ minCap=grouprealCap; } } } @@ -382,7 +385,7 @@ resList.add(resChart); } map.put("avgCap",sumCap/binfList.size()); map.put("standCapDiff",standCapDiff); map.put("standCapDiff",maxCap-minCap); PageInfo pageInfo=PageInfoUtils.list2PageInfo(comparelist, stic.getPageNum(), stic.getPageSize()); return new Response().setIII(1,comparelist.size()>0,pageInfo,map,"蓄电池组对比分析界面(同一品牌同一时间)"); @@ -1045,4 +1048,46 @@ wrapper.last(" limit 1"); return mapper.selectOne(wrapper); } //点击右侧折线图画出电池组所有完整周期的实际容量变化图(1.2.15/16/17) public Response getRealCapChangeByBattgroupId(Integer battgroupId) { QueryWrapper wrapper = new QueryWrapper(); wrapper.eq("battgroup_id", battgroupId); wrapper.eq("test_type", 3); wrapper.eq("test_starttype", 3); wrapper.eq("data_available", 1);//一次有效的记录 wrapper.last(" ORDER BY test_starttime DESC "); List<BatttestdataInf> list = mapper.selectList(wrapper); //获取电池组的标称容量 BattInf binf=battInfService.getBattgroupIdInf(battgroupId); List<ComPareChangeCurve> curvelist=new ArrayList<>(); for (BatttestdataInf tinf:list) { int hourRate = BattCapFactory.GetHourRate(tinf.getTestCap(), tinf.getTestCurr()); Float realCap = (float) BattCapFactory.GetMonomerCap(binf.getMoncapstd(), hourRate, tinf.getTestCap(), tinf.getMaxMonvol(), tinf.getMinMonvol(), tinf.getGroupVol(), BattCapFactory.CapType_Real); ComPareChangeCurve curve=new ComPareChangeCurve(); curve.setBattgroupId(battgroupId); curve.setStartTime(tinf.getTestStarttime()); curve.setCurveValue(realCap); curvelist.add(curve); } return new Response().setII(1,list.size()>0,curvelist,"点击右侧折线图画出电池组所有完整周期的实际容量变化图(1.2.15/16/17)"); } //点击右侧折线图画出电池组所有完整周期的浮充电压变化图(1.2.15/16/17) public Response getFloatGroupVolChangeByBattgroupId(Integer battgroupId) { QueryWrapper wrapper = new QueryWrapper(); wrapper.eq("battgroup_id", battgroupId); wrapper.eq("test_type", 3); wrapper.eq("test_starttype", 3); wrapper.eq("data_available", 1);//一次有效的记录 wrapper.last(" ORDER BY test_starttime asc "); List<BatttestdataInf> list = mapper.selectList(wrapper); List<ComPareChangeCurve> curvelist=new ArrayList<>(); for (BatttestdataInf tinf:list) { ComPareChangeCurve curve=new ComPareChangeCurve(); curve.setBattgroupId(battgroupId); curve.setStartTime(tinf.getTestStarttime()); curve.setCurveValue(tinf.getFloatGroupVol()); curvelist.add(curve); } return new Response().setII(1,list.size()>0,curvelist,"点击右侧折线图画出电池组所有完整周期的浮充电压变化图(1.2.15/16/17)"); } } src/main/java/com/whyc/service/SubTablePageInfoService.java
@@ -5,6 +5,7 @@ import com.whyc.dto.AlmHis.PwrAlmPar; import com.whyc.dto.AnalysisAlm.ResAnalysis; import com.whyc.dto.Real.*; import com.whyc.dto.Statistic.ComPareChangeCurve; import com.whyc.dto.Statistic.ComPareChart; import com.whyc.dto.Statistic.QuarterPwr7Res; import com.whyc.mapper.CallBack; @@ -557,6 +558,30 @@ }); return list; } //取内阻测试指定单体的单体电压 public ComPareChangeCurve getMonResChangeByBattgroupId(Integer battgroupId, Integer testRecordCount, Integer monNum) { String sql="select distinct battgroup_id,mon_num,test_starttime,mon_res from db_batt_testdata.tb_battresdata_"+battgroupId +" where test_record_count="+testRecordCount+" and monNum="+monNum; List<ComPareChangeCurve> list = sqlExecuteService.executeQuery_call(sql, new CallBack() { @Override public List getResults(ResultSet rs) throws SQLException { List<ComPareChangeCurve> list=new ArrayList<>(); while (rs.next()){ ComPareChangeCurve data=new ComPareChangeCurve(); data.setMonNum(rs.getInt("mon_num")); data.setCurveValue(rs.getFloat("mon_res")); data.setStartTime(rs.getTimestamp("test_starttime")); data.setBattgroupId(rs.getInt("battgroup_id")); list.add(data); } return list; } }); if(list!=null&&list.size()>0){ return list.get(0); } return null; } //找这次放电的指定一笔数据 public List<BatttestdataId> getLastDataByBattgroupId(Integer battgroupId, Integer testRecordCount, Integer recordNum) { String sql="select distinct * from db_batt_testdata.tb_batttestdata_"+battgroupId @@ -1104,4 +1129,5 @@ }); return list; } }