|
|
@@ -31,6 +31,21 @@ class Route_UrlAction_ProjektyKosztyWstepnychRobot extends RouteBase {// TODO: U
|
|
|
SE_Layout::dol();
|
|
|
}
|
|
|
|
|
|
+ public function zestawienieSwMikRurAction() {
|
|
|
+ SE_Layout::gora();
|
|
|
+ if (1 != V::get('_print', '', $_GET)) SE_Layout::menu();
|
|
|
+ try {
|
|
|
+ $idProject = V::get('ID_PROJECT', 0, $_REQUEST, 'int');
|
|
|
+ $idCompany = V::get('ID_COMPANY', 0, $_REQUEST, 'int');
|
|
|
+ if (!$idProject) throw new Exception("Wrong param in 'ID_PROJECT' - expected integer!");
|
|
|
+ $this->panel($idProject, $idCompany);
|
|
|
+ $this->zestawienieSwMikRur($idProject, $idCompany);
|
|
|
+ } catch (Exception $e) {
|
|
|
+ SE_Layout::alert('danger', "Error #" . $e->getCode() . "|" . $e->getLine() . ": " . $e->getMessage());
|
|
|
+ }
|
|
|
+ SE_Layout::dol();
|
|
|
+ }
|
|
|
+
|
|
|
public function ofertaAdminAction() {
|
|
|
// TODO: check if user is allowed to run this action
|
|
|
SE_Layout::gora();
|
|
|
@@ -712,6 +727,7 @@ SQL_FUN;
|
|
|
<?php if ($idProject > 0) : ?>
|
|
|
<a class="btn btn-default" href="index.php?_route=UrlAction_ProjektyKosztyWstepnychRobot&ID_PROJECT=<?php echo $idProject; ?>">Kosztorys</a>
|
|
|
<a class="btn btn-default" href="index.php?_route=UrlAction_ProjektyKosztyWstepnychRobot&ID_PROJECT=<?php echo $idProject; ?>&_print=1" target="_blank">Wydruk Kosztorysu</a>
|
|
|
+ <a class="btn btn-default" href="index.php?_route=UrlAction_ProjektyKosztyWstepnychRobot&ID_PROJECT=<?php echo $idProject; ?>&_task=zestawienieSwMikRur&_print=1" target="_blank">zestawienie (światłowód i mikrorurki)</a>
|
|
|
<a class="btn btn-default" href="index.php?_route=UrlAction_ProjektyKosztyWstepnychRobot&ID_PROJECT=<?php echo $idProject; ?>&_task=oferta">oferta</a>
|
|
|
<a class="btn btn-default" href="index.php?_route=UrlAction_ProjektyKosztyWstepnychRobot&ID_PROJECT=<?php echo $idProject; ?>&_task=ofertaAdmin">oferta (Admin)</a>
|
|
|
<a class="btn btn-default" href="index.php?_route=UrlAction_ProjektyKosztyWstepnychRobot&ID_PROJECT=<?php echo $idProject; ?>&_task=ofertaCompany">oferta company</a>
|
|
|
@@ -1045,6 +1061,157 @@ SQL_FUN;
|
|
|
return $this->_model[$idProject];
|
|
|
}
|
|
|
|
|
|
+ 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);
|
|
|
+ }
|
|
|
+
|
|
|
+ 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->getData($idProject, $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', "projCost", $projCost, __CLASS__, __FUNCTION__, __LINE__);
|
|
|
+ }
|
|
|
+
|
|
|
public function kosztorys($idProject) {
|
|
|
$idCompany = 0;
|
|
|
$admin = false;
|