业务流程定义创建的表: XT_LCXX:流程信息表 XT_JDXX:节点信息表 (原) (改过) XT_LCSL:流程实例 (原) (改过) 流程实例表中添加了节点顺序,不再用上节点id,下节点id,功能类似,这样可以方便一个节点的下一个步骤允许两个节点同时操作的情况。所以稍做了改变。但是不太确定在其他情况是否都能够满足要求,还在观察中。 LC_LSJL:历史记录 逻辑顺序: 定义流程时: 1、 定义流程客体,即流程中流转被操作的对象; 2、 流程中需要经过的步骤,即节点,注意节点的先后顺序; 3、 每个步骤中操作该对象的主体,即人员或角色; 这样一个完整的流程就定义好了。 实现界面: 1、 列表为已存在的流程,图片按钮为创建新流程。 2 、 点击空的流程时出现起点。 点击已有流程时则展示流程示意图 3 、 点击起点按钮时,开始定义节点(第一个)。 4 、 第一个节点出现后,鼠标悬停在节点之上时,提示操作人员和操作类型,点击按钮时则出现菜单有3 个选择:添加,修改和删除。 5、 点击增加时,弹出设置节点的窗口,在节点顺序的下拉框中可以选择要添加的节点的顺序,是与当前节点属于同一时间段进行的,还是下一步骤。 点击删除时,直接删除掉该节点。 操作流程时: 1、 在创建流程信息表中包含对象的时候,同时向历史记录表中插入一条记录,并标明状态; 2、 根据节点表中的操作人员和历史记录中待处理事件列表,选出待“我”处理的任务; 3、 处理完成后,相应增加历史记录,表明目前状态,并把本流程上一个状态注销,(若有并行步骤则需添加多条记录); 4、 最终完成后该流程的所有记录的状态都注销。 工作流类的设计: 实体类: 有属性: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 是实例化一个数据库中已存在的流程,则只需传入L CID 即可: public...