package com.dev.btse.data;
|
|
import java.util.Date;
|
|
import com.battmonitor.base.Com;
|
import com.battmonitor.sql.MysqlConnPool;
|
|
public class TmpSensor_SaveDataThread extends Thread{
|
private MysqlConnPool pool;
|
private TmpSensor_inf tmpinf;
|
public boolean isRunning = true;
|
|
|
public TmpSensor_SaveDataThread(TmpSensor_inf tmpinf,MysqlConnPool pool){
|
this.pool = pool;
|
this.tmpinf = tmpinf;
|
}
|
|
|
@Override
|
public void run() {
|
Date lastrecordTime = new Date();
|
|
TmpSensor_SQL.createTmpSensorHistoryDataTable(pool,tmpinf.getSensor_dev_id());
|
try {
|
while(isRunning) {
|
TmpSensorState state = TmpSensor_SQL.queryTmpSensorState(pool, tmpinf.getSensor_dev_id());
|
if(state != null && state.record_time.getTime() != lastrecordTime.getTime() && (Math.abs(state.getRecord_time().getTime()-new Date().getTime())<(3*1000))) {
|
//System.err.println(Com.getDateTimeFormat(state.record_time, Com.DTF_YMDhms)+"=== "+Com.getDateTimeFormat(lastrecordTime, Com.DTF_YMDhms));
|
//¿ªÊ¼¼Ç¼µ±Ç°É豸µÄÀúÊ·Êý¾Ý
|
TmpSensor_SQL.saveSensorHistoryData(pool,state);
|
lastrecordTime = state.record_time;
|
}
|
try {
|
Thread.sleep((TmpSensor_TestDataThread.reacord_interval-1)*1000);
|
|
TmpSensor_inf temp = TmpSensor_SQL.queryTmpSensorById(pool, tmpinf.getSensor_dev_id());
|
if(temp == null) {
|
isRunning = false;
|
}
|
|
Thread.sleep(1000);
|
} catch (InterruptedException e) {
|
e.printStackTrace();
|
}
|
}
|
} catch (Exception e) {
|
e.printStackTrace();
|
} finally {
|
System.out.println(tmpinf.getSensor_dev_id()+"É豸µÄÀúÊ·Êý¾Ý¼Ç¼Ï߳̽áÊø¡£¡£¡£");
|
TmpSensor_TestDataThread.removeThreadFromMap(tmpinf.getSensor_dev_id());
|
}
|
|
}
|
}
|