/*********************************************************************************** * confronto il venduto del prodotto calcolando il prezzo medio con l'anno precedente * nella variabile $idProdotto ho l'id del prodotto secondo l'anno in corso * VERSIONE 3.0 READY ************************************************************************************/ include ("../common/public.php") ; // print_r($_GET + $_POST) ; $arrIdPrd = explode("^", $idProdotto) ; $arrDescDett = explode ("-", $arrIdPrd[1]) ; // print_r($arrIdPrd) ; // print_r($arrDescDett) ; $idProdotto = $arrIdPrd[2] ; $annoP = $anno - 1 ; $arrVal = array() ; $sQua = $sOrd = $sMed = "+" ; /**************************************************************************** * dall'id del prodotto passato mi ricavo i dati per l'anno in corso *****************************************************************************/ $qAnno = " select PP.NomeFornitore, PP.NomeProdotto, PP.Categoria, sum(PP.Venduto) as Venduto, sum(PP.SM) as ScontoMerce, PP.PrezzoUnitario from ( select TT.NomeFornitore as NomeFornitore, TT.NomeProdotto as NomeProdotto, TT.Categoria as Categoria, sum(TT.Venduto) as Venduto, 0 as SM, TT.PrezzoUnitario as PrezzoUnitario from ( select Trim(F.nome) as NomeFornitore, Trim(P.Nome) as NomeProdotto, P.Categoria as Categoria, (D.NumCartoni * D.ConfezioniDa) as Venduto, P.prezzounitario as PrezzoUnitario from dettagli D inner join prodotti P on P.idprodotti = D.idprodotto and P.idprodotti = $idProdotto inner join fornitori F on F.idfornitori = P.fornitore where D.Anno = $anno ) as TT group by NomeFornitore, NomeProdotto, Categoria, SM, PrezzoUnitario union select TT.NomeFornitore as NomeFornitore, TT.NomeProdotto as NomeProdotto, TT.Categoria as Categoria, 0 as Venduto, sum(TT.Venduto) as SM, TT.PrezzoUnitario as PrezzoUnitario from (select Trim(F.nome) as NomeFornitore, Trim(P.Nome) as NomeProdotto, P.Categoria as Categoria, (D.NumCartoni * D.ConfezioniDa) as Venduto, P.prezzounitario as PrezzoUnitario from scontomerce D inner join prodotti P on P.idprodotti = D.idprodotto and P.idprodotti = $idProdotto inner join fornitori F on F.idfornitori = P.fornitore where D.Anno = $anno) as TT group by NomeFornitore, NomeProdotto, Categoria, Venduto, PrezzoUnitario) as PP group by NomeFornitore, NomeProdotto, Categoria, PrezzoUnitario " ; debug (0 , $qAnno) ; list($nAnno, $dAnno) = $db->RecuperaDati($qAnno) ; if ($nAnno > 0) { $nomeProdotto = addslashes($dAnno['NomeProdotto'][0]) ; $nomeFornitore = $dAnno['NomeFornitore'][0] ; $categoria = $dAnno['Categoria'][0] ; $prezzoMedio = ($dAnno['Venduto'][0]) * $dAnno['PrezzoUnitario'][0] / ($dAnno['Venduto'][0] + $dAnno['ScontoMerce'][0]) ; $arrVal["$nomeProdotto"]['Fornitore'] = $nomeFornitore ; // $arrVal["$nomeProdotto"]["Fornitore"]["Anni"] = array() ; $arrVal["$nomeProdotto"]["Anni"][] = array('anno' => $anno, 'Venduto' => $dAnno['Venduto'][0], 'ScontoMerce' => $dAnno['ScontoMerce'][0], 'Ordinato' => $dAnno['Venduto'][0] * $dAnno['PrezzoUnitario'][0], 'Quantita' => $dAnno['Venduto'][0] + $dAnno['ScontoMerce'][0], 'PrezzoUnitario' => $dAnno['PrezzoUnitario'][0], 'PrezzoMedio' => $prezzoMedio ) ; $inc0 = $arrVal["$nomeProdotto"]["Anni"][0]['PrezzoUnitario'] - $arrVal["$nomeProdotto"]["Anni"][0]['PrezzoMedio'] ; $inc0 = ($inc0 * 100) / $arrVal["$nomeProdotto"]["Anni"][0]['PrezzoUnitario'] ; $arrVal["$nomeProdotto"]["Anni"][0]['IncPerc'] = $inc0 ; } // print_r($arrVal) ; debug (0, "PM = $prezzoMedio" ) ; // print_r($dAnno) ; /**************************************************************************************** * se esiste la tabella dell'anno precedente, allora mi ricavo i dati dell'anno precedente *****************************************************************************************/ $table = "ordini_$annoP" ; // $ret = $db->checkTable($table) ; $ret = 1 ; 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 considerare: il nome, la tipologia e il produttore *******************************************************************************/ $qAnnoP = " select PP.NomeFornitore, PP.NomeProdotto, PP.Categoria, sum(PP.Venduto) as Venduto, sum(PP.SM) as ScontoMerce, PP.PrezzoUnitario from ( select TT.NomeFornitore as NomeFornitore, TT.NomeProdotto as NomeProdotto, TT.Categoria as Categoria, sum(TT.Venduto) as Venduto, 0 as SM, TT.PrezzoUnitario as PrezzoUnitario from (select Trim(F.nome) as NomeFornitore, Trim(P.Nome) as NomeProdotto, P.Categoria as Categoria, (D.NumCartoni * D.ConfezioniDa) as Venduto, P.prezzounitario as PrezzoUnitario from dettagli D inner join prodotti P on P.idprodotti = D.idprodotto inner join fornitori F on F.idfornitori = P.fornitore where D.Anno = $annoP and P.nome = '$nomeProdotto' and F.nome = '$nomeFornitore' and P.Categoria = $categoria) as TT group by NomeFornitore, NomeProdotto, Categoria, SM, PrezzoUnitario union select TT.NomeFornitore as NomeFornitore, TT.NomeProdotto as NomeProdotto, TT.Categoria as Categoria, 0 as Venduto, sum(TT.Venduto) as SM, TT.PrezzoUnitario as PrezzoUnitario from (select Trim(F.nome) as NomeFornitore, Trim(P.Nome) as NomeProdotto, P.Categoria as Categoria, (D.NumCartoni * D.ConfezioniDa) as Venduto, P.prezzounitario as PrezzoUnitario from scontomerce D inner join prodotti P on P.idprodotti = D.idprodotto inner join fornitori F on F.idfornitori = P.fornitore where D.Anno = $annoP and P.nome = '$nomeProdotto' and F.nome = '$nomeFornitore' and P.Categoria = $categoria) as TT group by NomeFornitore, NomeProdotto, Categoria, Venduto, PrezzoUnitario)as PP group by NomeFornitore, NomeProdotto, Categoria, PrezzoUnitario " ; debug (0, $qAnnoP) ; list($nAnnoP, $dAnnoP) = $db->RecuperaDati($qAnnoP) ; if ($nAnnoP > 0) { $prezzoMedio = ($dAnnoP['Venduto'][0]) * $dAnnoP['PrezzoUnitario'][0] / ($dAnnoP['Venduto'][0] + $dAnnoP['ScontoMerce'][0]) ; $arrVal["$nomeProdotto"]["Anni"][] = array('anno' => $annoP, 'Venduto' => $dAnnoP['Venduto'][0], 'ScontoMerce' => $dAnnoP['ScontoMerce'][0], 'Ordinato' => $dAnnoP['Venduto'][0] * $dAnnoP['PrezzoUnitario'][0], 'Quantita' => $dAnnoP['Venduto'][0] + $dAnnoP['ScontoMerce'][0], 'PrezzoUnitario' => $dAnnoP['PrezzoUnitario'][0], 'PrezzoMedio' => $prezzoMedio ) ; // print_r($arrVal) ; /*********************************************** * mi calcolo alcune percentuali che mi servono ***********************************************/ $qua0 = $arrVal["$nomeProdotto"]["Anni"][0]['Quantita'] ; $qua1 = $arrVal["$nomeProdotto"]["Anni"][1]['Quantita'] ; $pQua = (($qua0 - $qua1) * 100) / $qua1 ; if ($pQua < 0) $sQua = "" ; $ord0 = $arrVal["$nomeProdotto"]["Anni"][0]['Ordinato'] ; $ord1 = $arrVal["$nomeProdotto"]["Anni"][1]['Ordinato'] ; if ($pOrd <= 0) $sOrd = "" ; else $pOrd = (($ord0 - $ord1) * 100) / $ord1 ; $pm0 = $arrVal["$nomeProdotto"]["Anni"][0]['PrezzoMedio'] ; $pm1 = $arrVal["$nomeProdotto"]["Anni"][1]['PrezzoMedio'] ; if ($pm1 > 0) $pMed = (($pm0 - $pm1) * 100) / $pm1 ; else $pMed = 0 ; if ($pMed < 0) $sMed = "" ; $inc1 = $arrVal["$nomeProdotto"]["Anni"][1]['PrezzoUnitario'] - $arrVal["$nomeProdotto"]["Anni"][1]['PrezzoMedio'] ; $inc1 = ($inc1 * 100) / $arrVal["$nomeProdotto"]["Anni"][1]['PrezzoUnitario'] ; $arrVal["$nomeProdotto"]["Anni"][1]['IncPerc'] = $inc1 ; } else { // Questo prodotto l'anno precedente non era in listino $arrVal["$nomeProdotto"]["Anni"][] = array('anno' => $annoP, 'Venduto' => "ND", 'ScontoMerce' => "ND", 'Ordinato' => "ND", 'Quantita' => "ND", 'PrezzoUnitario' => "ND", 'PrezzoMedio' => "ND", 'IncPerc' => "ND", ) ; $pOrd = 100 ; $pMed = 100 ; $pQua = 100 ; } } else { // Questo prodotto l'anno precedente non era in listino $arrVal["$nomeProdotto"]["Anni"][] = array('anno' => $annoP, 'Venduto' => "ND", 'ScontoMerce' => "ND", 'Ordinato' => "ND", 'Quantita' => "ND", 'PrezzoUnitario' => "ND", 'PrezzoMedio' => "ND", 'IncPerc' => "ND", ) ; $pOrd = 100 ; $pMed = 100 ; $pQua = 100 ; } // print_r($arrVal) ; exit ; ?>
| Prodotto / Azienda | Anno | Quantità | Ordinato | Prezzo Medio | incidenza % SM |
| echo stripslashes($nomeProdotto) . " / " . $arrDati['Fornitore'] ?> | |||||
| echo $arrSA['anno'] ?>: | echo $arrSA['Quantita'] ?> | if ($arrSA['Ordinato'] != "ND") echo nfp($arrSA['Ordinato']) ; else echo $arrSA['Ordinato'] ; ?> | if ($arrSA['PrezzoMedio'] != "ND") echo nfeExt($arrSA['PrezzoMedio']) ; else echo $arrSA['PrezzoMedio'] ; ?> | if ($arrSA['IncPerc'] != "ND") echo nfp($arrSA['IncPerc']) . " %" ; else echo $arrSA['IncPerc'] ; ?> | |
| echo $sQua . nfp($pQua) . " %" ?> | echo $sOrd . nfp($pOrd) . " %" ?> | echo $sMed . nfp($pMed) . " %" ?> | |||