gestione gare pubbliche
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

<?
$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);
}
?>