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
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; |
|
} |
|
|
|
} |