/******************************************************************************** * Stampa i dati di confronto di uno o tutti gli agenti verso uno o tutti i clienti *********************************************************************************/ // print_r($_GET + $_POST) ; include ("../common/public.php") ; list($idag, $nome_agente) = explode("^", $agente) ; list($idcli, $nome_cliente) = explode("^", $cliente) ; $bOrdiniTrovati = false ; if ($idag == 0) { $where_ag = "1" ; if ($idcli == 0) { $where_cli = "1" ; $titolo = "Confronto Anno ". sprintf("%s", ($anno - 1)) . " - Anno $anno per Tutti gli agenti verso Tutti i clienti" ; } else { $nome_cliente = stripslashes($nome_cliente) ; $where_cli = "O.idcliente = $idcli" ; $titolo = "Confronto Anno ". sprintf("%s", ($anno - 1)) . " - Anno $anno per Tutti gli agenti verso il cliente $nome_cliente" ; } } else { $where_ag = "A.idagenti = $idag" ; if ($idcli == 0) { $where_cli = "1" ; $titolo = "Confronto Anno ". sprintf("%s", ($anno - 1)) . " - Anno $anno per l'agente $nome_agente verso Tutti i clienti" ; } else { $nome_cliente = stripslashes($nome_cliente) ; $where_cli = "O.idcliente = $idcli" ; $titolo = "Confronto Anno ". sprintf("%s", ($anno - 1)) . " - Anno $anno per l'agente $nome_agente verso il cliente $nome_cliente" ; } } debug (0, $titolo) ; $arrAgenti = array() ; $arrClienti = array() ; $arrVal = array() ; $arrValAllCli = array() ; $annop = ($anno - 1) ; $hdr_agente = "Agente" ; /*********************** * partiamo dai totali ***********************/ for ($an = $anno ; $an >= $anno - 1; $an --) { $dataordine = MySqlDate("$gime/$an") ; $query = " select A.idagenti, A.nome, count(O.idordini) as tot from agenti A left join ordini O on O.idagente = A.idagenti and O.Anno = $an and $where_cli where O.dataordine <= '$dataordine' and $where_ag group by A.idagenti, A.nome order by A.nome " ; debug (0, $query) ; list($n, $d) = $db->RecuperaDati($query) ; for ($i=0; $i<$n; $i++) { $idagente = $d['idagenti'][$i] ; $nomeagente = $d['nome'][$i] ; if (! array_key_exists($idagente, $arrAgenti)) { $arrAgenti[$idagente] = $nomeagente ; $arrVal[$idagente]['NUMORDINI'][$anno] = 0 ; $arrVal[$idagente]['NUMORDINI'][($anno - 1)] = 0 ; $arrVal[$idagente]['VENDUTO'][$anno] = 0 ; $arrVal[$idagente]['VENDUTO'][($anno - 1)] = 0 ; $arrVal[$idagente]['FATTURATO'][$anno] = 0 ; $arrVal[$idagente]['FATTURATO'][($anno - 1)] = 0 ; } $arrVal[$idagente]['NUMORDINI'][$an] = $d['tot'][$i] ; } } /********************** * calcoliamo i totali **********************/ for ($an = $anno ; $an >= $anno - 1; $an --) { $dataordine = MySqlDate("$gime/$an") ; $dataspedfatt = str_replace("/", "-", $dataordine) ; $dbt = new FC_SQL ; $dbord = new FC_SQL ; @reset($arrAgenti) ; foreach($arrAgenti as $id_agente => $nome_agente) // while(list($id_agente, $nome_agente) = each($arrAgenti)) { $totforn = 0 ; $totfornFatt = 0 ; $totproforn = 0 ; $qord = " select O.*, C.nome as NomeCliente, case when (O.ImportoNC > 0) then (O.ImportoNC / 1.2) else 0 end as valNC from ordini O inner join clienti C on C.IdClienti = O.IdCliente where O.Anno = $an and O.idagente = $id_agente and $where_cli and O.dataordine <= '$dataordine' " ; list($n, $d) = $dbord->RecuperaDati($qord) ; for ($i=0; $i<$n; $i++) { $idcliente = $d['IdCliente'][$i] ; $nomecliente = $d['NomeCliente'][$i] ; debug (0, $idcliente) ; if (!array_key_exists($idcliente, $arrValAllCli)) { $arrClienti[$idcliente] = $nomecliente ; $arrValAllCli[$idcliente] = array('NUMORDINI' => array($anno => 0, $annop => 0 ) ) ; } $arrValAllCli[$idcliente]['NUMORDINI'][$an] ++ ; $totordine = 0 ; $sco1 = $d['Sconto1'][$i] ; $sco2 = $d['Sconto2'][$i] ; $sco3 = $d['Sconto3'][$i] ; $idordine = $d['IdOrdini'][$i] ; $valNC = $d['valNC'][$i] ; $idfor = $d['IdFornitore'][$i] ; $impFatt = $d['ImportoFattura'][$i] ; $dataSpedFatt = $d['DataSpedFattura'][$i] ; if ($idfor != $idsarzi) $query = " select * from dettagli D, prodotti P where D.Anno = $an and D.idordine = $idordine and P.idprodotti = D.idprodotto " ; else $query = "select * from dettagli_$an, sarzi_$an where dettagli_$an.idordine = $idordine and dettagli_$an.idprodotto = CONCAT('SA', idprodotti)" ; list($nn, $dd) = $dbt->RecuperaDati($query) ; for ($ii=0; $ii<$nn; $ii++) { $impparz = $dd['NumCartoni'][$ii] * $dd['ConfezioniDa'][$ii] * $dd['PrezzoUnitario'][$ii] ; if ($dd['ScontoPrd'][$ii] != "") $impparz = CalcolaScontoProdotto($impparz, $dd['ScontoPrd'][$ii]) ; $totordine += $impparz ; } $sconto1 = ($totordine * $sco1 / 100) ; $ammpro1 = $totordine - $sconto1 ; $sconto2 = ($ammpro1 * $sco2 / 100) ; $ammpro2 = $ammpro1 - $sconto2 - $valNC; /**************************************************************************************************************** * Calcolo a questo punto l'ammontare delle provvigioni per questo ordine dopo aver sottratto dall'imponibile gli * eventuali 2 sconti forniti dal fornitore e l'eventuale ammontare della nota di credito. Idem per il fatturato *****************************************************************************************************************/ $provvigione = $arrProvv[$an][$idfor][$id_agente] ; $totproordine = ($ammpro2 * $provvigione / 100) ; $sconto = $sconto1 + $sconto2 ; $totordine = $totordine - $sconto - $valNC; $totforn += $totordine ; $totproforn += $totproordine ; if ($impFatt > 0 and $dataSpedFatt <= $dataspedfatt) $totfornFatt += $totordine ; $arrValAllCli[$idcliente]['VENDUTO'][$an] += $totordine ; if ($impFatt > 0 and $dataSpedFatt <= $dataspedfatt) $arrValAllCli[$idcliente]['FATTURATO'][$an] += $totordine ; } $arrVal[$id_agente]['FATTURATO'][$an] += $totfornFatt ; $arrVal[$id_agente]['VENDUTO'][$an] += $totforn ; } } if ($idag != 0 and $idcli == 0) { asort($arrClienti) ; $arrAgenti = $arrClienti ; $arrVal = $arrValAllCli ; $hdr_agente = "Cliente" ; } $annop = ($anno - 1) ; $arrParGen = array() ; $arrParGen = RecuperaParametriGenerali($arrParGen, $tparametri) ; $nome = $arrParGen['NomeAgenzia'] ; $sede = "Sede operativa: " . $arrParGen['IndirizzoAgenzia'] ; $datisede = "Telefono: " . $arrParGen['TelefonoAgenzia'] . " Fax: " . $arrParGen['FaxAgenzia'] . " -- P.I. " . $arrParGen['PartitaIvaAgenzia'] ; $emailsede = "Email: " . $arrParGen['MailAgenzia'] ; ?>
![]() |
echo $sede ?> echo $datisede ?> echo $emailsede ?> |
||||
| echo $titolo ?> | ||||||||
| al echo Date("d/m/Y") ?> | ||||||||
| echo $hdr_agente ?>: echo htmlspecialchars($nome) ?> | ||||||||
| Numero Ordini | Venduto | Fatturato | ||||||
| echo $annop ?> | echo $anno ?> | Differenza | echo $annop ?> | echo $anno ?> | Differenza | echo $annop ?> | echo $anno ?> | Differenza |
| echo nfl($noAnnoP) ?> | echo nfl($noAnno) ?> | echo "$diffNO ($diffNOPerc%)" ?> |
echo nfp($vAnnoP) ?> | echo nfp($vAnno) ?> | echo nfp($diffV) . " ($diffVPerc%)" ?> |
echo nfp($fAnnoP) ?> | echo nfp($fAnno) ?> | echo nfp($diffF) . " ($diffFPerc%)" ?> |