package cn.iocoder.yudao.module.employee.api.dto;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.*;

import java.math.BigDecimal;
import java.time.LocalDate;

/**
 * 员工 Response DTO
 *
 * @author 芋道源码
 */
@Data
public class EmployeeRespDTO {

    /**
     * 员工ID
     */
    private Long id;

    /**
     * 业务UUID
     */
    private String infoId;

    /**
     * 姓名
     */
    private String name;

    /**
     * 昵称，冗余字段，前端展示
     */
    private String nickname;

    /**
     * 员工头像
     */
    private String avatar;

    /**
     * 部门ID
     */
    private Long deptId;

    /**
     * 部门名称
     */
    private String deptName;

    /**
     * 职位编号
     */
    private Long postId;

    /**
     * 职位名称
     */
    private String position;

    /**
     * 手机号
     */
    private String phone;

    /**
     * 员工ID
     */
    private Long employeeId;

    /**
     * 员工编号
     */
    private String employeeNumber;

    /**
     * 入职时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    private LocalDate entryDate;

    /**
     * 试用期到期时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    private LocalDate probationEndDate;

    /**
     * 年假基准天数
     */
    private BigDecimal baseAnnualLeave;
    /**
     * 已使用年假天数
     */
    private BigDecimal usedAnnualLeave;
    /**
     * 剩余年假天数
     */
    private BigDecimal remainingAnnualLeave;

    /**
     * 最新合同开始日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    private LocalDate contractStartDate;

    /**
     * 最新合同结束日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    private LocalDate contractEndDate;
    /**
     * 用户ID
     */
    private Long userId;
    /**
     * 员工状态
     */
    private String employeeStatus;

}