业务流程自定义的实现.doc

上传人:cn****1 文档编号:543228222 上传时间:2023-04-16 格式:DOC 页数:49 大小:447.01KB
返回 下载 相关 举报
业务流程自定义的实现.doc_第1页
第1页 / 共49页
业务流程自定义的实现.doc_第2页
第2页 / 共49页
业务流程自定义的实现.doc_第3页
第3页 / 共49页
业务流程自定义的实现.doc_第4页
第4页 / 共49页
业务流程自定义的实现.doc_第5页
第5页 / 共49页
点击查看更多>>
资源描述

《业务流程自定义的实现.doc》由会员分享,可在线阅读,更多相关《业务流程自定义的实现.doc(49页珍藏版)》请在金锄头文库上搜索。

1、业务流程定义创建的表:XT_LCXX:流程信息表XT_JDXX:节点信息表(原)(改过)XT_LCSL:流程实例(原)(改过)流程实例表中添加了节点顺序,不再用上节点id,下节点id,功能类似,这样可以方便一个节点的下一个步骤允许两个节点同时操作的情况。所以稍做了改变。但是不太确定在其他情况是否都能够满足要求,还在观察中。LC_LSJL:历史记录逻辑顺序:定义流程时:1、 定义流程客体,即流程中流转被操作的对象;2、 流程中需要经过的步骤,即节点,注意节点的先后顺序;3、 每个步骤中操作该对象的主体,即人员或角色;这样一个完整的流程就定义好了。实现界面:1、列表为已存在的流程,图片按钮为创建新

2、流程。2、点击空的流程时出现起点。点击已有流程时则展示流程示意图3、点击起点按钮时,开始定义节点(第一个)。4、第一个节点出现后,鼠标悬停在节点之上时,提示操作人员和操作类型,点击按钮时则出现菜单有3个选择:添加,修改和删除。5、点击增加时,弹出设置节点的窗口,在节点顺序的下拉框中可以选择要添加的节点的顺序,是与当前节点属于同一时间段进行的,还是下一步骤。点击删除时,直接删除掉该节点。操作流程时:1、 在创建流程信息表中包含对象的时候,同时向历史记录表中插入一条记录,并标明状态;2、 根据节点表中的操作人员和历史记录中待处理事件列表,选出待“我”处理的任务;3、 处理完成后,相应增加历史记录,

3、表明目前状态,并把本流程上一个状态注销,(若有并行步骤则需添加多条记录);4、 最终完成后该流程的所有记录的状态都注销。工作流类的设计:实体类:有属性:id,名称等等有方法:add、edit、delete,添加的部分有选择添加下个节点是什么类型的有编制、审核、审批、结束添加的时候,更新到数据库有三个类:public class LCpublic class JDpublic class LCSL分别是流程类,节点类,和流程实例类。一、在流程类中 有一个字段: private string _lcid;有四个属性: public string Bz public string Lcmc publ

4、ic string Lcztpublic string Lcyhid实例化流程是有两种方法:1是创建一个数据库中不存在的新流程,需要传入参数: public LC(string lcmc,string lczt,string bz,string yhid)2是实例化一个数据库中已存在的流程,则只需传入LCID即可: public LC(string lcid) string Sql_Select = select t.lc_mc,t.lc_zt,t.lc_yhid,t.lc_cjrq,t.lc_xgrq,t.lc_scbj,t.lc_bz from xt_lcxx t where t.lc_i

5、d= + lcid + ; DataTable Dt = DBHelper.GetDataSet(Sql_Select); if (Dt.Rows.Count = 1) this._lcmc = Dt.Rows0lc_mc.ToString(); this._lczt = Dt.Rows0lc_lczt.ToString(); this._lcyhid = Dt.Rows0lc_yhid.ToString(); this._bz = Dt.Rows0lc_bz.ToString(); 会将其他信息添加到流程类的属性中。流程类中有方法:/ 增加基本流程信息public string Add_CL

6、() / 修改流程基本信息 public string Edit_CL(string Lcid) public string Delete_CL(string Lcid)在节点类中:有属性: public string Jdid public string Czlx public string Czry public string Yhid public string Bz有方法: / 增加一个新节点 public string Add_JD() / 修改节点 public string Edit_JD(string Jdid) / 删除节点 public string Delete_JD(s

7、tring jdid)实例化节点时,有三种方法1实例化一个空的节点,2实例化一个新的节点(没有节点id),根据节点id实例化一个数据库中已存在的节点(其他属性自动添加)。三、流程实例类有属性: public string Lcid public string Yhid public string Bz有方法:/ 向流程添加节点(流程id必须提前设定好)/ 节点的层次,001是与上节点同一层次,002是下一层次public string Add_JdtoLc(string Jdid,string Jdcc)public string Delete_JdFromLc(string Jdid)必须注

8、意一点,在流程实例中,添加节点和删除节点有点不同:添加的时候是先用节点类添加一个节点,然后再用流程实例类向流程添加这个节点,而删除的时候直接用流程实例类删除掉节点,因为在Delete_JdFromLc方法中已经调用了Delete_JD方法。附类的全部代码:using System;using System.Data;using System.Configuration;using System.Linq;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.HtmlControls;

9、using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using System.Xml.Linq;using System.Data.OracleClient;using System.Collections.Generic;/using System.ComponentModel;/ /WorkFlow 的摘要说明/ public class WorkFlowpublic WorkFlow()/TODO: 在此处添加构造函数逻辑/ / 流程(基本信息)实体类,实现流程的增删改/ public clas

10、s LC / / 实例化空流程 / public LC() / / 实例化准备添加的新流程 / / / / / public LC(string lcmc,string lczt,string bz,string yhid) this._lcmc = lcmc; this._lczt = lczt; this._bz = bz; this._lcyhid = yhid; / / 实例化数据库中已存在的流程,得到该流程的所有属性 / / public LC(string lcid) this._lcid = lcid; try string Sql_Select = select t.lc_mc

11、,t.lc_zt,t.lc_yhid,t.lc_cjrq,t.lc_xgrq,t.lc_scbj,t.lc_bz from xt_lcxx t where t.lc_id= + lcid + ; DataTable Dt = DBHelper.GetDataSet(Sql_Select); if (Dt.Rows.Count = 1) this._lcmc = Dt.Rows0lc_mc.ToString(); this._lczt = Dt.Rows0lc_lczt.ToString(); this._lcyhid = Dt.Rows0lc_yhid.ToString(); this._bz = Dt.Rows0lc_bz.ToString(); catch (Exception e) throw e; private string _lcid; private string _bz; public string Bz get return _bz; set _bz = value; private string _lcmc; / / 流程名称 / public string Lcmc get return _lcmc; set _lcmc = value; private string _lczt; public string Lczt get re

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 社会民生

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号