src/Controller/OrdineVeloceController.php line 36
<?phpnamespace App\Controller;use App\Entity\MappaCategorieArticoli;use App\Entity\User;use App\Model\FiltroRicerca;use App\Model\RecuperoDati;use Symfony\Component\HttpFoundation\Request;use Symfony\Component\HttpFoundation\Response;use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;use Symfony\Component\Routing\Annotation\Route;class OrdineVeloceController extends AbstractController{/** @var ReturnImpostazioniServiceController */private $imp;/** @var ServiziController */private $servizi;/*** OrdineVeloceController constructor.* @param ReturnImpostazioniServiceController $imp* @param ServiziController $servizi*/public function __construct(ReturnImpostazioniServiceController $imp, ServiziController $servizi){$this->imp = $imp;$this->servizi = $servizi;}/*** @Route("/ordineVeloce", name="ordine_veloce")*/public function ordineVeloceAction(Request $request){return $this->render('ordine_veloce/ordine_veloce.html.twig');}/*** @Route("/ordineVeloce/cercaMappa", name="ordine_veloce_cerca_mappa", options={"expose"=true})*/public function ordineVeloceCercaTipoParte(Request $request){$user = $this->servizi->OttieniUtenteCorrente();$data = $request->get('data');$codiceArticolo = $data['codice'];$codiceMarca = $data['marca'];$recuperoDati = new RecuperoDati($this->servizi->doctrine, $this->imp, $this->servizi);/** @var $cliente User */$cliente = $this->servizi->OttieniUtenteCorrente();$clienteSelezionatoAgente = null;$codiceCliente = "";if($cliente){$codiceCliente = $cliente->getCodiceCliente();if ($this->isGranted("ROLE_ADMIN") || $this->isGranted("ROLE_AGENTE") || $this->isGranted("ROLE_COMMERCIALE")){$altriDati = $this->servizi->OttieniUtenteCorrente() ? $this->servizi->OttieniUtenteCorrente()->getAltriDati() : null;if ($altriDati && $altriDati != null){$json = json_decode($altriDati, true);$anagraficaTrovata = $this->servizi->ritornaAnagraficaShopSelezionataDaCookieIdentificativo($json['codice'], $this->servizi->OttieniUtenteCorrente());if ($anagraficaTrovata){$clienteSelezionatoAgente = $anagraficaTrovata;$codiceCliente = $clienteSelezionatoAgente->getCodice();}}}}$filtroRicerca = array();if ($codiceArticolo && $codiceArticolo != ''){$f = new FiltroRicerca();$f->soloSearchEngine = true;$f->stringaSearchEngine = ('(@codice ' . $codiceArticolo . ') | ((@assArtCli_codiceAnagrafica ' . $codiceCliente . ') (@assArtCli_codice ' . $codiceArticolo . ')) ');array_push($filtroRicerca, $f);}if ($codiceMarca && $codiceMarca != ''){$f = new FiltroRicerca();$f->colonne = array('LOWER(mappa.marca)');$f->operatore = '=';$f->valore = strtolower($codiceMarca);array_push($filtroRicerca, $f);}$ritornoRighe = $recuperoDati->recuperaRigheShop($filtroRicerca, 0, 1, $request->getLocale(), $codiceCliente, array(), $this->servizi->OttieniUtenteCorrente(), false, false, false, true, true);$mappa = null;$ritorno = array();if (count($ritornoRighe->righe) > 0) {$mappa = $ritornoRighe->righe[0];$servizi = $this->servizi;$prezzo = $servizi->calcolaPrezzoNettoMappaOVariante($mappa, null);$ritorno['id_mappa'] = $mappa->id;$ritorno['descrizione'] = $mappa->articolo->nome;$ritorno['marca'] = $mappa->marca;$ritorno['tipo_parte'] = $mappa->articolo->macroCategoria;$ritorno['disponibile'] = str_replace(".", ",", $mappa->disponibile);$ritorno['in_arrivo'] = str_replace(".", ",", $mappa->ordiniFornitori);$ritorno['prezzo_listino'] = str_replace(".", ",", $prezzo->prezzoLordo);$ritorno['prezzo_netto'] = str_replace(".", ",", $prezzo->prezzoNetto);$ritorno['numero_decimali'] = $mappa->articolo->um->numeroDecimali;}return new Response(json_encode($ritorno));}}