0) { $this->_loadAndFillObject($src['ID'], self::TABLE_NAME, $src); } else { $this->_loadByRow($src, $stripSlashes); } } elseif (intval($src)) { $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(); } } } /** * * @param type $filter * @return type */ public static function Count($filter = null) { return parent::_count(self::TABLE_NAME, $filter); } public static function getEsiti() { global $con; $return = array(); $sel = $con->prepare("SELECT ESITO, COUNT(ID) AS TOTALE FROM " . self::TABLE_NAME . " GROUP BY ESITO"); try { $sel->execute(); $itAll = $sel->fetchAll(PDO::FETCH_ASSOC); $return = $itAll; } catch (Exception $exc) { echo $exc->getMessage(); } return $return; } public static function loadControlloFromSconto($id_domanda_sconti = 0) { global $con; $sel = $con->prepare("SELECT * FROM " . self::TABLE_NAME . " WHERE ID_DOMANDA_SCONTI=:ID_DOMANDA_SCONTI"); $sel->bindParam(":ID_DOMANDA_SCONTI", $id_domanda_sconti); try { $sel->execute(); $it = $sel->fetch(PDO::FETCH_ASSOC); } catch (Exception $exc) { echo $exc->getMessage(); } return $it; } public static function generazioneRandomicaDomande() { global $con; $return = Utils::initDefaultResponse(1); $selPrio = $con->prepare("SELECT ID, LOTTO FROM ( SELECT ID, LOTTO FROM DOMANDA_SCONTI WHERE STATO = :STATO AND PRIORITY=1 ORDER BY DBMS_RANDOM.VALUE ) WHERE ROWNUM <= (SELECT ROUND(COUNT(ID) * " . PERCENTUALE_PRIORITARI . ") FROM DOMANDA_SCONTI WHERE STATO =:STATO AND PRIORITY=1)"); $selPrio->bindValue(":STATO", RS_PRESA_IN_CARICO); try { $selPrio->execute(); $itAllPrio = $selPrio->fetchAll(PDO::FETCH_ASSOC); } catch (Exception $exc) { echo $exc->getMessage(); } if (count($itAllPrio) > 500) { $estraggoPrio = array_slice($itAllPrio, 0, 500, true); $return['datiPrio'] = $estraggoPrio; } else { $return['datiPrio'] = $itAllPrio; } $selNonPrio = $con->prepare("SELECT ID, LOTTO FROM ( SELECT ID, LOTTO FROM DOMANDA_SCONTI WHERE STATO = :STATO AND PRIORITY=0 AND ISEE!=1 ORDER BY DBMS_RANDOM.VALUE ) WHERE ROWNUM <= (SELECT ROUND(COUNT(ID) * " . PERCENTUALE_RESIDENTI . ") FROM DOMANDA_SCONTI WHERE STATO =:STATO AND PRIORITY=0 AND ISEE!=1)"); $selNonPrio->bindValue(":STATO", RS_PRESA_IN_CARICO); try { $selNonPrio->execute(); $itAllNonPrio = $selNonPrio->fetchAll(PDO::FETCH_ASSOC); } catch (Exception $exc) { echo $exc->getMessage(); } if (count($itAllNonPrio) > 500) { $estraggoNonPrio = array_slice($itAllNonPrio, 0, 500, true); $return['datiNonPrio'] = $estraggoNonPrio; } else { $return['datiNonPrio'] = $itAllNonPrio; } $datiCombinati = array_merge($return['datiPrio'], $return['datiNonPrio']); $return['totaleID'] = $datiCombinati; return $return; } public static function creaRecord($listaID = array()) { global $con; $return = Utils::initDefaultResponse(-999); $contatore = 0; if (count($listaID) > 0) { $con->db_transactionStart(); foreach ($listaID as $valore) { $salvoRecord = new DomandaScontiControlli(); $salvoRecord->ID_DOMANDA_SCONTI = $valore['ID']; $salvoRecord->LOTTO = $valore['LOTTO']; $risposta = $salvoRecord->save(); if ($risposta['esito'] == 1) { $contatore++; } } if ($contatore == count($listaID)) { $return['esito'] = 1; $con->db_transactionCommit(); } else { $return['erroreDescrizione'] = "Attenzione , riprovare o contattare il Personale Tecnico"; $con->db_transactionRollback(); } } return $return; } /** * * @global type $con * @global type $LoggedAccount * @return type */ public function Save() { global $con, $LoggedAccount; $vars = get_object_vars($this); unset($vars["DATA_REGISTRAZIONE"]); $sql = Utils::prepareQuery(self::TABLE_NAME, $vars); /* Utils::print_array($sql); Utils::print_array($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); if (trim($it['erroreCode']) == 'HY000') { $it['erroreDescrizione'] = 'Richiesta già inserita!
Non è possibile richiedere un ulteriore rimborso per questo biglietto'; } } catch (Exception $exc) { $it['erroreDescrizione'] = $exc->getMessage(); } return $it; } public function Delete() { return parent::_Delete(self::TABLE_NAME, "ID = " . $this->ID); } public function DeleteAll() { return parent::_Delete(self::TABLE_NAME, "ID_DOMANDA = " . $this->ID_DOMANDA); } public function Parse(&$record, $campo = "") { array_push($record, array("Campo" => $campo, "Valore" => $this->$campo)); } }