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


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

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

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


/**
 * Сведения об образовании гражданина
 */
@SuppressWarnings({ "all", "unchecked", "rawtypes" })
public class CitizenEducationRecord extends UpdatableRecordImpl<CitizenEducationRecord> {

    private static final long serialVersionUID = 1L;

    /**
     * Setter for
     * <code>ervu_dashboard.citizen_education.citizen_education_id</code>.
     */
    public void setCitizenEducationId(Long value) {
        set(0, value);
    }

    /**
     * Getter for
     * <code>ervu_dashboard.citizen_education.citizen_education_id</code>.
     */
    public Long getCitizenEducationId() {
        return (Long) get(0);
    }

    /**
     * Setter for <code>ervu_dashboard.citizen_education.recruit_id</code>.
     */
    public void setRecruitId(UUID value) {
        set(1, value);
    }

    /**
     * Getter for <code>ervu_dashboard.citizen_education.recruit_id</code>.
     */
    public UUID getRecruitId() {
        return (UUID) get(1);
    }

    /**
     * Setter for <code>ervu_dashboard.citizen_education.inn</code>. ИНН
     */
    public void setInn(String value) {
        set(2, value);
    }

    /**
     * Getter for <code>ervu_dashboard.citizen_education.inn</code>. ИНН
     */
    public String getInn() {
        return (String) get(2);
    }

    /**
     * Setter for <code>ervu_dashboard.citizen_education.kpp</code>. КПП
     */
    public void setKpp(String value) {
        set(3, value);
    }

    /**
     * Getter for <code>ervu_dashboard.citizen_education.kpp</code>. КПП
     */
    public String getKpp() {
        return (String) get(3);
    }

    /**
     * Setter for <code>ervu_dashboard.citizen_education.ogrn</code>. ОГРН
     */
    public void setOgrn(String value) {
        set(4, value);
    }

    /**
     * Getter for <code>ervu_dashboard.citizen_education.ogrn</code>. ОГРН
     */
    public String getOgrn() {
        return (String) get(4);
    }

    /**
     * Setter for
     * <code>ervu_dashboard.citizen_education.educational_institution_name</code>.
     * Наименование образовательного учреждения
     */
    public void setEducationalInstitutionName(String value) {
        set(5, value);
    }

    /**
     * Getter for
     * <code>ervu_dashboard.citizen_education.educational_institution_name</code>.
     * Наименование образовательного учреждения
     */
    public String getEducationalInstitutionName() {
        return (String) get(5);
    }

    /**
     * Setter for
     * <code>ervu_dashboard.citizen_education.educational_institution_address</code>.
     * Адрес образовательного учреждения
     */
    public void setEducationalInstitutionAddress(String value) {
        set(6, value);
    }

    /**
     * Getter for
     * <code>ervu_dashboard.citizen_education.educational_institution_address</code>.
     * Адрес образовательного учреждения
     */
    public String getEducationalInstitutionAddress() {
        return (String) get(6);
    }

    /**
     * Setter for
     * <code>ervu_dashboard.citizen_education.educational_institution_type_code</code>.
     * Код типа образовательного учреждения
     */
    public void setEducationalInstitutionTypeCode(String value) {
        set(7, value);
    }

    /**
     * Getter for
     * <code>ervu_dashboard.citizen_education.educational_institution_type_code</code>.
     * Код типа образовательного учреждения
     */
    public String getEducationalInstitutionTypeCode() {
        return (String) get(7);
    }

    /**
     * Setter for
     * <code>ervu_dashboard.citizen_education.education_status_code</code>. Код
     * статуса обучения
     */
    public void setEducationStatusCode(String value) {
        set(8, value);
    }

    /**
     * Getter for
     * <code>ervu_dashboard.citizen_education.education_status_code</code>. Код
     * статуса обучения
     */
    public String getEducationStatusCode() {
        return (String) get(8);
    }

    /**
     * Setter for <code>ervu_dashboard.citizen_education.recovery_date</code>.
     * Дата восстановления
     */
    public void setRecoveryDate(Date value) {
        set(9, value);
    }

    /**
     * Getter for <code>ervu_dashboard.citizen_education.recovery_date</code>.
     * Дата восстановления
     */
    public Date getRecoveryDate() {
        return (Date) get(9);
    }

    /**
     * Setter for
     * <code>ervu_dashboard.citizen_education.recovery_order_date</code>. Дата
     * приказа на восстановление
     */
    public void setRecoveryOrderDate(Date value) {
        set(10, value);
    }

    /**
     * Getter for
     * <code>ervu_dashboard.citizen_education.recovery_order_date</code>. Дата
     * приказа на восстановление
     */
    public Date getRecoveryOrderDate() {
        return (Date) get(10);
    }

    /**
     * Setter for
     * <code>ervu_dashboard.citizen_education.recovery_order_number</code>.
     * Номер приказа на восстановление
     */
    public void setRecoveryOrderNumber(String value) {
        set(11, value);
    }

    /**
     * Getter for
     * <code>ervu_dashboard.citizen_education.recovery_order_number</code>.
     * Номер приказа на восстановление
     */
    public String getRecoveryOrderNumber() {
        return (String) get(11);
    }

    /**
     * Setter for
     * <code>ervu_dashboard.citizen_education.education_level_code</code>. Код
     * уровня образования
     */
    public void setEducationLevelCode(String value) {
        set(12, value);
    }

    /**
     * Getter for
     * <code>ervu_dashboard.citizen_education.education_level_code</code>. Код
     * уровня образования
     */
    public String getEducationLevelCode() {
        return (String) get(12);
    }

    /**
     * Setter for <code>ervu_dashboard.citizen_education.grade_number</code>.
     * Номер класса/курса
     */
    public void setGradeNumber(String value) {
        set(13, value);
    }

    /**
     * Getter for <code>ervu_dashboard.citizen_education.grade_number</code>.
     * Номер класса/курса
     */
    public String getGradeNumber() {
        return (String) get(13);
    }

    /**
     * Setter for
     * <code>ervu_dashboard.citizen_education.leave_start_date</code>. Дата
     * начала отпуска
     */
    public void setLeaveStartDate(Date value) {
        set(14, value);
    }

    /**
     * Getter for
     * <code>ervu_dashboard.citizen_education.leave_start_date</code>. Дата
     * начала отпуска
     */
    public Date getLeaveStartDate() {
        return (Date) get(14);
    }

    /**
     * Setter for <code>ervu_dashboard.citizen_education.leave_end_date</code>.
     * Дата окончания отпуска
     */
    public void setLeaveEndDate(Date value) {
        set(15, value);
    }

    /**
     * Getter for <code>ervu_dashboard.citizen_education.leave_end_date</code>.
     * Дата окончания отпуска
     */
    public Date getLeaveEndDate() {
        return (Date) get(15);
    }

    /**
     * Setter for
     * <code>ervu_dashboard.citizen_education.leave_reason_code</code>. Код
     * причины отпуска
     */
    public void setLeaveReasonCode(String value) {
        set(16, value);
    }

    /**
     * Getter for
     * <code>ervu_dashboard.citizen_education.leave_reason_code</code>. Код
     * причины отпуска
     */
    public String getLeaveReasonCode() {
        return (String) get(16);
    }

    /**
     * Setter for <code>ervu_dashboard.citizen_education.admission_date</code>.
     * Дата зачисления
     */
    public void setAdmissionDate(Date value) {
        set(17, value);
    }

    /**
     * Getter for <code>ervu_dashboard.citizen_education.admission_date</code>.
     * Дата зачисления
     */
    public Date getAdmissionDate() {
        return (Date) get(17);
    }

    /**
     * Setter for <code>ervu_dashboard.citizen_education.first_education</code>.
     * Признак получения образования впервые
     */
    public void setFirstEducation(Boolean value) {
        set(18, value);
    }

    /**
     * Getter for <code>ervu_dashboard.citizen_education.first_education</code>.
     * Признак получения образования впервые
     */
    public Boolean getFirstEducation() {
        return (Boolean) get(18);
    }

    /**
     * Setter for <code>ervu_dashboard.citizen_education.vus_spec</code>.
     * Признак наличия специальности/направления подготовки/профессии
     * относящейся                        к перечню, при наличии которых
     * граждане женского пола получают военно-учетные                       
     * специальности и подлежат постановке на воинский учет
     */
    public void setVusSpec(Boolean value) {
        set(19, value);
    }

    /**
     * Getter for <code>ervu_dashboard.citizen_education.vus_spec</code>.
     * Признак наличия специальности/направления подготовки/профессии
     * относящейся                        к перечню, при наличии которых
     * граждане женского пола получают военно-учетные                       
     * специальности и подлежат постановке на воинский учет
     */
    public Boolean getVusSpec() {
        return (Boolean) get(19);
    }

    /**
     * Setter for
     * <code>ervu_dashboard.citizen_education.education_start_date</code>. Дата
     * начала обучения
     */
    public void setEducationStartDate(Date value) {
        set(20, value);
    }

    /**
     * Getter for
     * <code>ervu_dashboard.citizen_education.education_start_date</code>. Дата
     * начала обучения
     */
    public Date getEducationStartDate() {
        return (Date) get(20);
    }

    /**
     * Setter for
     * <code>ervu_dashboard.citizen_education.planned_education_end_date</code>.
     * Планируемая дата окончания обучения
     */
    public void setPlannedEducationEndDate(Date value) {
        set(21, value);
    }

    /**
     * Getter for
     * <code>ervu_dashboard.citizen_education.planned_education_end_date</code>.
     * Планируемая дата окончания обучения
     */
    public Date getPlannedEducationEndDate() {
        return (Date) get(21);
    }

    /**
     * Setter for
     * <code>ervu_dashboard.citizen_education.education_form_code</code>. Код
     * формы обучения
     */
    public void setEducationFormCode(String value) {
        set(22, value);
    }

    /**
     * Getter for
     * <code>ervu_dashboard.citizen_education.education_form_code</code>. Код
     * формы обучения
     */
    public String getEducationFormCode() {
        return (String) get(22);
    }

    /**
     * Setter for
     * <code>ervu_dashboard.citizen_education.minobr_spec_code</code>. Код
     * специальности минобразования
     */
    public void setMinobrSpecCode(String value) {
        set(23, value);
    }

    /**
     * Getter for
     * <code>ervu_dashboard.citizen_education.minobr_spec_code</code>. Код
     * специальности минобразования
     */
    public String getMinobrSpecCode() {
        return (String) get(23);
    }

    /**
     * Setter for
     * <code>ervu_dashboard.citizen_education.minprosv_spec_code</code>. Код
     * специальности минпросвещения
     */
    public void setMinprosvSpecCode(String value) {
        set(24, value);
    }

    /**
     * Getter for
     * <code>ervu_dashboard.citizen_education.minprosv_spec_code</code>. Код
     * специальности минпросвещения
     */
    public String getMinprosvSpecCode() {
        return (String) get(24);
    }

    /**
     * Setter for <code>ervu_dashboard.citizen_education.expulsion_date</code>.
     * Дата отчисления
     */
    public void setExpulsionDate(Date value) {
        set(25, value);
    }

    /**
     * Getter for <code>ervu_dashboard.citizen_education.expulsion_date</code>.
     * Дата отчисления
     */
    public Date getExpulsionDate() {
        return (Date) get(25);
    }

    /**
     * Setter for
     * <code>ervu_dashboard.citizen_education.expulsion_order_date</code>. Дата
     * приказа на отчисление
     */
    public void setExpulsionOrderDate(Date value) {
        set(26, value);
    }

    /**
     * Getter for
     * <code>ervu_dashboard.citizen_education.expulsion_order_date</code>. Дата
     * приказа на отчисление
     */
    public Date getExpulsionOrderDate() {
        return (Date) get(26);
    }

    /**
     * Setter for
     * <code>ervu_dashboard.citizen_education.expulsion_order_number</code>.
     * Номер приказа на отчисление
     */
    public void setExpulsionOrderNumber(String value) {
        set(27, value);
    }

    /**
     * Getter for
     * <code>ervu_dashboard.citizen_education.expulsion_order_number</code>.
     * Номер приказа на отчисление
     */
    public String getExpulsionOrderNumber() {
        return (String) get(27);
    }

    /**
     * Setter for
     * <code>ervu_dashboard.citizen_education.military_education_start_date</code>.
     * Дата начала обучения в военно-учебном центре
     */
    public void setMilitaryEducationStartDate(Date value) {
        set(28, value);
    }

    /**
     * Getter for
     * <code>ervu_dashboard.citizen_education.military_education_start_date</code>.
     * Дата начала обучения в военно-учебном центре
     */
    public Date getMilitaryEducationStartDate() {
        return (Date) get(28);
    }

    /**
     * Setter for
     * <code>ervu_dashboard.citizen_education.military_education_end_date</code>.
     * Дата окончания обучения в военно-учебном центре
     */
    public void setMilitaryEducationEndDate(Date value) {
        set(29, value);
    }

    /**
     * Getter for
     * <code>ervu_dashboard.citizen_education.military_education_end_date</code>.
     * Дата окончания обучения в военно-учебном центре
     */
    public Date getMilitaryEducationEndDate() {
        return (Date) get(29);
    }

    /**
     * Setter for
     * <code>ervu_dashboard.citizen_education.admission_order_date</code>. Дата
     * приказа о зачислении
     */
    public void setAdmissionOrderDate(Date value) {
        set(30, value);
    }

    /**
     * Getter for
     * <code>ervu_dashboard.citizen_education.admission_order_date</code>. Дата
     * приказа о зачислении
     */
    public Date getAdmissionOrderDate() {
        return (Date) get(30);
    }

    /**
     * Setter for
     * <code>ervu_dashboard.citizen_education.admission_order_number</code>.
     * Номер приказа о зачислении
     */
    public void setAdmissionOrderNumber(String value) {
        set(31, value);
    }

    /**
     * Getter for
     * <code>ervu_dashboard.citizen_education.admission_order_number</code>.
     * Номер приказа о зачислении
     */
    public String getAdmissionOrderNumber() {
        return (String) get(31);
    }

    /**
     * Setter for
     * <code>ervu_dashboard.citizen_education.military_department_education_start_date</code>.
     */
    public void setMilitaryDepartmentEducationStartDate(Date value) {
        set(32, value);
    }

    /**
     * Getter for
     * <code>ervu_dashboard.citizen_education.military_department_education_start_date</code>.
     */
    public Date getMilitaryDepartmentEducationStartDate() {
        return (Date) get(32);
    }

    /**
     * Setter for
     * <code>ervu_dashboard.citizen_education.military_department_education_end_date</code>.
     */
    public void setMilitaryDepartmentEducationEndDate(Date value) {
        set(33, value);
    }

    /**
     * Getter for
     * <code>ervu_dashboard.citizen_education.military_department_education_end_date</code>.
     */
    public Date getMilitaryDepartmentEducationEndDate() {
        return (Date) get(33);
    }

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

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

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

    /**
     * Create a detached CitizenEducationRecord
     */
    public CitizenEducationRecord() {
        super(CitizenEducation.CITIZEN_EDUCATION);
    }

    /**
     * Create a detached, initialised CitizenEducationRecord
     */
    public CitizenEducationRecord(Long citizenEducationId, UUID recruitId, String inn, String kpp, String ogrn, String educationalInstitutionName, String educationalInstitutionAddress, String educationalInstitutionTypeCode, String educationStatusCode, Date recoveryDate, Date recoveryOrderDate, String recoveryOrderNumber, String educationLevelCode, String gradeNumber, Date leaveStartDate, Date leaveEndDate, String leaveReasonCode, Date admissionDate, Boolean firstEducation, Boolean vusSpec, Date educationStartDate, Date plannedEducationEndDate, String educationFormCode, String minobrSpecCode, String minprosvSpecCode, Date expulsionDate, Date expulsionOrderDate, String expulsionOrderNumber, Date militaryEducationStartDate, Date militaryEducationEndDate, Date admissionOrderDate, String admissionOrderNumber, Date militaryDepartmentEducationStartDate, Date militaryDepartmentEducationEndDate) {
        super(CitizenEducation.CITIZEN_EDUCATION);

        setCitizenEducationId(citizenEducationId);
        setRecruitId(recruitId);
        setInn(inn);
        setKpp(kpp);
        setOgrn(ogrn);
        setEducationalInstitutionName(educationalInstitutionName);
        setEducationalInstitutionAddress(educationalInstitutionAddress);
        setEducationalInstitutionTypeCode(educationalInstitutionTypeCode);
        setEducationStatusCode(educationStatusCode);
        setRecoveryDate(recoveryDate);
        setRecoveryOrderDate(recoveryOrderDate);
        setRecoveryOrderNumber(recoveryOrderNumber);
        setEducationLevelCode(educationLevelCode);
        setGradeNumber(gradeNumber);
        setLeaveStartDate(leaveStartDate);
        setLeaveEndDate(leaveEndDate);
        setLeaveReasonCode(leaveReasonCode);
        setAdmissionDate(admissionDate);
        setFirstEducation(firstEducation);
        setVusSpec(vusSpec);
        setEducationStartDate(educationStartDate);
        setPlannedEducationEndDate(plannedEducationEndDate);
        setEducationFormCode(educationFormCode);
        setMinobrSpecCode(minobrSpecCode);
        setMinprosvSpecCode(minprosvSpecCode);
        setExpulsionDate(expulsionDate);
        setExpulsionOrderDate(expulsionOrderDate);
        setExpulsionOrderNumber(expulsionOrderNumber);
        setMilitaryEducationStartDate(militaryEducationStartDate);
        setMilitaryEducationEndDate(militaryEducationEndDate);
        setAdmissionOrderDate(admissionOrderDate);
        setAdmissionOrderNumber(admissionOrderNumber);
        setMilitaryDepartmentEducationStartDate(militaryDepartmentEducationStartDate);
        setMilitaryDepartmentEducationEndDate(militaryDepartmentEducationEndDate);
        resetChangedOnNotNull();
    }
}
