⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 incomecountdaoimpl.java

📁 一个优秀的干洗店管理系统
💻 JAVA
字号:
package dao.incomecountdao.impl;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Iterator;
import java.util.Vector;

import javax.swing.JOptionPane;

import vo.CountVo;

import common.LogWriter;

import dao.common.DBConnectionManager;
import dao.common.DbException;
import dao.incomecountdao.InComeCountDao;

public class InComeCountDaoImpl implements InComeCountDao {
	private DBConnectionManager manager = DBConnectionManager.getInstance();
	private LogWriter log ;
	/**
	 * @param log
	 */
	public InComeCountDaoImpl(LogWriter log) {
		super();
		this.log = log;
	}
	
	public double getInComeCount(String fromDate, String toDate, String sql) throws DbException {
		double income = 0;
		Connection con = null;
		PreparedStatement pstmt = null;
		ResultSet set = null;
		try{
			con = manager.getConnection("oracle");
			pstmt = con.prepareStatement(sql);
			pstmt.setString(1, fromDate);
			pstmt.setString(2, toDate);
			set = pstmt.executeQuery();
			while(set.next()){
				income = set.getDouble(1);
			}
			log.log("收入统计成功", LogWriter.INFO);
		}catch (SQLException e) {
			log.log("收入统计失败", LogWriter.ERROR);
			JOptionPane.showMessageDialog(null, "收入统计查找dao异常:= " + e.getMessage());
//			System.out.println("收入统计查找dao异常:= " + e.getMessage());
		}finally{
			manager.freeConnection("oracle", con);
		}
		return income;
	}

	public long[] getOrderIds(String fromDate, String toDate, String sql) throws DbException {
		long[] ids = null;
		Connection con = null;
		PreparedStatement pstmt = null;
		ResultSet set = null;
		Vector v = null;	
		try{			
			con = manager.getConnection("oracle");
			pstmt = con.prepareStatement(sql);
			pstmt.setString(1, fromDate);
			pstmt.setString(2, toDate);
			set = pstmt.executeQuery();			
			v = new Vector();
			while(set.next()){
				long orderId = set.getLong("order_id");			
				v.addElement(new Long(orderId));
			}	
			if(v.size() == 0){
				JOptionPane.showMessageDialog(null, "数据库中没有从"+fromDate+"到"+toDate+"的orderId记录!");
//				throw new DbException("数据库中不存在符合条件的记录");
			}
			ids = new long[v.size()];
			Iterator iter = v.iterator();
			int i = 0;
			while(iter.hasNext()){
				ids[i] = Long.valueOf(iter.next().toString());
//				System.out.println("Ids["+i+"] = " + ids[i]);
				i++;
			}
			log.log("查找定单编号成功", LogWriter.INFO);
		}catch (SQLException e) {
			JOptionPane.showMessageDialog(null, "定单号查找dao异常:= " + e.getMessage());
//			System.out.println("定单号查找dao异常:= " + e.getMessage());
			log.log("查找定单编号失败", LogWriter.ERROR);
		}	finally{
			manager.freeConnection("oracle", con);
		}		
		return ids;
	}

	public Vector getIncomeCountByType(String fromDate, String toDate, String sql) throws DbException {
		Vector v = null;
		Connection con = null;
		PreparedStatement pstmt = null;
		ResultSet set = null;
		con = manager.getConnection("oracle");
		try {
			con = manager.getConnection("oracle");
			pstmt = con.prepareStatement(sql);
			pstmt.setString(1, fromDate);
			pstmt.setString(2, toDate);
			set = pstmt.executeQuery();			
			v = new Vector();
			while(set.next()){
				String type = set.getString(1);
//				System.out.println("time = "+type);
				double income = set.getDouble(2);
//				System.out.println("income ="+income);
				v.addElement(new CountVo(type, income));
			}
			if(v.size() == 0){
				JOptionPane.showMessageDialog(null, "数据库中没有从"+fromDate+"到"+toDate+"的统计记录!");
//				throw new DbException("数据库中不存在符合条件的记录");
			}
			log.log("按类型统计收入成功", LogWriter.INFO);
		} catch (SQLException e) {
			log.log("按类型统计收入失败", LogWriter.ERROR);
			e.printStackTrace();
		}finally{
			manager.freeConnection("oracle", con);
		}		
		return v;
	}

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -