src/Controller/OrdineVeloceController.php line 36

  1. <?php
  2. namespace App\Controller;
  3. use App\Entity\MappaCategorieArticoli;
  4. use App\Entity\User;
  5. use App\Model\FiltroRicerca;
  6. use App\Model\RecuperoDati;
  7. use Symfony\Component\HttpFoundation\Request;
  8. use Symfony\Component\HttpFoundation\Response;
  9. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  10. use Symfony\Component\Routing\Annotation\Route;
  11. class OrdineVeloceController extends AbstractController
  12. {
  13.     /** @var ReturnImpostazioniServiceController */
  14.     private $imp;
  15.     /** @var ServiziController */
  16.     private $servizi;
  17.     /**
  18.      * OrdineVeloceController constructor.
  19.      * @param ReturnImpostazioniServiceController $imp
  20.      * @param ServiziController $servizi
  21.      */
  22.     public function __construct(ReturnImpostazioniServiceController $impServiziController $servizi)
  23.     {
  24.         $this->imp $imp;
  25.         $this->servizi $servizi;
  26.     }
  27.     /**
  28.      * @Route("/ordineVeloce", name="ordine_veloce")
  29.      */
  30.     public function ordineVeloceAction(Request $request)
  31.     {
  32.         return $this->render('ordine_veloce/ordine_veloce.html.twig');
  33.     }
  34.     /**
  35.      * @Route("/ordineVeloce/cercaMappa", name="ordine_veloce_cerca_mappa", options={"expose"=true})
  36.      */
  37.     public function ordineVeloceCercaTipoParte(Request $request)
  38.     {
  39.         $user $this->servizi->OttieniUtenteCorrente();
  40.         $data $request->get('data');
  41.         $codiceArticolo $data['codice'];
  42.         $codiceMarca $data['marca'];
  43.         $recuperoDati = new RecuperoDati($this->servizi->doctrine$this->imp$this->servizi);
  44.         /** @var  $cliente User */
  45.         $cliente $this->servizi->OttieniUtenteCorrente();
  46.         $clienteSelezionatoAgente null;
  47.         $codiceCliente "";
  48.         if($cliente){
  49.             $codiceCliente $cliente->getCodiceCliente();
  50.             if ($this->isGranted("ROLE_ADMIN") || $this->isGranted("ROLE_AGENTE") || $this->isGranted("ROLE_COMMERCIALE")){
  51.                 $altriDati $this->servizi->OttieniUtenteCorrente() ? $this->servizi->OttieniUtenteCorrente()->getAltriDati() : null;
  52.                 if ($altriDati && $altriDati != null){
  53.                     $json json_decode($altriDatitrue);
  54.                     $anagraficaTrovata $this->servizi->ritornaAnagraficaShopSelezionataDaCookieIdentificativo($json['codice'], $this->servizi->OttieniUtenteCorrente());
  55.                     if ($anagraficaTrovata){
  56.                         $clienteSelezionatoAgente $anagraficaTrovata;
  57.                         $codiceCliente $clienteSelezionatoAgente->getCodice();
  58.                     }
  59.                 }
  60.             }
  61.         }
  62.         $filtroRicerca = array();
  63.         if ($codiceArticolo && $codiceArticolo != ''){
  64.             $f = new FiltroRicerca();
  65.             $f->soloSearchEngine true;
  66.             $f->stringaSearchEngine = ('(@codice ' $codiceArticolo ') | ((@assArtCli_codiceAnagrafica ' $codiceCliente ') (@assArtCli_codice ' $codiceArticolo ')) ');
  67.             array_push($filtroRicerca$f);
  68.         }
  69.         if ($codiceMarca && $codiceMarca != ''){
  70.             $f = new FiltroRicerca();
  71.             $f->colonne = array('LOWER(mappa.marca)');
  72.             $f->operatore '=';
  73.             $f->valore strtolower($codiceMarca);
  74.             array_push($filtroRicerca$f);
  75.         }
  76.         $ritornoRighe $recuperoDati->recuperaRigheShop($filtroRicerca01$request->getLocale(), $codiceCliente, array(), $this->servizi->OttieniUtenteCorrente(), falsefalsefalsetruetrue);
  77.         $mappa null;
  78.         $ritorno = array();
  79.         if (count($ritornoRighe->righe) > 0) {
  80.             $mappa $ritornoRighe->righe[0];
  81.             $servizi $this->servizi;
  82.             $prezzo $servizi->calcolaPrezzoNettoMappaOVariante($mappanull);
  83.             $ritorno['id_mappa'] = $mappa->id;
  84.             $ritorno['descrizione'] = $mappa->articolo->nome;
  85.             $ritorno['marca'] = $mappa->marca;
  86.             $ritorno['tipo_parte'] = $mappa->articolo->macroCategoria;
  87.             $ritorno['disponibile'] = str_replace("."","$mappa->disponibile);
  88.             $ritorno['in_arrivo'] = str_replace("."","$mappa->ordiniFornitori);
  89.             $ritorno['prezzo_listino'] = str_replace("."","$prezzo->prezzoLordo);
  90.             $ritorno['prezzo_netto'] = str_replace("."","$prezzo->prezzoNetto);
  91.             $ritorno['numero_decimali'] = $mappa->articolo->um->numeroDecimali;
  92.         }
  93.         return new Response(json_encode($ritorno));
  94.     }
  95. }