/** * * Vypocet C a seznam plodin osevniho postupu, pri jeho vyberu * @return type */ public function action_getOsevPostupPlodiny() { $this->STOP_PROPAGATION = true; $vypocet = new vypocetControl(); if (filter_var($this->request['user_osev'], FILTER_VALIDATE_BOOLEAN) === true) { /** * request['osevPostup'] -> ID osev postup */ $vypocet->request['osevPostup'] = $this->request['osevPostup']; $vypocetRes = $vypocet->action_solveUserOsevPostup(); return ["osevPostupPlodiny" => $vypocetRes['terms'], 'numYears' => $vypocetRes['numYears'], 'c_plodina' => $vypocetRes['c_plodina'], 'c_osev' => $vypocetRes['c_osev'], 'c_progress' => $this->getProgressC($vypocetRes['c_plodina']), "user_postup" => true, "success" => true, "msg" => ""]; // Model.osevni postupy } else { /** * request['osevPostup'] -> ID osev postup * request['zvo'] -> ZVO */ $vypocet->request['osevPostup'] = $this->request['osevPostup']; $vypocet->request['zvo'] = $this->request['zvo']; $vypocetRes = $vypocet->action_solveOsevPostup(); return ["osevPostupPlodiny" => $vypocetRes['terms'], 'numYears' => $vypocetRes['numYears'], 'c_plodina' => $vypocetRes['c_plodina'], 'c_osev' => $vypocetRes['c_osev'], 'c_progress' => $this->getProgressC($vypocetRes['c_plodina']), "user_postup" => false, "success" => true, "msg" => ""]; } }
/** * * @return type */ public function action_getDetailDpb() { $this->STOP_PROPAGATION = true; if (!isset($this->request['skupina']) || !isset($this->request['hon']) || !isset($this->request['id_geom'])) { return ["success" => false, "msg" => "Chybí vstupní parametry."]; } $skupina = $this->doctrine->entityManager->getRepository('Skupina')->findOneBy(array('skupina_cislo' => $this->request['skupina'], 'id_lokalizace' => $this->idLocation)); $vypocet = new vypocetControl(); if ($skupina->getUzivPostup()) { $vypocet->request['osevPostup'] = $skupina->getUzivPostup()->getId(); $vypocetRes = $vypocet->action_solveUserOsevPostup(); } else { $vypocet->request['osevPostup'] = $skupina->getModelPostup()->getId(); $vypocet->request['zvo'] = $skupina->getZvoOblast(); $vypocetRes = $vypocet->action_solveOsevPostup(); } $plodiny = $vypocetRes['c_plodina']; /** * protierozni opatreni * array [plodina => nazev plodinz, c => hodnota c plodiny, p => hodnota p faktoru protier. opatreni] * $opatreni => vycet opatreni pro dane DPB, jinak false */ $opatreni = skupinaData::getOpatreniForPb($this->request['id_geom'], $this->request['skupina']); $opatreniOsev = $this->applyOpatreni($plodiny, $opatreni); /** * organicka hmota */ $organika = $this->applyOrganika($vypocetRes); /// SORTING BY HON if ((int) $this->request['hon'] === 0) { $hon = 1; } else { $hon = (int) $this->request['hon']; } $orderOpatreni = []; $orderOrganika = []; for ($j = 0; $j < count($opatreniOsev); $j++) { $key = (count($opatreniOsev) - ($hon - 1) + $j) % count($opatreniOsev); $orderOpatreni[$j] = $opatreniOsev[$key]; $orderOrganika[$j] = $organika[$key]; } return ["success" => true, "msg" => "OK", 'opatreni' => $orderOpatreni, 'organika' => $orderOrganika, 'numYears' => $vypocetRes['numYears']]; }