<?php

class RequetePaginee_SuiviDemFou extends RequetePaginee
{

    public function &initPerimetre(& $data = null)
    {
        $requeteSuivi = new RequeteSuivi();
        
        $tablePrincipale = 'FOURNISS with(nolock)';
        $champsCle = 'FOURNISS.CODE';
        
        $requeteSuivi->setTablePrincipale($tablePrincipale);
        $requeteSuivi->setChampsCle($champsCle);
        
        // Gestion des jointures
        // Pas de jointure pour le moment
        // $jointureRequete = new JointureRequete(EcranSuiviCDE::filtreSignataire); // Signataire
        // $requeteSuivi->ajouteJointure($jointureRequete);
        $this->requeteSuivi = $requeteSuivi;
        
        $this->setSqlChamps($champsCle);
        
        //
        // Toutes les jointures nécessaires
        //
        $sql_from = 'FOURNISS with(nolock)';
        $this->setSqlFrom($sql_from);
        
        //
        // Périmètre de base
        //
        $sql_where = '';
        $this->setSqlWhere($sql_where);
        return $this;
    }

    public function &getChampSqlRupture(& $rupture)
    {
        $array = $array();
    }

    public function traiteFiltres(& $data, & $obj_specif = null)
    {
        $listeNomChamp = FormulaireRecherche::getChampsSuiviDemFou();
        
        $sql_where_filtre = '';
        
        foreach ($listeNomChamp as $nomChamp) {
            $valeur = CriteresRecherche::getValue($data, $nomChamp);
            if ('' != $valeur) {
                switch ($nomChamp) {
                    case ChampRecherche::Societe:
                        break;
                    case ChampRecherche::Dem_Ach:
                        break;
                    case ChampRecherche::numdoc:
                        // $sql_where_filtre .= ' and CA_ENTET.NO_CDE=' . $valeur;
                        break;
                    case ChampRecherche::Fournisseur:
                        $sql_where_filtre .= ' and FOURNISS.CODE=\'' . ReplaceSqlPointeur($valeur) . '\'';
                        break;
                    case ChampRecherche::Statut:
                        break;
                    case ChampRecherche::typeDate:
                        break;
                    default:
                        break;
                }
            }
        }
        $sql_where_filtre = '1=1 ' . $sql_where_filtre;
        $this->setSqlWhereFiltre($sql_where_filtre);
    }

    public function traiteRupture(& $data)
    {
        // Qu'il y ait présence ou absence de rupture, il y a tri général
        $sql_order_by = 'FOURNISS.CODE DESC';
        $this->setSqlOrderBy($sql_order_by);
    }

    public function calculeComplement(& $info_rupture, & $array_liste_selection)
    {}
}
