www.pudn.com > RFID_98798798698698.rar > TOrderDAO.java


/** 
 * T_Order表操作类 
 * @description:封装对t_order的相关操作 
 * @author:严伟 
 * @lastmodyfied:2006/11/03 by 严伟 
 */ 
package com.rfid.dao; 
 
import java.io.UnsupportedEncodingException; 
import java.sql.Connection; 
import java.sql.PreparedStatement; 
import java.sql.ResultSet; 
import java.sql.SQLException; 
import java.sql.Timestamp; 
import java.util.ArrayList; 
import java.util.Date; 
import java.util.List; 
 
//import com.rfid.global.DbUtil; 
import com.rfid.model.TOrder; 
import com.rfid.model.TStoreProducts; 
import com.rfid.global.*; 
 
public class TOrderDAO { 
	 
	/** 
	 * 将order信息插入数据库t_order表中 
	 * @param order 
	 * @return 
	 */ 
	public int insert(TOrder order) { 
		int result = 0; 
		Connection conn = DbUtil.getConnection(); 
		PreparedStatement stmt = null; 
		 
		String sqlStr = "insert into t_order(name,number,last_time,remark,category,input_user,input_time,status) "; 
		sqlStr += "values (?,?,?,?,?,?,?,?)"; 
 
		try { 
			stmt = conn.prepareStatement(sqlStr); 
			conn.setAutoCommit(false); 
			stmt.setString(1, order.getName()); 
			stmt.setInt(2, order.getNumber()); 
			stmt.setTimestamp(3, Timestamp.valueOf(order.getLast_time() 
					.toLocaleString())); 
			stmt.setString(4, order.getRemark()); 
			stmt.setInt(5, order.getCategory()); 
			stmt.setInt(6, order.getInput_user()); 
			stmt.setTimestamp(7, Timestamp.valueOf(order.getInput_time() 
					.toLocaleString())); 
			stmt.setInt(8, order.getStatus()); 
 
			result = stmt.executeUpdate(); 
			conn.commit(); 
		} catch (Exception e) { 
			try { 
				conn.rollback(); 
			} catch (SQLException e1) { 
				// TODO Auto-generated catch block 
				e1.printStackTrace(); 
			} 
		} finally { 
			try { 
				stmt.close(); 
				conn.close(); 
			} catch (SQLException e) { 
				// TODO Auto-generated catch block 
				e.printStackTrace(); 
			} 
		} 
 
		return result; 
	} 
 
	public List getOrder() { 
		List list = new ArrayList(); 
 
		String sqlStr = "select * from t_order order by id"; 
		Connection conn = DbUtil.getConnection(); 
		PreparedStatement stmt = null; 
		ResultSet rs = null; 
		try { 
			stmt = conn.prepareStatement(sqlStr); 
			conn.setAutoCommit(false); 
			rs = stmt.executeQuery(); 
			conn.commit(); 
 
			/* 遍历将rs中的结果插入list中返回 */ 
			if (rs != null) { 
				TOrder order = null; 
				while (rs.next()) { 
					order = new TOrder(); 
					order.setId(rs.getInt("id")); 
					order.setCategory(rs.getInt("category")); 
					order.setInput_time(rs.getDate("input_time")); 
					order.setInput_user(rs.getInt("input_user")); 
					order.setLast_time(rs.getDate("last_time")); 
					order.setName(rs.getString("name")); 
					order.setNumber(rs.getInt("number")); 
					order.setRemark(rs.getString("remark")); 
					order.setStatus(rs.getInt("status")); 
					list.add(order); 
				} 
			} 
		} catch (SQLException e) { 
			// TODO Auto-generated catch block 
			e.printStackTrace(); 
		} finally { 
			try { 
				rs.close(); 
				stmt.close(); 
				conn.close(); 
			} catch (SQLException e) { 
				// TODO Auto-generated catch block 
				e.printStackTrace(); 
			} 
		} 
		return list; 
	} 
	 
	/** 
	 * 取出所有某个状态下的订单 
	 * @param status 
	 * @return 
	 */ 
	public List getStatusOrder(int status) { 
		List list = new ArrayList(); 
 
		String sqlStr = "select * from t_order where status=" + status + " order by id"; 
		Connection conn = DbUtil.getConnection(); 
		PreparedStatement stmt = null; 
		ResultSet rs = null; 
		try { 
			stmt = conn.prepareStatement(sqlStr); 
			conn.setAutoCommit(false); 
			rs = stmt.executeQuery(); 
			conn.commit(); 
 
			/* 遍历将rs中的结果插入list中返回 */ 
			if (rs != null) { 
				TOrder order = null; 
				while (rs.next()) { 
					order = new TOrder(); 
					order.setId(rs.getInt("id")); 
					order.setCategory(rs.getInt("category")); 
					order.setInput_time(rs.getDate("input_time")); 
					order.setInput_user(rs.getInt("input_user")); 
					order.setLast_time(rs.getDate("last_time")); 
					order.setName(rs.getString("name")); 
					order.setNumber(rs.getInt("number")); 
					order.setRemark(rs.getString("remark")); 
					order.setStatus(rs.getInt("status")); 
					list.add(order); 
				} 
			} 
		} catch (SQLException e) { 
			// TODO Auto-generated catch block 
			e.printStackTrace(); 
		} finally { 
			try { 
				rs.close(); 
				stmt.close(); 
				conn.close(); 
			} catch (SQLException e) { 
				// TODO Auto-generated catch block 
				e.printStackTrace(); 
			} 
		} 
		return list; 
	} 
 
	 
	 
	public TOrder getOrder(int id) { 
		String sqlStr = "select * from t_order where id=" + id; 
		Connection conn = DbUtil.getConnection(); 
		PreparedStatement stmt = null; 
		ResultSet rs = null; 
		TOrder order = null; 
		try { 
			stmt = conn.prepareStatement(sqlStr); 
			conn.setAutoCommit(false); 
			rs = stmt.executeQuery(); 
			conn.commit(); 
 
			/* 遍历将rs中的结果插入order中返回 */ 
			if (rs.next()) { 
				order = new TOrder(); 
				order.setId(rs.getInt("id")); 
				order.setCategory(rs.getInt("category")); 
				order.setInput_time(rs.getDate("input_time")); 
				order.setInput_user(rs.getInt("input_user")); 
				order.setLast_time(rs.getDate("last_time")); 
				order.setName(rs.getString("name")); 
				order.setNumber(rs.getInt("number")); 
				order.setRemark(rs.getString("remark")); 
				order.setStatus(rs.getInt("status")); 
			} 
		} catch (SQLException e) { 
			// TODO Auto-generated catch block 
			e.printStackTrace(); 
		} finally { 
			try { 
				rs.close(); 
				stmt.close(); 
				conn.close(); 
			} catch (SQLException e) { 
				// TODO Auto-generated catch block 
				e.printStackTrace(); 
			} 
		} 
		return order; 
	} 
 
	public List searchByName(String name){ 
		List list = new ArrayList(); 
 
		String sqlStr = "select * from t_order where name like '%" + name + "%' order by id"; 
		Connection conn = DbUtil.getConnection(); 
		PreparedStatement stmt = null; 
		ResultSet rs = null; 
		try { 
			stmt = conn.prepareStatement(sqlStr); 
			conn.setAutoCommit(false); 
			rs = stmt.executeQuery(); 
			conn.commit(); 
 
			/* 遍历将rs中的结果插入list中返回 */ 
			if (rs != null) { 
				TOrder order = null; 
				while (rs.next()) { 
					order = new TOrder(); 
					order.setId(rs.getInt("id")); 
					order.setCategory(rs.getInt("category")); 
					order.setInput_time(rs.getDate("input_time")); 
					order.setInput_user(rs.getInt("input_user")); 
					order.setLast_time(rs.getDate("last_time")); 
					order.setName(rs.getString("name")); 
					order.setNumber(rs.getInt("number")); 
					order.setRemark(rs.getString("remark")); 
					order.setStatus(rs.getInt("status")); 
					list.add(order); 
				} 
			} 
		} catch (SQLException e) { 
			// TODO Auto-generated catch block 
			e.printStackTrace(); 
		} finally { 
			try { 
				rs.close(); 
				stmt.close(); 
				conn.close(); 
			} catch (SQLException e) { 
				// TODO Auto-generated catch block 
				e.printStackTrace(); 
			} 
		} 
		return list; 
	} 
	 
	public int delOrder(int id){ 
		String sqlStr = "delete from t_order where id=" + id; 
		Connection conn = DbUtil.getConnection(); 
		PreparedStatement stmt = null; 
		int result = 0; 
		try { 
			stmt = conn.prepareStatement(sqlStr); 
			conn.setAutoCommit(false); 
			result = stmt.executeUpdate(); 
			conn.commit(); 
		} catch (SQLException e) { 
			// TODO Auto-generated catch block 
			e.printStackTrace(); 
		} finally { 
			try { 
				stmt.close(); 
				conn.close(); 
			} catch (SQLException e) { 
				// TODO Auto-generated catch block 
				e.printStackTrace(); 
			} 
		} 
		return result; 
	} 
	 
	public int update(TOrder order){ 
		int result = 0; 
		Connection conn = DbUtil.getConnection(); 
		PreparedStatement stmt = null; 
		Date date = new Date(); 
		String sqlStr = "update t_order set name=?,number=?,last_time=?,remark=?," + 
				"category=?,input_user=?,input_time=?,status=? where id=" + order.getId(); 
 
		try { 
			stmt = conn.prepareStatement(sqlStr); 
			conn.setAutoCommit(false); 
			stmt.setString(1, order.getName()); 
			stmt.setInt(2, order.getNumber()); 
			stmt.setTimestamp(3, Timestamp.valueOf(order.getLast_time() 
					.toLocaleString())); 
			stmt.setString(4, order.getRemark()); 
			stmt.setInt(5, order.getCategory()); 
			stmt.setInt(6, order.getInput_user()); 
			stmt.setTimestamp(7, Timestamp.valueOf(order.getInput_time() 
					.toLocaleString())); 
			stmt.setInt(8, order.getStatus()); 
 
			result = stmt.executeUpdate(); 
			conn.commit(); 
		} catch (Exception e) { 
			try { 
				conn.rollback(); 
			} catch (SQLException e1) { 
				// TODO Auto-generated catch block 
				e1.printStackTrace(); 
			} 
		} finally { 
			try { 
				stmt.close(); 
				conn.close(); 
			} catch (SQLException e) { 
				// TODO Auto-generated catch block 
				e.printStackTrace(); 
			} 
		} 
 
		return result; 
	} 
	 
	public List getHistoryOrder() { 
		return getStatusOrder(Global.ORDER_STATUS_OUT); 
	} 
	 
	public List getCurrentOrder() { 
		List list = new ArrayList(); 
 
		String sqlStr = "select * from t_order where status!=" + Global.ORDER_STATUS_OUT + " order by id"; 
		Connection conn = DbUtil.getConnection(); 
		PreparedStatement stmt = null; 
		ResultSet rs = null; 
		try { 
			stmt = conn.prepareStatement(sqlStr); 
			conn.setAutoCommit(false); 
			rs = stmt.executeQuery(); 
			conn.commit(); 
 
			/* 遍历将rs中的结果插入list中返回 */ 
			if (rs != null) { 
				TOrder order = null; 
				while (rs.next()) { 
					order = new TOrder(); 
					order.setId(rs.getInt("id")); 
					order.setCategory(rs.getInt("category")); 
					order.setInput_time(rs.getDate("input_time")); 
					order.setInput_user(rs.getInt("input_user")); 
					order.setLast_time(rs.getDate("last_time")); 
					order.setName(rs.getString("name")); 
					order.setNumber(rs.getInt("number")); 
					order.setRemark(rs.getString("remark")); 
					order.setStatus(rs.getInt("status")); 
					list.add(order); 
				} 
			} 
		} catch (SQLException e) { 
			// TODO Auto-generated catch block 
			e.printStackTrace(); 
		} finally { 
			try { 
				rs.close(); 
				stmt.close(); 
				conn.close(); 
			} catch (SQLException e) { 
				// TODO Auto-generated catch block 
				e.printStackTrace(); 
			} 
		} 
		return list; 
	} 
	 
	public void setStatus(int id,int status) { 
		String sqlStr = "update t_order set status=" + status + " where id=" + id; 
		Connection conn = DbUtil.getConnection(); 
		PreparedStatement stmt = null; 
		 
		try { 
			stmt = conn.prepareStatement(sqlStr); 
			conn.setAutoCommit(false); 
			stmt.executeUpdate(); 
			conn.commit(); 
		  
	    } catch (SQLException e) { 
		// TODO Auto-generated catch block 
	    	e.printStackTrace(); 
	    } finally { 
		try { 
			stmt.close(); 
			conn.close(); 
		} catch (SQLException e) { 
			// TODO Auto-generated catch block 
			e.printStackTrace(); 
		} 
	} 
	} 
	 
	public List searchByIDForCurrent(int id){ 
		List list = new ArrayList(); 
 
		String sqlStr = "select * from t_order where id =" + id + " and status!=" + Global.ORDER_STATUS_OUT; 
		Connection conn = DbUtil.getConnection(); 
		PreparedStatement stmt = null; 
		ResultSet rs = null; 
		try { 
			stmt = conn.prepareStatement(sqlStr); 
			conn.setAutoCommit(false); 
			rs = stmt.executeQuery(); 
			conn.commit(); 
 
			/* 遍历将rs中的结果插入list中返回 */ 
			if (rs != null) { 
				TOrder order = null; 
				while (rs.next()) { 
					order = new TOrder(); 
					order.setId(rs.getInt("id")); 
					order.setCategory(rs.getInt("category")); 
					order.setInput_time(rs.getDate("input_time")); 
					order.setInput_user(rs.getInt("input_user")); 
					order.setLast_time(rs.getDate("last_time")); 
					order.setName(rs.getString("name")); 
					order.setNumber(rs.getInt("number")); 
					order.setRemark(rs.getString("remark")); 
					order.setStatus(rs.getInt("status")); 
					list.add(order); 
				} 
			} 
		} catch (SQLException e) { 
			// TODO Auto-generated catch block 
			e.printStackTrace(); 
		} finally { 
			try { 
				rs.close(); 
				stmt.close(); 
				conn.close(); 
			} catch (SQLException e) { 
				// TODO Auto-generated catch block 
				e.printStackTrace(); 
			} 
		} 
		return list; 
	} 
	 
	public List searchByIDForHistory(int id){ 
		List list = new ArrayList(); 
 
		String sqlStr = "select * from t_order where id =" + id + " and status=" + Global.ORDER_STATUS_OUT; 
		Connection conn = DbUtil.getConnection(); 
		PreparedStatement stmt = null; 
		ResultSet rs = null; 
		try { 
			stmt = conn.prepareStatement(sqlStr); 
			conn.setAutoCommit(false); 
			rs = stmt.executeQuery(); 
			conn.commit(); 
 
			/* 遍历将rs中的结果插入list中返回 */ 
			if (rs != null) { 
				TOrder order = null; 
				while (rs.next()) { 
					order = new TOrder(); 
					order.setId(rs.getInt("id")); 
					order.setCategory(rs.getInt("category")); 
					order.setInput_time(rs.getDate("input_time")); 
					order.setInput_user(rs.getInt("input_user")); 
					order.setLast_time(rs.getDate("last_time")); 
					order.setName(rs.getString("name")); 
					order.setNumber(rs.getInt("number")); 
					order.setRemark(rs.getString("remark")); 
					order.setStatus(rs.getInt("status")); 
					list.add(order); 
				} 
			} 
		} catch (SQLException e) { 
			// TODO Auto-generated catch block 
			e.printStackTrace(); 
		} finally { 
			try { 
				rs.close(); 
				stmt.close(); 
				conn.close(); 
			} catch (SQLException e) { 
				// TODO Auto-generated catch block 
				e.printStackTrace(); 
			} 
		} 
		return list; 
	} 
	 
	public List searchByNameForCurrent(String name){ 
		List list = new ArrayList(); 
 
		String sqlStr = "select * from t_order where name like '%" + name + "%' and status!=" + Global.ORDER_STATUS_OUT ; 
		Connection conn = DbUtil.getConnection(); 
		PreparedStatement stmt = null; 
		ResultSet rs = null; 
		try { 
			stmt = conn.prepareStatement(sqlStr); 
			conn.setAutoCommit(false); 
			rs = stmt.executeQuery(); 
			conn.commit(); 
 
			/* 遍历将rs中的结果插入list中返回 */ 
			if (rs != null) { 
				TOrder order = null; 
				while (rs.next()) { 
					order = new TOrder(); 
					order.setId(rs.getInt("id")); 
					order.setCategory(rs.getInt("category")); 
					order.setInput_time(rs.getDate("input_time")); 
					order.setInput_user(rs.getInt("input_user")); 
					order.setLast_time(rs.getDate("last_time")); 
					order.setName(rs.getString("name")); 
					order.setNumber(rs.getInt("number")); 
					order.setRemark(rs.getString("remark")); 
					order.setStatus(rs.getInt("status")); 
					list.add(order); 
				} 
			} 
		} catch (SQLException e) { 
			// TODO Auto-generated catch block 
			e.printStackTrace(); 
		} finally { 
			try { 
				rs.close(); 
				stmt.close(); 
				conn.close(); 
			} catch (SQLException e) { 
				// TODO Auto-generated catch block 
				e.printStackTrace(); 
			} 
		} 
		return list; 
	} 
	 
	public List searchByNameForHistory(String name){ 
		List list = new ArrayList(); 
 
		String sqlStr = "select * from t_order where name like '%" + name + "%' and status=" + Global.ORDER_STATUS_OUT ; 
		Connection conn = DbUtil.getConnection(); 
		PreparedStatement stmt = null; 
		ResultSet rs = null; 
		try { 
			stmt = conn.prepareStatement(sqlStr); 
			conn.setAutoCommit(false); 
			rs = stmt.executeQuery(); 
			conn.commit(); 
 
			/* 遍历将rs中的结果插入list中返回 */ 
			if (rs != null) { 
				TOrder order = null; 
				while (rs.next()) { 
					order = new TOrder(); 
					order.setId(rs.getInt("id")); 
					order.setCategory(rs.getInt("category")); 
					order.setInput_time(rs.getDate("input_time")); 
					order.setInput_user(rs.getInt("input_user")); 
					order.setLast_time(rs.getDate("last_time")); 
					order.setName(rs.getString("name")); 
					order.setNumber(rs.getInt("number")); 
					order.setRemark(rs.getString("remark")); 
					order.setStatus(rs.getInt("status")); 
					list.add(order); 
				} 
			} 
		} catch (SQLException e) { 
			// TODO Auto-generated catch block 
			e.printStackTrace(); 
		} finally { 
			try { 
				rs.close(); 
				stmt.close(); 
				conn.close(); 
			} catch (SQLException e) { 
				// TODO Auto-generated catch block 
				e.printStackTrace(); 
			} 
		} 
		return list; 
	} 
	 
	public static void main(String args[]) { 
		String str = "纵纹"; 
 
		TOrder order = new TOrder(); 
		order.setCategory(1); 
		order.setInput_time(new Date()); 
		order.setInput_user(1); 
		order.setLast_time(new Date()); 
		try { 
			order.setName(new String(str.getBytes("gbk"), "utf-8")); 
		} catch (UnsupportedEncodingException e) { 
			// TODO Auto-generated catch block 
			e.printStackTrace(); 
		} 
		order.setNumber(2); 
		order.setRemark("read"); 
		order.setStatus(2); 
		new TOrderDAO().insert(order); 
		System.out.println("success"); 
	} 
}