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