package com.xjrsoft.module.student.entity;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

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


/**
* @title: 学生考核项目
* @Author fanxp
* @Date: 2023-11-14
* @Version 1.0
*/
@Data
@TableName("base_student_assessment_project")
@ApiModel(value = "学生考核项目对象", description = "学生考核项目")
public class BaseStudentAssessmentProject implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
    * 主键编号
    */
    @ApiModelProperty("主键编号")
    @TableId
    private Long id;
    /**
    * 创建人
    */
    @ApiModelProperty("创建人")
    @TableField(fill = FieldFill.INSERT)
    private Long createUserId;
    /**
    * 创建时间
    */
    @ApiModelProperty("创建时间")
    @TableField(fill = FieldFill.INSERT)
    private Date createDate;
    /**
    * 修改人
    */
    @ApiModelProperty("修改人")
    @TableField(fill = FieldFill.UPDATE)
    private Long modifyUserId;
    /**
    * 修改时间
    */
    @ApiModelProperty("修改时间")
    @TableField(fill = FieldFill.UPDATE)
    private Date modifyDate;
    /**
    * 删除标记
    */
    @ApiModelProperty("删除标记")
    @TableField(fill = FieldFill.INSERT)
    @TableLogic
    private Integer deleteMark;
    /**
    * 有效标志
    */
    @ApiModelProperty("有效标志")
    @TableField(fill = FieldFill.INSERT)
    private Integer enabledMark;
    /**
    * 序号
    */
    @ApiModelProperty("序号")
    private Integer sortCode;
    /**
    * 学生考核类别(base_student_assessment_category)
    */
    @ApiModelProperty("学生考核类别(base_student_assessment_category)")
    private Long baseStudentAssessmentCategoryId;
    /**
    * 名称
    */
    @ApiModelProperty("名称")
    private String name;
    /**
    * 编码
    */
    @ApiModelProperty("编码")
    private String code;
    /**
    * 基础分
    */
    @ApiModelProperty("基础分")
    private Double basicPoints;
    /**
    * 扣分范围（最小）
    */
    @ApiModelProperty("扣分范围（最小）")
    private Double pointsDeductedMin;
    /**
    * 扣分范围（最大）
    */
    @ApiModelProperty("扣分范围（最大）")
    private Double pointsDeductedMax;
    /**
    * 加分范围（最小）
    */
    @ApiModelProperty("加分范围（最小）")
    private Double addPointsMin;
    /**
    * 加分范围（最大）
    */
    @ApiModelProperty("加分范围（最大）")
    private Double addPointsMax;
    /**
    * 所属机构(xjr_department)
    */
    @ApiModelProperty("所属机构(xjr_department)")
    private Long departmentId;
    /**
    * 是否启用(1:是 0:否)
    */
    @ApiModelProperty("是否启用(1:是 0:否)")
    private Integer status;
    /**
    * 是否影响(1:是 0:否)
    */
    @ApiModelProperty("是否影响(1:是 0:否)")
    private Integer isAffect;
    /**
    * 学生操行分处理方式(xjr_dictionary_item[ap_method])
    */
    @ApiModelProperty("学生操行分处理方式(xjr_dictionary_item[ap_method])")
    private String processingMethod;
    /**
    * 折算操行分要求
    */
    @ApiModelProperty("折算操行分要求")
    private Double behaviorScore;
    /**
    * 操行项目编号
    */
    @ApiModelProperty("操行项目编号")
    private Long baseStudentBehaviorProjectId;
    /**
    * 是否允许班主任修改项目(1:是 0:否)
    */
    @ApiModelProperty("是否允许班主任修改项目(1:是 0:否)")
    private Integer isTeacherEdit;
    /**
    * 手动处理学生操行分说明
    */
    @ApiModelProperty("手动处理学生操行分说明")
    private String behaviorScoreRemark;
    /**
    * 备注
    */
    @ApiModelProperty("备注")
    private String remark;

    @ApiModelProperty("考核对象（class:班级 personal:个人）")
    private String assessmentType;
}