From 1a0bfdfde3df69c67f71a77a72e40ed816655c26 Mon Sep 17 00:00:00 2001
From: whyclxw <810412026@qq.com>
Date: 星期六, 15 六月 2024 14:48:51 +0800
Subject: [PATCH] 电池充放电数据查询

---
 src/main/java/com/whyc/mapper/BattTestInfDataMapper.java     |    6 +
 src/main/java/com/whyc/service/SubTableService.java          |   51 ++++++++
 src/main/java/com/whyc/service/MybatisSqlExecuteService.java |  142 +++++++++++++++++++++++
 src/main/java/com/whyc/service/BattTestInfDataService.java   |   25 ++++
 src/main/java/com/whyc/service/BattTestInfService.java       |   29 ++++
 src/main/java/com/whyc/mapper/BattTestInfMapper.java         |    6 +
 src/main/java/com/whyc/pojo/BattAlarmHis.java                |   50 ++++++++
 src/main/java/com/whyc/controller/BattTestInfController.java |   37 ++++++
 src/main/java/com/whyc/mapper/CallBack.java                  |   10 +
 9 files changed, 356 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/whyc/controller/BattTestInfController.java b/src/main/java/com/whyc/controller/BattTestInfController.java
new file mode 100644
index 0000000..94b17ca
--- /dev/null
+++ b/src/main/java/com/whyc/controller/BattTestInfController.java
@@ -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;
+    }
+}
\ No newline at end of file
diff --git a/src/main/java/com/whyc/mapper/BattTestInfDataMapper.java b/src/main/java/com/whyc/mapper/BattTestInfDataMapper.java
new file mode 100644
index 0000000..e3433a3
--- /dev/null
+++ b/src/main/java/com/whyc/mapper/BattTestInfDataMapper.java
@@ -0,0 +1,6 @@
+package com.whyc.mapper;
+
+import com.whyc.pojo.BattTestInfData;
+
+public interface BattTestInfDataMapper extends CustomMapper<BattTestInfData>{
+}
\ No newline at end of file
diff --git a/src/main/java/com/whyc/mapper/BattTestInfMapper.java b/src/main/java/com/whyc/mapper/BattTestInfMapper.java
new file mode 100644
index 0000000..c4750f5
--- /dev/null
+++ b/src/main/java/com/whyc/mapper/BattTestInfMapper.java
@@ -0,0 +1,6 @@
+package com.whyc.mapper;
+
+import com.whyc.pojo.BattTestInf;
+
+public interface BattTestInfMapper extends CustomMapper<BattTestInf>{
+}
\ No newline at end of file
diff --git a/src/main/java/com/whyc/mapper/CallBack.java b/src/main/java/com/whyc/mapper/CallBack.java
new file mode 100644
index 0000000..b1efdd4
--- /dev/null
+++ b/src/main/java/com/whyc/mapper/CallBack.java
@@ -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;
+}
diff --git a/src/main/java/com/whyc/pojo/BattAlarmHis.java b/src/main/java/com/whyc/pojo/BattAlarmHis.java
new file mode 100644
index 0000000..fc2ef64
--- /dev/null
+++ b/src/main/java/com/whyc/pojo/BattAlarmHis.java
@@ -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("鐢垫睜缁刬d")
+    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;
+}
\ No newline at end of file
diff --git a/src/main/java/com/whyc/service/BattTestInfDataService.java b/src/main/java/com/whyc/service/BattTestInfDataService.java
new file mode 100644
index 0000000..94e945b
--- /dev/null
+++ b/src/main/java/com/whyc/service/BattTestInfDataService.java
@@ -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,"鏍规嵁鍏呮斁鐢佃褰曟煡璇㈠崟浣撴斁鐢靛巻鍙茶鎯�");
+    }
+}
\ No newline at end of file
diff --git a/src/main/java/com/whyc/service/BattTestInfService.java b/src/main/java/com/whyc/service/BattTestInfService.java
new file mode 100644
index 0000000..05a4a89
--- /dev/null
+++ b/src/main/java/com/whyc/service/BattTestInfService.java
@@ -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,"鏌ヨ鍏呮斁鐢佃褰�");
+    }
+}
\ No newline at end of file
diff --git a/src/main/java/com/whyc/service/MybatisSqlExecuteService.java b/src/main/java/com/whyc/service/MybatisSqlExecuteService.java
new file mode 100644
index 0000000..dafc52e
--- /dev/null
+++ b/src/main/java/com/whyc/service/MybatisSqlExecuteService.java
@@ -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;
+
+    //    鑷畾涔夋墽琛孲QL
+    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;
+    }
+
+    //    鑷畾涔夋墽琛孲QL
+    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();
+        }
+    }
+}
diff --git a/src/main/java/com/whyc/service/SubTableService.java b/src/main/java/com/whyc/service/SubTableService.java
new file mode 100644
index 0000000..61a33c3
--- /dev/null
+++ b/src/main/java/com/whyc/service/SubTableService.java
@@ -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;
+    }
+}
\ No newline at end of file

--
Gitblit v1.9.1