whyclj
2019-06-24 66db8d445a53a8ed8410f7196f5c65de7a29bce7
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
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 && (Math.abs(state.record_time.getTime() - lastrecordTime.getTime())/1000>=TmpSensor_TestDataThread.reacord_interval) && (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 {
                    
                    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());
        }
    
    }
}