Correzione widget Attività da pianificare e da programmare
Spostamento delle funzioni deprecate.
This commit is contained in:
parent
b4105b68f8
commit
bc81339f18
195
lib/common.php
195
lib/common.php
|
@ -43,71 +43,6 @@ function sum($first, $second = null, $decimals = 4)
|
|||
return floatval($result);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param $field
|
||||
* @param $id_riga
|
||||
* @param $old_qta
|
||||
* @param $new_qta
|
||||
* @param $dir
|
||||
*
|
||||
* @throws Exception
|
||||
*
|
||||
* @return bool
|
||||
*
|
||||
* @deprecated
|
||||
*/
|
||||
function controlla_seriali($field, $id_riga, $old_qta, $new_qta, $dir)
|
||||
{
|
||||
$dbo = database();
|
||||
|
||||
$new_qta = abs($new_qta);
|
||||
$old_qta = abs($old_qta);
|
||||
|
||||
if ($old_qta >= $new_qta) {
|
||||
// Controllo sulla possibilità di rimuovere i seriali (se non utilizzati da documenti di vendita)
|
||||
if ($dir == 'uscita' && $new_qta < count(seriali_non_rimuovibili($field, $id_riga, $dir))) {
|
||||
return false;
|
||||
} else {
|
||||
// Controllo sul numero di seriali effettivi da rimuovere
|
||||
$count = $dbo->fetchArray('SELECT COUNT(*) AS tot FROM mg_prodotti WHERE '.$field.'='.prepare($id_riga))[0]['tot'];
|
||||
if ($new_qta < $count) {
|
||||
$deletes = $dbo->fetchArray("SELECT id FROM mg_prodotti WHERE serial NOT IN (SELECT serial FROM mg_prodotti WHERE dir = 'entrata' AND ".$field.'!='.prepare($id_riga).') AND '.$field.'='.prepare($id_riga).' ORDER BY serial DESC LIMIT '.abs($count - $new_qta));
|
||||
|
||||
// Rimozione
|
||||
foreach ($deletes as $delete) {
|
||||
$dbo->query('DELETE FROM mg_prodotti WHERE id = '.prepare($delete['id']));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Individua i seriali non rimuovibili poichè utilizzati in documenti rilasciati.
|
||||
*
|
||||
* @param string $field
|
||||
* @param int $id_riga
|
||||
* @param string $dir
|
||||
*
|
||||
* @return array
|
||||
*
|
||||
* @deprecated
|
||||
*/
|
||||
function seriali_non_rimuovibili($field, $id_riga, $dir)
|
||||
{
|
||||
$dbo = database();
|
||||
|
||||
$results = [];
|
||||
|
||||
if ($dir == 'uscita') {
|
||||
$results = $dbo->fetchArray("SELECT serial FROM mg_prodotti WHERE serial IN (SELECT serial FROM mg_prodotti WHERE dir = 'entrata') AND ".$field.'='.prepare($id_riga));
|
||||
}
|
||||
|
||||
return $results;
|
||||
}
|
||||
|
||||
/**
|
||||
* Calcola gli sconti in modo automatico.
|
||||
*
|
||||
|
@ -140,136 +75,6 @@ function calcola_sconto($data)
|
|||
return $result;
|
||||
}
|
||||
|
||||
/**
|
||||
* Restistuisce le informazioni sull'eventuale riferimento ai documenti.
|
||||
*
|
||||
* @param $info
|
||||
* @param $dir
|
||||
* @param array $ignore
|
||||
*
|
||||
* @deprecated
|
||||
*
|
||||
* @throws Exception
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
function doc_references($info, $dir, $ignore = [])
|
||||
{
|
||||
$dbo = database();
|
||||
|
||||
// Rimozione valori da non controllare
|
||||
foreach ($ignore as $field) {
|
||||
if (isset($info[$field])) {
|
||||
unset($info[$field]);
|
||||
}
|
||||
}
|
||||
|
||||
$module = null;
|
||||
$id = null;
|
||||
|
||||
// DDT
|
||||
if (!empty($info['idddt'])) {
|
||||
$data = $dbo->fetchArray("SELECT IF(numero_esterno != '', numero_esterno, numero) AS numero, data FROM dt_ddt WHERE id=".prepare($info['idddt']));
|
||||
|
||||
$module = ($dir == 'entrata') ? 'Ddt di vendita' : 'Ddt di acquisto';
|
||||
$id = $info['idddt'];
|
||||
|
||||
$document = tr('Ddt');
|
||||
}
|
||||
|
||||
// Ordine
|
||||
elseif (!empty($info['idordine'])) {
|
||||
$data = $dbo->fetchArray("SELECT IF(numero_esterno != '', numero_esterno, numero) AS numero, data FROM or_ordini WHERE id=".prepare($info['idordine']));
|
||||
|
||||
$module = ($dir == 'entrata') ? 'Ordini cliente' : 'Ordini fornitore';
|
||||
$id = $info['idordine'];
|
||||
|
||||
$document = tr('Ordine');
|
||||
}
|
||||
|
||||
// Preventivo
|
||||
elseif (!empty($info['idpreventivo'])) {
|
||||
$data = $dbo->fetchArray('SELECT numero, data_bozza AS data FROM co_preventivi WHERE id='.prepare($info['idpreventivo']));
|
||||
|
||||
$module = 'Preventivi';
|
||||
$id = $info['idpreventivo'];
|
||||
|
||||
$document = tr('Preventivo');
|
||||
}
|
||||
|
||||
// Contratto
|
||||
elseif (!empty($info['idcontratto'])) {
|
||||
$data = $dbo->fetchArray('SELECT numero, data_bozza AS data FROM co_contratti WHERE id='.prepare($info['idcontratto']));
|
||||
|
||||
$module = 'Contratti';
|
||||
$id = $info['idcontratto'];
|
||||
|
||||
$document = tr('Contratto');
|
||||
}
|
||||
|
||||
// Intervento
|
||||
elseif (!empty($info['idintervento'])) {
|
||||
$data = $dbo->fetchArray('SELECT codice AS numero, IFNULL( (SELECT MIN(orario_inizio) FROM in_interventi_tecnici WHERE in_interventi_tecnici.idintervento=in_interventi.id), data_richiesta) AS data FROM in_interventi WHERE id='.prepare($info['idintervento']));
|
||||
|
||||
$module = 'Interventi';
|
||||
$id = $info['idintervento'];
|
||||
|
||||
$document = tr('Intervento');
|
||||
}
|
||||
|
||||
// Testo relativo
|
||||
if (!empty($module) && !empty($id)) {
|
||||
$document = Stringy\Stringy::create($document)->toLowerCase();
|
||||
|
||||
if (!empty($data)) {
|
||||
$description = tr('Rif. _DOC_ num. _NUM_ del _DATE_', [
|
||||
'_DOC_' => $document,
|
||||
'_NUM_' => $data[0]['numero'],
|
||||
'_DATE_' => Translator::dateToLocale($data[0]['data']),
|
||||
]);
|
||||
} else {
|
||||
$description = tr('_DOC_ di riferimento _ID_ eliminato', [
|
||||
'_DOC_' => $document->upperCaseFirst(),
|
||||
'_ID_' => $id,
|
||||
]);
|
||||
}
|
||||
|
||||
return [
|
||||
'module' => $module,
|
||||
'id' => $id,
|
||||
'description' => $description,
|
||||
];
|
||||
}
|
||||
|
||||
return [];
|
||||
}
|
||||
|
||||
/**
|
||||
* Restituisce i mesi tradotti nella lingua corrente.
|
||||
* Da sostituire con il relativo corretto utilizzo delle date PHP.
|
||||
*
|
||||
* @deprecated
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
function months()
|
||||
{
|
||||
return [
|
||||
1 => tr('Gennaio'),
|
||||
2 => tr('Febbraio'),
|
||||
3 => tr('Marzo'),
|
||||
4 => tr('Aprile'),
|
||||
5 => tr('Maggio'),
|
||||
6 => tr('Giugno'),
|
||||
7 => tr('Luglio'),
|
||||
8 => tr('Agosto'),
|
||||
9 => tr('Settembre'),
|
||||
10 => tr('Ottobre'),
|
||||
11 => tr('Novembre'),
|
||||
12 => tr('Dicembre'),
|
||||
];
|
||||
}
|
||||
|
||||
/**
|
||||
* Individua il valore della colonna order per i nuovi elementi di una tabella.
|
||||
*
|
||||
|
|
|
@ -188,3 +188,198 @@ function datediff($interval, $datefrom, $dateto, $using_timestamps = false)
|
|||
|
||||
return $datediff;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param $field
|
||||
* @param $id_riga
|
||||
* @param $old_qta
|
||||
* @param $new_qta
|
||||
* @param $dir
|
||||
*
|
||||
* @throws Exception
|
||||
*
|
||||
* @return bool
|
||||
*
|
||||
* @deprecated
|
||||
*/
|
||||
function controlla_seriali($field, $id_riga, $old_qta, $new_qta, $dir)
|
||||
{
|
||||
$dbo = database();
|
||||
|
||||
$new_qta = abs($new_qta);
|
||||
$old_qta = abs($old_qta);
|
||||
|
||||
if ($old_qta >= $new_qta) {
|
||||
// Controllo sulla possibilità di rimuovere i seriali (se non utilizzati da documenti di vendita)
|
||||
if ($dir == 'uscita' && $new_qta < count(seriali_non_rimuovibili($field, $id_riga, $dir))) {
|
||||
return false;
|
||||
} else {
|
||||
// Controllo sul numero di seriali effettivi da rimuovere
|
||||
$count = $dbo->fetchArray('SELECT COUNT(*) AS tot FROM mg_prodotti WHERE '.$field.'='.prepare($id_riga))[0]['tot'];
|
||||
if ($new_qta < $count) {
|
||||
$deletes = $dbo->fetchArray("SELECT id FROM mg_prodotti WHERE serial NOT IN (SELECT serial FROM mg_prodotti WHERE dir = 'entrata' AND ".$field.'!='.prepare($id_riga).') AND '.$field.'='.prepare($id_riga).' ORDER BY serial DESC LIMIT '.abs($count - $new_qta));
|
||||
|
||||
// Rimozione
|
||||
foreach ($deletes as $delete) {
|
||||
$dbo->query('DELETE FROM mg_prodotti WHERE id = '.prepare($delete['id']));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Individua i seriali non rimuovibili poichè utilizzati in documenti rilasciati.
|
||||
*
|
||||
* @param string $field
|
||||
* @param int $id_riga
|
||||
* @param string $dir
|
||||
*
|
||||
* @return array
|
||||
*
|
||||
* @deprecated
|
||||
*/
|
||||
function seriali_non_rimuovibili($field, $id_riga, $dir)
|
||||
{
|
||||
$dbo = database();
|
||||
|
||||
$results = [];
|
||||
|
||||
if ($dir == 'uscita') {
|
||||
$results = $dbo->fetchArray("SELECT serial FROM mg_prodotti WHERE serial IN (SELECT serial FROM mg_prodotti WHERE dir = 'entrata') AND ".$field.'='.prepare($id_riga));
|
||||
}
|
||||
|
||||
return $results;
|
||||
}
|
||||
|
||||
/**
|
||||
* Restistuisce le informazioni sull'eventuale riferimento ai documenti.
|
||||
*
|
||||
* @param $info
|
||||
* @param $dir
|
||||
* @param array $ignore
|
||||
*
|
||||
* @deprecated
|
||||
*
|
||||
* @throws Exception
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
function doc_references($info, $dir, $ignore = [])
|
||||
{
|
||||
$dbo = database();
|
||||
|
||||
// Rimozione valori da non controllare
|
||||
foreach ($ignore as $field) {
|
||||
if (isset($info[$field])) {
|
||||
unset($info[$field]);
|
||||
}
|
||||
}
|
||||
|
||||
$module = null;
|
||||
$id = null;
|
||||
|
||||
// DDT
|
||||
if (!empty($info['idddt'])) {
|
||||
$data = $dbo->fetchArray("SELECT IF(numero_esterno != '', numero_esterno, numero) AS numero, data FROM dt_ddt WHERE id=".prepare($info['idddt']));
|
||||
|
||||
$module = ($dir == 'entrata') ? 'Ddt di vendita' : 'Ddt di acquisto';
|
||||
$id = $info['idddt'];
|
||||
|
||||
$document = tr('Ddt');
|
||||
}
|
||||
|
||||
// Ordine
|
||||
elseif (!empty($info['idordine'])) {
|
||||
$data = $dbo->fetchArray("SELECT IF(numero_esterno != '', numero_esterno, numero) AS numero, data FROM or_ordini WHERE id=".prepare($info['idordine']));
|
||||
|
||||
$module = ($dir == 'entrata') ? 'Ordini cliente' : 'Ordini fornitore';
|
||||
$id = $info['idordine'];
|
||||
|
||||
$document = tr('Ordine');
|
||||
}
|
||||
|
||||
// Preventivo
|
||||
elseif (!empty($info['idpreventivo'])) {
|
||||
$data = $dbo->fetchArray('SELECT numero, data_bozza AS data FROM co_preventivi WHERE id='.prepare($info['idpreventivo']));
|
||||
|
||||
$module = 'Preventivi';
|
||||
$id = $info['idpreventivo'];
|
||||
|
||||
$document = tr('Preventivo');
|
||||
}
|
||||
|
||||
// Contratto
|
||||
elseif (!empty($info['idcontratto'])) {
|
||||
$data = $dbo->fetchArray('SELECT numero, data_bozza AS data FROM co_contratti WHERE id='.prepare($info['idcontratto']));
|
||||
|
||||
$module = 'Contratti';
|
||||
$id = $info['idcontratto'];
|
||||
|
||||
$document = tr('Contratto');
|
||||
}
|
||||
|
||||
// Intervento
|
||||
elseif (!empty($info['idintervento'])) {
|
||||
$data = $dbo->fetchArray('SELECT codice AS numero, IFNULL( (SELECT MIN(orario_inizio) FROM in_interventi_tecnici WHERE in_interventi_tecnici.idintervento=in_interventi.id), data_richiesta) AS data FROM in_interventi WHERE id='.prepare($info['idintervento']));
|
||||
|
||||
$module = 'Interventi';
|
||||
$id = $info['idintervento'];
|
||||
|
||||
$document = tr('Intervento');
|
||||
}
|
||||
|
||||
// Testo relativo
|
||||
if (!empty($module) && !empty($id)) {
|
||||
$document = Stringy\Stringy::create($document)->toLowerCase();
|
||||
|
||||
if (!empty($data)) {
|
||||
$description = tr('Rif. _DOC_ num. _NUM_ del _DATE_', [
|
||||
'_DOC_' => $document,
|
||||
'_NUM_' => $data[0]['numero'],
|
||||
'_DATE_' => Translator::dateToLocale($data[0]['data']),
|
||||
]);
|
||||
} else {
|
||||
$description = tr('_DOC_ di riferimento _ID_ eliminato', [
|
||||
'_DOC_' => $document->upperCaseFirst(),
|
||||
'_ID_' => $id,
|
||||
]);
|
||||
}
|
||||
|
||||
return [
|
||||
'module' => $module,
|
||||
'id' => $id,
|
||||
'description' => $description,
|
||||
];
|
||||
}
|
||||
|
||||
return [];
|
||||
}
|
||||
|
||||
/**
|
||||
* Restituisce i mesi tradotti nella lingua corrente.
|
||||
* Da sostituire con il relativo corretto utilizzo delle date PHP.
|
||||
*
|
||||
* @deprecated
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
function months()
|
||||
{
|
||||
return [
|
||||
1 => tr('Gennaio'),
|
||||
2 => tr('Febbraio'),
|
||||
3 => tr('Marzo'),
|
||||
4 => tr('Aprile'),
|
||||
5 => tr('Maggio'),
|
||||
6 => tr('Giugno'),
|
||||
7 => tr('Luglio'),
|
||||
8 => tr('Agosto'),
|
||||
9 => tr('Settembre'),
|
||||
10 => tr('Ottobre'),
|
||||
11 => tr('Novembre'),
|
||||
12 => tr('Dicembre'),
|
||||
];
|
||||
}
|
||||
|
|
|
@ -21,6 +21,11 @@ class Intervento extends Document
|
|||
|
||||
protected $info = [];
|
||||
|
||||
protected $dates = [
|
||||
'data_richiesta',
|
||||
'data_scadenza',
|
||||
];
|
||||
|
||||
/**
|
||||
* Crea un nuovo intervento.
|
||||
*
|
||||
|
|
|
@ -1,89 +0,0 @@
|
|||
<?php
|
||||
|
||||
include_once __DIR__.'/../../../core.php';
|
||||
|
||||
// TODO: aggiornare con la funzione months()
|
||||
$mesi = months();
|
||||
|
||||
// Righe inserite
|
||||
$qp = "SELECT IF(data_scadenza IS NULL, data_richiesta, data_scadenza) AS data, id, codice, richiesta, data_richiesta, data_scadenza, DATE_FORMAT(IF(data_scadenza IS NULL, data_richiesta, data_scadenza), '%m%Y') AS mese, (SELECT descrizione FROM in_tipiintervento WHERE idtipointervento = in_interventi.idtipointervento ) AS tipointervento, idanagrafica AS idcliente, (SELECT ragione_sociale FROM an_anagrafiche WHERE idanagrafica = in_interventi.idanagrafica) AS ragione_sociale FROM in_interventi WHERE id NOT IN (SELECT idintervento FROM in_interventi_tecnici) AND idstatointervento IN (SELECT idstatointervento FROM in_statiintervento WHERE is_completato = 0) ORDER BY DATE_FORMAT( IF(data_scadenza IS NULL, data_richiesta, data_scadenza), '%Y-%m') ASC, ragione_sociale ASC";
|
||||
$rsp = $dbo->fetchArray($qp);
|
||||
$n = $dbo->fetchNum($qp);
|
||||
|
||||
if (!empty($n)) {
|
||||
// Elenco interventi da pianificare
|
||||
foreach ($rsp as $i => $r) {
|
||||
// Se cambia il mese ricreo l'intestazione della tabella
|
||||
if (!isset($rsp[$i - 1]) || $r['mese'] != $rsp[$i - 1]['mese']) {
|
||||
if ($i == 0) {
|
||||
$attr = '';
|
||||
$class = 'fa-minus-circle';
|
||||
} else {
|
||||
$attr = 'style="display:none;"';
|
||||
$class = 'fa-plus-circle';
|
||||
}
|
||||
|
||||
echo "
|
||||
<h4>
|
||||
<a class='clickable' onclick=\"if( $('#t1_".$i."').css('display') == 'none' ){ $(this).children('i').removeClass('fa-plus-circle'); $(this).children('i').addClass('fa-minus-circle'); }else{ $(this).children('i').addClass('fa-plus-circle'); $(this).children('i').removeClass('fa-minus-circle'); } $('#t1_".$i."').slideToggle();\">
|
||||
<i class='fa ".$class."'></i> ".$mesi[intval(date('m', strtotime($r['data'])))].' '.date('Y', strtotime($r['data'])).'
|
||||
</a>
|
||||
</h4>';
|
||||
|
||||
echo '
|
||||
<div id="t1_'.$i.'" '.$attr.'>
|
||||
<table class="table table-hover table-striped">
|
||||
<thead>
|
||||
<tr>
|
||||
<th width="70">'.tr('Codice').'</th>
|
||||
<th width="120">'.tr('Cliente').'</th>
|
||||
<th width="70"><small>'.tr('Data richiesta').'</small></th>
|
||||
<th width="70"><small>'.tr('Data scadenza').'</small></th>
|
||||
<th width="200">'.tr('Tipo intervento').'</th>
|
||||
<th>'.tr('Descrizione').'</th>
|
||||
<th width="100">'.tr('Sede').'</th>
|
||||
</tr>
|
||||
</thead>
|
||||
|
||||
<tbody>';
|
||||
}
|
||||
|
||||
echo '
|
||||
<tr id="int_'.$r['id'].'">
|
||||
<td><a target="_blank" >'.Modules::link(Modules::get('Interventi')['id'], $r['id'], $r['codice']).'</a></td>
|
||||
<td>'.$r['ragione_sociale'].'</td>
|
||||
<td>'.Translator::dateToLocale($r['data_richiesta']).'</td>
|
||||
<td>'.((empty($r['data_scadenza'])) ? ' - ' : Translator::dateToLocale($r['data_scadenza'])).'</td>
|
||||
<td>'.$r['tipointervento'].'</td>
|
||||
<td>'.nl2br($r['richiesta']).'</td>
|
||||
';
|
||||
|
||||
echo '
|
||||
<td>';
|
||||
// Sede
|
||||
if ($r['idsede'] == '-1') {
|
||||
echo '- '.('Nessuna').' -';
|
||||
} elseif (empty($r['idsede'])) {
|
||||
echo tr('Sede legale');
|
||||
} else {
|
||||
$rsp2 = $dbo->fetchArray("SELECT id, CONCAT( CONCAT_WS( ' (', CONCAT_WS(', ', nomesede, citta), indirizzo ), ')') AS descrizione FROM an_sedi WHERE id=".prepare($r['idsede']));
|
||||
|
||||
echo $rsp2[0]['descrizione'];
|
||||
}
|
||||
echo '
|
||||
</td>';
|
||||
|
||||
echo '
|
||||
</tr>';
|
||||
|
||||
if (!isset($rsp[$i + 1]) || $r['mese'] != $rsp[$i + 1]['mese']) {
|
||||
echo '
|
||||
</tbody>
|
||||
</table>
|
||||
</div>';
|
||||
}
|
||||
}
|
||||
} else {
|
||||
echo '
|
||||
<p>'.tr('Non ci sono interventi da pianificare').'.</p>';
|
||||
}
|
|
@ -1,32 +1,94 @@
|
|||
<?php
|
||||
|
||||
use Modules\Interventi\Intervento;
|
||||
|
||||
include_once __DIR__.'/../../../core.php';
|
||||
|
||||
$rs = $dbo->fetchArray('SELECT * FROM in_interventi WHERE in_interventi.idstatointervento = (SELECT in_statiintervento.idstatointervento FROM in_statiintervento WHERE in_statiintervento.codice=\'TODO\') ORDER BY data_richiesta ASC');
|
||||
// Interventi da pianificare
|
||||
$interventi_da_pianificare = Intervento::doesntHave('sessioni')
|
||||
->orderByRaw('IF(data_scadenza IS NULL, data_richiesta, data_scadenza)')
|
||||
->get();
|
||||
$raggruppamenti = $interventi_da_pianificare->groupBy(function ($item, $key) {
|
||||
$data = $item->data_scadenza ?: $item->data_richiesta;
|
||||
|
||||
return $data->formatLocalized('%B %Y');
|
||||
});
|
||||
|
||||
$counter = 0;
|
||||
foreach ($raggruppamenti as $mese => $raggruppamento) {
|
||||
++$counter;
|
||||
|
||||
// Se cambia il mese ricreo l'intestazione della tabella
|
||||
if ($counter == 1) {
|
||||
$attr = '';
|
||||
$class = 'fa-minus-circle';
|
||||
} else {
|
||||
$attr = 'style="display:none;"';
|
||||
$class = 'fa-plus-circle';
|
||||
}
|
||||
|
||||
echo "
|
||||
<h4>
|
||||
<a class='clickable' onclick=\"if( $('#t1_".$counter."').css('display') == 'none' ){ $(this).children('i').removeClass('fa-plus-circle'); $(this).children('i').addClass('fa-minus-circle'); }else{ $(this).children('i').addClass('fa-plus-circle'); $(this).children('i').removeClass('fa-minus-circle'); } $('#t1_".$counter."').slideToggle();\">
|
||||
<i class='fa ".$class."'></i> ".$mese.'
|
||||
</a>
|
||||
</h4>';
|
||||
|
||||
if (!empty($rs)) {
|
||||
echo '
|
||||
<table class="table table-hover">
|
||||
<tr>
|
||||
<th width="50%">'.tr('Attività').'</th>
|
||||
<th width="15%">'.tr('Data richiesta').'</th>
|
||||
</tr>';
|
||||
<div id="t1_'.$counter.'" '.$attr.'>
|
||||
<table class="table table-hover table-striped">
|
||||
<thead>
|
||||
<tr>
|
||||
<th width="70">'.tr('Codice').'</th>
|
||||
<th width="120">'.tr('Cliente').'</th>
|
||||
<th width="70"><small>'.tr('Data richiesta').'</small></th>
|
||||
<th width="70"><small>'.tr('Data scadenza').'</small></th>
|
||||
<th width="200">'.tr('Tipo intervento').'</th>
|
||||
<th>'.tr('Descrizione').'</th>
|
||||
<th width="100">'.tr('Sede').'</th>
|
||||
</tr>
|
||||
</thead>
|
||||
|
||||
foreach ($rs as $r) {
|
||||
$data_richiesta = !empty($r['data_richiesta']) ? Translator::dateToLocale($r['data_richiesta']) : '';
|
||||
<tbody>';
|
||||
|
||||
// Elenco interventi da pianificare
|
||||
foreach ($raggruppamento as $r) {
|
||||
echo '
|
||||
<tr id="int_'.$r['id'].'">
|
||||
<td><a target="_blank" >'.Modules::link(Modules::get('Interventi')['id'], $r['id'], $r['codice']).'</a></td>
|
||||
<td>'.$r['ragione_sociale'].'</td>
|
||||
<td>'.Translator::dateToLocale($r['data_richiesta']).'</td>
|
||||
<td>'.((empty($r['data_scadenza'])) ? ' - ' : Translator::dateToLocale($r['data_scadenza'])).'</td>
|
||||
<td>'.$r['tipointervento'].'</td>
|
||||
<td>'.nl2br($r['richiesta']).'</td>
|
||||
';
|
||||
|
||||
echo '
|
||||
<tr >
|
||||
<td>
|
||||
'.Modules::link('Interventi', $r['id'], 'Intervento n. '.$r['codice'].' del '.$data_richiesta).'<br>
|
||||
<small class="help-block">'.$r['ragione_sociale'].'</small>
|
||||
</td>
|
||||
<td class="text-center">'.$data_richiesta.'</td>
|
||||
</tr>';
|
||||
<td>';
|
||||
// Sede
|
||||
if ($r['idsede'] == '-1') {
|
||||
echo '- '.('Nessuna').' -';
|
||||
} elseif (empty($r['idsede'])) {
|
||||
echo tr('Sede legale');
|
||||
} else {
|
||||
$rsp2 = $dbo->fetchArray("SELECT id, CONCAT( CONCAT_WS( ' (', CONCAT_WS(', ', nomesede, citta), indirizzo ), ')') AS descrizione FROM an_sedi WHERE id=".prepare($r['idsede']));
|
||||
|
||||
echo $rsp2[0]['descrizione'];
|
||||
}
|
||||
echo '
|
||||
</td>';
|
||||
|
||||
echo '
|
||||
</tr>';
|
||||
}
|
||||
|
||||
echo '
|
||||
</table>';
|
||||
} else {
|
||||
echo '
|
||||
<p>'.tr('Non ci sono attività da programmare').'.</p>';
|
||||
</tbody>
|
||||
</table>
|
||||
</div>';
|
||||
}
|
||||
|
||||
if ($raggruppamenti->isEmpty()) {
|
||||
echo '
|
||||
<p>'.tr('Non ci sono interventi da pianificare').'.</p>';
|
||||
}
|
||||
|
|
|
@ -0,0 +1,32 @@
|
|||
<?php
|
||||
|
||||
include_once __DIR__.'/../../../core.php';
|
||||
|
||||
$rs = $dbo->fetchArray('SELECT * FROM in_interventi WHERE in_interventi.idstatointervento = (SELECT in_statiintervento.idstatointervento FROM in_statiintervento WHERE in_statiintervento.codice=\'TODO\') ORDER BY data_richiesta ASC');
|
||||
|
||||
if (!empty($rs)) {
|
||||
echo '
|
||||
<table class="table table-hover">
|
||||
<tr>
|
||||
<th width="50%">'.tr('Attività').'</th>
|
||||
<th width="15%">'.tr('Data richiesta').'</th>
|
||||
</tr>';
|
||||
|
||||
foreach ($rs as $r) {
|
||||
$data_richiesta = !empty($r['data_richiesta']) ? Translator::dateToLocale($r['data_richiesta']) : '';
|
||||
|
||||
echo '
|
||||
<tr >
|
||||
<td>
|
||||
'.Modules::link('Interventi', $r['id'], 'Intervento n. '.$r['codice'].' del '.$data_richiesta).'<br>
|
||||
<small class="help-block">'.$r['ragione_sociale'].'</small>
|
||||
</td>
|
||||
<td class="text-center">'.$data_richiesta.'</td>
|
||||
</tr>';
|
||||
}
|
||||
echo '
|
||||
</table>';
|
||||
} else {
|
||||
echo '
|
||||
<p>'.tr('Non ci sono attività da programmare').'.</p>';
|
||||
}
|
|
@ -473,3 +473,7 @@ UPDATE `zz_widgets` SET `query` = 'SELECT COUNT(id) AS dato FROM in_interventi W
|
|||
-- Lista con indirizzi email validi per ogni anagrafica caricata a sistema
|
||||
INSERT INTO `em_lists` (`id`, `name`, `description`, `query`, `deleted_at`) VALUES
|
||||
(NULL, 'Tutte le anagrafiche', 'Indirizzi email validi per ogni anagrafica caricata a sistema', 'SELECT idanagrafica AS id FROM an_anagrafiche WHERE email != \'\'', NULL);
|
||||
|
||||
-- Correzioni minori su widget
|
||||
UPDATE `zz_widgets` SET `more_link` = './modules/interventi/widgets/interventi_da_programmare.php' WHERE `name` = 'Attività nello stato da programmare';
|
||||
UPDATE `zz_widgets` SET `more_link` = './modules/interventi/widgets/interventi_da_pianificare.php' WHERE `name` = 'Attività da pianificare';
|
||||
|
|
Loading…
Reference in New Issue