Przeglądaj źródła

added zestawienieSwMikRur in Kosztorysy

Piotr Labudda 10 lat temu
rodzic
commit
52bdfd8091

+ 167 - 0
SE/se-lib/Route/UrlAction/ProjektyKosztyWstepnychRobot.php

@@ -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;