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


import ervu_dashboard.ervu_dashboard.db_beans.ervu_dashboard.tables.MedicalAuthorities;

import java.sql.Date;
import java.util.UUID;

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


/**
 * сведения о гражданах, стоящих на учете в ПНД/по ВИЧ
 */
@SuppressWarnings({ "all", "unchecked", "rawtypes" })
public class MedicalAuthoritiesRecord extends UpdatableRecordImpl<MedicalAuthoritiesRecord> {

    private static final long serialVersionUID = 1L;

    /**
     * Setter for
     * <code>ervu_dashboard.medical_authorities.medical_authorities_id</code>.
     */
    public void setMedicalAuthoritiesId(Long value) {
        set(0, value);
    }

    /**
     * Getter for
     * <code>ervu_dashboard.medical_authorities.medical_authorities_id</code>.
     */
    public Long getMedicalAuthoritiesId() {
        return (Long) get(0);
    }

    /**
     * Setter for <code>ervu_dashboard.medical_authorities.recruit_id</code>.
     * ссылка на гражданина (citizen)
     */
    public void setRecruitId(UUID value) {
        set(1, value);
    }

    /**
     * Getter for <code>ervu_dashboard.medical_authorities.recruit_id</code>.
     * ссылка на гражданина (citizen)
     */
    public UUID getRecruitId() {
        return (UUID) get(1);
    }

    /**
     * Setter for <code>ervu_dashboard.medical_authorities.start_date</code>.
     * дата постановки на учет
     */
    public void setStartDate(Date value) {
        set(2, value);
    }

    /**
     * Getter for <code>ervu_dashboard.medical_authorities.start_date</code>.
     * дата постановки на учет
     */
    public Date getStartDate() {
        return (Date) get(2);
    }

    /**
     * Setter for <code>ervu_dashboard.medical_authorities.close_date</code>.
     * дата снятия с учета
     */
    public void setCloseDate(Date value) {
        set(3, value);
    }

    /**
     * Getter for <code>ervu_dashboard.medical_authorities.close_date</code>.
     * дата снятия с учета
     */
    public Date getCloseDate() {
        return (Date) get(3);
    }

    /**
     * Setter for <code>ervu_dashboard.medical_authorities.change_date</code>.
     * дата планового срока пересмотра диагноза
     */
    public void setChangeDate(Date value) {
        set(4, value);
    }

    /**
     * Getter for <code>ervu_dashboard.medical_authorities.change_date</code>.
     * дата планового срока пересмотра диагноза
     */
    public Date getChangeDate() {
        return (Date) get(4);
    }

    /**
     * Setter for <code>ervu_dashboard.medical_authorities.hiv</code>. на учете
     * по ВИЧ(true) или в ПНД(false)
     */
    public void setHiv(Boolean value) {
        set(5, value);
    }

    /**
     * Getter for <code>ervu_dashboard.medical_authorities.hiv</code>. на учете
     * по ВИЧ(true) или в ПНД(false)
     */
    public Boolean getHiv() {
        return (Boolean) get(5);
    }

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

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

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

    /**
     * Create a detached MedicalAuthoritiesRecord
     */
    public MedicalAuthoritiesRecord() {
        super(MedicalAuthorities.MEDICAL_AUTHORITIES);
    }

    /**
     * Create a detached, initialised MedicalAuthoritiesRecord
     */
    public MedicalAuthoritiesRecord(Long medicalAuthoritiesId, UUID recruitId, Date startDate, Date closeDate, Date changeDate, Boolean hiv) {
        super(MedicalAuthorities.MEDICAL_AUTHORITIES);

        setMedicalAuthoritiesId(medicalAuthoritiesId);
        setRecruitId(recruitId);
        setStartDate(startDate);
        setCloseDate(closeDate);
        setChangeDate(changeDate);
        setHiv(hiv);
        resetChangedOnNotNull();
    }
}
