"); $annoPrec = ($anno - 1) ; $dbtot = new FC_SQL ; $log = false ; if ($log) $handle = fopen('log_LoadFornitoriBottiglieVendute.txt', 'a+') ; $posStart = $_GET['posStart'] ; $count = $_GET['count'] ; if ($log) { fwrite($handle, "posStart = " . $posStart . "\n") ; fwrite($handle, "count = " . $count . "\n") ; } /*************************************************************************** * where-list ***************************************************************************/ $gime = $_GET["gime"] ; $dataOrdineAnnoInCorso = MySqlDate("$gime/$anno") ; $dataOrdineAnnoPrec = MySqlDate("$gime/$annoPrec") ; $selAge = $_GET["selage"] ; $selCli = $_GET["selcli"] ; $selFor = $_GET["selfor"] ; $selPro = $_GET["selpro"] ; $ordinaper = $_GET["ordinaper"] ; $direction = $_GET["direction"] ; $where_cli = "1=1" ; $where_age = "1=1" ; $where_for = "1=1" ; $where_pro = "1=1" ; /************************* * filtro Agente **************************/ if (isset($selAge) and ($selAge != 'tutti')) $where_age = " A.IdAgenti = $selAge" ; if ($profilo == 3) $where_age .= " and A.idagenti != 4 and A.idagenti != 5 and A.idagenti != 9 and A.idagenti != 10" ; else $where_age .= " and 1=1" ; /************************* * filtro Cliente **************************/ if (isset($selCli) and ($selCli != 'tutti')) $where_cli = " C.idclienti = '$selCli'" ; /************************* * filtro Fornitori **************************/ if (isset($selFor) and ($selFor != 'tutti')) $where_for = "F.IdFornitori = $selFor" ; /************************* * filtro Prodotto **************************/ if (isset($selPro) and ($selPro != '')) $where_pro = " P.nome like '%$selPro%'" ; /*************************************** * controllo la colonna da ordinare ***************************************/ switch($ordinaper) { case 0: // agente $order_by = "NomeAgente $direction, NomeProdotto" ; break ; case 1: // fornitore $order_by = "NomeFornitore $direction, NomeProdotto" ; break ; case 2: // prodotto $order_by = "NomeProdotto $direction, NomeCliente" ; break ; case 3: // numero prodotti Anno precedente $order_by = "TotBottAnnoPrec $direction, NomeProdotto" ; break ; case 4: // numero prodotti anno in corso $order_by = "TotBottAnnoInCorso $direction, NomeProdotto" ; break ; } $qclipro = " select TT.IdAgente, TT.NomeAgente, TT.IdFornitore, TT.NomeFornitore, TT.IdCliente, TT.NomeProdotto, sum(TT.TotBottAnnoPrec) as TotBottAnnoPrec, sum(TT.TotBottAnnoPrecSM) as TotBottAnnoPrecSM, sum(TT.TotBottAnnoInCorso) as TotBottAnnoInCorso, sum(TT.TotBottAnnoInCorsoSM) as TotBottAnnoInCorsoSM from ( select A.idagenti as IdAgente, A.nome as NomeAgente, F.idfornitori as IdFornitore, -- C.idclienti as IdCliente, F.nome as NomeFornitore, -- C.nome as NomeCliente, $selcli as IdCliente, -- $selfor as IdFornitore, IF (D.DescDettaglio IS NULL OR D.DescDettaglio = '', P.nome, D.DescDettaglio) as NomeProdotto, 0 as TotBottAnnoPrec, 0 as TotBottAnnoPrecSM, sum((D.NumCartoni * D.ConfezioniDa)) as TotBottAnnoInCorso, 0 as TotBottAnnoInCorsoSM from dettagli D inner join ordini O on O.idordini = D.idordine and O.Anno = $anno and O.idcliente = $selcli and O.DataOrdine <= '$dataOrdineAnnoInCorso' inner join Fornitori F on F.IdFornitori = O.IdFornitore and $where_for inner join agenti A on A.IdAgenti = O.IdAgente and $where_age inner join prodotti P on P.idprodotti = D.idprodotto and $where_pro where P.Anno = $anno and D.Anno = $anno group by P.Nome, F.Nome union all select A.idagenti as IdAgente, A.nome as NomeAgente, F.idfornitori as IdFornitore, -- C.idclienti as IdCliente, F.nome as NomeFornitore, -- C.nome as NomeCliente, $selcli as IdCliente, -- $selfor as IdFornitore, IF (D.DescDettaglio IS NULL OR D.DescDettaglio = '', P.nome, D.DescDettaglio) as NomeProdotto, 0 as TotBottAnnoPrec, 0 as TotBottAnnoPrecSM, 0 as TotBottAnnoInCorso, sum((D.NumCartoni * D.ConfezioniDa)) as TotBottAnnoInCorsoSM from scontomerce D inner join ordini O on O.idordini = D.idordine and O.Anno = $anno and O.idcliente = $selcli and O.DataOrdine <= '$dataOrdineAnnoInCorso' inner join Fornitori F on F.IdFornitori = O.IdFornitore and $where_for inner join agenti A on A.IdAgenti = O.IdAgente and $where_age inner join prodotti P on P.idprodotti = D.idprodotto and $where_pro where P.Anno = $anno and D.Anno = $anno group by P.Nome, F.Nome union all select A.idagenti as IdAgente, A.nome as NomeAgente, F.idfornitori as IdFornitore, -- C.idclienti as IdCliente, F.nome as NomeFornitore, -- C.nome as NomeCliente, $selcli as IdCliente, -- $selfor as IdFornitore, IF (D.DescDettaglio IS NULL OR D.DescDettaglio = '', P.nome, D.DescDettaglio) as NomeProdotto, sum((D.NumCartoni * D.ConfezioniDa)) as TotBottAnnoPrec, 0 as TotBottAnnoPrecSM, 0 as TotBottAnnoInCorso, 0 as TotBottAnnoInCorsoSM from dettagli D inner join ordini O on O.idordini = D.idordine and O.Anno = $annoPrec and O.idcliente = $selcli and O.DataOrdine <= '$dataOrdineAnnoPrec' inner join Fornitori F on F.IdFornitori = O.IdFornitore and $where_for inner join agenti A on A.IdAgenti = O.IdAgente and $where_age inner join prodotti P on P.idprodotti = D.idprodotto and $where_pro where P.Anno = $annoPrec and D.Anno = $annoPrec group by P.Nome, F.Nome union all select A.idagenti as IdAgente, A.nome as NomeAgente, F.idfornitori as IdFornitore, -- C.idclienti as IdCliente, F.nome as NomeFornitore, -- C.nome as NomeCliente, $selcli as IdCliente, -- $selfor as IdFornitore, IF (D.DescDettaglio IS NULL OR D.DescDettaglio = '', P.nome, D.DescDettaglio) as NomeProdotto, 0 as TotBottAnnoPrec, sum((D.NumCartoni * D.ConfezioniDa)) as TotBottAnnoPrecSM, 0 as TotBottAnnoInCorso, 0 as TotBottAnnoInCorsoSM from scontomerce D inner join ordini O on O.idordini = D.idordine and O.Anno = $annoPrec and O.idcliente = $selcli and O.DataOrdine <= '$dataOrdineAnnoPrec' inner join Fornitori F on F.IdFornitori = O.IdFornitore and $where_for inner join agenti A on A.IdAgenti = O.IdAgente and $where_age inner join prodotti P on P.idprodotti = D.idprodotto and $where_pro where P.Anno = $annoPrec and D.Anno = $annoPrec group by P.Nome, F.Nome ) as TT group by TT.IdAgente, TT.NomeAgente, TT.IdFornitore, TT.NomeFornitore, TT.IdCliente, TT.NomeProdotto order by $order_by " ; if ($log) fwrite($handle, "$qclipro \n") ; list($nrowsdati, $dati) = $db->RecuperaDati($qclipro) ; if ($log) fwrite($handle, "\n") ; print("") ; $arrClienti = array() ; for ($i = 0; $i < $nrowsdati ; $i++ ) { $idagente = $dati['IdAgente'][$i] ; $idcliente = $dati['IdCliente'][$i] ; $idfornitore = $dati['IdFornitore'][$i] ; $nomeagente = htmlspecialchars($dati['NomeAgente'][$i]) ; $nomecliente = htmlspecialchars($dati['NomeCliente'][$i]) ; $nomefornitore = htmlspecialchars($dati['NomeFornitore'][$i]) ; $nomeprodotto = htmlspecialchars($dati['NomeProdotto'][$i]) ; if ($dati['TotBottAnnoPrecSM'][$i] > 0) $totBottAnnoP = nfl($dati['TotBottAnnoPrec'][$i]) . " (" . nfl($dati['TotBottAnnoPrecSM'][$i]) . ")"; else $totBottAnnoP = nfl($dati['TotBottAnnoPrec'][$i]) ; if ($dati['TotBottAnnoInCorsoSM'][$i] > 0) $totBottAnno = nfl($dati['TotBottAnnoInCorso'][$i]) . " (" . nfl($dati['TotBottAnnoInCorsoSM'][$i]) . ")"; else $totBottAnno = nfl($dati['TotBottAnnoInCorso'][$i]) ; if ($dati['TotBottAnnoInCorso'][$i] >= $dati['TotBottAnnoPrec'][$i]) { $classeDiff = "piu" ; $numDiff = nfl($dati['TotBottAnnoInCorso'][$i] - $dati['TotBottAnnoPrec'][$i]) ; } else { $classeDiff = "meno" ; $numDiff = "- " . nfl($dati['TotBottAnnoPrec'][$i] - $dati['TotBottAnnoInCorso'][$i]) ; } if ($log) fwrite($handle, "$nomeagente$nomecliente$nomefornitore$nomeprodotto$totBottAnnoP$totBottAnno\n") ; print ("$nomeagente$nomefornitore$nomeprodotto$totBottAnnoP$totBottAnno$numDiff") ; } print ("") ; if ($log) fclose($handle) ; ?>