getFinancetLastMount($this->id,"rozpocet"); } public function getPriceMount(){ $sum = 0; $kurz_beh = Doctrine::getTable('Kurz_beh')->createQuery("a")->where("a.agentura_id = ".$this->getId()) ->execute(); foreach($kurz_beh as $beh){ $hodina = Doctrine::getTable('Kurz_hodina')->createQuery("a")->where("a.kurz_beh_id = ".$beh->getId()) ->andWhere("a.datum LIKE '".date("Y-m-",strtotime("- 1 month"))."%'") ->andWhere("a.zruseno <> 'agentura'") ->execute(); $placenych_hodin = count($hodina); $sum+= $beh->getFj_cena()*$placenych_hodin; /* Whiski - zjednodušené počítání foreach($hodina as $doch){ foreach($doch->Dochazka_list as $d) $sum+= $d->getCena(); } */ } return $sum; } public function getFinancetLastMount($id,$type){ $beh = Doctrine::getTable('Kurz_beh')->createQuery('u')->where('u.agentura_id = '.$id)->execute(); $sumFakt = 0; $datum_start = $this->getDatum('start'); $datum_end = $this->getDatum('end'); if(isset($beh) && !empty($beh[0])){ $kurz_hodiny = Doctrine::getTable('Kurz_hodina')->getHodina($beh[0]->getId())->where('datum >="'.$datum_start.'"')->andWhere('datum<"'.$datum_end.'"')->execute(); foreach($kurz_hodiny as $kurz_hodina){ $pracovnici = Doctrine::getTable('Kurz_dochazka')->getAllDochazka($kurz_hodina->getId())->execute(); foreach($pracovnici as $pracovnik){ $sumFakt += $pracovnik->getCena(); } } } return $sumFakt; } // Acho jo... public function getActivesCourse(){ $kurz = Doctrine::getTable('Kurz_beh')->createQuery("a")->where('a.agentura_id = '.$this->getId()) ->andWhere("a.beh_od <= '".date("Y-m-d")."'") ->andWhere("a.beh_do >= '".date("Y-m-d")."'")->execute(); return $kurz; } public function getNonActivesCourse(){ $kurz = Doctrine::getTable('Kurz_beh')->createQuery("a")->where('a.agentura_id = '.$this->getId()) ->andWhere("a.beh_od > '".date("Y-m-d")."'") ->andWhere("a.beh_do < '".date("Y-m-d")."'")->execute(); return $kurz; } private function getDatum($type){ if($type == 'start'){ $date = date('m'); return date("Y-").($date-1)."-01"; } else { $date = date('m'); return date("Y-").($date)."-01"; } } public function archivate($level){ foreach($this->Kurz_beh_list as $beh){ $beh->archivate($level); } $this->archive($level); } public function __toString(){ return $this->getNazev(); } public function fulldelete() { foreach($this->getLektor_list() as $lektor) { $lektor->fullDelete(); } $this->delete(); } public function hasPermission(Zakaznik $zakaznik) { return $this->getZakaznikId() == $zakaznik->getId(); } public function getAppendDirChoices($is_agentura = false) { $choices = array('' => ''); foreach($this->getRootDocuments($is_agentura) as $document) { if($document->isDir()) { $choices[$document->getId()] = $document->getName(); $choices = $choices + $document->getDirChoices('-', $is_agentura); } } return $choices; } public function getRootDocuments($is_agentura = false) { $query = Doctrine::getTable('Document')->createQuery() ->addWhere('zakaznik_id = ?', $this->getZakaznikId()) ->addWhere('((agentura_id = ? AND parent_id IS NULL) OR (agentura_id IS NOT NULL AND is_global = ?)) AND !(agentura_id = ? AND parent_id IS NOT NULL AND is_global = ?)', array($this->getId(), true, $this->getId(), true)) ->orderBy('is_global DESC'); if($is_agentura) { $query->addWhere('agentura_read = ?', true); } return $query->execute(); } /** * Aktivní kurzy agentury * * @return Doctrine_Collection */ public function getActiveCourses() { return Doctrine::getTable('Kurz')->createQuery("k") ->innerJoin('k.Kurz_beh_list b') ->addwhere('b.agentura_id = '.$this->getId()) ->addWhere("b.beh_od <= ?", date("Y-m-d")) ->addWhere("b.beh_do >= ?", date("Y-m-d")) ->execute(); } /** * Neaktivní kurzy agentury * * @return Doctrine_Collection */ public function getDeactiveCourses() { return Doctrine::getTable('Kurz')->createQuery("k") ->innerJoin('k.Kurz_beh_list b') ->addwhere('b.agentura_id = '.$this->getId()) ->addWhere("b.beh_od > ?", date("Y-m-d")) ->addWhere("b.beh_do < ?", date("Y-m-d")) ->execute(); } public function aktivniBehy() { return Doctrine::getTable('Kurz_beh')->createQuery("b") ->addwhere('b.agentura_id = '.$this->getId()) ->addWhere("b.beh_do >= ?", date("Y-m-d")) ->orderBy('b.beh_do DESC') ->execute(); } public function neaktivniBehy() { return Doctrine::getTable('Kurz_beh')->createQuery("b") ->addwhere('b.agentura_id = '.$this->getId()) ->addWhere("b.beh_do < ?", date("Y-m-d")) ->orderBy('b.beh_do DESC') ->execute(); } public function pracovniciVAktivnichBehach() { return Doctrine::getTable('Pracovnik')->createQuery("p") ->innerJoin('p.Dochazka_list d') ->innerJoin('d.Kurz_hodina h') ->innerJoin('h.Kurz_beh b') ->addwhere('b.agentura_id = '.$this->getId()) ->addWhere("b.beh_do >= ?", date("Y-m-d")) ->orderBy('p.prijmeni ASC, p.jmeno ASC') ->execute(); } }