RecuperaDati($query) ; /*************************************************************** * Mi salvo alcuni dati che mi servono ****************************************************************/ $nomeFornitore = $d['NomeFornitore'][0] ; $arrIdAziende = $d['IdAziende'] ; $arrNomiAziende = $d['Nome'] ; /*************************************************************** * Per ogni azienda vado a calcolare il totale per l'anno $anno ****************************************************************/ @reset($arrIdAziende) ; $dataOrdine = MySqlDate("$gime/$anno") ; foreach($arrIdAziende as $idAzienda) { $qAnno = " select PP.NomeAzienda, sum(PP.Quantita) as QuantitaVend, sum(PP.Ordinato) as OrdinatoVend, sum(PP.SM) as QuantitaSM, sum(PP.OrdinatoSM) as OrdinatoSM, sum(PP.Quantita) + sum(PP.SM) as QuantitaTot, sum(PP.Ordinato) / (sum(PP.Quantita) + sum(PP.SM)) as PrezzoMedio from ( select TT.NomeAzienda as NomeAzienda, sum(TT.Venduto) as Quantita, sum(TT.Ordinato) as Ordinato, 0 as SM, 0 as OrdinatoSM from (select Trim(A.nome) as NomeAzienda, (D.NumCartoni * D.ConfezioniDa) as Venduto, (D.NumCartoni * D.ConfezioniDa * P.prezzounitario) as Ordinato from dettagli_$anno D inner join prodotti_$anno P on P.idprodotti = D.idprodotto inner join aziende_$anno A on A.idAziende = P.AziendaCollegata inner join ordini_$anno O on O.IdOrdini = D.IdOrdine where P.AziendaCollegata = $idAzienda and O.DataOrdine <= '$dataOrdine') as TT group by NomeAzienda, SM, OrdinatoSM union select TT.NomeAzienda as NomeAzienda, 0 as Quantita, 0 as Ordinato, sum(TT.Venduto) as SM, sum(TT.Ordinato) as OrdinatoSM from (select Trim(A.nome) as NomeAzienda, (D.NumCartoni * D.ConfezioniDa ) as Venduto, (D.NumCartoni * D.ConfezioniDa * P.prezzounitario) as Ordinato from scontomerce_$anno D inner join prodotti_$anno P on P.idprodotti = D.idprodotto inner join aziende_$anno A on A.idAziende = P.AziendaCollegata inner join ordini_$anno O on O.IdOrdini = D.IdOrdine where P.AziendaCollegata = $idAzienda and O.DataOrdine <= '$dataOrdine') as TT group by NomeAzienda, Quantita, Ordinato) as PP group by NomeAzienda " ; debug (0, $qAnno) ; list($nAnno, $dAnno) = $db->RecuperaDati($qAnno) ; if ($nAnno > 0) { // L'array arrNId contiene la corrispondenza fra Nome Azienda e Id per il primo anno scelto $arrNId[$dAnno['NomeAzienda'][0]] = $idAzienda ; $arrVal[$dAnno['NomeAzienda'][0]][$anno] = array('Ordinato' => $dAnno['OrdinatoVend'][0], 'PrezzoMedio' => $dAnno['PrezzoMedio'][0], 'Quantita' => $dAnno['QuantitaTot'][0], 'QuantitaV' => $dAnno['QuantitaVend'][0] ) ; $arrTot[$anno]['Ordinato'] += $dAnno['OrdinatoVend'][0] ; $arrTot[$anno]['PrezzoMedio'] += $dAnno['PrezzoMedio'][0] ; $arrTot[$anno]['Quantita'] += $dAnno['QuantitaTot'][0] ; $arrTot[$anno]['QuantitaV'] += $dAnno['QuantitaVend'][0] ; } } /**************************************************************************************** * se esiste la tabella dell'anno precedente, allora mi ricavo i dati dell'anno precedente. * In questo caso faccio una ricerca generica e poi in base ai risultati ottenuti, carico * i valori trovati nell'array di visualizzazione. Da ricordare che due prodotti vengono * ritenuti uguali se hanno uguale nome e uguale categoria (per consentire la distinzione * fra due o pił prodotti che hanno o stesso nome ma appartengono a due categoria diverse) *****************************************************************************************/ $table = "ordini_$annoP" ; $ret = $db->checkTable($table) ; debug (0, "RET = $ret ; $nomeProdotto = $nomeProdotto ; For = $nomeFornitore ; Cat = $categoria") ; if ($ret) { /******************************************************************************************** * la tabella ordini dell'anno precedente esiste quindi posso fare il confronto. * Per il confronto devo controllare il nome del fornitore e i nomi delle eventuali * aziende collegate ********************************************************************************************/ $query = " select Trim(F.Nome) as NomeFornitore, A.* from fornitori_$annoP F left join relfornitoriaziende RFA on RFA.idfornitore = F.idfornitori left join aziende_$annoP A on A.idaziende = RFA.idazienda where F.Nome = '$nomeFornitore' and RFA.Anno = '$annoP' order by A.Nome " ; list($n, $d) = $db->RecuperaDati($query) ; $arrNomiAziendeAnnoP = $d['Nome'] ; $arrIdAziendeAnnoP = $d['IdAziende'] ; $dataOrdine = MySqlDate("$gime/$annoP") ; foreach($arrIdAziendeAnnoP as $idAzienda) { $qAnnoP = " select PP.NomeAzienda, sum(PP.Quantita) as QuantitaVend, sum(PP.Ordinato) as OrdinatoVend, sum(PP.SM) as QuantitaSM, sum(PP.OrdinatoSM) as OrdinatoSM, sum(PP.Quantita) + sum(PP.SM) as QuantitaTot, sum(PP.Ordinato) / (sum(PP.Quantita) + sum(PP.SM)) as PrezzoMedio from ( select TT.NomeAzienda as NomeAzienda, sum(TT.Venduto) as Quantita, sum(TT.Ordinato) as Ordinato, 0 as SM, 0 as OrdinatoSM from (select Trim(A.nome) as NomeAzienda, (D.NumCartoni * D.ConfezioniDa) as Venduto, (D.NumCartoni * D.ConfezioniDa * P.prezzounitario) as Ordinato from dettagli_$annoP D inner join prodotti_$annoP P on P.idprodotti = D.idprodotto inner join aziende_$annoP A on A.idAziende = P.AziendaCollegata inner join ordini_$annoP O on O.IdOrdini = D.IdOrdine where P.AziendaCollegata = $idAzienda and O.DataOrdine <= '$dataOrdine') as TT group by NomeAzienda, SM, OrdinatoSM union select TT.NomeAzienda as NomeAzienda, 0 as Quantita, 0 as Ordinato, sum(TT.Venduto) as SM, sum(TT.Ordinato) as OrdinatoSM from (select Trim(A.nome) as NomeAzienda, (D.NumCartoni * D.ConfezioniDa ) as Venduto, (D.NumCartoni * D.ConfezioniDa * P.prezzounitario) as Ordinato from scontomerce_$annoP D inner join prodotti_$annoP P on P.idprodotti = D.idprodotto inner join aziende_$annoP A on A.idAziende = P.AziendaCollegata inner join ordini_$annoP O on O.IdOrdini = D.IdOrdine where P.AziendaCollegata = $idAzienda and O.DataOrdine <= '$dataOrdine') as TT group by NomeAzienda, Quantita, Ordinato) as PP group by NomeAzienda " ; list($nAnnoP, $dAnnoP) = $db->RecuperaDati($qAnnoP) ; if ($nAnnoP > 0) { if (array_key_exists($dAnnoP['NomeAzienda'][0], $arrVal)) { $arrVal[$dAnnoP['NomeAzienda'][0]][$annoP] = array('Ordinato' => $dAnnoP['OrdinatoVend'][0], 'PrezzoMedio' => $dAnnoP['PrezzoMedio'][0], 'Quantita' => $dAnnoP['QuantitaTot'][0], 'QuantitaV' => $dAnnoP['QuantitaVend'][0] ) ; $arrTot[$annoP]['Ordinato'] += $dAnnoP['OrdinatoVend'][0] ; $arrTot[$annoP]['PrezzoMedio'] += $dAnnoP['PrezzoMedio'][0] ; $arrTot[$annoP]['Quantita'] += $dAnnoP['QuantitaTot'][0] ; $arrTot[$annoP]['QuantitaV'] += $dAnnoP['QuantitaVend'][0] ; } } } } // Fine if se esiste la tabella degli ordini dell'anno precedente $arrParGen = array() ; $arrParGen = RecuperaParametriGenerali($arrParGen, $tparametri) ; $sede = "Sede operativa: " . $arrParGen['IndirizzoAgenzia'] ; $datisede = "Telefono: " . $arrParGen['TelefonoAgenzia'] . " Fax: " . $arrParGen['FaxAgenzia'] . " -- P.I. " . $arrParGen['PartitaIvaAgenzia'] ; $emailsede = "Email: " . $arrParGen['MailAgenzia'] ; ?> New Document




Venduto per Prodotto - Confronto con periodo precedente al
Azienda:

0) { $pQua = (($qua0 - $qua1) * 100) / $qua1 ; if ($pQua <= 0) $sQua = "" ; } else $pQua = 100 ; if ($ord1 > 0) { $pOrd = (($ord0 - $ord1) * 100) / $ord1 ; if ($pOrd <= 0) $sOrd = "" ; } else $pOrd = 100 ; if ($pm1 > 0) { $pMed = (($pm0 - $pm1) * 100) / $pm1 ; if ($pMed <= 0) $sMed = "" ; } else $pMed = 100 ; ?> 0) { $pTQua = (($arrTot[$anno]['Quantita'] - $arrTot[$annoP]['Quantita']) * 100) / $arrTot[$annoP]['Quantita'] ; if ($pTQua <= 0) $sTQua = "" ; } else $pTQua = 100 ; if ($arrTot[$annoP]['Ordinato'] > 0) { $pTOrd = (($arrTot[$anno]['Ordinato'] - $arrTot[$annoP]['Ordinato']) * 100) / $arrTot[$annoP]['Ordinato'] ; if ($pTOrd < 0) $sTOrd = "" ; } else $pTOrd = 100 ; if ($arrTot[$annoP]['PrezzoMedio'] > 0) { $pTMed = (($arrTot[$anno]['PrezzoMedio'] - $arrTot[$annoP]['PrezzoMedio']) * 100) / $arrTot[$annoP]['PrezzoMedio'] ; if ($pTMed < 0) $sTMed = "" ; } else $pTMed = 100 ; ?>
Anno Quantitą Ordinato Prezzo Medio incidenza % SM
   


TOTALI :  
TOTALI :  
Differenza %: