package pwc.taxtech.atms.constant.enums; import java.util.HashMap; import java.util.Map; public class RevenueConfEnum { /** * 账载收入类型 */ public enum AccountType { Zero(0, "0值"), Account(1, "科目"), Manual(2, "手工录入"); private Integer code; private String name; public static final Map<Integer, String> MAPPING = new HashMap<>(); public static final Map<String, Integer> REVERSAL_MAPPING = new HashMap<>(); AccountType(Integer code, String name) { this.code = code; this.name = name; } public Integer getCode() { return code; } public String getName() { return name; } static { for (RevenueConfEnum.AccountType accountType : RevenueConfEnum.AccountType.values()) { MAPPING.put(accountType.getCode(), accountType.getName()); REVERSAL_MAPPING.put(accountType.getName(),accountType.getCode()); } } } /** * 账载收入类型 */ public enum TaxBase { Account(1, "账载收入"), Invoice(2, "开票收入"), Manual(3, "手工录入"), Period_Dr(4, "借方发生额"), Period_Cr(5, "贷方发生额"); private Integer code; private String name; public static final Map<Integer, String> MAPPING = new HashMap<>(); public static final Map<String, Integer> REVERSAL_MAPPING = new HashMap<>(); TaxBase(Integer code, String name) { this.code = code; this.name = name; } public Integer getCode() { return code; } public String getName() { return name; } static { for (RevenueConfEnum.TaxBase taxBase : RevenueConfEnum.TaxBase.values()) { MAPPING.put(taxBase.getCode(), taxBase.getName()); REVERSAL_MAPPING.put(taxBase.getName(),taxBase.getCode()); } } } /** * 计税方法 */ public enum TaxType { Common(0, "一般计税"), Simple(1, "简易计税"), Tax_Exemption(2, "免抵退税"), Free(3, "免税"); private Integer code; private String name; public static final Map<Integer, String> MAPPING = new HashMap<>(); public static final Map<String, Integer> REVERSAL_MAPPING = new HashMap<>(); TaxType(Integer code, String name) { this.code = code; this.name = name; } public Integer getCode() { return code; } public String getName() { return name; } static { for (RevenueConfEnum.TaxType taxType : RevenueConfEnum.TaxType.values()) { MAPPING.put(taxType.getCode(), taxType.getName()); REVERSAL_MAPPING.put(taxType.getName(),taxType.getCode()); } } } /** * 收入类型 */ public enum RevenueType { Service(0, "货物及加工修理修配劳务"), Assets(1, "服务、不动产和无形资产"); private Integer code; private String name; public static final Map<Integer, String> MAPPING = new HashMap<>(); public static final Map<String, Integer> REVERSAL_MAPPING = new HashMap<>(); RevenueType(Integer code, String name) { this.code = code; this.name = name; } public Integer getCode() { return code; } public String getName() { return name; } static { for (RevenueConfEnum.RevenueType revenueType : RevenueConfEnum.RevenueType.values()) { MAPPING.put(revenueType.getCode(), revenueType.getName()); REVERSAL_MAPPING.put(revenueType.getName(),revenueType.getCode()); } } } /** * 状态 */ public enum Status { Enable(0, "启用"), Disable(1, "停用"); private Integer code; private String name; public static final Map<Integer, String> MAPPING = new HashMap<>(); public static final Map<String, Integer> REVERSAL_MAPPING = new HashMap<>(); Status(Integer code, String name) { this.code = code; this.name = name; } public Integer getCode() { return code; } public String getName() { return name; } static { for (RevenueConfEnum.Status status : RevenueConfEnum.Status.values()) { MAPPING.put(status.getCode(), status.getName()); REVERSAL_MAPPING.put(status.getName(),status.getCode()); } } } public enum EXECLColumn { Column_1(0, "收入类型名称"), Column_2(1, "适用公司"), Column_3(2, "账载收入"), Column_4(3, "科目代码"), Column_5(4, "利润中心代码"), Column_6(5, "产品代码"), Column_7(6, "税率"), Column_8(7, "计税收入"), Column_9(8, "计税收入科目代码"), Column_10(9, "收入类型"), Column_11(10, "计税方法"), Column_12(11, "状态"), Column_13(12, "起始日期"), Column_14(13, "终止日期") ; private Integer index; private String name; public static final Map<Integer, String> MAPPING = new HashMap<>(); EXECLColumn(Integer index, String name) { this.index = index; this.name = name; } public Integer getIndex() { return index; } public String getName() { return name; } static { for (TaxesCalculateReportEnum.Column accountType : TaxesCalculateReportEnum.Column.values()) { MAPPING.put(accountType.getIndex(), accountType.getName()); } } } }