/*
 * This file is generated by jOOQ.
 */
package ru.micord.webbpm.ervu.business_metrics.db_beans.journal_log.tables.records;


import java.sql.Date;
import java.sql.Timestamp;

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

import ru.micord.webbpm.ervu.business_metrics.db_beans.journal_log.tables.MessageJournal;


/**
 * Журналирование. Журналы входящих, исходящих, сформированных сообщений
 */
@SuppressWarnings({ "all", "unchecked", "rawtypes" })
public class MessageJournalRecord extends UpdatableRecordImpl<MessageJournalRecord> {

    private static final long serialVersionUID = 1L;

    /**
     * Setter for <code>journal_log.message_journal.message_journal_id</code>.
     */
    public void setMessageJournalId(Long value) {
        set(0, value);
    }

    /**
     * Getter for <code>journal_log.message_journal.message_journal_id</code>.
     */
    public Long getMessageJournalId() {
        return (Long) get(0);
    }

    /**
     * Setter for <code>journal_log.message_journal.recruitment_id</code>.
     */
    public void setRecruitmentId(String value) {
        set(1, value);
    }

    /**
     * Getter for <code>journal_log.message_journal.recruitment_id</code>.
     */
    public String getRecruitmentId() {
        return (String) get(1);
    }

    /**
     * Setter for <code>journal_log.message_journal.update_date</code>.
     */
    public void setUpdateDate(Timestamp value) {
        set(2, value);
    }

    /**
     * Getter for <code>journal_log.message_journal.update_date</code>.
     */
    public Timestamp getUpdateDate() {
        return (Timestamp) get(2);
    }

    /**
     * Setter for <code>journal_log.message_journal.info_date</code>.
     */
    public void setInfoDate(Date value) {
        set(3, value);
    }

    /**
     * Getter for <code>journal_log.message_journal.info_date</code>.
     */
    public Date getInfoDate() {
        return (Date) get(3);
    }

    /**
     * Setter for <code>journal_log.message_journal.info_source</code>. тип
     * сообщений IN - входящие, OUT - исходящие, FORMED - сформированные,
     * IN_ERROR - входящие с ошибками
     */
    public void setInfoSource(String value) {
        set(4, value);
    }

    /**
     * Getter for <code>journal_log.message_journal.info_source</code>. тип
     * сообщений IN - входящие, OUT - исходящие, FORMED - сформированные,
     * IN_ERROR - входящие с ошибками
     */
    public String getInfoSource() {
        return (String) get(4);
    }

    /**
     * Setter for <code>journal_log.message_journal.org_source</code>. тип
     * организаций MVD - МДВ, FBI - ФБР, FNS - ФНС, MEASURES_RELEASE - Реализ.
     * мер, MIN_DIGIT - минцифры, RUS_REESTR - Росреестр
     */
    public void setOrgSource(String value) {
        set(5, value);
    }

    /**
     * Getter for <code>journal_log.message_journal.org_source</code>. тип
     * организаций MVD - МДВ, FBI - ФБР, FNS - ФНС, MEASURES_RELEASE - Реализ.
     * мер, MIN_DIGIT - минцифры, RUS_REESTR - Росреестр
     */
    public String getOrgSource() {
        return (String) get(5);
    }

    /**
     * Setter for <code>journal_log.message_journal.count_subpoena</code>.
     * реестр повесток
     */
    public void setCountSubpoena(Long value) {
        set(6, value);
    }

    /**
     * Getter for <code>journal_log.message_journal.count_subpoena</code>.
     * реестр повесток
     */
    public Long getCountSubpoena() {
        return (Long) get(6);
    }

    /**
     * Setter for <code>journal_log.message_journal.count_ern</code>. сведения
     * об ерн
     */
    public void setCountErn(Long value) {
        set(7, value);
    }

    /**
     * Getter for <code>journal_log.message_journal.count_ern</code>. сведения
     * об ерн
     */
    public Long getCountErn() {
        return (Long) get(7);
    }

    /**
     * Setter for <code>journal_log.message_journal.count_app_epgu</code>. прием
     * заявлений с епгу
     */
    public void setCountAppEpgu(Long value) {
        set(8, value);
    }

    /**
     * Getter for <code>journal_log.message_journal.count_app_epgu</code>. прием
     * заявлений с епгу
     */
    public Long getCountAppEpgu() {
        return (Long) get(8);
    }

    /**
     * Setter for <code>journal_log.message_journal.count_tmp_measures</code>.
     * введение временных мер
     */
    public void setCountTmpMeasures(Long value) {
        set(9, value);
    }

    /**
     * Getter for <code>journal_log.message_journal.count_tmp_measures</code>.
     * введение временных мер
     */
    public Long getCountTmpMeasures() {
        return (Long) get(9);
    }

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

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

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

    /**
     * Create a detached MessageJournalRecord
     */
    public MessageJournalRecord() {
        super(MessageJournal.MESSAGE_JOURNAL);
    }

    /**
     * Create a detached, initialised MessageJournalRecord
     */
    public MessageJournalRecord(Long messageJournalId, String recruitmentId, Timestamp updateDate, Date infoDate, String infoSource, String orgSource, Long countSubpoena, Long countErn, Long countAppEpgu, Long countTmpMeasures) {
        super(MessageJournal.MESSAGE_JOURNAL);

        setMessageJournalId(messageJournalId);
        setRecruitmentId(recruitmentId);
        setUpdateDate(updateDate);
        setInfoDate(infoDate);
        setInfoSource(infoSource);
        setOrgSource(orgSource);
        setCountSubpoena(countSubpoena);
        setCountErn(countErn);
        setCountAppEpgu(countAppEpgu);
        setCountTmpMeasures(countTmpMeasures);
        resetChangedOnNotNull();
    }
}
