Rimozione dipendenza da months()

This commit is contained in:
Thomas Zilio 2020-03-14 14:59:27 +01:00
parent fb43fc8e6c
commit 8806827f57
7 changed files with 60 additions and 48 deletions

View File

@ -285,14 +285,26 @@ if ($total == 0) {
</div>
<br>
<?php
$qp = 'SELECT MONTH(data_richiesta) AS mese, YEAR(data_richiesta) AS anno FROM (co_promemoria INNER JOIN co_contratti ON co_promemoria.idcontratto=co_contratti.id) INNER JOIN an_anagrafiche ON co_contratti.idanagrafica=an_anagrafiche.idanagrafica WHERE idcontratto IN( SELECT id FROM co_contratti WHERE idstato IN(SELECT id FROM co_staticontratti WHERE is_pianificabile = 1) ) AND idintervento IS NULL
$query_da_programmare = 'SELECT data_richiesta AS data FROM co_promemoria
INNER JOIN co_contratti ON co_promemoria.idcontratto=co_contratti.id
INNER JOIN an_anagrafiche ON co_contratti.idanagrafica=an_anagrafiche.idanagrafica
WHERE
idcontratto IN (SELECT id FROM co_contratti WHERE idstato IN (SELECT id FROM co_staticontratti WHERE is_pianificabile = 1))
AND idintervento IS NULL
UNION SELECT MONTH(data_scadenza) AS mese, YEAR(data_scadenza) AS anno FROM (co_ordiniservizio INNER JOIN co_contratti ON co_ordiniservizio.idcontratto=co_contratti.id) INNER JOIN an_anagrafiche ON co_contratti.idanagrafica=an_anagrafiche.idanagrafica WHERE idcontratto IN( SELECT id FROM co_contratti WHERE idstato IN(SELECT id FROM co_staticontratti WHERE is_pianificabile = 1) ) AND idintervento IS NULL
UNION SELECT data_scadenza AS data FROM co_ordiniservizio
INNER JOIN co_contratti ON co_ordiniservizio.idcontratto=co_contratti.id
INNER JOIN an_anagrafiche ON co_contratti.idanagrafica=an_anagrafiche.idanagrafica
WHERE
idcontratto IN (SELECT id FROM co_contratti WHERE idstato IN (SELECT id FROM co_staticontratti WHERE is_pianificabile = 1))
AND idintervento IS NULL
UNION SELECT MONTH(IF(data_scadenza IS NULL, data_richiesta, data_scadenza)) AS mese, YEAR(IF(data_scadenza IS NULL, data_richiesta, data_scadenza)) AS anno FROM in_interventi INNER JOIN an_anagrafiche ON in_interventi.idanagrafica=an_anagrafiche.idanagrafica WHERE (SELECT COUNT(*) FROM in_interventi_tecnici WHERE in_interventi_tecnici.idintervento = in_interventi.id) = 0 ORDER BY anno,mese';
$rsp = $dbo->fetchArray($qp);
UNION SELECT IF(data_scadenza IS NULL, data_richiesta, data_scadenza) AS data FROM in_interventi
INNER JOIN an_anagrafiche ON in_interventi.idanagrafica=an_anagrafiche.idanagrafica
WHERE (SELECT COUNT(*) FROM in_interventi_tecnici WHERE in_interventi_tecnici.idintervento = in_interventi.id) = 0';
$risultati_da_programmare = $dbo->fetchArray($query_da_programmare);
if (!empty($rsp)) {
if (!empty($risultati_da_programmare)) {
echo '
<div class="row">
<div class="col-md-10">';
@ -301,7 +313,7 @@ if (!empty($rsp)) {
echo '
<div id="calendar"></div>';
if (!empty($rsp)) {
if (!empty($risultati_da_programmare)) {
echo '
</div>
@ -309,49 +321,47 @@ if (!empty($rsp)) {
<h4>'.tr('Promemoria da pianificare').'</h4>';
// Controllo pianificazioni mesi precedenti
$qp_old = 'SELECT co_promemoria.id FROM co_promemoria INNER JOIN co_contratti ON co_promemoria.idcontratto=co_contratti.id WHERE idstato IN(SELECT id FROM co_staticontratti WHERE is_pianificabile = 1) AND idintervento IS NULL AND DATE_ADD(co_promemoria.data_richiesta, INTERVAL 1 DAY) <= NOW()
$query_mesi_precenti = 'SELECT co_promemoria.id FROM co_promemoria INNER JOIN co_contratti ON co_promemoria.idcontratto=co_contratti.id WHERE idstato IN(SELECT id FROM co_staticontratti WHERE is_pianificabile = 1) AND idintervento IS NULL AND DATE_ADD(co_promemoria.data_richiesta, INTERVAL 1 DAY) <= NOW()
UNION SELECT co_ordiniservizio.id FROM co_ordiniservizio INNER JOIN co_contratti ON co_ordiniservizio.idcontratto=co_contratti.id WHERE idstato IN(SELECT id FROM co_staticontratti WHERE is_pianificabile = 1) AND idintervento IS NULL AND DATE_ADD(co_ordiniservizio.data_scadenza, INTERVAL 1 DAY) <= NOW()
UNION SELECT in_interventi.id FROM in_interventi INNER JOIN an_anagrafiche ON in_interventi.idanagrafica=an_anagrafiche.idanagrafica WHERE (SELECT COUNT(*) FROM in_interventi_tecnici WHERE in_interventi_tecnici.idintervento = in_interventi.id) = 0 AND DATE_ADD(IF(in_interventi.data_scadenza IS NULL, in_interventi.data_richiesta, in_interventi.data_scadenza), INTERVAL 1 DAY) <= NOW()';
$rsp_old = $dbo->fetchNum($qp_old);
$numero_mesi_precenti = $dbo->fetchNum($query_mesi_precenti);
if ($rsp_old > 0) {
echo '<div class="alert alert-warning alert-dismissible text-sm" role="alert"><i class="fa fa-exclamation-triangle"></i><button type="button" class="close" data-dismiss="alert" aria-hidden="true">&times;</button> '.tr('Ci sono '.$rsp_old.' attività scadute.').'</div>';
if ($numero_mesi_precenti > 0) {
echo '<div class="alert alert-warning alert-dismissible text-sm" role="alert"><i class="fa fa-exclamation-triangle"></i><button type="button" class="close" data-dismiss="alert" aria-hidden="true">&times;</button> '.tr('Ci sono _NUM_ attività scadute', [
'_NUM_' => $numero_mesi_precenti,
]).'.</div>';
}
$mesi = months();
// Aggiunta della data corrente per visualizzare il mese corrente
$risultati_da_programmare[] = [
'data' => date('Y-m-d H:i:s'),
];
// Creo un array con tutti i mesi che contengono interventi
$mesi_interventi = [];
for ($i = 0; $i < sizeof($rsp); ++$i) {
$mese_n = $rsp[$i]['mese'].$rsp[$i]['anno'];
$mese_t = $mesi[intval($rsp[$i]['mese'])].' '.$rsp[$i]['anno'];
$mesi_interventi[$mese_n] = $mese_t;
}
$mesi = collect($risultati_da_programmare)
->unique(function ($item) {
$data = new Carbon\Carbon($item['data']);
// Aggiungo anche il mese corrente
$mesi_interventi[date('m').date('Y')] = $mesi[intval(date('m'))].' '.date('Y');
// Rimuovo i mesi doppi
array_unique($mesi_interventi);
// Ordino l'array per anno
foreach ($mesi_interventi as $key => &$data) {
ksort($data);
}
echo '<select class="superselect" id="select-intreventi-pianificare">';
foreach ($mesi_interventi as $key => $mese_intervento) {
echo '<option value="'.$key.'">'.$mese_intervento.'</option>';
}
echo '</select>';
echo '<div id="interventi-pianificare"></div>';
return $data->format('m-Y');
})
->sortBy('data');
echo '
<select class="superselect" id="select-intreventi-pianificare">';
foreach ($mesi as $mese) {
$data = new Carbon\Carbon($mese['data']);
$chiave = $data->format('mY');
$testo = $data->formatLocalized('%B %Y');
echo '
<option value="'.$chiave.'">'.ucfirst($testo).'</option>';
}
echo '
</select>
<div id="interventi-pianificare"></div>
</div>
</div>';
}
@ -461,7 +471,7 @@ if ($vista == 'mese') {
$('#calendar').fullCalendar('refetchEvents');
});
i++
i++;
update_counter( 'idzone_count', i);
});

View File

@ -11,7 +11,7 @@ $interventi_da_pianificare = Intervento::doesntHave('sessioni')
$raggruppamenti = $interventi_da_pianificare->groupBy(function ($item, $key) {
$data = $item->data_scadenza ?: $item->data_richiesta;
return $data->formatLocalized('%B %Y');
return ucfirst($data->formatLocalized('%B %Y'));
});
$counter = 0;

View File

@ -35,7 +35,7 @@ while ($data_corrente->lessThanOrEqualTo($data_conclusione)) {
<div class="col-md-3">
<label for="m_'.$count.'">
<input type="checkbox" class="unblockable" id="m_'.$count.'" name="selezione_periodo['.$count.']" />
'.$data_corrente->formatLocalized('%B %Y').'
'.ucfirst($data_corrente->formatLocalized('%B %Y')).'
</label>
<input type="hidden" name="periodo['.$count.']" value="'.$data.'">
</div>';

View File

@ -46,7 +46,7 @@ if (!$pianificazioni->isEmpty()) {
if (!$pianificazione->data_scadenza->equalTo($previous)) {
$previous = $pianificazione->data_scadenza;
echo '
<b>'.$pianificazione->data_scadenza->formatLocalized('%B %Y').'</b>';
<b>'.ucfirst($pianificazione->data_scadenza->formatLocalized('%B %Y')).'</b>';
}
echo '

View File

@ -83,14 +83,16 @@ class Translator extends Util\Singleton
Carbon::setUtf8(true);
$result = setlocale(LC_TIME, $locale);
$result = setlocale(LC_ALL, $locale);
Carbon::setLocale($locale);
if (empty($result)) {
$reduced = explode('_', $locale)[0];
$result = setlocale(LC_ALL, $locale.'.UTF-8');
}
$result = setlocale(LC_TIME, $reduced);
Carbon::setLocale($reduced);
if (empty($result)) {
$reduced = explode('_', $locale)[0];
$result = setlocale(LC_ALL, $reduced);
}
self::setFormatter($locale, $formatter);

View File

@ -41,7 +41,7 @@ $totale_finale = 0;
// Nel fatturato totale è corretto NON tenere in considerazione eventuali rivalse, ritenute acconto o contributi.
foreach ($raggruppamenti as $raggruppamento) {
$data = new \Carbon\Carbon($raggruppamento['data']);
$mese = $data->formatLocalized('%B %Y');
$mese = ucfirst($data->formatLocalized('%B %Y'));
$imponibile = $raggruppamento['imponibile'];
$iva = $raggruppamento['iva'];

View File

@ -5,7 +5,7 @@ $files = [
'templates\fatturato\pdfgen.fatturato.php',
'templates\fatturato\fatturato_body.html',
'templates\fatturato\fatturato.html',
'modules/interventi/widgets/interventi.pianificazionedashboard.interventi.php',
'modules\interventi\widgets\interventi.pianificazionedashboard.interventi.php',
];
foreach ($files as $key => $value) {