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

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