📄 autot2.java
字号:
package servlet;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;
import java.io.UnsupportedEncodingException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.sql.Statement;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.Timer;
import java.util.TimerTask;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.dom4j.Document;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.XMLWriter;
import servlet.roomReport.task;
public class autoT2 extends javax.servlet.http.HttpServlet implements javax.servlet.Servlet {
static final long serialVersionUID = 1L;
Timer t;
public autoT2() {
Date now=new Date();
SimpleDateFormat format= new SimpleDateFormat("dd/MM/yyyy");
String n=format.format(now);
Calendar cl=Calendar.getInstance();
cl.set(2007, 10, 8, 22, 43);
t=new Timer();
t.schedule(new task(),0,24*60*60*1000);//60 seconds
}
public void init(ServletConfig config) throws ServletException
{
super.init(config);
checkDB cd=new checkDB();
}
static private ResultSet rs;
static private ResultSetMetaData rm;
static private Statement stmt;
static private Connection conn;
static private String[] fin_date,id;
static void query(String query)
{
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver").newInstance();
String driver = "Driver={Microsoft Access Driver (*.mdb)}";
String dbq = "DBQ=E:\\Java\\Tomcat 6.0\\webapps\\ROOT\\database\\HRSDB.mdb";
String connectionString = "jdbc:odbc:"+driver+";"+dbq;
conn = DriverManager.getConnection(connectionString);
stmt = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
rs=stmt.executeQuery(query);
rm=rs.getMetaData();
}
catch (Exception e){
System.out.println(e.getCause()+": "+e.getMessage()+": "+e.getStackTrace());
}
}
static void conn()
{
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver").newInstance();
String driver = "Driver={Microsoft Access Driver (*.mdb)}";
String dbq = "DBQ=E:\\Java\\Tomcat 6.0\\webapps\\ROOT\\database\\HRSDB.mdb";
String connectionString = "jdbc:odbc:"+driver+";"+dbq;
conn = DriverManager.getConnection(connectionString);
stmt = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
}
catch (Exception e){
System.out.println(e.getCause()+": "+e.getMessage()+": "+e.getStackTrace());
}
}
static void close()
{
try
{
//rs.close();
stmt.close();
conn.close();
}
catch (SQLException e)
{
e.printStackTrace();
}
}
static void checkAvailable()
{
insert in=new insert();
int rowNum=0,lp=0;
SimpleDateFormat format= new SimpleDateFormat("dd/MM/yyyy");
Date currentTime=new Date();
Calendar cl=Calendar.getInstance();
String d1=format.format(cl.getTime());
String d2=d1.toString();
String[] sa=d2.split("/");
String query="SELECT fin_date,ID,room_id FROM Booking;";
query(query);
try
{
if (!rs.wasNull())
{
if (rs.next())
{
for (rs.first(); !rs.isAfterLast(); rs.next())
{
rowNum++;
}// get row number
}
}
else
{
//none
}
rs.first();
fin_date=new String[rowNum+1];
id=new String[rowNum+1];
String[] sa2;
for (rs.first();!rs.isAfterLast();rs.next())
{
fin_date[lp]=rs.getString("fin_date");
id[lp]=rs.getString("ID");
sa2=fin_date[lp].split("/");
if (sa[2].equals(sa2[2]))
{//equal year
if (sa[1].equals(sa2[1]))
{//equal month
if(sa[0].equals(sa2[0])||Integer.valueOf(sa[0])>Integer.valueOf(sa2[0]))
{//equal day
query="DELETE FROM Booking WHERE ID='"+id[lp]+"';";
in.update(query);
query="delete from History where related_id='"+id[lp]+"';";
in.update(query);
query="UPDATE Room SET status='free' WHERE ID='"+rs.getString("room_id")+"';";
in.update(query);
}
else
{
//none activity
}
}
else if (Integer.valueOf(sa[1])>Integer.valueOf(sa2[1]))
{
if(sa[0].equals(sa2[0])||Integer.valueOf(sa[0])>Integer.valueOf(sa2[0]))
{//equal day
query="DELETE FROM Booking WHERE ID="+Integer.valueOf(Integer.valueOf(id[lp]))+";";
in.update(query);
query="delete from History where related_id='"+id[lp]+"';";
in.update(query);
query="UPDATE Room SET status='free' WHERE ID='"+rs.getString("room_id")+"';";
in.update(query);
}
else
{
//none activity
}
}
else
{
//none
}
}
else
{
//none
}
lp++;
}//put every row data to array
}
catch (SQLException e)
{
System.out.println("No more booking existed...");
System.out.println("1: "+e.getCause()+":"+e.getStackTrace());
}
//delete booking record function finish
//update room status function finish
close();
}
class task extends TimerTask
{
@Override
public void run()
{
checkDB.checkAvailable();
}
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -