<?php

namespace Modules\Additional\Specifique\Client128\Modules\Panier\Service;

use Entity\Model\Centre;
use Entity\Model\CtcCtr;
use Entity\Model\OxaUserPanier;
use Helpers\ChampsSupplementaire\ChampSupp;
use Helpers\Outil\Sql;
use Modules\Panier\Service\PanierEnteteService;
use Modules\Panier\Service\PanierService;

class UpdateValueCtrLivraison
{
    /**
     * le fichier existe aussi pour le client 61, donc on met la fonction qui retourne false pour éviter les erreurs le temps de mieux gérer les spécifiques
     * @param \PDO $pdo
     */
    public static function initCentreLivraisonSI(\PDO $pdo, ?string $si = null, ?string $idLigne = null, bool $returnValue = false) : bool
    {
        return false;
    }
    
    public static function initCentreLivraisonCG(\PDO $pdo, ?string $cg = null, ?string $idLigne = null, ?string $codeSte = null) : bool
    {
        if ($idLigne) {
            return false;
        }
        
        /*$newsCentre = ChampSupp::getEnregByValueSpecific([
            'COD_TAB' => 'CENTRE',
            'VALEUR' => $cg,
            'typedico' => 'PARNCS0128',
            'codedico' => 'NCS_CENTRE_INSTALLATION',
        ], $pdo);*/

        $req = "SELECT COD_ENR
                FROM CS_DON with (nolock) 
                left join CENTRE with (nolock) on CENTRE.CODE_CTR = CS_DON.COD_ENR
                WHERE COD_TAB = 'CENTRE'
                AND VALEUR = :cg
                AND NUM_FIX = (
                    SELECT LIB01DICO  
                    FROM DILISPEC with (nolock) 
                    WHERE TYPEDICO = 'PARNCS0128'
                    AND CODEDICO = 'NCS_CENTRE_INSTALLATION'
                ) 
                and CENTRE.CODE_STE	 = :codeSte";

        $arrayReq = [
            ':cg'       => $cg,
            ':codeSte'  => $codeSte
        ];

        $requete = $pdo->prepare($req);
        $requete->execute($arrayReq);
        $newsCentre = $requete->fetch();

        return (new PanierService($pdo))->initCentre($pdo, $newsCentre['COD_ENR']??'');
    }
}
