src/Controller/EsportazioniController.php line 431
<?php
namespace App\Controller;
use App\Entity\Anagrafiche;
use App\Entity\EsportazioniDiSistema;
use App\Entity\MailSecondarieUtenti;
use App\Entity\ModificaNoteAnagrafiche;
use App\Entity\Nazioni;
use App\Entity\Offerte;
use App\Entity\OfferteAllegati;
use App\Entity\OfferteRegistroEventi;
use App\Entity\OfferteRighe;
use App\Entity\Ordini;
use App\Entity\OrdiniRighe;
use App\Entity\User;
use App\Model\Entita\Ordine;
use App\Model\EsportazioniDiSistema\EseguiEsportazioneDiSistema;
use App\Model\EsportazioniDiSistema\RigheOrdineEsportare;
use App\Model\Mailer;
use App\Model\Translating\Translating;
use Psr\Log\LoggerInterface;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\JsonResponse;
use Symfony\Component\Routing\Annotation\Route;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
/**
*
*/
class EsportazioniController extends AbstractController
{
/** @var ReturnImpostazioniServiceController */
private $imp;
/** @var ServiziController */
private $servizi;
/** @var Mailer */
private $mailer;
/** @var LoggerInterface */
private $logger;
/** @var Translating */
private $translating;
/**
* EsportazioniController constructor.
* @param ReturnImpostazioniServiceController $imp
* @param ServiziController $servizi
* @param Mailer $mailer
* @param LoggerInterface $logger
* @param Translating $translating
*/
public function __construct(ReturnImpostazioniServiceController $imp, ServiziController $servizi, Mailer $mailer, LoggerInterface $logger, Translating $translating)
{
$this->imp = $imp;
$this->servizi = $servizi;
$this->mailer = $mailer;
$this->logger = $logger;
$this->translating = $translating;
}
/**
* @param $ip string
* @param $debug string
* @param $esito boolean
* @param $messaggio string
* @param $utente User
*/
function ScriviRegistroAttivita($em, $ip, $debug, $esito, $messaggio, $utente)
{
$this->servizi->ScriviRegistroAttivita($ip, $debug, $esito, $messaggio, $utente);
}
/** @return bool */
function verificaSeStatoUE($stato)
{
$nazione = $this->servizi->doctrine->getRepository(Nazioni::class)->findOneBy(array('siglaIso' => $stato));
if ($nazione) {
if ($nazione->getPaeseCee())
return true;
else
return false;
}else{
$this->ScriviRegistroAttivita(null, "", "", false, "Sigla iso nazione non trovata. Sigla: " . $nazione, null);
return false;
}
}
/**
* @Route("/esportaOrdiniJson", name="esporta_ordini_json")
*/
public function esportaOrdiniJsonAction(Request $request)
{
if ($this->servizi->verificaSeIpAutorizzatoChiamateImportExport($request->getClientIp())) {
$inviaMail = $this->imp->ritornaImpostazioneDaNome("InviaMailOrdineEsportato");
$from = $this->imp->ritornaImpostazioneDaNome("IndirizzoMailFromInvioComunicazioni");
$nomeShop = $this->imp->ritornaImpostazioneDaNome("NomeShop");
$esportaSoloScontiValidi = $this->imp->ritornaImpostazioneDaNome("EliminaScontiAZero");
ini_set('max_execution_time', 900);
ini_set('memory_limit', -1);
$start = microtime(true);
$this->servizi->doctrine->getConnection()->getConfiguration()->setSQLLogger(null);
$em = $this->servizi->doctrine->getManager();
$ritorno = array('ERRORE' => '', 'Dati' => array());
$this->ScriviRegistroAttivita($em, $request->getClientIp(), "", true, 'Chiamata effettuata a /esportaOrdiniJson --- Inizio l\' esportazione degli ordini', null);
$esportazioneDiSistema = $this->servizi->doctrine->getRepository(EsportazioniDiSistema::class)->findOneBy(array('tipo' => 'ordini', 'attivo' => true));
if($esportazioneDiSistema){
$this->ScriviRegistroAttivita($em, $request->getClientIp(), '', true, 'Rilevata Esportazione di sistema: ' . $esportazioneDiSistema->getId() . '-' . $esportazioneDiSistema->getNome(), $this->servizi->OttieniUtenteCorrente());
$eseguiEsportazioneDiSistema = new EseguiEsportazioneDiSistema($this->servizi, $esportazioneDiSistema, $request->getLocale(), $this->logger);
$eseguiEsportazioneDiSistema->Avvia(true);
$this->ScriviRegistroAttivita(null, $request->getClientIp(), "", true, 'Esportazione completata in ' . $time_elapsed_secs = microtime(true) - $start . ' seconds</br>', null);
return new Response('Esportazione completata in ' . $time_elapsed_secs = microtime(true) - $start . ' seconds</br>');
}
try {
$ordini = $this->servizi->doctrine->getRepository(Ordini::class)->findBy(array('esportato' => false));
$elencoOrdiniJson = array();
/** @var $item Ordini*/
foreach ($ordini as $item) {
$codiceCliente = '';
$codiceSpedizione = '';
$codiceConsegna = '';
//Dati azienda
$ragSoc = ''; $indirizzo = ''; $codiceFisc = ''; $partitaIVa = ''; $citta = ''; $provincia = ''; $cap = ''; $stato = ''; $telefono = ''; $indirizzoMail = ''; $sdi = ''; $pec = ''; $codiceDestinazione = ''; $codiceAgente = '';
//Destinazione
$destRagSoc = ''; $destIndirizzo = ''; $destCitta = ''; $destProvincia = ''; $destCap = ''; $destNazione = '';
if ($item->getAnagrafica()){
$codiceCliente = $item->getAnagrafica()->getCodice();
if ($item->getModalitaSpedizioneUtenteComune()){
$codiceConsegna = $item->getModalitaSpedizioneUtenteComune()->getCodiceEsportazionePorto();
$codiceSpedizione = $item->getModalitaSpedizioneUtenteComune()->getCodiceEsportazione();
}
if ($item->getAnagraficaIndirizzoDiverso()){
$destRagSoc = $item->getAnagraficaIndirizzoDiverso()->getRagioneSociale();
$destIndirizzo = $item->getAnagraficaIndirizzoDiverso()->getIndirizzo();
$destCitta = $item->getAnagraficaIndirizzoDiverso()->getCitta();
$destProvincia = $item->getAnagraficaIndirizzoDiverso()->getProvincia();
$destCap = $item->getAnagraficaIndirizzoDiverso()->getCap();
$destNazione = $item->getAnagraficaIndirizzoDiverso()->getNazione();
$codiceDestinazione = $item->getAnagraficaIndirizzoDiverso()->getTipoIndirizzo();
}
$ragSoc = $item->getAnagrafica()->getRagioneSociale();
$indirizzo = $item->getAnagrafica()->getIndirizzo();
$codiceFisc = $item->getAnagrafica()->getCodiceFiscale();
$partitaIVa = $item->getAnagrafica()->getPartitaIva();
$citta = $item->getAnagrafica()->getComune();
$provincia = $item->getAnagrafica()->getProvincia();
$cap = $item->getAnagrafica()->getCap();
$stato = $item->getAnagrafica()->getNazione();
$telefono = $item->getAnagrafica()->getTelefono();
$indirizzoMail = $item->getAnagrafica()->getIndirizziMail();
$codiceAgente = $item->getAnagrafica()->getCodiceAgente();
}else if ($item->getAzienda()){
$codiceCliente = $item->getAzienda()->getCodiceCliente();
if ($item->getAzienda()->getUtenteComune()){
if ($item->getModalitaSpedizioneUtenteComune()){
$codiceConsegna = $item->getModalitaSpedizioneUtenteComune()->getCodiceEsportazionePorto();
$codiceSpedizione = $item->getModalitaSpedizioneUtenteComune()->getCodiceEsportazione();
}
}else{
if ($item->getSpedizioneConsegna()){
if ($item->getSpedizioneConsegna()->getConsegna()){
$codiceConsegna = $item->getSpedizioneConsegna()->getConsegna()->getCodice();
}
if ($item->getSpedizioneConsegna()->getSpedizione()){
$codiceSpedizione = $item->getSpedizioneConsegna()->getSpedizione()->getCodice();
}
}
}
if ($item->getDestinazione()){
$destRagSoc = $item->getDestinazione()->getRagioneSociale();
$destIndirizzo = $item->getDestinazione()->getIndirizzo();
$destCitta = $item->getDestinazione()->getCitta();
$destProvincia = $item->getDestinazione()->getProvincia();
$destCap = $item->getDestinazione()->getCap();
$destNazione = $item->getDestinazione()->getStato();
$codiceDestinazione = $item->getDestinazione()->getCodiceGestionale();
}
$ragSoc = $item->getAzienda()->getRagioneSociale();
$indirizzo = $item->getAzienda()->getIndirizzo();
$codiceFisc = $item->getAzienda()->getCodiceFiscale();
$partitaIVa = $item->getAzienda()->getPartitaIva();
$citta = $item->getAzienda()->getCitta();
$provincia = $item->getAzienda()->getProvincia();
$cap = $item->getAzienda()->getCap();
$stato = $item->getAzienda()->getNazione();
$telefono = $item->getAzienda()->getTelefono();
$indirizzoMail = $item->getAzienda()->getIndirizzo();
$sdi = $item->getAzienda()->getCodiceDestinatarioFatturaElettronica();
$pec = $item->getAzienda()->getIndirizzoPec();
//Verifico se esiste l'anagrafica in base al codice cliente del cliente così da recuperare il codice agente
$esistenzaAnagrafica = $this->servizi->doctrine->getRepository(Anagrafiche::class)->findOneBy(array('codice' => $item->getAzienda()->getCodiceCliente()));
$codiceAgente = '';
if($esistenzaAnagrafica){
$codiceAgente = $esistenzaAnagrafica->getCodiceAgente();
}
}else {
$codiceCliente = $item->getUtente()->getCodiceCliente();
if ($item->getSpedizioneConsegna()){
if ($item->getSpedizioneConsegna()->getConsegna()){
$codiceConsegna = $item->getSpedizioneConsegna()->getConsegna()->getCodice();
}
if ($item->getSpedizioneConsegna()->getSpedizione()){
$codiceSpedizione = $item->getSpedizioneConsegna()->getSpedizione()->getCodice();
}
}else{
if ($item->getModalitaSpedizioneUtenteComune()){
$codiceConsegna = $item->getModalitaSpedizioneUtenteComune()->getCodiceEsportazionePorto();
$codiceSpedizione = $item->getModalitaSpedizioneUtenteComune()->getCodiceEsportazione();
}
}
if ($item->getDestinazione()){
$destRagSoc = $item->getDestinazione()->getRagioneSociale();
$destIndirizzo = $item->getDestinazione()->getIndirizzo();
$destCitta = $item->getDestinazione()->getCitta();
$destProvincia = $item->getDestinazione()->getProvincia();
$destCap = $item->getDestinazione()->getCap();
$destNazione = $item->getDestinazione()->getStato();
$codiceDestinazione = $item->getDestinazione()->getCodiceGestionale();
}
$ragSoc = $item->getUtente()->getRagioneSociale();
$indirizzo = $item->getUtente()->getIndirizzo();
$codiceFisc = $item->getUtente()->getCodiceFiscale();
$partitaIVa = $item->getUtente()->getPartitaIva();
$citta = $item->getUtente()->getCitta();
$provincia = $item->getUtente()->getProvincia();
$cap = $item->getUtente()->getCap();
$stato = $item->getUtente()->getNazione();
$telefono = $item->getUtente()->getTelefono();
$indirizzoMail = $item->getUtente()->getIndirizzo();
$sdi = $item->getUtente()->getCodiceDestinatarioFatturaElettronica();
$pec = $item->getUtente()->getIndirizzoPec();
$codiceAgente = '';
}
$codiceEsportazione = '';
if($item->getTipoOrdine()){
$codiceEsportazione = $item->getTipoOrdine()->getCodiceEsportazione() ? $item->getTipoOrdine()->getCodiceEsportazione() : '';
}else{
$codiceEsportazione = $item->getTipoOrdineCodiceEsportazione() ? $item->getTipoOrdineCodiceEsportazione() : '';
}
$codiceModalitaPagamento = "";
$descrizioneModalitaPagamento = "";
if($item->getModalitaPagamento()){
$codiceModalitaPagamento = $item->getModalitaPagamento()->getCodiceEsportazione();
$descrizioneModalitaPagamento = $item->getModalitaPagamento()->getNome();
}
$codiceModalitaSpedizione = "";
$descrizioneModalitaSpedizione = "";
if($item->getModalitaSpedizioneUtenteComune()){
$codiceModalitaSpedizione = $item->getModalitaSpedizioneUtenteComune()->getCodiceEsportazione();
$descrizioneModalitaSpedizione = $item->getModalitaSpedizioneUtenteComune()->getNome();
}
$ordine = array(
'id' => $item->getId(),
'riferimento_ordine' => $item->getRiferimentoSistema(),
'sconto_online' => $item->getExtraScontoOrdineOnline(),
'codice_cliente' => $codiceCliente,
'riferimento_cliente' => $item->getRiferimentoCliente(),
'data_ordine' => ($item->getDataOrdine() ? $item->getDataOrdine()->format('Y-m-d H:i:s') : ''),
'data_consegna' => ($item->getDataConsegna() ? $item->getDataConsegna()->format('Y-m-d H:i:s') : ''),
'data_pagamento' => ($item->getDataPagamento() ? $item->getDataPagamento()->format('Y-m-d H:i:s') : ''),
'riferimento_pagamento' => $item->getRiferimentoTransazione(),
'destinazione_ragione_sociale' => $destRagSoc,
'destinazione_indirizzo' => $destIndirizzo,
'destinazione_citta' => $destCitta,
'destinazione_provincia' => $destProvincia,
'destinazione_cap' => $destCap,
'destinazione_nazione' => $destNazione,
'spedizione' => $codiceSpedizione,
'consegna' => $codiceConsegna,
'note_documento' => preg_replace("/\r\n|\r|\n/", "\x", $item->getNote()),
'utente_ragioneSociale' => $ragSoc,
'utente_indirizzo' => $indirizzo,
'utente_codiceFiscale' => $codiceFisc,
'utente_partitaIva' => $partitaIVa,
'utente_citta' => $citta,
'utente_provincia' => $provincia,
'utente_cap' => $cap,
'codice_sdi' => $sdi,
'indirizzo_pec' => $pec,
'utente_stato' => $stato,
'utente_telefono' => $telefono,
'utente_indirizzoMail' => $indirizzoMail,
'totale_netto' => ($item->getTotaleNetto() ? $item->getTotaleNetto() : "0.00"),
'totale' => ($item->getTotale() ? $item->getTotale() : "0.00"),
'pagato' => ($item->getPagato() ? '1' : "0"),
'totale_imposta' => ($item->getTotaleImposta() ? $item->getTotaleImposta() : "0.00"),
'totale_spedizione' => ($item->getTotaleSpedizione() ? $item->getTotaleSpedizione() : "0.00"),
'tot_altri_sconti' => (($item->getTotaleAltriSconti() ? $item->getTotaleAltriSconti() : 0) + ($item->getTotaleScontoCoupon() ? $item->getTotaleScontoCoupon() : 0)),
'tot_altre_maggiorazioni' => ($item->getTotaleAltreMaggiorazioni() ? $item->getTotaleAltreMaggiorazioni() : "0.00"),
'codice_destinazione' => $codiceDestinazione,
'codice_agente' => $codiceAgente,
'codice_esportazione_tipo_ordine' => $codiceEsportazione,
'codice_modalita_pagamento' => $codiceModalitaPagamento,
'descrizione_modalita_pagamento' => $descrizioneModalitaPagamento,
'codice_modalita_spedizione' => $codiceModalitaSpedizione,
'descrizione_modalita_spedizione' => $descrizioneModalitaSpedizione,
'note_aziendali' => preg_replace("/\r\n|\r|\n/", "\x", $item->getNoteAziendali()),
'codice_utente_inserimento_ordine' => $item->getUtente() ? $item->getUtente()->getCodiceCliente() : '',
'tipo_ordine' => $item->getTipoOrdine() ? $item->getTipoOrdine()->getCodiceEsportazione() : '',
'%RIGHE%' => array()
);
$righeOrdine = array();
/** @var $riga OrdiniRighe */
foreach ($item->getRighe() as $riga) {
$datiRiga = RigheOrdineEsportare::CreaDaRigaOrdine($riga);
$rOrd = array(
'id_ordine' => $datiRiga->idOrdine,
'id_riga' => $datiRiga->idRiga,
'macro_categoria' => $datiRiga->macroCategoria,
'marca' => $datiRiga->marca,
'codice_prodotto' => $datiRiga->codiceArticolo,
'unita_misura' => $datiRiga->codiceUm,
'codice_aliquota' => $datiRiga->codiceAliquota,
'valore_aliquota' => $datiRiga->valoreAliquota,
'um_peso' => $datiRiga->codiceUmPeso,
'peso_netto' => $datiRiga->pesoNetto,
'peso_lordo' => $datiRiga->pesoLordo,
'quantita' => $datiRiga->qta,
'cat1_codice' => $datiRiga->codCat1,
'cat2_codice' => $datiRiga->codCat2,
'cat3_codice' => $datiRiga->codCat3,
'cat4_codice' => $datiRiga->codCat4,
'cat5_codice' => $datiRiga->codCat5,
'codice_variante' => $datiRiga->codiceVariante,
'netto_cad' => $datiRiga->nettoCad,
'lordo_cad' => $datiRiga->lordoCad,
'tot_riga_lordo' => $datiRiga->totaleRigaLordo,
'tot_riga' => $datiRiga->totaleRigaNetto,
'scontistica_non_presente' => $datiRiga->scontisticaNonPresente,
'sconti' => ($esportaSoloScontiValidi ? $this->servizi->pulisciStringaScontiEMantieniSoloQuelliValidi($datiRiga->sconti) : $datiRiga->sconti),
'tot_imposta' => $datiRiga->totaleImposta,
'nota_riga' => $datiRiga->nota,
'descrizione_breve_articolo' => $datiRiga->descrizioneBreveArticolo,
'nota_riga_aziendale' => $datiRiga->notaAzienda,
'nome_articolo' => $datiRiga->nomeArticolo,
'descrizione_articolo' => $datiRiga->descrizioneArticolo,
'data_consegna_riga' => $datiRiga->dataConsegnaRiga
);
array_push($righeOrdine, $rOrd);
}
$ordine['%RIGHE%'] = $righeOrdine;
array_push($elencoOrdiniJson, $ordine);
$this->ScriviRegistroAttivita($em, $request->getClientIp(), "", true, 'Ordine ' . $item->getRiferimentoSistema() . ' esportato con successo', null);
$item->setEsportato(true);
$em->persist($item);
try {
if ($inviaMail) {
$listaMailSecondarie = $this->servizi->doctrine->getRepository(MailSecondarieUtenti::class)->findBy(array('azienda' => $item->getAzienda(), 'inviaConfermaOrdine' => true));
$stringCC = array();
foreach ($listaMailSecondarie as $ms)
{
array_push($stringCC, $ms->getIndirizzoMail());
}
$translator = $this->translating;
$translator->CaricaTraduzioniDaFamiglia('mail_ordine', $request->getLocale());
$header1 = $translator->OttieniElementoDizionario("mail_ordine_registrato_header_uno", "mail_ordine")->valoreUscita;
$header2 = $translator->OttieniElementoDizionario("mail_ordine_registrato_header_due", "mail_ordine")->valoreUscita;
$this->mailer->SendMail(
$header1 . $item->getRiferimentoSistema() . " - " . $item->getRiferimentoCliente() . $header2 . $nomeShop,
$this->renderView(
'email/ordini/ordine_esportato.html.twig',
array(
'ordine' => $item,
'utente' => $item->getAzienda(),
)
),
$item->getAzienda()->getEmail(),
$stringCC,
$from
);
}
}catch (\Exception $e){
$this->logger->critical("Errore invio mail: " . $e->getMessage());
$this->ScriviRegistroAttivita($em, $request->getClientIp(), $e, true, 'Errore invio mail conferma esportazione Ordine ' . $item->getRiferimentoSistema() . ' all\'indirizzo ' . $item->getAzienda()->getEmail() . " --- Errore: " . $e->getMessage(), null);
}
}
$ritorno['Dati'] = $elencoOrdiniJson;
$em->flush();
$this->ScriviRegistroAttivita(null, $request->getClientIp(), "", true, 'Esportazione completata in ' . $time_elapsed_secs = microtime(true) - $start . ' seconds</br>', null);
return new JsonResponse($ritorno);
}catch (\Exception $ex)
{
$this->ScriviRegistroAttivita(null, $request->getClientIp(), '', true, 'Errore esportazione ordini: ' . $ex->getMessage(), null);
$ritorno['ERRORE'] = ('Errore esportazione ordini: ' . $ex->getMessage());
return new JsonResponse($ritorno);
}
}
else {
$this->ScriviRegistroAttivita(null, $request->getClientIp(), "", false, 'Errore esportazione: ERRORE_PERMESSO', null);
$ritorno['ERRORE'] = "ERRORE_PERMESSO";
return new JsonResponse($ritorno);
}
}
/**
* @Route("/esportaOrdini", name="esporta_ordini")
*/
public function esportaOrdiniAction(Request $request)
{
if ($this->servizi->verificaSeIpAutorizzatoChiamateImportExport($request->getClientIp())) {
$inviaMail = $this->imp->ritornaImpostazioneDaNome("InviaMailOrdineEsportato");
$from = $this->imp->ritornaImpostazioneDaNome("IndirizzoMailFromInvioComunicazioni");
$nomeShop = $this->imp->ritornaImpostazioneDaNome("NomeShop");
$esportaSoloScontiValidi = $this->imp->ritornaImpostazioneDaNome("EliminaScontiAZero");
ini_set('max_execution_time', 900);
ini_set('memory_limit', -1);
$start = microtime(true);
$pathFileBase = $this->imp->ritornaImpostazioneDaNome('PathFileBaseScambioDati');
if (!$this->endsWith($pathFileBase, DIRECTORY_SEPARATOR))
$pathFileBase .= DIRECTORY_SEPARATOR;
$pathFileBase .= ('OUT' . DIRECTORY_SEPARATOR);
$this->servizi->doctrine->getConnection()->getConfiguration()->setSQLLogger(null);
$em = $this->servizi->doctrine->getManager();
$separatore = "|";
$this->ScriviRegistroAttivita($em, $request->getClientIp(), "", true, 'Chiamata effettuata a /esportaOrdini --- Inizio l\' esportazione degli ordini', null);
$esportazioneDiSistema = $this->servizi->doctrine->getRepository(EsportazioniDiSistema::class)->findOneBy(array('tipo' => 'ordini', 'attivo' => true));
if($esportazioneDiSistema){
$this->ScriviRegistroAttivita($em, $request->getClientIp(), '', true, 'Rilevata Esportazione di sistema: ' . $esportazioneDiSistema->getId() . '-' . $esportazioneDiSistema->getNome(), $this->servizi->OttieniUtenteCorrente());
$eseguiEsportazioneDiSistema = new EseguiEsportazioneDiSistema($this->servizi, $esportazioneDiSistema, $request->getLocale(), $this->logger);
$eseguiEsportazioneDiSistema->Avvia(true);
$this->ScriviRegistroAttivita(null, $request->getClientIp(), "", true, 'Esportazione completata in ' . $time_elapsed_secs = microtime(true) - $start . ' seconds</br>', null);
return new Response('Esportazione completata in ' . $time_elapsed_secs = microtime(true) - $start . ' seconds</br>');
}
try {
$root_path = $pathFileBase . "export" . DIRECTORY_SEPARATOR;
$debug_root_path = $pathFileBase . "debug_file" . DIRECTORY_SEPARATOR;
$ordini = $this->servizi->doctrine->getRepository(Ordini::class)->findBy(array('esportato' => false));
$pathFileTestate = $root_path . "ordini_testate.csv";
$pathFileRighe = $root_path . "ordini_righe.csv";
$date = new \DateTime();
$stringa_data = $date->format("Y") . "_" . $date->format("m") . "_" . $date->format("d") . "_" . $date->format("H") . "_" . $date->format("i") . "_" . $date->format("s");
$pathFileTestateDebug = $debug_root_path . $stringa_data . "_ordini_testate.csv";
$pathFileRigheDebug = $debug_root_path . $stringa_data . "_ordini_righe.csv";
$testate = "id_ordine|riferimento_ordine|sconto_online|codice_cliente|riferimento_cliente|data_ordine|data_consegna|data_pagamento|riferimento_pagamento|destinazione_ragione_sociale|destinazione_indirizzo|destinazione_citta|destinazione_provincia|destinazione_cap|destinazione_nazione|spedizione|consegna|note_documento|utente_ragioneSociale|utente_indirizzo|utente_codiceFiscale|utente_partitaIva|utente_citta|utente_provincia|utente_cap|codice_sdi|indirizzo_pec|utente_stato|utente_telefono|utente_indirizzoMail|totale_netto|totale|pagato|totale_imposta|totale_spedizione|tot_altri_sconti|tot_altre_maggiorazioni|codice_destinazione|codice_agente|codice_esportazione_tipo_ordine|codice_modalita_pagamento|descrizione_modalita_pagamento|codice_modalita_spedizione|descrizione_modalita_spedizione|note_aziendali|codice_cliente_inserimento_ordine\n";
$righe = "id_ordine|macro_categoria|codice_marca|codice_prodotto|unita_misura|codice_aliquota|valore_aliquota|um_peso|peso_netto|peso_lordo|quantita|cat1_codice|cat2_codice|cat3_codice|cat4_codice|cat5_codice|codice_variante|netto_cad|lordo_cad|tot_riga_lordo|tot_riga|scontistica_non_presente|sconti|tot_imposta|nota_riga|descrizione_breve_articolo|nota_riga_aziendale|nome_articolo|descrizione_articolo|data_consegna_riga\n";
/** @var $item Ordini*/
foreach ($ordini as $item) {
$codiceCliente = '';
$codiceSpedizione = '';
$codiceConsegna = '';
//Dati azienda
$ragSoc = ''; $indirizzo = ''; $codiceFisc = ''; $partitaIVa = ''; $citta = ''; $provincia = ''; $cap = ''; $stato = ''; $telefono = ''; $indirizzoMail = ''; $sdi = ''; $pec = ''; $codiceDestinazione = ''; $codiceAgente = '';
//Destinazione
$destRagSoc = ''; $destIndirizzo = ''; $destCitta = ''; $destProvincia = ''; $destCap = ''; $destNazione = '';
if ($item->getAnagrafica()){
$codiceCliente = $item->getAnagrafica()->getCodice();
if ($item->getModalitaSpedizioneUtenteComune()){
$codiceConsegna = $item->getModalitaSpedizioneUtenteComune()->getCodiceEsportazionePorto();
$codiceSpedizione = $item->getModalitaSpedizioneUtenteComune()->getCodiceEsportazione();
}
if ($item->getAnagraficaIndirizzoDiverso()){
$destRagSoc = $item->getAnagraficaIndirizzoDiverso()->getRagioneSociale();
$destIndirizzo = $item->getAnagraficaIndirizzoDiverso()->getIndirizzo();
$destCitta = $item->getAnagraficaIndirizzoDiverso()->getCitta();
$destProvincia = $item->getAnagraficaIndirizzoDiverso()->getProvincia();
$destCap = $item->getAnagraficaIndirizzoDiverso()->getCap();
$destNazione = $item->getAnagraficaIndirizzoDiverso()->getNazione();
$codiceDestinazione = $item->getAnagraficaIndirizzoDiverso()->getTipoIndirizzo();
}
$ragSoc = $item->getAnagrafica()->getRagioneSociale();
$indirizzo = $item->getAnagrafica()->getIndirizzo();
$codiceFisc = $item->getAnagrafica()->getCodiceFiscale();
$partitaIVa = $item->getAnagrafica()->getPartitaIva();
$citta = $item->getAnagrafica()->getComune();
$provincia = $item->getAnagrafica()->getProvincia();
$cap = $item->getAnagrafica()->getCap();
$stato = $item->getAnagrafica()->getNazione();
$telefono = $item->getAnagrafica()->getTelefono();
$indirizzoMail = $item->getAnagrafica()->getIndirizziMail();
$codiceAgente = $item->getAnagrafica()->getCodiceAgente();
}else if ($item->getAzienda()){
$codiceCliente = $item->getAzienda()->getCodiceCliente();
if ($item->getAzienda()->getUtenteComune()){
if ($item->getModalitaSpedizioneUtenteComune()){
$codiceConsegna = $item->getModalitaSpedizioneUtenteComune()->getCodiceEsportazionePorto();
$codiceSpedizione = $item->getModalitaSpedizioneUtenteComune()->getCodiceEsportazione();
}
}else{
if ($item->getSpedizioneConsegna()){
if ($item->getSpedizioneConsegna()->getConsegna()){
$codiceConsegna = $item->getSpedizioneConsegna()->getConsegna()->getCodice();
}
if ($item->getSpedizioneConsegna()->getSpedizione()){
$codiceSpedizione = $item->getSpedizioneConsegna()->getSpedizione()->getCodice();
}
}
}
if ($item->getDestinazione()){
$destRagSoc = $item->getDestinazione()->getRagioneSociale();
$destIndirizzo = $item->getDestinazione()->getIndirizzo();
$destCitta = $item->getDestinazione()->getCitta();
$destProvincia = $item->getDestinazione()->getProvincia();
$destCap = $item->getDestinazione()->getCap();
$destNazione = $item->getDestinazione()->getStato();
$codiceDestinazione = $item->getDestinazione()->getCodiceGestionale();
}
$ragSoc = $item->getAzienda()->getRagioneSociale();
$indirizzo = $item->getAzienda()->getIndirizzo();
$codiceFisc = $item->getAzienda()->getCodiceFiscale();
$partitaIVa = $item->getAzienda()->getPartitaIva();
$citta = $item->getAzienda()->getCitta();
$provincia = $item->getAzienda()->getProvincia();
$cap = $item->getAzienda()->getCap();
$stato = $item->getAzienda()->getNazione();
$telefono = $item->getAzienda()->getTelefono();
$indirizzoMail = $item->getAzienda()->getIndirizzo();
$sdi = $item->getAzienda()->getCodiceDestinatarioFatturaElettronica();
$pec = $item->getAzienda()->getIndirizzoPec();
//Verifico se esiste l'anagrafica in base al codice cliente del cliente così da recuperare il codice agente
$esistenzaAnagrafica = $this->servizi->doctrine->getRepository(Anagrafiche::class)->findOneBy(array('codice' => $item->getAzienda()->getCodiceCliente()));
$codiceAgente = '';
if($esistenzaAnagrafica){
$codiceAgente = $esistenzaAnagrafica->getCodiceAgente();
}
}else {
$codiceCliente = $item->getUtente()->getCodiceCliente();
if ($item->getSpedizioneConsegna()){
if ($item->getSpedizioneConsegna()->getConsegna()){
$codiceConsegna = $item->getSpedizioneConsegna()->getConsegna()->getCodice();
}
if ($item->getSpedizioneConsegna()->getSpedizione()){
$codiceSpedizione = $item->getSpedizioneConsegna()->getSpedizione()->getCodice();
}
}else{
if ($item->getModalitaSpedizioneUtenteComune()){
$codiceConsegna = $item->getModalitaSpedizioneUtenteComune()->getCodiceEsportazionePorto();
$codiceSpedizione = $item->getModalitaSpedizioneUtenteComune()->getCodiceEsportazione();
}
}
if ($item->getDestinazione()){
$destRagSoc = $item->getDestinazione()->getRagioneSociale();
$destIndirizzo = $item->getDestinazione()->getIndirizzo();
$destCitta = $item->getDestinazione()->getCitta();
$destProvincia = $item->getDestinazione()->getProvincia();
$destCap = $item->getDestinazione()->getCap();
$destNazione = $item->getDestinazione()->getStato();
$codiceDestinazione = $item->getDestinazione()->getCodiceGestionale();
}
$ragSoc = $item->getUtente()->getRagioneSociale();
$indirizzo = $item->getUtente()->getIndirizzo();
$codiceFisc = $item->getUtente()->getCodiceFiscale();
$partitaIVa = $item->getUtente()->getPartitaIva();
$citta = $item->getUtente()->getCitta();
$provincia = $item->getUtente()->getProvincia();
$cap = $item->getUtente()->getCap();
$stato = $item->getUtente()->getNazione();
$telefono = $item->getUtente()->getTelefono();
$indirizzoMail = $item->getUtente()->getIndirizzo();
$sdi = $item->getUtente()->getCodiceDestinatarioFatturaElettronica();
$pec = $item->getUtente()->getIndirizzoPec();
$codiceAgente = '';
}
$codiceEsportazione = '';
if($item->getTipoOrdine()){
$codiceEsportazione = $item->getTipoOrdine()->getCodiceEsportazione() ? $item->getTipoOrdine()->getCodiceEsportazione() : '';
}else{
$codiceEsportazione = $item->getTipoOrdineCodiceEsportazione() ? $item->getTipoOrdineCodiceEsportazione() : '';
}
$codiceModalitaPagamento = "";
$descrizioneModalitaPagamento = "";
if($item->getModalitaPagamento()){
$codiceModalitaPagamento = $item->getModalitaPagamento()->getCodiceEsportazione();
$descrizioneModalitaPagamento = $item->getModalitaPagamento()->getNome();
}
$codiceModalitaSpedizione = "";
$descrizioneModalitaSpedizione = "";
if($item->getModalitaSpedizioneUtenteComune()){
$codiceModalitaSpedizione = $item->getModalitaSpedizioneUtenteComune()->getCodiceEsportazione();
$descrizioneModalitaSpedizione = $item->getModalitaSpedizioneUtenteComune()->getNome();
}
$testate = $testate . "\"" . $item->getId() . "\"" .
$separatore . "\"" . $item->getRiferimentoSistema() . "\"" .
$separatore . "\"" . $item->getExtraScontoOrdineOnline() . "\"" .
$separatore . "\"" . $codiceCliente . "\"" .
$separatore . "\" - " . $item->getRiferimentoCliente() . "\"" .
$separatore . "\"" . ($item->getDataOrdine() ? $item->getDataOrdine()->format('Y-m-d H:i:s') : '') . "\"" .
$separatore . "\"" . ($item->getDataConsegna() ? $item->getDataConsegna()->format('Y-m-d H:i:s') : '') . "\"" .
$separatore . "\"" . ($item->getDataPagamento() ? $item->getDataPagamento()->format('Y-m-d H:i:s') : '') . "\"" .
$separatore . "\"" . $item->getRiferimentoTransazione() . "\"" .
$separatore . "\"" . $destRagSoc . "\"" .
$separatore . "\"" . $destIndirizzo . "\"" .
$separatore . "\"" . $destCitta . "\"" .
$separatore . "\"" . $destProvincia . "\"" .
$separatore . "\"" . $destCap . "\"" .
$separatore . "\"" . $destNazione . "\"" .
$separatore . "\"" . $codiceSpedizione . "\"" .
$separatore . "\"" . $codiceConsegna . "\"" .
$separatore . "\"" . preg_replace("/\r\n|\r|\n/", "\x", $item->getNote()) . "\"" .
$separatore . "\"" . $ragSoc . "\"" .
$separatore . "\"" . $indirizzo . "\"" .
$separatore . "\"" . $codiceFisc . "\"" .
$separatore . "\"" . $partitaIVa . "\"" .
$separatore . "\"" . $citta . "\"" .
$separatore . "\"" . $provincia . "\"" .
$separatore . "\"" . $cap . "\"" .
$separatore . "\"" . $sdi . "\"" .
$separatore . "\"" . $pec . "\"" .
$separatore . "\"" . $stato . "\"" .
$separatore . "\"" . $telefono . "\"" .
$separatore . "\"" . $indirizzoMail . "\"" .
$separatore . "\"" . ($item->getTotaleNetto() ? $item->getTotaleNetto() : "0.00") . "\"" .
$separatore . "\"" . ($item->getTotale() ? $item->getTotale() : "0.00") . "\"" .
$separatore . "\"" . ($item->getPagato() ? '1' : "0") . "\"" .
$separatore . "\"" . ($item->getTotaleImposta() ? $item->getTotaleImposta() : "0.00") . "\"" .
$separatore . "\"" . ($item->getTotaleSpedizione() ? $item->getTotaleSpedizione() : "0.00") . "\"" .
$separatore . "\"" . (($item->getTotaleAltriSconti() ? $item->getTotaleAltriSconti() : 0) + ($item->getTotaleScontoCoupon() ? $item->getTotaleScontoCoupon() : 0)) . "\"" .
$separatore . "\"" . ($item->getTotaleAltreMaggiorazioni() ? $item->getTotaleAltreMaggiorazioni() : "0.00") . "\"" .
$separatore . "\"" . $codiceDestinazione . "\"" .
$separatore . "\"" . $codiceAgente . "\"" .
$separatore . "\"" . $codiceEsportazione . "\"" .
$separatore . "\"" . $codiceModalitaPagamento . "\"" .
$separatore . "\"" . $descrizioneModalitaPagamento . "\"" .
$separatore . "\"" . $codiceModalitaSpedizione . "\"" .
$separatore . "\"" . $descrizioneModalitaSpedizione . "\"" .
$separatore . "\"" . preg_replace("/\r\n|\r|\n/", "\x", $item->getNoteAziendali()) . "\"" .
$separatore . "\"" . ($item->getAgente() ? $item->getAgente()->getCodiceCliente() : ($item->getAzienda() ? $item->getAzienda()->getCodiceCliente() : '')) . "\"" .
"\n";
/** @var $riga OrdiniRighe */
foreach ($item->getRighe() as $riga) {
$datiRiga = RigheOrdineEsportare::CreaDaRigaOrdine($riga);
$righe = $righe . "\"" . $datiRiga->idOrdine . "\"" .
$separatore . "\"" . $datiRiga->macroCategoria . "\"" .
$separatore . "\"" . $datiRiga->marca. "\"" .
$separatore . "\"" . $datiRiga->codiceArticolo . "\"" .
$separatore . "\"" . $datiRiga->codiceUm . "\"" .
$separatore . "\"" . $datiRiga->codiceAliquota . "\"" .
$separatore . "\"" . $datiRiga->valoreAliquota . "\"" .
$separatore . "\"" . $datiRiga->codiceUmPeso . "\"" .
$separatore . "\"" . $datiRiga->pesoNetto . "\"" .
$separatore . "\"" . $datiRiga->pesoLordo . "\"" .
$separatore . "\"" . $datiRiga->qta . "\"" .
$separatore . "\"" . $datiRiga->codCat1 . "\"" .
$separatore . "\"" . $datiRiga->codCat2 . "\"" .
$separatore . "\"" . $datiRiga->codCat3 . "\"" .
$separatore . "\"" . $datiRiga->codCat4 . "\"" .
$separatore . "\"" . $datiRiga->codCat5 . "\"" .
$separatore . "\"" . $datiRiga->codiceVariante . "\"" .
$separatore . "\"" . $datiRiga->nettoCad . "\"" .
$separatore . "\"" . $datiRiga->lordoCad . "\"" .
$separatore . "\"" . $datiRiga->totaleRigaLordo . "\"" .
$separatore . "\"" . $datiRiga->totaleRigaNetto . "\"" .
$separatore . "\"" . $datiRiga->scontisticaNonPresente . "\"" .
$separatore . "\"" . ($esportaSoloScontiValidi ? $this->servizi->pulisciStringaScontiEMantieniSoloQuelliValidi($datiRiga->sconti) : $datiRiga->sconti) . "\"" .
$separatore . "\"" . $datiRiga->totaleImposta . "\"" .
$separatore . "\"" . $datiRiga->nota . "\"" .
$separatore . "\"" . $datiRiga->descrizioneBreveArticolo . "\"" .
$separatore . "\"" . $datiRiga->notaAzienda . "\"" .
$separatore . "\"" . $datiRiga->nomeArticolo . "\"" .
$separatore . "\"" . $datiRiga->descrizioneArticolo . "\"" .
$separatore . "\"" . $datiRiga->dataConsegnaRiga . "\"" .
"\n";
}
$this->ScriviRegistroAttivita($em, $request->getClientIp(), "", true, 'Ordine ' . $item->getRiferimentoSistema() . ' esportato con successo', null);
$item->setEsportato(true);
$em->persist($item);
try {
if ($inviaMail) {
$listaMailSecondarie = $this->servizi->doctrine->getRepository(MailSecondarieUtenti::class)->findBy(array('azienda' => $item->getAzienda(), 'inviaConfermaOrdine' => true));
$stringCC = array();
foreach ($listaMailSecondarie as $ms)
{
array_push($stringCC, $ms->getIndirizzoMail());
}
$translator = $this->translating;
$translator->CaricaTraduzioniDaFamiglia('mail_ordine', $request->getLocale());
$header1 = $translator->OttieniElementoDizionario("mail_ordine_registrato_header_uno", "mail_ordine")->valoreUscita;
$header2 = $translator->OttieniElementoDizionario("mail_ordine_registrato_header_due", "mail_ordine")->valoreUscita;
$this->mailer->SendMail(
$header1 . $item->getRiferimentoSistema() . " - " . $item->getRiferimentoCliente() . $header2 . $nomeShop,
$this->renderView(
'email/ordini/ordine_esportato.html.twig',
array(
'ordine' => $item,
'utente' => $item->getAzienda(),
)
),
$item->getAzienda()->getEmail(),
$stringCC,
$from
);
}
}catch (\Exception $e){
$this->logger->critical("Errore invio mail: " . $e->getMessage());
$this->ScriviRegistroAttivita($em, $request->getClientIp(), $e, true, 'Errore invio mail conferma esportazione Ordine ' . $item->getRiferimentoSistema() . ' all\'indirizzo ' . $item->getAzienda()->getEmail() . " --- Errore: " . $e->getMessage(), null);
}
}
$csv_handler = fopen($pathFileTestate, "w");
fwrite($csv_handler, $testate);
fclose($csv_handler);
$csv_handler = fopen($pathFileRighe, "w");
fwrite($csv_handler, $righe);
fclose($csv_handler);
if (true)
{
$csv_handler = fopen($pathFileTestateDebug, "w");
fwrite($csv_handler, $testate);
fclose($csv_handler);
$csv_handler = fopen($pathFileRigheDebug, "w");
fwrite($csv_handler, $righe);
fclose($csv_handler);
}
$em->flush();
$this->ScriviRegistroAttivita(null, $request->getClientIp(), "", true, 'Esportazione completata in ' . $time_elapsed_secs = microtime(true) - $start . ' seconds</br>', null);
return new Response('Esportazione completata in ' . $time_elapsed_secs = microtime(true) - $start . ' seconds</br>Salvato in:</br>' . $pathFileTestate . '</br>' . $pathFileRighe);
}catch (\Exception $ex)
{
$this->ScriviRegistroAttivita(null, $request->getClientIp(), '', true, 'Errore esportazione ordini: ' . $ex->getMessage(), null);
return new Response('Errore esportazione ordini: ' . $ex->getMessage());
}
}
else {
$this->ScriviRegistroAttivita(null, $request->getClientIp(), "", false, 'Errore esportazione: ERRORE_PERMESSO', null);
return new Response("ERRORE PERMESSO");
}
}
/**
* @Route("/esportaNoteAnagrafiche", name="esporta_note_anagrafiche")
*/
public function esportaNoteAnagrafiche(Request $request)
{
if ($this->servizi->verificaSeIpAutorizzatoChiamateImportExport($request->getClientIp())) {
$this->imp->caricaCacheImpostazioniDaNomi(array('IndirizzoMailFromInvioComunicazioni', 'NomeShop', 'PathFileBaseScambioDati', 'MailCCRelazioniAgenti', 'InviaMailAgentiRelazioni'));
$from = $this->imp->ritornaImpostazioneDaNome("IndirizzoMailFromInvioComunicazioni");
$nomeShop = $this->imp->ritornaImpostazioneDaNome("NomeShop");
ini_set('max_execution_time', 900);
ini_set('memory_limit', -1);
$start = microtime(true);
$pathFileBase = $this->imp->ritornaImpostazioneDaNome('PathFileBaseScambioDati');
if (!$this->endsWith($pathFileBase, DIRECTORY_SEPARATOR))
$pathFileBase .= DIRECTORY_SEPARATOR;
$pathFileBase .= ('OUT' . DIRECTORY_SEPARATOR);
$this->servizi->doctrine->getConnection()->getConfiguration()->setSQLLogger(null);
$em = $this->servizi->doctrine->getManager();
$separatore = "|";
$this->ScriviRegistroAttivita($em, $request->getClientIp(), "", true, 'Chiamata effettuata a /esportaNoteAnagrafiche', $this->servizi->OttieniUtenteCorrente());
$esportazioneDiSistema = $this->servizi->doctrine->getRepository(EsportazioniDiSistema::class)->findOneBy(array('tipo' => 'noteAnagrafiche', 'attivo' => true));
if($esportazioneDiSistema){
$this->ScriviRegistroAttivita($em, $request->getClientIp(), '', true, 'Rilevata Esportazione di sistema: ' . $esportazioneDiSistema->getId() . '-' . $esportazioneDiSistema->getNome(), $this->servizi->OttieniUtenteCorrente());
$eseguiEsportazioneDiSistema = new EseguiEsportazioneDiSistema($this->servizi, $esportazioneDiSistema, $request->getLocale(), $this->logger);
$eseguiEsportazioneDiSistema->Avvia(true);
$this->ScriviRegistroAttivita(null, $request->getClientIp(), "", true, 'Esportazione completata in ' . $time_elapsed_secs = microtime(true) - $start . ' seconds</br>', null);
return new Response('Esportazione completata in ' . $time_elapsed_secs = microtime(true) - $start . ' seconds</br>');
}
try {
$root_path = $pathFileBase . "export" . DIRECTORY_SEPARATOR;
/** @var $elenco ModificaNoteAnagrafiche[] */
$elenco = $this->servizi->doctrine->getRepository(ModificaNoteAnagrafiche::class)->createQueryBuilder('modifica_note_anagrafiche')
->where('modifica_note_anagrafiche.invia = :invia')->setParameter('invia', true)
->andWhere('modifica_note_anagrafiche.trasmesso = :tras')->setParameter('tras', false)
->orderBy('modifica_note_anagrafiche.anagrafica')
->getQuery()->getResult();
/** @var $elencoDaInviare ModificaNoteAnagrafiche[]*/
$elencoDaInviare = array();
$pathFile = $root_path . "note_anagrafiche.csv";
$date = new \DateTime();
$index = 0;
$contenuto = "identificativo_portale|codice_anagrafica|utente|data|data_inserimento|oggetto|testo\n";
/** @var $item ModificaNoteAnagrafiche*/
foreach ($elenco as $item) {
try{
$contenuto .= "\"" . $item->getId() . "\"" .
$separatore . "\"" . ($item->getAnagrafica() ? $item->getAnagrafica()->getCodice() : '') . "\"" .
$separatore . "\"" . ($item->getUtente() ? $item->getUtente()->getRagioneSociale() : '') . "\"" .
$separatore . "\"" . ($item->getData() ? $item->getData()->format('Y-m-d H:i:s') : '') . "\"" .
$separatore . "\"" . ($item->getDataInserimento() ? $item->getDataInserimento()->format('Y-m-d H:i:s') : '') . "\"" .
$separatore . "\"" . $item->getOggetto() . "\"" .
$separatore . "\"" . $item->getTesto() . "\""
. "\n";
$item->setTrasmesso(true);
$item->setDataTrasmissione(new \DateTime());
$em->persist($item);
array_push($elencoDaInviare, $item);
$index++;
}catch (\Exception $e){
$this->servizi->DebuggaException($e, "Errore esporta note anagrafiche riga: " . $index . " - ID: " . $item->getId());
}
}
$csv_handler = fopen($pathFile, "w");
fwrite($csv_handler, $contenuto);
fclose($csv_handler);
$em->flush();
$mailCCAgenti = $this->imp->ritornaImpostazioneDaNome('MailCCRelazioniAgenti');
$esploso = array();
$esploso = explode(";", $mailCCAgenti);
if (!$esploso)
$esploso = array();
if (count($esploso) == 0)
array_push($esploso, $mailCCAgenti);
$inviaMailAgentiRelazioni = $this->imp->ritornaImpostazioneDaNome('InviaMailAgentiRelazioni');
$this->mailer->SendMail(
"Relazioni agenti - " . $nomeShop,
$this->renderView(
'email/relazioni_agenti/relazione_agenti.html.twig',
array(
'lista_relazioni' => $elencoDaInviare,
)
),
$from,
$esploso,
$from,
'text/html'
);
if ($inviaMailAgentiRelazioni == '1'){
//Verifico se c'è impostate questa impostazione e se vero itero sugli agenti e sulle relazioni da inviare
$agenti = $this->servizi->doctrine->getRepository(User::class)->findBy(array('agente' => true));
foreach ($agenti as $ag){
$cdAgenti = $this->servizi->ritornaArrayCodiciAssociatiAgenteFornitoreUtente($ag);
$arraySecondarioDaInviare = array();
foreach ($elencoDaInviare as $inv){
if($inv->getAnagrafica() && in_array($inv->getAnagrafica()->getCodiceAgente(), $cdAgenti))
array_push($arraySecondarioDaInviare, $inv);
}
$this->mailer->SendMail(
"Relazioni agenti - " . $nomeShop,
$this->renderView(
'email/relazioni_agenti/relazione_agenti.html.twig',
array(
'lista_relazioni' => $arraySecondarioDaInviare,
)
),
$ag->getEmail(),
array(),
$from,
'text/html'
);
}
}
$this->ScriviRegistroAttivita(null, $request->getClientIp(), "", true, 'Esportazione completata in ' . $time_elapsed_secs = microtime(true) - $start . ' seconds</br>', null);
return new Response('Esportazione completata in ' . $time_elapsed_secs = microtime(true) - $start . ' seconds</br>');
}catch (\Exception $ex)
{
$this->ScriviRegistroAttivita(null, $request->getClientIp(), '', true, 'Errore esportazione note anagrafiche: ' . $ex->getMessage(), null);
return new Response('Errore esportazione ordini: ' . $ex->getMessage());
}
}
else {
$this->ScriviRegistroAttivita(null, $request->getClientIp(), "", false, 'Errore esportazione: ERRORE_PERMESSO', null);
return new Response("ERRORE PERMESSO");
}
}
/**
* @Route("/esportaOfferte/{data}", name="esporta_offerte", defaults={"data" = ""})
*/
public function esportaOfferte(Request $request, $data)
{
if ($this->servizi->verificaSeIpAutorizzatoChiamateImportExport($request->getClientIp())) {
ini_set('max_execution_time', 900);
ini_set('memory_limit', -1);
$start = microtime(true);
$pathFileBase = $this->imp->ritornaImpostazioneDaNome('PathFileBaseScambioDati');
if (!$this->endsWith($pathFileBase, DIRECTORY_SEPARATOR))
$pathFileBase .= DIRECTORY_SEPARATOR;
$pathFileBase .= ('OUT' . DIRECTORY_SEPARATOR);
$this->servizi->doctrine->getConnection()->getConfiguration()->setSQLLogger(null);
$em = $this->servizi->doctrine->getManager();
$separatore = "|";
$this->ScriviRegistroAttivita($em, $request->getClientIp(), "", true, 'Chiamata effettuata a /esportaOfferte', $this->servizi->OttieniUtenteCorrente());
$esportazioneDiSistema = $this->servizi->doctrine->getRepository(EsportazioniDiSistema::class)->findOneBy(array('tipo' => 'offerte', 'attivo' => true));
if($esportazioneDiSistema){
$this->ScriviRegistroAttivita($em, $request->getClientIp(), '', true, 'Rilevata Esportazione di sistema: ' . $esportazioneDiSistema->getId() . '-' . $esportazioneDiSistema->getNome(), $this->servizi->OttieniUtenteCorrente());
$eseguiEsportazioneDiSistema = new EseguiEsportazioneDiSistema($this->servizi, $esportazioneDiSistema, $request->getLocale(), $this->logger);
$eseguiEsportazioneDiSistema->Avvia(true);
$this->ScriviRegistroAttivita(null, $request->getClientIp(), "", true, 'Esportazione completata in ' . $time_elapsed_secs = microtime(true) - $start . ' seconds</br>', null);
return new Response('Esportazione completata in ' . $time_elapsed_secs = microtime(true) - $start . ' seconds</br>');
}
try {
$root_path = $pathFileBase . "export" . DIRECTORY_SEPARATOR;
$dataIndicata = null;
if($data && $data != ''){
$dataIndicata = \DateTime::createFromFormat("Y-m-d H:i:s", $data);
}
$qb = $this->servizi->doctrine->getRepository(Offerte::class)->createQueryBuilder('offerte');
if($dataIndicata)
$qb = $qb->andWhere('offerte.dataModifica > :dt')->setParameter('dt', $dataIndicata);
$qb = $qb->getQuery();
/** @var $elenco Offerte[]*/
$elenco = $qb->getResult();
$pathFile = $root_path . "offerte.csv";
/*
* 0 documento
1 numero
2 anno
3 codice_cliente
4 ragione_sociale
5 descrizione_breve
6 descrizione_lunga
7 data_documento
8 data_creazione
9 data_modifica
10 importo
11 stato
12 data_eliminazione
13 moneta
14 importante
15 path_pdf_originale
*/
$index = 0;
$contenuto = "documento|numero|anno|codice_cliente|ragione_sociale|descrizione_breve|descrizione_lunga|data_documento|data_creazione|data_modifica|importo|stato|data_eliminazione|moneta|importante|path_pdf_originale\n";
/** @var $item Offerte*/
foreach ($elenco as $item) {
try{
$contenuto .= "\"" . ($item->getDocumento() ? $item->getDocumento() : '') . "\"" .
$separatore . "\"" . ($item->getNumero() ? $item->getNumero() : '') . "\"" .
$separatore . "\"" . ($item->getAnno() ? $item->getAnno() : '') . "\"" .
$separatore . "\"" . ($item->getCodiceCliente() ? $item->getCodiceCliente() : '') . "\"" .
$separatore . "\"" . ($item->getRagioneSociale() ? $item->getRagioneSociale() : '') . "\"" .
$separatore . "\"" . ($item->getDescrizioneBreve() ? $item->getDescrizioneBreve() : '') . "\"" .
$separatore . "\"" . ($item->getDescrizioneLunga() ? $item->getDescrizioneLunga() : '') . "\"" .
$separatore . "\"" . ($item->getDataDocumento() ? $item->getDataDocumento()->format('Y-m-d H:i:s') : '') . "\"" .
$separatore . "\"" . ($item->getDataCreazione() ? $item->getDataCreazione()->format('Y-m-d H:i:s') : '') . "\"" .
$separatore . "\"" . ($item->getDataModifica() ? $item->getDataModifica()->format('Y-m-d H:i:s') : '') . "\"" .
$separatore . "\"" . ($item->getImporto() ? $item->getImporto() : '') . "\"" .
$separatore . "\"" . ($item->getStato() ? $item->getStato() : '') . "\"" .
$separatore . "\"" . ($item->getDataEliminazione() ? $item->getDataEliminazione()->format('Y-m-d H:i:s') : '') . "\"" .
$separatore . "\"" . ($item->getImportante() ? '1' : '0') . "\"" .
$separatore . "\"" . ($item->getPathPdfOriginale() ? $item->getPathPdfOriginale() : '') . "\""
. "\n";
$index++;
}catch (\Exception $e){
$this->servizi->DebuggaException($e, "Errore esporta offerte -- Riga: " . $index . " - ID: " . $item->getId());
}
}
$csv_handler = fopen($pathFile, "w");
fwrite($csv_handler, $contenuto);
fclose($csv_handler);
$this->ScriviRegistroAttivita(null, $request->getClientIp(), "", true, 'Esportazione completata in ' . $time_elapsed_secs = microtime(true) - $start . ' seconds</br>', null);
return new Response('Esportazione completata in ' . $time_elapsed_secs = microtime(true) - $start . ' seconds</br>');
}catch (\Exception $ex)
{
$this->ScriviRegistroAttivita(null, $request->getClientIp(), '', true, 'Errore esportazione offerte: ' . $ex->getMessage(), null);
return new Response('Errore esportazione offerte: ' . $ex->getMessage());
}
}
else {
$this->ScriviRegistroAttivita(null, $request->getClientIp(), "", false, 'Errore esportazione: ERRORE_PERMESSO', null);
return new Response("ERRORE PERMESSO");
}
}
/**
* @Route("/esportaOfferteRighe/{data}", name="esporta_offerte_righe", defaults={"data" = ""})
*/
public function esportaOfferteRighe(Request $request, $data)
{
if ($this->servizi->verificaSeIpAutorizzatoChiamateImportExport($request->getClientIp())) {
ini_set('max_execution_time', 900);
ini_set('memory_limit', -1);
$start = microtime(true);
$pathFileBase = $this->imp->ritornaImpostazioneDaNome('PathFileBaseScambioDati');
if (!$this->endsWith($pathFileBase, DIRECTORY_SEPARATOR))
$pathFileBase .= DIRECTORY_SEPARATOR;
$pathFileBase .= ('OUT' . DIRECTORY_SEPARATOR);
$this->servizi->doctrine->getConnection()->getConfiguration()->setSQLLogger(null);
$em = $this->servizi->doctrine->getManager();
$separatore = "|";
$this->ScriviRegistroAttivita($em, $request->getClientIp(), "", true, 'Chiamata effettuata a /esportaOfferteRighe', $this->servizi->OttieniUtenteCorrente());
$esportazioneDiSistema = $this->servizi->doctrine->getRepository(EsportazioniDiSistema::class)->findOneBy(array('tipo' => 'offerteRighe', 'attivo' => true));
if($esportazioneDiSistema){
$this->ScriviRegistroAttivita($em, $request->getClientIp(), '', true, 'Rilevata Esportazione di sistema: ' . $esportazioneDiSistema->getId() . '-' . $esportazioneDiSistema->getNome(), $this->servizi->OttieniUtenteCorrente());
$eseguiEsportazioneDiSistema = new EseguiEsportazioneDiSistema($this->servizi, $esportazioneDiSistema, $request->getLocale(), $this->logger);
$eseguiEsportazioneDiSistema->Avvia(true);
$this->ScriviRegistroAttivita(null, $request->getClientIp(), "", true, 'Esportazione completata in ' . $time_elapsed_secs = microtime(true) - $start . ' seconds</br>', null);
return new Response('Esportazione completata in ' . $time_elapsed_secs = microtime(true) - $start . ' seconds</br>');
}
try {
$root_path = $pathFileBase . "export" . DIRECTORY_SEPARATOR;
$dataIndicata = null;
if($data && $data != ''){
$dataIndicata = \DateTime::createFromFormat("Y-m-d H:i:s", $data);
}
$qb = $this->servizi->doctrine->getRepository(OfferteRighe::class)->createQueryBuilder('offerte_righe');
if($dataIndicata)
$qb = $qb->andWhere('offerte_righe.dataModifica > :dt')->setParameter('dt', $dataIndicata);
$qb = $qb->getQuery();
/** @var $elenco OfferteRighe[]*/
$elenco = $qb->getResult();
$pathFile = $root_path . "offerte_righe.csv";
/*
0 documento
1 numero
2 anno
3 macro_categoria
4 codice_articolo
5 descrizione_articolo
6 descrizione_articolo_secondaria
7 marca
8 um
9 stringa_sconti
10 qta
11 nota_riga
12 netto_cad
13 lordo_cad
14 netto_totale
15 lordo_totale
16 imposta
17 imponibile
18 data_creazione
19 data_modifica
20 numero_riga
*/
$index = 0;
$contenuto = "documento|numero|anno|macro_categoria|codice_articolo|descrizione_articolo|descrizione_articolo_secondaria|marca|um|stringa_sconti|qta|nota_riga|netto_cad|lordo_cad|netto_totale|lordo_totale|imposta|imponibile|data_creazione|data_modifica|numero_riga\n";
/** @var $item OfferteRighe */
foreach ($elenco as $item) {
try{
$contenuto .= "\"" . ($item->getOfferta() ? $item->getOfferta()->getDocumento() : '') . "\"" .
$separatore . "\"" . ($item->getOfferta() ? $item->getOfferta()->getNumero() : '') . "\"" .
$separatore . "\"" . ($item->getOfferta() ? $item->getOfferta()->getAnno() : '') . "\"" .
$separatore . "\"" . ($item->getMacroCategoria() ? $item->getMacroCategoria() : '') . "\"" .
$separatore . "\"" . ($item->getCodiceArticolo() ? $item->getCodiceArticolo() : '') . "\"" .
$separatore . "\"" . ($item->getDescrizioneArticolo() ? $item->getDescrizioneArticolo() : '') . "\"" .
$separatore . "\"" . ($item->getDescrizioneSecondariaArticolo() ? $item->getDescrizioneSecondariaArticolo() : '') . "\"" .
$separatore . "\"" . ($item->getMarca() ? $item->getMarca() : '') . "\"" .
$separatore . "\"" . ($item->getUm() ? $item->getUm() : '') . "\"" .
$separatore . "\"" . ($item->getStringaSconti() ? $item->getStringaSconti() : '') . "\"" .
$separatore . "\"" . ($item->getQta() ? $item->getQta() : '') . "\"" .
$separatore . "\"" . ($item->getNotaRiga() ? $item->getNotaRiga() : '') . "\"" .
$separatore . "\"" . ($item->getNettoCad() ? $item->getNettoCad() : '') . "\"" .
$separatore . "\"" . ($item->getLordoCad() ? $item->getLordoCad() : '') . "\"" .
$separatore . "\"" . ($item->getNettoTotale() ? $item->getNettoTotale() : '') . "\"" .
$separatore . "\"" . ($item->getLordoTotale() ? $item->getLordoTotale() : '') . "\"" .
$separatore . "\"" . ($item->getImposta() ? $item->getImposta() : '') . "\"" .
$separatore . "\"" . ($item->getImponibile() ? $item->getImponibile() : '') . "\"" .
$separatore . "\"" . ($item->getDataCreazione() ? $item->getDataCreazione()->format('Y-m-d H:i:s') : '') . "\"" .
$separatore . "\"" . ($item->getDataModifica() ? $item->getDataModifica()->format('Y-m-d H:i:s') : '') . "\"" .
$separatore . "\"" . ($item->getNumeroRiga() ? $item->getNumeroRiga() : '') . "\""
. "\n";
$index++;
}catch (\Exception $e){
$this->servizi->DebuggaException($e, "Errore esporta offerte righe -- Riga: " . $index . " - ID: " . $item->getId());
}
}
$csv_handler = fopen($pathFile, "w");
fwrite($csv_handler, $contenuto);
fclose($csv_handler);
$this->ScriviRegistroAttivita(null, $request->getClientIp(), "", true, 'Esportazione completata in ' . $time_elapsed_secs = microtime(true) - $start . ' seconds</br>', null);
return new Response('Esportazione completata in ' . $time_elapsed_secs = microtime(true) - $start . ' seconds</br>');
}catch (\Exception $ex)
{
$this->ScriviRegistroAttivita(null, $request->getClientIp(), '', true, 'Errore esportazione offerte righe: ' . $ex->getMessage(), null);
return new Response('Errore esportazione offerte righe: ' . $ex->getMessage());
}
}
else {
$this->ScriviRegistroAttivita(null, $request->getClientIp(), "", false, 'Errore esportazione: ERRORE_PERMESSO', null);
return new Response("ERRORE PERMESSO");
}
}
/**
* @Route("/esportaOfferteRegistroEventi/{data}", name="esporta_offerte_registro_eventi", defaults={"data" = ""})
*/
public function esportaOfferteRegistroEventi(Request $request, $data)
{
if ($this->servizi->verificaSeIpAutorizzatoChiamateImportExport($request->getClientIp())) {
ini_set('max_execution_time', 900);
ini_set('memory_limit', -1);
$start = microtime(true);
$pathFileBase = $this->imp->ritornaImpostazioneDaNome('PathFileBaseScambioDati');
if (!$this->endsWith($pathFileBase, DIRECTORY_SEPARATOR))
$pathFileBase .= DIRECTORY_SEPARATOR;
$pathFileBase .= ('OUT' . DIRECTORY_SEPARATOR);
$this->servizi->doctrine->getConnection()->getConfiguration()->setSQLLogger(null);
$em = $this->servizi->doctrine->getManager();
$separatore = "|";
$this->ScriviRegistroAttivita($em, $request->getClientIp(), "", true, 'Chiamata effettuata a /esportaOfferteRegistroEventi', $this->servizi->OttieniUtenteCorrente());
$esportazioneDiSistema = $this->servizi->doctrine->getRepository(EsportazioniDiSistema::class)->findOneBy(array('tipo' => 'offerteRegistroEventi', 'attivo' => true));
if($esportazioneDiSistema){
$this->ScriviRegistroAttivita($em, $request->getClientIp(), '', true, 'Rilevata Esportazione di sistema: ' . $esportazioneDiSistema->getId() . '-' . $esportazioneDiSistema->getNome(), $this->servizi->OttieniUtenteCorrente());
$eseguiEsportazioneDiSistema = new EseguiEsportazioneDiSistema($this->servizi, $esportazioneDiSistema, $request->getLocale(), $this->logger);
$eseguiEsportazioneDiSistema->Avvia(true);
$this->ScriviRegistroAttivita(null, $request->getClientIp(), "", true, 'Esportazione completata in ' . $time_elapsed_secs = microtime(true) - $start . ' seconds</br>', null);
return new Response('Esportazione completata in ' . $time_elapsed_secs = microtime(true) - $start . ' seconds</br>');
}
try {
$root_path = $pathFileBase . "export" . DIRECTORY_SEPARATOR;
$dataIndicata = null;
if($data && $data != ''){
$dataIndicata = \DateTime::createFromFormat("Y-m-d H:i:s", $data);
}
$qb = $this->servizi->doctrine->getRepository(OfferteRegistroEventi::class)->createQueryBuilder('offerte_registro_eventi');
if($dataIndicata)
$qb = $qb->andWhere('offerte_registro_eventi.dataModifica > :dt')->setParameter('dt', $dataIndicata);
$qb = $qb->getQuery();
/** @var $elenco OfferteRegistroEventi[]*/
$elenco = $qb->getResult();
$pathFile = $root_path . "offerte_registro_eventi.csv";
/*
0 documento
1 numero
2 anno
3 titolo
4 descrizione
5 data_creazione
6 data_modifica
7 identificativo
*/
$index = 0;
$contenuto = "documento|numero|anno|titolo|descrizione|data_creazione|data_modifica|identificativo\n";
/** @var $item OfferteRegistroEventi */
foreach ($elenco as $item) {
try{
$contenuto .= "\"" . ($item->getOfferta() ? $item->getOfferta()->getDocumento() : '') . "\"" .
$separatore . "\"" . ($item->getOfferta() ? $item->getOfferta()->getNumero() : '') . "\"" .
$separatore . "\"" . ($item->getOfferta() ? $item->getOfferta()->getAnno() : '') . "\"" .
$separatore . "\"" . ($item->getTitolo() ? $item->getTitolo() : '') . "\"" .
$separatore . "\"" . ($item->getDescrizione() ? $item->getDescrizione() : '') . "\"" .
$separatore . "\"" . ($item->getDataCreazione() ? $item->getDataCreazione()->format('Y-m-d H:i:s') : '') . "\"" .
$separatore . "\"" . ($item->getDataModifica() ? $item->getDataModifica()->format('Y-m-d H:i:s') : '') . "\"" .
$separatore . "\"" . ($item->getIdentificativo() ? $item->getIdentificativo() : '') . "\""
. "\n";
$index++;
}catch (\Exception $e){
$this->servizi->DebuggaException($e, "Errore esporta offerte registro eventi -- Riga: " . $index . " - ID: " . $item->getId());
}
}
$csv_handler = fopen($pathFile, "w");
fwrite($csv_handler, $contenuto);
fclose($csv_handler);
$this->ScriviRegistroAttivita(null, $request->getClientIp(), "", true, 'Esportazione completata in ' . $time_elapsed_secs = microtime(true) - $start . ' seconds</br>', null);
return new Response('Esportazione completata in ' . $time_elapsed_secs = microtime(true) - $start . ' seconds</br>');
}catch (\Exception $ex)
{
$this->ScriviRegistroAttivita(null, $request->getClientIp(), '', true, 'Errore esportazione offerte registro eventi: ' . $ex->getMessage(), null);
return new Response('Errore esportazione offerte registro eventi: ' . $ex->getMessage());
}
}
else {
$this->ScriviRegistroAttivita(null, $request->getClientIp(), "", false, 'Errore esportazione: ERRORE_PERMESSO', null);
return new Response("ERRORE PERMESSO");
}
}
/**
* @Route("/esportaOfferteAllegati/{data}", name="esporta_offerte_allegati", defaults={"data" = ""})
*/
public function esportaOfferteAllegati(Request $request, $data)
{
if ($this->servizi->verificaSeIpAutorizzatoChiamateImportExport($request->getClientIp())) {
ini_set('max_execution_time', 900);
ini_set('memory_limit', -1);
$start = microtime(true);
$pathFileBase = $this->imp->ritornaImpostazioneDaNome('PathFileBaseScambioDati');
if (!$this->endsWith($pathFileBase, DIRECTORY_SEPARATOR))
$pathFileBase .= DIRECTORY_SEPARATOR;
$pathFileBase .= ('OUT' . DIRECTORY_SEPARATOR);
$this->servizi->doctrine->getConnection()->getConfiguration()->setSQLLogger(null);
$em = $this->servizi->doctrine->getManager();
$separatore = "|";
$this->ScriviRegistroAttivita($em, $request->getClientIp(), "", true, 'Chiamata effettuata a /esportaOfferteAllegati', $this->servizi->OttieniUtenteCorrente());
$esportazioneDiSistema = $this->servizi->doctrine->getRepository(EsportazioniDiSistema::class)->findOneBy(array('tipo' => 'offerteAllegati', 'attivo' => true));
if($esportazioneDiSistema){
$this->ScriviRegistroAttivita($em, $request->getClientIp(), '', true, 'Rilevata Esportazione di sistema: ' . $esportazioneDiSistema->getId() . '-' . $esportazioneDiSistema->getNome(), $this->servizi->OttieniUtenteCorrente());
$eseguiEsportazioneDiSistema = new EseguiEsportazioneDiSistema($this->servizi, $esportazioneDiSistema, $request->getLocale(), $this->logger);
$eseguiEsportazioneDiSistema->Avvia(true);
$this->ScriviRegistroAttivita(null, $request->getClientIp(), "", true, 'Esportazione completata in ' . $time_elapsed_secs = microtime(true) - $start . ' seconds</br>', null);
return new Response('Esportazione completata in ' . $time_elapsed_secs = microtime(true) - $start . ' seconds</br>');
}
try {
$root_path = $pathFileBase . "export" . DIRECTORY_SEPARATOR;
$pathDepositoFile = $pathFileBase . 'offerte_allegati' . DIRECTORY_SEPARATOR;
if(!file_exists($pathDepositoFile)){
mkdir($pathDepositoFile, 0777, true);
}
$dataIndicata = null;
if($data && $data != ''){
$dataIndicata = \DateTime::createFromFormat("Y-m-d H:i:s", $data);
}
$qb = $this->servizi->doctrine->getRepository(OfferteAllegati::class)->createQueryBuilder('offerte_allegati');
if($dataIndicata)
$qb = $qb->andWhere('offerte_allegati.dataCaricamento > :dt')->setParameter('dt', $dataIndicata);
$qb = $qb->getQuery();
/** @var $elenco OfferteRegistroEventi[]*/
$elenco = $qb->getResult();
$pathFile = $root_path . "offerte_registro_eventi.csv";
/*
0 documento
1 numero
2 anno
3 nome
4 tipo_file
5 data_caricamento
6 identificativo
7 path_file_esportato
*/
$index = 0;
$contenuto = "documento|numero|anno|nome|tipo_file|data_caricamento|identificativo|path_file_esportato\n";
/** @var $item OfferteAllegati */
foreach ($elenco as $item) {
try{
$nomeFile = $item->getId() . '___' . $item->getNome();
$contenuto .= "\"" . ($item->getOfferta() ? $item->getOfferta()->getDocumento() : '') . "\"" .
$separatore . "\"" . ($item->getOfferta() ? $item->getOfferta()->getNumero() : '') . "\"" .
$separatore . "\"" . ($item->getOfferta() ? $item->getOfferta()->getAnno() : '') . "\"" .
$separatore . "\"" . ($item->getNome() ? $item->getNome() : '') . "\"" .
$separatore . "\"" . ($item->getTipoFile() ? $item->getTipoFile() : '') . "\"" .
$separatore . "\"" . ($item->getDataCaricamento() ? $item->getDataCaricamento()->format('Y-m-d H:i:s') : '') . "\"" .
$separatore . "\"" . ($item->getIdentificativo() ? $item->getIdentificativo() : '') . "\"" .
$separatore . "\"" . DIRECTORY_SEPARATOR . 'OUT' . DIRECTORY_SEPARATOR . 'offerte_allegati' . DIRECTORY_SEPARATOR . $nomeFile . "\""
. "\n";
$index++;
//prendo il file e lo scrivo nella cartella di esportazione file
if(!file_put_contents($pathDepositoFile . $nomeFile, $item->getFile())){
$this->ScriviRegistroAttivita(null, $request->getClientIp(), "", false, 'Errore salvataggio file su disco:\nContenuto: ' . $contenuto . '\nPath deposito file: ' . $pathDepositoFile . $nomeFile, null);
}
}catch (\Exception $e){
$this->servizi->DebuggaException($e, "Errore esporta offerte allegati -- Riga: " . $index . " - ID: " . $item->getId());
}
}
$csv_handler = fopen($pathFile, "w");
fwrite($csv_handler, $contenuto);
fclose($csv_handler);
$this->ScriviRegistroAttivita(null, $request->getClientIp(), "", true, 'Esportazione completata in ' . $time_elapsed_secs = microtime(true) - $start . ' seconds</br>', null);
return new Response('Esportazione completata in ' . $time_elapsed_secs = microtime(true) - $start . ' seconds</br>');
}catch (\Exception $ex)
{
$this->ScriviRegistroAttivita(null, $request->getClientIp(), '', true, 'Errore esportazione offerte allegati: ' . $ex->getMessage(), null);
return new Response('Errore esportazione offerte allegati: ' . $ex->getMessage());
}
}
else {
$this->ScriviRegistroAttivita(null, $request->getClientIp(), "", false, 'Errore esportazione: ERRORE_PERMESSO', null);
return new Response("ERRORE PERMESSO");
}
}
function endsWith($haystack, $needle)
{
$length = strlen($needle);
if ($length == 0) {
return true;
}
return (substr($haystack, -$length) === $needle);
}
}