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

import com.engine.salary.enums.datacollection.DataCollectionEmployeeTypeEnum;
import com.engine.salary.enums.salarybill.BillConfimStatusEnum;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.Date;

/**
 * 工资单发放信息
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
//hrsa_salary_send_info
public class SalarySendInfoPO {

    /**
     * 主键id
     */
    private Long id;

    /**
     * 工资单发放id
     */
    private Long salarySendId;

    /**
     * 薪资所属月
     */
    private Date salaryMonth;

    /**
     * 薪资核算表的主键id
     */
    private Long salaryAcctRecordId;

    /**
     * 人员信息表的主键id
     */
    private Long employeeId;

    /**
     * 人员类型,0或null组织架构,1非系统人员
     *
     * @see DataCollectionEmployeeTypeEnum
     */
    private Integer employeeType;

    /**
     * 人员信息表的主键id
     */
    private Long taxAgentId;

    /**
     * 发送状态。0：未发送、1：已发送、2：已撤回
     */
    private Integer sendStatus;

    /**
     * 查看状态。0：未查看、1：已查看
     */
    private Integer billReadStatus;

    /**
     * 确认状态 0：未确认、1：已确认、2：已反馈
     * @see BillConfimStatusEnum
     */
    private Integer billConfirmStatus;

    /**
     * 操作发送工资单人员id
     */
    private Long sendEmployeeId;

    /**
     * 发送时间
     */
    private Date sendTime;

    /**
     * 核算类型。0：正常，1：补发
     */
    private Integer salaryAcctType;

    /**
     * 工资单模板设置内容
     */
    private String salaryTemplate;

    /**
     * 创建人
     */
    private Long creator;

    /**
     * 创建时间
     */
    private Date createTime;

    /**
     * 更新时间
     */
    private Date updateTime;

    /**
     * 是否已删除。0：未删除、1：已删除
     */
    private Integer deleteType;

    /**
     * 租户ID
     */
    private String tenantKey;

    /**
     * 首次查看时间
     */
    private Date firstReadingTime;
}
