package org.dromara.art.domain.vo;

import org.dromara.art.domain.ArtSchoolRecruitMajor;
import cn.idev.excel.annotation.ExcelIgnoreUnannotated;
import cn.idev.excel.annotation.ExcelProperty;
import org.dromara.common.excel.annotation.ExcelDictFormat;
import org.dromara.common.excel.convert.ExcelDictConvert;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;

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



/**
 * 院校招录专业视图对象 art_school_recruit_major
 *
 * @author ZhouWenTao
 * @date 2026-02-20
 */
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = ArtSchoolRecruitMajor.class)
public class ArtSchoolRecruitMajorVo implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    /**
     * 院校招录专业ID
     */
    @ExcelProperty(value = "院校招录专业ID")
    private Long recruitMajorId;

    /**
     * 学校ID
     */
    @ExcelProperty(value = "学校ID")
    private Long schoolId;

    /**
     * 学校代码
     */
    @ExcelProperty(value = "学校代码")
    private String schoolCode;

    /**
     * 学校名称(冗余)
     */
    @ExcelProperty(value = "学校名称(冗余)")
    private String schoolName;

    /**
     * 年份
     */
    @ExcelProperty(value = "年份")
    private Long year;

    /**
     * 专业ID
     */
    @ExcelProperty(value = "专业ID")
    private Long majorId;

    /**
     * 专业代码
     */
    @ExcelProperty(value = "专业代码")
    private String majorCode;

    /**
     * 专业名称
     */
    @ExcelProperty(value = "专业名称")
    private String majorName;

    /**
     * 招生代码(为空则存空串)
     */
    @ExcelProperty(value = "招生代码(为空则存空串)")
    private String enrollCode;

    /**
     * 数据状态(停招/新招/新增)
     */
    @ExcelProperty(value = "数据状态(停招/新招/新增)")
    private String dataStatus;

    /**
     * 批次
     */
    @ExcelProperty(value = "批次")
    private String batchName;

    /**
     * 专业类型
     */
    @ExcelProperty(value = "专业类型")
    private String majorType;

    /**
     * 二级专业类型
     */
    @ExcelProperty(value = "二级专业类型")
    private String majorTypeSub;

    /**
     * 科类(文/理)
     */
    @ExcelProperty(value = "科类(文/理)")
    private String subjectType;

    /**
     * 录取方式缩写
     */
    @ExcelProperty(value = "录取方式缩写")
    private String admissionWayShort;

    /**
     * 对外录取方式
     */
    @ExcelProperty(value = "对外录取方式")
    private String admissionWayExternal;

    /**
     * 对外录取方式运算符
     */
    @ExcelProperty(value = "对外录取方式运算符")
    private String admissionWayExternalOp;

    /**
     * 内部录取方式
     */
    @ExcelProperty(value = "内部录取方式")
    private String admissionWayInternal;

    /**
     * 内部录取方式运算符
     */
    @ExcelProperty(value = "内部录取方式运算符")
    private String admissionWayInternalOp;

    /**
     * 计划招生人数
     */
    @ExcelProperty(value = "计划招生人数")
    private Long planEnroll;

    /**
     * 主考科目
     */
    @ExcelProperty(value = "主考科目")
    private String mainExamSubject;

    /**
     * 学制(年)
     */
    @ExcelProperty(value = "学制(年)")
    private Long schoolingYears;

    /**
     * 院校限制说明
     */
    @ExcelProperty(value = "院校限制说明")
    private String enrollLimitDesc;

    /**
     * 学费(元/年)
     */
    @ExcelProperty(value = "学费(元/年)")
    private Long tuitionFee;

    /**
     * 文化分数限制
     */
    @ExcelProperty(value = "文化分数限制")
    private Long cultureScoreLimit;

    /**
     * 专业分数限制
     */
    @ExcelProperty(value = "专业分数限制")
    private Long majorScoreLimit;

    /**
     * 语文成绩限制
     */
    @ExcelProperty(value = "语文成绩限制")
    private Long chineseScoreLimit;

    /**
     * 英语成绩限制
     */
    @ExcelProperty(value = "英语成绩限制")
    private Long englishScoreLimit;

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


}
