import java.sql.*;
import java.io.*;
import java.util.*;
import java.lang.*;import java.util.Timer;
import java.util.TimerTask;
import java.awt.Toolkit;public class Test{
static String h;
static int count; //定义变量,以计算当天的航班记录数。
public String ssss; //定义全局变量,传递SQLString值。
Toolkit toolkit;
Timer timer;
public Test(){
toolkit=Toolkit.getDefaultToolkit();
timer=new Timer();
timer.schedule(new RemindTask(),0,180*1000);
}
class RemindTask extends TimerTask{
public void run(){ int year,month,date; //定义三个整行变量,用来存储当前时间。
int hour,minute,second; String months;
String days;
String hours;
String minutes;
String seconds;
//定义字符串变量,用来存储整形变量转变字符串以后的数值。
String I="";
Calendar cal=Calendar.getInstance(); //获得Calendar的实体
year=cal.get(Calendar.YEAR); //取系统当前时间--年
month=cal.get(Calendar.MONTH)+1; //取系统当前时间--月
date=cal.get(Calendar.DATE); //取系统当前时间--日 hour=cal.get(Calendar.HOUR_OF_DAY);
minute=cal.get(Calendar.MINUTE);
second=cal.get(Calendar.SECOND);
if(month<10)
months="0"+month;
else
months=Integer.toString(month);
if(date<10)
days="0"+date;
else
days=Integer.toString(date); if(hour<10)
hours="0"+hour;
else
hours=Integer.toString(hour);
if(minute<10)
minutes="0"+minute;
else
minutes=Integer.toString(minute);
if(second<10)
seconds="0"+second;
else
seconds=Integer.toString(minute);
String TimeName=(""+year+""+months+""+days+"");
//System.out.println(""+year+""+months+""+days+"");
String TimeName1=(""+hours+""+minutes+""+seconds+"");
//new add
StringBuffer sb=new StringBuffer(); sb.append("'").append(cal.get(Calendar.YEAR)).append("-").append(months).append("-").append(days).append("'");
String sbsb= sb.toString();
//end
//StringBuffer tb=new StringBuffer();
//tb.append("'").append(hours).append("-").append(minute).append("-").append(seconds).append("'");
//String tbtb=tb.toString();
String sourceURL="jdbc:oracle:thin:@10.10.10.3:1521:AODB";
String user="vgds";
String password="vgds6327";
try {Class.forName("oracle.jdbc.driver.OracleDriver");}
catch (ClassNotFoundException ce)
{ System.out.println("SQLException1:" +ce.getMessage());}
try{
String h = null ;
String SQLString2 = "SELECT T7037.serial_no FROM T7037 ORDER BY serial_no DESC";
Connection con = DriverManager.getConnection(sourceURL,user,password);
Statement stmt = con.createStatement();
if( h.equals(null))
{
ResultSet rs2=stmt.executeQuery(SQLString2);
while (rs2.next())
{
h = rs2.getString(1);//取第一条纪录索引}?
}
//String SQLString = "SELECT T3001.GATE,T7037.OPERATION_DATE,T7037.FLIGHT_NO,T7037.AIRCRAFT_TYPE_IATA,T7037.STA,T7037.STA FROM T7037 WHERE (OPERATION_DATE = TO_DATE("+ sbsb +",'YYYY-MM-DD')) AND (T7037.A_OR_D= 'A') AND (T7037.D_or_I='I') ";
String SQLString = "SELECT T3001.GATE,T7037.OPERATION_DATE,T7037.FLIGHT_NO,T7037.AIRCRAFT_TYPE_IATA,T7037.STA,T7037.STA FROM T3001,T7037 WHERE (T3001.OPERATION_DATE=T7037.OPERATION_DATE) AND (T3001.FLIGHT_NO = T7037.FLIGHT_NO) AND (T7037.OPERATION_DATE = TO_DATE("+ sbsb +",'YYYY-MM-DD')) AND (T7037.A_OR_D= 'A')";
ssss = SQLString; }
else {
String SQLString = "SELECT T3001.GATE,T7037.OPERATION_DATE,T7037.FLIGHT_NO,T7037.AIRCRAFT_TYPE_IATA,T7037.STA,T7037.STA FROM T3001,T7037 WHERE (T3001.OPERATION_DATE=T7037.OPERATION_DATE) AND (T3001.FLIGHT_NO = T7037.FLIGHT_NO) AND (T7037.OPERATION_DATE = TO_DATE("+ sbsb +",'YYYY-MM-DD')) AND (T7037.A_OR_D= 'A') AND (T7037.serial_no > h) ";
ResultSet rs2=stmt.executeQuery(SQLString2);
while (rs2.next())
{
// String SQLString = "SELECT T3001.GATE,T7037.OPERATION_DATE,T7037.FLIGHT_NO,T7037.AIRCRAFT_TYPE_IATA,T7037.STA,T7037.STA FROM T3001,T7037 WHERE (OPERATION_DATE = TO_DATE("+ sbsb +",'YYYY-MM-DD')) AND (T7037.A_OR_D= 'A') AND (T7037.D_or_I='I')AND (T7037.SEQUENCE>h) ";
// String SQLString = "SELECT T3001.GATE,T7037.OPERATION_DATE,T7037.FLIGHT_NO,T7037.AIRCRAFT_TYPE_IATA,T7037.STA,T7037.STA FROM T3001,T7037 WHERE (T3001.OPERATION_DATE=T7037.OPERATION_DATE) AND (T3001.FLIGHT_NO = T7037.FLIGHT_NO) AND (T7037.OPERATION_DATE = TO_DATE("+ sbsb +",'YYYY-MM-DD')) AND (T7037.A_OR_D= 'A') AND (T7037.D_or_I='I') AND (T7037.SEQUENCE>h) ";
h = rs2.getString(1) ; //取第一条纪录索引?
}
ssss = SQLString; }
stmt.close();
con.close();
}
catch (SQLException e)
{System.out.println("SQLException2:"+e.getMessage());}
try{
Connection con1 = DriverManager.getConnection(sourceURL,user,password);
Statement stmt1 = con1.createStatement();
ResultSet rs1=stmt1.executeQuery(ssss);
while (rs1.next())
{count=rs1.getRow();} //计算当天的航班数量
//stmt1.close();
//con1.close();
import java.io.*;
import java.util.*;
import java.lang.*;import java.util.Timer;
import java.util.TimerTask;
import java.awt.Toolkit;public class Test{
static String h;
static int count; //定义变量,以计算当天的航班记录数。
public String ssss; //定义全局变量,传递SQLString值。
Toolkit toolkit;
Timer timer;
public Test(){
toolkit=Toolkit.getDefaultToolkit();
timer=new Timer();
timer.schedule(new RemindTask(),0,180*1000);
}
class RemindTask extends TimerTask{
public void run(){ int year,month,date; //定义三个整行变量,用来存储当前时间。
int hour,minute,second; String months;
String days;
String hours;
String minutes;
String seconds;
//定义字符串变量,用来存储整形变量转变字符串以后的数值。
String I="";
Calendar cal=Calendar.getInstance(); //获得Calendar的实体
year=cal.get(Calendar.YEAR); //取系统当前时间--年
month=cal.get(Calendar.MONTH)+1; //取系统当前时间--月
date=cal.get(Calendar.DATE); //取系统当前时间--日 hour=cal.get(Calendar.HOUR_OF_DAY);
minute=cal.get(Calendar.MINUTE);
second=cal.get(Calendar.SECOND);
if(month<10)
months="0"+month;
else
months=Integer.toString(month);
if(date<10)
days="0"+date;
else
days=Integer.toString(date); if(hour<10)
hours="0"+hour;
else
hours=Integer.toString(hour);
if(minute<10)
minutes="0"+minute;
else
minutes=Integer.toString(minute);
if(second<10)
seconds="0"+second;
else
seconds=Integer.toString(minute);
String TimeName=(""+year+""+months+""+days+"");
//System.out.println(""+year+""+months+""+days+"");
String TimeName1=(""+hours+""+minutes+""+seconds+"");
//new add
StringBuffer sb=new StringBuffer(); sb.append("'").append(cal.get(Calendar.YEAR)).append("-").append(months).append("-").append(days).append("'");
String sbsb= sb.toString();
//end
//StringBuffer tb=new StringBuffer();
//tb.append("'").append(hours).append("-").append(minute).append("-").append(seconds).append("'");
//String tbtb=tb.toString();
String sourceURL="jdbc:oracle:thin:@10.10.10.3:1521:AODB";
String user="vgds";
String password="vgds6327";
try {Class.forName("oracle.jdbc.driver.OracleDriver");}
catch (ClassNotFoundException ce)
{ System.out.println("SQLException1:" +ce.getMessage());}
try{
String h = null ;
String SQLString2 = "SELECT T7037.serial_no FROM T7037 ORDER BY serial_no DESC";
Connection con = DriverManager.getConnection(sourceURL,user,password);
Statement stmt = con.createStatement();
if( h.equals(null))
{
ResultSet rs2=stmt.executeQuery(SQLString2);
while (rs2.next())
{
h = rs2.getString(1);//取第一条纪录索引}?
}
//String SQLString = "SELECT T3001.GATE,T7037.OPERATION_DATE,T7037.FLIGHT_NO,T7037.AIRCRAFT_TYPE_IATA,T7037.STA,T7037.STA FROM T7037 WHERE (OPERATION_DATE = TO_DATE("+ sbsb +",'YYYY-MM-DD')) AND (T7037.A_OR_D= 'A') AND (T7037.D_or_I='I') ";
String SQLString = "SELECT T3001.GATE,T7037.OPERATION_DATE,T7037.FLIGHT_NO,T7037.AIRCRAFT_TYPE_IATA,T7037.STA,T7037.STA FROM T3001,T7037 WHERE (T3001.OPERATION_DATE=T7037.OPERATION_DATE) AND (T3001.FLIGHT_NO = T7037.FLIGHT_NO) AND (T7037.OPERATION_DATE = TO_DATE("+ sbsb +",'YYYY-MM-DD')) AND (T7037.A_OR_D= 'A')";
ssss = SQLString; }
else {
String SQLString = "SELECT T3001.GATE,T7037.OPERATION_DATE,T7037.FLIGHT_NO,T7037.AIRCRAFT_TYPE_IATA,T7037.STA,T7037.STA FROM T3001,T7037 WHERE (T3001.OPERATION_DATE=T7037.OPERATION_DATE) AND (T3001.FLIGHT_NO = T7037.FLIGHT_NO) AND (T7037.OPERATION_DATE = TO_DATE("+ sbsb +",'YYYY-MM-DD')) AND (T7037.A_OR_D= 'A') AND (T7037.serial_no > h) ";
ResultSet rs2=stmt.executeQuery(SQLString2);
while (rs2.next())
{
// String SQLString = "SELECT T3001.GATE,T7037.OPERATION_DATE,T7037.FLIGHT_NO,T7037.AIRCRAFT_TYPE_IATA,T7037.STA,T7037.STA FROM T3001,T7037 WHERE (OPERATION_DATE = TO_DATE("+ sbsb +",'YYYY-MM-DD')) AND (T7037.A_OR_D= 'A') AND (T7037.D_or_I='I')AND (T7037.SEQUENCE>h) ";
// String SQLString = "SELECT T3001.GATE,T7037.OPERATION_DATE,T7037.FLIGHT_NO,T7037.AIRCRAFT_TYPE_IATA,T7037.STA,T7037.STA FROM T3001,T7037 WHERE (T3001.OPERATION_DATE=T7037.OPERATION_DATE) AND (T3001.FLIGHT_NO = T7037.FLIGHT_NO) AND (T7037.OPERATION_DATE = TO_DATE("+ sbsb +",'YYYY-MM-DD')) AND (T7037.A_OR_D= 'A') AND (T7037.D_or_I='I') AND (T7037.SEQUENCE>h) ";
h = rs2.getString(1) ; //取第一条纪录索引?
}
ssss = SQLString; }
stmt.close();
con.close();
}
catch (SQLException e)
{System.out.println("SQLException2:"+e.getMessage());}
try{
Connection con1 = DriverManager.getConnection(sourceURL,user,password);
Statement stmt1 = con1.createStatement();
ResultSet rs1=stmt1.executeQuery(ssss);
while (rs1.next())
{count=rs1.getRow();} //计算当天的航班数量
//stmt1.close();
//con1.close();
{if (rs1.next())
{
long time = System.currentTimeMillis();
java.util.Date time2 = new java.util.Date(time);
String s0 = time2.toString(); //将操作日期改为标准格式
String s1_t=rs1.getString(2);
int m=s1_t.length();
int n=m-2;
String s1=s1_t.substring(0,n); //取航班号
String s2=rs1.getString(3);
//将STT时间改为标准格式
String s33_t=rs1.getString(5);
int m11=s33_t.length();
int n11=m11-2;
String s34=s33_t.substring(0,n11); //将ETD日期改为标准格式
String s3_t=rs1.getString(6);
int m1=s3_t.length();
int n1=m1-2;
String s3=s3_t.substring(0,n1); String s11=rs1.getString(4);
String s13=s11.trim();
String s12 = new String();
//A300 D1
if (s13.equals("A300"))
s12 = "AB4";
else if (s13.equals("AB4"))
s12 = "AB4";
//A300 6D1
else if (s13.equals("A300-600"))
s12 = "AB6";
else if (s13.equals("A306"))
s12 = "AB6";
else if (s13.equals("EA30"))
s12 = "AB6";
else if (s13.equals("AB6"))
s12 = "AB6";
//字符串常量
String st4113="# FIS-AODB : EVENT 4113 : ";
String st4117="# FIS-AODB : EVENT 4117 : ";
String st4130="# FIS-AODB : EVENT 4130 : ";
String st1=" FNO;";
String st2=";A_OR_D;A;UNI;";
String st3="+";
String st4="+A;ONO;O;STT;";
String st5=";IDU;I;ODA;";
String st6=";ETT;";
String st7=";ATY;";
String K="K";
String st8="BAY_SET;";
String st9=";BAY_STT;";
String st10=";FNO;";
String st11=";UNI;";
String st12="+A;ONO;O;GAT;";
String st13=";IDU;I;POS;";
String st14="ODA;"; //输出字符串,生成4113事件
String sf4113=(st4113+s0+"\n"+st1+s2+K+st2+s2+K+st3+s1+st4+s34+st5+s1+st7+s12);
//System.out.println(sf);
//构建文件名
File f4113=new File("/test/data/4113/","nmlb.data"); try{
if(i<10)
I="000"+Integer.toString(i);
else
if(10<=i&&i<=99)
I="00"+Integer.toString(i);
else
if(100<=i&&i<=300)
I="0"+Integer.toString(i);
BufferedWriter kow4113=new BufferedWriter(new FileWriter("/test/data/4113/" +"pekfis_"+TimeName+"_"+TimeName1+"_"+I+".data"));
kow4113.write(sf4113,0,sf4113.length());
kow4113.flush();
}
catch(IOException v)
{System.out.println("SQLException3:"+v.getMessage());}
String sf4117=(st4117+s0+"\n"+st1+s2+K+st2+s2+K+st3+s1+st4+s34+st5+s1+st6+s3+st7+s12);
//System.out.println(sf);
//构建文件名
File f4117=new File("/test/data/4113/","nmlb.data"); try{
if(i<10)
I="100"+Integer.toString(i);
else
if(10<=i&&i<=99)
I="10"+Integer.toString(i);
else
if(100<=i&&i<=999)
I="1"+Integer.toString(i);
BufferedWriter kow4117=new BufferedWriter(new FileWriter("/test/data/4117/" +"pekfis_"+TimeName+"_"+TimeName1+"_"+I+".data"));
kow4117.write(sf4117,0,sf4117.length());
kow4117.flush();
}
catch(IOException v1)
{System.out.println("SQLException4:"+v1.getMessage());}
String sf4130=(st4130+s0+"\n"+st8+s3+st1+s2+K+st9+s3+st11+s2+K+st3+s1+st12+"GATE_205"+st13+"205"+st14+s1);
//System.out.println(sf);
//构建文件名
File f4130=new File("/test/data/4113/","nmlb.data"); try{
if(i<10)
I="200"+Integer.toString(i);
else
if(10<=i&&i<=99)
I="20"+Integer.toString(i);
else
if(100<=i&&i<=999)
I="2"+Integer.toString(i);
BufferedWriter kow4130=new BufferedWriter(new FileWriter("/test/data/4130/" +"pekfis_"+TimeName+"_"+TimeName1+"_"+I+".data"));
kow4130.write(sf4130,0,sf4130.length());
kow4130.flush();
}
catch(IOException v2)
{System.out.println("SQLException5:"+v2.getMessage());}
}
}
stmt1.close();
con1.close();
toolkit.beep();
// System.out.println("共生成了"+count+"条数据!");
System.out.println("DataFile Output successfully!");
}
catch (SQLException g)
{System.out.println("SQLException6:"+g.getMessage());}
}
}
public static void main(String args[]){
new Test();
}
}
timer.schedule(new RemindTask(),0,180*1000); 的180*1000改成了1000,在run()里加了个打印的语句,现在没什么问题