/*
 * This file is generated by jOOQ.
 */
package ru.micord.ervu_dashboard.db_beans.ervu_dashboard.tables.records;


import java.sql.Time;
import java.sql.Timestamp;
import java.util.UUID;

import org.jooq.Record1;
import org.jooq.impl.UpdatableRecordImpl;

import ru.micord.ervu_dashboard.db_beans.ervu_dashboard.tables.Subpoena;


/**
 * сведения о направлении повестки военного комиссариата
 */
@SuppressWarnings({ "all", "unchecked", "rawtypes" })
public class SubpoenaRecord extends UpdatableRecordImpl<SubpoenaRecord> {

    private static final long serialVersionUID = 1L;

    /**
     * Setter for <code>ervu_dashboard.subpoena.sub_id</code>.
     */
    public void setSubId(Long value) {
        set(0, value);
    }

    /**
     * Getter for <code>ervu_dashboard.subpoena.sub_id</code>.
     */
    public Long getSubId() {
        return (Long) get(0);
    }

    /**
     * Setter for <code>ervu_dashboard.subpoena.series</code>. серия повестки
     */
    public void setSeries(String value) {
        set(1, value);
    }

    /**
     * Getter for <code>ervu_dashboard.subpoena.series</code>. серия повестки
     */
    public String getSeries() {
        return (String) get(1);
    }

    /**
     * Setter for <code>ervu_dashboard.subpoena.number</code>. номер повестки
     */
    public void setNumber(String value) {
        set(2, value);
    }

    /**
     * Getter for <code>ervu_dashboard.subpoena.number</code>. номер повестки
     */
    public String getNumber() {
        return (String) get(2);
    }

    /**
     * Setter for <code>ervu_dashboard.subpoena.create_date</code>. дата
     * создания записи
     */
    public void setCreateDate(Timestamp value) {
        set(3, value);
    }

    /**
     * Getter for <code>ervu_dashboard.subpoena.create_date</code>. дата
     * создания записи
     */
    public Timestamp getCreateDate() {
        return (Timestamp) get(3);
    }

    /**
     * Setter for <code>ervu_dashboard.subpoena.visit_date</code>. время и дата
     * явки в ВК
     */
    public void setVisitDate(Timestamp value) {
        set(4, value);
    }

    /**
     * Getter for <code>ervu_dashboard.subpoena.visit_date</code>. время и дата
     * явки в ВК
     */
    public Timestamp getVisitDate() {
        return (Timestamp) get(4);
    }

    /**
     * Setter for <code>ervu_dashboard.subpoena.send_date</code>. дата
     * направления повестки
     */
    public void setSendDate(Timestamp value) {
        set(5, value);
    }

    /**
     * Getter for <code>ervu_dashboard.subpoena.send_date</code>. дата
     * направления повестки
     */
    public Timestamp getSendDate() {
        return (Timestamp) get(5);
    }

    /**
     * Setter for <code>ervu_dashboard.subpoena.reason_cancelled</code>. причина
     * отклонения повестки
     */
    public void setReasonCancelled(String value) {
        set(6, value);
    }

    /**
     * Getter for <code>ervu_dashboard.subpoena.reason_cancelled</code>. причина
     * отклонения повестки
     */
    public String getReasonCancelled() {
        return (String) get(6);
    }

    /**
     * Setter for <code>ervu_dashboard.subpoena.recruit_id</code>. идентификатор
     * рекрута
     */
    public void setRecruitId(UUID value) {
        set(7, value);
    }

    /**
     * Getter for <code>ervu_dashboard.subpoena.recruit_id</code>. идентификатор
     * рекрута
     */
    public UUID getRecruitId() {
        return (UUID) get(7);
    }

    /**
     * Setter for <code>ervu_dashboard.subpoena.department_id</code>.
     * идентификатор ВК
     */
    public void setDepartmentId(UUID value) {
        set(8, value);
    }

    /**
     * Getter for <code>ervu_dashboard.subpoena.department_id</code>.
     * идентификатор ВК
     */
    public UUID getDepartmentId() {
        return (UUID) get(8);
    }

    /**
     * Setter for <code>ervu_dashboard.subpoena.subpoena_status</code>. статус
     * повестки
     */
    public void setSubpoenaStatus(String value) {
        set(9, value);
    }

    /**
     * Getter for <code>ervu_dashboard.subpoena.subpoena_status</code>. статус
     * повестки
     */
    public String getSubpoenaStatus() {
        return (String) get(9);
    }

    /**
     * Setter for <code>ervu_dashboard.subpoena.subpoena_reason</code>. причина
     * вызова по повестке
     */
    public void setSubpoenaReason(String value) {
        set(10, value);
    }

    /**
     * Getter for <code>ervu_dashboard.subpoena.subpoena_reason</code>. причина
     * вызова по повестке
     */
    public String getSubpoenaReason() {
        return (String) get(10);
    }

    /**
     * Setter for <code>ervu_dashboard.subpoena.fio_commiss</code>. фио
     * комиссара
     */
    public void setFioCommiss(String value) {
        set(11, value);
    }

    /**
     * Getter for <code>ervu_dashboard.subpoena.fio_commiss</code>. фио
     * комиссара
     */
    public String getFioCommiss() {
        return (String) get(11);
    }

    /**
     * Setter for <code>ervu_dashboard.subpoena.track_number</code>. уникальный
     * номер заказного почтового отправления, которым направлена повестка
     */
    public void setTrackNumber(String value) {
        set(12, value);
    }

    /**
     * Getter for <code>ervu_dashboard.subpoena.track_number</code>. уникальный
     * номер заказного почтового отправления, которым направлена повестка
     */
    public String getTrackNumber() {
        return (String) get(12);
    }

    /**
     * Setter for <code>ervu_dashboard.subpoena.recruitment_name</code>.
     * наименование ВК, направившего повестку
     */
    public void setRecruitmentName(String value) {
        set(13, value);
    }

    /**
     * Getter for <code>ervu_dashboard.subpoena.recruitment_name</code>.
     * наименование ВК, направившего повестку
     */
    public String getRecruitmentName() {
        return (String) get(13);
    }

    /**
     * Setter for <code>ervu_dashboard.subpoena.address</code>. адрес, по
     * которому нужно явиться по повестке
     */
    public void setAddress(String value) {
        set(14, value);
    }

    /**
     * Getter for <code>ervu_dashboard.subpoena.address</code>. адрес, по
     * которому нужно явиться по повестке
     */
    public String getAddress() {
        return (String) get(14);
    }

    /**
     * Setter for <code>ervu_dashboard.subpoena.method_sending</code>. способ
     * направления повестки
     */
    public void setMethodSending(String value) {
        set(15, value);
    }

    /**
     * Getter for <code>ervu_dashboard.subpoena.method_sending</code>. способ
     * направления повестки
     */
    public String getMethodSending() {
        return (String) get(15);
    }

    /**
     * Setter for <code>ervu_dashboard.subpoena.subpoena_id</code>.
     * идентификатор повестки
     */
    public void setSubpoenaId(UUID value) {
        set(16, value);
    }

    /**
     * Getter for <code>ervu_dashboard.subpoena.subpoena_id</code>.
     * идентификатор повестки
     */
    public UUID getSubpoenaId() {
        return (UUID) get(16);
    }

    /**
     * Setter for <code>ervu_dashboard.subpoena.sig_info</code>. открепленная ЭП
     */
    public void setSigInfo(String value) {
        set(17, value);
    }

    /**
     * Getter for <code>ervu_dashboard.subpoena.sig_info</code>. открепленная ЭП
     */
    public String getSigInfo() {
        return (String) get(17);
    }

    /**
     * Setter for <code>ervu_dashboard.subpoena.delivery_fio</code>. фио лица,
     * оповестившего гражданина о последствиях отказа от получения повестки
     */
    public void setDeliveryFio(String value) {
        set(18, value);
    }

    /**
     * Getter for <code>ervu_dashboard.subpoena.delivery_fio</code>. фио лица,
     * оповестившего гражданина о последствиях отказа от получения повестки
     */
    public String getDeliveryFio() {
        return (String) get(18);
    }

    /**
     * Setter for <code>ervu_dashboard.subpoena.act_number</code>. номер акта об
     * отказе от получения повестки
     */
    public void setActNumber(String value) {
        set(19, value);
    }

    /**
     * Getter for <code>ervu_dashboard.subpoena.act_number</code>. номер акта об
     * отказе от получения повестки
     */
    public String getActNumber() {
        return (String) get(19);
    }

    /**
     * Setter for <code>ervu_dashboard.subpoena.method_delivery</code>. способ
     * вручения
     */
    public void setMethodDelivery(String value) {
        set(20, value);
    }

    /**
     * Getter for <code>ervu_dashboard.subpoena.method_delivery</code>. способ
     * вручения
     */
    public String getMethodDelivery() {
        return (String) get(20);
    }

    /**
     * Setter for <code>ervu_dashboard.subpoena.delivery_date</code>.
     */
    public void setDeliveryDate(Timestamp value) {
        set(21, value);
    }

    /**
     * Getter for <code>ervu_dashboard.subpoena.delivery_date</code>.
     */
    public Timestamp getDeliveryDate() {
        return (Timestamp) get(21);
    }

    /**
     * Setter for <code>ervu_dashboard.subpoena.delivery_status</code>.
     */
    public void setDeliveryStatus(String value) {
        set(22, value);
    }

    /**
     * Getter for <code>ervu_dashboard.subpoena.delivery_status</code>.
     */
    public String getDeliveryStatus() {
        return (String) get(22);
    }

    /**
     * Setter for <code>ervu_dashboard.subpoena.appearance</code>.
     */
    public void setAppearance(String value) {
        set(23, value);
    }

    /**
     * Getter for <code>ervu_dashboard.subpoena.appearance</code>.
     */
    public String getAppearance() {
        return (String) get(23);
    }

    /**
     * Setter for <code>ervu_dashboard.subpoena.appearance_status</code>.
     */
    public void setAppearanceStatus(String value) {
        set(24, value);
    }

    /**
     * Getter for <code>ervu_dashboard.subpoena.appearance_status</code>.
     */
    public String getAppearanceStatus() {
        return (String) get(24);
    }

    /**
     * Setter for <code>ervu_dashboard.subpoena.date_public_register</code>.
     * Дата размещения в общедоступном реестре направленных (врученных) повесток
     */
    public void setDatePublicRegister(Time value) {
        set(25, value);
    }

    /**
     * Getter for <code>ervu_dashboard.subpoena.date_public_register</code>.
     * Дата размещения в общедоступном реестре направленных (врученных) повесток
     */
    public Time getDatePublicRegister() {
        return (Time) get(25);
    }

    /**
     * Setter for <code>ervu_dashboard.subpoena.visit_date_true</code>. Дата
     * явки (в случае явки)
     */
    public void setVisitDateTrue(Time value) {
        set(26, value);
    }

    /**
     * Getter for <code>ervu_dashboard.subpoena.visit_date_true</code>. Дата
     * явки (в случае явки)
     */
    public Time getVisitDateTrue() {
        return (Time) get(26);
    }

    /**
     * Setter for <code>ervu_dashboard.subpoena.date_recognition_reason</code>.
     * Дата признания причины неявки в военный комиссариат по повестке
     * уважительной
     */
    public void setDateRecognitionReason(Time value) {
        set(27, value);
    }

    /**
     * Getter for <code>ervu_dashboard.subpoena.date_recognition_reason</code>.
     * Дата признания причины неявки в военный комиссариат по повестке
     * уважительной
     */
    public Time getDateRecognitionReason() {
        return (Time) get(27);
    }

    /**
     * Setter for
     * <code>ervu_dashboard.subpoena.sign_sending_info_good_reason</code>.
     * Признак направления сведений о неявке по уважительной причине
     */
    public void setSignSendingInfoGoodReason(Boolean value) {
        set(28, value);
    }

    /**
     * Getter for
     * <code>ervu_dashboard.subpoena.sign_sending_info_good_reason</code>.
     * Признак направления сведений о неявке по уважительной причине
     */
    public Boolean getSignSendingInfoGoodReason() {
        return (Boolean) get(28);
    }

    /**
     * Setter for <code>ervu_dashboard.subpoena.date_sending_good_reason</code>.
     * Дата направления сведений об уважительной причине неявки
     */
    public void setDateSendingGoodReason(Time value) {
        set(29, value);
    }

    /**
     * Getter for <code>ervu_dashboard.subpoena.date_sending_good_reason</code>.
     * Дата направления сведений об уважительной причине неявки
     */
    public Time getDateSendingGoodReason() {
        return (Time) get(29);
    }

    /**
     * Setter for
     * <code>ervu_dashboard.subpoena.info_not_visit_recognition_good_reason</code>.
     * Сведения о признании причины неявки в военный комиссариат по повестке
     * уважительной
     */
    public void setInfoNotVisitRecognitionGoodReason(String value) {
        set(30, value);
    }

    /**
     * Getter for
     * <code>ervu_dashboard.subpoena.info_not_visit_recognition_good_reason</code>.
     * Сведения о признании причины неявки в военный комиссариат по повестке
     * уважительной
     */
    public String getInfoNotVisitRecognitionGoodReason() {
        return (String) get(30);
    }

    /**
     * Setter for <code>ervu_dashboard.subpoena.subpoena_directed_fact</code>.
     * Факт направления повестки
     */
    public void setSubpoenaDirectedFact(String value) {
        set(31, value);
    }

    /**
     * Getter for <code>ervu_dashboard.subpoena.subpoena_directed_fact</code>.
     * Факт направления повестки
     */
    public String getSubpoenaDirectedFact() {
        return (String) get(31);
    }

    /**
     * Setter for <code>ervu_dashboard.subpoena.status_change_date</code>.
     */
    public void setStatusChangeDate(Timestamp value) {
        set(32, value);
    }

    /**
     * Getter for <code>ervu_dashboard.subpoena.status_change_date</code>.
     */
    public Timestamp getStatusChangeDate() {
        return (Timestamp) get(32);
    }

    /**
     * Setter for <code>ervu_dashboard.subpoena.active_status</code>.
     */
    public void setActiveStatus(Boolean value) {
        set(33, value);
    }

    /**
     * Getter for <code>ervu_dashboard.subpoena.active_status</code>.
     */
    public Boolean getActiveStatus() {
        return (Boolean) get(33);
    }

    // -------------------------------------------------------------------------
    // Primary key information
    // -------------------------------------------------------------------------

    @Override
    public Record1<Long> key() {
        return (Record1) super.key();
    }

    // -------------------------------------------------------------------------
    // Constructors
    // -------------------------------------------------------------------------

    /**
     * Create a detached SubpoenaRecord
     */
    public SubpoenaRecord() {
        super(Subpoena.SUBPOENA);
    }

    /**
     * Create a detached, initialised SubpoenaRecord
     */
    public SubpoenaRecord(Long subId, String series, String number, Timestamp createDate, Timestamp visitDate, Timestamp sendDate, String reasonCancelled, UUID recruitId, UUID departmentId, String subpoenaStatus, String subpoenaReason, String fioCommiss, String trackNumber, String recruitmentName, String address, String methodSending, UUID subpoenaId, String sigInfo, String deliveryFio, String actNumber, String methodDelivery, Timestamp deliveryDate, String deliveryStatus, String appearance, String appearanceStatus, Time datePublicRegister, Time visitDateTrue, Time dateRecognitionReason, Boolean signSendingInfoGoodReason, Time dateSendingGoodReason, String infoNotVisitRecognitionGoodReason, String subpoenaDirectedFact, Timestamp statusChangeDate, Boolean activeStatus) {
        super(Subpoena.SUBPOENA);

        setSubId(subId);
        setSeries(series);
        setNumber(number);
        setCreateDate(createDate);
        setVisitDate(visitDate);
        setSendDate(sendDate);
        setReasonCancelled(reasonCancelled);
        setRecruitId(recruitId);
        setDepartmentId(departmentId);
        setSubpoenaStatus(subpoenaStatus);
        setSubpoenaReason(subpoenaReason);
        setFioCommiss(fioCommiss);
        setTrackNumber(trackNumber);
        setRecruitmentName(recruitmentName);
        setAddress(address);
        setMethodSending(methodSending);
        setSubpoenaId(subpoenaId);
        setSigInfo(sigInfo);
        setDeliveryFio(deliveryFio);
        setActNumber(actNumber);
        setMethodDelivery(methodDelivery);
        setDeliveryDate(deliveryDate);
        setDeliveryStatus(deliveryStatus);
        setAppearance(appearance);
        setAppearanceStatus(appearanceStatus);
        setDatePublicRegister(datePublicRegister);
        setVisitDateTrue(visitDateTrue);
        setDateRecognitionReason(dateRecognitionReason);
        setSignSendingInfoGoodReason(signSendingInfoGoodReason);
        setDateSendingGoodReason(dateSendingGoodReason);
        setInfoNotVisitRecognitionGoodReason(infoNotVisitRecognitionGoodReason);
        setSubpoenaDirectedFact(subpoenaDirectedFact);
        setStatusChangeDate(statusChangeDate);
        setActiveStatus(activeStatus);
        resetChangedOnNotNull();
    }
}
