package com.engine.salary.entity.salaryacct.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 java.util.Collection;
import java.util.Date;

/**
 * 薪资核算结果
 * <p>Copyright: Copyright (c) 2022</p>
 * <p>Company: 泛微软件</p>
 *
 * @author qiantao
 * @version 1.0
 **/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
//value = "hrsa_salary_acct_result
@ElogTransform( name="薪资核算结果" )
public class SalaryAcctResultPO {

    /**
     * 主键id
     */
    @ElogTransform( name="主键" )
    private Long id;

    /**
     * 薪资账套id
     */
    @ElogTransform( name="薪资账套id" )
    private Long salarySobId;

    /**
     * 薪资项目id
     */
    @ElogTransform( name="薪资项目id" )
    private Long salaryItemId;

    /**
     * 薪资核算的id
     */
    @ElogTransform( name="薪资核算记录id" )
    private Long salaryAcctRecordId;

    /**
     * 薪资核算人员id
     */
    @ElogTransform( name="薪资核算人员id" )
    private Long salaryAcctEmpId;

    /**
     * 人员id
     */
    @ElogTransform( name="人员id" )
    private Long employeeId;

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

    /**
     * 计算后的值
     */
    @ElogTransform( name="计算后的值" )
    @Encrypt
    private String resultValue;

    /**
     * 回算前的值
     */
    @ElogTransform( name="回算前的值" )
    @Encrypt
    private String originResultValue;

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

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

    /**
     * 是否删除
     */
    private Integer deleteType;

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

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

    //条件
    private Collection<Long> ids;
    private Collection<Long> salaryAcctRecordIds;
    private Collection<Long> salaryAcctEmpIds;
    private Collection<Long> employeeIds;
    private Collection<Long> taxAgentIds;
    private Collection<Long> salaryItemIds;
}
