package org.dromara.domain.staffManage.vo;


import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import org.dromara.common.excel.annotation.ExcelDictFormat;
import org.dromara.common.excel.convert.ExcelDictConvert;
import org.dromara.domain.staffManage.StaffManage;

import java.io.Serial;
import java.io.Serializable;



/**
 * 员工管理视图对象 staff_manage
 *
 * @author boman
 * @date 2025-04-10
 */
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = StaffManage.class)
public class StaffManageVo implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    /**
     * 员工管理id
     */
    @ExcelProperty(value = "员工管理id")
    private Long staffId;

    /**
     * 租户ID
     */
    private String tenantId;

    /**
     * 员工账号id
     */
    @ExcelProperty(value = "员工账号id")
    private Long userId;

    /**
     * 员工姓名
     */
    @ExcelProperty(value = "员工姓名")
    private String staffName;

    /**
     * 员工性别（1男 2女 ）
     */
    @ExcelProperty(value = "员工性别", converter = ExcelDictConvert.class)
    @ExcelDictFormat(readConverterExp = "1=男,2=女")
    private String gender;

    /**
     * 员工类别，1：保安 2:维修人员 3：物业管理
     */
    @ExcelProperty(value = "员工类别，1：保安 2:维修人员 3：物业管理")
    private String staffCategory;

    /**
     * 维修分类，表示维修人员擅长的维修类别
     */
    @ExcelProperty(value = "维修分类，表示维修人员擅长的维修类别")
    private String maintenanceCategory;

    /**
     * 手机号码
     */
    @ExcelProperty(value = "手机号码")
    private String phoneNumber;

    /**
     * 头像，存储头像的URL或文件路径
     */
    @ExcelProperty(value = "头像，存储头像的URL或文件路径")
    private String avatarPhoto;

    /**
     * 身份证号码
     */
    @ExcelProperty(value = "身份证号码")
    private String idCard;

    /**
     * 身份证正面
     */
    @ExcelProperty(value = "身份证正面")
    private String idCardFront;

    /**
     * 身份证反面
     */
    @ExcelProperty(value = "身份证反面")
    private String idCardBack;

    /**
     * 相关证件
     */
    @ExcelProperty(value = "相关证件")
    private String certificate;

    /**
     * 状态，字典值 1：空闲2：忙碌
     */
    @ExcelProperty(value = "状态，字典值 1：空闲2：忙碌")
    private String status;

    /**
     * 备注
     */
    @ExcelProperty(value = "备注")
    private String remark;

    /**
     * 审核状态 1:未审核 2：审核通过 3：审核未通过
     */
    private String examine;
}
