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

  1. 1、本文档共55页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
业务流程自定义的实现

业务流程定义创建的表: XT_LCXX:流程信息表 XT_JDXX:节点信息表 (原) (改过) XT_LCSL:流程实例 (原) (改过) 流程实例表中添加了节点顺序,不再用上节点id,下节点id,功能类似,这样可以方便一个节点的下一个步骤允许两个节点同时操作的情况。所以稍做了改变。但是不太确定在其他情况是否都能够满足要求,还在观察中。 LC_LSJL:历史记录 逻辑顺序: 定义流程时: 定义流程客体,即流程中流转被操作的对象; 流程中需要经过的步骤,即节点,注意节点的先后顺序; 每个步骤中操作该对象的主体,即人员或角色; 这样一个完整的流程就定义好了。 实现界面: 1、 列表为已存在的流程,图片按钮为创建新流程。 2、 点击空的流程时出现起点。 点击已有流程时则展示流程示意图 3、 点击起点按钮时,开始定义节点(第一个)。 4、 第一个节点出现后,鼠标悬停在节点之上时,提示操作人员和操作类型,点击按钮时则出现菜单有3个选择:添加,修改和删除。 5、 点击增加时,弹出设置节点的窗口,在节点顺序的下拉框中可以选择要添加的节点的顺序,是与当前节点属于同一时间段进行的,还是下一步骤。 点击删除时,直接删除掉该节点。 操作流程时: 在创建流程信息表中包含对象的时候,同时向历史记录表中插入一条记录,并标明状态; 根据节点表中的操作人员和历史记录中待处理事件列表,选出待“我”处理的任务; 处理完成后,相应增加历史记录,表明目前状态,并把本流程上一个状态注销,(若有并行步骤则需添加多条记录); 最终完成后该流程的所有记录的状态都注销。 工作流类的设计: 实体类: 有属性:id,名称等等 有方法:add、edit、delete,添加的部分有选择添加下个节点是什么类型的有编制、审核、审批、结束 添加的时候,更新到数据库 有三个类: public class LC public class JD public class LCSL 分别是流程类,节点类,和流程实例类。 一、在流程类中 有一个字段: private string _lcid; 有四个属性: public string Bz public string Lcmc public string Lczt public 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_id= + lcid + ; DataTable Dt = DBHelper.GetDataSet(Sql_Select); if (Dt.Rows.Count == 1) { this._lcmc = Dt.Rows[0][lc_mc].ToString(); this._lczt = Dt.Rows[0][lc_lczt].ToString(); this._lcyhid = Dt.Rows[0][lc_yhid].ToString(); this._bz = Dt.Rows[0][lc_bz].ToString(); } 会将其他信息添加到流程类的属性中。 流程类中有方法: /// 增加基本流程信息 public string Add_CL() /// 修改流程基本信息 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 Edi

文档评论(0)

yan698698 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档