package jnpf.model.personnels.vo.turnover;

import jnpf.model.cultivate.vo.offline.FtbCultivateOfflineFileVO;
import jnpf.model.personnels.dto.staff.roster.WorkerGroupDataDto;
import jnpf.model.personnels.po.FtbPersonnelsTurnoverHandover;
import jnpf.model.personnels.vo.task.FtbPersonnelsAuditInfoVO;
import lombok.Data;

import java.util.Date;
import java.util.List;

/**
 * @Title:FtbPersonnelsTurnoverInfoVO
 * @Author:peng.hao
 * @create: 2024/2/118:10
 */
@Data
public class FtbPersonnelsTurnoverInfoVO {

    private String id;
    /** 离职状态(0,待审批,1审批中,2,审核通过,3,审核不通过,4,撤销,5未办理, 6手动,7逾期未审批) */
    private Integer turnoverStatus;
    /**
     * 用户id
     */
    private String userId;
    /**
     * 系统用户id
     */
    private String systemWokerId;

    /**
     * 用户姓名
     */
    private String userName;
    /**
     * 工号
     */
    private String jobNumber;

    /**
     * 入职日期
     */
    private Date dateOfEntry;

    /**
     * 入职所属组织id
     */
    private String orgId;

    /**
     * 入职所属组织名称
     */
    private String orgName;

    /**
     * 入职岗位id
     */
    private String entryPostId;

    /**
     * 入职岗位名称
     */
    private String entryPostName;

    /**
     * 入职职等id
     */
    private String entryGradeId;

    /**
     * 入职职等name
     */
    private String entryGradeName;

    /**
     * 试用期
     * 100	无试用期
     * 101	1个月内
     * 102	1个月
     * 103	2个月
     * 104	3个月
     * 105	4个月
     * 106	5个月
     * 107	6个月
     * 108	7个月
     * 109	8个月
     */
    private String probation;

    /**
     * 试用期天数，如果是1个月内，这里就是天数
     */
    private String probationPeriodDay;
    /**
     * 实际转正日期
     */
    private Date actualConverDate;

    /**
     * 工作状态(预入职/试用/正式/待离职/已离职)
     */
    private String workingCondition;


    /**
     * 司龄
     */
    private String siLing;

    /**
     * 离职日期
     */
    private Date resignationDate;
    /**
     * 员工期望离职日期
     */
    private Date empResignationDate;

    /**
     * 标识 app 提交还是web hr 办理
     * 0.员工发起 1.hr办理
     */
    private String markFlag;

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

    /**
     * 离职备注
     */
    private String remarksConver;
    /**
     * 离职备注
     */
    private String otherRemarksConver;

    /**
     * 附件信息
     */
    private List<FtbCultivateOfflineFileVO> files;

    /**
     * 离职详情
     */
    List<FtbPersonnelsTurnoverHandover> handover;
    /**
     * 离职详情
     */
    List<FtbPersonnelsTurnoverHandover> handoverWork;

    /**
     * 审核信息 意见是否必填 是否具有填写权限 勾选权限
     */
    FtbPersonnelsAuditInfoVO auditInfo;

    List<WorkerGroupDataDto> organizationInfo;

    private Date creatorTime;

    /**
     * 审批id
     */
    private String taskInfoId;


    /**
     * 申请来源 0,员工申请,1,审批办理,2直接办理 3.试岗驳回
     */
    private Integer applicationSource;

    /**
     * 是否纳入黑名单(0为否,默认为0,1为黑名单)
     * (v1.1)
     */
    private Integer isBeBlackList;

    /**
     * 黑名单期限，0三个月，1六个月，2一年，3一年六个月，4两年，5三年，6五年，7永久
     * (v1.1)
     */
    private Integer blackListPeriod;
    /**
     * 黑名单类型
     * (v1.1)
     */
    private String blackTypeId;
    /**
     * 黑名单类型名称
     * (v1.1)
     */
    private String blackTypeName;
    /**
     * 纳入黑名单原因(500个字符限制)
     * (v1.1)
     */
    private String blacklistCause;

    /**
     *  版本号 区分是否为老版本审批数据 0为老版本 1为新版审批
     */
    private Integer versionNum;

    /**
     * 确认到岗日期
     */
    private Date confirmArrivalDate;
}
