$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[] = "";
$row[] = "". $classeDocumentale['titolo'] ."";
$row[] = "". __($classeDocumentale['ambito_validita']) ."";
$row[] = "". ContrattoDocumentale::getSoggetti($classeDocumentale['soggetto']) ."";
$row[] = mysql2datetime($richiesta['timestamp_creazione']);
if (!empty($richiesta['statoLabel'])) {
$row[] = "". __($richiesta['statoLabel']['titolo']) . "";
}elseif(!empty($richiesta['statoBadges'])){
ob_start();
foreach ($richiesta['statoBadges'] as $stat => $value) {
?>
'>
= (!empty($value['contatori'])) ? $value['contatori'] : 0 ?>
}
$row[] = ob_get_clean();
}else{
$row[] = "". __('Errore visualizzazione Stati')."";
}
$row[] = "";
}else{
$badges = rispostaDocumentale::getGroupBadge($contratto->info['codice'], $richieste, "sa");
$row[] = "";
$row[] = "". $classeDocumentale['titolo'] ."";
$row[] = "". __($classeDocumentale['ambito_validita']) ."";
$row[] = "". ContrattoDocumentale::getSoggetti($classeDocumentale['soggetto']) ."";
$row[] = mysql2datetime($richieste[0]['timestamp_creazione']);
ob_start();
foreach ($badges as $stat => $badge) {
?>
'>
= (!empty($badge['contatori'])) ? $badge['contatori'] : 0 ?>
}
$row[] = ob_get_clean();
$row[] = "";
}
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);
}
?>