工作流引擎脚本使用

乐观锁

脚本可以用来调用自己类中的方法,比如我们定义如下一个类以及方法

/**
 * Copyright (c) 2019-2023 A1Bpm All rights reserved.
 * <p>
 * http://www.a1bpm.com
 * <p>
 * 版权所有,侵权必究!
 */
package com.fastflow.modules.flowable.script.groovy;

import java.util.Date;

import org.apache.shiro.SecurityUtils;
import org.flowable.engine.ManagementService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

import com.alibaba.fastjson.JSON;
import com.fastflow.common.utils.DateUtils;
import com.fastflow.modules.uc.entity.UcUser;

@Component("commonScript")
public class CommonScriptImpl implements  CommonScriptService {
    @Autowired
    private ManagementService managementService;

    @Override
    public  String getCurrentDate() {
        return DateUtils.formatDate(new Date());
    }
    @Override
    public String getCurrentUserId() {
        return getUserId();
    }
    @Override
    public String getUserInfo() {
        return JSON.toJSONString(getUser());
    }
    @Override
    public String getUserDeptInfo(String currentUserId) {
        System.out.println(currentUserId);
        return null;
    }
    @Override
    public String testGroovy() {
       // Object o = managementService.executeCommand(new PanguGroovyConditionCmd("def map2 = [a:1,b:2,c:3];", null, null));
        return null;
    }
    protected UcUser getUser() {

        return (UcUser) SecurityUtils.getSubject().getPrincipal();

    }

    protected String getUserId() {
        return getUser().getUserNo();
    }


}

1、调用无参的方法样例

return commonScript.getUserInfo();

2、调用有参数的方法样例如下:

return commonScript.getUserDeptInfo(commonScript.getUserInfo()) ;

参数可以是固定值也可以是调用其他的脚本动态获取

注意:如果方法有返回值,脚本前面写return即可获取到,如果脚本没有返回值,return写不写效果都一样。

 

 

 技术支持:盘古BPM工作流平台

相关教程