package org.dromara.project.domain.exportvo;

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.project.domain.BusConstructionUser;

import java.io.Serial;
import java.io.Serializable;
import java.util.Date;

/**
 * @author lcj
 * @date 2025/4/2 14:46
 */
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = BusConstructionUser.class)
public class BusConstructionUserExportVo implements Serializable {

    @Serial
    private static final long serialVersionUID = -7147024838012426821L;

    /**
     * 姓名
     */
    @ExcelProperty(value = "姓名")
    private String userName;

    /**
     * 项目名称
     */
    @ExcelProperty(value = "项目")
    private String projectName;

    /**
     * 分包公司
     */
    @ExcelProperty(value = "分包公司")
    private String contractorName;

    /**
     * 班组
     */
    @ExcelProperty(value = "班组")
    private String teamName;

    /**
     * 状态（0在职 1离职）
     */
    @ExcelProperty(value = "状态", converter = ExcelDictConvert.class)
    @ExcelDictFormat(readConverterExp = "0=在职,1=离职")
    private String status;

    /**
     * 联系电话
     */
    @ExcelProperty(value = "联系电话")
    private String phone;

    /**
     * 0:保密 1:男 2女
     */
    @ExcelProperty(value = "性别", converter = ExcelDictConvert.class)
    @ExcelDictFormat(dictType = "user_sex_type")
    private String sex;

    /**
     * 民族
     */
    @ExcelProperty(value = "民族")
    private String nation;

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

    /**
     * 身份证地址
     */
    @ExcelProperty(value = "身份证地址")
    private String sfzSite;

    /**
     * 银行卡号
     */
    @ExcelProperty(value = "银行卡号")
    private String yhkNumber;

    /**
     * 工种
     */
    @ExcelProperty(value = "工种", converter = ExcelDictConvert.class)
    @ExcelDictFormat(dictType = "type_of_work")
    private String typeOfWork;

    /**
     * 工资计量单位
     */
    @ExcelProperty(value = "工资计量单位", converter = ExcelDictConvert.class)
    @ExcelDictFormat(dictType = "wage_measure_unit_type")
    private String wageMeasureUnit;

    /**
     * 入场时间
     */
    @ExcelProperty(value = "入场时间")
    private Date entryDate;

    /**
     * 离场时间
     */
    @ExcelProperty(value = "离场时间")
    private Date leaveDate;

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

}
