• CCBPM 常用API接口说明


    接口参数说明:

    Fk_flow:流程编号

    userNo、BP.Web.WebUser.No:登录帐号

    Fk_node:节点编号

    Workid:工作ID

    FID:父流程ID

    1.系统登录

    a) 前台登录:BP.WF.Dev2Interface.Port_Login(userNo);

    b) 登录流程设计器:/WF/Admin/XAP/Designer.aspx

    c) 自动登录流程设计器:/WF/Admin/XAP/Designer.aspx?userNo=admin&SID=1234556.

    SID需要读取数据库中,对应admin的SID。

    2.当前登陆人可以发起的流程(发起)

    Dt=BP.WF.Dev2Interface.DB_GenerCanStartFlowsOfDataTable(BP.Web.WebUser.No);

    3.当前登陆人可以处理的工作(待办)

    Dt=BP.WF.Dev2Interface.DB_GenerEmpWorksOfDataTable(userNo,FK_Flow);

    Dt=BP.WF.Dev2Interface.DB_GenerEmpWorksOfDataTable();

    4.当前登陆人处理过的流程(在途)

    Dt=BP.WF.Dev2Interface.DB_GenerRuning(userNo,FK_Flow);

    Dt=BP.WF.Dev2Interface.DB_GenerRuning();

    5.当前人收到的抄送信息(阅知件)

    Dt=BP.WF.Dev2Interface.DB_CCList(userNo);

    6.创建空白的WorkID:

    Int64 workid=BP.WF.Dev2Interface.Node_CreateBlankWork(fk_flow);

    CCBPM的工作ID是一个int64位的证书,始终是按照顺序号+1产生的。该值全局唯一,并没有重复性,该信息记录到Sys_Serial表中,Workid的生成冲100开始。

    7.执行流程发送:

    //执行发送

    BP.WF.SendReturnObjs objs=BP.WF.Dev2Interface.Node_SendWork(fk_flow,workid);

    //流程是否结束

    Bool isFlowOver=objs.IsStopFlow;

    //下一步节点ID

    Int toNodeID=objs.VarToNodeID;

    //下一步节点名称

    String toNodeName=objs.VarToNodeName;

    //下一步处理人ID

    String toEmpID=objs.VarAcceptersID;

    //下一步处理人名称

    String toEmpName=objs.VarAcceptersName;

    //发送后信息

    String msgInfo=objs.ToMsgHtml();

    发送说明:发送就是让节点向下运动。调用接口执行发送后,返回一个执行结果的对象SendReturnObjs,该对象是流程引擎执行过程中的编号,解析该变量,可以检查流程是否完成、晕倒到哪一个节点、一下节点由谁来执行工作。他的流向和接受人是根据流程设计的规则而定的。

    Objs=BP.WF.Dev2Interface.Node_SendWork(fk_flow,workid,fk_node,userNo);

    如果程序员知道下一步要送给谁、到达哪一步节点,可以调用上面的接口,该接口就会摆脱流程引擎的节点运行规则,自定义运行。

    8.撤销发送:

    String msg=BP.WF.Dev2Interface.Flow_DoUnSend(fk_flow,workid);

    撤销是发送的逆向操作。能否被撤销,是根据当前活动节点的撤销规则决定的。

    9.流程回滚:

    String msg=BP.WF.Dev2Interface.Flow_DoRebackWorkFlow(fk_flow,worjid,fk_node,’回滚’);

    回滚,是在流程结束后需要重新在指定的节点,让指定的人员重新向下运行。与撤销不同的是,回滚是在流程完成以后的操作,并且由管理员操作。

    10.退回:

    msg=BP.WF.Dev2Interface.Node_ReturnWork(fk_flow,workid,FID,fk_Node,toNodeID,toemp,’原因’,’是否原路返回’);

    11.移交:

    BP.WF.Dev2Interface.Node_Shift(fk_flow,fk_node,workid,FID,toemp,’原因’);

    移交就是把自己所要做的工作交给其他人处理。

    12.加签:

    //A将工作加签给B后,B处理完成后,会发送给A,由A发送到下一步。 msg=BP.WF.Dev2Interface.Node_Askfor(workid,BP.WF.AskforHelpSta.AfterDealSendByWorder,toemp,’原因’);
    //A将工作加签给B后,B处理完成后,直接发送到下一步。

    Msg=BP.WF.Dev2Interface.Node_Askfor(workid,BP.WF.AskforHelpSta.AskDealSend,toemp,’原因’);
    //A将工作加签给B后,B回复加签

    Msg=BP.WF.Dev2Interface.Node_AskforReply(fj_flow,fk_node,workid,fid,’原因’);

    加签说明:

    加签就是把自己所要做的工作参考其他人意见,或者让其他人处理。它分为两种模式:1.加签后,由加签人发送到下一步。2.加签后,由加签人发给当前人,由当前人发送到下一步。

    13.结束流程:

    //点击结束按钮,结束流程,这种方式会记录日志

    Info=BP.WF.Dev2Interface.Flow_DoFlowOver(fk_flow,workid,’原因’);

    //按照标记删除流程

    Info=BP.WF.Dev2Interface.Flow_DoDeleteFlowByFlag(fk_flow,workid,’原因’,true);
    //彻底的删除流程,无日志记录

    Info=BP.WF.Dev2Interface.Flow_DoDeleteFlowByReal(fk_flow,workid,’原因’,true);
    //彻底删除流程,有日志记录

    Info=BP.WF.Dev2Interface.Flow_DoDeleteFlowByWriteLog(fk_flow,workid,’原因’,true);

    结束流程的三种方式说明:

    第一种,走到最后一个节点,自动结束。

    第二种,在指定的节点上,设置流程结束条件。流程运行到当前节点时,符合条件就执行结束,如果不符合,继续向下运行,一直到自动结束。

    第三种,在指定的节点上,启用结束流程按钮,强制结束流程。

  • 相关阅读:
    如何撤销Git操作?
    SpringBoot Controller接收参数的几种方式盘点
    全面解析Spring中@ModelAttribute注解的用法
    Java中将字符串转为驼峰格式
    如何将Map键值的下划线转为驼峰
    JS如何获取地址栏url后面的参数?
    解决wordpress 5.3更新后Uncaught Typeerror: $ is not a function
    小程序如何判断用户(后台使用Django)
    服务器 Web服务器 应用服务器区别联系
    C语言和Python语言在存储变量方面的不同
  • 原文地址:https://www.cnblogs.com/ccflow/p/4991604.html
Copyright © 2020-2023  润新知