Exemplo n.º 1
0
 /**
  * 
  * 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" => ""];
     }
 }
Exemplo n.º 2
0
 /**
  *
  * @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']];
 }