From df04d2f5d56cce23aa108c1cce1ce27e4bf52fa0 Mon Sep 17 00:00:00 2001
From: whyclxw <810412026@qq.com>
Date: 星期三, 16 十月 2024 14:50:26 +0800
Subject: [PATCH] 解析数据

---
 src/main/java/com/whyc/service/SubTablePageInfoService.java |  186 ++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 186 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/whyc/service/SubTablePageInfoService.java b/src/main/java/com/whyc/service/SubTablePageInfoService.java
index 426e716..c6e46ed 100644
--- a/src/main/java/com/whyc/service/SubTablePageInfoService.java
+++ b/src/main/java/com/whyc/service/SubTablePageInfoService.java
@@ -3664,4 +3664,190 @@
         });
         return list;
     }
+    //鏌ュ嚭闇�瑕侀浼扮殑鏁版嵁
+    public List<AnaysisData> getAnaysisData(int battGroupId, int testRecordCount) {
+        String sql="  SELECT  distinct  record_num,test_timelong,group_vol,test_cap,mon_num,mon_vol,test_curr FROM db_batt_testdata.tb_batttestdata_"+battGroupId+
+                "        WHERE test_record_count = " +testRecordCount+
+                "        order by record_num asc,mon_num asc ";
+        List<AnaysisData> list = sqlExecuteService.executeQuery_call(sql, new CallBack() {
+            @Override
+            public List getResults(ResultSet rs) throws SQLException {
+                List list=new ArrayList<>();
+                List<Float> monVols=null;
+                List<Integer> monNums=null;
+                AnaysisData data=null;
+                int num=0;
+                try {
+                    while (rs.next()){
+                        int monNum=rs.getInt("mon_num");
+                        float monvol=rs.getFloat("mon_vol");
+                        int recordNum=rs.getInt("record_num");
+                        if(num!=recordNum){
+                            if(num!=0){
+                                data.setMonVols(monVols);
+                                data.setMonNums(monNums);
+                                list.add(data);
+                            }
+                            data=new AnaysisData();
+                            monVols=new ArrayList<>();
+                            monNums=new ArrayList<>();
+                            data.setTestTimelong(rs.getInt("test_timelong"));
+                            data.setRecordTime(ActionUtil.secToTime(data.getTestTimelong()));
+                            data.setGroupVol(rs.getFloat("group_vol"));
+                            data.setTestCap(rs.getFloat("test_cap"));
+                            data.setGroupCurr(rs.getFloat("test_curr"));
+                            num=recordNum;
+                        }
+                        monVols.add(monvol);
+                        monNums.add(monNum);
+                    }
+                    data.setMonVols(monVols);
+                    data.setMonNums(monNums);
+                    list.add(data);
+                } catch (SQLException e) {
+                    e.printStackTrace();
+                }
+                return list;
+            }
+        });
+        return list;
+    }
+    //灏嗚В鏋愬嚭鐨勬暟鎹瓨鍏ユ暟鎹簱琛�
+    public void storeAnaysisToSqlWithNum(int battGroupId,int testRecordCount, List<AnaylsisId> idList) {
+        ArrayList  sql_str=new ArrayList();
+        String tableName="db_analysis."+"tb_analysis_"+battGroupId;
+        //妫�娴嬭〃鏄惁瀛樺湪
+        if(idList!=null){
+            String insertSql="insert into "+tableName+" "
+                    + "("
+                    + "test_record_count,"
+                    + "record_num,"
+                    + "record_time,"
+                    + "mon_num,"
+                    + "mon_vol"
+                    + ") "
+                    + " values ";
+            for (int i=0;i<idList.size();i++) {
+                AnaylsisId ays=idList.get(i);
+                if(i>0){
+                    insertSql+=" ,  ";
+                }
+                insertSql=insertSql
+                        + "("
+                        + ays.getTestRecordCount()+","
+                        + ays.getRecordNum()+","
+                        + "'"+ays.getRecordTime()+"',"
+                        + ays.getMonNum()+","
+                        + ays.getMonVol()+""
+                        + ")";//濡傛灉瀵瑰簲鏄瓧绗﹀嚑涓甫涓婂崟寮曞彿
+            }
+            sql_str.add(insertSql);
+        }
+        sqlExecuteService.makeManualCommit(sql_str);
+    }
+    //灏嗚В鏋愮殑缁勭鐢靛帇淇敼鍒版暟鎹簱
+    public void updateAnaysisToSqlWithNum(int battGroupId, int testRecordCount, List<AnaylsisId> groupVolList) {
+        ArrayList  sql_str=new ArrayList();
+        String tableName="db_analysis."+"tb_analysis_"+battGroupId;
+        if(groupVolList!=null){
+            for ( AnaylsisId ays:groupVolList) {
+                String updateSql="update "+tableName+" set group_vol="+ays.getGroupVol()+" where test_record_count="+testRecordCount+" and record_num="+ays.getRecordNum();
+                sql_str.add(updateSql);
+            }
+        }
+        sqlExecuteService.makeManualCommit(sql_str);
+    }
+
+    //楠岃瘉鍒嗘瀽琛ㄦ槸鍚﹀瓨鍦�
+    public int judgeTable_anaysis(int battGroupId, int testRecordCount) {
+        String sql="select count(*) as tableNum " +
+                "        from INFORMATION_SCHEMA.TABLES " +
+                "        where TABLE_SCHEMA = 'db_analysis' " +
+                "          and TABLE_NAME = 'tb_analysis_"+battGroupId+"'";
+        List list = sqlExecuteService.executeQuery_call(sql, new CallBack() {
+            @Override
+            public List getResults(ResultSet rs) throws SQLException {
+                LinkedList<Object> temp = new LinkedList<>();
+                try {
+                    while (rs.next())
+                        temp.add(rs.getInt("tableNum"));
+                } catch (SQLException e) {
+                    e.printStackTrace();
+                }
+                return temp;
+            }
+        });
+        int tableNum =0;
+        if(list!=null){
+            tableNum= (int) list.get(0);
+        }
+        return tableNum;
+    }
+    //妫�娴嬭〃鏄瓨鍦ㄥ悗testRecordCount鏁版嵁鏄惁瀛樺湪
+    public int getAnaysisIdByTestRecordCount(int battGroupId, int testRecordCount) {
+        String sql="  SELECT  count(*) as sum FROM db_analysis.tb_analysis_"+battGroupId+
+                "        WHERE test_record_count = " +testRecordCount;
+        List list = sqlExecuteService.executeQuery_call(sql, new CallBack() {
+            @Override
+            public List getResults(ResultSet rs) throws SQLException {
+                LinkedList<Object> temp = new LinkedList<>();
+                try {
+                    while (rs.next())
+                        temp.add(rs.getInt("sum"));
+                } catch (SQLException e) {
+                    e.printStackTrace();
+                }
+                return temp;
+            }
+        });
+        int sum =0;
+        if(list!=null){
+            sum= (int) list.get(0);
+        }
+        return sum;
+    }
+
+    //鍒涘缓clear
+    public void creatAnasys(int battGroupId) {
+        String sql=" CREATE TABLE IF NOT EXISTS db_analysis.tb_analysis_"+battGroupId+" (" +
+                "   `num` int(11) NOT NULL AUTO_INCREMENT," +
+                "   `test_record_count` int(11) NOT NULL DEFAULT '0'," +
+                "  `record_num` int not NULL DEFAULT 0," +
+                "  `record_time` varchar(64) not NULL DEFAULT '00:00:00'," +
+                "  `group_vol` float not NULL DEFAULT 0," +
+                "  `mon_num` int  not NULL DEFAULT 0," +
+                "  `mon_vol` float  not NULL DEFAULT 0," +
+                "  PRIMARY KEY (`num`)" +
+                ") ENGINE=InnoDB AUTO_INCREMENT=1 ";
+        sqlExecuteService.execute(sql);
+    }
+    //鏌ヨ棰勪及鏁版嵁
+    public List<AnaylsisId> getAnaysisXls(int battGroupId, int testRecordCount) {
+        String sql="  SELECT  distinct  num,test_record_count,record_num,record_time,group_vol,mon_vol,mon_num FROM db_analysis.tb_analysis_"+battGroupId+
+                "        WHERE test_record_count = " +testRecordCount+
+                "        order by test_record_count asc ,record_num asc ,mon_num ASC ";
+        List<AnaylsisId> list = sqlExecuteService.executeQuery_call(sql, new CallBack() {
+            @Override
+            public List getResults(ResultSet rs) throws SQLException {
+                List list=new ArrayList<>();
+                try {
+                    while (rs.next()){
+                        AnaylsisId idData=new AnaylsisId();
+                        idData.setNum(rs.getInt("num"));
+                        idData.setTestRecordCount(rs.getInt("test_record_count"));
+                        idData.setRecordNum(rs.getInt("record_num"));
+                        idData.setRecordTime(rs.getString("record_time"));
+                        idData.setGroupVol(rs.getFloat("group_vol"));
+                        idData.setMonNum(rs.getInt("mon_num"));
+                        idData.setMonVol(rs.getFloat("mon_vol"));
+                        list.add(idData);
+                    }
+                } catch (SQLException e) {
+                    e.printStackTrace();
+                }
+                return list;
+            }
+        });
+        return list;
+    }
 }

--
Gitblit v1.9.1