package com.bonus.system.dept.entity;

import cn.afterturn.easypoi.excel.annotation.Excel;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;

/**
 * @className:EightMembersVacancyVo
 * @author:cwchen
 * @date:2025-02-10-14:03
 * @version:1.0
 * @description:八大员缺员兼职查询-vo
 */
@Data
public class EightMembersVacancyVo {
    /**
     * 序号
     */
    @JsonProperty(access = JsonProperty.Access.WRITE_ONLY)
    @Excel(name = "序号", width = 20, height = 15, orderNum = "0")
    private long serialNumber;
    /**
     * id
     */
    private Long id;
    /**
     * 角色名称
     */
    @Excel(name = "角色名称", width = 30, height = 15, orderNum = "1")
    private String roleName;
    /**
     * 缺员项目部数量
     */
    @Excel(name = "缺员项目部数量", width = 30, height = 15, orderNum = "2")
    private int vacancyDeptNum;
    /**
     * 兼职项目部数量
     */
    @Excel(name = "兼职项目部数量", width = 30, height = 15, orderNum = "3")
    private int partTimeJobNum;
    /**
     * 1.缺员项目部详情 2.兼职项目部详情
     */
    @JsonProperty(access = JsonProperty.Access.WRITE_ONLY)
    private int type;
    /**
     * 项目部名称
     */
    @JsonProperty(access = JsonProperty.Access.WRITE_ONLY)
    private String orgName;

    @Data
    public static class VacancyDetail {

        private Long id;

        /**
         * 项目部名称
         */
        private String orgName;
        /**
         * 项目经理
         */
        private String projectManager;
        /**
         * 安全员
         */
        private String safetyOfficer;
        /**
         * 质检员
         */
        private String qualityInspector;
        /**
         * 项目总工
         */
        private String projectChiefEngineer;
        /**
         * 机械员
         */
        private String machinist;
        /**
         * 资料员
         */
        private String document;
        /**
         * 施工员
         */
        private String constructionWorker;
        /**
         * 材料员
         */
        private String materialMan;
        /**
         * 其他
         */
        private String other;
    }
}
