package com.ruoyi.oa.domain.bo;

import com.ruoyi.common.core.validate.AddGroup;
import com.ruoyi.common.core.validate.EditGroup;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.*;

import java.util.Date;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.core.domain.BaseEntity;
import org.springframework.format.annotation.DateTimeFormat;

/**
 * 入职管理业务对象 employee_onboarding
 *
 * @author hdka
 * @date 2025-02-15
 */

@Data
@EqualsAndHashCode(callSuper = true)
public class EmployeeOnboardingBo extends BaseEntity {

    /**
     * 入职记录ID
     */
    private Long onboardingId;

    /**
     * 证件照
     */
    private String idPhoto;

    /**
     * 用户ID (外键)
     */
    private Long userId;

    /**
     * 入职日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date joiningDate;

    /**
     * 直属经理ID
     */
    private Long managerId;

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

    /**
     * 备注
     */
    private String remark;

    /**
     * 出生日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date birthDate;

    /**
     * 民族
     */
    private String ethnicity;

    /**
     * 转正日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date confirmDate;

    /**
     * 婚姻状态
     */
    private String maritalStatus;

    /**
     * 政治面貌
     */
    private String politicalStatus;

    /**
     * 身高
     */
    private Long height;

    /**
     * 体重
     */
    private Long weight;


    /**
     * 紧急联系人1
     */
    private String emergencyContact1;

    /**
     * 紧急联系人2
     */
    private String emergencyContact2;

    private String address;

    private String nickName;

    private Long status;

    private String checkInFile;
    private String registerFile;
    private String trainFile;
}
