src/main/java/com/whyc/controller/BattTestInfController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/whyc/mapper/BattTestInfDataMapper.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/whyc/mapper/BattTestInfMapper.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/whyc/mapper/CallBack.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/whyc/pojo/BattAlarmHis.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/whyc/service/BattTestInfDataService.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/whyc/service/BattTestInfService.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/whyc/service/MybatisSqlExecuteService.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/whyc/service/SubTableService.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/main/java/com/whyc/controller/BattTestInfController.java
New file @@ -0,0 +1,37 @@ package com.whyc.controller; import com.whyc.dto.Response; import com.whyc.service.BattTestInfDataService; import com.whyc.service.BattTestInfService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; @RestController @Api(tags = "电池组充放电记录") @RequestMapping("tinf") public class BattTestInfController { @Autowired private BattTestInfService service; @Autowired private BattTestInfDataService dataService; @ApiOperation("查询充放电记录") @GetMapping("getTinfHis") public Response getTinfHis(@RequestParam int binfId , @RequestParam int pageNum, @RequestParam int pageSize){ Response res=service.getTinfHis(binfId,pageNum,pageSize); return res; } @ApiOperation("根据充放电记录查询单体放电历史详情") @GetMapping("getTDataHis") public Response getTDataHis(@RequestParam int binfId,@RequestParam int testRecordCount){ Response res=dataService.getTDataHis(binfId,testRecordCount); return res; } } src/main/java/com/whyc/mapper/BattTestInfDataMapper.java
New file @@ -0,0 +1,6 @@ package com.whyc.mapper; import com.whyc.pojo.BattTestInfData; public interface BattTestInfDataMapper extends CustomMapper<BattTestInfData>{ } src/main/java/com/whyc/mapper/BattTestInfMapper.java
New file @@ -0,0 +1,6 @@ package com.whyc.mapper; import com.whyc.pojo.BattTestInf; public interface BattTestInfMapper extends CustomMapper<BattTestInf>{ } src/main/java/com/whyc/mapper/CallBack.java
New file @@ -0,0 +1,10 @@ package com.whyc.mapper; import java.sql.ResultSet; import java.sql.SQLException; import java.util.List; public interface CallBack<T> { public abstract List<T> getResults(ResultSet rs) throws SQLException; } src/main/java/com/whyc/pojo/BattAlarmHis.java
New file @@ -0,0 +1,50 @@ package com.whyc.pojo; import com.baomidou.mybatisplus.annotation.TableField; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; import lombok.ToString; import java.util.Date; @Data @AllArgsConstructor @NoArgsConstructor @ToString @ApiModel(value="告警历史记录", description="") public class BattAlarmHis { @TableField("num") @ApiModelProperty("主键编号") private Integer num; @TableField("binf_id") @ApiModelProperty("电池组id") private String binfId; @TableField("alm_start_time") @ApiModelProperty("告警开始时间") private Date almStartTime; @TableField("alm_end_time") @ApiModelProperty("告警开始时间") private Date almEndTime; @TableField("mon_num") @ApiModelProperty("告警单体编号") private Integer monNum; @TableField("alm_id") @ApiModelProperty("告警类型") private Integer almId; @TableField("alm_level") @ApiModelProperty("告警等级") private Integer almLevel; @TableField(exist = false) @ApiModelProperty("电池组名称") private String binfName; } src/main/java/com/whyc/service/BattTestInfDataService.java
New file @@ -0,0 +1,25 @@ package com.whyc.service; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.whyc.dto.Response; import com.whyc.mapper.BattTestInfDataMapper; import com.whyc.pojo.BattTestInfData; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.List; @Service public class BattTestInfDataService { @Autowired(required = false) private BattTestInfDataMapper mapper; @Autowired private SubTableService service; //根据充放电记录查询单体放电历史详情 public Response getTDataHis(int binfId, int testRecordCount) { List<BattTestInfData> list=service.getTDataHis(binfId,testRecordCount); return new Response().setII(1,list!=null,list,"根据充放电记录查询单体放电历史详情"); } } src/main/java/com/whyc/service/BattTestInfService.java
New file @@ -0,0 +1,29 @@ package com.whyc.service; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import com.whyc.dto.Response; import com.whyc.mapper.BattTestInfMapper; import com.whyc.pojo.BattTestInf; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.List; @Service public class BattTestInfService { @Autowired(required = false) private BattTestInfMapper mapper; //查询充放电记录 public Response getTinfHis(int binfId, int pageNum, int pageSize) { PageHelper.startPage(pageNum,pageSize); QueryWrapper wrapper= Wrappers.query(); wrapper.eq("binf_id",binfId); List<BattTestInf> list=mapper.selectList(wrapper); PageInfo pageInfo=new PageInfo(list); return new Response().setII(1,list!=null,pageInfo,"查询充放电记录"); } } src/main/java/com/whyc/service/MybatisSqlExecuteService.java
New file @@ -0,0 +1,142 @@ package com.whyc.service; import com.whyc.mapper.CallBack; import com.whyc.util.ThreadLocalUtil; import net.sf.json.JSONArray; import net.sf.json.JSONObject; import org.apache.ibatis.session.SqlSession; import org.apache.ibatis.session.SqlSessionFactory; import org.mybatis.spring.SqlSessionTemplate; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.ResultSetMetaData; import java.sql.SQLException; import java.util.List; @Service public class MybatisSqlExecuteService { @Autowired private SqlSessionTemplate sqlSessionTemplate; // 自定义执行SQL public JSONArray executeQuery(String sql){ PreparedStatement ps = null; ResultSet rs = null; SqlSession sqlSession = openSession(); JSONArray jsonArray = new JSONArray(); try { ps=sqlSession.getConnection().prepareStatement(sql); rs=ps.executeQuery(); ResultSetMetaData metaData = rs.getMetaData(); int colCnt = metaData.getColumnCount(); while (rs.next()) { JSONObject jsonObject = new JSONObject(); for(int i=1;i<=colCnt;i++){ String property=metaData.getColumnName(i); Object obj=rs.getObject(i); if(obj instanceof java.util.Date ){ //jsonObject.put(property, ActionUtil.sdf.format(obj)); jsonObject.put(property, ThreadLocalUtil.format((java.util.Date) obj,1)); }else{ jsonObject.put(property,obj); } } JSONObject.toBean(jsonObject,Object.class); jsonArray.add(jsonObject); } } catch (SQLException throwables) { throwables.printStackTrace(); }finally { closeSession(rs,ps,sqlSession); } return jsonArray; } // 自定义执行SQL public List executeQuery_call(String sql, CallBack call){ PreparedStatement ps = null; ResultSet rs = null; SqlSession sqlSession = openSession(); try { ps=sqlSession.getConnection().prepareStatement(sql); rs=ps.executeQuery(); return call.getResults(rs); } catch (SQLException throwables) { throwables.printStackTrace(); }finally { closeSession(rs,ps,sqlSession); } return null; } /** * 封装所有更新的操作(添加,删除,修改) * @param sql * @param values * @return */ public int executeUpdate(String sql, Object[] values){ PreparedStatement ps = null; ResultSet rs = null; SqlSession sqlSession = openSession(); int flag=0; try { ps = sqlSession.getConnection().prepareStatement(sql); if(values != null){ for (int i = 0; i < values.length; i++) { ps.setObject(i+1, values[i]); } } flag = ps.executeUpdate(); } catch (SQLException e) { e.printStackTrace(); }finally{ closeSession(rs,ps,sqlSession); } return flag; } //执行sql语句 public boolean execute(String sql){ PreparedStatement ps = null; SqlSession sqlSession = openSession(); boolean rest = true; try{ ps = sqlSession.getConnection().prepareStatement(sql); ps.execute(); }catch(SQLException ex) { ex.printStackTrace(); rest = false; }finally { closeSession(null,ps,sqlSession); } return rest; } // 开启链接 private SqlSession openSession() { SqlSessionFactory sqlSessionFactory = sqlSessionTemplate.getSqlSessionFactory(); return sqlSessionFactory.openSession(); } // 关闭链接 private void closeSession(ResultSet rs,PreparedStatement ps,SqlSession sqlSession) { try { if(rs!=null){ rs.close(); } if(ps!=null){ ps.close(); } if(sqlSession!=null){ sqlSession.close(); } } catch (SQLException throwables) { throwables.printStackTrace(); } } } src/main/java/com/whyc/service/SubTableService.java
New file @@ -0,0 +1,51 @@ package com.whyc.service; import com.whyc.mapper.CallBack; import com.whyc.pojo.BattTestInfData; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.sql.ResultSet; import java.sql.SQLException; import java.util.ArrayList; import java.util.List; @Service public class SubTableService { @Autowired private MybatisSqlExecuteService sqlExecuteService; //根据充放电记录查询单体放电历史详情 public List<BattTestInfData> getTDataHis(int binfId, int testRecordCount) { String sql="select * from db_dis_batt.batt_test_inf_"+binfId+" " + " where binf_id="+binfId+" " + " and test_record_count="+testRecordCount+ " order by test_starttime asc "; List<BattTestInfData> list=sqlExecuteService.executeQuery_call(sql, new CallBack() { @Override public List getResults(ResultSet rs) throws SQLException { List list=new ArrayList(); while (rs.next()){ BattTestInfData data=new BattTestInfData(); data.setNum(rs.getInt("num")); data.setBinfId(rs.getInt("binf_id")); data.setTestRecordCount(rs.getInt("test_record_count")); data.setTestStarttime(rs.getTimestamp("test_starttime")); data.setRecordTime(rs.getTimestamp("record_time")); data.setTestType(rs.getInt("test_type")); data.setRecordNum(rs.getInt("record_num")); 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")); data.setMonTmp(rs.getFloat("mon_tmp")); list.add(data); } return list; } }); return list; } }