$v) { for ($i = 0 ; $i < count($PERIODI_VALUTAZIONE); $i++){ $filter .= ( $i > 0 ? " OR " : "" ) . " ANNO = '" . $PERIODI_VALUTAZIONE[$i] . "'"; } $sql = "SELECT V.*, (SELECT PUNTITRIENNIO( CODICE_FISCALE, ANNO ) FROM DUAL) AS PUNTI_VALUTAZIONE_ANNO FROM " . ValutazioneIndividuale::TABLE_NAME . " V WHERE CODICE_FISCALE = :codice_fiscale AND CANCELLATO = 0 AND ( " . $filter . " ) "; //echo $sql; $query = $con->prepare($sql); $query->bindParam(":codice_fiscale", $codiceFiscale); try { $query->execute(); $rows = $query->fetchAll(PDO::FETCH_ASSOC); } catch (Exception $exc) { echo $exc->getMessage(); } } return $rows; } } class FormazioneCertificata extends DataClass { const TABLE_NAME = "FORMAZIONE_CERTIFICATA"; public $CODICE_FISCALE = ""; public $PUNTEGGIO_ESAME = 0; public function __construct($src = null) { } public static function loadPunteggio($codiceFiscale = "") { global $con; $punteggio = 0; if (!empty($codiceFiscale)) { $sql = "SELECT PUNTEGGIO_ESAME FROM " . self::TABLE_NAME . " WHERE CODICE_FISCALE = :codice_fiscale"; //echo $sql; $query = $con->prepare($sql); $query->bindParam(":codice_fiscale", $codiceFiscale); try { $query->execute(); $res = $query->fetch(PDO::FETCH_ASSOC); $punteggio = $res['PUNTEGGIO_ESAME']; } catch (Exception $exc) { echo $exc->getMessage(); } } //Utils::print_array($row); return $punteggio; } } class RisultanzeTriennio extends DataClass { const TABLE_NAME = "RISULTANZE_TRIENNIO"; public $ANNO = 0; public $MIN_VALUTAZIONE = 0; public $MAX_VALUTAZIONE = 0; public $PUNTI = 0; public function __construct($src = null) { } public static function getPunteggio($anno = 0, $valutazione = 0) { global $con; $response = Utils::initDefaultResponse(); if ($anno > 0) { // DA GESTIRE DA CODICE O CON FUNCTION $response['valutazione'] = $valutazione; } return $response; } } class AnagraficaTitoliStudio extends DataClass { const TABLE_NAME = "ANAG_TITOLI_STUDIO"; public $ID = 0; public $DESCRIZIONE = ""; public $TIPO = 0; public $PUNTI = 0; public $CANCELLATO = 0; public $CATEGORIA = ''; public $POSIZIONE = 0; /** * Load titoli di studio * * * return * For $id => array of AnagraficaTitoliStudio, for other array of array of AnagraficaTitoliStudio * * * params: * $id (int): load single rows from id * $descrizione (string): filter from like descrizione * $tipo (int): filter from tipo */ public static function load($id = 0, $descrizione = '', $tipo = 0, $categoria = '') { global $con; $rows = array(); $filter = " CANCELLATO = 0 "; $order = " ORDER BY POSIZIONE"; if (!empty($id)) { $filter = " ID = :id"; } else { if (!empty($descrizione)) { $filter = " DESCRIZIONE LIKE %:descrizione% "; } if (!empty($tipo)) { $filter .= ($filter != "" ? " AND " : "") . " TIPO = :tipo "; } if (!empty($categoria)) { $filter .= ($filter != "" ? " AND " : "") . " CATEGORIA = :categoria "; } } $filter = ($filter != "" ? " WHERE " : "") . $filter; $sql = "SELECT * FROM " . self::TABLE_NAME . $filter. $order; $query = $con->prepare($sql); if (!empty($id)) { $query->bindParam(":id", $id); } else { if (!empty($descrizione)) { $query->bindParam(":descrizione", $descrizione); } if (!empty($tipo)) { $query->bindParam(":tipo", $tipo); } if (!empty($categoria)) { $query->bindParam(":categoria", $categoria); } } try { $query->execute(); $rows = $query->fetchAll(PDO::FETCH_ASSOC); if (!empty($id) && count($rows) > 0) { return $rows[0]; } } catch (Exception $exc) { echo $exc->getMessage(); } return $rows; } /** * Autocomplete * * params: * $string (string): filter from like descrizione * $tipo (int): filter from tipo */ public static function autocomplete($string = '', $tipo = null) { global $con; $return = array(); if (strlen($string) >= 3) { $filter = ''; if (!empty($tipo)) { $filter = " TIPO = :tipo AND "; } $string = "%" . strtolower($string) . "%"; $sql = "SELECT ID, DESCRIZIONE, TIPO FROM " . self::TABLE_NAME . " WHERE " . $filter . " LOWER(DESCRIZIONE) LIKE :term ORDER BY ID"; $query = $con->prepare($sql); if (!empty($tipo)) { $query->bindParam(":tipo", $tipo); } $query->bindParam(":term", $string); try { $query->execute(); while ($it = $query->fetch(PDO::FETCH_ASSOC)) { $row['id'] = $it['ID']; $row['text'] = $it['DESCRIZIONE']; $row['label'] = $it['DESCRIZIONE']; $row['tipo'] = $it['TIPO']; array_push($return, $row); } } catch (Exception $exc) { echo $exc->getMessage(); } } return $return; } } class AnagraficaEsperienzeMaturate extends DataClass { const TABLE_NAME = "ANAG_ESPERIENZE_MATURATE"; public $ID = 0; //PK public $DESCRIZIONE = ""; public $TIPO = 0; public $PUNTI = 0; public $NOTE = ""; public $CANCELLATO = 0; public function __construct($src = null) { global $con; if ($src == null) return; if (is_array($src)) { $this->_loadByRow($src, $stripSlashes); } elseif (is_numeric($src)) { // Carichiamo tramite ID $sql = "SELECT * FROM " . self::TABLE_NAME . " WHERE ID = :ID"; $query = $con->prepare($sql); $query->bindParam(":ID", $src); try { $query->execute(); $it = $query->fetchAll(PDO::FETCH_ASSOC); Utils::FillObjectFromRow($this, $it[0]); } catch (Exception $exc) { $exc->getMessage(); } } } /** * Load anagrafiche esperienza maturate * * * return * For $id => array of AnagraficaEsperienzeMaturate, for other array of array of AnagraficaEsperienzeMaturate * * * params: * $id (int): load single rows from id * $descrizione (string): filter from like descrizione * $tipo (int): filter from tipo */ public static function load($id = 0, $descrizione = '', $tipo = 0) { global $con; $rows = array(); $filter = ""; if (!empty($id)) { $filter = " ID = :id"; } else { if (!empty($descrizione)) { $filter = " DESCRIZIONE LIKE %:descrizione% "; } if (!empty($tipo)) { $filter .= ($filter != "" ? " AND " : "") . " TIPO = :tipo "; } } $filter = ($filter != "" ? " WHERE " : "") . $filter; $sql = "SELECT * FROM " . self::TABLE_NAME . $filter; $query = $con->prepare($sql); if (!empty($id)) { $query->bindParam(":id", $id); } else { if (!empty($descrizione)) { $query->bindParam(":descrizione", $descrizione); } if (!empty($tipo)) { $query->bindParam(":tipo", $tipo); } } try { $query->execute(); $rows = $query->fetchAll(PDO::FETCH_ASSOC); if (!empty($id) && count($rows) > 0) { return $rows[0]; } } catch (Exception $exc) { echo $exc->getMessage(); } return $rows; } } class AnagraficaPersonale extends DataClass { const TABLE_NAME = "ANAG_PERSONALE"; const VIEW_NAME = "VIEW_ANAG_PERSONALE"; public $CODICE_FISCALE = ''; //PK public $NOME = ''; public $COGNOME = ''; public $DATA_NASCITA = null; public $ANZIANITA_POSIZIONE = null; public $ANZIANITA_RUOLO = null; public $CATEGORIA = ""; public $POSIZIONE_ECONOMICA = ""; public $POSIZIONE_ECONOMICA_SUCCESSIVA = ""; public $DESCRIZIONE_CATEGORIA = ""; public $CATEGORIA_PERSONALE = ""; public $CAN_GO_ON = false; // controllo se l'utente può presentare la richiesta in base alla categoria di appartenenza. public $ANZIANITA_POSIZIONE_ANNI = ""; public $ANZIANITA_POSIZIONE_MESI = ""; public $ANZIANITA_POSIZIONE_GIORNI = ""; public $ANZIANITA_RUOLO_ANNI = ""; public $ANZIANITA_RUOLO_MESI = ""; public $ANZIANITA_RUOLO_GIORNI = ""; /** * Load Anagrafica * * * return * For $codiceFiscale => AnagraficaPersonale (Object) * * * params: * $codiceFiscale (string): load single rows from PK */ public static function load($codiceFiscale = null) { global $con, $POSIZIONI_ECONOMICHE; $anagraficaPersonale = new AnagraficaPersonale(); $filter = ""; if (!empty($codiceFiscale)) { $filter = " UPPER(CODICE_FISCALE) = :codiceFiscale"; $sql = "SELECT * FROM " . self::VIEW_NAME . " WHERE " . $filter; $query = $con->prepare($sql); $query->bindParam(":codiceFiscale", strtoupper($codiceFiscale)); try { $query->execute(); $row = $query->fetch(PDO::FETCH_ASSOC); $cat = str_split($row["CATEGORIA"]); /**/ $row["CAN_GO_ON"] = ($cat[1]+1> $POSIZIONI_ECONOMICHE[$cat[0]]['MAX_POSIZIONE'] ? false : true ); $row["POSIZIONE_ECONOMICA"] = $row["CATEGORIA"]; $row["POSIZIONE_ECONOMICA_SUCCESSIVA"] = ($cat[1]+1>= $POSIZIONI_ECONOMICHE[$cat[0]]['MAX_POSIZIONE'] ? $POSIZIONI_ECONOMICHE[$cat[0]][$POSIZIONI_ECONOMICHE[$cat[0]]['MAX_POSIZIONE']] : $POSIZIONI_ECONOMICHE[$cat[0]][$cat[1]+1] ) ; $row["CATEGORIA"] = $cat[0]; $row["DATA_NASCITA"] = Date::dateOracleDateNascita($row["DATA_NASCITA"]); $row["ANZIANITA_POSIZIONE"] = Date::dateOracleDateNascita($row["ANZIANITA_POSIZIONE"]); $row["ANZIANITA_RUOLO"] = Date::dateOracleDateNascita($row["ANZIANITA_RUOLO"]); $anagraficaPersonale->_loadByRow($row); } catch (Exception $exc) { echo $exc->getMessage(); } } return $anagraficaPersonale; } } class AnagraficaSanzioni extends DataClass { const TABLE_NAME = "ANAG_SANZIONI"; public $ID = 0; public $CODICE = ""; public $DESCRIZIONE = ""; public $CANCELLATO = 0; public static function Count($filter = null) { return parent::_count(self::TABLE_NAME, $filter); } /** * Load delle sanzioni * * * return * For $id => array of AnagraficaSanzioni, for other array of array of AnagraficaSanzioni * * * params: * $id (int): load single rows from id * $descrizione (string): filter from like descrizione * $codice (int): filter from codice */ public static function load($id = 0, $descrizione = '', $codice = 0) { global $con; $rows = array(); $filter = " CANCELLATO = 0 "; if (!empty($id)) { $filter = " ID = :id"; } else { if (!empty($descrizione)) { $filter = " DESCRIZIONE LIKE %:descrizione% "; } if (!empty($codice)) { $filter .= ($filter != "" ? " AND " : "") . " CODICE = :codice "; } } $filter = ($filter != "" ? " WHERE " : "") . $filter; $sql = "SELECT * FROM " . self::TABLE_NAME . $filter; $query = $con->prepare($sql); if (!empty($id)) { $query->bindParam(":id", $id); } else { if (!empty($descrizione)) { $query->bindParam(":descrizione", $descrizione); } if (!empty($codice)) { $query->bindParam(":codice", $codice); } } try { $query->execute(); $rows = $query->fetchAll(PDO::FETCH_ASSOC); if (!empty($id) && count($rows) > 0) { return $rows[0]; } } catch (Exception $exc) { echo $exc->getMessage(); } return $rows; } public static function getSanzioniGruopByCodice(){ $anag_sanzioni = self::load(); $res = array(); foreach ($anag_sanzioni as $value) { $res[$value['CODICE']][] = $value; } return $res; } } class AnagraficaInterruzioni extends DataClass { const TABLE_NAME = "ANAG_INTERRUZIONI"; public $ID = 0; //PK public $DESCRIZIONE = ""; public $CANCELLATO = 0; public function __construct($src = null) { global $con; if ($src == null) return; if (is_array($src)) { $this->_loadByRow($src, $stripSlashes); } elseif (is_numeric($src)) { // Carichiamo tramite ID $sql = "SELECT * FROM " . self::TABLE_NAME . " WHERE ID = :ID"; $query = $con->prepare($sql); $query->bindParam(":ID", $src); try { $query->execute(); $it = $query->fetchAll(PDO::FETCH_ASSOC); Utils::FillObjectFromRow($this, $it[0]); } catch (Exception $exc) { $exc->getMessage(); } } } /** * Load anagrafiche esperienza maturate * * * return * For $id => array of AnagraficaEsperienzeMaturate, for other array of array of AnagraficaEsperienzeMaturate * * * params: * $id (int): load single rows from id * $descrizione (string): filter from like descrizione * $tipo (int): filter from tipo */ public static function load($id = 0, $descrizione = '') { global $con; $rows = array(); $filter = ""; if (!empty($id)) { $filter = " ID = :id"; } else { if (!empty($descrizione)) { $filter = " DESCRIZIONE LIKE %:descrizione% "; } } $filter = ($filter != "" ? " WHERE " : "") . $filter; $sql = "SELECT * FROM " . self::TABLE_NAME . $filter; $query = $con->prepare($sql); if (!empty($id)) { $query->bindParam(":id", $id); } else { if (!empty($descrizione)) { $query->bindParam(":descrizione", $descrizione); } } try { $query->execute(); $rows = $query->fetchAll(PDO::FETCH_ASSOC); if (!empty($id) && count($rows) > 0) { return $rows[0]; } } catch (Exception $exc) { echo $exc->getMessage(); } return $rows; } }