package com.engine.salary.entity.taxdeclaration.dto;

import com.cloudstore.eccom.pc.table.WeaTableType;
import com.engine.salary.annotation.SalaryTable;
import com.engine.salary.annotation.SalaryTableColumn;
import com.engine.salary.annotation.TableTitle;
import com.engine.salary.util.excel.ExcelHead;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;

/**
 * 个税申报表详情列表（正常工资薪金所得）
 * <p>Copyright: Copyright (c) 2022</p>
 * <p>Company: 泛微软件</p>
 *
 * @author qiantao
 * @version 1.0
 **/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
@SalaryTable(pageId = "a4f85287-e3f9-6612-adn9-7d34564y6rj8", tableType = WeaTableType.CHECKBOX)
public class TaxDeclarationWageListDTO {


    //主键id
    private Long id;

    //人员id
    private Long employeeId;

    @SalaryTableColumn(text = "工号", width = "10%", column = "jobNum")
    @TableTitle(title = "工号", dataIndex = "jobNum", key = "jobNum")
    @ExcelHead(title = "工号", dataIndex = "jobNum")
    private String jobNum;

    @SalaryTableColumn(text = "姓名", width = "10%", column = "username")
    @TableTitle(title = "姓名", dataIndex = "username", key = "username")
    @ExcelHead(title = "姓名", dataIndex = "username")
    private String username;

    @SalaryTableColumn(text = "证件类型", width = "10%", column = "cardType")
    @TableTitle(title = "证件类型", dataIndex = "cardType", key = "cardType")
    @ExcelHead(title = "证件类型", dataIndex = "cardType")
    private String cardType;

    @SalaryTableColumn(text = "证件号码", width = "10%", column = "cardNum")
    @TableTitle(title = "证件号码", dataIndex = "cardNum", key = "cardNum")
    @ExcelHead(title = "证件号码", dataIndex = "cardNum")
    private String cardNum;

    @SalaryTableColumn(text = "本期收入", width = "10%", column = "income")
    @TableTitle(title = "本期收入", dataIndex = "income", key = "income")
    @ExcelHead(title = "本期收入", dataIndex = "income")
    private String income;

    @SalaryTableColumn(text = "本期免税收入", width = "10%", column = "taxFreeIncome")
    @TableTitle(title = "本期免税收入", dataIndex = "taxFreeIncome", key = "taxFreeIncome")
    @ExcelHead(title = "本期免税收入", dataIndex = "taxFreeIncome")
    private String taxFreeIncome;

    @SalaryTableColumn(text = "基本养老保险费", width = "10%", column = "endowmentInsurance")
    @TableTitle(title = "基本养老保险费", dataIndex = "endowmentInsurance", key = "endowmentInsurance")
    @ExcelHead(title = "基本养老保险费", dataIndex = "endowmentInsurance")
    private String endowmentInsurance;

    @SalaryTableColumn(text = "基本医疗保险费", width = "10%", column = "medicalInsurance")
    @TableTitle(title = "基本医疗保险费", dataIndex = "medicalInsurance", key = "medicalInsurance")
    @ExcelHead(title = "基本医疗保险费", dataIndex = "medicalInsurance")
    private String medicalInsurance;

    @SalaryTableColumn(text = "失业保险费", width = "10%", column = "unemploymentInsurance")
    @TableTitle(title = "失业保险费", dataIndex = "unemploymentInsurance", key = "unemploymentInsurance")
    @ExcelHead(title = "失业保险费", dataIndex = "unemploymentInsurance")
    private String unemploymentInsurance;

    @SalaryTableColumn(text = "住房公积金", width = "10%", column = "housingProvidentFund")
    @TableTitle(title = "住房公积金", dataIndex = "housingProvidentFund", key = "housingProvidentFund")
    @ExcelHead(title = "住房公积金", dataIndex = "housingProvidentFund")
    private String housingProvidentFund;

    @SalaryTableColumn(text = "累计子女教育", width = "10%", column = "addUpChildEducation")
    @TableTitle(title = "累计子女教育", dataIndex = "addUpChildEducation", key = "addUpChildEducation")
    @ExcelHead(title = "累计子女教育", dataIndex = "addUpChildEducation")
    private String addUpChildEducation;

    @SalaryTableColumn(text = "累计住房贷款利息", width = "10%", column = "addUpHousingLoanInterest")
    @TableTitle(title = "累计住房贷款利息", dataIndex = "addUpHousingLoanInterest", key = "addUpHousingLoanInterest")
    @ExcelHead(title = "累计住房贷款利息", dataIndex = "addUpHousingLoanInterest")
    private String addUpHousingLoanInterest;

    @SalaryTableColumn(text = "累计住房租金", width = "10%", column = "addUpHousingRent")
    @TableTitle(title = "累计住房租金", dataIndex = "addUpHousingRent", key = "addUpHousingRent")
    @ExcelHead(title = "累计住房租金", dataIndex = "addUpHousingRent")
    private String addUpHousingRent;

    @SalaryTableColumn(text = "累计继续教育", width = "10%", column = "addUpContinuingEducation")
    @TableTitle(title = "累计继续教育", dataIndex = "addUpContinuingEducation", key = "addUpContinuingEducation")
    @ExcelHead(title = "累计继续教育", dataIndex = "addUpContinuingEducation")
    private String addUpContinuingEducation;

    @SalaryTableColumn(text = "累计赡养老人", width = "10%", column = "addUpSupportElderly")
    @TableTitle(title = "累计赡养老人", dataIndex = "addUpSupportElderly", key = "addUpSupportElderly")
    @ExcelHead(title = "累计赡养老人", dataIndex = "addUpSupportElderly")
    private String addUpSupportElderly;

    @SalaryTableColumn(text = "累计大病医疗", width = "10%", column = "addUpIllnessMedical")
    @TableTitle(title = "累计大病医疗", dataIndex = "addUpIllnessMedical", key = "addUpIllnessMedical")
    @ExcelHead(title = "累计大病医疗", dataIndex = "addUpIllnessMedical")
    private String addUpIllnessMedical;

    @SalaryTableColumn(text = "累计3岁以下婴幼儿照护", width = "10%", column = "addUpInfantCare")
    @TableTitle(title = "累计3岁以下婴幼儿照护", dataIndex = "addUpInfantCare", key = "addUpInfantCare")
    @ExcelHead(title = "累计3岁以下婴幼儿照护", dataIndex = "addUpInfantCare")
    private String addUpInfantCare;

    @SalaryTableColumn(text = "累计个人养老金", width = "10%", column = "addUpPrivatePension")
    @TableTitle(title = "累计个人养老金", dataIndex = "addUpPrivatePension", key = "addUpPrivatePension")
    @ExcelHead(title = "累计个人养老金", dataIndex = "addUpPrivatePension")
    private String addUpPrivatePension;

    @SalaryTableColumn(text = "企业（职业）年金", width = "10%", column = "annuity")
    @TableTitle(title = "企业（职业）年金", dataIndex = "annuity", key = "annuity")
    @ExcelHead(title = "企业（职业）年金", dataIndex = "annuity")
    private String annuity;

    @SalaryTableColumn(text = "商业健康保险", width = "10%", column = "commercialHealthInsurance")
    @TableTitle(title = "商业健康保险", dataIndex = "commercialHealthInsurance", key = "commercialHealthInsurance")
    @ExcelHead(title = "商业健康保险", dataIndex = "commercialHealthInsurance")
    private String commercialHealthInsurance;

    @SalaryTableColumn(text = "税延养老保险", width = "10%", column = "taxDeferredEndowmentInsurance")
    @TableTitle(title = "税延养老保险", dataIndex = "taxDeferredEndowmentInsurance", key = "taxDeferredEndowmentInsurance")
    @ExcelHead(title = "税延养老保险", dataIndex = "taxDeferredEndowmentInsurance")
    private String taxDeferredEndowmentInsurance;

    @SalaryTableColumn(text = "其他", width = "10%", column = "other")
    @TableTitle(title = "其他", dataIndex = "other", key = "other")
    @ExcelHead(title = "其他", dataIndex = "other")
    private String other;

    @SalaryTableColumn(text = "准予扣除的捐赠额", width = "10%", column = "allowedDonation")
    @TableTitle(title = "准予扣除的捐赠额", dataIndex = "allowedDonation", key = "allowedDonation")
    @ExcelHead(title = "准予扣除的捐赠额", dataIndex = "allowedDonation")
    private String allowedDonation;

    @SalaryTableColumn(text = "减免税额", width = "10%", column = "taxDeduction")
    @TableTitle(title = "减免税额", dataIndex = "taxDeduction", key = "taxDeduction")
    @ExcelHead(title = "减免税额", dataIndex = "taxDeduction")
    private String taxDeduction;

    @SalaryTableColumn(text = "备注", width = "10%", column = "description")
    @TableTitle(title = "备注", dataIndex = "description", key = "description")
    @ExcelHead(title = "备注", dataIndex = "description")
    private String description;
}
