本文整理汇总了PHP中entity::getFunkcije方法的典型用法代码示例。如果您正苦于以下问题:PHP entity::getFunkcije方法的具体用法?PHP entity::getFunkcije怎么用?PHP entity::getFunkcije使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类entity
的用法示例。
在下文中一共展示了entity::getFunkcije方法的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
//.........这里部分代码省略.........