""" 标准字段定义 定义工资表、社保表、个税表的标准字段 """ from enum import Enum class StandardField(str, Enum): """标准字段枚举""" # ===== 公共字段 ===== EMPLOYEE_NAME = "员工姓名" # 员工姓名 EMPLOYEE_ID = "工号" # 工号 DEPARTMENT = "部门" # 部门 POSITION = "岗位" # 岗位/职位 # ===== 工资表字段 ===== BASE_SALARY = "基本工资" # 基本工资 BONUS = "奖金" # 奖金 ALLOWANCE = "补贴" # 补贴 OVERTIME_PAY = "加班费" # 加班费 DEDUCTION = "扣款" # 扣款 GROSS_SALARY = "应发工资" # 应发工资 NET_SALARY = "实发工资" # 实发工资/净工资 BANK_CARD = "银行账号" # 银行账号 ID_CARD = "身份证号" # 身份证号 # ===== 社保表字段 ===== SOCIAL_SECURITY_BASE = "社保基数" # 社保基数 PENSION_INSURANCE = "养老保险" # 养老保险(个人) MEDICAL_INSURANCE = "医疗保险" # 医疗保险(个人) UNEMPLOYMENT_INSURANCE = "失业保险" # 失业保险(个人) HOUSING_FUND = "公积金" # 住房公积金(个人) PENSION_INSURANCE_COMPANY = "养老保险(公司)" # 养老保险(公司) MEDICAL_INSURANCE_COMPANY = "医疗保险(公司)" # 医疗保险(公司) UNEMPLOYMENT_INSURANCE_COMPANY = "失业保险(公司)" # 失业保险(公司) HOUSING_FUND_COMPANY = "公积金(公司)" # 住房公积金(公司) SOCIAL_SECURITY_TOTAL = "社保合计" # 社保合计 # ===== 个税表字段 ===== TAXABLE_INCOME = "应税收入" # 应税收入 PRE_TAX_DEDUCTION = "税前扣除" # 税前扣除(三险一金等) TAX_FREE_INCOME = "免税收入" # 免税收入 TAX_EXEMPT_INCOME = "税前减免" # 税前减免 QUICK_DEDUCTION = "速算扣除数" # 速算扣除数 TAX_AMOUNT = "应缴个税" # 应缴个人所得税 TAX_PAID = "已缴个税" # 已缴个人所得税 AFTER_TAX_INCOME = "税后收入" # 税后收入 # 标准字段分组 FIELD_GROUPS = { "公共字段": [ StandardField.EMPLOYEE_NAME, StandardField.EMPLOYEE_ID, StandardField.DEPARTMENT, StandardField.POSITION, ], "工资表字段": [ StandardField.BASE_SALARY, StandardField.BONUS, StandardField.ALLOWANCE, StandardField.OVERTIME_PAY, StandardField.DEDUCTION, StandardField.GROSS_SALARY, StandardField.NET_SALARY, StandardField.BANK_CARD, StandardField.ID_CARD, ], "社保表字段": [ StandardField.SOCIAL_SECURITY_BASE, StandardField.PENSION_INSURANCE, StandardField.MEDICAL_INSURANCE, StandardField.UNEMPLOYMENT_INSURANCE, StandardField.HOUSING_FUND, StandardField.PENSION_INSURANCE_COMPANY, StandardField.MEDICAL_INSURANCE_COMPANY, StandardField.UNEMPLOYMENT_INSURANCE_COMPANY, StandardField.HOUSING_FUND_COMPANY, StandardField.SOCIAL_SECURITY_TOTAL, ], "个税表字段": [ StandardField.TAXABLE_INCOME, StandardField.PRE_TAX_DEDUCTION, StandardField.TAX_FREE_INCOME, StandardField.TAX_EXEMPT_INCOME, StandardField.QUICK_DEDUCTION, StandardField.TAX_AMOUNT, StandardField.TAX_PAID, StandardField.AFTER_TAX_INCOME, ], } # 字段类型映射 FIELD_TYPES = { StandardField.EMPLOYEE_NAME.value: "string", StandardField.EMPLOYEE_ID.value: "string", StandardField.DEPARTMENT.value: "string", StandardField.POSITION.value: "string", StandardField.BASE_SALARY.value: "number", StandardField.BONUS.value: "number", StandardField.ALLOWANCE.value: "number", StandardField.OVERTIME_PAY.value: "number", StandardField.DEDUCTION.value: "number", StandardField.GROSS_SALARY.value: "number", StandardField.NET_SALARY.value: "number", StandardField.BANK_CARD.value: "string", StandardField.ID_CARD.value: "string", StandardField.SOCIAL_SECURITY_BASE.value: "number", StandardField.PENSION_INSURANCE.value: "number", StandardField.MEDICAL_INSURANCE.value: "number", StandardField.UNEMPLOYMENT_INSURANCE.value: "number", StandardField.HOUSING_FUND.value: "number", StandardField.PENSION_INSURANCE_COMPANY.value: "number", StandardField.MEDICAL_INSURANCE_COMPANY.value: "number", StandardField.UNEMPLOYMENT_INSURANCE_COMPANY.value: "number", StandardField.HOUSING_FUND_COMPANY.value: "number", StandardField.SOCIAL_SECURITY_TOTAL.value: "number", StandardField.TAXABLE_INCOME.value: "number", StandardField.PRE_TAX_DEDUCTION.value: "number", StandardField.TAX_FREE_INCOME.value: "number", StandardField.TAX_EXEMPT_INCOME.value: "number", StandardField.QUICK_DEDUCTION.value: "number", StandardField.TAX_AMOUNT.value: "number", StandardField.TAX_PAID.value: "number", StandardField.AFTER_TAX_INCOME.value: "number", }