package com.trade.admin.workflow.util;


import java.util.HashMap;
import java.util.Map;

/**
 * @Description:工作流纯常量工具类
 * @Author:wanxiangZhou
 * @E-mail:zhouyu@sunxung.cn
 * @Date:2018年6月5日 下午3:49:30
 */
public class FlowableConstantUtil {

    /* 流程定义活动类型常量，注：常量值来源于工作流引擎Flowable中定义的常量，不建议自定义 */
    /**
     * 开始事件
     **/
    public static final String FLOWABLE_ACTTYPE_STARTEVENT = "startEvent";
    /**
     * 用户任务
     **/
    public static final String FLOWABLE_ACTTYPE_USERTASK = "userTask";
    /**
     * 结束事件
     **/
    public static final String FLOWABLE_ACTTYPE_ENTEVENT = "entEvent";


    /*  流程任务办理人变量名成 */
    public static final String ASSIGNEE = "_assignee";// 办理人（一个）
    public static final String CANDIDATE = "_candidateUsers"; //候选人组
    public static final String ASSIGNEELIST = "_assigneeList";// 办理人集合，如会签情况
    public static final String _CANDIDATE = "_candidate";// 办理人集合


    //流程暂停或者终止
    public static final String PAUSE = "暂停";
    public static final String TERMINATE = "否决";
    public static final String FORCED_TERMINATE = "强制终止";


    /* 任务办理人类型 */
    public static Map<String, String> assigneeType = new HashMap<>();
    /**
     * 任务处理人
     **/
    public static final String PROCESS_TASK = "processTask";
    public static final String PROCESS_TASK_DISPLAY_NAME = "处理人";
    /**
     * 任务分配人
     **/
    public static final String ASSIGN_TASK = "assignTask";

    public static final String ASSIGN_TASK_DISPLAY_NAME = "分配人";

    static {
        assigneeType.put(PROCESS_TASK, PROCESS_TASK_DISPLAY_NAME);
        assigneeType.put(ASSIGN_TASK, ASSIGN_TASK_DISPLAY_NAME);
    }
}
