package com.qmth.distributed.print.business.entity;

import com.baomidou.mybatisplus.annotation.FieldStrategy;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.qmth.teachcloud.common.base.BaseEntity;
import io.swagger.annotations.ApiModelProperty;

import java.io.Serializable;
import java.util.List;
import java.util.Map;

/**
 * <p>
 * 以试卷作为起点生成考务数据
 * </p>
 *
 * @author xf
 * @since 2021-03-23
 */
@TableName("exam_task_print")
public class ExamTaskPrint extends BaseEntity implements Serializable {

    private static final long serialVersionUID = 1L;

    @JsonSerialize(using = ToStringSerializer.class)
    @TableField("school_id")
    private Long schoolId;

    @JsonSerialize(using = ToStringSerializer.class)
    @TableField(value = "org_id", updateStrategy = FieldStrategy.IGNORED)
    private Long orgId;

    @JsonSerialize(using = ToStringSerializer.class)
    @TableField("print_plan_id")
    private Long printPlanId;

    @TableField("course_code")
    private String courseCode;

    @TableField("course_name")
    private String courseName;

    @TableField("paper_number")
    private String paperNumber;

    @TableField("exam_start_time")
    private Long examStartTime;

    @TableField("exam_end_time")
    private Long examEndTime;

    @TableField("package_seq")
    private String packageSeq;

    @TableField("exam_place")
    private String examPlace;

    @TableField("exam_room")
    private String examRoom;

    @TableField("invigilator_teacher")
    private String invigilatorTeacher;

    @TableField("class_id")
    private String classId;

    @TableField(value = "class_name")
    private String className;

    @TableField(value = "student_count")
    private Integer studentCount;

    @TableField(value = "campus_id")
    private String campusId;

    @TableField(value = "print_house_id")
    private String printHouseId;

    @JsonSerialize(using = ToStringSerializer.class)
    @TableField("exam_detail_id")
    private Long examDetailId;

    @TableField(value = "extend_fields")
    private String extendFields;

    @TableField(value = "print_house_name")
    private String printHouseName;

    public static long getSerialVersionUID() {
        return serialVersionUID;
    }

    public Long getSchoolId() {
        return schoolId;
    }

    public void setSchoolId(Long schoolId) {
        this.schoolId = schoolId;
    }

    public Long getOrgId() {
        return orgId;
    }

    public void setOrgId(Long orgId) {
        this.orgId = orgId;
    }

    public Long getPrintPlanId() {
        return printPlanId;
    }

    public void setPrintPlanId(Long printPlanId) {
        this.printPlanId = printPlanId;
    }

    public String getCourseCode() {
        return courseCode;
    }

    public void setCourseCode(String courseCode) {
        this.courseCode = courseCode;
    }

    public String getCourseName() {
        return courseName;
    }

    public void setCourseName(String courseName) {
        this.courseName = courseName;
    }

    public String getPaperNumber() {
        return paperNumber;
    }

    public void setPaperNumber(String paperNumber) {
        this.paperNumber = paperNumber;
    }

    public Long getExamStartTime() {
        return examStartTime;
    }

    public void setExamStartTime(Long examStartTime) {
        this.examStartTime = examStartTime;
    }

    public Long getExamEndTime() {
        return examEndTime;
    }

    public void setExamEndTime(Long examEndTime) {
        this.examEndTime = examEndTime;
    }

    public String getPackageSeq() {
        return packageSeq;
    }

    public void setPackageSeq(String packageSeq) {
        this.packageSeq = packageSeq;
    }

    public String getExamPlace() {
        return examPlace;
    }

    public void setExamPlace(String examPlace) {
        this.examPlace = examPlace;
    }

    public String getExamRoom() {
        return examRoom;
    }

    public void setExamRoom(String examRoom) {
        this.examRoom = examRoom;
    }

    public String getInvigilatorTeacher() {
        return invigilatorTeacher;
    }

    public void setInvigilatorTeacher(String invigilatorTeacher) {
        this.invigilatorTeacher = invigilatorTeacher;
    }

    public String getClassId() {
        return classId;
    }

    public void setClassId(String classId) {
        this.classId = classId;
    }

    public String getClassName() {
        return className;
    }

    public void setClassName(String className) {
        this.className = className;
    }

    public Integer getStudentCount() {
        return studentCount;
    }

    public void setStudentCount(Integer studentCount) {
        this.studentCount = studentCount;
    }

    public String getCampusId() {
        return campusId;
    }

    public void setCampusId(String campusId) {
        this.campusId = campusId;
    }

    public String getPrintHouseId() {
        return printHouseId;
    }

    public void setPrintHouseId(String printHouseId) {
        this.printHouseId = printHouseId;
    }

    public Long getExamDetailId() {
        return examDetailId;
    }

    public void setExamDetailId(Long examDetailId) {
        this.examDetailId = examDetailId;
    }

    public String getExtendFields() {
        return extendFields;
    }

    public void setExtendFields(String extendFields) {
        this.extendFields = extendFields;
    }

    public String getPrintHouseName() {
        return printHouseName;
    }

    public void setPrintHouseName(String printHouseName) {
        this.printHouseName = printHouseName;
    }
}
