"); $annoPrec = ($anno - 1) ; $dbtot = new FC_SQL ; $log = false ; if ($log) $handle = fopen('log_LoadClientiBottiglieAcquistate.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_no_sarzi = "F.IdFornitori != $idsarzi" ; $where_for_sarzi = "F.IdFornitori = $idsarzi" ; $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')) { if ($selFor != $idsarzi) { $where_for_no_sarzi = "F.IdFornitori = $selFor" ; $where_for_sarzi = "F.IdFornitori = -21" ; } else { $where_for_no_sarzi = "F.IdFornitori = -21" ; $where_for_sarzi = "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: // cliente $order_by = "NomeCliente $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.IdCliente, TT.NomeCliente, TT.IdFornitore, TT.NomeProdotto, -- TT.IdProdotto, 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, C.idclienti as IdCliente, C.nome as NomeCliente, $selfor as IdFornitore, IF (D.DescDettaglio IS NULL OR D.DescDettaglio = '', P.nome, D.DescDettaglio) as NomeProdotto, -- P.nome as NomeProdotto, -- P.idprodotti as IdProdotto, 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.idfornitore = $selfor and O.DataOrdine <= '$dataOrdineAnnoInCorso' inner join clienti C on C.IdClienti = O.IdCliente and $where_cli inner join agenti A on A.IdAgenti = C.IdAgente and $where_age inner join prodotti P on P.idprodotti = D.idprodotto and $where_pro where D.Anno = $anno group by P.Nome, C.Nome union all select A.idagenti as IdAgente, A.nome as NomeAgente, C.idclienti as IdCliente, C.nome as NomeCliente, $selfor as IdFornitore, IF (D.DescDettaglio IS NULL OR D.DescDettaglio = '', P.nome, D.DescDettaglio) as NomeProdotto, -- P.nome as NomeProdotto, -- P.idprodotti as IdProdotto, 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.idfornitore = $selfor and O.DataOrdine <= '$dataOrdineAnnoInCorso' inner join clienti C on C.IdClienti = O.IdCliente and $where_cli inner join agenti A on A.IdAgenti = C.IdAgente and $where_age inner join prodotti P on P.idprodotti = D.idprodotto and $where_pro where D.Anno = $anno group by P.Nome, C.Nome union all select A.idagenti as IdAgente, A.nome as NomeAgente, C.idclienti as IdCliente, C.nome as NomeCliente, $selfor as IdFornitore, IF (D.DescDettaglio IS NULL OR D.DescDettaglio = '', P.nome, D.DescDettaglio) as NomeProdotto, -- P.nome as NomeProdotto, -- P.idprodotti as IdProdotto, 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.idfornitore = $selfor and O.DataOrdine <= '$dataOrdineAnnoPrec' inner join clienti C on C.IdClienti = O.IdCliente and $where_cli inner join agenti A on A.IdAgenti = C.IdAgente and $where_age inner join prodotti P on P.idprodotti = D.idprodotto and $where_pro where D.Anno = $annoPrec group by P.Nome, C.Nome union all select A.idagenti as IdAgente, A.nome as NomeAgente, C.idclienti as IdCliente, C.nome as NomeCliente, $selfor as IdFornitore, IF (D.DescDettaglio IS NULL OR D.DescDettaglio = '', P.nome, D.DescDettaglio) as NomeProdotto, -- P.nome as NomeProdotto, -- P.idprodotti as IdProdotto, 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.idfornitore = $selfor and O.DataOrdine <= '$dataOrdineAnnoPrec' inner join clienti C on C.IdClienti = O.IdCliente and $where_cli inner join agenti A on A.IdAgenti = C.IdAgente and $where_age inner join prodotti P on P.idprodotti = D.idprodotto and $where_pro where D.Anno = $annoPrec group by P.Nome, C.Nome ) as TT group by TT.IdAgente, TT.NomeAgente, TT.IdCliente, TT.NomeCliente, TT.IdFornitore, TT.NomeProdotto -- TT.IdProdotto 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] ; // $idprodotto = $dati['IdProdotto'][$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$nomecliente$nomeprodotto$totBottAnnoP$totBottAnno") ; print ("$nomeagente$nomecliente$nomeprodotto$totBottAnnoP$totBottAnno$numDiff") ; } print ("") ; if ($log) fclose($handle) ; ?>