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

import lombok.Data;

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

@Data
public class EmployeeSaveReqDTO {

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

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

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

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

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

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

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

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

    /**
     * 入职时间
     */
    private LocalDate entryDate;

    /**
     * 试用期到期时间
     */
    private LocalDate probationEndDate;

    /**
     * 离职时间
     */
    private LocalDate departureDate;

    /**
     * 离职原因
     */
    private String resignationReason;

    /**
     * 员工状态：1-在职，2-试用，3-离职
     */
    private String employeeStatus;

    /**
     * 性别
     */
    private String gender;

    /**
     * 电子邮箱
     */
    private String email;

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

    /**
     * 身份证号
     */
    private String idCardNumber;

    /**
     * 身份证地址
     */
    private String idCardAddress;

    /**
     * 户口类型
     */
    private String householdType;

    /**
     * 户口所在地
     */
    private String householdLocation;

    /**
     * 最高学历
     */
    private String educationLevel;

    /**
     * 毕业院校
     */
    private String graduationSchool;

    /**
     * 毕业时间
     */
    private LocalDate graduationDate;

    /**
     * 银行卡名称
     */
    private String bankCardName;

    /**
     * 银行卡卡号
     */
    private String bankCardNumber;

    /**
     * 年假基准天数
     */
    private BigDecimal baseAnnualLeave;

    /**
     * 已使用年假天数
     */
    private BigDecimal usedAnnualLeave;

    /**
     * 剩余年假天数
     */
    private BigDecimal remainingAnnualLeave;

    /**
     * 出生日期
     */
    private LocalDate birthDate;

    /**
     * 婚姻状况
     */
    private String marriageStatus;

    /**
     * 工作地点
     */
    private String workLocation;

    /**
     * 专业
     */
    private String major;

    /**
     * 参加工作时间
     */
    private LocalDate workStartDate;

    /**
     * 薪酬
     */
    private BigDecimal salary;

    /**
     * 岗位薪资
     */
    private BigDecimal positionSalary;

    /**
     * 项目津贴
     */
    private BigDecimal projectAllowance;

    /**
     * 特殊岗位津贴
     */
    private BigDecimal specialPositionAllowance;

    /**
     * 外籍津贴
     */
    private BigDecimal foreignAllowance;

    /**
     * 午餐补助
     */
    private BigDecimal lunchSubsidy;

    /**
     * 特别津贴
     */
    private BigDecimal specialAllowance;

    /**
     * 补贴
     */
    private BigDecimal subsidy;

    /**
     * 年终奖
     */
    private BigDecimal yearEndBonus;

    /**
     * 头像地址
     */
    private String avatar;

    /**
     * 状态：0-开启，1-关闭
     */
    private Integer status;

    /**
     * 租户编号
     */
    private Long tenantId;

    /**
     * 用户ID
     */
    private Long userId;

}