zoukankan      html  css  js  c++  java
  • 外来人员如何发起流程与参与内部流程?CCFlow中Guest流程说明

    定义:分组织结构内的人员参与的流程,称为外部用户参与流程也叫客户参与流程。

    应用背景:我们给学校设计一个流程,学校教师是内部用户,是组织结构内的用户,学生就是外部用户。如果我们制作一个学生请假流程,一条流程中有多个节点是学生参与的。这样的节点是学生参与的,我们就称为该流程是客户参与流程,学生参与的节点就是外部用户参与节点。 这种应用场景非常之多,比如我们为税务局设计一个系统税务系统工作人员是内部用户,纳税人就是外部用户。 我们为企业设计一个erp ,企业内部的组织机构人员是内部用户,供应商、客户就是外部用户。 如果一个流程中的一个或者一个以上的节点是由外部用户参与的,我们就称该流程是外部用户参与流程,客户参与的节点就是外部用户执行的节点。

    提供的外部用户执行的api:

    BP.WF.Dev2InterfaceGuest.Port_Login(stuNo, stuName);

    源码中有提供的demo:CCFlow/SDKFlowDemo/GuestFlow/Login.aspx.

    由此页面登录成功,操作的流程对应为:SDK流程/055.学生请假流程(Guest流程)。

    关于Guest用户:

    如果有具有外部用户参与流程的应用环境中,您需要在Port_Emp的用户信息表中预置一个Guest的用户,该用户具备最低的操作权限,最低的查询权限。 他是一个模拟用户,就是说当一个外部用户登录时(比如学号为201001003,姓名为:张三)的用户登录时, 需要调用BP.WF.Dev2InterfaceGuest.Port_Login() 接口,从而记录外来用户编号,同时也让Guest 这个内部账号登陆了。这样cc就存储了两份信息。该同学在系统中具备两个身份一个是他自己,另外一个是Guest 内部模拟信息。

    Guest用户执行节点如果该流程是外部参与流程,就在流程属性里做上标记,如果流程的一个节点是外部用户处理的节点,那就在该节点上做好设置,现在他就会流转到该外部用户身上。

    添加guest信息如下:

    1. INSERT INTO Port_Dept (No,Name,ParentNo) VALUES('7','外来人员部门','1');
    2. INSERT INTO Port_Station (No,Name,StaGrade) VALUES('12','外来人员岗','3') ;
    3. INSERT INTO Port_Emp (No,Name,Pass,FK_Dept) VALUES('Guest','外来人员','pub','7') ;
    4. INSERT INTO Port_EmpDept (FK_Emp,FK_Dept) VALUES('Guest','7') ;
    5. INSERT INTO Port_EmpStation (FK_Emp,FK_Station) VALUES('Guest','12') ;

    复制代码

    流程设计器中的设置与demo修改(有的demo可能存在错误):
    编号055流程为例:
    开始节点,
    节点属性-节点访问规则,使用默认第一个规则,并且绑定岗位--外来人员岗。(与上面添加的guest岗位名称一致即可。)
    第二个节点,打开节点属性,访问规则设置内容中填写:SysSendEmps  。或者其他的表单字段。
    如果不使用此节点访问规则,需要其他设置,具体的节点访问规则详细说明与配置,请看http://ccbpm.mydoc.io/?v=5404&t=17907
    第三个节点,节点属性-节点访问规则,使用08.与开始节点处理人相同。
    以上设置好之后,点击流程设计器上方的保存按钮,再点击运行,即可通过Guest发起流程。可通过guest登录,查看相关的待办信息。
    Guest的登录密码默认为123或者pub,具体可以查看数据库 Port_Emp表。
    也可以通过demo:CCFlow/SDKFlowDemo/GuestFlow/Login.aspx. 调用BP.WF.Dev2InterfaceGuest.Port_Login(stuNo, stuName)接口实现登录发起流程。
    需要在demo中Login.aspx页面中,在设置跳转url的地方添加一个&符号。新版本中,会将这地方添加,由此造成的困扰,感到抱歉。
    可以直接复制。
    string url = "/WF/MyFlow.aspx?FK_Flow=055&FK_Node=05501&GuestNo=" + stuNo + "&GuestName=" + stuName;
                url += "&SysSendEmps=yangyilei"; 

    如果您对CCFlow感兴趣,请关注我们微信:

  • 相关阅读:
    ABP 异常
    Vmware中安装的Ubuntu不能全屏问题解决
    centos7.4 文件权限
    webpack 入门(1)
    webpack(2) 概念
    centos7.4 rpm命令
    centos7.4 which、whereis、locate的使用
    centos7.4 find命令
    centos7.4 lsof用法
    centos7.4 用户和组的管理
  • 原文地址:https://www.cnblogs.com/ccflow/p/4757695.html
Copyright © 2011-2022 走看看