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


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

import org.jooq.Record4;
import org.jooq.impl.UpdatableRecordImpl;

import ru.micord.ervu_dashboard.db_beans.recruitment_campaign.tables.PostponementInfo;


/**
 * статистика по отсрочке и призывам
 */
@SuppressWarnings({ "all", "unchecked", "rawtypes" })
public class PostponementInfoRecord extends UpdatableRecordImpl<PostponementInfoRecord> {

    private static final long serialVersionUID = 1L;

    /**
     * Setter for
     * <code>recruitment_campaign.postponement_info.postponement_info_id</code>.
     */
    public void setPostponementInfoId(Long value) {
        set(0, value);
    }

    /**
     * Getter for
     * <code>recruitment_campaign.postponement_info.postponement_info_id</code>.
     */
    public Long getPostponementInfoId() {
        return (Long) get(0);
    }

    /**
     * Setter for
     * <code>recruitment_campaign.postponement_info.suitable_recruit</code>.
     * Подходят под призыв
     */
    public void setSuitableRecruit(BigDecimal value) {
        set(1, value);
    }

    /**
     * Getter for
     * <code>recruitment_campaign.postponement_info.suitable_recruit</code>.
     * Подходят под призыв
     */
    public BigDecimal getSuitableRecruit() {
        return (BigDecimal) get(1);
    }

    /**
     * Setter for
     * <code>recruitment_campaign.postponement_info.postponement_have_right</code>.
     * Имеют право на отсрочку
     */
    public void setPostponementHaveRight(BigDecimal value) {
        set(2, value);
    }

    /**
     * Getter for
     * <code>recruitment_campaign.postponement_info.postponement_have_right</code>.
     * Имеют право на отсрочку
     */
    public BigDecimal getPostponementHaveRight() {
        return (BigDecimal) get(2);
    }

    /**
     * Setter for
     * <code>recruitment_campaign.postponement_info.postponement_granted</code>.
     * Предоставлена отсрочка
     */
    public void setPostponementGranted(BigDecimal value) {
        set(3, value);
    }

    /**
     * Getter for
     * <code>recruitment_campaign.postponement_info.postponement_granted</code>.
     * Предоставлена отсрочка
     */
    public BigDecimal getPostponementGranted() {
        return (BigDecimal) get(3);
    }

    /**
     * Setter for
     * <code>recruitment_campaign.postponement_info.recording_date</code>. Дата
     * записи
     */
    public void setRecordingDate(Date value) {
        set(4, value);
    }

    /**
     * Getter for
     * <code>recruitment_campaign.postponement_info.recording_date</code>. Дата
     * записи
     */
    public Date getRecordingDate() {
        return (Date) get(4);
    }

    /**
     * Setter for
     * <code>recruitment_campaign.postponement_info.postponement_have_right_percent</code>.
     * Процент имеющих право на отсрочку
     */
    public void setPostponementHaveRightPercent(BigDecimal value) {
        set(5, value);
    }

    /**
     * Getter for
     * <code>recruitment_campaign.postponement_info.postponement_have_right_percent</code>.
     * Процент имеющих право на отсрочку
     */
    public BigDecimal getPostponementHaveRightPercent() {
        return (BigDecimal) get(5);
    }

    /**
     * Setter for
     * <code>recruitment_campaign.postponement_info.postponement_granted_percent</code>.
     * Процент предоставленных отсрочек
     */
    public void setPostponementGrantedPercent(BigDecimal value) {
        set(6, value);
    }

    /**
     * Getter for
     * <code>recruitment_campaign.postponement_info.postponement_granted_percent</code>.
     * Процент предоставленных отсрочек
     */
    public BigDecimal getPostponementGrantedPercent() {
        return (BigDecimal) get(6);
    }

    /**
     * Setter for
     * <code>recruitment_campaign.postponement_info.recruitment_id</code>.
     */
    public void setRecruitmentId(UUID value) {
        set(7, value);
    }

    /**
     * Getter for
     * <code>recruitment_campaign.postponement_info.recruitment_id</code>.
     */
    public UUID getRecruitmentId() {
        return (UUID) get(7);
    }

    /**
     * Setter for
     * <code>recruitment_campaign.postponement_info.spring_autumn</code>.
     */
    public void setSpringAutumn(String value) {
        set(8, value);
    }

    /**
     * Getter for
     * <code>recruitment_campaign.postponement_info.spring_autumn</code>.
     */
    public String getSpringAutumn() {
        return (String) get(8);
    }

    /**
     * Setter for <code>recruitment_campaign.postponement_info.schema</code>.
     * 'Department' - обычный ВК, 'Organization' - главный ВК региона, 'Region'
     * - главный ВК военного округа,
     *         'Ministry' - уровень РФ, 'REG_LVL' - сумма всех ВК региона,
     * 'MD_LVL' - сумма всех ВК ВО, 'Country' - все ВК РФ
     */
    public void setSchema(String value) {
        set(9, value);
    }

    /**
     * Getter for <code>recruitment_campaign.postponement_info.schema</code>.
     * 'Department' - обычный ВК, 'Organization' - главный ВК региона, 'Region'
     * - главный ВК военного округа,
     *         'Ministry' - уровень РФ, 'REG_LVL' - сумма всех ВК региона,
     * 'MD_LVL' - сумма всех ВК ВО, 'Country' - все ВК РФ
     */
    public String getSchema() {
        return (String) get(9);
    }

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

    @Override
    public Record4<UUID, Date, String, String> key() {
        return (Record4) super.key();
    }

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

    /**
     * Create a detached PostponementInfoRecord
     */
    public PostponementInfoRecord() {
        super(PostponementInfo.POSTPONEMENT_INFO);
    }

    /**
     * Create a detached, initialised PostponementInfoRecord
     */
    public PostponementInfoRecord(Long postponementInfoId, BigDecimal suitableRecruit, BigDecimal postponementHaveRight, BigDecimal postponementGranted, Date recordingDate, BigDecimal postponementHaveRightPercent, BigDecimal postponementGrantedPercent, UUID recruitmentId, String springAutumn, String schema) {
        super(PostponementInfo.POSTPONEMENT_INFO);

        setPostponementInfoId(postponementInfoId);
        setSuitableRecruit(suitableRecruit);
        setPostponementHaveRight(postponementHaveRight);
        setPostponementGranted(postponementGranted);
        setRecordingDate(recordingDate);
        setPostponementHaveRightPercent(postponementHaveRightPercent);
        setPostponementGrantedPercent(postponementGrantedPercent);
        setRecruitmentId(recruitmentId);
        setSpringAutumn(springAutumn);
        setSchema(schema);
        resetChangedOnNotNull();
    }
}
