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


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

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

import ru.micord.ervu.account_applications.db_beans.public_.tables.UserApplicationList;


/**
 * Список заявок пользователя
 */
@SuppressWarnings({ "all", "unchecked", "rawtypes" })
public class UserApplicationListRecord extends UpdatableRecordImpl<UserApplicationListRecord> {

    private static final long serialVersionUID = 1L;

    /**
     * Setter for
     * <code>public.user_application_list.user_application_list_id</code>.
     * Идентификатор списка заявок пользователя
     */
    public void setUserApplicationListId(Long value) {
        set(0, value);
    }

    /**
     * Getter for
     * <code>public.user_application_list.user_application_list_id</code>.
     * Идентификатор списка заявок пользователя
     */
    public Long getUserApplicationListId() {
        return (Long) get(0);
    }

    /**
     * Setter for <code>public.user_application_list.application_kind</code>.
     * Вид заявки
     */
    public void setApplicationKind(String value) {
        set(1, value);
    }

    /**
     * Getter for <code>public.user_application_list.application_kind</code>.
     * Вид заявки
     */
    public String getApplicationKind() {
        return (String) get(1);
    }

    /**
     * Setter for <code>public.user_application_list.user_login</code>. Логин
     * пользователя
     */
    public void setUserLogin(String value) {
        set(2, value);
    }

    /**
     * Getter for <code>public.user_application_list.user_login</code>. Логин
     * пользователя
     */
    public String getUserLogin() {
        return (String) get(2);
    }

    /**
     * Setter for <code>public.user_application_list.user_password</code>.
     * Пароль
     */
    public void setUserPassword(String value) {
        set(3, value);
    }

    /**
     * Getter for <code>public.user_application_list.user_password</code>.
     * Пароль
     */
    public String getUserPassword() {
        return (String) get(3);
    }

    /**
     * Setter for <code>public.user_application_list.secondname</code>. Фамилия
     */
    public void setSecondname(String value) {
        set(4, value);
    }

    /**
     * Getter for <code>public.user_application_list.secondname</code>. Фамилия
     */
    public String getSecondname() {
        return (String) get(4);
    }

    /**
     * Setter for <code>public.user_application_list.firstname</code>. Имя
     */
    public void setFirstname(String value) {
        set(5, value);
    }

    /**
     * Getter for <code>public.user_application_list.firstname</code>. Имя
     */
    public String getFirstname() {
        return (String) get(5);
    }

    /**
     * Setter for <code>public.user_application_list.middlename</code>. Отчество
     */
    public void setMiddlename(String value) {
        set(6, value);
    }

    /**
     * Getter for <code>public.user_application_list.middlename</code>. Отчество
     */
    public String getMiddlename() {
        return (String) get(6);
    }

    /**
     * Setter for <code>public.user_application_list.phone</code>. Телефон
     */
    public void setPhone(String value) {
        set(7, value);
    }

    /**
     * Getter for <code>public.user_application_list.phone</code>. Телефон
     */
    public String getPhone() {
        return (String) get(7);
    }

    /**
     * Setter for <code>public.user_application_list.start_date</code>. Дата
     * создания
     */
    public void setStartDate(Timestamp value) {
        set(8, value);
    }

    /**
     * Getter for <code>public.user_application_list.start_date</code>. Дата
     * создания
     */
    public Timestamp getStartDate() {
        return (Timestamp) get(8);
    }

    /**
     * Setter for <code>public.user_application_list.close_date</code>. Дата
     * закрытия
     */
    public void setCloseDate(Timestamp value) {
        set(9, value);
    }

    /**
     * Getter for <code>public.user_application_list.close_date</code>. Дата
     * закрытия
     */
    public Timestamp getCloseDate() {
        return (Timestamp) get(9);
    }

    /**
     * Setter for <code>public.user_application_list.user_status</code>. Статус
     * пользователя
     */
    public void setUserStatus(String value) {
        set(10, value);
    }

    /**
     * Getter for <code>public.user_application_list.user_status</code>. Статус
     * пользователя
     */
    public String getUserStatus() {
        return (String) get(10);
    }

    /**
     * Setter for <code>public.user_application_list.application_status</code>.
     * Вид заявки
     */
    public void setApplicationStatus(String value) {
        set(11, value);
    }

    /**
     * Getter for <code>public.user_application_list.application_status</code>.
     * Вид заявки
     */
    public String getApplicationStatus() {
        return (String) get(11);
    }

    /**
     * Setter for <code>public.user_application_list.comment</code>. Примечание
     */
    public void setComment(String value) {
        set(12, value);
    }

    /**
     * Getter for <code>public.user_application_list.comment</code>. Примечание
     */
    public String getComment() {
        return (String) get(12);
    }

    /**
     * Setter for <code>public.user_application_list.job_position_id</code>.
     * Идентификатор должности
     */
    public void setJobPositionId(Long value) {
        set(13, value);
    }

    /**
     * Getter for <code>public.user_application_list.job_position_id</code>.
     * Идентификатор должности
     */
    public Long getJobPositionId() {
        return (Long) get(13);
    }

    /**
     * Setter for <code>public.user_application_list.user_role_id</code>.
     * Идентификатор роли пользователя
     */
    public void setUserRoleId(Long value) {
        set(14, value);
    }

    /**
     * Getter for <code>public.user_application_list.user_role_id</code>.
     * Идентификатор роли пользователя
     */
    public Long getUserRoleId() {
        return (Long) get(14);
    }

    /**
     * Setter for <code>public.user_application_list.recruitment_id</code>.
     * Организация
     */
    public void setRecruitmentId(UUID value) {
        set(15, value);
    }

    /**
     * Getter for <code>public.user_application_list.recruitment_id</code>.
     * Организация
     */
    public UUID getRecruitmentId() {
        return (UUID) get(15);
    }

    /**
     * Setter for <code>public.user_application_list.user_account_id</code>.
     * Идентификатор учетной записи пользователя
     */
    public void setUserAccountId(String value) {
        set(16, value);
    }

    /**
     * Getter for <code>public.user_application_list.user_account_id</code>.
     * Идентификатор учетной записи пользователя
     */
    public String getUserAccountId() {
        return (String) get(16);
    }

    /**
     * Setter for <code>public.user_application_list.sex</code>. Пол
     */
    public void setSex(String value) {
        set(17, value);
    }

    /**
     * Getter for <code>public.user_application_list.sex</code>. Пол
     */
    public String getSex() {
        return (String) get(17);
    }

    /**
     * Setter for <code>public.user_application_list.birth_date</code>. Дата
     * рождения
     */
    public void setBirthDate(Date value) {
        set(18, value);
    }

    /**
     * Getter for <code>public.user_application_list.birth_date</code>. Дата
     * рождения
     */
    public Date getBirthDate() {
        return (Date) get(18);
    }

    /**
     * Setter for <code>public.user_application_list.snils</code>. СНИЛС
     */
    public void setSnils(String value) {
        set(19, value);
    }

    /**
     * Getter for <code>public.user_application_list.snils</code>. СНИЛС
     */
    public String getSnils() {
        return (String) get(19);
    }

    /**
     * Setter for <code>public.user_application_list.job_position</code>.
     * Должность
     */
    public void setJobPosition(String value) {
        set(20, value);
    }

    /**
     * Getter for <code>public.user_application_list.job_position</code>.
     * Должность
     */
    public String getJobPosition() {
        return (String) get(20);
    }

    /**
     * Setter for <code>public.user_application_list.number_app</code>. Номер
     * заявки
     */
    public void setNumberApp(Long value) {
        set(21, value);
    }

    /**
     * Getter for <code>public.user_application_list.number_app</code>. Номер
     * заявки
     */
    public Long getNumberApp() {
        return (Long) get(21);
    }

    /**
     * Setter for <code>public.user_application_list.edit_comment</code>.
     * Примечание по изменениям
     */
    public void setEditComment(String value) {
        set(22, value);
    }

    /**
     * Getter for <code>public.user_application_list.edit_comment</code>.
     * Примечание по изменениям
     */
    public String getEditComment() {
        return (String) get(22);
    }

    /**
     * Setter for <code>public.user_application_list.person_id</code>. ссылка на
     * персональные данные
     */
    public void setPersonId(String value) {
        set(23, value);
    }

    /**
     * Getter for <code>public.user_application_list.person_id</code>. ссылка на
     * персональные данные
     */
    public String getPersonId() {
        return (String) get(23);
    }

    /**
     * Setter for <code>public.user_application_list.update_secondname</code>.
     * Фамилия на изменение
     */
    public void setUpdateSecondname(String value) {
        set(24, value);
    }

    /**
     * Getter for <code>public.user_application_list.update_secondname</code>.
     * Фамилия на изменение
     */
    public String getUpdateSecondname() {
        return (String) get(24);
    }

    /**
     * Setter for <code>public.user_application_list.update_firstname</code>.
     * Имя на изменение
     */
    public void setUpdateFirstname(String value) {
        set(25, value);
    }

    /**
     * Getter for <code>public.user_application_list.update_firstname</code>.
     * Имя на изменение
     */
    public String getUpdateFirstname() {
        return (String) get(25);
    }

    /**
     * Setter for <code>public.user_application_list.update_middlename</code>.
     * Отчество на изменение
     */
    public void setUpdateMiddlename(String value) {
        set(26, value);
    }

    /**
     * Getter for <code>public.user_application_list.update_middlename</code>.
     * Отчество на изменение
     */
    public String getUpdateMiddlename() {
        return (String) get(26);
    }

    /**
     * Setter for <code>public.user_application_list.update_sex</code>. Пол на
     * изменение
     */
    public void setUpdateSex(String value) {
        set(27, value);
    }

    /**
     * Getter for <code>public.user_application_list.update_sex</code>. Пол на
     * изменение
     */
    public String getUpdateSex() {
        return (String) get(27);
    }

    /**
     * Setter for <code>public.user_application_list.update_birth_date</code>.
     * Дата рождения на изменение
     */
    public void setUpdateBirthDate(Date value) {
        set(28, value);
    }

    /**
     * Getter for <code>public.user_application_list.update_birth_date</code>.
     * Дата рождения на изменение
     */
    public Date getUpdateBirthDate() {
        return (Date) get(28);
    }

    /**
     * Setter for <code>public.user_application_list.update_job_position</code>.
     * Должность на изменение
     */
    public void setUpdateJobPosition(String value) {
        set(29, value);
    }

    /**
     * Getter for <code>public.user_application_list.update_job_position</code>.
     * Должность на изменение
     */
    public String getUpdateJobPosition() {
        return (String) get(29);
    }

    /**
     * Setter for <code>public.user_application_list.trace_id</code>.
     * Идентификатор процесса
     */
    public void setTraceId(String value) {
        set(30, value);
    }

    /**
     * Getter for <code>public.user_application_list.trace_id</code>.
     * Идентификатор процесса
     */
    public String getTraceId() {
        return (String) get(30);
    }

    /**
     * Setter for <code>public.user_application_list.sent_date</code>. Дата
     * отправки заявки в ЕРВУ
     */
    public void setSentDate(Timestamp value) {
        set(31, value);
    }

    /**
     * Getter for <code>public.user_application_list.sent_date</code>. Дата
     * отправки заявки в ЕРВУ
     */
    public Timestamp getSentDate() {
        return (Timestamp) get(31);
    }

    /**
     * Setter for <code>public.user_application_list.blocked_region</code>.
     * Заблокированная область (ACCOUNT, PERSON или BOTH)
     */
    public void setBlockedRegion(String value) {
        set(32, value);
    }

    /**
     * Getter for <code>public.user_application_list.blocked_region</code>.
     * Заблокированная область (ACCOUNT, PERSON или BOTH)
     */
    public String getBlockedRegion() {
        return (String) get(32);
    }

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

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

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

    /**
     * Create a detached UserApplicationListRecord
     */
    public UserApplicationListRecord() {
        super(UserApplicationList.USER_APPLICATION_LIST);
    }

    /**
     * Create a detached, initialised UserApplicationListRecord
     */
    public UserApplicationListRecord(Long userApplicationListId, String applicationKind, String userLogin, String userPassword, String secondname, String firstname, String middlename, String phone, Timestamp startDate, Timestamp closeDate, String userStatus, String applicationStatus, String comment, Long jobPositionId, Long userRoleId, UUID recruitmentId, String userAccountId, String sex, Date birthDate, String snils, String jobPosition, Long numberApp, String editComment, String personId, String updateSecondname, String updateFirstname, String updateMiddlename, String updateSex, Date updateBirthDate, String updateJobPosition, String traceId, Timestamp sentDate, String blockedRegion) {
        super(UserApplicationList.USER_APPLICATION_LIST);

        setUserApplicationListId(userApplicationListId);
        setApplicationKind(applicationKind);
        setUserLogin(userLogin);
        setUserPassword(userPassword);
        setSecondname(secondname);
        setFirstname(firstname);
        setMiddlename(middlename);
        setPhone(phone);
        setStartDate(startDate);
        setCloseDate(closeDate);
        setUserStatus(userStatus);
        setApplicationStatus(applicationStatus);
        setComment(comment);
        setJobPositionId(jobPositionId);
        setUserRoleId(userRoleId);
        setRecruitmentId(recruitmentId);
        setUserAccountId(userAccountId);
        setSex(sex);
        setBirthDate(birthDate);
        setSnils(snils);
        setJobPosition(jobPosition);
        setNumberApp(numberApp);
        setEditComment(editComment);
        setPersonId(personId);
        setUpdateSecondname(updateSecondname);
        setUpdateFirstname(updateFirstname);
        setUpdateMiddlename(updateMiddlename);
        setUpdateSex(updateSex);
        setUpdateBirthDate(updateBirthDate);
        setUpdateJobPosition(updateJobPosition);
        setTraceId(traceId);
        setSentDate(sentDate);
        setBlockedRegion(blockedRegion);
        resetChangedOnNotNull();
    }
}
