📄 incomecountdaoimpl.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 + -