| | |
| | | package com.whyc.service; |
| | | |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import com.whyc.dto.BattCapFactory; |
| | | import com.whyc.dto.Response; |
| | | import com.whyc.mapper.BattTestInfDataMapper; |
| | | import com.whyc.pojo.BattTestInfData; |
| | | import com.whyc.mapper.CallBack; |
| | | import com.whyc.pojo.db_batt.PowerInf; |
| | | import com.whyc.pojo.db_dis_batt.BattTestInf; |
| | | import com.whyc.pojo.db_dis_batt.BattTestInfData; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import java.sql.ResultSet; |
| | | import java.sql.SQLException; |
| | | import java.util.LinkedList; |
| | | import java.util.List; |
| | | |
| | | @Service |
| | | public class BattTestInfDataService { |
| | | @Autowired(required = false) |
| | | private BattTestInfDataMapper mapper; |
| | | |
| | | @Autowired |
| | | private SubTableService service; |
| | | private JdbcSqlExecuteService jdbcSqlExecuteService; |
| | | |
| | | //根据充放电记录查询单体放电历史详情 |
| | | public Response getTDataHis(int binfId, int testRecordCount) { |
| | | List<BattTestInfData> list=service.getTDataHis(binfId,testRecordCount); |
| | | return new Response().setII(1,list!=null,list,"根据充放电记录查询单体放电历史详情"); |
| | | @Autowired |
| | | private BattTestInfService battTestInfService; |
| | | |
| | | @Autowired |
| | | private PowerInfService powerInfService; |
| | | |
| | | public Response getMonTestData(int battGroupId) { |
| | | //查询最近一次的放电记录 |
| | | BattTestInf battTestInf =battTestInfService.getDischargeLast(battGroupId); |
| | | PowerInf powerInf =powerInfService.getByBattGroupId(battGroupId); |
| | | Float monCapStd = powerInf.getMonCap(); |
| | | Float monVolStd = powerInf.getMonVol(); |
| | | List<BattTestInfData> list = new LinkedList<>(); |
| | | if (battTestInf !=null){ |
| | | Integer testRecordCount = battTestInf.getTestRecordCount(); |
| | | Integer recordNum = battTestInf.getRecordNum(); |
| | | String sql = "select * from db_dis_batt.batt_test_inf_"+battGroupId+" where test_record_count ="+testRecordCount + " and record_num ="+recordNum; |
| | | list = jdbcSqlExecuteService.executeQuery_call(sql, new CallBack<BattTestInfData>() { |
| | | @Override |
| | | public List<BattTestInfData> getResults(ResultSet rs) throws SQLException { |
| | | List<BattTestInfData> list = new LinkedList<>(); |
| | | while (rs.next()) { |
| | | BattTestInfData data = new BattTestInfData(); |
| | | data.setRecordTime(rs.getTimestamp("record_time")); |
| | | data.setTestStarttime(rs.getTimestamp("test_starttime")); |
| | | data.setTestTimelong(rs.getInt("test_timelong")); |
| | | data.setOnlineVol(rs.getFloat("online_vol")); |
| | | data.setGroupVol(rs.getFloat("group_vol")); |
| | | data.setTestCurr(rs.getFloat("test_curr")); |
| | | data.setTestCap(rs.getFloat("test_cap")); |
| | | data.setMonNum(rs.getInt("mon_num")); |
| | | data.setMonVol(rs.getFloat("mon_vol")); |
| | | |
| | | list.add(data); |
| | | |
| | | } |
| | | return list; |
| | | } |
| | | }); |
| | | list.forEach(item->{ |
| | | //小时率 |
| | | int hourRate = BattCapFactory.GetHourRate(monCapStd, item.getTestCurr()); |
| | | //容量计算 |
| | | Double realCap = BattCapFactory.GetMonomerCap(monCapStd, hourRate, item.getTestCap(), item.getMonVol(), item.getMonVol(), monVolStd, BattCapFactory.CapType_Real); |
| | | item.setRealCap(realCap.floatValue()); |
| | | }); |
| | | |
| | | }else{ //返回标称单体容量 |
| | | Integer monNum = powerInf.getMonNum(); |
| | | for (int i = 1; i < monNum+1; i++) { |
| | | BattTestInfData battTestInfData = new BattTestInfData(); |
| | | battTestInfData.setMonNum(i); |
| | | battTestInfData.setRealCap(monCapStd); |
| | | list.add(battTestInfData); |
| | | } |
| | | } |
| | | return new Response().set(1, list); |
| | | } |
| | | } |
| | | } |