📄 taskqrydao.java
字号:
package cn.com.iaspec.workflow.extbusiness.task.dao;
import cn.com.iaspec.workflow.client.web.formbean.TaskQryFormbean;
import java.util.List;
import cn.com.iaspec.workflow.db.WorkflowDBConnectionManager;
import java.sql.*;
import java.util.ArrayList;
import cn.com.iaspec.workflow.extbusiness.task.vo.NeedExecuteTask;
import org.apache.log4j.Logger;
import cn.com.iaspec.workflow.extbusiness.pagemanage.vo.PageInfo;
import cn.com.iaspec.workflow.extbusiness.pagemanage.business.PageSqlBuilder;
/**
* <p>Title: </p>
*
* <p>Description: </p>
*
* <p>Copyright: Copyright (c) 2005</p>
*
* <p>Company: IASPEC Technologies</p>
*
* @author leigm
* @version 1.0
*/
public class TaskQryDAO{
private static transient Logger logger = Logger.getLogger(TaskQryDAO.class);
/**
* 根据查询条件组装WHERE语句
* @param taskForm TaskQryFormbean
* @return String
*/
private String getWhereStr(TaskQryFormbean taskForm){
StringBuffer whereBuffer = new StringBuffer("");
if(taskForm.getSenderName() != null && !"".equals(taskForm.getSenderName())){
whereBuffer.append(" and wf_from_user_name = '")
.append(taskForm.getSenderName()).append("'");
}
if(taskForm.getTaskName() != null && !"".equals(taskForm.getTaskName())){
whereBuffer.append(" and wf_workitem_name = '").
append(taskForm.getTaskName()).append("'");
}
if(taskForm.getTitle() != null && !"".equals(taskForm.getTitle())){
whereBuffer.append(" and wf_project_title = '")
.append(taskForm.getTitle()).append("'");
}
return whereBuffer.toString();
}
/**
* 根据查询条件和当前用户资料,获取当前用户的待办任务
* @param PageInfo pageVars
* @return PageInfo
* @throws Exception
*/
public PageInfo getNeedExecuteTask(PageInfo pageVars)throws Exception{
TaskQryFormbean taskForm = (TaskQryFormbean)pageVars.getQueryObj();
Connection conn = null;
PreparedStatement ptmt = null;
ResultSet rs = null;
List taskList = new ArrayList();
List qryValues = new ArrayList();
NeedExecuteTask task = null;
try{
String userId = taskForm.getUserInfo().getUserId();
qryValues.add(userId);
qryValues.add(userId);
qryValues.add(userId);
qryValues.add(userId);
String whereStr = this.getWhereStr(taskForm);
String fullQrySql = "select * from view_wf_tasklist where (wki_state in(1,2,4) and " +
"(wki_user=? and wki_state='1' and wka_applyman is null) " +
"or ((atd_tamid =1 and wki_user=? and wki_state='4' and wka_applyman is null) " +
"or (atd_tamid =2 and wki_user=? and wki_state='4' and wka_applyman=wki_user)) " +
"or (wka_applyman=? and wki_state='2')) " + whereStr;
String sql = PageSqlBuilder.getInstance().buildSql(fullQrySql,pageVars,qryValues);
conn = WorkflowDBConnectionManager.getInstance().getConnection();
ptmt = conn.prepareStatement(sql);
logger.debug("\n###########\n\t sql = " + sql + "\n and userId = " + userId);
for(int i=0;i<qryValues.size();i++){
ptmt.setObject(i+1,qryValues.get(i));
}
rs = ptmt.executeQuery();
while(rs.next()){
task = new NeedExecuteTask();
task.setTaskId(rs.getString("wf_workitem_id"));
task.setTaskName(rs.getString("wf_workitem_name"));
task.setCreatedTime(rs.getDate("wf_create_date"));
task.setFinishTime(rs.getDate("wf_checkin_date"));
task.setFromUsrName(rs.getString("wf_from_user_name"));
task.setProjectId(rs.getString("wf_project_id"));
task.setProjectTitle(rs.getString("wf_project_title"));
task.setBusinessId(rs.getString("wf_business_id"));
task.setProcessInstId(rs.getString("wf_process_instance_id"));
task.setUrl(rs.getString("wf_workitem_url"));
taskList.add(task);
}
}catch(Exception e){
logger.error("数据库读写错误,获取当前用户的待办任务失败!");
e.printStackTrace();
throw e;
}finally{
WorkflowDBConnectionManager.getInstance().close(rs);
WorkflowDBConnectionManager.getInstance().close(ptmt,false);
WorkflowDBConnectionManager.getInstance().close(conn);
}
pageVars.setResultObj(taskList);
return pageVars;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -