Пример #1
0
 /**
  *
  * @return type
  * Pri volbe lokalizace vrati skupiny (call from a class lokalizace -> action_setLoc() )
  *
  * honDivide ->
  * osevPostup -> ID osevniho postupus
  * osevIsUser -> zda je osevni postup uzivatelsky
  * c_plodina -> jednotlive plodiny osevniho postupu
  * cp_pb -> hodnota Cp za osevni postup
  * zvo -> ZVO odpovidajici lokalizaci
  * zvoAll
  */
 public function action_getSkupiny()
 {
     $this->STOP_PROPAGATION = true;
     $skupinaCont = [];
     $skupiny = $this->doctrine->entityManager->getRepository('Skupina')->findBy(array('id_lokalizace' => $this->idLocation), array('skupina_cislo' => 'ASC'));
     foreach ($skupiny as $key => $skupina) {
         if ($skupina->getModelPostup()) {
             $name = $skupina->getModelPostup()->getNazev();
             $idOsev = $skupina->getModelPostup()->getId();
             $isUser = false;
             $vypocet = new vypocetControl();
             $vypocet->request['osevPostup'] = $skupina->getModelPostup()->getId();
             $vypocet->request['zvo'] = $skupina->getZvoOblast();
             $vypocetRes = $vypocet->action_solveOsevPostup();
         } elseif ($skupina->getUzivPostup()) {
             $name = $skupina->getUzivPostup()->getNazev();
             $idOsev = $skupina->getUzivPostup()->getId();
             $isUser = true;
             $vypocet = new vypocetControl();
             $vypocet->request['osevPostup'] = $skupina->getUzivPostup()->getId();
             $vypocetRes = $vypocet->action_solveUserOsevPostup();
         } else {
             $name = null;
             $idOsev = null;
             $isUser = null;
             $vypocetRes['c_plodina'] = false;
             $vypocetRes['c_osev'] = null;
             $zvo = null;
         }
         /**
          * nastaveni zvo pro skupinu, zvo je definovano pokud je vybran osevni postup jinak se urci z vyberu
          * ZVO default = null
          */
         if ($skupina->getZvoOblast()) {
             $zvo = $skupina->getZvoOblast();
         } else {
             $osev = new osevControl();
             $osev->request['skupina'] = $skupina->getSkupina();
             $zvoOsev = $osev->action_getZvoBySkupina();
             $zvo = $zvoOsev['zvo'];
         }
         $proper = ['skupina' => $skupina->getSkupina(), 'honDivide' => $skupina->getDeleniHon(), 'osevPostup' => ["nazev" => $name, "id" => $idOsev], 'osevIsUser' => $isUser, 'c_plodina' => $vypocetRes['c_plodina'], 'cp_pb' => $vypocetRes['c_osev'], 'zvo' => $zvo];
         array_push($skupinaCont, $proper);
     }
     return ['skupiny' => $skupinaCont, "success" => true, "msg" => "OK"];
 }
Пример #2
0
 /**
  * 
  * @param type $osevPostup - id osevni postup
  * @param type $user_osev - uzivatelsky osevni postup ano/ne
  * @param type $zvo - id zvo
  * @param type $nameOsev - nazev osevniho postupu
  * @return string
  */
 private function renderOsevTable($osevPostup, $user_osev, $zvo, $nameOsev)
 {
     $osev = new osevControl();
     // TODO ID ZVO; $osev->request['zvo']
     $osev->request['zvo'] = $zvo;
     $osev->request['user_osev'] = $user_osev;
     $osev->request['osevPostup'] = $osevPostup;
     //$vypocet->request['zvo'];
     $res = $osev->action_getOsevPostupPlodiny();
     if ($res['success']) {
         $body = '';
         for ($i = 0; $i < count($res['osevPostupPlodiny']); $i++) {
             $body .= "<tr><td>" . ($i + 1) . ".</td>";
             $body .= "<td>" . $res['osevPostupPlodiny'][$i]['plodina'] . "</td>";
             $body .= "<td>" . $res['osevPostupPlodiny'][$i]['agrotech'] . "</td>";
             $body .= "<td>" . date_format(date_create($res['osevPostupPlodiny'][$i]['priprava']), "d.m.Y") . "</td>";
             $body .= "<td>" . date_format(date_create($res['osevPostupPlodiny'][$i]['seti']), "d.m.Y") . "</td>";
             $body .= "<td>" . date_format(date_create($res['osevPostupPlodiny'][$i]['sklizen']), "d.m.Y") . "</td>";
             $body .= "<td>" . date_format(date_create($res['osevPostupPlodiny'][$i]['orba']), "d.m.Y") . "</td>";
             $body .= "<td>" . round($res['osevPostupPlodiny'][$i]['c'], 4) . "</td></tr>";
         }
         $title = '<div>Název OP: ' . $nameOsev . '</div>' . '<div>Faktor ochranného vlivu vegetace (C) zvoleného OP: <b>' . round($res['c_osev'], 3) . '</b></div>';
         $head = '<tr>
             <th></th>
               <th>Plodina</th>
               <th>Agrotechnika</th>
               <th>Příprava půdy</th>
               <th>Setí/Sázení</th>
               <th>Sklizeň</th>
               <th>Podmíntka/Orba</th>
               <th>Faktor C</th>
             </tr>';
         $sub = '<small><small>Osevní postup ID: ' . $osevPostup . '; ZVO: ' . $zvo . '</small></small>';
         return $title . '<table class="customTable">' . $head . $body . '</table>' . $sub;
     } else {
         return '<i style="color:red;">Interní chyba</i>';
     }
 }