/** * * @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"]; }
/** * * @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>'; } }