package cn.superdesk.uniorder.common.enums.thirdpart.szhtxx.electronicInvoice;

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

/**
 * @Description: 清单标志^_^0-普通电子发票;1-普通电子发票(清单);2-收购电子发票;3-收购电子发票(清单);4-成品油电子发票(成品油无清单);备注:默认为0;1,3-清单是指强制清单;0,2-如果超出8行自动打印清单;4-成品油,则商品明细行不能有其他商品,一个商品是成品油,另一个不是成品油,开不出来票.并且成品油的发票的商品行中,单价;数量;单位必填,其中单位为升或者吨
 * @Author: linjinyu
 * @CreateDate: 2022/3/11 下午4:13
 * @UpdateUser: linjinyu
 * @UpdateDate: 2022/3/11 下午4:13
 * @UpdateRemark: 修改内容
 * @Version: 1.0
 */
public enum SzhtxxElectronicInvoiceFptxxQdBzEnum {


//	0-普通电子发票;
//	1-普通电子发票(清单);
//	2-收购电子发票;
//	3-收购电子发票(清单);
//	4-成品油电子发票(成品油无清单);
//	备注:
//	默认为0;
//	1,3-清单是指强制清单;
//	0,2-如果超出8行自动打印清单;
//	4-成品油,则商品明细行不能有其他商品,一个商品是成品油,另一个不是成品油,开不出来票.并且成品油的发票的商品行中,单价;数量;单位必填,其中单位为升或者吨


	普通电子发票(0, "普通电子发票"),
	普通电子发票_清单(1, "普通电子发票(清单)"),
	收购电子发票(2, "收购电子发票"),
	收购电子发票_清单(3, "收购电子发票(清单)"),
	成品油电子发票_成品油无清单(4, "成品油电子发票(成品油无清单)"),
	;

	private Integer key;
	private String  desc;

	SzhtxxElectronicInvoiceFptxxQdBzEnum(Integer key, String desc) {
		this.key = key;
		this.desc = desc;
	}

	public Integer getKey() {
		return key;
	}

	public String getDesc() {
		return desc;
	}

	public static String getDesc(Integer key) {
		for (SzhtxxElectronicInvoiceFptxxQdBzEnum c : SzhtxxElectronicInvoiceFptxxQdBzEnum.values()) {
			if (c.key.equals(key)) {
				return c.getDesc();
			}
		}
		return null;
	}

	private static final Map<Integer, SzhtxxElectronicInvoiceFptxxQdBzEnum> LOOKUP = new HashMap<>();

	static {
		for (SzhtxxElectronicInvoiceFptxxQdBzEnum s : EnumSet.allOf(SzhtxxElectronicInvoiceFptxxQdBzEnum.class)) {
			LOOKUP.put(s.getKey(), s);
		}
	}

	public static SzhtxxElectronicInvoiceFptxxQdBzEnum get(Integer key) {
		return LOOKUP.get(key);
	}

}
