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.
 
 
 

518 righe
16 KiB

<?php
require_once "IDataClass.php";
/**
* Description of Anagrafiche*
*
* @author Gigi
*/
class ValutazioneIndividuale extends DataClass {
const TABLE_NAME = "VALUTAZIONE_INDIVIDUALE";
public $CODICE_FISCALE = "";
public $ANNO = null;
public $PUNTEGGIO = 0;
public function __construct($src = null) {
}
public static function loadPunteggioPeriodo($codiceFiscale = "") {
global $con, $PERIODI_VALUTAZIONE;
$rows = array();
if (!empty($codiceFiscale)) {
$filter = " ";
//foreach ($PERIODI_VALUTAZIONE as $k => $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;
}
}