/******************************************************************************** * Calcola la situazione economica di un determinato fornitore *********************************************************************************/ include ("../common/public.php") ; include ("../common/calc.php") ; // print_r($_GET + $_POST) ; exit ; function CalcolaScadenza($data, $giorni, $importo) { $dateCalc = new Date_Calc ; $dC1 = new Date_Calc ; $today = $dC1->dateNow($format="%Y%m%d") ; list($d, $m, $y) = explode("/", $data) ; $numGiorni = $dateCalc->dateToDays($d,$m,$y) ; $dd_scad = $dateCalc->daysToDate($numGiorni + $giorni, $format="%Y%m%d") ; if (($today > $dd_scad) and $importo == " ") $dd = $dateCalc->daysToDate($numGiorni + $giorni, $format = "%d/%m/%Y") . " (*)" ; else $dd = $dateCalc->daysToDate($numGiorni + $giorni, $format = "%d/%m/%Y") ; return $dd ; } $query = "select * from fornitori where idfornitori = $fornitore" ; $db->query($query) ; while($db->next_record()) $nomefornitore = addslashes($db->f("Nome")) ; $titolo = 'Situazione Economica per il Fornitore ' . $nomefornitore . ' per gli anni: ' ; $q_anno = " select CONCAT(O.idordini, '^', '{$anno}') as idordini, C.nome as NomeCliente, O.numfattura, O.dataspedfattura as DataSpedFattura, DATE_FORMAT(O.dataspedfattura, '%d/%m/%Y') as ItaDataSpedFattura, DATE_FORMAT(O.datarichiesta, '%d/%m/%Y') as ItaDataPagFattura, O.idpagamento, P.modalita as Tipo_Pagamento, case when (P.giorni = 999) then 0 else P.giorni end as GG, O.importofattura, O.saldoFattura, A.nome from ordini O inner join clienti C on C.idclienti = O.idcliente inner join pagamenti P on P.idpagamenti = O.idpagamento inner join agenti A on A.idagenti = O.idagente where O.Anno = $anno and idfornitore = $fornitore and numfattura > 0 " ; if ($anno_2prec != '') { $titolo .= '' . $anno_2prec . ', ' ; $q_2prec = " UNION select CONCAT(O.idordini, '^', '{$anno_2prec}') as idordini, C.nome as NomeCliente, O.numfattura, O.dataspedfattura as DataSpedFattura, DATE_FORMAT(O.dataspedfattura, '%d/%m/%Y') as ItaDataSpedFattura, DATE_FORMAT(O.datarichiesta, '%d/%m/%Y') as ItaDataPagFattura, O.idpagamento, P.modalita as Tipo_Pagamento, case when (P.giorni = 999) then 0 else P.giorni end as GG, O.importofattura, O.saldoFattura, A.nome from ordini O inner join clienti C on C.idclienti = O.idcliente inner join pagamenti P on P.idpagamenti = O.idpagamento inner join agenti A on A.idagenti = O.idagente where O.Anno = $anno_2prec and idfornitore = $fornitore and numfattura > 0 and saldofattura != 1 " ; } else $q_2prec = '' ; if ($anno_prec != '') { $titolo .= '' . $anno_prec . ', ' ; $q_prec = " UNION select CONCAT(O.idordini, '^', '{$anno_prec}') as idordini, C.nome as NomeCliente, O.numfattura, O.dataspedfattura as DataSpedFattura, DATE_FORMAT(O.dataspedfattura, '%d/%m/%Y') as ItaDataSpedFattura, DATE_FORMAT(O.datarichiesta, '%d/%m/%Y') as ItaDataPagFattura, O.idpagamento, P.modalita as Tipo_Pagamento, case when (P.giorni = 999) then 0 else P.giorni end as GG, O.importofattura, O.saldoFattura, A.nome from ordini O inner join clienti C on C.idclienti = O.idcliente inner join pagamenti P on P.idpagamenti = O.idpagamento inner join agenti A on A.idagenti = O.idagente where O.Anno = $anno_prec and idfornitore = $fornitore and numfattura > 0 and saldofattura != 1 " ; } else $q_prec = '' ; $titolo .= '' . $anno . '' ; $arrVal = array() ; $arrValPag = array() ; $arrTotfornitore = array() ; $q = $q_anno . $q_prec . $q_2prec . " order by NomeCliente, DataSpedFattura" ; debug (0, $q) ; list($n,$d) = $db->RecuperaDati($q) ; // print_r($d) ; exit ; for ($i=0; $i<$n; $i++) { if (! array_key_exists($d['NomeCliente'][$i], $arrVal)) $arrVal[$d['NomeCliente'][$i]] = array() ; $arrValPag[$d['NomeCliente'][$i]]['TotFatt'] += $d['importofattura'][$i] ; $arrTotfornitore['TotFatt'] += $d['importofattura'][$i] ; if ($d['saldoFattura'][$i] == 0) $impPagato = " " ; else { $arrValPag[$d['NomeCliente'][$i]]['Pagato'] += $d['importofattura'][$i] ; $arrTotfornitore['Pagato'] += $d['importofattura'][$i] ; $impPagato = $d['importofattura'][$i] ; } if ($d['ItaDataPagFattura'][$i] == '00/00/0000') $dataPagFattura = " " ; else $dataPagFattura = $d['ItaDataPagFattura'][$i] ; $arrVal[$d['NomeCliente'][$i]][] = array( 'IdOrdine' => $d['idordini'][$i], 'NumFatt' => $d['numfattura'][$i], 'DataFattura' => $d['ItaDataSpedFattura'][$i], 'Scadenza' => CalcolaScadenza($d['ItaDataSpedFattura'][$i], $d['GG'][$i], $impPagato) , 'TipoPagamento' => $d['Tipo_Pagamento'][$i], 'ImportoFattura' => $d['importofattura'][$i], 'ImportoPagato' => $impPagato, 'DataPagFattura' => $dataPagFattura, 'Agente' => $d['nome'][$i], ) ; } // print_r($arrVal) ; ?>
| Cliente: | echo cambia_acc($nomeCliente) ?> | |||||||
| Num. Fattura | Data Fattura | Scadenza | Tipo Pag. | Importo | Imp. Pagato | Data Pag. Fatt. | Agente | Note |
| echo $arrFatt[$x]['NumFatt'] ?> | echo $arrFatt[$x]['DataFattura'] ?> | echo $arrFatt[$x]['Scadenza'] ?> | echo $arrFatt[$x]['TipoPagamento'] ?> | echo nfe($arrFatt[$x]['ImportoFattura']) ?> | echo nfe($arrFatt[$x]['ImportoPagato']) ?> | echo $arrFatt[$x]['DataPagFattura'] ?> | echo $arrFatt[$x]['Agente'] ?> | |
| (*) = fattura scaduta | Totale: | echo nfe($arrValPag[$nomeCliente]['TotFatt']) ?> | echo nfe($arrValPag[$nomeCliente]['Pagato']) ?> | Differenza: | echo nfe($arrValPag[$nomeCliente]['TotFatt'] - $arrValPag[$nomeCliente]['Pagato']) ?> | |||
| Totale fornitore: | echo nfe($arrTotfornitore['TotFatt']) ?> | echo nfe($arrTotfornitore['Pagato']) ?> | Differenza: | echo nfe($arrTotfornitore['TotFatt'] - $arrTotfornitore['Pagato']) ?> | ||||