package com.miaxis.app.xxx.domain;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.miaxis.common.annotation.Excel;
import com.miaxis.common.core.domain.BaseBusinessEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.math.BigDecimal;
import java.util.Date;
/**
 * 电子教学日志对象 t_m_class_record_detail
 *
 * @author miaxis
 * @date 2021-01-11
 */
@Data
@TableName("t_m_class_record_detail")
@ApiModel(value = "TMClassRecordDetail", description = "电子教学日志对象 t_m_class_record_detail")
public class TMClassRecordDetail extends BaseBusinessEntity{
    private static final long serialVersionUID = 1L;

    /** 主键 */
    @TableField("id")
    @ApiModelProperty(value = "主键")
    private Long id;

    /** 电子教学日志编号 */
    @Excel(name = "电子教学日志编号")
    @TableField("recnum")
    @ApiModelProperty(value = "电子教学日志编号")
    private String recnum;

    /** 培训机构编号 */
    @Excel(name = "培训机构编号")
    @TableField("inscode")
    @ApiModelProperty(value = "培训机构编号")
    private String inscode;

    /** 学员编号 */
    @Excel(name = "学员编号")
    @TableField("stunum")
    @ApiModelProperty(value = "学员编号")
    private String stunum;

    /** 教练员编号 */
    @Excel(name = "教练员编号")
    @TableField("coachnum")
    @ApiModelProperty(value = "教练员编号")
    private String coachnum;

    /** 教练车编号 */
    @Excel(name = "教练车编号")
    @TableField("carnum")
    @ApiModelProperty(value = "教练车编号")
    private String carnum;

    /** 计时终端编号 */
    @Excel(name = "计时终端编号")
    @TableField("simunum")
    @ApiModelProperty(value = "计时终端编号")
    private String simunum;

    /** 平台编号 */
    @Excel(name = "平台编号")
    @TableField("platnum")
    @ApiModelProperty(value = "平台编号")
    private String platnum;

    /** 课程编码 */
    @Excel(name = "课程编码")
    @TableField("subjcode")
    @ApiModelProperty(value = "课程编码")
    private String subjcode;

    /** 签到照片 */
    @Excel(name = "签到照片")
    @TableField("photo1")
    @ApiModelProperty(value = "签到照片")
    private String photo1;

    /** 随机照片 */
    @Excel(name = "随机照片")
    @TableField("photo2")
    @ApiModelProperty(value = "随机照片")
    private String photo2;

    /** 签退照片 */
    @Excel(name = "签退照片")
    @TableField("photo3")
    @ApiModelProperty(value = "签退照片")
    private String photo3;

    /** 培训开始时间 YYYYMMDDHHmmss */
    @Excel(name = "培训开始时间 YYYYMMDDHHmmss")
    @TableField("starttime")
    @ApiModelProperty(value = "培训开始时间 YYYYMMDDHHmmss")
    private String starttime;

    /** 培训结束时间 YYYYMMDDHHmmss */
    @Excel(name = "培训结束时间 YYYYMMDDHHmmss")
    @TableField("endtime")
    @ApiModelProperty(value = "培训结束时间 YYYYMMDDHHmmss")
    private String endtime;

    /** 培训学时 min */
    @Excel(name = "培训学时 min")
    @TableField("duration")
    @ApiModelProperty(value = "培训学时 min")
    private String duration;

    /** 培训平均速度 km/h */
    @Excel(name = "培训平均速度 km/h")
    @TableField("avevelocity")
    @ApiModelProperty(value = "培训平均速度 km/h")
    private Long avevelocity;

    /** 教练员点评 */
    @Excel(name = "教练员点评")
    @TableField("coacmt")
    @ApiModelProperty(value = "教练员点评")
    private String coacmt;

    /** 阶段送审ID */
    @Excel(name = "阶段送审ID")
    @TableField("stage_id")
    @ApiModelProperty(value = "阶段送审ID")
    private Long stageId;

    /** 审核状态 0-未审核 1-通过 2-不通过 */
    @Excel(name = "审核状态 0-未审核 1-通过 2-不通过")
    @TableField("audit_status")
    @ApiModelProperty(value = "审核状态 0-未审核 1-通过 2-不通过")
    private Integer auditStatus;

    /** 审核原因 */
    @Excel(name = "审核原因")
    @TableField("audit_reason")
    @ApiModelProperty(value = "审核原因")
    private String auditReason;

    /** 审核类型 0：未审核 1：自动审核 2：手动审核 */
    @Excel(name = "审核类型 0：未审核 1：自动审核 2：手动审核")
    @TableField("audit_type")
    @ApiModelProperty(value = "审核类型 0：未审核 1：自动审核 2：手动审核")
    private Integer auditType;

    /** $column.columnComment */
    @Excel(name = "${column.columnComment}")
    @TableField("face_matching")
    @ApiModelProperty(value = "$column.columnComment")
    private Integer faceMatching;

    /** $column.columnComment */
    @Excel(name = "${column.columnComment}")
    @TableField("iscreate")
    @ApiModelProperty(value = "$column.columnComment")
    private Integer iscreate;

    /** $column.columnComment */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "${column.columnComment}", width = 30, dateFormat = "yyyy-MM-dd")
    @TableField("crdate")
    @ApiModelProperty(value = "$column.columnComment")
    private Date crdate;

    /** $column.columnComment */
    @Excel(name = "${column.columnComment}")
    @TableField("stuname")
    @ApiModelProperty(value = "$column.columnComment")
    private String stuname;

    /** $column.columnComment */
    @Excel(name = "${column.columnComment}")
    @TableField("stu_idcard")
    @ApiModelProperty(value = "$column.columnComment")
    private String stuIdcard;

    /** $column.columnComment */
    @Excel(name = "${column.columnComment}")
    @TableField("coachname")
    @ApiModelProperty(value = "$column.columnComment")
    private String coachname;

    /** $column.columnComment */
    @Excel(name = "${column.columnComment}")
    @TableField("licnum")
    @ApiModelProperty(value = "$column.columnComment")
    private String licnum;

    /** $column.columnComment */
    @Excel(name = "${column.columnComment}")
    @TableField("insname")
    @ApiModelProperty(value = "$column.columnComment")
    private String insname;

    /** $column.columnComment */
    @Excel(name = "${column.columnComment}")
    @TableField("district")
    @ApiModelProperty(value = "$column.columnComment")
    private String district;

    /** 培训里程 km */
    @Excel(name = "培训里程 km")
    @TableField("mileage")
    @ApiModelProperty(value = "培训里程 km")
    private BigDecimal mileage;

    /** 审核时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "审核时间", width = 30, dateFormat = "yyyy-MM-dd")
    @TableField("audit_date")
    @ApiModelProperty(value = "审核时间")
    private Date auditDate;

    /** $column.columnComment */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "${column.columnComment}", width = 30, dateFormat = "yyyy-MM-dd")
    @TableField("starttime_date")
    @ApiModelProperty(value = "$column.columnComment")
    private Date starttimeDate;

    /** $column.columnComment */
    @Excel(name = "${column.columnComment}")
    @TableField("is_abnormal")
    @ApiModelProperty(value = "$column.columnComment")
    private Long isAbnormal;

    /** $column.columnComment */
    @Excel(name = "${column.columnComment}")
    @TableField("recarry")
    @ApiModelProperty(value = "$column.columnComment")
    private String recarry;

    /** $column.columnComment */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "${column.columnComment}", width = 30, dateFormat = "yyyy-MM-dd")
    @TableField("analyze_date")
    @ApiModelProperty(value = "$column.columnComment")
    private Date analyzeDate;

    /** $column.columnComment */
    @Excel(name = "${column.columnComment}")
    @TableField("is_analyze")
    @ApiModelProperty(value = "$column.columnComment")
    private Integer isAnalyze;

    /** $column.columnComment */
    @Excel(name = "${column.columnComment}")
    @TableField("isrelated_photo")
    @ApiModelProperty(value = "$column.columnComment")
    private Integer isrelatedPhoto;

    /** $column.columnComment */
    @Excel(name = "${column.columnComment}")
    @TableField("photo4")
    @ApiModelProperty(value = "$column.columnComment")
    private Long photo4;

    /** $column.columnComment */
    @Excel(name = "${column.columnComment}")
    @TableField("photo5")
    @ApiModelProperty(value = "$column.columnComment")
    private Long photo5;

    /** $column.columnComment */
    @Excel(name = "${column.columnComment}")
    @TableField("is_workorder")
    @ApiModelProperty(value = "$column.columnComment")
    private Integer isWorkorder;

    /** $column.columnComment */
    @Excel(name = "${column.columnComment}")
    @TableField("submit_user")
    @ApiModelProperty(value = "$column.columnComment")
    private String submitUser;

    /** $column.columnComment */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "${column.columnComment}", width = 30, dateFormat = "yyyy-MM-dd")
    @TableField("submit_date")
    @ApiModelProperty(value = "$column.columnComment")
    private Date submitDate;

    /** $column.columnComment */
    @Excel(name = "${column.columnComment}")
    @TableField("is_toerror")
    @ApiModelProperty(value = "$column.columnComment")
    private Integer isToerror;

    /** $column.columnComment */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "${column.columnComment}", width = 30, dateFormat = "yyyy-MM-dd")
    @TableField("toerrordate")
    @ApiModelProperty(value = "$column.columnComment")
    private Date toerrordate;

    /** 人脸比对不通过 */
    @Excel(name = "人脸比对不通过")
    @TableField("face_not_pass")
    @ApiModelProperty(value = "人脸比对不通过")
    private Integer faceNotPass;

    /** $column.columnComment */
    @Excel(name = "${column.columnComment}")
    @TableField("abnormal_seq")
    @ApiModelProperty(value = "$column.columnComment")
    private String abnormalSeq;

    /** $column.columnComment */
    @Excel(name = "${column.columnComment}")
    @TableField("is_uploadgj")
    @ApiModelProperty(value = "$column.columnComment")
    private Integer isUploadgj;

    /** $column.columnComment */
    @Excel(name = "${column.columnComment}")
    @TableField("need_spotc")
    @ApiModelProperty(value = "$column.columnComment")
    private Integer needSpotc;

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

    public Long getId(){
        return id;
    }
    public void setRecnum(String recnum){
        this.recnum = recnum;
    }

    public String getRecnum(){
        return recnum;
    }
    public void setInscode(String inscode){
        this.inscode = inscode;
    }

    public String getInscode(){
        return inscode;
    }
    public void setStunum(String stunum){
        this.stunum = stunum;
    }

    public String getStunum(){
        return stunum;
    }
    public void setCoachnum(String coachnum){
        this.coachnum = coachnum;
    }

    public String getCoachnum(){
        return coachnum;
    }
    public void setCarnum(String carnum){
        this.carnum = carnum;
    }

    public String getCarnum(){
        return carnum;
    }
    public void setSimunum(String simunum){
        this.simunum = simunum;
    }

    public String getSimunum(){
        return simunum;
    }
    public void setPlatnum(String platnum){
        this.platnum = platnum;
    }

    public String getPlatnum(){
        return platnum;
    }
    public void setSubjcode(String subjcode){
        this.subjcode = subjcode;
    }

    public String getSubjcode(){
        return subjcode;
    }
    public void setPhoto1(String photo1){
        this.photo1 = photo1;
    }

    public String getPhoto1(){
        return photo1;
    }
    public void setPhoto2(String photo2){
        this.photo2 = photo2;
    }

    public String getPhoto2(){
        return photo2;
    }
    public void setPhoto3(String photo3){
        this.photo3 = photo3;
    }

    public String getPhoto3(){
        return photo3;
    }
    public void setStarttime(String starttime){
        this.starttime = starttime;
    }

    public String getStarttime(){
        return starttime;
    }
    public void setEndtime(String endtime){
        this.endtime = endtime;
    }

    public String getEndtime(){
        return endtime;
    }
    public void setDuration(String duration){
        this.duration = duration;
    }

    public String getDuration(){
        return duration;
    }
    public void setAvevelocity(Long avevelocity){
        this.avevelocity = avevelocity;
    }

    public Long getAvevelocity(){
        return avevelocity;
    }
    public void setCoacmt(String coacmt){
        this.coacmt = coacmt;
    }

    public String getCoacmt(){
        return coacmt;
    }
    public void setStageId(Long stageId){
        this.stageId = stageId;
    }

    public Long getStageId(){
        return stageId;
    }
    public void setAuditStatus(Integer auditStatus){
        this.auditStatus = auditStatus;
    }

    public Integer getAuditStatus(){
        return auditStatus;
    }
    public void setAuditReason(String auditReason){
        this.auditReason = auditReason;
    }

    public String getAuditReason(){
        return auditReason;
    }
    public void setAuditType(Integer auditType){
        this.auditType = auditType;
    }

    public Integer getAuditType(){
        return auditType;
    }
    public void setFaceMatching(Integer faceMatching){
        this.faceMatching = faceMatching;
    }

    public Integer getFaceMatching(){
        return faceMatching;
    }
    public void setIscreate(Integer iscreate){
        this.iscreate = iscreate;
    }

    public Integer getIscreate(){
        return iscreate;
    }
    public void setCrdate(Date crdate){
        this.crdate = crdate;
    }

    public Date getCrdate(){
        return crdate;
    }
    public void setStuname(String stuname){
        this.stuname = stuname;
    }

    public String getStuname(){
        return stuname;
    }
    public void setStuIdcard(String stuIdcard){
        this.stuIdcard = stuIdcard;
    }

    public String getStuIdcard(){
        return stuIdcard;
    }
    public void setCoachname(String coachname){
        this.coachname = coachname;
    }

    public String getCoachname(){
        return coachname;
    }
    public void setLicnum(String licnum){
        this.licnum = licnum;
    }

    public String getLicnum(){
        return licnum;
    }
    public void setInsname(String insname){
        this.insname = insname;
    }

    public String getInsname(){
        return insname;
    }
    public void setDistrict(String district){
        this.district = district;
    }

    public String getDistrict(){
        return district;
    }
    public void setMileage(BigDecimal mileage){
        this.mileage = mileage;
    }

    public BigDecimal getMileage(){
        return mileage;
    }
    public void setAuditDate(Date auditDate){
        this.auditDate = auditDate;
    }

    public Date getAuditDate(){
        return auditDate;
    }
    public void setStarttimeDate(Date starttimeDate){
        this.starttimeDate = starttimeDate;
    }

    public Date getStarttimeDate(){
        return starttimeDate;
    }
    public void setIsAbnormal(Long isAbnormal){
        this.isAbnormal = isAbnormal;
    }

    public Long getIsAbnormal(){
        return isAbnormal;
    }
    public void setRecarry(String recarry){
        this.recarry = recarry;
    }

    public String getRecarry(){
        return recarry;
    }
    public void setAnalyzeDate(Date analyzeDate){
        this.analyzeDate = analyzeDate;
    }

    public Date getAnalyzeDate(){
        return analyzeDate;
    }
    public void setIsAnalyze(Integer isAnalyze){
        this.isAnalyze = isAnalyze;
    }

    public Integer getIsAnalyze(){
        return isAnalyze;
    }
    public void setIsrelatedPhoto(Integer isrelatedPhoto){
        this.isrelatedPhoto = isrelatedPhoto;
    }

    public Integer getIsrelatedPhoto(){
        return isrelatedPhoto;
    }
    public void setPhoto4(Long photo4){
        this.photo4 = photo4;
    }

    public Long getPhoto4(){
        return photo4;
    }
    public void setPhoto5(Long photo5){
        this.photo5 = photo5;
    }

    public Long getPhoto5(){
        return photo5;
    }
    public void setIsWorkorder(Integer isWorkorder){
        this.isWorkorder = isWorkorder;
    }

    public Integer getIsWorkorder(){
        return isWorkorder;
    }
    public void setSubmitUser(String submitUser){
        this.submitUser = submitUser;
    }

    public String getSubmitUser(){
        return submitUser;
    }
    public void setSubmitDate(Date submitDate){
        this.submitDate = submitDate;
    }

    public Date getSubmitDate(){
        return submitDate;
    }
    public void setIsToerror(Integer isToerror){
        this.isToerror = isToerror;
    }

    public Integer getIsToerror(){
        return isToerror;
    }
    public void setToerrordate(Date toerrordate){
        this.toerrordate = toerrordate;
    }

    public Date getToerrordate(){
        return toerrordate;
    }
    public void setFaceNotPass(Integer faceNotPass){
        this.faceNotPass = faceNotPass;
    }

    public Integer getFaceNotPass(){
        return faceNotPass;
    }
    public void setAbnormalSeq(String abnormalSeq){
        this.abnormalSeq = abnormalSeq;
    }

    public String getAbnormalSeq(){
        return abnormalSeq;
    }
    public void setIsUploadgj(Integer isUploadgj){
        this.isUploadgj = isUploadgj;
    }

    public Integer getIsUploadgj(){
        return isUploadgj;
    }
    public void setNeedSpotc(Integer needSpotc){
        this.needSpotc = needSpotc;
    }

    public Integer getNeedSpotc(){
        return needSpotc;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("recnum", getRecnum())
            .append("inscode", getInscode())
            .append("stunum", getStunum())
            .append("coachnum", getCoachnum())
            .append("carnum", getCarnum())
            .append("simunum", getSimunum())
            .append("platnum", getPlatnum())
            .append("subjcode", getSubjcode())
            .append("photo1", getPhoto1())
            .append("photo2", getPhoto2())
            .append("photo3", getPhoto3())
            .append("starttime", getStarttime())
            .append("endtime", getEndtime())
            .append("duration", getDuration())
            .append("avevelocity", getAvevelocity())
            .append("coacmt", getCoacmt())
            .append("stageId", getStageId())
            .append("auditStatus", getAuditStatus())
            .append("auditReason", getAuditReason())
            .append("auditType", getAuditType())
            .append("faceMatching", getFaceMatching())
            .append("iscreate", getIscreate())
            .append("crdate", getCrdate())
            .append("stuname", getStuname())
            .append("stuIdcard", getStuIdcard())
            .append("coachname", getCoachname())
            .append("licnum", getLicnum())
            .append("insname", getInsname())
            .append("district", getDistrict())
            .append("mileage", getMileage())
            .append("auditDate", getAuditDate())
            .append("starttimeDate", getStarttimeDate())
            .append("isAbnormal", getIsAbnormal())
            .append("recarry", getRecarry())
            .append("analyzeDate", getAnalyzeDate())
            .append("isAnalyze", getIsAnalyze())
            .append("isrelatedPhoto", getIsrelatedPhoto())
            .append("photo4", getPhoto4())
            .append("photo5", getPhoto5())
            .append("isWorkorder", getIsWorkorder())
            .append("submitUser", getSubmitUser())
            .append("submitDate", getSubmitDate())
            .append("isToerror", getIsToerror())
            .append("toerrordate", getToerrordate())
            .append("faceNotPass", getFaceNotPass())
            .append("abnormalSeq", getAbnormalSeq())
            .append("isUploadgj", getIsUploadgj())
            .append("needSpotc", getNeedSpotc())
            .append("createTime", getCreateTime())
            .append("updateTime", getUpdateTime())
            .toString();
    }
}
