package com.ssj.bean.sys.homework.domain;

import com.ssj.bean.common.framework.core.domain.PersistentEntity;
import com.ssj.framework.idworker.IdWorker;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;
import java.util.Date;

@Entity
@Table(name = "scon_homework_picture")
public class HomeworkPicture  extends PersistentEntity {
    public HomeworkPicture(){
        this.id =   IdWorker.generateId();
    }

    private String id;

    @Id
    @Column(length = 32, nullable = false)
    public String getId() {
        return id;
    }

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


    private static final long serialVersionUID = 1L;
    /**
     * 家长userId
     */
    private String parentId;
    /**
     * 作业图片存放路径
     */
    private String fileKey;
    /**
     * 作业科目
     */
    private String subject;
    /**
     * 年级
     */
    private Integer grade;
    /**
     * homework表id
     */
    private String homeworkId;
    /**
     * 难易度
     */
    private Integer difficulty;
    /**
     * 掌握度
     */
    private Integer mastery;
    /**
     * 评论数
     */
    private Integer commentNums;
    /**
     * 状态  删除=DELETE  未分类=NO_SETTLE  正常=NORMAL
     */
    private String status;
    /**
     * 设备号
     */
    private String derver;
    /**
     * 老师端上传 = 1  小塾/pro上传 = 2, pad上传 = 3
     */
    private int type;
    /**
     * 小塾端设备图片唯一标识
     */
    private String derverFileKey;
    /**
     * 是否反馈,0:否 1:是
     */
    private int isFeedback;
    /**
     * 是否分享,0:否 1:是
     */
    private int isShare;
    /**
     * 创建时间
     */
    private Date createTime;
    /**
     * 是否非学科
     */
    private int isDelete = 0;
    /**
     * 在线批改老师
     */
    private String teacherId;

    private String zybWorkId;
    /**
     * 作业批改中间状态，4页面选择未勾选知识点
     */
    private Integer zybWorkStat;
    /**
     * 0：正常的，1：模糊的，2：模糊替换后,3：作业不全,4：非学科 10:不批改
     */
    private int isMark;
    /**
     * 是否锁住，不能做删除操作
     */
    private Integer locking;
    private Integer correctionTime;
    /**
     * 会员卡id
     */
    private String vipId;
    /**
     * 批改后的作业图片的路径
     */
    private String correctedPictureUrl;
    /**
     * 原图批改时间
     */
    private Date correctTime;
    /**
     * 是否质检批改错误（0：否，1：是）
     */
    private int isCheckError;
    /**
     * 质检时间
     */
    private Date checkDate;
    /**
     * 质检错误原因
     */
    private String errorReason;
    /**
     * 质检人
     */
    private String checker;
    /**
     * 分配时间
     */
    private Date allotTime;
    /**
     * 质检错误是否已读
     */
    private int isErrorRead;

    /**
     * 纠正次数
     */
    private int correctNums;
    /**
     * 作业记录表主键id
     */
    private String homeworkRecordId;
    /**
     * 匹配知识点老师id
     */
    private String knowTeacherId;

    /**
     * 匹配知识点老师批改字段
     */
    private int isKnowFeedback;

    /**
     * 是否需要匹配知识点，默认1需要
     */
    private int isNeedingKnow = 1;
    /**
     * 是否有作文（1：有，0：无）
     */
    private int isComposition;
    /**
     * 作文评语
     */
    private String compositionComment;

    /**
     * 作文评语语音
     */
    private String compositionCommentPath;

    /**
     * 批改老师是否能批改（0:默认，12质检员已修改，13已质检不能二次批改）
     */
    private int isCorrect;

    /**
     * 1 质检员已修改
     */
    private int isCheckerCorrect;

    /**
     * 作业服务类型(0无服务，1平台服务(家长购买)，2校区服务，3家长自批改，4平台服务（机构购买），5校区服务（永久）)
     */
    private int serviceType;

    /**
     * 题目推荐记录id，有值则表示此图片是拍的推荐题目，
     * 批改时查询答案直接从scon_question_recommend_record.question_answer_list_json获取
     */
    private String questionRecommendRecordId;

    /**
     * 作业评语
     *
     */
    private String homeworkComment;

    public String getHomeworkComment() {
        return homeworkComment;
    }

    public void setHomeworkComment(String homeworkComment) {
        this.homeworkComment = homeworkComment;
    }

    public int getIsComposition() {
        return isComposition;
    }

    public void setIsComposition(int isComposition) {
        this.isComposition = isComposition;
    }

    public String getCompositionComment() {
        return compositionComment;
    }

    public void setCompositionComment(String compositionComment) {
        this.compositionComment = compositionComment;
    }

    public String getHomeworkRecordId() {
        return homeworkRecordId;
    }

    public void setHomeworkRecordId(String homeworkRecordId) {
        this.homeworkRecordId = homeworkRecordId;
    }

    public String getKnowTeacherId() {
        return knowTeacherId;
    }

    public void setKnowTeacherId(String knowTeacherId) {
        this.knowTeacherId = knowTeacherId;
    }

    public int getCorrectNums() {
        return correctNums;
    }

    public void setCorrectNums(int correctNums) {
        this.correctNums = correctNums;
    }

    public int getIsErrorRead() {
        return isErrorRead;
    }

    public void setIsErrorRead(int isErrorRead) {
        this.isErrorRead = isErrorRead;
    }

    @Column(name = "parent_id")
    public String getParentId() {
        return parentId;
    }

    public void setParentId(String parentId) {
        this.parentId = parentId;
    }

    @Column(name = "file_key")
    public String getFileKey() {
        return fileKey;
    }

    public void setFileKey(String fileKey) {
        this.fileKey = fileKey;
    }

    @Column(name = "subject")
    public String getSubject() {
        return subject;
    }

    public void setSubject(String subject) {
        this.subject = subject;
    }

    @Column(name = "grade")
    public Integer getGrade() {
        return grade;
    }

    public void setGrade(Integer grade) {
        this.grade = grade;
    }

    @Column(name = "homework_id", updatable = false)
    public String getHomeworkId() {
        return homeworkId;
    }

    public void setHomeworkId(String homeworkId) {
        this.homeworkId = homeworkId;
    }

    @Column(name = "difficulty")
    public Integer getDifficulty() {
        return difficulty;
    }

    public void setDifficulty(Integer difficulty) {
        this.difficulty = difficulty;
    }

    @Column(name = "mastery")
    public Integer getMastery() {
        return mastery;
    }

    public void setMastery(Integer mastery) {
        this.mastery = mastery;
    }

    @Column(name = "comment_nums")
    public Integer getCommentNums() {
        return commentNums;
    }

    public void setCommentNums(Integer commentNums) {
        this.commentNums = commentNums;
    }

    @Column(name = "status")
    public String getStatus() {
        return status;
    }

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

    @Column(name = "derver")
    public String getDerver() {
        return derver;
    }

    public void setDerver(String derver) {
        this.derver = derver;
    }

    @Column(name = "type")
    public int getType() {
        return type;
    }

    public void setType(int type) {
        this.type = type;
    }

    @Column(name = "derver_file_key")
    public String getDerverFileKey() {
        return derverFileKey;
    }

    public void setDerverFileKey(String derverFileKey) {
        this.derverFileKey = derverFileKey;
    }

    @Column(name = "is_feedback")
    public int getIsFeedback() {
        return isFeedback;
    }

    public void setIsFeedback(int isFeedback) {
        this.isFeedback = isFeedback;
    }

    @Column(name = "is_share")
    public int getIsShare() {
        return isShare;
    }

    public void setIsShare(int isShare) {
        this.isShare = isShare;
    }

    @Column(name = "create_time")
    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    @Column(name = "is_delete")
    public int getIsDelete() {
        return isDelete;
    }

    public void setIsDelete(int isDelete) {
        this.isDelete = isDelete;
    }

    @Column(name = "teacher_id")
    public String getTeacherId() {
        return teacherId;
    }

    public void setTeacherId(String teacherId) {
        this.teacherId = teacherId;
    }

    @Column(name = "zyb_work_id")
    public String getZybWorkId() {
        return zybWorkId;
    }

    public void setZybWorkId(String zybWorkId) {
        this.zybWorkId = zybWorkId;
    }


    @Column(name = "zyb_work_stat")
    public Integer getZybWorkStat() {
        return zybWorkStat;
    }

    public void setZybWorkStat(Integer zybWorkStat) {
        this.zybWorkStat = zybWorkStat;
    }

    @Column(name = "vip_id")
    public String getVipId() {
        return vipId;
    }

    public void setVipId(String vipId) {
        this.vipId = vipId;
    }

    @Column(name = "is_mark")
    public int getIsMark() {
        return isMark;
    }

    public void setIsMark(int isMark) {
        this.isMark = isMark;
    }

    @Column(name = "locking")
    public Integer getLocking() {
        return locking;
    }

    public void setLocking(Integer locking) {
        this.locking = locking;
    }

    public Integer getCorrectionTime() {
        return correctionTime;
    }

    public void setCorrectionTime(Integer correctionTime) {
        this.correctionTime = correctionTime;
    }

    public String getCorrectedPictureUrl() {
        return correctedPictureUrl;
    }

    public void setCorrectedPictureUrl(String correctedPictureUrl) {
        this.correctedPictureUrl = correctedPictureUrl;
    }

    public Date getCorrectTime() {
        return correctTime;
    }

    public void setCorrectTime(Date correctTime) {
        this.correctTime = correctTime;
    }

    public int getIsCheckError() {
        return isCheckError;
    }

    public void setIsCheckError(int isCheckError) {
        this.isCheckError = isCheckError;
    }

    public Date getCheckDate() {
        return checkDate;
    }

    public void setCheckDate(Date checkDate) {
        this.checkDate = checkDate;
    }

    public String getErrorReason() {
        return errorReason;
    }

    public void setErrorReason(String errorReason) {
        this.errorReason = errorReason;
    }

    public String getChecker() {
        return checker;
    }

    public void setChecker(String checker) {
        this.checker = checker;
    }

    public Date getAllotTime() {
        return allotTime;
    }

    public void setAllotTime(Date allotTime) {
        this.allotTime = allotTime;
    }

    public int getIsKnowFeedback() {
        return isKnowFeedback;
    }

    public void setIsKnowFeedback(int isKnowFeedback) {
        this.isKnowFeedback = isKnowFeedback;
    }

    public int getIsNeedingKnow() {
        return isNeedingKnow;
    }

    public void setIsNeedingKnow(int isNeedingKnow) {
        this.isNeedingKnow = isNeedingKnow;
    }

    public int getIsCorrect() {
        return isCorrect;
    }

    public void setIsCorrect(int isCorrect) {
        this.isCorrect = isCorrect;
    }

    public int getIsCheckerCorrect() {
        return isCheckerCorrect;
    }

    public void setIsCheckerCorrect(int isCheckerCorrect) {
        this.isCheckerCorrect = isCheckerCorrect;
    }

    public String getCompositionCommentPath() {
        return compositionCommentPath;
    }

    public void setCompositionCommentPath(String compositionCommentPath) {
        this.compositionCommentPath = compositionCommentPath;
    }

    public int getServiceType() {
        return serviceType;
    }

    public void setServiceType(int serviceType) {
        this.serviceType = serviceType;
    }

    public String getQuestionRecommendRecordId() {
        return questionRecommendRecordId;
    }

    public void setQuestionRecommendRecordId(String questionRecommendRecordId) {
        this.questionRecommendRecordId = questionRecommendRecordId;
    }
}
