📄 draftboxdao.java
字号:
package com.oa.lp.dao;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.List;
import com.oa.lp.model.DraftBox;
import com.oa.lp.model.DraftBoxAnnex;
import com.oa.lp.model.Employee;
import com.oa.lp.util.DTOPopulator;
import com.oa.lp.util.PageList;
import com.oa.lp.util.Pages;
public class DraftBoxDAO {
private Connection conn;
public Connection getConn() {
return conn;
}
public void setConn(Connection conn) {
this.conn = conn;
}
//添加草稿,和附件
public void addDraft(DraftBox draft,List annexList) throws SQLException{
int draftId=0;
//添加草稿
String sql = "insert into DRAFT_BOX(EMP_ID,SEND_PERSON_ID,SEND_PERSON_NAME,ACCEPT_PERSON_ID,ACCEPT_PERSON_NAME,TITLE,CONTENT,SAVE_TIME)" +
"values(?,?,?,?,?,?,?,getDate()) select SCOPE_IDENTITY()";
PreparedStatement pstmt = conn.prepareStatement(sql);
pstmt.setInt(1,draft.getEmpId());
pstmt.setString(2,draft.getSendPersonId());
pstmt.setString(3,draft.getSendPersonName());
pstmt.setString(4,draft.getAcceptPersonId());
pstmt.setString(5,draft.getAcceptPersonName());
pstmt.setString(6,draft.getTitle());
pstmt.setString(7,draft.getContent());
ResultSet rs = pstmt.executeQuery();
if(rs.next()){
draftId = rs.getInt(1);
}
rs.close();
pstmt.close();
//添加附件
if(annexList!=null){
sql = "insert into DRAFT_BOX_ANNEX(DRAFT_ID,NAME,PATH)values(?,?,?)";
pstmt = conn.prepareStatement(sql);
for(int i=0;i<annexList.size();i++){
DraftBoxAnnex annex=(DraftBoxAnnex)annexList.get(i);
pstmt.setInt(1,draftId);
pstmt.setString(2,annex.getName());
pstmt.setString(3,annex.getPath());
pstmt.executeUpdate();
}
}
rs.close();
pstmt.close();
}
//删除
public void delDraft(int draftId) throws SQLException{
//先删除附件
String sql = "delete from DRAFT_BOX_ANNEX where DRAFT_ID=?";
PreparedStatement pstmt = conn.prepareStatement(sql);
pstmt.setInt(1,draftId);
pstmt.executeUpdate();
pstmt.close();
//再删除草稿
sql = "delete from DRAFT_BOX where DRAFT_ID=?";
pstmt = conn.prepareStatement(sql);
pstmt.setInt(1,draftId);
pstmt.executeUpdate();
pstmt.close();
}
/*
* 通过empId 返回 草稿列表
*/
public PageList listAllDraft(Pages page,int empId) throws Exception{
PageList pageList = null;
//总录数
page.setAllRecord(countDraft());
page.doPage();
StringBuffer sql = new StringBuffer();
sql.append("select * from (");
sql.append("select top "+page.getPageSize()+" * from (");
sql.append("select top "+(page.getPageSize()*page.getCPage())+" * from ");
sql.append("DRAFT_BOX order by DRAFT_ID desc) t1 order by DRAFT_ID asc) t2 order by DRAFT_ID desc");
sql.append("where EMP_ID=?");
PreparedStatement pstmt = conn.prepareStatement(sql.toString());
pstmt.setInt(1,empId);
ResultSet rs = pstmt.executeQuery();
//将结果集中的每一行记录封装成一个对象,再放进集合返回
List list = DTOPopulator.populate(rs, DraftBox.class);
pageList.setPage(page);
pageList.setObjectList(list);
pstmt.close();
return pageList;
}
/*
* 通过draftId返回草稿
*/
public DraftBox getById(int draftId) throws Exception{
DraftBox draftbox =null;
String sql = "select * from DRAFT_BOX where DRAFT_ID=?";
PreparedStatement pstmt = conn.prepareStatement(sql);
pstmt.setInt(1,draftId);
ResultSet rs = pstmt.executeQuery();
//将结果集中的每一行记录封装成一个对象,再放进集合返回
List list = DTOPopulator.populate(rs, DraftBox.class);
//取集合中的第一个元素返回
if(list.size()>0){
draftbox=(DraftBox)list.get(0);
}
rs.close();
pstmt.close();
return draftbox;
}
/*
* 通过draftId返回草稿附件列表
*/
public List getAnnexByDraftId(int draftId) throws Exception{
List list = null;
String sql = "select * from DRAFT_BOX_ANNEX where DRAFT_ID=?";
PreparedStatement pstmt = conn.prepareStatement(sql);
pstmt.setInt(1,draftId);
ResultSet rs = pstmt.executeQuery();
list=DTOPopulator.populate(rs, DraftBoxAnnex.class);
rs.close();
pstmt.close();
return list;
}
/**
* 草稿总记录数
* @return
* @throws SQLException
*/
public int countDraft() throws SQLException{
int count = 0;
String sql = "select count(*) from DRAFT_BOX";
PreparedStatement pstmt = conn.prepareStatement(sql);
ResultSet rs = pstmt.executeQuery();
if(rs.next()){
count = rs.getInt(1);
}
pstmt.close();
return count;
}
/*
* 通过empId 返回 草稿列表没有分页
*/
public List listAllDraft(int empId) throws Exception{
List list=null;
String sql="select *from DRAFT_BOX where EMP_ID=?";
PreparedStatement pstmt = conn.prepareStatement(sql);
pstmt.setInt(1,empId);
ResultSet rs = pstmt.executeQuery();
//将结果集中的每一行记录封装成一个对象,再放进集合返回
list=DTOPopulator.populate(rs, DraftBox.class);
rs.close();
pstmt.close();
return list;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -