include ("../common/public.php") ; // print_r($_POST) ; // exit ; $orderByCol = "" ; if ($dirToSort == "ASC") $orderByDir = SORT_ASC ; else $orderByDir = SORT_DESC ; /******************************************* * Tutti i clienti verso tutti i fornitori *******************************************/ $arrVal = array() ; /*** * 1. creo l'array che contiene l'ammontare totale di ogni singolo ordine considerando lo * sconto prodotto. ***/ $arrImpOrdini = CreaArrayAmmontareOrdini() ; // in public.php /*** * recupero i dati di ogni singolo ordine legato ai clienti ***/ $q = " select C.Nome as NomeCliente, C.idclienti as IdCliente, F.Provvigione, case when (O.ImportoNC > 0) then (O.ImportoNC / 1.2) else 0 end as valNC, O.idOrdini, O.Sconto1, O.Sconto2, O.Sconto3, O.ImportoFattura from $tordini O inner join $tclienti C on C.IdClienti = O.IdCliente inner join $tfornitori F on F.IdFornitori = O.IdFornitore order by C.Nome " ; list($n, $d) = $db->RecuperaDati($q) ; for ($i=0; $i<$n; $i++) { if (! array_key_exists($d['IdCliente'][$i], $arrVal)) { $arrVal[$d['IdCliente'][$i]] = array ('NomeCliente' => htmlspecialchars($d['NomeCliente'][$i]), 'TotaleVenduto' => 0, 'ProvvigioneVenduto' => 0, 'TotaleFatturato' => 0, 'ProvvigioneFatturato' => 0) ; } $ammpro = $arrImpOrdini[$d['idOrdini'][$i]]['SenzaIva'] ; $sconto1 = ($ammpro * $d['Sconto1'][$i] / 100) ; $ammpro1 = $ammpro - $sconto1 ; $sconto2 = ($ammpro1 * $d['Sconto2'][$i] / 100) ; $ammpro2 = $ammpro1 - $sconto2 - $valNC ; /**************************************************************************************************************** * Calcolo a questo punto l'ammontare delle provvigioni per questo ordine dopo aver sottratto dall'imponibile gli * eventuali 2 sconti forniti dal fornitore. Idem per il fatturato *****************************************************************************************************************/ $totproordine = ($ammpro2 * $d['Provvigione'][$i] / 100) ; $sconto = $sconto1 + $sconto2 ; $ammpro = $ammpro - $sconto - $valNC ; $arrVal[$d['IdCliente'][$i]]['TotaleVenduto'] += $ammpro ; $arrVal[$d['IdCliente'][$i]]['ProvvigioneVenduto'] += $totproordine ; $gTotVen += $ammpro ; $gTotProvVen += $totproordine ; if ($d['ImportoFattura'][$i] > 0) { $arrVal[$d['IdCliente'][$i]]['TotaleFatturato'] += $ammpro ; $arrVal[$d['IdCliente'][$i]]['ProvvigioneFatturato'] += $totproordine ; $gTotFat += $ammpro ; $gTotProvFat += $totproordine ; } } @reset($arrVal) ; $titolo = "Totale Venduto / Fatturato per tutti i Clienti anno $anno" ; while (list($idCliente, $arrSingoloCliente) = each($arrVal)) { $arrValNC[] = $arrSingoloCliente['NomeCliente'] ; $arrValTV[] = $arrSingoloCliente['TotaleVenduto'] ; $arrValPV[] = $arrSingoloCliente['ProvvigioneVenduto'] ; $arrValTF[] = $arrSingoloCliente['TotaleFatturato'] ; $arrValPF[] = $arrSingoloCliente['ProvvigioneFatturato'] ; } switch($colToSort) { case 0: // Nome Fornitore array_multisort($arrValNC, $orderByDir, $arrValTV, $arrValPV, $arrValTF, $arrValTF) ; break ; case 1: // Totale Venduto array_multisort($arrValTV, $orderByDir, $arrValNC, $arrValPV, $arrValTF, $arrValTF) ; break ; case 2: // Provvigione Venduto array_multisort($arrValPV, $orderByDir, $arrValNC, $arrValTV, $arrValTF, $arrValPF) ; break ; case 3: // Totale Fatturato array_multisort($arrValTF, $orderByDir, $arrValNC, $arrValTV, $arrValPV, $arrValPF) ; break ; case 4: // Provvigione Fatturato array_multisort($arrValPF, $orderByDir, $arrValNC, $arrValTV, $arrValPV, $arrValTF) ; break ; default ; } $arrParGen = array() ; $arrParGen = RecuperaParametriGenerali($arrParGen, $tparametri) ; $nome = $arrParGen['NomeAgenzia'] ; $sede = "Sede operativa: " . $arrParGen['IndirizzoAgenzia'] ; $datisede = "Telefono: " . $arrParGen['TelefonoAgenzia'] . " Fax: " . $arrParGen['FaxAgenzia'] . " -- P.I. " . $arrParGen['PartitaIvaAgenzia'] ; $emailsede = "Email: " . $arrParGen['MailAgenzia'] ; ?>
![]() |
echo $sede ?> echo $datisede ?> echo $emailsede ?> |
||||
| echo $titolo ?> | ||||||||
| al echo Date("d/m/Y") ?> | ||||||||
| Cliente | Venduto | Provv Venduto | Fatturato | Provv Fatturato | ||||
| echo $arrValNC[$i] ?> | echo nfe($arrValTV[$i]) ?> | echo nfe($arrValPV[$i]) ?> | echo nfe($arrValTF[$i]) ?> | echo nfe($arrValPF[$i]) ?> | ||||
| Totali | echo nfe($gTotVen) ?> | echo nfe($gTotProvVen) ?> | echo nfe($gTotFat) ?> | echo nfe($gTotProvFat) ?> | ||||