activity流程启动实例

备注:本文只摘抄片段整项目源代码待全部整理完毕再提供代码下载。

(1),画流程图并流程图模型发布

(2),请求启动流程

			<form action="<%=childPath %>/process/myStartProcess" method="post">
				<input type="hidden" name="form_name" value="YYG_QING_JIA_PROCESS_KEY" />

				业务主键:<input name="bussiness_key" type="text" value="1" /> <br />
				业务名称:<input type="text" name="bussiness_name" value="请假业务审批流" /> <br />
				拟稿人:<input type="text" name="wf_drafter" value="zhansan" />

				<input type="submit" value="测试启动审批流1" />
			</form>

(3),启动流程实例

    /****
     * @date: 2023/1/1 19:08
     * @param: String p01
     * @desc: 自己动手启动流程
     * ***/
    @RequestMapping(value = "/myStartProcess", method = RequestMethod.POST)
    @ResponseBody
    public Map<String, Object> myStartProcess(@RequestParam Map<String, Object> params
                                                ,HttpServletRequest request1 ) {

        // 流程设计时,输入在整个表单上的主键字符
        String processKey = params.get("form_name").toString();
        // 业务主键,业务名称
        String bussiness_key = params.get("bussiness_key").toString();
        String bussiness_name = params.get("bussiness_name").toString();
        // 拟稿人
        String wf_drafter = params.get("wf_drafter").toString();

        ProcessDefinition processDefinition = repositoryService.createProcessDefinitionQuery().processDefinitionKey(processKey).latestVersion().singleResult();
        // 流程定义id
        String processDefinitionId = processDefinition.getId();
        // 字面意义转移搬迁对象
        Map<String, Object> transfer = new HashMap<String, Object>();
        transfer.putAll(params);
        transfer.remove("bussiness_key");
        transfer.remove("nomsgtip");
        transfer.remove("1");

        // 启动流程
        ProcessInstance processInstance = runtimeService.startProcessInstanceById(processDefinitionId, bussiness_key, transfer);
        System.out.println("启动成功:"+ System.currentTimeMillis() );
        return params;
    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值