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

import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import java.io.Serializable;

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.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import org.checkerframework.common.aliasing.qual.NonLeaked;

import javax.annotation.Nonnull;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;

/**
 * <p>
 * 培养方案
 * </p>
 *
 * @author xf
 * @since 2024-06-05
 */
@TableName("obe_culture_program")
@ApiModel(value="ObeCultureProgram对象", description="培养方案")
public class ObeCultureProgram extends BaseEntity implements Serializable {

    private static final long serialVersionUID = 1L;

    @JsonSerialize(using = ToStringSerializer.class)
    @ApiModelProperty(value = "学校ID")
    private Long schoolId;
    @JsonSerialize(using = ToStringSerializer.class)
    @ApiModelProperty(value = "专业ID")
    @NotNull(message = "请选择专业")
    private Long professionalId;

    @ApiModelProperty(value = "培养方案名称")
    @NotBlank(message = "培养方案名称不能为空")
    private String name;

    @ApiModelProperty(value = "培养目标数量")
    private Integer targetCount;

    @ApiModelProperty(value = "毕业要求数量")
    private Integer requirementCount;

    @ApiModelProperty(value = "课程体系数量")
    private Integer courseCount;
    @ApiModelProperty(value = "总体描述")
    private String description;
    @ApiModelProperty(value = "总体描述")
    private Double expectValue;

    public Long getSchoolId() {
        return schoolId;
    }

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

    public Long getProfessionalId() {
        return professionalId;
    }

    public void setProfessionalId(Long professionalId) {
        this.professionalId = professionalId;
    }
    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }
    public Integer getTargetCount() {
        return targetCount;
    }

    public void setTargetCount(Integer targetCount) {
        this.targetCount = targetCount;
    }
    public Integer getRequirementCount() {
        return requirementCount;
    }

    public void setRequirementCount(Integer requirementCount) {
        this.requirementCount = requirementCount;
    }
    public Integer getCourseCount() {
        return courseCount;
    }

    public void setCourseCount(Integer courseCount) {
        this.courseCount = courseCount;
    }

    public String getDescription() {
        return description;
    }

    public void setDescription(String description) {
        this.description = description;
    }

    public Double getExpectValue() {
        return expectValue;
    }

    public void setExpectValue(Double expectValue) {
        this.expectValue = expectValue;
    }

    @Override
    public String toString() {
        return "ObeCultureProgram{" +
            ", professionalId=" + professionalId +
            ", name=" + name +
            ", targetCount=" + targetCount +
            ", requirementCount=" + requirementCount +
            ", courseCount=" + courseCount +
        "}";
    }
}
