package com.zcloud.entity.hotWorkApplication;

import java.util.ArrayList;
import java.util.List;

public class Overseer {
    private List<Node> specialHotWorkFlow;
    private List<Node> commonHotWorkFlow;
    private List<Node> safetyWorkFlow;
    private List<NodeApp> safetyAppWorkFlow;
    private List<Node> flow;
    private String safetyAppVector;
    private List<From> specialFrom;
    private List<From> safetyForm;

    private List<From> FlowForm;
    public Overseer(){
        this.specialHotWorkFlow = initSpecial();
        this.specialFrom = From.init(this.specialHotWorkFlow.size()+"");
        this.safetyAppWorkFlow = initAppSafety();
        this.flow = initFlow();
        this.FlowForm = From.init(this.flow.size() + "");
        this.safetyWorkFlow = initSafety();
        this.safetyForm = From.init(this.safetyWorkFlow.size() + "");
    }
    public List<Node> getSafetyWorkFlow() {
        return this.safetyWorkFlow;
    }
    public List<From> getSafetyForm() {
        return this.safetyForm;
    }
    public List<Node> getFlow() {
        return this.flow;
    }
    public List<NodeApp> getSafetyAppWorkFlow(){
        return this.safetyAppWorkFlow;
    }
    public String getSafetyAppVector(){
        return this.safetyAppVector;
    }
    public void setSafetyAppVector(String vector){
        this.safetyAppVector = vector;
    }
    public List<From> getFlowForm() {
        return this.FlowForm;
    }

    private ArrayList<Node> initSpecial(){
        ArrayList<Node> list  = new ArrayList<>();
        Node node = new Node();
        node.setOrder("1");
        node.setId("1");
        node.setText("特级动火申请人");
        list.add(node);

        node = new Node();
        node.setOrder("30");
        node.setId("2");
        node.setText("动火负责人确认");
        list.add(node);

        node = new Node();
        node.setOrder("31");
        node.setId("3");
        node.setText("项目主管人员初审");
        list.add(node);

        node = new Node();
        node.setOrder("32");
        node.setId("4");
        node.setText("项目主管部门负责人审核");
        list.add(node);

        node = new Node();
        node.setOrder("33");
        node.setId("5");
        node.setText("分公司安全总监审批");
        list.add(node);

        node = new Node();
        node.setOrder("34");
        node.setId("6");
        node.setText("分公司主要负责人签批");
        list.add(node);

        node = new Node();
        node.setOrder("35");
        node.setId("7");
        node.setText("安全监督部门初审");
        list.add(node);

        node = new Node();
        node.setOrder("36");
        node.setId("8");
        node.setText("安委会办公室审批");
        list.add(node);

        node = new Node();
        node.setOrder("37");
        node.setId("9");
        node.setText("安全总监签发");
        list.add(node);

        node = new Node();
        node.setOrder("39");
        node.setId("10");
        node.setText("归档");
        list.add(node);
        return list;
    }
    private ArrayList<Node> initFlow(){
        ArrayList<Node> list  = new ArrayList<>();
        Node node = new Node();
        node.setOrder("0");
        node.setId("1");
        node.setText("隐患发现人");
        list.add(node);

//        node = new Node();
//        node.setOrder("1");
//        node.setId("2");
//        node.setText("隐患确认人");
//        list.add(node);

        node = new Node();
        node.setOrder("1");
        node.setId("2");
        node.setText("整改负责人");
        list.add(node);

//        node = new Node();
//        node.setOrder("2");
//        node.setId("3");
//        node.setText("特殊处置审核");
//        list.add(node);


        node = new Node();
        node.setOrder("2");
        node.setId("3");
        node.setText("验收人");
        list.add(node);


        return list;
    }
    private ArrayList<Node> initSafety(){
        ArrayList<Node> list  = new ArrayList<>();
        Node node = new Node();
        node.setOrder("1");
        node.setId("1");
        node.setText("发起人处理");
        list.add(node);

        node = new Node();
        node.setOrder("2");
        node.setId("2");
        node.setText("检查人核实");
        list.add(node);

        node = new Node();
        node.setOrder("3");
        node.setId("3");
        node.setText("被检查人核实");
        list.add(node);

        node = new Node();
        node.setOrder("4");
        node.setId("4");
        node.setText("隐患指派");
        list.add(node);

        node = new Node();
        node.setOrder("5");
        node.setId("5");
        node.setText("隐患发现人验收");
        list.add(node);

//        node = new Node();
//        node.setOrder("6");
//        node.setId("6");
//        node.setText("考评");
//        list.add(node);

        return list;
    }
    private List<NodeApp> initAppSafety() {
        ArrayList<NodeApp> list = new ArrayList<>();
        NodeApp node = new NodeApp();
        node.setTitle("发起人处理");
        node.setOrder("0");
        list.add(node);

        node = new NodeApp();
        node.setTitle("检查人核实");
        node.setOrder("1");
        list.add(node);

        node = new NodeApp();
        node.setTitle("被检查人核实");
        node.setOrder("2");
        list.add(node);

        node = new NodeApp();
        node.setTitle("隐患指派");
        node.setOrder("3");
        list.add(node);

        node = new NodeApp();
        node.setTitle("隐患发现人验收");
        node.setOrder("4");
        list.add(node);

//        node = new NodeApp();
//        node.setTitle("考评");
//        node.setOrder("5");
//        list.add(node);
        return list;
    }

    public List<Node> getSpaecailHotWorkFlow() {
        return specialHotWorkFlow;
    }

    public void setSpaecailHotWorkFlow(List<Node> spaecailHotWorkFlow) {
        this.specialHotWorkFlow = spaecailHotWorkFlow;
    }

    public List<Node> getCommonHotWorkFlow() {
        return commonHotWorkFlow;
    }

    public void setCommonHotWorkFlow(List<Node> commonHotWorkFlow) {
        this.commonHotWorkFlow = commonHotWorkFlow;
    }

    public List<Node> getSpecialHotWorkFlow() {
        return specialHotWorkFlow;
    }

    public void setSpecialHotWorkFlow(List<Node> specialHotWorkFlow) {
        this.specialHotWorkFlow = specialHotWorkFlow;
    }

    public List<From> getSpecialFrom() {
        return specialFrom;
    }

    public void setSpecialFrom(List<From> specialFrom) {
        this.specialFrom = specialFrom;
    }
}
