package jnpf.model.personnels.vo.rewardspunishments;

import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.format.DateTimeFormat;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import com.alibaba.fastjson.annotation.JSONField;
import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.Data;

import java.util.Date;

@Data
public class FtbEmployeeRewardRecordsVO {

    @ExcelIgnore
    private String id;

    /**
     * 任务id，用于查询详情
     */
    @ExcelIgnore
    private String taskId;

    /**
     * 奖惩类别,0奖励,1乐捐
     */
    @ExcelIgnore
    private Integer type;

    /**
     * 核算时间
     */
    @ExcelIgnore
    private Date day;

    @JsonIgnore
    @JSONField(serialize = false)
    @ExcelProperty(index = 4, value = "奖惩类别")
    private String typeName;

    /**
     * 姓名
     */
    @ExcelProperty(index = 0, value = "姓名")
    private String userName;
    /**
     * 员工ID(前端展示)
     */
    @ExcelProperty(index = 1, value = "员工ID")
    private String userCustomerId;
    /**
     * 员工主键id
     */
    @ExcelIgnore
    private String userId;

    /**
     * 组织
     */
    @ExcelProperty(index = 2, value = "组织")
    private String orgName;
    /**
     * 岗位
     */
    @ExcelProperty(index = 3, value = "岗位")
    private String jobName;
    /**
     * 奖惩类型名称
     */
    @ExcelProperty(index = 5, value = "奖惩类型名称")
    private String rewardTypeName;
    /**
     * 奖惩金额
     */
    @ExcelProperty(index = 6, value = "奖惩金额")
    private String rewardMoney;
    /**
     * 奖惩原因
     */
    @ExcelProperty(index = 7, value = "奖惩原因")
    private String rewardReason;
    /**
     * 操作人
     */
    @ExcelProperty(index = 8, value = "操作人")
    private String operator;
    /**
     * 状态
     * 0.审核中  1.通过 2.未通过3撤回,4无需审批
     */
    @ExcelIgnore
    private Integer status;

    /**
     * 状态
     * 0.审核中  1.通过 2.未通过3撤回,4无需审批
     */
    @ExcelProperty(index = 9, value = "状态")
    @JsonIgnore
    @JSONField(serialize = false)
    private String statusName;
    /**
     * 操作时间
     */
    @ExcelProperty(index = 10, value = "操作时间")
    @DateTimeFormat(value = "yyyy-MM-dd HH:mm")
    @ColumnWidth(value = 18)
    private Date operateTime;
}
