package com.zd.laboratory.domain;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.zd.common.core.annotation.Excel;
import com.zd.common.core.web.domain.BaseEntity;
import org.hibernate.validator.constraints.Length;

/**
 * 违规记录对象 lab_violation
 *
 * @author zd
 * @date 2021-09-01
 */
@ApiModel("违规记录表")
public class LabViolation extends BaseEntity {
    private static final long serialVersionUID = 1L;


    /**
     * 创建者id
     */
   private Long creact_id;

    /**
     * 主键id
     */
    @ApiModelProperty(value = "${comment}")
    private Long id;

    /**
     * 关联用户id
     */
    @ApiModelProperty(value = "关联用户id")
    @Excel(name = "关联用户id")
    private Long joinUserId;

    /**
     * 违规类型(参见字典维护表)
     */
    @ApiModelProperty(value = "违规类型(参见字典维护表)")
    @Excel(name = "违规类型(参见字典维护表)")
    private Long violationType;

    /**
     * 违规内容
     */
    @ApiModelProperty(value = "违规内容")
    @Excel(name = "违规内容")
    private String violationContent;

    /**
     * 部门id
     */
    @ApiModelProperty(value = "部门id")
    @Excel(name = "部门id")
    private Long deptId;

    /**
     * 部门名称
     */
    @ApiModelProperty(value = "部门名称")
    @Excel(name = "部门名称")
    private String deptName;

    /**
     * 创建人（用于数据权限）
     */
    @ApiModelProperty(value = "创建人（用于数据权限）")
    @Excel(name = "创建人", readConverterExp = "用=于数据权限")
    private Long userId;

    /**
     * 处罚类型(参见字典表)
     */
    @ApiModelProperty(value = "处罚类型(参见字典表)")
    @Excel(name = "处罚类型", readConverterExp = "处罚类型(参见字典表)")
    private Long penaltyType;

    /**
     * 是否处理(1是处理，0是未处理)
     */
    @ApiModelProperty(value = "是否黑名单用户：0否,1是")
    @Excel(name = "处罚类型", readConverterExp = "是否黑名单用户：0否,1是")
    private Long isHandle;

    /**
     * 实验室ID
     */
    private Long subjectId;

    private Long buildId;

    @Excel(name = "学号")
    @ApiModelProperty(value = "学号")
    private String stuNo;
    /** 所属学院 */
    @Excel(name = "所属学院")
    @Length(message = "所属学院长度不能超过255")
    @ApiModelProperty(value = "所属学院")
    private String belongCollege;
    /** 待学习,已学习，待考试，合格，不合格 */
    @Excel(name = "待学习,已学习，待考试，合格，不合格")
    @ApiModelProperty(value = "待学习,已学习，待考试，合格，不合格")
    private int status;

    @Excel(name = "负面清单次数")
    @ApiModelProperty(value = "负面清单次数")
    private Long negativeListNum;
    /** 黑名单次数 */
    @Excel(name = "黑名单次数")
    @ApiModelProperty(value = "黑名单次数")
    private Long blackListNum;

    /**
     * 违规次数
     */
    private Long violationNum;
    /** 信用分 */
    @Excel(name = "信用分")
    @ApiModelProperty(value = "信用分")
    private Integer creditScore = 0;

    /**
     * 是否负面清单
     */
    private Integer isNegative;

    /**
     * 是否黑名单
     */
    private Integer isBlackList;

    public Long getCreact_id() {
        return creact_id;
    }

    public void setCreact_id(Long creact_id) {
        this.creact_id = creact_id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public Long getId() {
        return id;
    }

    public void setJoinUserId(Long joinUserId) {
        this.joinUserId = joinUserId;
    }

    public Long getJoinUserId() {
        return joinUserId;
    }

    public void setViolationType(Long violationType) {
        this.violationType = violationType;
    }

    public Long getViolationType() {
        return violationType;
    }

    public void setViolationContent(String violationContent) {
        this.violationContent = violationContent;
    }

    public String getViolationContent() {
        return violationContent;
    }

    public void setDeptId(Long deptId) {
        this.deptId = deptId;
    }

    public Long getDeptId() {
        return deptId;
    }

    public void setDeptName(String deptName) {
        this.deptName = deptName;
    }

    public String getDeptName() {
        return deptName;
    }

    public void setUserId(Long userId) {
        this.userId = userId;
    }

    public Long getUserId() {
        return userId;
    }

    public Long getPenaltyType() {
        return penaltyType;
    }

    public void setPenaltyType(Long penaltyType) {
        this.penaltyType = penaltyType;
    }

    public Long getIsHandle() {
        return isHandle;
    }

    public void setIsHandle(Long isHandle) {
        this.isHandle = isHandle;
    }

    public Long getSubjectId() {
        return subjectId;
    }

    public void setSubjectId(Long subjectId) {
        this.subjectId = subjectId;
    }

    public Long getBuildId() {
        return buildId;
    }

    public void setBuildId(Long buildId) {
        this.buildId = buildId;
    }

    public String getStuNo() {
        return stuNo;
    }

    public void setStuNo(String stuNo) {
        this.stuNo = stuNo;
    }

    public String getBelongCollege() {
        return belongCollege;
    }

    public void setBelongCollege(String belongCollege) {
        this.belongCollege = belongCollege;
    }

    public int getStatus() {
        return status;
    }

    public void setStatus(int status) {
        this.status = status;
    }

    public Long getNegativeListNum() {
        return negativeListNum;
    }

    public void setNegativeListNum(Long negativeListNum) {
        this.negativeListNum = negativeListNum;
    }

    public Long getBlackListNum() {
        return blackListNum;
    }

    public void setBlackListNum(Long blackListNum) {
        this.blackListNum = blackListNum;
    }

    public Integer getCreditScore() {
        return creditScore;
    }

    public void setCreditScore(Integer creditScore) {
        this.creditScore = creditScore;
    }

    public Long getViolationNum() {
        return violationNum;
    }

    public void setViolationNum(Long violationNum) {
        this.violationNum = violationNum;
    }


    public Integer getIsNegative() {
        return isNegative;
    }

    public void setIsNegative(Integer isNegative) {
        this.isNegative = isNegative;
    }

    public Integer getIsBlackList() {
        return isBlackList;
    }

    public void setIsBlackList(Integer isBlackList) {
        this.isBlackList = isBlackList;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("id", getId())
                .append("joinUserId", getJoinUserId())
                .append("violationType", getViolationType())
                .append("violationContent", getViolationContent())
                .append("createTime", getCreateTime())
                .append("deptId", getDeptId())
                .append("deptName", getDeptName())
                .append("userId", getUserId())
                .append("remark", getRemark())
                .append("updateBy", getUpdateBy())
                .append("updateTime", getUpdateTime())
                .append("createBy", getCreateBy())
                .append("createBy", getPenaltyType())
                .append("createBy", getIsHandle())
                .toString();
    }
}
