Non puoi selezionare più di 25 argomenti
Gli argomenti devono iniziare con una lettera o un numero, possono includere trattini ('-') e possono essere lunghi fino a 35 caratteri.
168 righe
6.3 KiB
168 righe
6.3 KiB
|
|
<? |
|
$configPath = substr(__DIR__,0,strpos(__DIR__,"/public_html"))."/config.php"; |
|
include_once($configPath); |
|
|
|
$id_modulo = "contratti.documentale"; |
|
|
|
if (!empty($_GET['codice_contratto']) && !empty($_SESSION["utente"]) && $_SESSION["utente"]->permission($id_modulo)) { |
|
|
|
$contratto = stipula::init($_GET['codice_contratto']); |
|
|
|
if(!empty($contratto)){ |
|
|
|
$return = array(); |
|
$return["draw"] = (int)$_GET["draw"]; |
|
$return["recordsTotal"] = (int)0; |
|
$return["recordsFiltered"] = (int)0; |
|
|
|
|
|
$filters = [ |
|
'codice_contratto' => $contratto->info['codice'], |
|
]; |
|
|
|
$orders = [ |
|
'codice_classe_documentale' => 'GROUP BY', |
|
// 'timestamp_creazione' => 'DESC', |
|
'max_timestamp_creazione' => 'MAX' |
|
]; |
|
|
|
switch($_GET["order"][0]["column"]) { |
|
case "0": |
|
null ; |
|
break; |
|
case "1": |
|
null ; |
|
break; |
|
case "2": |
|
null ; |
|
break; |
|
case "3": |
|
null; |
|
break; |
|
case "4": |
|
$orderKey = 'timestamp_creazione'; |
|
break; |
|
} |
|
|
|
if ($_GET["order"][0]["dir"] == "desc") { |
|
$orders[$orderKey] = "DESC"; |
|
} else { |
|
$orders[$orderKey] = "ASC"; |
|
} |
|
|
|
$classiDocumentali = $contratto->getDocumentali()->fetchAll(PDO::FETCH_ASSOC); |
|
$codiciClassiDocumentali = array_values(array_unique(pluck('codice_classe_documentale', $classiDocumentali))); |
|
|
|
if(!empty($codiciClassiDocumentali)){ |
|
|
|
$classiDocumentali = ContrattoDocumentale::getAllDocumentali(['codici' => $codiciClassiDocumentali, 'titolo' => $_GET['search']['value']]); |
|
$countRecordFiltered = 0; |
|
|
|
foreach($classiDocumentali as $classeDocumentale){ |
|
|
|
$filters = [ |
|
'codice_contratto' => $contratto->info['codice'], |
|
'codice_classe_documentale' => $classeDocumentale['codice'] |
|
]; |
|
|
|
$richieste = RichiestaDocumentale::getRichieste($filters, ['timestamp_creazione' => 'DESC']); |
|
$row = array(); |
|
|
|
if(count($richieste) == 1){ |
|
|
|
$richieste = rispostaDocumentale::getBadge($contratto->info['codice'], $richieste, "sa"); |
|
$richiesta = reset($richieste); |
|
|
|
$row[] = "<span class='pr-2 float-right'><span class='fa fa-circle ". richiestaDocumentale::getBadgeGruppoColore($richiesta)."'></span></span>"; |
|
$row[] = "<strong>". $classeDocumentale['titolo'] ."</strong>"; |
|
$row[] = "<strong>". __($classeDocumentale['ambito_validita']) ."</strong>"; |
|
$row[] = "<strong>". ContrattoDocumentale::getSoggetti($classeDocumentale['soggetto']) ."</strong>"; |
|
|
|
|
|
$row[] = mysql2datetime($richiesta['timestamp_creazione']); |
|
|
|
if (!empty($richiesta['statoLabel'])) { |
|
$row[] = "<span class='text-". $richiesta['statoLabel']['class'] ."' >". __($richiesta['statoLabel']['titolo']) . "</span>"; |
|
}elseif(!empty($richiesta['statoBadges'])){ |
|
ob_start(); |
|
foreach ($richiesta['statoBadges'] as $stat => $value) { |
|
?> |
|
<a href="javascript:void(0)" class="text-decoration-none" title='<?= $value['titolo'] ?>'> |
|
<span class="mr-1 badge badge-<?= $value['class']?> " style="font-size:1em"> <?= (!empty($value['contatori'])) ? $value['contatori'] : 0 ?></span> |
|
</a> |
|
<? |
|
} |
|
$row[] = ob_get_clean(); |
|
|
|
}else{ |
|
$row[] = "<span class='text-warning'>". __('Errore visualizzazione Stati')."</span>"; |
|
} |
|
|
|
$row[] = "<button type='button' onclick='showModalWithURL(\"/backend/contratti/documentale/gestioneRichieste/managerRichieste.php?codice_contratto={$contratto->info['codice']}&codice_richiesta={$richiesta['codice']}\")' class='btn btn-primary btn-sm'><span class='fa fa-search'></span></button>"; |
|
|
|
}else{ |
|
|
|
$badges = rispostaDocumentale::getGroupBadge($contratto->info['codice'], $richieste, "sa"); |
|
|
|
|
|
$row[] = "<span class='pr-2 float-right'><span class='fa fa-circle ". richiestaDocumentale::getBadgeGruppoColore($badges, $classeDocumentale['codice'])."'></span></span>"; |
|
$row[] = "<strong>". $classeDocumentale['titolo'] ."</strong>"; |
|
$row[] = "<strong>". __($classeDocumentale['ambito_validita']) ."</strong>"; |
|
$row[] = "<strong>". ContrattoDocumentale::getSoggetti($classeDocumentale['soggetto']) ."</strong>"; |
|
|
|
|
|
$row[] = mysql2datetime($richieste[0]['timestamp_creazione']); |
|
|
|
|
|
ob_start(); |
|
foreach ($badges as $stat => $badge) { |
|
?> |
|
<a href="javascript:void(0)" class="text-decoration-none" title='<?= $badge['titolo'] ?>'> |
|
<span class="mr-1 badge badge-<?= $badge['class']?> " style="font-size:1em"> <?= (!empty($badge['contatori'])) ? $badge['contatori'] : 0 ?></span> |
|
</a> |
|
<? |
|
} |
|
$row[] = ob_get_clean(); |
|
|
|
$row[] = "<a href='/backend/contratti/documentale/index.php?codice_contratto={$contratto->info['codice']}&codice_classe_documentale={$classeDocumentale['codice']}' class='btn btn-sm btn-primary'><i class='fa fa-list' aria-hidden='true'></i></a>"; |
|
} |
|
|
|
|
|
if(!empty($_GET['stato'])){ |
|
if (count($richieste) == 1) { |
|
if (!empty($richiesta['statoLabel']) && $richiesta['statoLabel']['key'] == $_GET['stato'] ) { |
|
$countRecordFiltered++; |
|
$return["data"][] = $row; |
|
}elseif(!empty($richiesta['statoBadges']) && $richiesta['statoBadges'][$_GET['stato']]['contatori'] > 0){ |
|
$countRecordFiltered++; |
|
$return["data"][] = $row; |
|
} |
|
}else{ |
|
if ($badges[$_GET['stato']]['contatori'] > 0) { |
|
$countRecordFiltered++; |
|
$return["data"][] = $row; |
|
} |
|
} |
|
}else{ |
|
$countRecordFiltered++; |
|
$return["data"][] = $row; |
|
} |
|
} |
|
$return["recordsTotal"] = $countRecordFiltered; |
|
$return["recordsFiltered"] = $countRecordFiltered; |
|
}else { |
|
$return["data"] = array(); |
|
} |
|
|
|
}else{ |
|
$return["data"] = array(); |
|
} |
|
|
|
|
|
|
|
|
|
echo json_encode($return); |
|
} |
|
|
|
?>
|