<?php

namespace Modules\Additional\Specifique\Client123\Modules\Outil;

class SousFamille
{
    
    public static function initSousfamilleSelonCdc($pdo, $param)
    {
        if (\Helpers\Outil\Roles::droit($pdo, 'CDCSECTO', 'PARAMSTE')) {
            $codeSteCdc = $param['societe'];
        } else {
            $codeSteCdc = '';
        }

        // A partir du code complémentaire de la ligne de facture en cours de saisie, on recherche les articles qui ont cette valeur en valeur d’init code complémentaire.
        $req = "SELECT distinct(a.SSFAM) FROM CDCSTEAR cdc with(nolock)
        LEFT OUTER JOIN ARTICLES a with(nolock) on a.CODE_ART=cdc.CODE_ART
        WHERE cdc.CODE_STE=:ste and cdc.CDC=:codeCdc";
        
        $arrayReq = [
            ':ste' => $codeSteCdc,
            ':codeCdc' => $param['CODE_CDC'],
        ];

        $champSupp = $pdo->prepare($req);
        $champSupp->execute($arrayReq);
        $resultSousFamille = $champSupp->fetchAll($pdo::FETCH_ASSOC);
        // Si une seule sous famille trouvée, on initialise la valeur.
        // Si aucune sous famille trouvée, on retombe sur le standard et on propose toutes les sous familles
        // Si plus d’une valeur ou pas de valeur, la sous famille doit être remise à blanc si elle avait précédemment une valeur.
        // Si plus d’une valeur, le zoom et la vérification du champ sous-famille se limite aux sous-familles liées au CDC
        $listeSousFamille = '';
        $readonly = 0;
        if (is_array($resultSousFamille)) {
            if (count($resultSousFamille)==1) {
                $sousFamille = $resultSousFamille[0]['SSFAM'];
                $readonly = 1;
            } else {
                $sousFamille = '';
            }
            foreach ($resultSousFamille as $val) {
                $listeSousFamille .= ",'".$val['SSFAM']."'";
            }
            if ($listeSousFamille != '') {
                $listeSousFamille = substr($listeSousFamille, 1);
            }
        } else {
            $sousFamille = '';
        }
        
        return ['CODE_SFAM' => $sousFamille, 'sousFamilleReadonly' => $readonly, 'listeSousFamille' => $listeSousFamille];
    }
}
