package com.engine.salary.entity.salaryarchive.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
//hrsa_salary_archive_item
@ElogTransform( name="薪资档案调薪记录" )
public class SalaryArchiveItemPO {

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

    /**
     * 薪资档案表的主键id
     */
    @ElogTransform( name = "薪资档案id" )
    private Long salaryArchiveId;

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

    /**
     * 生效时间
     */
    @ElogTransform( name = "生效时间" )
    private Date effectiveTime;

    /**
     * 调整原因
     */
    @ElogTransform( name = "调整原因" )
    private String adjustReason;

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

    /**
     * 薪资项目值
     */
    @ElogTransform( name = "薪资项目值" )
    @Encrypt
    private String itemValue;

    /**
     * 备注
     */
    @ElogTransform( name = "备注" )
    private String description;

    /**
     * 操作人
     */
    @ElogTransform( name = "操作人" )
    private Long operator;

    /**
     * 操作时间
     */
    @ElogTransform( name = "操作时间" )
    private Date operateTime;

    /**
     * 创建时间
     */
    @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;


    Collection<Long> ids;
    Collection<Long> employeeIds;
    Collection<Long> salaryItemIds;

}
