一个用数据库实现的工作流(7)

2008-02-23 09:55:08来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折


this.getJdbcTemplate().update(
"insert into workflow_man(id,flow_id,account_id) values(?,?,?)",
new Object[] {man_id, id, account_id},
new int[] {Types.VARCHAR, Types.VARCHAR,
Types.VARCHAR});
}
}
return id;
}

public WorkflowNode[] getWorkflowNodesOfWork(String work_id) {

List list = this.getJdbcTemplate().query("select id,work_id,comment,status,sequence,name,description,start_date,end_date,audit_man from workflow_flow where "
"work_id=?",
new Object[] {work_id},
new int[] {Types.VARCHAR},
new RowMapper() {
public Object mapRow(ResultSet rs, int _int) throws SQLException {
WorkflowNode wfNode = new WorkflowNode();
wfNode.setId(rs.getString("id"));
wfNode.setWorkId(rs.getString("work_id"));
wfNode.setComment(rs.getString("comment"));
wfNode.setStatus(rs.getInt("status"));
wfNode.setSequence(rs.getInt("sequence"));
wfNode.setName(rs.getString("name"));
wfNode.setDescription(rs.getString("description"));
wfNode.setStartDate(rs.getTimestamp("start_date"));
wfNode.setEndDate(rs.getTimestamp("end_date"));
wfNode.setAuditMan(rs.getString("audit_man"));
return wfNode;

}
});
if (list != null && list.size() > 0) {
return (WorkflowNode[]) list.toArray(new WorkflowNode[list.size()]);
}
return null;
}

public void deleteWorkflowNode(String flow_id) {
this.getJdbcTemplate().update("delete from workflow_flow where id=?",
new Object[] {flow_id},
new int[] {Types.VARCHAR});
this.getJdbcTemplate().update(
"delete from workflow_man where flow_id=?",
new Object[] {flow_id},
new int[] {Types.VARCHAR});
}

/**
*
* @return Workflow
*/
public Workflow[] getAllRunningWorkflow() {
return this.getWorkflowByStatus(Workflow.WORKFLOW_STATUS_RUNNING);
}

public WorkflowNode getWorkflowNodeById(String node_id) {
Object obj = this.getJdbcTemplate().query(
"select id,work_id,comment,status,"
"sequence,name,description,start_date,end_date,audit_man from workflow_flow where id=?",
new Object[] {node_id}, new int[] {Types.VARCHAR},
new ResultSetExtractor() {
public Object extractData(ResultSet rs) throws SQLException,
DataAccessException {
if (rs.next()) {
WorkflowNode wfNode = new WorkflowNode();
wfNode.setId(rs.getString("id"));
wfNode.setWorkId(rs.getString("work_id"));
wfNode.setComment(rs.getString("comment"));
wfNode.setStatus(rs.getInt("status"));
wfNode.setSequence(rs.getInt("sequence"));
wfNode.setName(rs.getString("name"));
wfNode.setDescription(rs.getString("description"));
wfNode.setStartDate(rs.getTimestamp("start_date"));
wfNode.setEndDate(rs.getTimestamp("end_date"));
wfNode.setAuditMan(rs.getString("audit_man"));
return wfNode;

}
return null;
}
});
if (obj != null) {
return (WorkflowNode) obj;
}
return null;
}

/**
* 得到指定结点所包含的所有人员
* @param node_id String
* @return String[]
*/
public String[] getMansOfWorkflowNode(String node_id) {
List list = this.getJdbcTemplate().query(
"select account_id from workflow_man where flow_id=?",
new Object[] {node_id}, new int[] {Types.VARCHAR},
new RowMapper() {
public Object mapRow(ResultSet rs, int _int) throws SQLException {
return rs.getString("account_id");
}
});

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:[学习小记]Java的反射机制

下一篇:我的J2ME编程联系(1)——List