$giorno $mesevis per i prodotti del Fornitore
$nome_fn" ; debug (0, "AZIENDA = $azienda") ; /* * mi ricavo il nome dell'azienda per andare a recuperare nell'anno prima * la stessa azienda */ $q = " select A.IdFornitori as ID_ANNO_PRIMA, A.nome as NOME_ANNO_PRIMA, B.nome as NOME_ANNO from fornitori_$anno_prec A, fornitori_$anno B where B.IdFornitori = $azienda and B.Nome = A.Nome " ; $db->query($q) ; if ( $db->num_rows() > 0 ) { /* * i nomi dell'azienda nelle due annate coincidono */ while ($db->next_record()) { $id_a_p = $db->f("ID_ANNO_PRIMA") ; $nome_a_p = $db->f("NOME_ANNO_PRIMA") ; $nome_a = $db->f("NOME_ANNO") ; debug (0, "$nome_a ; $nome_a_p ; $id_a_p") ; /* * recupero i prodotti dell'anno precedente */ $query = " SELECT A.IdOrdine, A.IdProdotto, SUBSTRING(A.IdProdotto, 3) AS IdProSarzi, (A.NumCartoni * A.ConfezioniDa) AS NumBottPerOrdine, (B.PrezzoUnitario * A.NumCartoni * A.ConfezioniDa) AS EuroPerOrdine, B.Nome, B.Nome, SUBSTRING(B.Nome, 1, 6) AS CodSarzi, C.DataOrdine, C.DataSpedFattura, (TO_DAYS('$dataordine') - TO_DAYS(C.DataSpedFattura)) as DIFFGG FROM dettagli_$anno_prec A, sarzi_$anno_prec B, ordini_$anno_prec C WHERE A.IdProdotto LIKE 'SA%' AND B.IdProdotti = SUBSTRING( A.IdProdotto, 3) AND A.IdOrdine = C.IdOrdini AND C.dataordine <= '$dataordine' ORDER BY B.Nome ASC " ; debug (0, $query) ; $dbp->query($query) ; while ($dbp->next_record()) { $n_p = trim(stripslashes($dbp->f("Nome"))) ; $nome_pro = $dbp->f("CodSarzi") ; $num_bott = $dbp->f("NumBottPerOrdine") ; $data_ordine = $dbp->f("DataOrdine") ; $data_sped_fatt = $dbp->f("DataSpedFattura") ; $diffgg = $dbp->f("DIFFGG") ; $tot_per_ordine = $dbp->f("EuroPerOrdine") ; if (! array_key_exists($nome_pro, $valori)) { $pro_nome[] = $n_p ; $valori[$nome_pro] = array("$anno_prec" => array ('nome' => $n_p , 'num_bott_vend' => 0, 'num_bott_fatt' => 0, 'in_cifre_vend' => 0, 'in_cifre_fatt' => 0), "$anno" => array ('nome' => '', 'num_bott_vend' => 0, 'num_bott_fatt' => 0, 'in_cifre_vend' => 0, 'in_cifre_fatt' => 0)) ; } $valori[$nome_pro]["$anno_prec"]['num_bott_vend'] += $num_bott ; $valori[$nome_pro]["$anno_prec"]['in_cifre_vend'] += $tot_per_ordine ; /* * se diffgg è negativo allora vuol dire che la data di fatturazione * è superiore alla data dell'anno prima in cui sto facendo il confronto */ if ($diffgg >= 0) { $valori[$nome_pro]["$anno_prec"]['num_bott_fatt'] += $num_bott ; $valori[$nome_pro]["$anno_prec"]['in_cifre_fatt'] += $tot_per_ordine ; } debug (0, "NOME_PRO $anno_prec = $nome_pro ; DATA ORDINE = $data_ordine ; DATA SPED FATT = $data_sped_fatt ; DIFF GG = $diffgg ; NUM_BOTT = $num_bott ; PREZZO UNITARIO = $prezzo_uni ; TOT PER ORDINE = $tot_per_ordine") ; } // print_r($pro_nome) ; print_r($valori) ; exit ; /* * recupero i prodotti per l'anno in corso */ $dataordine = MySqlDate("$gime/$anno") ; $query = " SELECT A.IdOrdine, A.IdProdotto, SUBSTRING(A.IdProdotto, 3) AS IdProSarzi, (A.NumCartoni * A.ConfezioniDa) AS NumBottPerOrdine, (B.PrezzoUnitario * A.NumCartoni * A.ConfezioniDa) AS EuroPerOrdine, B.Nome, SUBSTRING(B.Nome, 1, 6) AS CodSarzi, C.DataOrdine, C.DataSpedFattura, (TO_DAYS('$dataordine') - TO_DAYS(C.DataSpedFattura)) as DIFFGG FROM dettagli_$anno A, sarzi_$anno B, ordini_$anno C WHERE A.IdProdotto LIKE 'SA%' AND B.IdProdotti = SUBSTRING( A.IdProdotto, 3) AND A.IdOrdine = C.IdOrdini AND C.dataordine <= '$dataordine' ORDER BY B.Nome ASC " ; $dbp->query($query) ; while ($dbp->next_record()) { $n_p = trim(stripslashes($dbp->f("Nome"))) ; $nome_pro = $dbp->f("CodSarzi") ; $num_bott = $dbp->f("NumBottPerOrdine") ; $data_ordine = $dbp->f("DataOrdine") ; $data_sped_fatt = $dbp->f("DataSpedFattura") ; $diffgg = $dbp->f("DIFFGG") ; $tot_per_ordine = $dbp->f("EuroPerOrdine") ; if (! array_key_exists($nome_pro, $valori)) { $valori[$nome_pro] = array("$anno_prec" => array ('nome' => '', 'num_bott_vend' => 0, 'num_bott_fatt' => 0, 'in_cifre_vend' => 0, 'in_cifre_fatt' => 0), "$anno" => array ('nome' => $n_p, 'num_bott_vend' => 0, 'num_bott_fatt' => 0, 'in_cifre_vend' => 0, 'in_cifre_fatt' => 0)) ; } $valori[$nome_pro]["$anno"]['nome'] = $n_p ; $valori[$nome_pro]["$anno"]['num_bott_vend'] += $num_bott ; $valori[$nome_pro]["$anno"]['in_cifre_vend'] += $tot_per_ordine ; /* * se diffgg è negativo allora vuol dire che la data di fatturazione * è superiore alla data dell'anno prima in cui sto facendo il confronto */ if ($diffgg >= 0) { $valori[$nome_pro]["$anno"]['num_bott_fatt'] += $num_bott ; $valori[$nome_pro]["$anno"]['in_cifre_fatt'] += $tot_per_ordine ; } debug (0, "NOME_PRO $anno_prec = $nome_pro ; DATA ORDINE = $data_ordine ; DATA SPED FATT = $data_sped_fatt ; DIFF GG = $diffgg ; NUM_BOTT = $num_bott ; PREZZO UNITARIO = $prezzo_uni ; TOT PER ORDINE = $tot_per_ordine") ; } } // print_r($valori) ; exit ; ksort($valori) ; @reset($valori) ; ?> <? echo TITLE ?>
  VENDUTO FATTURATO
Differenza Differenza

Num Bott
In Cifre