工作流程

 模板操作:
(1)创建模板
   往WF06中插入一条记录信息
(2)删除模板
   1)使用过了,不能删除;
   2)有节点不能删除;
   先删除流程图,再删除模板
   delete from wf05 where wf06001=模板流水号;  --WF05:流程图
   delete from wf06 where wf06001=模板流水号;  --WF06:流程
(3)修改模板
   1)修改模板名称
   2)修改是否启用  1:启用,0:不启用
(4)读取模板信息:
    获取指定模板的信息  模板流水号, 模板名称,模板是否默认,模板的状态。。。

具体流程操作:
(1)保存完整的工作流信息
   参数信息:
   templateId 模板流水号
   nodes 为多行3列的二维数组 NODEID=nodes[i][0],AFTERID=nodes[i][1],action=nodes[i][2]
   xmlinfos 模板的xml信息
(2)删除以前的流程图                  delete from wf05 where wf06001=模板流水号
      -->生成流程图                 insert into wf05(WF11001,WF05003,wf05004,WF06001) values(nodes[][0],nodes[][1],nodes[][2],模板流水号)
         -->设置模板的起始节点            update wf05 set wf05002='1' where wf06001=模板流水号 and wf11001='begin'
            -->设置模板状态             update wf06 set wf06004=1 where wf06001=模板流水号
              -->设置模板状态           
                -->检查是否所有的节点都在图中  保存xml文件信息
(3)新建节点
   参数信息:
   templateId 模板流水号
   获得合法的节点名称                 
      -->生成节点信息                INSERT INTO WF11(WF06001,WF11002,wf11003) VALUES(模板流水号,节点名称,'1')   //wf11003:标识在哪里处理 0是基层一次,1是机关一次,2基层多次,3机关多次,4:公共节点
         -->返回节点流水号和节点名称               
(4)删除节点
   参数信息:
   nodeID  业务流程图节点ID
   nodeXml  对应的XML文件
   1)判断能否删除该节点,即没有线条连接就可以删除   select count(*) from wf07 where wf11001=nodeID or wf07001 like '%"+nodeId+"%' //0:可以删除,1:不可以删除                     
   2)保存xml文件信息                 update wf06 set wf06005='1' where wf06001=(select wf06001 from wf11 where wf11001=nodeID)//修改此模板的xml文件信息为‘1’,再重新保存xml文件信息
(5)修改流程图模板
   参数信息:
   templateId 模板流水号
   1)首先判断模板是否被使用过,如果被使用过则提示不能修改
   2)如果能修改则,首先把模板设置为不完整,并且无效 update wf06 set WF06003=0,WF06004=0 where WF06001=模板流水号
(6)添加箭头:
   参数信息:
   startValue:箭头的起始ID值
   endValue:  箭头的终止ID值
   xmlValue:  箭头的xml信息
   nodeID:   startValue.replace("node","")
   1)如果endValue=="end",则update wf06 set wf06005='1' where wf06001=(select wf06001 from wf11 where wf11001=nodeID),然后保存新的xml文件信息
   2)否则
      -->insert into wf07 (wf11001,wf07001,wf07002,wf07003,wf07006) values(endValue,startValue+"start",'=','1','1')
       -->如果startValue不等于"start",并且endValue不等于"end" 则设置startValue等于endValue
        -->update wf06 set wf06005='1' where wf06001=(select wf06001 from wf11 where wf11001=nodeID),然后保存新的xml文件信息

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值