精华内容
下载资源
问答
  • 主要介绍了php+ajax发起流程和审核流程(以请假为例) ,需要的朋友可以参考下
  • 检查数据库,对应的表都产生数据,不知道为啥activiti 发起流程需要重复发起一次流程,代理人才能接收第一次流程?
  • $HTML_PAGE_TITLE = _("发起流程"); ob_end_clean(); $CUR_YEAR = date("Y"); $CUR_MONTH = date("m"); $CUR_WEEK = date("w"); $CUR_DAY = date("j"); $CUR_DATE = date("Y-m-d H:i:s"); $CUR_TIME = date("H:i:s")...
    <?php
    
    include_once("inc/auth.inc.php");
    include_once("inc/utility_all.php");
    include_once("inc/utility_org.php");
    include_once("inc/utility_file.php");  
    
    include_once("inc/header.inc.php");
    include_once "inc/utility_flow.php";
    include_once "inc/utility_file.php";
    include_once "inc/utility_sms1.php";
    include_once "inc/workflow/inc/workflow.inc.php";
    include_once "inc/flow_engine2.0/inc/engine/TFlowEngine.php";
    
    $HTML_PAGE_TITLE = _("发起流程");
    ob_end_clean();
    $CUR_YEAR = date("Y");
    $CUR_MONTH = date("m");
    $CUR_WEEK = date("w");
    $CUR_DAY = date("j");
    $CUR_DATE = date("Y-m-d H:i:s");
    $CUR_TIME = date("H:i:s");
    
    ?>
    <body class="bodycolor" style=" background-color:#FFF; font-family:微软雅黑,宋体" >
    <?
    
    			$user_id="admin";
    			$FLOW_ID="148";
    			$createUid = UserId2Uid($user_id);
    			$createUserInfo = GetUserInfoByUID($createUid);
    			$userInfo = array("LOGIN_UID" => $createUserInfo["UID"], "LOGIN_USER_ID" => $createUserInfo["USER_ID"], "LOGIN_USER_NAME" => $createUserInfo["USER_NAME"], "LOGIN_DEPT_ID" => $createUserInfo["DEPT_ID"], "LOGIN_DEPT_ID_OTHER" => $createUserInfo["DEPT_ID_OTHER"], "LOGIN_USER_PRIV" => $createUserInfo["USER_PRIV"], "LOGIN_USER_PRIV_OTHER" => $createUserInfo["USER_PRIV_OTHER"]);
    			$ret = engine\TFlowEngine::newWork(intval($FLOW_ID), "", "", "", NULL, $userInfo);
    
    			if (0 < $ret) {
    				$RUN_ID = $ret;
    				echo $RUN_ID."<br>";
    				echo $createUserInfo["USER_ID"]."<br>";
    				$workRunInfo = engine\TFlowEngine::getWorkRunInfo($RUN_ID, array("RUN_NAME"));
    				$RUN_NAME = $workRunInfo["RUN_NAME"];
    				echo $RUN_NAME."<br>";
    				$SMS_CONTENT = _("您有新的待办工作需要处理") . "-" . $RUN_ID . "-" . $RUN_NAME;
    				$REMIND_URL = "approve_center/list/input_form/?RUN_ID=$RUN_ID&FLOW_ID=$FLOW_ID&PRCS_ID=1&FLOW_PRCS=1";
    				$SMS_MODULE_ID = $RUN_ID . "_1_1";
    				send_sms($START_TIME, "admin", $createUserInfo["USER_ID"], "11_7", $SMS_CONTENT, $REMIND_URL, $SMS_MODULE_ID);
    			}
    
    			
    
    
    
    ?>
    </body>
    </html>

     

    展开全文
  • 众筹发起流程、收费标准以与经典案例33.doc
  • 众筹发起流程、收费标准以与经典案例26.doc
  • 通达OA自动发起流程,并带有附件

    千次阅读 2016-11-30 13:29:46
    通达OA自动发起流程,并带有附件,
    <?
    include_once("inc/auth.inc.php");
    include_once("inc/utility_sms1.php");
    include_once("inc/utility_sms2.php");
    include_once("inc/utility_all.php");
    include_once("inc/utility_org.php");
    include_once("inc/utility_file.php");
    include_once("inc/utility_flow.php");
    include_once("inc/workflow/inc/workflow.inc.php");
    
    
    $HTML_PAGE_TITLE = _("自动触发工作流");
    include_once("inc/header.inc.php");
    ?>
    
    
    <script type="text/javascript" src="<?=MYOA_JS_SERVER?>/static/js/utility.js"></script>
    <script language="javascript">
    
     </script>  
    
    <body class="bodycolor" style="font-size:12px">
    <?
    
    
    $CUR_YEAR=date("Y");
    $CUR_MONTH=date("m");
    $CUR_WEEK=date("w");
    $CUR_DAY=date("j");
    $CUR_DATE=date("Y-m-d H:i:s");
    $CUR_TIME=date("H:i:s");
    
        $START_TIME = date("Y-m-d H:i:s");
        $run_id= new_flow(166,"admin","admin",0,0,0,1,$START_TIME);//1  是事务提醒  相同是主办人  不相同是经办人 
        echo "流水号:".$run_id."<br>";
    
    	 $attachemnt_id="";
    	 $attachment_name="";
    	 
    	 if($YM=="")
        $YM=date('ym');
    
       $PATH="E:/MYOA/attach/workflow";
       if(!file_exists($PATH) || !is_dir($PATH))
           mkdir($PATH, 0700);
       $PATH=$PATH."/".$YM;
       if(!file_exists($PATH) || !is_dir($PATH))
           mkdir($PATH, 0700);  
    	 
    	$file_arr=array("测试.doc","附件2.txt","通达OA二次开发手册2015.doc","功能明细.docx");
    	foreach($file_arr as $v){
    		echo $v."**<br>";
    	
    	$ATTACH_ID=mt_rand();
    	$ATTACH_NAME=$v;
    	$file1="E:/MYOA/webroot/jicaifile/205/".$ATTACH_NAME;
    	$PATH1=$PATH."/".$ATTACH_ID.".".$ATTACH_NAME;
    	echo @copy($file1,$PATH1)?'成功':'失败';
    	//echo @rename($file1,$PATH1)?'成功':'失败';//2677@1505_1668115426
    	//unlink($del_name)?'成功':'失败';
    	  
      
      
    	
    	   
    	   $query="INSERT INTO `TD_OA`.`attachment` (`POSITION`, `MODULE`, `YM`, `ATTACH_ID`, `ATTACH_FILE`, `ATTACH_NAME`, `ATTACH_SIGN`, `DEL_FLAG`) VALUES ('2', '2', '$YM', '$ATTACH_ID', '$ATTACH_NAME', '$ATTACH_NAME', '0', '0')";
    	   $cursor=exequery(TD::conn(),$query);
    	   $AID=mysql_insert_id();
    	   echo $AID."<br>";
    	   $ATTACHMENT_ID=$AID."@".$YM."_".$ATTACH_ID;
    	   echo $ATTACHMENT_ID."<br>";
    	   
    	   //插入公共附件  单个的
    	   
    	   $query2="INSERT INTO `TD_OA`.`flow_run_attach` ( `RUN_ID`, `ATTACHMENT_ID`, `ATTACHMENT_NAME`, `FLOW_PRCS`, `UPLOAD_USER`, `UPLOAD_TIME`) VALUES ( '$run_id', '$ATTACHMENT_ID', '$ATTACH_NAME', '1', 'admin', '$CUR_DATE')";
    	   exequery(TD::conn(),$query2);
    	   
    	   //更新flow_run  多个附件连在一起的
    	   $attachemnt_id.=$ATTACHMENT_ID.",";
    	   $attachment_name.=$ATTACH_NAME."*";
    	   }  //end foreach
    	   
    	   if($attachemnt_id!=""){
    	   $query3="update flow_run set ATTACHMENT_ID='$attachemnt_id',ATTACHMENT_NAME='$attachment_name' where run_id='$run_id'";
    	   exequery(TD::conn(),$query3);
    	   }
    ?>
    </body>
    </html>
    

    展开全文
  • 如何使用驰骋工作流引擎的Excel批量导入功能发起流程
  • 1、引入php文件: include_once("inc/auth.inc.php"); include_once("inc/utility_flow.php"); include_once("inc/utility_sms1.php"); include_once("inc/workflow/inc/...2、自动创建流程的函数new_flow在u

    1、引入php文件:

    include_once("inc/auth.inc.php");
    include_once("inc/utility_flow.php");
    include_once("inc/utility_sms1.php");
    include_once("inc/workflow/inc/workflow.inc.php");
    ?>

    2、自动创建流程的函数new_flow在utility_flow.php页面中。函数解析:

    function new_flow($FLOW_ID, $USER_ID, $USER_STR, $PARENT_RUN=0, $ATTACH_FLAG=0, $FLOW_PRCS=0, $SMS_REMIND=0, $START_TIME="", $prefixion="")
    { }

    参数分析:流程号id,主办人,经办人(如果相同就是主办人,不相同其他的就是经办人,默认$user_str 和$user_id相同即可),0,0,发送事务提醒为1(0位不发送提醒),发起时间,流程文号前缀;

    3、调用实例

       $START_TIME = date("Y-m-d H:i:s");
       // $run_id= new_flow($FLOW_ID,$USER_ARR[$i],$USER_ARR[$i],0,0,0,1,$START_TIME);//1  是事务提醒
       // function new_flow($FLOW_ID, $USER_ID, $USER_STR, $PARENT_RUN=0, $ATTACH_FLAG=0, $FLOW_PRCS=0, $SMS_REMIND=0, $START_TIME="", $prefixion="")
    
       $run_id= new_flow(316,"admin","admin",0,0,0,1,$START_TIME);//1  是事务提醒  相同是主办人  不相同是经办
       // echo $run_id;//有了run_id后就可以向数据表中插入数据了
       //echo "<script>window.open('http://www.baidu.com','_blank' );</script>";
       //echo "<script>window.open('/general/workflow/list/input_form/work_handle.php?actionType=handle&menu_flag=&run_id=44436&prcs_key_id=275676&flow_id=316&prcs_id=1&flow_prcs=1&AUTO_NEW=&getdata_search=&=','_blank' );<//script>";
       echo "<script>window.open('/general/workflow/list/input_form/?MENU_FLAG=&RUN_ID={$run_id}&FLOW_ID=316&PRCS_ID=1&FLOW_PRCS=1','_blank' );</script>";
    		



    展开全文
  • Activiti设置流程发起人用户信息

    千次阅读 2020-03-16 21:35:40
    在启动一个流程时,我们会有将当前用户启动的流程保存起来,作为流程发起人(启动人、申请人、提交人),而在保存这个流程启动者信息,api 没有明确规范该怎么存。 先看一段API调用 List hpis = historyService....

    在启动一个流程时,我们会有将当前用户启动的流程保存起来,作为流程发起人(启动人、申请人、提交人),而在保存这个流程启动者信息,api 没有明确规范该怎么存。

    先看一段API调用

    List hpis = historyService.createHistoricProcessInstanceQuery()
                .startedBy(userCode).list();

    查询结果为空,这是为什么呢?

    一、原因说明

     当通过runtimeService接口启动(startProcessInstance[Byxxx])流程的时候会设置一个变量,代码片段(ProcessDefinitionEntity.java#createProcessInstance):

    String initiatorVariableName = (String) getProperty(BpmnParse.PROPERTYNAME_INITIATOR_VARIABLE_NAME);
    if (initiatorVariableName!=null) {
        String authenticatedUserId = Authentication.getAuthenticatedUserId();
    }

    从上面的代码片段中可以看出在启动流程的时候引擎会先从Authentication读取已认证用户信息;现在我们只要能设置认证用户的ID就可以了。

    二、问题解决

    查看API发现接口IdentityService有一个方法:setAuthenticatedUserId(String authenticatedUserId),正是这个方法在其接口实现类:org.activiti.engine.impl.IdentityServiceImpl#setAuthenticatedUserId中调用了Authentication.setAuthenticatedUserId()。

    解决办法很简单只要在启动流程之前调用API即可:identityService.setAuthenticatedUserId(userId);

    identityService.setAuthenticatedUserId(userId);
    processInstance = runtimeService.startProcessInstanceByKey("leave", entityId, variables);

    当流程启动之后可以到表ACT_HI_PROCINST中查看字段START_USER_ID_的值来验证是否生效。

    三、结束

    问题很简单,但是官网的手册没有提到,希望让遇到问题的人少走弯路。

    参考:

    https://segmentfault.com/a/1190000000660671

    展开全文
  • 发起流程时,配置activiti:initiator属性,并且在代码中: Authentication.setAuthenticatedUserId(userId); 其中,userId对应流程发起人 查询某人发起的流程关键代码: @Autowired private HistoryService ...
  • activiti之通过key发起流程的问题

    千次阅读 2019-05-29 16:07:05
    流程定义processDefinition定义了tenantId,则必须使用:startProcessInstanceByKeyAndTenantId进行流程发起,不能直接使用 startProcessInstanceByKey,否则会报:no processes deployed with key的问题 ...
  • 发起流程时候需要把表单的表单字段项一起保存到流程参数里面,类似存一个表单项的快照,因为表单项是可以编辑的。 这里的难点在于动态渲染表单、表格明细组件、可以套娃(a单关联b,b单关联c,c关联d....用到了点...
  • 原文地址:... 一、设置用户发起人 identityService.setAuthenticatedUserId( user.getUsername()); 认证用户的作用是设置流程发起人:在流程开始之前设置,会自动在表ACT_HI_PROCINST 中的STAR...
  • Flowable设置流程发起

    千次阅读 2019-11-15 00:24:15
    直接调用原生的api设置流程的启动人 // set Flowable authenticated Authentication.setAuthenticatedUserId("123"); runtimeService.startProcessInstanceByKey("ceshi"); Authentication.setAuthenticatedUserId...
  • 项目地址:https://gitee.com/lwj/flowable.git 分支flowable-base 视频讲解地址 ...1、演示 2、代码 2.1 查看我发起流程实例sql SELECT DISTINCT t1.ID_ AS processIn...
  • 15.flowable 我发起流程实例查询

    千次阅读 2019-12-06 11:48:02
    项目地址:https://gitee.com/lwj/flowable.git 分支flowable-demo 视频讲解地址 ...1、演示 2、代码 2.1 查看我发起流程实例sql SELECT DISTINCT t1.ID_ AS processI...
  • // 流程发起人 ProcessInstance processInstance = SpringUtil.getBean(RuntimeService.class) .createProcessInstanceQuery() .processInstanceId(execution.getProcessInstanceId()) .singleResult().
  • Activity启动流程(一)发起端进程请求启动目标Activity

    千次阅读 热门讨论 2020-09-22 17:30:05
       Android四大组件之Activity启动流程源码实现详解(一) Activity启动流程源码实现详解系列博客目录: Activity启动流程源码实现详解概要 前言   在正式开始Android四大组件之Activity启动流程源码实现详解...
  • 表单因为是钉钉自带,所以如果你想在钉钉上填写表单发起流程的话难度大,因为不能数据联动以及数据关联,所以复杂的表单还是在自己系统发起,钉钉上只做展示四、我们如何对接进行实现? 首先有2两种方式,方式一为...
  • 方案一: 来自网络(实测无效) String username ='admin'; Authentication.setAuthenticatedUserId(username); ProcessInstance processInstance = runtimeService.startProcessInstanceById(processDefinitionId, ...
  • 发起人可以根据流程id。重新提交)rePack * @return */ @RequestMapping("/reject") @ResponseBody public Object reject(){ List T = taskService.createTaskQuery().taskAssignee("zj").list(); if(!ObjectUtils....
  • flowable设置流程发起

    千次阅读 2018-02-08 09:58:12
    设为当前流程实例的startUserId,并作为流程变量和initiatorVariableName(在流程图里自定义)绑定;现在我们只要能设置认证 用户的ID就可以了。   2.解决问题 查看API发现Authentication有一个方法: ...
  • 本节我们来介绍手机的数据网络连接建立过程。... 下面我们分四节来分别介绍Android L上数据业务的发起流程。  《数据业务建立流程之DcTracker创建过程》  《数据业务建立流程之常规APN参数的创建
  • Android数据业务发起流程(原)

    千次阅读 2015-11-02 16:03:47
    本节我们来介绍手机的数据网络连接建立过程。... 下面我们分四节来分别介绍Android L上数据业务的发起流程。  《数据业务建立流程之DcTracker创建过程》  《数据业务建立流程之常规APN参数的创建
  • Activiti中的流程历史保存流程发起人的方法 源自:http://my.oschina.net/liyuj/blog/380777 摘要 Activiti中流程的活动历史信息保存在ACT_HI_ACTINST表中,流程历史信息保存在ACT_HI_PROCINST表中,...
  • 从页面发起请求到后台处理流程,经过哪些步骤 浏览器输入一个url点击确定跳转 ; 浏览器解析dns,先解析自己本地的hosts,如果解析不了则继续上传到上层DNS解析,直到解析出确定的ip 发起网络通信请求,建立三次...
  • Activiti设置流程发起用户信息

    万次阅读 2016-03-10 17:58:01
    当通过runtimeService接口启动(startProcessInstance[Byxxx])流程的时候会设置一个变量,代码片段(ProcessDefinitionEntity.java#createProcessInstance): ? 85 86 87 ...
  • 但是有的时候,是系统自动发起流程,比如:周例会流程,用户希望每个周都要启动例会通知流程这个启动是让系统自动发起而非人工发起。启动方式定义了流程如何手工运行与自动运行的模式。 流程的自动执行包括:流程...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 192,796
精华内容 77,118
关键字:

发起流程