package com.eshore.fssc.common.constant.sysmgr;
import java.util.ArrayList;
import java.util.List;
/**
* 区域编码
* @author lm
*
*/
public enum ProvinceCodeTypes {
HEADQUARTERS("00", "10", "总部", "HQ"),
BEI_JING("01", "11", "北京", "BJ"),
ZHE_JIANG("02", "33", "浙江", "ZJ"),
SHANG_HAI("03", "31", "上海", "SH"),
ESTATE_TAX("04", "32", "江苏", "JS"),
HUNAN("05", "43", "湖南", "HN"),
HUBEI("06", "42", "湖北", "HB"),
SHANXI("07", "61", "陕西", "SN"),
HAINAN("08", "46", "海南", "HI"),
CIT_TAX("09", "44", "广东", "GD"),
GUANGXI("10", "45", "广西", "GX"),
ANHUI("11", "34", "安徽", "AH"),
CHONG_QING("12", "50", "重庆", "CQ"),
SICHUAN("13", "51", "四川", "SC"),
YUNNAN("14", "53", "云南", "YN"),
XIZANG("15", "54", "西藏", "XZ"),
GANSU("16", "62", "甘肃", "GS"),
NINGXIA("17", "64", "宁夏", "NX"),
GUIZHOU("18", "52", "贵州", "GZ"),
QINGHAI("19", "63", "青海", "QH"),
XINJIANG("20", "65", "新疆", "XJ"),
TIANJING("21", "12", "天津", "TJ"),
FUJIAN("22", "35", "福建", "FJ"),
JIANGXI("23", "36", "江西", "JX"),
HEILONGJIANG("24", "23", "黑龙江", "HL"),
JILIN("25", "22", "吉林", "JL"),
LIAONING("26", "21", "辽宁", "LN"),
HEBEI("27", "13", "河北", "HE"),
SHAN_XI("28", "14", "山西", "SX"),
SHANDONG("29", "37", "山东", "SD"),
HENAN("30", "41", "河南", "HA"),
NEIMENG("31", "15", "内蒙古", "NM"),
GJGS("54", "54", "国际公司", "GJGS"),
AOMEN("55", "55", "澳门", "AOMEN"),
GUONEI("90", "90", "国内", "GUONEI"),
GUOJI("99", "99", "国际", "GUOJI");
public final String code;
public final String eCode;
public final String lable;
public final String shortCode; // 简称
/**
* 获取国际所有省份编码
* @author liumin 2017-06-19
* @param provinceCode
* @return
*/
public static List<String> getGuoJiCode(){
List<String> guoJiCodes=new ArrayList<String>();
guoJiCodes.add(AOMEN.code);
guoJiCodes.add(GJGS.code);
return guoJiCodes;
}
/**
* 获取国内所有省份编码
* @author liumin 2017-06-19
* @param provinceCode
* @return
*/
public static List<String> getGuoNeiCode(){
List<String> guoNeiCodes=new ArrayList<String>();
guoNeiCodes.add(HEADQUARTERS.code);
guoNeiCodes.add(BEI_JING.code);
guoNeiCodes.add(ZHE_JIANG.code);
guoNeiCodes.add(SHANG_HAI.code);
guoNeiCodes.add(ESTATE_TAX.code);
guoNeiCodes.add(HUNAN.code);
guoNeiCodes.add(HUBEI.code);
guoNeiCodes.add(SHANXI.code);
guoNeiCodes.add(HAINAN.code);
guoNeiCodes.add(CIT_TAX.code);
guoNeiCodes.add(GUANGXI.code);
guoNeiCodes.add(ANHUI.code);
guoNeiCodes.add(CHONG_QING.code);
guoNeiCodes.add(SICHUAN.code);
guoNeiCodes.add(YUNNAN.code);
guoNeiCodes.add(XIZANG.code);
guoNeiCodes.add(GANSU.code);
guoNeiCodes.add(NINGXIA.code);
guoNeiCodes.add(GUIZHOU.code);
guoNeiCodes.add(QINGHAI.code);
guoNeiCodes.add(XINJIANG.code);
guoNeiCodes.add(TIANJING.code);
guoNeiCodes.add(FUJIAN.code);
guoNeiCodes.add(JIANGXI.code);
guoNeiCodes.add(HEILONGJIANG.code);
guoNeiCodes.add(JILIN.code);
guoNeiCodes.add(LIAONING.code);
guoNeiCodes.add(HEBEI.code);
guoNeiCodes.add(SHAN_XI.code);
guoNeiCodes.add(SHANDONG.code);
guoNeiCodes.add(HENAN.code);
guoNeiCodes.add(NEIMENG.code);
//System.out.println(guoNeiCodes.toString());
return guoNeiCodes;
}
private ProvinceCodeTypes(String code, String eCode, String lable, String shortCode) {
this.code = code;
this.eCode = eCode;
this.lable = lable;
this.shortCode = shortCode;
}
public String getCode(){
return this.code;
}
public static String getName(String code) {
ProvinceCodeTypes[] values = ProvinceCodeTypes.values();
for (ProvinceCodeTypes type : values) {
if (type.code.equals(code))
return type.lable;
}
return null;
}
public static String getCode(String lable) {
ProvinceCodeTypes[] values = ProvinceCodeTypes.values();
for (ProvinceCodeTypes type : values) {
if (type.lable.equals(lable))
return type.code;
}
return null;
}
public static String getCodeByEcode(String ecode) {
ProvinceCodeTypes[] values = ProvinceCodeTypes.values();
for (ProvinceCodeTypes type : values) {
if (type.eCode.equals(ecode))
return type.code;
}
return null;
}
public static String getECode(String code) {
ProvinceCodeTypes[] values = ProvinceCodeTypes.values();
for (ProvinceCodeTypes type : values) {
if (type.code.equals(code))
return type.eCode;
}
return null;
}
public static String getShortCode(String code) {
ProvinceCodeTypes[] values = ProvinceCodeTypes.values();
for (ProvinceCodeTypes type : values) {
if (type.code.equals(code))
return type.shortCode;
}
return null;
}
public static String[] names(){
ProvinceCodeTypes[] values = ProvinceCodeTypes.values();
int len = values.length;
String[] result = new String[len];
for (int i = 0; i < len; i++) {
result[i] = values[i].lable;
}
return result;
}
public String getLable() {
return lable;
}
/**
* 国际公司省份判断
* @param provinceCode
* @return
*/
public static boolean isInternational(String provinceCode) {
if(GJGS.code.equals(provinceCode) || AOMEN.code.equals(provinceCode) || GUOJI.code.equals(provinceCode)){
return true;
}else{
return false;
}
}
/**
* 国内省份判断
* @param provinceCode
* @return
*/
public static boolean isDomestic(String provinceCode){
if(!isInternational(provinceCode) ){
return true;
}else{
return false;
}
}
}