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

import com.engine.hrmelog.annotation.ElogTransform;
import com.engine.salary.annotation.TableTitle;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

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

/**
 * 数据推送配置
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class PushRecordDetailDTO {


    @ElogTransform(name = "id")
    private Long id;

    /**
     * 推送记录id
     */
    private Long recordId;

    /**
     * 核算人员id
     */
    private Long acctEmpId;

    @TableTitle(title = "人员", dataIndex = "username",key = "username")
    private String username;

    /**
     * 执行状态
     * @see com.engine.salary.enums.push.PushRecordDetailStatusEnum
     */
    @TableTitle(title = "执行状态", dataIndex = "statusName",key = "statusName")
    private String statusName;
    private Integer status;

    /**
     * 失败原因
     */
    @TableTitle(title = "失败原因", dataIndex = "fail_reason",key = "status")
    private String failReason;

    /**
     * 执行sql
     */
    @ElogTransform(name = "执行sql")
    private String execute;

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

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

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


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

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


    //主键id集合
    private Collection<Long> ids;

}