0) { $q = "select * from $tclienti where idclienti = $cliente" ; list($n,$d) = $db->RecuperaDati($q) ; $nome_cliente = $d['Nome'][0] ; } $where = $where_1 = "1=1" ; /****************************************************************************** * cerco di capire che tipo di operazione è stata richiesta ******************************************************************************/ if ($cliente == 0 and $id_fn == 0) $titolo = "Confronto Anno ". sprintf("%s", ($anno - 1)) . " - Anno $anno al $giorno $mesevis per Tutti i Clienti" ; elseif ($cliente > 0 and $id_fn == 0) { $titolo = "Confronto Anno ". sprintf("%s", ($anno - 1)) . " - Anno $anno al $giorno $mesevis per il Cliente $nome_cliente" ; $where = "A.IdClienti = $cliente" ; } elseif ($cliente == 0 and $id_fn > 0) { $titolo = "Confronto Anno ". sprintf("%s", ($anno - 1)) . " - Anno $anno al $giorno $mesevis per Tutti i Clienti
verso il Fornitore $nome_fn" ; $where_1 = "A.idfornitore = $id_fn" ; } else { $titolo = "Confronto Anno ". sprintf("%s", ($anno - 1)) . " - Anno $anno al $giorno $mesevis per il Cliente $nome_cliente
verso il Fornitore $nome_fn" ; $where = "A.IdClienti = $cliente" ; $where_1 = "A.idfornitore = $id_fn" ; } /***************************************************************************** * Devo calcolare qui quanti sono i clienti ******************************************************************************/ for ($an = ($anno - 1) ; $an <= $anno; $an ++) { /************************************** * Mi ricavo gli id di tutti i clienti ***************************************/ $db->query(" select A.* from clienti_$an A where $where order by A.Nome ") ; while ($db->next_record()) $cl[$db->f('IdClienti')] = $db->f('Nome') ; } asort($cl) ; /*************************************************************************** * cerco di eseguire la query una sola volta e di ricavarmi tutti i valori * che mi servono * A questo punto ho già l'array dei clienti ***************************************************************************/ unset($valori) ; for ($an = ($anno - 1) ; $an <= $anno; $an ++) { $dataordine = MySqlDate("$gime/$an") ; $dbt = new FC_SQL ; $dbord = new FC_SQL ; @reset($cl) ; while(list($id_cl, $nome_cl) = each($cl)) { $valori[$nome_cl]['ID_CLI'] = $id_cl ; $valori[$nome_cl]['NUMORD'][$an] = 0 ; $valori[$nome_cl]['VENDUTO'][$an] = 0 ; $valori[$nome_cl]['FATT'][$an] = 0 ; $totforn = 0 ; $totfatt = 0 ; $qord = " select A.*, (TO_DAYS('$dataordine') - TO_DAYS(A.DataSpedFattura)) as DIFFGG from ordini_$an A where A.idcliente = $id_cl and A.dataordine <= '$dataordine' and $where_1 order by A.idordini " ; debug (0, $qord) ; $dbord->query($qord) ; while ($dbord->next_record()) { $valori[$nome_cl]['NUMORD'][$an] += 1 ; $totordine = 0 ; $id_fn = $dbord->f("IdFornitore") ; $impfatt = $dbord->f("ImportoFattura") ; $datasf = $dbord->f("DataSpedFattura") ; $diffgg = $dbord->f("DIFFGG") ; $sco1 = $dbord->f("Sconto1") ; $sco2 = $dbord->f("Sconto2") ; $sco3 = $dbord->f("Sconto3") ; $idordine = $dbord->f("IdOrdini") ; $importoNC = $dbord->f("ImportoNC") ; if ($importoNC > 0) $valNC = ($importoNC / 1.2) ; else $valNC = 0 ; if ($id_fn != $idsarzi) $query = "select * from dettagli_$an, prodotti_$an where dettagli_$an.idordine = $idordine and prodotti_$an.idprodotti = dettagli_$an.idprodotto " ; else $query = "select * from dettagli_$an, sarzi_$an where dettagli_$an.idordine = $idordine and dettagli_$an.idprodotto = CONCAT('SA', idprodotti)" ; debug (0, $query) ; $dbt->query($query) ; while ($dbt->next_record()) { $impparz = $dbt->f("NumCartoni") * $dbt->f("ConfezioniDa") * $dbt->f("PrezzoUnitario") ; if ($dbt->f("ScontoPrd") != "") $impparz = CalcolaScontoProdotto($impparz, $dbt->f("ScontoPrd")) ; $totordine += $impparz ; } $sconto1 = ($totordine * $sco1 / 100) ; $ammpro1 = $totordine - $sconto1 ; $sconto2 = ($ammpro1 * $sco2 / 100) ; $ammpro2 = $ammpro1 - $sconto2 - $valNC; $sconto = $sconto1 + $sconto2 ; $totordine = $totordine - $sconto - $valNC; $totforn += $totordine ; if ($impfatt > 0 and $diffgg >= 0 and $datasf != "0000-00-00") $totfatt += $totordine ; } $valori[$nome_cl]['VENDUTO'][$an] += $totforn ; if ($totfatt > 0) $valori[$nome_cl]['FATT'][$an] += $totfatt ; } } @reset($cl) ; @reset($valori) ; // print_r($valori) ; exit ; $i = 0 ; $str = "" ; while ( list($nome_cl, $arr_valori) = each($valori) ) { $id_cli = $arr_valori['ID_CLI'] ; $annop = $anno - 1 ; $diffno = ($arr_valori['NUMORD'][$anno] - $arr_valori['NUMORD'][$annop]) ; $diffnoper = @nfp(($diffno / $arr_valori['NUMORD'][$annop]) * 100) ; $diffve = ($arr_valori['VENDUTO'][$anno] - $arr_valori['VENDUTO'][$annop]) ; $diffveper = @nfp(($diffve / $arr_valori['VENDUTO'][$annop]) * 100) ; $difffa = ($arr_valori['FATT'][$anno] - $arr_valori['FATT'][$annop]) ; $difffaper = @nfp(($difffa / $arr_valori['FATT'][$annop]) * 100) ; if ($diffno < 0) $classno = "meno" ; elseif ($diffno > 0) { $classno = "piu" ; if ($diffnoper == 0) $diffnoper = "100,00" ; } else $classno = "" ; if ($diffve < 0) $classve = "meno" ; elseif($diffve > 0) { $classve = "piu" ; if ($diffveper == 0) $diffveper = "100,00" ; } else $classve = "" ; if ($difffa < 0 ) $classfa = "meno" ; elseif ($difffa > 0) { $classfa = "piu" ; if ($difffaper == 0) $difffaper = "100,00" ; } else $classfa = "" ; /*************************************************************************************** * Visualizzo solo gli elementi che hanno un numero di ordini dell'anno precedente o * dell'anno in corso > 0 ****************************************************************************************/ if ($arr_valori['NUMORD'][$annop] > 0 or $arr_valori['NUMORD'][$anno] > 0) { if ($arr_valori['NUMORD'][$annop] > 0) $vis_bot_lis_annop = true ; if ($arr_valori['NUMORD'][$anno] > 0) $vis_bot_lis_anno = true ; $str .= "" . htmlspecialchars($nome_cl) . "" . $arr_valori['NUMORD'][$annop] . "" . $arr_valori['NUMORD'][$anno] . "" . $diffno . " (" . $diffnoper . "%)" . "" . nfe($arr_valori['VENDUTO'][$annop]) . "" . nfe($arr_valori['VENDUTO'][$anno]) . "" . nfe($diffve) . " (" . nfe($diffveper) . "%)" . "" . nfe($arr_valori['FATT'][$annop]) . "" . nfe($arr_valori['FATT'][$anno]) . "" . nfe($difffa) . " (" . nfe($difffaper) . "%)" . "" ; } } $str .= "" ; $annop = ($anno - 1) ; $header = "NOME CLIENTE,NUMERO ORDINI,#cspan,#cspan,VENDUTO,#cspan,#cspan,FATTURATO,#cspan,#cspan" ; $attachHeader = "#rspan,$annop,$anno,Differenza,$annop,$anno,Differenza,$annop,$anno,Differenza" ; $strSort = "str,int,int,na,euro,euro,na,euro,euro,na" ; $iniWP = "25,5,5,10,6,6,15,6,6,15" ; $setColType = "ro,ro,ro,ro,ro,ro,ro,ro,ro,ro,ro,ro,ro,ro,ro,ro" ; $setColAlign = "left,center,center,center,center,center,center,center,center,center" ; ?> <? echo TITLE ?> 2002) { ?>


Il confronto fra due anni può essere effettuato solo a partire dal 2003.