package com.donghuan.sql_server;
|
import java.util.Date;
|
import java.util.GregorianCalendar;
|
|
import com.base.Com;
|
import com.battdata_rt.BattData_RT_Array;
|
import com.config.AppConfig;
|
import com.sql.MysqlConnPool;
|
|
public class GetHisdoryDataFromSybase_Thread extends Thread {
|
|
private BattData_RT_Array m_Data;
|
private AppConfig m_AppConfig;
|
|
private int query_start_index = 0;
|
private int query_count = 0;
|
|
public GetHisdoryDataFromSybase_Thread(AppConfig cfg, int start_index, int count,
|
BattData_RT_Array data, MysqlConnPool conn_pool)
|
{
|
m_AppConfig = cfg;
|
query_start_index = start_index;
|
query_count = count;
|
m_Data = data;
|
}
|
|
/********************************************************************************************/
|
@Override
|
public void run() {
|
|
/**********************************************************************************/
|
System.out.println(this.getName() + " - GetHisdoryDataFromSybase_Thread Started ...");
|
/**********************************************************************************/
|
GregorianCalendar query_gc_start = new GregorianCalendar();
|
GregorianCalendar query_gc_end = new GregorianCalendar();
|
|
while(m_Data.getSybaseQueryCount() < 2)
|
{
|
try {
|
sleep(1000);
|
} catch (InterruptedException e) {
|
e.printStackTrace();
|
}
|
}
|
|
query_gc_start.setTime(m_Data.getSybaseServerDateTime());
|
query_gc_end.setTime(m_Data.getSybaseServerDateTime());
|
|
int day_count = 0;
|
while(true)
|
{
|
boolean have_zero = m_Data.checkIfHaveZeroMonVol();
|
if(true == have_zero)
|
{
|
query_gc_end.setTime(query_gc_start.getTime());
|
query_gc_start.setTime(query_gc_end.getTime());
|
query_gc_start.add(GregorianCalendar.HOUR, -1);
|
|
m_Data.getDataFromSybase_Task(m_AppConfig, query_start_index, query_count,
|
query_gc_start, query_gc_end, false, "DESC");
|
if((day_count%24) == 0)
|
{
|
System.out.println(this.getName() + " - GetHisdoryDataFromSybase_Thread: Search data from "
|
+ Com.getDateTimeFormat(query_gc_start.getTime(), Com.DTF_YMDhms)
|
+ " to " + Com.getDateTimeFormat(query_gc_end.getTime(), Com.DTF_YMDhms));
|
}
|
try {
|
sleep(100);
|
} catch (InterruptedException e) {
|
e.printStackTrace();
|
}
|
}
|
|
day_count++;
|
if((false == have_zero) || (day_count >= 10000))
|
{
|
String str_msg = this.getName() + " - GetHisdoryDataFromSybase_Thread: - search end!";
|
if(false == have_zero)
|
{
|
str_msg = this.getName() + " - GetHisdoryDataFromSybase_Thread: - no zero mon vol now!";
|
}
|
|
System.out.println(str_msg + " " + Com.getDateTimeFormat(new Date(), Com.DTF_YMDhms));
|
|
try {
|
sleep(2000);
|
} catch (InterruptedException e) {
|
e.printStackTrace();
|
}
|
break;
|
}
|
}
|
/**********************************************************************************/
|
}
|
}
|