一个用数据库实现的工作流(5)
2008-02-23 09:55:08来源:互联网 阅读 ()
}
});
return list;
}
public int getTemplateNodeMaxSequence(String template_id) {
Object obj = this.getJdbcTemplate().query("select max(sequence) as maxsequence from workflow_template_flow where template_id=?",
new Object[] {template_id},
new int[] {Types.VARCHAR},
new ResultSetExtractor() {
public Object extractData(ResultSet rs) throws SQLException,
DataAccessException {
if (rs.next()) {
int maxnum = rs.getInt("maxsequence");
return new Integer(maxnum);
}
return new Integer(0);
}
});
return ((Integer) obj).intValue();
}
public WorkflowTemplateNode[] getTemplateNodesOfTemplate(String template_id) {
List list = this.getJdbcTemplate().query(
"select * from workflow_template_flow where template_id=? order by sequence",
new Object[] {template_id}, new int[] {Types.VARCHAR},
new RowMapper() {
public Object mapRow(ResultSet rs, int _int) throws SQLException {
WorkflowTemplateNode tnode = new WorkflowTemplateNode();
tnode.setId(rs.getString("id"));
tnode.setDescription(rs.getString("description"));
tnode.setName(rs.getString("name"));
tnode.setSequence(rs.getInt("sequence"));
tnode.setWorkId(rs.getString("template_id"));
return tnode;
}
});
if (list != null) {
for (int i = 0; i < list.size(); i ) {
WorkflowTemplateNode tnode = (WorkflowTemplateNode) list.get(i);
List mans = this.getTemplateNodeMans(tnode.getId());
tnode.setMans(mans);
}
return (WorkflowTemplateNode[]) list.toArray(new
WorkflowTemplateNode[
list.size()]);
}
return null;
}
public Workflow getWorkflowById(String id) {
Object obj = this.getJdbcTemplate().query("select id,doc_id,status,"
"flow_id,start_date,end_date,comment from workflow_work where id=?",
new Object[] {id},
new int[] {Types.VARCHAR},
new ResultSetExtractor() {
public Object extractData(ResultSet rs) throws SQLException,
DataAccessException {
if (rs.next()) {
Workflow wf = new Workflow();
wf.setId(rs.getString("id"));
wf.setDocId(rs.getString("doc_id"));
wf.setStatus(rs.getInt("status"));
wf.setComment(rs.getString("comment"));
wf.setStartDate(rs.getTimestamp("start_date"));
wf.setEndDate(rs.getTimestamp("end_date"));
wf.setFlowId(rs.getString("flow_id"));
return wf;
}
return null;
}
});
if (obj != null) {
return (Workflow) obj;
}
return null;
}
public Workflow getWorkflowByName(String id) {
return null;
}
/**
* 根据状态得到工作流
* @param status int
* @return Workflow[]
*/
public Workflow[] getWorkflowByStatus(int status) {
List list = this.getJdbcTemplate().query("select id,doc_id,status,"
"flow_id,start_date,end_date,comment from workflow_work where status=? order by start_date desc",
new Object[] {new Integer(
status)},
new int[] {Types.INTEGER},
new RowMapper() {
public Object mapRow(ResultSet rs, int _int) throws SQLException {
Workflow wf = new Workflow();
wf.setId(rs.getString("id"));
wf.setDocId(rs.getString("doc_id"));
wf.setStatus(rs.getInt("status"));
wf.setComment(rs.getString("comment"));
wf.setStartDate(rs.getTimestamp("start_date"));
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇:[学习小记]Java的反射机制
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash
