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.
254 righe
8.1 KiB
254 righe
8.1 KiB
<?php |
|
|
|
require_once "IDataClass.php"; |
|
|
|
/** |
|
* Description of Bandi |
|
* Classe di gestione della Configurazione (tabella: BANDI) |
|
* @author Anselmo |
|
*/ |
|
class Bando extends DataClass { |
|
|
|
const TABLE_NAME = "BANDI"; |
|
const FNZSTD_ = "CONTROLLOPERIODO"; |
|
const FNZ_ = "CONTROLLOPERIODOBANDO"; |
|
|
|
public $ID = 0; |
|
public $DESCRIZIONE = ''; |
|
public $DETTAGLIO = ''; |
|
public $INIZIO_PREPARAZIONE = null; |
|
public $FINE_PREPARAZIONE = null; |
|
public $INIZIO_CLICKDAY = null; |
|
public $FINE_CLICKDAY = null; |
|
public $DISPONIBILITA_FINANZIARIA = 0; |
|
public $COEFFICENTE_SFRATTO = 0; |
|
public $COEFFICENTE = 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(); |
|
} |
|
} |
|
} |
|
|
|
public static function Count($filter = null) { |
|
return parent::_count(self::TABLE_NAME, $filter); |
|
} |
|
|
|
public static function LoadDataTable($searchQuery = "", $searchArray = array(), $columnName = array(), $columnSortOrder = array(), $start = 0, $offset = 0) { |
|
return parent::_loadDataTable(self::TABLE_NAME, $searchQuery, $searchArray, $columnName, $columnSortOrder, $start, $offset); |
|
} |
|
|
|
public function LoadDataTableCustom($searchQuery = "", $searchArray = array(), $columnName = array(), $columnSortOrder = array(), $start = 0, $offset = 0) { |
|
$select = "ID, |
|
TO_CHAR(INIZIO_PREPARAZIONE,'dd-mm-yyyy hh24:mi') as INIZIO_PREPARAZIONE, |
|
TO_CHAR(FINE_PREPARAZIONE,'dd-mm-yyyy hh24:mi') as FINE_PREPARAZIONE, |
|
CASE WHEN SYSTIMESTAMP BETWEEN INIZIO_PREPARAZIONE AND FINE_PREPARAZIONE THEN 1 ELSE 0 END as STATO_BANDO, |
|
DESCRIZIONE"; |
|
return parent::_loadDataTableEx($select, self::TABLE_NAME, $searchQuery, $searchArray, $columnName, $columnSortOrder, $start, $offset); |
|
} |
|
|
|
public function loadDocumentiObbligatori() { |
|
global $con; |
|
$return = array(); |
|
if ($this->ID > 0){ |
|
$sql = "SELECT * FROM " . DocumentiBando::TABLE_NAME . " WHERE ID_BANDO=:id_bando ORDER BY ID ASC"; |
|
$return = -999; |
|
$query = $con->prepare($sql); |
|
$query->bindParam(":id_bando", $this->ID); |
|
try { |
|
$query->execute(); |
|
$return = $query->fetchAll(PDO::FETCH_ASSOC); |
|
} catch (Exception $exc) { |
|
$exc->getMessage(); |
|
} |
|
} |
|
return $return; |
|
} |
|
|
|
public function ControllaPeriodoAttivita($filter = 'PREPARAZIONE') { |
|
global $con; |
|
$res = array(); |
|
$sql = "SELECT " . self::FNZSTD_ . "('".$filter."') AS OK FROM DUAL"; |
|
$query = $con->prepare($sql); |
|
try { |
|
$query->execute(); |
|
$res = $query->fetch(PDO::FETCH_ASSOC); |
|
} catch (Exception $exc) { |
|
$exc->getMessage(); |
|
} |
|
if ($res['OK'] > 0) { |
|
return true; |
|
} else { |
|
return false; |
|
} |
|
} |
|
|
|
public function loadBandi() { |
|
global $con, $LoggedAccount; |
|
$return = array(); |
|
$sql = "SELECT ID, DESCRIZIONE, " |
|
. "TO_CHAR(INIZIO_PREPARAZIONE,'dd-mm-yyyy hh24:mi:ss') AS INIZIO_PREPARAZIONE, " |
|
. "TO_CHAR(FINE_PREPARAZIONE,'dd-mm-yyyy hh24:mi:ss') AS FINE_PREPARAZIONE " |
|
. "FROM " . self::TABLE_NAME; |
|
//. " WHERE SYSTIMESTAMP BETWEEN INIZIO_PREPARAZIONE AND FINE_PREPARAZIONE"; |
|
$query = $con->prepare($sql); |
|
try { |
|
$query->execute(); |
|
$return = $query->fetchAll(PDO::FETCH_ASSOC); |
|
Utils::FillObjectFromRow($this, $it[0]); |
|
} catch (Exception $exc) { |
|
$exc->getMessage(); |
|
} |
|
return $return; |
|
} |
|
|
|
public function loadBandiAttivi() { |
|
global $con, $LoggedAccount; |
|
$return = array(); |
|
$sql = "SELECT ID, DESCRIZIONE, " |
|
. "TO_CHAR(INIZIO_PREPARAZIONE,'dd-mm-yyyy hh24:mi') AS INIZIO_PREPARAZIONE, " |
|
. "TO_CHAR(FINE_PREPARAZIONE,'dd-mm-yyyy hh24:mi') AS FINE_PREPARAZIONE " |
|
. "FROM " . self::TABLE_NAME |
|
. " WHERE SYSTIMESTAMP BETWEEN INIZIO_PREPARAZIONE AND FINE_PREPARAZIONE"; |
|
$query = $con->prepare($sql); |
|
try { |
|
$query->execute(); |
|
$return = $query->fetchAll(PDO::FETCH_ASSOC); |
|
Utils::FillObjectFromRow($this, $return[0]); |
|
} catch (Exception $exc) { |
|
$exc->getMessage(); |
|
} |
|
return $return; |
|
} |
|
|
|
public function ControllaPeriodoPreparazioneBando() { |
|
global $con; |
|
$res = array(); |
|
|
|
$sql = "SELECT " . self::FNZ_ . "('PREPARAZIONE', " . $this->ID . ") AS OK FROM DUAL"; |
|
$query = $con->prepare($sql); |
|
try { |
|
$query->execute(); |
|
$res = $query->fetch(PDO::FETCH_ASSOC); |
|
} catch (Exception $exc) { |
|
$exc->getMessage(); |
|
} |
|
if ($res['OK'] > 0) { |
|
return true; |
|
} else { |
|
return false; |
|
} |
|
} |
|
|
|
public function ControllaPeriodoClickDay() { |
|
global $con; |
|
$res = array(); |
|
|
|
$sql = "SELECT " . self::FNZ_ . "('CLICKDAY', " . $this->ID . ") AS OK FROM DUAL"; |
|
$query = $con->prepare($sql); |
|
try { |
|
$query->execute(); |
|
$res = $query->fetch(PDO::FETCH_ASSOC); |
|
} catch (Exception $exc) { |
|
$exc->getMessage(); |
|
} |
|
if ($res['OK'] > 0) { |
|
return true; |
|
} else { |
|
return false; |
|
} |
|
} |
|
|
|
public function ControllaPeriodoIntra() { |
|
global $con; |
|
$res = array(); |
|
|
|
$sql = "SELECT " . self::FNZ_ . "('INTRA', " . $this->ID . ") AS OK FROM DUAL"; |
|
$query = $con->prepare($sql); |
|
try { |
|
$query->execute(); |
|
$res = $query->fetch(PDO::FETCH_ASSOC); |
|
} catch (Exception $exc) { |
|
$exc->getMessage(); |
|
} |
|
if ($res['OK'] > 0) { |
|
return true; |
|
} else { |
|
return false; |
|
} |
|
} |
|
|
|
|
|
public static function ControllaPeriodoPreparazioneBandoStatic($id_bando) { |
|
global $con; |
|
$res = array(); |
|
|
|
$sql = "SELECT " . self::FNZ_ . "('PREPARAZIONE', " . $id_bando . ") AS OK FROM DUAL"; |
|
$query = $con->prepare($sql); |
|
try { |
|
$query->execute(); |
|
$res = $query->fetch(PDO::FETCH_ASSOC); |
|
} catch (Exception $exc) { |
|
$exc->getMessage(); |
|
} |
|
if ($res['OK'] > 0) { |
|
return true; |
|
} else { |
|
return false; |
|
} |
|
} |
|
|
|
public static function ControllaPeriodoClickDayStatic($id_bando) { |
|
global $con; |
|
$res = array(); |
|
|
|
$sql = "SELECT " . self::FNZ_ . "('CLICKDAY', " . $id_bando . ") AS OK FROM DUAL"; |
|
$query = $con->prepare($sql); |
|
try { |
|
$query->execute(); |
|
$res = $query->fetch(PDO::FETCH_ASSOC); |
|
} catch (Exception $exc) { |
|
$exc->getMessage(); |
|
} |
|
if ($res['OK'] > 0) { |
|
return true; |
|
} else { |
|
return false; |
|
} |
|
} |
|
|
|
public function Save() { |
|
global $con, $LoggedAccount; |
|
$vars = get_object_vars($this); |
|
$sql = Utils::prepareQuery(self::TABLE_NAME, $vars); |
|
$queryabi = $con->prepare($sql); |
|
foreach ($vars as $k => $v) { |
|
if ($k == "ID" && $v == 0) |
|
continue; |
|
$queryabi->bindValue(":" . $k, $v); |
|
} |
|
try { |
|
$it = parent::_Save($queryabi); |
|
} catch (Exception $exc) { |
|
$it['descrizioneErrore'] = $exc->getMessage(); |
|
} |
|
return $it; |
|
} |
|
|
|
}
|
|
|