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

import com.baomidou.mybatisplus.annotation.TableField;
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;

/**
 * <p>
 * 培养目标与毕业要求关系矩阵
 * </p>
 *
 * @author xf
 * @since 2024-06-05
 */
@TableName("obe_requirement_target_matrix")
@ApiModel(value = "ObeRequirementTargetMatrix对象", description = "培养目标与毕业要求关系矩阵")
public class ObeRequirementTargetMatrix extends BaseEntity implements Serializable {

    private static final long serialVersionUID = 1L;

    @JsonSerialize(using = ToStringSerializer.class)
    @ApiModelProperty(value = "培养方案ID")
    private Long cultureProgramId;

    @JsonSerialize(using = ToStringSerializer.class)
    @ApiModelProperty(value = "毕业要求ID")
    private Long obeRequirementId;

    @JsonSerialize(using = ToStringSerializer.class)
    @ApiModelProperty(value = "培养目标ID")
    private Long obeTargetId;

    @ApiModelProperty(value = "是否包含")
    private Boolean enable;

    @TableField(exist = false)
    private String requirementName;
    @TableField(exist = false)
    private String targetName;

    public ObeRequirementTargetMatrix() {
    }

    public ObeRequirementTargetMatrix(Long cultureProgramId, Long obeRequirementId, Long obeTargetId) {
        this.cultureProgramId = cultureProgramId;
        this.obeRequirementId = obeRequirementId;
        this.obeTargetId = obeTargetId;
        this.enable = false;
    }

    public Long getCultureProgramId() {
        return cultureProgramId;
    }

    public void setCultureProgramId(Long cultureProgramId) {
        this.cultureProgramId = cultureProgramId;
    }

    public Long getObeRequirementId() {
        return obeRequirementId;
    }

    public void setObeRequirementId(Long obeRequirementId) {
        this.obeRequirementId = obeRequirementId;
    }

    public Long getObeTargetId() {
        return obeTargetId;
    }

    public void setObeTargetId(Long obeTargetId) {
        this.obeTargetId = obeTargetId;
    }

    public Boolean getEnable() {
        return enable;
    }

    public void setEnable(Boolean enable) {
        this.enable = enable;
    }

    public String getRequirementName() {
        return requirementName;
    }

    public void setRequirementName(String requirementName) {
        this.requirementName = requirementName;
    }

    public String getTargetName() {
        return targetName;
    }

    public void setTargetName(String targetName) {
        this.targetName = targetName;
    }

    @Override
    public String toString() {
        return "ObeRequirementTargetMatrix{" +
                ", obeRequirementId=" + obeRequirementId +
                ", obeTargetId=" + obeTargetId +
                ", enable=" + enable +
                "}";
    }
}
