<?php
/**
 * DBFORM - 'affectation_automatique' - Surcharge gen.
 *
 * Ce script permet de définir la classe 'affectation_automatique'.
 *
 * @package openads
 * @version SVN : $Id$
 */

require_once "../gen/obj/affectation_automatique.class.php";

class affectation_automatique extends affectation_automatique_gen {

    /**
     * Clause select pour la requête de sélection des données de l'enregistrement.
     *
     * @return array
     */
    function get_var_sql_forminc__champs() {
        return array(
            "affectation_automatique",
            "om_collectivite",
            "dossier_autorisation_type_detaille",
            "instructeur",
            "instructeur_2",
            "arrondissement",
            "quartier",
            "section",
        );
    }

    /**
     *
     * @return string
     */
    function get_var_sql_forminc__sql_arrondissement() {
        return "SELECT arrondissement.arrondissement, arrondissement.libelle FROM ".DB_PREFIXE."arrondissement ORDER BY NULLIF(arrondissement.libelle,'')::int ASC NULLS LAST";
    }

    /**
     *
     * @return string
     */
    function get_var_sql_forminc__sql_instructeur() {
        return sprintf(
            'SELECT 
                instructeur.instructeur,
                CONCAT(instructeur.nom, \' (\', division.code, \')\')
            FROM
                %1$sinstructeur
                    INNER JOIN %1$sdivision
                        ON division.division=instructeur.division
            WHERE
                (
                    (
                        instructeur.om_validite_debut IS NULL 
                        AND (
                            instructeur.om_validite_fin IS NULL
                            OR instructeur.om_validite_fin > CURRENT_DATE
                        )
                    )
                    OR
                    (
                        instructeur.om_validite_debut <= CURRENT_DATE
                        AND (
                            instructeur.om_validite_fin IS NULL
                            OR instructeur.om_validite_fin > CURRENT_DATE
                        )
                    )
                )
            ORDER BY nom',
            DB_PREFIXE
        );
    }

    /**
     *
     * @return string
     */
    function get_var_sql_forminc__sql_instructeur_by_id() {
        return sprintf(
            'SELECT
                instructeur.instructeur,
                CONCAT(instructeur.nom, \' (\', division.code, \')\')
            FROM
                %1$sinstructeur
                    INNER JOIN %1$sdivision
                        ON division.division=instructeur.division
                    INNER JOIN %1$sinstructeur_qualite
                        ON instructeur_qualite.instructeur_qualite=instructeur.instructeur_qualite
            WHERE
                instructeur = <idx>
            ',
            DB_PREFIXE
        );
    }

    /**
     *
     * @return string
     */
    function get_var_sql_forminc__sql_instructeur_2() {
        return $this->get_var_sql_forminc__sql("instructeur");
    }

    /**
     *
     * @return string
     */
    function get_var_sql_forminc__sql_instructeur_2_by_id() {
        return $this->get_var_sql_forminc__sql("instructeur_by_id");
    }
}
