package com.yxproject.start.entity;

import javax.persistence.*;
import java.sql.Time;

@Entity
@Table(name = "PERSONAL_PROGRESS_STATUS", schema = "POST", catalog = "")
public class PersonalProgressStatusEntity {
    private String uploadNo;
    private Long progressStatus;
    private String note;
    private String importDate;
    private Time createTaskDate;
    private Time dataCheckDate;
    private Time filmPrintDate;
    private Time positionDate;
    private Time sortDate;
    private Time qualityTestDate;
    private Time outStorageDate;
    private Time handOutDate;
    private Time signInDate;

    @Id
    @Column(name = "UPLOAD_NO")
    public String getUploadNo() {
        return uploadNo;
    }

    public void setUploadNo(String uploadNo) {
        this.uploadNo = uploadNo;
    }

    @Basic
    @Column(name = "PROGRESS_STATUS")
    public Long getProgressStatus() {
        return progressStatus;
    }

    public void setProgressStatus(Long progressStatus) {
        this.progressStatus = progressStatus;
    }

    @Basic
    @Column(name = "NOTE")
    public String getNote() {
        return note;
    }

    public void setNote(String note) {
        this.note = note;
    }

    @Basic
    @Column(name = "IMPORT_DATE")
    public String getImportDate() {
        return importDate;
    }

    public void setImportDate(String importDate) {
        this.importDate = importDate;
    }

    @Basic
    @Column(name = "CREATE_TASK_DATE")
    public Time getCreateTaskDate() {
        return createTaskDate;
    }

    public void setCreateTaskDate(Time createTaskDate) {
        this.createTaskDate = createTaskDate;
    }

    @Basic
    @Column(name = "DATA_CHECK_DATE")
    public Time getDataCheckDate() {
        return dataCheckDate;
    }

    public void setDataCheckDate(Time dataCheckDate) {
        this.dataCheckDate = dataCheckDate;
    }

    @Basic
    @Column(name = "FILM_PRINT_DATE")
    public Time getFilmPrintDate() {
        return filmPrintDate;
    }

    public void setFilmPrintDate(Time filmPrintDate) {
        this.filmPrintDate = filmPrintDate;
    }

    @Basic
    @Column(name = "POSITION_DATE")
    public Time getPositionDate() {
        return positionDate;
    }

    public void setPositionDate(Time positionDate) {
        this.positionDate = positionDate;
    }

    @Basic
    @Column(name = "SORT_DATE")
    public Time getSortDate() {
        return sortDate;
    }

    public void setSortDate(Time sortDate) {
        this.sortDate = sortDate;
    }

    @Basic
    @Column(name = "QUALITY_TEST_DATE")
    public Time getQualityTestDate() {
        return qualityTestDate;
    }

    public void setQualityTestDate(Time qualityTestDate) {
        this.qualityTestDate = qualityTestDate;
    }

    @Basic
    @Column(name = "OUT_STORAGE_DATE")
    public Time getOutStorageDate() {
        return outStorageDate;
    }

    public void setOutStorageDate(Time outStorageDate) {
        this.outStorageDate = outStorageDate;
    }

    @Basic
    @Column(name = "HAND_OUT_DATE")
    public Time getHandOutDate() {
        return handOutDate;
    }

    public void setHandOutDate(Time handOutDate) {
        this.handOutDate = handOutDate;
    }

    @Basic
    @Column(name = "SIGN_IN_DATE")
    public Time getSignInDate() {
        return signInDate;
    }

    public void setSignInDate(Time signInDate) {
        this.signInDate = signInDate;
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;

        PersonalProgressStatusEntity that = (PersonalProgressStatusEntity) o;

        if (uploadNo != null ? !uploadNo.equals(that.uploadNo) : that.uploadNo != null) return false;
        if (progressStatus != null ? !progressStatus.equals(that.progressStatus) : that.progressStatus != null)
            return false;
        if (note != null ? !note.equals(that.note) : that.note != null) return false;
        if (importDate != null ? !importDate.equals(that.importDate) : that.importDate != null) return false;
        if (createTaskDate != null ? !createTaskDate.equals(that.createTaskDate) : that.createTaskDate != null)
            return false;
        if (dataCheckDate != null ? !dataCheckDate.equals(that.dataCheckDate) : that.dataCheckDate != null)
            return false;
        if (filmPrintDate != null ? !filmPrintDate.equals(that.filmPrintDate) : that.filmPrintDate != null)
            return false;
        if (positionDate != null ? !positionDate.equals(that.positionDate) : that.positionDate != null) return false;
        if (sortDate != null ? !sortDate.equals(that.sortDate) : that.sortDate != null) return false;
        if (qualityTestDate != null ? !qualityTestDate.equals(that.qualityTestDate) : that.qualityTestDate != null)
            return false;
        if (outStorageDate != null ? !outStorageDate.equals(that.outStorageDate) : that.outStorageDate != null)
            return false;
        if (handOutDate != null ? !handOutDate.equals(that.handOutDate) : that.handOutDate != null) return false;
        if (signInDate != null ? !signInDate.equals(that.signInDate) : that.signInDate != null) return false;

        return true;
    }

    @Override
    public int hashCode() {
        int result = uploadNo != null ? uploadNo.hashCode() : 0;
        result = 31 * result + (progressStatus != null ? progressStatus.hashCode() : 0);
        result = 31 * result + (note != null ? note.hashCode() : 0);
        result = 31 * result + (importDate != null ? importDate.hashCode() : 0);
        result = 31 * result + (createTaskDate != null ? createTaskDate.hashCode() : 0);
        result = 31 * result + (dataCheckDate != null ? dataCheckDate.hashCode() : 0);
        result = 31 * result + (filmPrintDate != null ? filmPrintDate.hashCode() : 0);
        result = 31 * result + (positionDate != null ? positionDate.hashCode() : 0);
        result = 31 * result + (sortDate != null ? sortDate.hashCode() : 0);
        result = 31 * result + (qualityTestDate != null ? qualityTestDate.hashCode() : 0);
        result = 31 * result + (outStorageDate != null ? outStorageDate.hashCode() : 0);
        result = 31 * result + (handOutDate != null ? handOutDate.hashCode() : 0);
        result = 31 * result + (signInDate != null ? signInDate.hashCode() : 0);
        return result;
    }
}
