| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188 |
- <?php
- Lib::loadClass('RouteBase');
- Lib::loadClass('ProjectKosztorysSchema');
- Lib::loadClass('ProjectKosztorysModel');
- Lib::loadClass('ProjectKosztorysCennik');
- Lib::loadClass('UI');
- Lib::loadClass('Response');
- Lib::loadClass('Route_ProjektyKosztorysBase');
- class Route_UrlAction_ProjektyZestawienieSwMikRurKosztorys extends Route_ProjektyKosztorysBase {
- public $_model = array();
- public function defaultAction() {
- // TODO: check if user is allowed to run this action
- UI::gora();
- if (1 != V::get('_print', '', $_GET)) UI::menu();
- try {
- $idProject = V::get('ID_PROJECT', 0, $_REQUEST, 'int');
- if (!$idProject) throw new Exception("Wrong param in 'ID_PROJECT' - expected integer!");
- $this->panel($idProject);
- $this->execPostTasks();
- if (1 != V::get('_print', '', $_GET)) {
- UI::startContainer(['style'=>'text-align:right']);
- UI::link('link', "<i class=\"glyphicon glyphicon-print\"></i> Drukuj", Request::getPathUri() . "index.php?_route=UrlAction_ProjektyZestawienieSwMikRurKosztorys&ID_PROJECT={$idProject}&_print=1");
- UI::endContainer();
- }
- $this->zestawienieSwMikRur($idProject);
- } catch (Exception $e) {
- UI::alert('danger', "Error #" . $e->getCode() . "|" . $e->getLine() . ": " . $e->getMessage());
- }
- UI::dol();
- }
- public function zestawienieSwMikRur($idProject) {
- $idCompany = 0;
- $admin = false;
- $companyAdmin = false;
- $model = $this->getModel($idProject);
- //DBG::table("subProjectList", $model->subProjectList, __CLASS__, __FUNCTION__, __LINE__);
- $schema = ProjectKosztorysSchema::getSchema();
- $projCost = $this->getProjectCostByCennik($idProject, $idCompany);
- //DBG::_(true, true, "projCost", $projCost, __CLASS__, __FUNCTION__, __LINE__);
- $viewLayerDataArgs = compact('idProject', 'idCompany', 'admin', 'companyAdmin', 'projCost');
- ?>
- <div class="container">
- <h1></h1>
- <table class="table">
- <tr>
- <th><?php echo $schema['nr']; ?></th>
- <th><?php echo $schema['title']; ?></th>
- <th><?php echo $schema['ownerName']; ?></th>
- <th style="text-align:right"><?php echo $schema['cost_total']; ?></th>
- </tr>
- <tr>
- <td><?php echo $model->idProject; ?></td>
- <td><?php echo $model->title; ?></td>
- <td><?php echo $model->ownerName; ?></td>
- <td style="text-align:right"><?php echo number_format($projCost['cost_total'], 2, ',', ' '); ?></td>
- </tr>
- </table>
- <?php $args = $viewLayerDataArgs;
- $idProject = $args['idProject'];
- $idCompany = V::get('idCompany', 0, $args);
- $admin = V::get('admin', false, $args);
- $companyAdmin = V::get('companyAdmin', false, $args);
- $projCosts = V::get('projCosts', array(), $args);
- $schema = ProjectKosztorysSchema::getSchema();
- $conf = $schema['config'];
- DBG::_('DBG', '>1', "conf", $conf, __CLASS__, __FUNCTION__, __LINE__);
- $summaryTypeCost = V::get('sub_costs', array(), $projCosts);
- $subProjCost = V::get('sub_proj', array(), $projCosts);
- $data = $this->getKosztorysData($idProject, $korespType = '', $idKoresp = 0, $admin);
- $dataSummary = $data['summary'];
- $dataSubProj = $data['by_project'];
- // $dataSubProj = array();
- // foreach ($data['by_project'] as $idSubProj => $subProjData) {
- // if ($idProject != $idSubProj) $dataSubProj[$idSubProj] = $subProjData;
- // }
- DBG::_('DBG', '>1', "data", $data, __CLASS__, __FUNCTION__, __LINE__);
- $defCennik = ProjectKosztorysCennik::getDefaultCennik($idCompany);
- $cennik = ProjectKosztorysCennik::getCennik($idProject, $idCompany);
- $workCennik = ProjectKosztorysCennik::getWorkCennik($idProject, $idCompany);
- $additionalCosts = array();
- $additionalCosts[] = array();
- $additionalCosts[] = array();
- $additionalCosts[] = array();
- $additionalSummaryTypeCost = array();
- ?>
- <style type="text/css">
- /* Print Styles */
- @media print {
- body { font-size:10px; }
- th, td { font-size:10px; }
- h1 { font-size:2em; }
- h2 { font-size:1.6em; }
- h3 { font-size:1.4em; }
- h4 { font-size:1.2em; }
- }
- </style>
- <?php if (!empty($dataSubProj)) : ?>
- <table class="table table-bordered">
- <thead>
- <tr>
- <th>ID PROJ.</th>
- <th>ID BUDYNKU</th>
- <th>WŁAŚCICIEL</th>
- <th>ADRES</th>
- <th>KONTAKT</th>
- <th>NR DZIAŁKI</th>
- <th>DŁ. ŚWIATŁOWODU</th>
- <th>DŁ. MIKRORURKI DO KLIENTA</th>
- </tr>
- </thead>
- <tbody>
- <?php foreach ($dataSubProj as $idSubProj => $subProjData) : ?>
- <?php
- // 22460 Światłowód
- // 22467 Mikrokanalizacja do klienta
- $sumSwiatlo = 0;
- if (!empty($subProjData[22460])) foreach ($subProjData[22460] as $swiatlo) {
- $sumSwiatlo += $swiatlo['ilosc'];
- }
- $sumMikroRur = 0;
- if (!empty($subProjData[22467])) foreach ($subProjData[22467] as $mikroRur) {
- $sumMikroRur += $mikroRur['ilosc'];
- }
- ?>
- <?php $budynki = $this->fetchBudynki($idSubProj); ?>
- <?php $proj = $this->fetchProject($idSubProj); ?>
- <?php if (empty($budynki)) : ?>
- <tr>
- <td><?php echo $idSubProj; ?></td>
- <td>brak</td>
- <td><?php echo $proj['IN_NAME']; ?></td>
- <td><?php echo $proj['M_DISTRIBUTOR_ADDRESS']; ?></td>
- <td><?php echo $proj['M_DISTRIBUTOR_CONTACT']; ?></td>
- <td><?php echo $proj['INWDZ__obreby_i_nr_dzialek']; ?></td>
- <td><?php echo $sumSwiatlo; ?></td>
- <td><?php echo $sumMikroRur; ?></td>
- </tr>
- <?php else : ?>
- <?php foreach ($budynki as $bud) : ?>
- <tr>
- <td><?php echo $idSubProj; ?></td>
- <td><?php echo $bud['ID']; ?></td>
- <td><?php echo $proj['IN_NAME']; ?></td>
- <td><?php echo $proj['M_DISTRIBUTOR_ADDRESS']; ?></td>
- <td><?php echo $proj['M_DISTRIBUTOR_CONTACT']; ?></td>
- <td><?php echo $proj['INWDZ__obreby_i_nr_dzialek']; ?></td>
- <td><?php echo $sumSwiatlo; ?></td>
- <td><?php echo $sumMikroRur; ?></td>
- </tr>
- <?php endforeach; ?>
- <?php endif; ?>
- <?php endforeach; ?>
- </tbody>
- </table>
- <?php endif; ?>
- <?php
- DBG::_('DBG', '>0', "schema", $schema, __CLASS__, __FUNCTION__, __LINE__);
- DBG::_('DBG', '>0', "projCosts", $projCosts, __CLASS__, __FUNCTION__, __LINE__);
- }
- public function fetchBudynki($idProject) {
- return DB::getPDO()->fetchAll("
- select b.*
- from BUILDINGS b
- where b.ID_PROJECT = '{$idProject}'
- ");
- }
- public function fetchProject($idProject) {
- $rows = DB::getPDO()->fetchAll("
- select p.*
- from IN7_MK_BAZA_DYSTRYBUCJI p
- where p.ID = '{$idProject}'
- ");
- return reset($rows);
- }
- }
|