當前位置: 首頁>>代碼示例>>PHP>>正文


PHP entity::getStroski方法代碼示例

本文整理匯總了PHP中entity::getStroski方法的典型用法代碼示例。如果您正苦於以下問題:PHP entity::getStroski方法的具體用法?PHP entity::getStroski怎麽用?PHP entity::getStroski使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在entity的用法示例。


在下文中一共展示了entity::getStroski方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。

示例1: podatkiUprizoritve

 /**
  * pridobitev podatkov o uprizoritvi, ki se uporabljajo v programu dela
  * 
  * Podatke, ki jih pridobi ta procedura lahko uporabnik po želji prenese v enoto programa - 
  * npr. v program premiera, program ponovitve premiere ipd.
  * 
  * @param entity  $uprizoritev
  * @param string $zacetek       začetek programa dela v ISO8601 obliki, npr. "1970-01-01T01:00:00+0100"
  * @param string $konec         konec programa dela v ISO8601 obliki, npr. "2999-01-01T01:00:00+0100"
  * 
  * @returns data                strukturirani podatki uprizoritve 
  */
 public function podatkiUprizoritve($uprizoritev, $zacetek = \Max\Consts::MINISODATE, $konec = \Max\Consts::MAXISODATE)
 {
     $data = $this->initData();
     $tr = $this->getServiceLocator()->get('translator');
     $data['naziv'] = $uprizoritev->getNaslov();
     /**
      * seštejem stroške iz Stroškov uprizoritve
      */
     $data['Do']['materialni'] = $data['Na']['materialni'] = 0;
     //init
     foreach ($uprizoritev->getStroski() as $numObject => $strosekU) {
         switch ($strosekU->getTipstroska()) {
             case 'materialni':
                 $data['Do']['materialni'] += $strosekU->getVrednostDo();
                 $data['Na']['materialni'] += $strosekU->getVrednostNa();
                 break;
             default:
                 $this->expect(false, "Tip stroška uprizoritve je lahko le materialni, je pa:" . $strosekU->getTipstroska(), 1000951);
         }
     }
     /**
      * seštejem stroške iz pogodb 
      */
     foreach ($uprizoritev->getFunkcije() as $numFun => $funkcija) {
         $tipfunkcije = $funkcija->getTipFunkcije();
         if ($tipfunkcije) {
             $podrocje = $tipfunkcije->getPodrocje();
         }
         foreach ($funkcija->getAlternacije() as $numAlt => $alternacija) {
             /**
              * upoštevamo le tiste alternacije, ki se vsaj delno prekrivajo z intervalom začetka in konca programa dela 
              * 
              * $$ tu bi bilo bolje, da bi primerjali datume v datetime obliki zaradi morebitnih različnih con
              */
             $az = is_null($alternacija->getZacetek()) ? null : $alternacija->getZacetek()->format('c');
             $ak = is_null($alternacija->getKonec()) ? null : $alternacija->getKonec()->format('c');
             if ((!is_null($az) ? $az <= $konec : true) && (!is_null($ak) ? $ak >= $zacetek : true)) {
                 if ($alternacija->getZaposlen()) {
                     if (in_array($podrocje, ["igralec", "umetnik"])) {
                         $data['stZaposUmet'] += 1;
                     } else {
                         $data['stZaposDrug'] += 1;
                     }
                 }
                 if ($alternacija->getPomembna()) {
                     $oseba = $alternacija->getOseba();
                     $this->expect($oseba, "Ni osebe pri alternaciji " . $alternacija->getSifra(), 1000952);
                     array_push($data['Funkcije'], ["funkcija" => $funkcija->getNaziv(), "ime" => $oseba->getIme(), "priimek" => $oseba->getPriimek(), "sort" => $alternacija->getSort()]);
                 }
                 if ($alternacija->getImaPogodbo()) {
                     $pogodba = $alternacija->getPogodba();
                     if ($pogodba) {
                         if ($pogodba->getJeAvtorskePravice()) {
                             /**
                              * avtorske pravice
                              */
                             $data['Do']['avtorskePravice'] += $pogodba->getVrednostDoPremiere();
                             $data['Na']['avtorskePravice'] += $pogodba->getVrednostPredstave();
                             // to so tantieme
                         } else {
                             /**
                              * avtorski honorarji
                              * $$ tu obstaja možnost, da bo honorarje 2x štel, če bo ista pogodba na več alternacijah
                              */
                             if ($pogodba->getVrednostDoPremiere() > 0.008999999999999999) {
                                 //vsaj 1 cent, a da preprečimo floating point težave
                                 $data['Do']['avtorskiHonorarji'] += $pogodba->getVrednostDoPremiere();
                             }
                             if ($pogodba->getVrednostPredstave() > 0.008999999999999999) {
                                 //vsaj 1 cent, a da preprečimo floating point težave
                                 $data['Na']['avtorskiHonorarji'] += $pogodba->getVrednostPredstave();
                             }
                             if ($pogodba->getSamozaposlen()) {
                                 if ($pogodba->getVrednostDoPremiere() > 0.008999999999999999) {
                                     //vsaj 1 cent, a da preprečimo floating point težave
                                     $data['Do']['avtorskiHonorarjiSamoz'] += $pogodba->getVrednostDoPremiere();
                                 }
                                 if ($pogodba->getVrednostPredstave() > 0.008999999999999999) {
                                     //vsaj 1 cent, a da preprečimo floating point težave
                                     $data['Na']['avtorskiHonorarjiSamoz'] += $pogodba->getVrednostPredstave();
                                 }
                             }
                             /**
                              * štejemo le zunanje sodelavce
                              */
                             if (!$alternacija->getZaposlen()) {
                                 if ($pogodba->getVrednostDoPremiere() > 0.008999999999999999) {
                                     //vsaj 1 cent, a da preprečimo floating point težave
//.........這裏部分代碼省略.........
開發者ID:ifigenija,項目名稱:server,代碼行數:101,代碼來源:EnotaProgramaService.php


注:本文中的entity::getStroski方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。