`
- 浏览:
188759 次
- 来自:
...
-
基于开源工作流引擎OSWorkflow的业务系统实例——请假审批系统2
java 代码
- package com.qiny.leave;
-
- import java.util.Map;
- import com.opensymphony.module.propertyset.PropertySet;
- import com.opensymphony.workflow.FunctionProvider;
- import com.opensymphony.workflow.spi.WorkflowEntry;
-
- import com.qiny.dao.LeaveDAO;
- import org.apache.log4j.Logger;
-
- public class ApplyFunction implements FunctionProvider {
-
- private static Logger logger = (Logger) Logger.getInstance(ApplyFunction.class);
-
- public void execute(Map transientVars, Map args, PropertySet ps) {
- logger.info("execute ......");
- WorkflowEntry entry = (WorkflowEntry) transientVars.get("entry");
- long wfid = entry.getId();
- int actionId = ((Integer) transientVars.get("actionId")).intValue();
- logger.info("execute actionId=" + actionId);
- String applicant = (String) transientVars.get("applicant");
- String reason = (String) transientVars.get("reason");
- int dayCount = ((Integer) transientVars.get("dayCount")).intValue();
- LeaveApply leaveApply = new LeaveApply(applicant, reason, dayCount);
- leaveApply.setWfid(wfid);
- LeaveDAO leaveDao = new LeaveDAO();
- leaveDao.addLeaveApply(leaveApply);
- ps.setInt("dayCount", dayCount);
- logger.info("execute leaveDao has added leaveApply!");
- }
- }
-
-
-
-
- package com.qiny.leave;
-
- import java.util.Map;
- import com.opensymphony.module.propertyset.PropertySet;
- import com.opensymphony.workflow.FunctionProvider;
- import com.opensymphony.workflow.spi.WorkflowEntry;
-
- import com.qiny.dao.LeaveDAO;
- import org.apache.log4j.Logger;
-
- public class ApproveFunction implements FunctionProvider {
-
- private static Logger logger = (Logger) Logger.getInstance(ApproveFunction.class);
-
- public void execute(Map transientVars, Map args, PropertySet ps) {
- logger.info("execute ......");
- WorkflowEntry entry = (WorkflowEntry) transientVars.get("entry");
- long wfid = entry.getId();
- int actionId = ((Integer) transientVars.get("actionId")).intValue();
- logger.info("execute actionId=" + actionId);
- int applyID = ((Integer) transientVars.get("applyID")).intValue();
- String approver = (String) transientVars.get("approver");
- int opinion = ((Integer) transientVars.get("opinion")).intValue();
- LeaveApprove LeaveApprove = new LeaveApprove(applyID, approver, opinion);
- LeaveDAO leaveDao = new LeaveDAO();
- leaveDao.addLeaveApprove(LeaveApprove);
- ps.setInt("opinion", opinion);
- logger.info("execute leaveDao has added leaveApprove!");
- }
- }
-
-
- package com.qiny.leave;
-
- public class LeaveApply {
-
- private int applyID;
- private String applicant;
- private String reason;
- private String applyTime;
- private int dayCount;
- private long wfid;
-
- public LeaveApply(){
- }
-
- public LeaveApply(String applicant,String reason,int dayCount){
- this.applicant = applicant;
- this.reason = reason;
- this.dayCount = dayCount;
- }
-
- public int getApplyID() {
- return applyID;
- }
-
- public String getApplicant() {
- return applicant;
- }
-
- public String getReason() {
- return reason;
- }
-
- public String getApplyTime() {
- return applyTime;
- }
-
- public int getDayCount() {
- return dayCount;
- }
-
- public long getWfid() {
- return wfid;
- }
-
- public void setApplyID(int applyID) {
- this.applyID = applyID;
- }
-
- public void setApplicant(String applicant) {
- this.applicant = applicant;
- }
-
- public void setReason(String reason) {
- this.reason = reason;
- }
-
- public void setApplyTime(String applyTime) {
- this.applyTime = applyTime;
- }
-
- public void setDayCount(int dayCount) {
- this.dayCount = dayCount;
- }
-
- public void setWfid(long wfid) {
- this.wfid = wfid;
- }
-
- }
-
-
- package com.qiny.leave;
-
- public class LeaveApprove {
-
- private int applyID;
- private String approver;
- private String approveTime;
- private int opinion;
-
- public LeaveApprove(){
- }
-
- public LeaveApprove(int applyID,String approver,int opinion){
- this.applyID = applyID;
- this.approver = approver;
- this.opinion = opinion;
- }
-
- public String getOpinionString(){
- return opinion == 1 ? "批准" : "拒绝";
- }
-
- public int getApplyID() {
- return applyID;
- }
-
- public String getApprover() {
- return approver;
- }
-
- public String getApproveTime() {
- return approveTime;
- }
-
- public int getOpinion() {
- return opinion;
- }
-
- public void setApplyID(int applyID) {
- this.applyID = applyID;
- }
-
- public void setApprover(String approver) {
- this.approver = approver;
- }
-
- public void setApproveTime(String approveTime) {
- this.approveTime = approveTime;
- }
-
- public void setOpinion(int opinion) {
- this.opinion = opinion;
- }
-
-
- }
-
-
-
-
- package com.qiny.dao;
-
- import java.util.List;
- import java.util.ArrayList;
-
- import java.sql.Connection;
- import java.sql.Statement;
- import java.sql.ResultSet;
- import java.sql.SQLException;
- import javax.sql.DataSource;
-
- import javax.naming.InitialContext;
- import javax.naming.NamingException;
-
- import com.qiny.leave.LeaveApply;
- import com.qiny.leave.LeaveApprove;
-
- public class LeaveDAO {
-
- protected static DataSource ds = null;
-
- public LeaveDAO() {
- if (ds == null) {
- try {
- InitialContext ic = new InitialContext();
- ds = (DataSource) ic.lookup("java:JSQLConnectDB_LeaveApply");
- } catch (NamingException ne) {
- throw new RuntimeException("NamingException while looking");
- }
- }
- }
-
- public void addLeaveApply(LeaveApply leaveApply) {
- try {
- String exeSql = ""
- + " INSERT INTO bus_leaveApply (applicant,reason,applyTime,dayCount,wfid)"
- + " VALUES ('" + leaveApply.getApplicant() + "','" + leaveApply.getReason()
- + " ',CONVERT(VARCHAR(20),GETDATE(),121 ),'" + leaveApply.getDayCount()
- + " '," + leaveApply.getWfid() + ")";
- Connection connection = ds.getConnection();
- Statement statement = connection.createStatement();
- statement.execute(exeSql);
- statement.close();
- connection.close();
- } catch (SQLException ex) {
- throw new RuntimeException("DAO addLeaveApply failed!\n" + ex.getMessage());
- }
- }
-
- public void addLeaveApprove(LeaveApprove leaveApproval) {
- try {
- String exeSql = ""
- + " INSERT INTO bus_leaveApprove (applyID,approver,approveTime,opinion)"
- + " VALUES ('" + leaveApproval.getApplyID() + "','" + leaveApproval.getApprover()
- + " ',CONVERT(VARCHAR(20),GETDATE(),121 )," + leaveApproval.getOpinion() + ")";
- Connection connection = ds.getConnection();
- Statement statement = connection.createStatement();
- statement.execute(exeSql);
- statement.close();
- connection.close();
- } catch (SQLException ex) {
- throw new RuntimeException("DAO addLeaveApprove failed!\n" + ex.getMessage());
- }
- }
-
- public LeaveApply getLeaveApply(long wfid) {
- LeaveApply leaveApply = new LeaveApply();
- try {
- String querySql = ""
- + " SELECT applyID,applicant,reason,applyTime,dayCount,wfid "
- + " FROM bus_leaveApply WHERE wfid=" + wfid;
- Connection connection = ds.getConnection();
- Statement statement = connection.createStatement();
- ResultSet rs = statement.executeQuery(querySql);
- if (rs.next()) {
- leaveApply.setApplyID(rs.getInt("applyID"));
- leaveApply.setApplicant(rs.getString("applicant"));
- leaveApply.setReason(rs.getString("reason"));
- leaveApply.setApplyTime(rs.getString("applyTime"));
- leaveApply.setDayCount(rs.getInt("dayCount"));
- leaveApply.setWfid(rs.getLong("wfid"));
- }
- rs.close();
- statement.close();
- connection.close();
- } catch (SQLException ex) {
- throw new RuntimeException("DAO getLeaveApply failed!\n" + ex.getMessage());
- }
- return leaveApply;
- }
-
- public List getLeaveAprovals(int applyID) {
- List approvals = new ArrayList();
- try {
- String querySql = ""
- + " SELECT applyID,approver,approveTime,opinion "
- + " FROM bus_leaveApprove WHERE applyID=" + applyID;
- Connection connection = ds.getConnection();
- Statement statement = connection.createStatement();
- ResultSet rs = statement.executeQuery(querySql);
- while (rs.next()) {
- LeaveApprove leaveApproval = new LeaveApprove();
- leaveApproval.setApplyID(rs.getInt("applyID"));
- leaveApproval.setApprover(rs.getString("approver"));
- leaveApproval.setApproveTime(rs.getString("approveTime"));
- leaveApproval.setOpinion(rs.getInt("opinion"));
- approvals.add(leaveApproval);
- }
- rs.close();
- statement.close();
- connection.close();
- } catch (SQLException ex) {
- throw new RuntimeException("DAO getLeaveAprovals failed!\n" + ex.getMessage());
- }
- return approvals;
- }
-
- }
-
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
电子政务,即政府机构运用现代计算机和网络技术,将其管理和服务职能转移到网络,同时实现政府组织结构和工作流程的重组优化,超越时间、空间和部门分隔的制约,为全社会提供高效优质、规范透明和全方位的管理与服务...
NULL 博文链接:https://qsx1982-126-com.iteye.com/blog/769059
笔者主持的开源工作流引擎AgileFlow就是基于ww2+spring+hibernate架构实现的。写到这里我想是不是它可以和struts2进行完美整合?! Jflow是从ccflow演化而来的国产工作流引擎,富有太多的业务场景设置。 Ccflow是...
由OpensymPhony组织开发的开源工作流引擎 OSWorkflow是一种非常灵活的工作 流引擎。它主要基于有限状态机理论,通过状态的迁移描述工作的流转。每一种状态(state) 被描述成为 step ID和 status。从一种状态(state)...
自己写的 OsWorkflow 工作流 实例 已测试通过
一种基于OSWorkflow工作流引擎的工作流监控技术,仇璐,,目前工作流监控技术存在的问题是:流程监控得到的流程图与实际业务流程有一定差距,针对存在的这个问题,本文提出了一种基于OSWork
工作流 osworkflow工作流 osworkflow工作流 osworkflow工作流 osworkflow工作流 osworkflow工作流 osworkflow
工作流引擎(osworkflow) 2.80 有例子,有文档,可以自己跑例子看效果
基于osworkflow工作流引擎的小demo,实现了请假流程。
osworkflow请假实例,使用tomcat6.0服务器,oracle数据库,导入到myeclipse中即可运行,当然需要先创建数据库。很适合osworkflow的学习
NULL 博文链接:https://jeenry119.iteye.com/blog/1195769
osworkflow 简单实例, 请假系统,第一步发送请求,第二步manager审批,由reject和approve两个结果
该资源是用osworkflow框架完成的请假系统的例子,包括了填写请假条,提交申请,审批等流程,是oa的一个例子
这是一点关于OSWorkFlow 工作流系统设计知识的详细讲解
状态机工作流OSWorkflow 包括中文手册、开发指南等
现在对于流程性工作,用工作流来做是再合适不过了
基于oracle数据库,tomcat的请假DEMO,完善的实现了osworkflow的特色功能,能对您进一步了解osworkflow起到指引作用.
osworkflow详细资料 pdf 工作流
从javaeye上下载别人的例子,感觉不错 另外在这里有详细介绍 http://www.javaeye.com/topic/100499?page=1