/** * * @return type * vrati lokalizaci vcetne skupin */ public function action_getLoc() { $this->STOP_PROPAGATION = true; if ($this->user->isLogged()) { if (!SessionService::getInstance()->get('idLocation')) { return ["success" => false, "msg" => 'Není definována lokalizace.']; } $selectedLoc = SessionService::getInstance()->get('idLocation'); $loc = $this->doctrine->entityManager->getRepository('Lokalizace')->find($selectedLoc); $skupinaObj = new skupinaControl(); $skupinyRes = $skupinaObj->action_getSkupiny(); return ["loc" => ['selectedLoc' => $selectedLoc, 'nameLoc' => $loc->getNazev(), 'numSkupina' => count($skupinyRes['skupiny']), 'skupiny' => $skupinyRes['skupiny']], "success" => true, "msg" => $this->msg]; } else { return ["success" => false, "msg" => 'Uživatel musí být přihlášen.']; } }
/** * * @param type $skupinaCislo - poradi skupiny DPB * @return string */ private function renderDPBTable($skupinaCislo, $evalTable = false) { $skupina = new skupinaControl(); $skupina->request['skupina'] = $skupinaCislo; $res = $skupina->action_getGeomSkupina(); if ($res['success']) { $this->sortDPBTable($res['geomSkupina']); $body = ''; for ($i = 0; $i < count($res['geomSkupina']); $i++) { $body .= "<tr>"; $body .= "<td>" . ($i + 1) . ".</td>"; $body .= "<td>" . $res['geomSkupina'][$i]['id_lpis'] . "</td>"; $body .= "<td>" . $res['geomSkupina'][$i]['ctverec'] . "</td>"; $body .= "<td>" . $res['geomSkupina'][$i]['zkodfb'] . "</td>"; $body .= "<td>" . round($res['geomSkupina'][$i]['area'] / 10000, 2) . "</td>"; $body .= "<td>" . $res['geomSkupina'][$i]['hon'] . "</td>"; $body .= "<td>" . round($res['geomSkupina'][$i]['cp'], 3) . "</td>"; $body .= "<td>" . round($res['geomSkupina'][$i]['cp_pb'], 3) . "</td>"; if ($res['geomSkupina'][$i]['cp'] - $res['geomSkupina'][$i]['cp_pb'] < 0) { $body .= "<td><span style='color: red;'>" . round($res['geomSkupina'][$i]['cp'] - $res['geomSkupina'][$i]['cp_pb'], 3) . "</span></td>"; } else { $body .= "<td><span style='color: green;'>" . round($res['geomSkupina'][$i]['cp'] - $res['geomSkupina'][$i]['cp_pb'], 3) . "</span></td>"; } $opatreni = $res['geomSkupina'][$i]['is_opatreni'] == 0 ? 'NE' : 'ANO'; $body .= "<td>" . $opatreni . "</td>"; $body .= '</tr>'; } $title = '<br><br><br><div>Skupina dílů půdních bloků: ' . $skupinaCislo . '</div>'; $head = '<tr> <th></th> <th> ID DPB </th> <th> Čtverec </th> <th> č. DPB </th> <th> Výměra [ha] </th> <th> Hon </th> <th> C<sub>p</sub> . P<sub>p</sub> </th> <th> C * P </th> <th> Zhodnoceni </th> <th> Opatření (P) </th> </tr>'; $sub = '<small><small>Lokalizace ID: ' . $this->idLoc . '; skupina: ' . $skupinaCislo . '</small>' . '<br><small>C<sub>p</sub> . P<sub>p</sub> - Maximální přípustná hodnota faktoru ochranného vlivu vegetace.</small>' . '<br><small>C * P - Faktor ochranného vlivu vegetace C násoben faktorem účinnosti protierozních opatření P.</small>' . '<BR><small>Zhodnoceni - Ohroženost vodní erozí (pro naplnění protierozní ochrany je požadovaná nezáp**ná hodnota), C<sub>p</sub> . P<sub>p</sub> - (C * P)</small>' . '<BR><small>Opatření - Uživatelem aplikovaná protierozní opatření.</small></small>'; /** * Evaluation table */ if ($evalTable) { $evalTable = $this->renderEvalTable($res['geomSkupina'], $skupinaCislo); } else { $evalTable = ''; } /** * */ return $title . '<table class="customTable">' . $head . $body . '</table>' . $sub . $evalTable; } else { return '<i style="color:red;">Interní chyba</i>'; } }