'.tr('Fatture da emettere').'
'; // Righe inserite //idcontratto IN( SELECT id FROM co_contratti WHERE idstato IN(SELECT id FROM co_staticontratti WHERE pianificabile = 1) ) AND $qp = "SELECT *, (SELECT SUM(subtotale) FROM co_righe_contratti WHERE idcontratto=co_ordiniservizio_pianificazionefatture.idcontratto) AS budget_contratto, DATE_FORMAT( data_scadenza, '%m-%Y') AS mese, (SELECT idanagrafica FROM co_contratti WHERE id=idcontratto) AS idcliente, (SELECT ragione_sociale FROM an_anagrafiche WHERE idanagrafica=(SELECT idanagrafica FROM co_contratti WHERE id=idcontratto)) AS ragione_sociale, (SELECT descrizione FROM an_zone WHERE id=co_ordiniservizio_pianificazionefatture.idzona) AS zona FROM co_ordiniservizio_pianificazionefatture WHERE co_ordiniservizio_pianificazionefatture.iddocumento=0 ORDER BY DATE_FORMAT( data_scadenza, '%m-%Y') ASC, idcliente ASC"; $rsp = $dbo->fetchArray($qp); if (!empty($rsp)) { // Lettura numero di rate e totale già fatturato $rs2 = $dbo->fetchArray('SELECT * FROM co_ordiniservizio_pianificazionefatture'); for ($j = 0; $j < sizeof($rs2); ++$j) { // Leggo quante rate sono pianificate per dividere l'importo delle sedi in modo corretto ++$n_rate[$rs2[$j]['idcontratto']][$rs2[$j]['idzona']]; // Leggo il totale già fatturato per questa zona per toglierlo dalla divisione (totale/n_rate) $rs3 = $dbo->fetchArray('SELECT SUM(subtotale-sconto) AS totale FROM co_righe_documenti WHERE iddocumento='.prepare($rs2[$j]['iddocumento'])); $gia_fatturato[$rs2[$j]['idcontratto']][$rs2[$j]['idzona']] += $rs3[0]['totale']; } // Elenco fatture da emettere foreach ($rsp as $i => $r) { ++$n_rata[$r['idzona']][$r['idcontratto']]; // Se cambia il mese ricreo l'intestazione della tabella if (!isset($rsp[$i - 1]) || $r['mese'] != $rsp[$i - 1]['mese']) { echo "
"; if ($i == 0) { $attr = ''; $class = 'fa-minus-circle'; } else { $attr = 'style="display:none;"'; $class = 'fa-plus-circle'; } echo "

".$mesi[intval(date('m', strtotime($r['data_scadenza']))) - 1].' '.date('Y', strtotime($r['data_scadenza'])).'

'; echo '
'; } $n_sedi_pianificate = $dbo->fetchNum('SELECT DISTINCT(idsede) FROM my_impianti WHERE id IN (SELECT idimpianto FROM co_ordiniservizio WHERE idcontratto='.prepare($r['idcontratto']).') AND idsede IN(SELECT id FROM an_sedi WHERE idzona='.prepare($r['idzona']).')'); // Verifico se ci sono impianti in questa zona legati alla sede legale $n_sedi_pianificate += $dbo->fetchNum('SELECT DISTINCT(idsede) FROM my_impianti WHERE id IN (SELECT idimpianto FROM co_ordiniservizio WHERE idcontratto='.prepare($r['idcontratto']).') AND idsede=(SELECT idsede FROM an_anagrafiche WHERE idanagrafica=(SELECT idanagrafica FROM co_contratti WHERE id='.prepare($r['idcontratto']).') AND idzona='.prepare($r['idzona']).') AND idsede=0'); /* Importo */ // $importo = ($r['budget_contratto'] * $n_sedi_pianificate / $n_rate[ $r['idcontratto'] ][ $r['idzona'] ]) - ($gia_fatturato[ $r['idcontratto'] ][ $r['idzona'] ] * $n_sedi_pianificate / sizeof($gia_fatturato[ $r['idcontratto'] ][ $r['idzona'] ]) ); $importo = ($r['budget_contratto'] * $n_sedi_pianificate / $n_rate[$r['idcontratto']][$r['idzona']]); // Sede if ($r['zona'] == '') { $zona = tr('Altro'); } else { $zona = $r['zona']; } if ($n_sedi_pianificate == 1) { $n_sedi = tr('1 sede'); } else { $n_sedi = tr('_NUM_ sedi', [ '_NUM_' => $n_sedi_pianificate, ]); } // Visualizzo solo le rate non pagate if ($r['iddocumento'] == 0) { echo " '; // Pulsanti echo ' '; } if (!isset($rsp[$i + 1]) || $r['mese'] != $rsp[$i + 1]['mese']) { echo '
'.tr('Entro il').' '.tr('Ragione sociale').' '.tr('Zona').' '.tr('Impianto').'
".Translator::dateToLocale($r['data_scadenza'])." ".nl2br($r['ragione_sociale']).' '.$zona.' ('.$n_sedi.') '.Translator::numberToLocale($importo).' €
'.Translator::numberToLocale($r['budget_contratto']).' € x '.$n_sedi_pianificate.' sedi / '.$n_rate[$r['idcontratto']][$r['idzona']].' rate
'; if (empty($r['idintervento'])) { echo ''; } echo '
'; } } } else { echo '

'.tr('Non ci sono fatture da emettere').'.

'; }