Ejemplo n.º 1
0
 /**
  * 
  * @param Cessiomaterial $OCESSIO
  * @return array('HORARIS','CESSIONS')
  */
 public static function isDisponible(CessiomaterialForm $OCESSIO)
 {
     //Mirem si l'article que volem cedir, està disponible a la data de cessio i fins data de retorn (dins els cedits).
     //Mirem que no s'utilitzi a cap esdeveniment
     //com saber si un període està pel mig d'un altre. Di1 = HORARIS.DIA
     //   DrI DrF
     //     DpI DpF
     $ret = array();
     $dC = $OCESSIO->getValue('DataCessio');
     $dR = $OCESSIO->getValue('DataRetorn');
     $idM = $OCESSIO->getValue('Material_idMaterial');
     $idC = $OCESSIO->getValue('idCessioMaterial');
     //Si un dia d'horaris encaixa pel mig del període de cessió, és dolent.
     $C = new Criteria();
     $C1 = $C->getNewCriterion(HorarisPeer::DIA, $dC, CRITERIA::GREATER_EQUAL);
     $C2 = $C->getNewCriterion(HorarisPeer::DIA, $dR, CRITERIA::LESS_EQUAL);
     $C1->addAnd($C2);
     $C->addOr($C1);
     $C->addJoin(HorarisPeer::HORARISID, HorarisespaisPeer::HORARIS_HORARISID);
     $C->add(HorarisespaisPeer::MATERIAL_IDMATERIAL, $idM);
     $ret['HORARIS'] = HorarisPeer::doSelect($C);
     //Mirem que no l'haguem cedit algun dia d'aquests
     $C = new Criteria();
     $C3 = $C->getNewCriterion(self::DATACESSIO, $dC, CRITERIA::GREATER_EQUAL);
     $C4 = $C->getNewCriterion(self::DATACESSIO, $dR, CRITERIA::LESS_EQUAL);
     $C3->addAnd($C4);
     $C5 = $C->getNewCriterion(self::DATARETORN, $dR, CRITERIA::LESS_EQUAL);
     $C6 = $C->getNewCriterion(self::DATARETORN, $dC, CRITERIA::GREATER_EQUAL);
     $C5->addAnd($C6);
     $C7 = $C->getNewCriterion(self::DATACESSIO, $dC, CRITERIA::GREATER_EQUAL);
     $C8 = $C->getNewCriterion(self::DATARETORN, $dR, CRITERIA::LESS_EQUAL);
     $C7->addAnd($C8);
     $C3->addOr($C5);
     $C3->addOr($C7);
     $C->add($C3);
     $C->add(self::MATERIAL_IDMATERIAL, $idM, CRITERIA::EQUAL);
     $C->add(self::IDCESSIOMATERIAL, $idC, CRITERIA::NOT_EQUAL);
     $C->add(self::RETORNAT, false);
     $ret['CESSIONS'] = self::doSelect($C);
     return $ret;
 }
Ejemplo n.º 2
0
 /**
  * Retrieve multiple objects by pkey.
  *
  * @param      array $pks List of primary keys
  * @param      PropelPDO $con the connection to use
  * @throws     PropelException Any exceptions caught during processing will be
  *		 rethrown wrapped into a PropelException.
  */
 public static function retrieveByPKs($pks, PropelPDO $con = null)
 {
     if ($con === null) {
         $con = Propel::getConnection(HorarisPeer::DATABASE_NAME, Propel::CONNECTION_READ);
     }
     $objs = null;
     if (empty($pks)) {
         $objs = array();
     } else {
         $criteria = new Criteria(HorarisPeer::DATABASE_NAME);
         $criteria->add(HorarisPeer::HORARISID, $pks, Criteria::IN);
         $objs = HorarisPeer::doSelect($criteria, $con);
     }
     return $objs;
 }
Ejemplo n.º 3
0
 public static function getDiesAmbActivitatsMes($DATACAL, $idS)
 {
     $C = new Criteria();
     $C = self::getCriteriaActiu($C, $idS);
     $C = ActivitatsPeer::getCriteriaActiu($C, $idS);
     $C = HorarisPeer::getCriteriaActiu($C, $idS);
     $dia_inicial = mktime(0, 0, 0, date('m', $DATACAL), 1, date('Y', $DATACAL));
     $dia_final = mktime(0, 0, 0, date('m', $DATACAL) + 1, 1, date('Y', $DATACAL));
     $C->add(ActivitatsPeer::PUBLICAWEB, true);
     $C->addJoin(HorarisPeer::ACTIVITATS_ACTIVITATID, ActivitatsPeer::ACTIVITATID);
     $C->add(HorarisPeer::DIA, $dia_inicial, CRITERIA::GREATER_EQUAL);
     $C->add(HorarisPeer::DIA, $dia_final, CRITERIA::LESS_EQUAL);
     $RET = array();
     foreach (HorarisPeer::doSelect($C) as $OH) {
         $RET[$OH->getDia()] = $OH->getDia();
     }
     return $RET;
 }
Ejemplo n.º 4
0
 /**
  * Indica on està ocupat el material en un intèrval de temps 
  * */
 public static function OnOcupatMaterialHores($idM, $datai, $dataf, $hi, $hf, $idS, $idG = null, $idH = null, $idC = null)
 {
     //Busquem primer l'horari en el que està ocupat.
     //Altrament busquem la cessió en la que està ocupat
     //Agafo les activitats que tenen material ocupat una data determinada.
     $CESSIO = array();
     $C = self::criteriaOcupatCessio($datai, $dataf, $hi, $hf, $idS, $idG, $idH, $idC);
     foreach (CessioPeer::doSelect($C) as $OC) {
         $CESSIO[$idM] = $OC;
     }
     $C = self::criteriaOcupatEspais($datai, $dataf, $hi, $hf, $idS, $idG, $idH, $idC);
     foreach (HorarisPeer::doSelect($C) as $OH) {
         $CESSIO[$idM] = $OH;
     }
     return $CESSIO;
 }
Ejemplo n.º 5
0
 /**
  * Function que retorna els dies del mes que hi ha activitat. Només s'usa a la home page
  * @param unknown $mes
  * @param unknown $any
  */
 public static function getDiesAmbActivitat($mes, $any, $idS)
 {
     $C = new Criteria();
     $C = HorarisPeer::getCriteriaActiu($C, $idS);
     $C = self::getCriteriaActiu($C, $idS);
     $C1 = $C->getNewCriterion(HorarisPeer::DIA, $any . '-' . $mes . '-1', CRITERIA::GREATER_EQUAL);
     $C2 = $C->getNewCriterion(HorarisPeer::DIA, $any . '-' . $mes . '-31', CRITERIA::LESS_EQUAL);
     $C1->addAnd($C2);
     $C->add($C1);
     $C->add(ActivitatsPeer::PUBLICAWEB, true);
     $C->addJoin(self::ACTIVITATID, HorarisPeer::ACTIVITATS_ACTIVITATID);
     $C->addGroupByColumn(HorarisPeer::DIA);
     $dies = array();
     foreach (HorarisPeer::doSelect($C) as $OH) {
         $dies[$OH->getDia('d')] = intval($OH->getDia('d'));
     }
     $ret = array();
     foreach ($dies as $D) {
         $ret[] = $D;
     }
     rsort($ret);
     return $ret;
 }
Ejemplo n.º 6
0
 /**
  * Gets an array of Horaris objects which contain a foreign key that references this object.
  *
  * If this collection has already been initialized with an identical Criteria, it returns the collection.
  * Otherwise if this Activitats has previously been saved, it will retrieve
  * related Horariss from storage. If this Activitats is new, it will return
  * an empty collection or the current collection, the criteria is ignored on a new object.
  *
  * @param      PropelPDO $con
  * @param      Criteria $criteria
  * @return     array Horaris[]
  * @throws     PropelException
  */
 public function getHorariss($criteria = null, PropelPDO $con = null)
 {
     if ($criteria === null) {
         $criteria = new Criteria(ActivitatsPeer::DATABASE_NAME);
     } elseif ($criteria instanceof Criteria) {
         $criteria = clone $criteria;
     }
     if ($this->collHorariss === null) {
         if ($this->isNew()) {
             $this->collHorariss = array();
         } else {
             $criteria->add(HorarisPeer::ACTIVITATS_ACTIVITATID, $this->activitatid);
             HorarisPeer::addSelectColumns($criteria);
             $this->collHorariss = HorarisPeer::doSelect($criteria, $con);
         }
     } else {
         // criteria has no effect for a new object
         if (!$this->isNew()) {
             // the following code is to determine if a new query is
             // called for.  If the criteria is the same as the last
             // one, just return the collection.
             $criteria->add(HorarisPeer::ACTIVITATS_ACTIVITATID, $this->activitatid);
             HorarisPeer::addSelectColumns($criteria);
             if (!isset($this->lastHorarisCriteria) || !$this->lastHorarisCriteria->equals($criteria)) {
                 $this->collHorariss = HorarisPeer::doSelect($criteria, $con);
             }
         }
     }
     $this->lastHorarisCriteria = $criteria;
     return $this->collHorariss;
 }
Ejemplo n.º 7
0
 public static function getHorariss($idC, $idS)
 {
     $C = new Criteria();
     $C = self::getCriteriaActiu($C, $idS);
     $C->addJoin(HorarisPeer::ACTIVITATS_ACTIVITATID, ActivitatsPeer::ACTIVITATID);
     //Seleccionem els horaris que encaixen amb una activitat
     $C->add(ActivitatsPeer::CICLES_CICLEID, $idC);
     //Cal uqe sigui d'un cicle determinat
     $C->add(ActivitatsPeer::PUBLICAWEB, true);
     //Cal que es publiqui al web
     $C->addGroupByColumn(HorarisPeer::HORARISID);
     return HorarisPeer::doSelect($C);
 }