/**
 * output package name
 */
package com.kingdee.eas.custom.integration.feishu.bizEnum;

import java.util.Map;
import java.util.List;
import java.util.Iterator;
import com.kingdee.util.enums.StringEnum;

/**
 * output class name
 */
public class CompleteReasonEnum extends StringEnum
{
    public static final String APPROVED_VALUE = "approved";//alias=同意
    public static final String REJECTED_VALUE = "rejected";//alias=拒绝
    public static final String NODE_AUTO_REJECT_VALUE = "node_auto_reject";//alias=因逻辑判断产生的自动拒绝
    public static final String SPECIFIC_ROLLBACK_VALUE = "specific_rollback";//alias=退回（包括退回到发起人、退回到中间任一审批人）
    public static final String ADD_VALUE = "add";//alias=并加签（添加新审批人，与我一起审批）
    public static final String ADD_PRE_VALUE = "add_pre";//alias=前加签（添加新审批人，在我之前审批）
    public static final String ADD_POST_VALUE = "add_post";//alias=后加签（添加新审批人，在我之后审批）
    public static final String DELETE_ASSIGNEE_VALUE = "delete_assignee";//alias=减签
    public static final String FORWARD_VALUE = "forward";//alias=手动转交
    public static final String FORWARD_RESIGN_VALUE = "forward_resign";//alias=离职自动转交
    public static final String RECALL_VALUE = "recall";//alias=撤销（撤回单据，单据失效）
    public static final String DELETE_VALUE = "delete";//alias=删除审批单
    public static final String ADMIN_FORWARD_VALUE = "admin_forward";//alias=管理员在后台操作转交
    public static final String SYSTEM_FORWARD_VALUE = "system_forward";//alias=系统自动转交
    public static final String AUTO_SKIP_VALUE = "auto_skip";//alias=自动通过
    public static final String MANUAL_SKIP_VALUE = "manual_skip";//alias=手动跳过
    public static final String SUBMIT_AGAIN_VALUE = "submit_again";//alias=重新提交任务
    public static final String RESTART_VALUE = "restart";//alias=重新启动流程
    public static final String OTHERS_VALUE = "others";//alias=其他

    public static final CompleteReasonEnum approved = new CompleteReasonEnum("approved", APPROVED_VALUE);
    public static final CompleteReasonEnum rejected = new CompleteReasonEnum("rejected", REJECTED_VALUE);
    public static final CompleteReasonEnum node_auto_reject = new CompleteReasonEnum("node_auto_reject", NODE_AUTO_REJECT_VALUE);
    public static final CompleteReasonEnum specific_rollback = new CompleteReasonEnum("specific_rollback", SPECIFIC_ROLLBACK_VALUE);
    public static final CompleteReasonEnum add = new CompleteReasonEnum("add", ADD_VALUE);
    public static final CompleteReasonEnum add_pre = new CompleteReasonEnum("add_pre", ADD_PRE_VALUE);
    public static final CompleteReasonEnum add_post = new CompleteReasonEnum("add_post", ADD_POST_VALUE);
    public static final CompleteReasonEnum delete_assignee = new CompleteReasonEnum("delete_assignee", DELETE_ASSIGNEE_VALUE);
    public static final CompleteReasonEnum forward = new CompleteReasonEnum("forward", FORWARD_VALUE);
    public static final CompleteReasonEnum forward_resign = new CompleteReasonEnum("forward_resign", FORWARD_RESIGN_VALUE);
    public static final CompleteReasonEnum recall = new CompleteReasonEnum("recall", RECALL_VALUE);
    public static final CompleteReasonEnum delete = new CompleteReasonEnum("delete", DELETE_VALUE);
    public static final CompleteReasonEnum admin_forward = new CompleteReasonEnum("admin_forward", ADMIN_FORWARD_VALUE);
    public static final CompleteReasonEnum system_forward = new CompleteReasonEnum("system_forward", SYSTEM_FORWARD_VALUE);
    public static final CompleteReasonEnum auto_skip = new CompleteReasonEnum("auto_skip", AUTO_SKIP_VALUE);
    public static final CompleteReasonEnum manual_skip = new CompleteReasonEnum("manual_skip", MANUAL_SKIP_VALUE);
    public static final CompleteReasonEnum submit_again = new CompleteReasonEnum("submit_again", SUBMIT_AGAIN_VALUE);
    public static final CompleteReasonEnum restart = new CompleteReasonEnum("restart", RESTART_VALUE);
    public static final CompleteReasonEnum others = new CompleteReasonEnum("others", OTHERS_VALUE);

    /**
     * construct function
     * @param String completeReasonEnum
     */
    private CompleteReasonEnum(String name, String completeReasonEnum)
    {
        super(name, completeReasonEnum);
    }
    
    /**
     * getEnum function
     * @param String arguments
     */
    public static CompleteReasonEnum getEnum(String completeReasonEnum)
    {
        return (CompleteReasonEnum)getEnum(CompleteReasonEnum.class, completeReasonEnum);
    }

    /**
     * getEnumMap function
     */
    public static Map getEnumMap()
    {
        return getEnumMap(CompleteReasonEnum.class);
    }

    /**
     * getEnumList function
     */
    public static List getEnumList()
    {
         return getEnumList(CompleteReasonEnum.class);
    }
    
    /**
     * getIterator function
     */
    public static Iterator iterator()
    {
         return iterator(CompleteReasonEnum.class);
    }
}