package com.socket;
|
|
import android.database.Cursor;
|
import android.database.SQLException;
|
import android.database.sqlite.SQLiteDatabase;
|
import android.util.Log;
|
|
import com.concentrator.Concentrator_State;
|
import com.fgkj.dao.DBHelper;
|
import com.util.Com;
|
|
import java.util.Date;
|
|
/**
|
* 历史充放电数据记录线程
|
*/
|
public class BattTestDataRecordThread extends Thread{
|
public static final String TAG = "BattTestDataRecodThread";
|
|
private static final int saveDataIntever = 10; //记录历史数据的时间间隔
|
private static final int minTestTimeLong = 60; //最小的测试时长
|
|
public DBHelper dbHelper;
|
public BattDataThread battData;
|
|
public boolean isRecording = false;
|
|
|
public BattTestDataRecordThread(DBHelper dbHelper, BattDataThread battData){
|
this.dbHelper = dbHelper;
|
this.battData = battData;
|
|
dbHelper.Create_batttestdata(dbHelper.getWritableDatabase(),battData.battIndex); //创建电池组历史数据表tb_batttestdata_id
|
}
|
|
|
@Override
|
public void run() {
|
Log.e(TAG,"run:BattTestDataRecordThread start at " + Com.getDateTimeFormat(new Date(),Com.DTF_YMDhms));
|
|
|
int nowTestType = Concentrator_State.WORKSTATE_FLOAT; //当前记录的测试类型(当前电池状态)
|
Date lastRecordTime = new Date(); //上一次记录的时间
|
boolean isStartRecord = false; //是否是新的放电记录
|
int record_num = 0; //记录笔数
|
|
while(true){
|
try {
|
if(isRecording){
|
//正在记录历史充放电数据
|
if(isStartRecord){
|
|
}
|
|
}else{
|
//暂无记录充放电数据
|
|
}
|
sleep(2000);
|
} catch (Exception e) {
|
e.printStackTrace();
|
}
|
}
|
}
|
|
|
/**
|
* 查询数据库目前当前电池组的最大
|
* @param battgroupid
|
* @param dbHelper
|
* @return
|
*/
|
public static int queryMaxTestRecordCount(int battgroupid,DBHelper dbHelper){
|
int max_test_record_count = 1;
|
String sql_str = " SELECT max(test_record_count)as max_test_record_count FROM tb_batttestdata_inf WHERE BattGroupId = " + battgroupid;
|
SQLiteDatabase db = dbHelper.getWritableDatabase();
|
try {
|
Cursor rs = db.rawQuery(sql_str,null);
|
if (rs.moveToNext()){
|
max_test_record_count = rs.getInt(rs.getColumnIndex("max_test_record_count"))+1;
|
}
|
} catch (SQLException e) {
|
e.printStackTrace();
|
} finally{
|
if(db != null){
|
db.close();
|
}
|
}
|
return max_test_record_count;
|
}
|
|
//插入历史数据
|
public static void insertBattTestDatainf(DBHelper dbHelper,Concentrator_State state){
|
String sql_str = "";
|
|
|
|
}
|
}
|