50 lines
3.2 KiB
PHP
50 lines
3.2 KiB
PHP
<?php
|
|
|
|
include_once __DIR__.'/../../../core.php';
|
|
|
|
$rs = $dbo->fetchArray('SELECT *, ( (SELECT SUM(co_righe_contratti.qta) FROM co_righe_contratti WHERE co_righe_contratti.um=\'ore\' AND co_righe_contratti.idcontratto=co_contratti.id) - IFNULL( (SELECT SUM(in_interventi_tecnici.ore) FROM in_interventi_tecnici INNER JOIN in_interventi ON in_interventi_tecnici.idintervento=in_interventi.id WHERE in_interventi.id_contratto=co_contratti.id AND in_interventi.idstatointervento IN (SELECT in_statiintervento.idstatointervento FROM in_statiintervento WHERE in_statiintervento.completato = 1)), 0) ) AS ore, DATEDIFF( data_conclusione, NOW() ) AS giorni_rimanenti, (SELECT ragione_sociale FROM an_anagrafiche WHERE idanagrafica=co_contratti.idanagrafica) AS ragione_sociale FROM co_contratti WHERE idstato IN(SELECT id FROM co_staticontratti WHERE is_fatturabile = 1) AND rinnovabile=1 AND ( ( (SELECT SUM(co_righe_contratti.qta) FROM co_righe_contratti WHERE co_righe_contratti.um=\'ore\' AND co_righe_contratti.idcontratto=co_contratti.id) - IFNULL( (SELECT SUM(in_interventi_tecnici.ore) FROM in_interventi_tecnici INNER JOIN in_interventi ON in_interventi_tecnici.idintervento=in_interventi.id WHERE in_interventi.id_contratto=co_contratti.id AND in_interventi.idstatointervento IN (SELECT in_statiintervento.idstatointervento FROM in_statiintervento WHERE in_statiintervento.completato = 1)), 0) ) < co_contratti.ore_preavviso_rinnovo OR NOW() > DATE_ADD( data_conclusione, INTERVAL - ABS(giorni_preavviso_rinnovo) DAY) ) AND YEAR(data_conclusione) > 1970 HAVING ISNULL((SELECT id FROM co_contratti contratti WHERE contratti.idcontratto_prev=co_contratti.id )) ORDER BY giorni_rimanenti ASC');
|
|
|
|
if (!empty($rs)) {
|
|
echo '
|
|
<table class="table table-hover">
|
|
<tr>
|
|
<th width="50%">'.tr('Contratto').'</th>
|
|
<th width="15%">'.tr('Data inizio').'</th>
|
|
<th width="15%">'.tr('Data conclusione').'</th>
|
|
<th width="20%">'.tr('Rinnovo').'</th>
|
|
</tr>';
|
|
|
|
foreach ($rs as $r) {
|
|
$data_accettazione = !empty($r['data_accettazione']) ? Translator::dateToLocale($r['data_accettazione']) : '';
|
|
|
|
$data_conclusione = !empty($r['data_conclusione']) ? Translator::dateToLocale($r['data_conclusione']) : '';
|
|
|
|
// Se scaduto, segna la riga in rosso
|
|
$class = (strtotime($r['data_conclusione']) < strtotime(date('Y-m-d')) && !empty($data_conclusione)) ? 'danger' : '';
|
|
|
|
if ($class != 'danger') {
|
|
// Se ore finite, segna la riga in rosso
|
|
$class = ($r['ore'] < 1 && !empty($r['ore'])) ? 'danger' : '';
|
|
}
|
|
|
|
$scadenza = ($r['giorni_rimanenti'] > 0) ? tr('scade fra _DAYS_ giorni') : tr('scaduto da _DAYS_ giorni');
|
|
$scadenza = str_replace('_DAYS_', $r['giorni_rimanenti'], $scadenza);
|
|
|
|
echo '
|
|
<tr class="'.$class.'">
|
|
<td>
|
|
'.Modules::link('Contratti', $r['id'], $r['nome']).'<br>
|
|
<small class="help-block">'.$r['ragione_sociale'].'</small>
|
|
</td>
|
|
<td class="text-center">'.$data_accettazione.'</td>
|
|
<td class="text-center">'.$data_conclusione.'</td>
|
|
<td class="text-center">'.$scadenza.'</td>
|
|
</tr>';
|
|
}
|
|
echo '
|
|
</table>';
|
|
} else {
|
|
echo '
|
|
<p>'.tr('Non ci sono contratti in scadenza').'.</p>';
|
|
}
|