package com.goafanti.order.enums;

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


/**
 * 项目状态 枚举
 * 	高新
 *	0未启动 1进行中 2暂停（客户通知暂停）3暂停（业务线通知暂停）4已提交 5未推荐 6已推荐 7未公示 8已公示 9已备案 10已下证
 *	11退单（已申报）12退单（未申报）28抽查未备案
 *	科技
 *	0-6 13已答辩 14未立项 15已立项 16前补助 17后补助 18立项已拨款 11-12
 *	专利
 *	0-4 19已完成/下证 20已驳回 11-12
 *	软著
 *	0-4 19-20(4已提交=公示) 11-12
 *	会员
 *	0-3 21第1年进行中 22第1年服务完成 23第2年进行中 24第2年服务完成 25第3年进行中 26第3年服务完成 27所有会员服务全部完成 11-12
 *	通用
 *	29 暂停
 * @author Administrator
 *
 */
public enum NewProjectStatus {


	WQD(0,"未启动"), JXZ(1,"进行中"), ZTKE(2,"暂停（客户通知暂停）"), ZTYW(3,"暂停（业务线通知暂停）"),
	YTJ(4,"已提交"), WTUIJIAN(5,"未推荐"),YTUIJIAN(6,"已推荐"), WNGS(7,"未拟公示"),
	YNGS(8,"已拟公示"), YBA(9,"已备案"), YXZ(10,"已下证 "), TDYSB(11,"退单（已申报/已下证）"),
	TDWSB(12,"退单（未申报/未下证）"),CCWBA(28,"抽查未备案"),

	YDB(13,"已答辩"),WLX(14,"未立项"),YLX(15,"已立项"),QBZ(16,"前补助"),HBZ(17,"后补助"),
	LXYBK(18,"立项已拨款"),

	YWCXZ(19,"已完成（下证）"),YBH(20,"已驳回"),

	D1NJX(21,"第1年进行中"),D1NWC(22,"第1年服务完成"),D2NJX(23,"第2年进行中"),D2NWC(24,"第2年服务完成"),
	D3NJX(25,"第3年进行中"),D3NWC(26,"第3年服务完成"),
	QBWC(27,"所有会员服务全部完成"),
	ZT(29,"暂停"),
	INVALID(99,"未知");


	 NewProjectStatus(Integer code, String desc) {
		this.code = code;
		this.desc = desc;
	}

	private static Map<Integer, NewProjectStatus> status = new HashMap<>();

	static {
		for (NewProjectStatus value : NewProjectStatus.values()) {
			status.put(value.getCode(), value);
		}
	}
	public static NewProjectStatus getStatus(Integer code) {
		if (containsType(code)) {
			return status.get(code);
		}
		return INVALID;
	}
	public static String getValueByCode(Integer code){
		if(code==null)return "";
        for(NewProjectStatus orderType:NewProjectStatus.values()){
            if(code.equals(orderType.getCode())){
                return orderType.getDesc();
            }
        }
        return  INVALID.getDesc();
    }
	public static boolean containsType(Integer code) {
		return status.containsKey(code);
	}

	private Integer	code;
	private String	desc;
	public Integer getCode() {
		return code;
	}
	public void setCode(Integer code) {
		this.code = code;
	}
	public String getDesc() {
		return desc;
	}
	public void setDesc(String desc) {
		this.desc = desc;
	}


}
