package com.engine.salary.entity.datacollection.po;

import com.engine.salary.annotation.Encrypt;
import com.engine.hrmelog.annotation.ElogTransform;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;

import java.util.Collection;
import java.util.Date;

/**
 * 数据采集-专项附加扣除表
 */
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
@Accessors(chain = true)
@ElogTransform( name = "专项附加扣除" )
public class SpecialAddDeductionPO {
    @ElogTransform( name="主键" )
    private Long id;

    /**
     * 人员信息表的主键id
     */
    @ElogTransform( name="人员id" )
    private Long employeeId;

    /**
     * 个税扣缴义务人的主键id
     */
    @ElogTransform( name="个税扣缴义务人id" )
    private Long taxAgentId;

    /**
     * 子女教育
     */
    @ElogTransform( name="子女教育" )
    @Encrypt
    private String childrenEducation;

    /**
     * 继续教育
     */
    @ElogTransform( name="继续教育" )
    @Encrypt
    private String continuingEducation;

    /**
     * 住房贷款利息
     */
    @ElogTransform( name="住房贷款利息" )
    @Encrypt
    private String housingLoanInterest;

    /**
     * 住房租金
     */
    @ElogTransform( name="住房租金" )
    @Encrypt
    private String housingRent;

    /**
     * 赡养老人
     */
    @ElogTransform( name="赡养老人" )
    @Encrypt
    private String supportingElder;

    /**
     * 大病医疗
     */
    @ElogTransform( name="大病医疗" )
    @Encrypt
    private String seriousIllnessTreatment;

    /**
     * 婴幼儿照护
     */
    @ElogTransform( name="婴幼儿照护" )
    @Encrypt
    private String infantCare;

    /**
     * 创建时间
     */
    @ElogTransform( name="创建时间" )
    private Date createTime;

    /**
     * 更新时间
     */
    @ElogTransform( name="更新时间" )
    private Date updateTime;

    /**
     * 创建人
     */
    @ElogTransform( name="创建人" )
    private Long creator;

    /**
     * 是否已删除。0：未删除、1：已删除
     */
    @ElogTransform( name="是否已删除" )
    private Integer deleteType;

    /**
     * 租户ID
     */
    @ElogTransform( name="租户" )
    private String tenantKey;

    private Collection<Long> employeeIds;

    private Collection<Long> ids;
}