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

import com.engine.salary.annotation.I18n;
import com.engine.salary.annotation.TableTitle;
import com.engine.salary.enums.datacollection.DataCollectionEmployeeTypeEnum;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * @Description: 工资单发放信息
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
////"工资单发放信息列表")
//@TableOperates(tableType = WeaTableTypeEnum.CHECKBOX)
public class SalarySendInfoListDTO {

    @JsonSerialize(using = ToStringSerializer.class)
    private Long id;

    private Long employeeId;

    @TableTitle(title = "姓名", dataIndex = "username", key = "username")
    @I18n
    private String username;


    @TableTitle(title = "个税扣缴义务人", dataIndex = "taxAgent", key = "taxAgent")
    private String taxAgent;
    private Long taxAgentId;


    @TableTitle(title = "部门", dataIndex = "department", key = "department")
    @I18n
    private String department;


    @TableTitle(title = "手机号", dataIndex = "mobile", key = "mobile")
    private String mobile;


    @TableTitle(title = "工号", dataIndex = "jobNum", key = "jobNum")
    private String jobNum;


    @TableTitle(title = "发送状态", dataIndex = "sendStatus", key = "sendStatus")
    private String sendStatus;

    @TableTitle(title = "查看状态", dataIndex = "billReadStatus", key = "billReadStatus")
    private String billReadStatus;

    @TableTitle(title = "确认状态", dataIndex = "billConfirmStatus", key = "billConfirmStatus")
    private String billConfirmStatus;

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

    /**
     * 该模板是否开启了工资单反馈确认
     */
    private boolean needAck;


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


}
