package com.hotent.constant;

public enum NodeConstant {

    tjcl("tjcl", "提交材料"),
    clcs("clcs", "材料初审"),
    sdshenhe("sdsh", "实地审核"),
    yjgaozhi("yjgz", "意见告知"),
    yjfk("yjfk", "意见反馈"),
    jtshenyi("jtsy", "集体审议"),
    chujubaogao("cjbg", "出具报告"),
    guidang("gd", "归档");

    private String nodeKey;

    private String nodeValue;


    NodeConstant(String nodeKey, String nodeValue) {
        this.nodeKey = nodeKey;
        this.nodeValue = nodeValue;
    }


    public String getNodeKey() {
        return nodeKey;
    }

    public String getNodeValue() {
        return nodeValue;
    }

    //根据key获取value
    public static String getNodeValueByKey(String nodeKey) {
        for (NodeConstant n : NodeConstant.values()) {
            if (n.getNodeKey().equals(nodeKey)) {
                return n.getNodeValue();
            }
        }
        return null;
    }

    // 获取下一个节点（线性顺序，流程最后一个节点返回null）
    public static NodeConstant getNextNode(String nodeKey) {
        NodeConstant[] nodes = NodeConstant.values();
        for (int i = 0; i < nodes.length - 1; i++) {
            if (nodes[i].getNodeKey().equals(nodeKey)) {
                return nodes[i + 1];
            }
        }
        return null;
    }

    // 获取上一个节点（线性顺序，流程首节点返回null）
    public static NodeConstant getPrevNode(String nodeKey) {
        NodeConstant[] nodes = NodeConstant.values();
        for (int i = 1; i < nodes.length; i++) {
            if (nodes[i].getNodeKey().equals(nodeKey)) {
                return nodes[i - 1];
            }
        }
        return null;
    }


}
