0 -- and F.IdFornitori = 13 group by O.IdFornitore UNION ALL SELECT F.Nome, 0 as TotBott, SUM(D.ConfezioniDa*D.NumCartoni) as TotBottSM, 0 as TotBottAP, 0 as TotBottAPSM, O.idfornitore FROM `ordini` O inner join fornitori F on O.IdFornitore = F.IdFornitori Inner join scontomerce D on O.IdOrdini = D.IdOrdine and D.Anno = 2022 WHERE O.Anno = 2022 and O.DataSpedFattura > 0 -- and F.IdFornitori = 13 and group by O.IdFornitore UNION ALL SELECT F.Nome, 0 as TotBott, 0 as TotBottSM, SUM(D.ConfezioniDa*D.NumCartoni) as TotBottAP, 0 as TotBottAPSM, O.idfornitore FROM `ordini` O inner join fornitori F on O.IdFornitore = F.IdFornitori Inner join dettagli D on O.IdOrdini = D.IdOrdine and D.Anno = 2021 WHERE O.Anno = 2021 and O.DataSpedFattura > 0 -- and F.IdFornitori = 13 group by O.IdFornitore UNION ALL SELECT F.Nome, 0 as TotBott, 0 as TotBottSM, 0 as TotBottAP, SUM(D.ConfezioniDa*D.NumCartoni) as TotBottAPSM, O.idfornitore FROM `ordini` O inner join fornitori F on O.IdFornitore = F.IdFornitori Inner join scontomerce D on O.IdOrdini = D.IdOrdine and D.Anno = 2021 WHERE O.Anno = 2021 and O.DataSpedFattura > 0 -- and F.IdFornitori = 13 and group by O.IdFornitore ) as TT GROUP BY TT.Nome " ; list($nbott, $dbott) = $dbt->RecuperaDati($qbott) ; /************************************** * Numero clienti serviti ***************************************/ $qcli = " SELECT TT.Anno, TT.IdFornitore as IdFornitore, TT.NomeFornitore as Nomefornitore, SUM(TT.NC) as NC, SUM(TT.NCAP) as NCAP FROM ( SELECT O.Anno, O.IdFornitore, F.Nome as NomeFornitore, COUNT(DISTINCT(O.idcliente)) as NC, 0 as NCAP FROM ordini O inner join fornitori F on O.IdFornitore = F.IdFornitori WHERE O.Anno = 2022 GROUP BY O.IdFornitore UNION ALL SELECT O.Anno, O.IdFornitore, F.Nome as NomeFornitore, 0 as NC, COUNT(DISTINCT(O.idcliente)) as NCAP FROM ordini O inner join fornitori F on O.IdFornitore = F.IdFornitori WHERE O.Anno = 2021 GROUP BY O.IdFornitore ) as TT GROUP BY TT.IdFornitore order By TT.NomeFornitore ASC " ; list($ncli, $dcli) = $dbt->RecuperaDati($qcli) ; $query = " SELECT TT.NomeFornitore, TT.IdFornitore, SUM(TT.IOANNO) as $fattA, SUM(TT.IOANNOP) as $fattAP FROM ( SELECT DISTINCT F.nome AS NomeFornitore, F.idFornitori AS IdFornitore, SUM(O.ImportoFattura / 1.22) as IOANNO, 0 as IOANNOP FROM ordini O INNER JOIN fornitori F ON F.IdFornitori = O.IdFornitore WHERE O.Anno = $anno AND O.ImportoFattura > 0 group by F.Nome UNION ALL SELECT DISTINCT F.nome AS NomeFornitore, F.idFornitori AS IdFornitore, 0 as IOANNO, SUM(O.ImportoFattura / 1.22) as IOANNOP FROM ordini O INNER JOIN fornitori F ON F.IdFornitori = O.IdFornitore WHERE O.Anno = $annop AND O.ImportoFattura > 0 group by F.Nome ) as TT group By TT.NomeFornitore ORDER BY `TT`.`NomeFornitore` ASC " ; list($n, $d) = $db->RecuperaDati($query) ; $str = "" ; for ($i=0; $i<$n; $i++) { $idFor = $d['IdFornitore'][$i] ; $diffFatt = $d[$fattAP][$i] - $d[$fattA][$i] ; if ($diffFatt != 0 and $d[$fattAP][$i] != "0.000000") { $diffFattper = @nfeExt((($diffFatt / $d[$fattAP][$i]) * 100) * -1) ; $arrTotali[5] += ($diffFatt / $d[$fattAP][$i]) * 100 ; } else $diffFattper = @nfeExt(0) ; if ($diffFatt <= 0) { $classFatt = "piu" ; if ($diffFattper == "0,00000") $diffFattper = "100,000000" ; } elseif ($diffFatt > 0) { $classFatt = "meno" ; if ($diffFattper == "0,00000") $diffFattper = "100,000000" ; } else $classFatt = "" ; $diffBott = $dbott['TotBottAP'][$i] - $dbott['TotBott'][$i] ; if ($diffBott != 0 and $dbott['TotBottAP'][$i] != 0) $diffBottper = @nfeExt((($diffBott / $dbott['TotBottAP'][$i]) * 100) * -1); else $diffBottper = @nfeExt(0) ; if ($diffBott <= 0) { $classBott = "piu" ; if ($diffBottper == "0,00000") $diffBottper = "100,00000" ; } elseif ($diffBott > 0) { $classBott = "meno" ; if ($diffBottper == "0,00000") $diffBottper = "100,00000" ; } else $classBott = "" ; $diffCli = $dcli['NCAP'][$i] - $dcli['NC'][$i] ; if ($diffCli != 0 and $dcli['NCAP'][$i] != 0) $diffCliper = @nfeExt((($diffCli / $dcli['NCAP'][$i]) * 100) * -1); else $diffCliper = @nfeExt(0) ; if ($diffCli <= 0) { $classCli = "piu" ; if ($diffCliper == "0,00000") $diffCliper = "100,00000" ; } elseif ($diffCli > 0) { $classCli = "meno" ; if ($diffCliper == "0,00000") $diffCliper = "100,00000" ; } else $classCli = "" ; $totBott = $totBottAP = $pmA = $pmAP = 0 ; $dBPerc = "0,00000" ; $ind = -1 ; $totCli = $totCliAP = 0 ; $dCPerc = "0,00000" ; $indCli = -1 ; $fattCA = $fattCAP = 0 ; $ind = array_search($idFor, $dbott['idfornitore']) ; $indCli = array_search($idFor, $dcli['IdFornitore']) ; if ($ind > -1) { $totBott = $dbott['TotBott'][$ind] ; $totBottAP = $dbott['TotBottAP'][$ind] ; $dBPerc = $diffBottper ; } if ($indCli > -1) { $totCli = $dcli['NC'][$indCli] ; $totCliAP = $dcli['NCAP'][$indCli] ; $dCPerc = $diffCliper ; } if ($totBott > 0) { $pmA = $d[$fattA][$i] / $totBott ; $fattCA = $d[$fattA][$i] / $totCli ; } if ($totBottAP > 0) { $pmAP = $d[$fattAP][$i] / $totBottAP ; $fattCAP = $d[$fattAP][$i] / $totCliAP ; } $diffPM = $pmAP - $pmA ; if ($diffPM != 0 and $pmAP != 0) $diffPMper = @nfeExt((($diffPM / $pmAP) * 100) * -1) ; else $diffPMper = @nfeExt(0) ; if ($diffPM <= 0) { $classPM = "piu" ; if ($diffPMper == "0,00000") $diffPMper = "100,00000" ; } elseif ($diffPM > 0) { $classPM = "meno" ; if ($diffPMper == "0,00000") $diffPMper = "100,00000" ; } else $classPM = "" ; $diffFC = $fattCAP - $fattCA ; if ($diffFC != 0 and $fattCAP != 0) $diffFCper = @nfeExt((($diffFC / $fattCAP) * 100) * -1) ; else $diffFCper = @nfeExt(0) ; if ($diffFC <= 0) { $classFC = "piu" ; if ($diffFCper == "0,00000") $diffFCper = "100,00000" ; } elseif ($diffFC > 0) { $classFC = "meno" ; if ($diffFCper == "0,00000") $diffFCper = "100,00000" ; } else $classFC = "" ; $str .= "" . htmlspecialchars($d['NomeFornitore'][$i]) . "" . nfp($d[$fattA][$i]) . "" . nfp($d[$fattAP][$i]) . "$diffFattper" . nfl($totBott) . "" . nfl($totBottAP) . "$dBPerc" . nfp($pmA) . "" . nfp($pmAP) . "$diffPMper$totCli$totCliAP$dCPerc" . nfp($fattCA) . "" . nfp($fattCAP) . "$diffFCper" ; } $str .= "" ; $headerOne = "NOME FORNITORE,FATTURATO,#cspan,#cspan,,BOTTIGLIE,#cspan,#cspan,#cspan,PREZZO MEDIO,#cspan,#cspan,#cspan,CLIENTI SERVITI,#cspan,#cspan,#cspan,FATTURATO PER CLIENTE,#cspan,#cspan" ; $header = "#rspan,$anno,$annop, DIFF %,,$anno,$annop,DIFF %,,$anno,$annop,DIFF %,,$anno,$annop,DIFF %,,$anno,$annop,DIFF %" ; $strSort = "str,euro,euro,int,na,int,int,int,na,int,int,int,na,int,int,int,na,euro,euro,int" ; $iniWP = "30,7,7,6,1,5,5,6,1,4,4,6,1,4,4,6,1,6,6,6" ; $setColType = "ro,ro,ro,ro,ro,ro,ro,ro,ro,ro,ro,ro,ro,ro,ro,ro,ro,ro,ro,ro" ; $setColAlign = "left,right,right,right,center,right,right,right,center,right,right,right,center,right,right,right,center,right,right,right" ; ?> <? echo TITLE ?>
  Ordini per Fornitore Ordini per Fornitore per Mese Totali  
Numero Fornitori: (per selezionare un fornitore clicca sulla riga corrispondente)