package com.bonus.system.att.entity;

import cn.afterturn.easypoi.excel.annotation.Excel;
import com.bonus.system.basic.domain.SysTree;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import lombok.NoArgsConstructor;

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

/**
 * 组织架构变更实体类
 * @author fly
 */
@Data
@NoArgsConstructor
public class OrgChangeBean {

    /**
     * 编号
     */
    @Excel(name = "序号", width = 10.0,height = 20.0, orderNum = "0")
    private Long id;

    /**
     * 申请人编号
     */
    private Long userId;

    /**
     * 申请人
     */
    private String userName;

    /**
     * 变更前部门编号
     */
    private Long oldOrgId;

    /**
     * 变更前部门
     */
    @Excel(name = "变更前部门", width = 10.0,height = 20.0, orderNum = "2")
    private String oldOrgName;

    /**
     * 变更后部门编号
     */
    private Long newOrgId;

    /**
     * 变更后部门
     */
    @Excel(name = "变更后部门", width = 10.0,height = 20.0, orderNum = "3")
    private String newOrgName;

    /**
     * 是否变更考勤组 0 不变 1 变
     */
    @Excel(name = "是否变更考勤组", width = 10.0,height = 20.0, orderNum = "4")
    private String isChangeAttGroup;

    /**
     * 变更前考勤组编号
     */
    private Long oldAttGroup;

    /**
     * 变更后考勤组编号
     */
    private Long newAttGroup;

    /**
     * 变更前考勤组
     */
    private String oldAttGroupName;

    /**
     * 变更后考勤组
     */
    private String newAttGroupName;

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

    /**
     * 是否审核通过 0 未审核 1 已通过 2 未通过 3撤回
     */
    @Excel(name = "审批状态", width = 10.0,height = 20.0, orderNum = "5")
    private String isCheck;

    /**
     * 审核人编号
     */
    private Long checkUserId;

    /**
     * 审核时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date createTime;

    /**
     * 审核时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date checkTime;

    /**
     * 审核意见
     */
    private String checkOpinion;

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

    /**
     * 是否有效
     */
    private Integer isActive;

    /**
     * 开始时间
     */
    @Excel(name = "申请时间", width = 10.0,height = 20.0, orderNum = "1")
    private String startTime;

    /**
     * 结束时间
     */
    private String endTime;

    /**
     * 导出使用，审核页面导出还是使用人员页面导出
     * 1：人员页面导出，2：审核页面导出
     */
    private String exportType;

    /**
     * 是否已经应用
     */
    private String isApply;

    private List<Long> ids;

}
