当前位置: 首页>>代码示例>>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;未经允许,请勿转载。