Forráskód Böngészése

added UrlAction/ProjektyProNetMediaZamZlec

Piotr Labudda 10 éve
szülő
commit
31897b5d55

+ 312 - 0
SE/se-lib/Route/UrlAction/ProjektyProNetMediaZamZlec.php

@@ -0,0 +1,312 @@
+<?php
+
+Lib::loadClass('RouteBase');
+Lib::loadClass('TypespecialVariable');
+
+class Route_UrlAction_ProjektyProNetMediaZamZlec extends RouteBase {// TODO: UrlActionBase @see Route_UrlAction
+
+	public function handleAuth() {
+		if (!User::logged()) {
+			User::authByRequest();
+		}
+	}
+
+	public function typespecialAction() {
+		$DBG = ('1' == V::get('DBG', '', $_REQUEST));
+		header("Content-type: application/json");
+
+		$fld = V::get('fld', '', $_GET);
+		switch ($fld) {
+			case 'id_company': {
+					$typeSpecialCompanies = TypespecialVariable::getInstance(-1, '__COMPANIES');
+
+					$query = V::get('q', '', $_REQUEST);
+					$rawRows = null;
+					$rows = $typeSpecialCompanies->getValuesWithExports($query);
+					if($DBG){echo'<pre style="max-height:200px;overflow:auto;border:1px solid red;text-align:left;">rows('.$query.') (' . __CLASS__ . '::' . __FUNCTION__ . ':' . __LINE__ . '): ';print_r($rows);echo'</pre>';}
+					foreach ($rows as $kID => $vItem) {
+						$itemJson = new stdClass();
+						$itemJson->id = $vItem->id;
+						$itemJson->name = $vItem->param_out;
+						if (!empty($vItem->exports)) {
+							$itemJson->exports = $vItem->exports;
+						}
+						$jsonData[] = $itemJson;
+					}
+					echo json_encode($jsonData);
+				}
+				break;
+		}
+	}
+
+	public function defaultAction() {
+		SE_Layout::gora();
+		if (1 != V::get('_print', '', $_GET)) SE_Layout::menu();
+		try {
+			$id_project = V::get('ID_PROJECT', 0, $_REQUEST, 'int');
+			$id_company = V::get('id_company', 0, $_REQUEST, 'int');
+			$items_count = V::get('items_count', 10, $_REQUEST, 'int');
+			$typeSpecialCompanies = TypespecialVariable::getInstance(-1, '__COMPANIES');
+			?>
+<div class="container" style="margin-top:2em">
+	<form action="" method="post" class="form-horizontal">
+		<div class="form-group">
+			<label for="id_project" class="col-sm-2 control-label">Projekt</label>
+			<div class="col-sm-4">
+				<input type="number" name="ID_PROJECT" value="<?php echo $id_project; ?>" class="form-control">
+			</div>
+		</div>
+		<div class="form-group">
+		    <label for="id_company" class="col-sm-2 control-label">Dostawca</label>
+		    <div class="col-sm-10">
+					<?php if ($typeSpecialCompanies) : ?>
+						<?php
+							$fName = 'id_company';
+							$fldParams = array();
+							$fldParams['allowCreate'] = false;
+							$fldParams['ajaxDataUrlBase'] = "index.php?_route=UrlAction_ProjektyProNetMediaZamZlec&_task=typespecial&fld={$fName}";
+							if ($id_company > 0) {
+								$tsValues = $typeSpecialCompanies->getEditSelectedValuesByIds(-1, $id = $id_company, $fName, $fieldValue = $id_company);
+								if (1 == count($tsValues)) {
+									$fldParams['typespecialValue'] = array_values($tsValues);
+									$fldParams['typespecialValue'] = reset($fldParams['typespecialValue']);
+								}
+							}
+							//$fldParams['ajaxDataUrlBase'] .= "&DBG_TS=3";
+							echo $typeSpecialCompanies->showFormItem($tblID = -1, $fName, $selValue = $id_company, $fldParams);
+						?>
+					<?php else : ?>
+						<input type="number" name="id_company" value="<?php echo $id_company; ?>" class="form-control">
+					<?php endif; ?>
+		    </div>
+		  </div>
+		  <div class="form-group">
+		    <label for="items_count" class="col-sm-2 control-label">Ilość pozycji</label>
+		    <div class="col-sm-4">
+					<input type="number" name="items_count" value="<?php echo $items_count; ?>" class="form-control">
+		    </div>
+		  </div>
+		  <div class="form-group">
+		    <div class="col-sm-offset-2 col-sm-10">
+					<input type="hidden" name="_task" value="">
+		      <button type="submit" class="btn btn-default" onclick="return submitZamowienie(this);">Zamówienie</button>
+		      <button type="submit" class="btn btn-default" onclick="return submitZlecenie(this);">Zlecenie</button>
+		    </div>
+		  </div>
+	</form>
+</div>
+<script>
+function submitZamowienie(fld) {
+	var frm = fld.form;
+	frm['_task'].value='zamowienie';
+}
+function submitZlecenie(fld) {
+	var frm = fld.form;
+	frm['_task'].value='zlecenie';
+}
+</script>
+			<?php
+		} catch (Exception $e) {
+			SE_Layout::alert('danger', "Error #" . $e->getCode() .  "|" . $e->getLine() .  ": " . $e->getMessage());
+		}
+		SE_Layout::dol();
+	}
+
+	public function zlecenieAction() {
+		SE_Layout::gora();
+		if (1 != V::get('_print', '', $_GET)) SE_Layout::menu();
+		try {
+			$id_project = V::get('ID_PROJECT', 0, $_REQUEST, 'int');
+			$id_company = V::get('id_company', 0, $_REQUEST, 'int');
+			$items_count = V::get('items_count', 10, $_REQUEST, 'int');
+			if (1 != V::get('_print', '', $_GET)) {
+				$basePrintUrl = "index.php?_route=UrlAction_ProjektyProNetMediaZamZlec&ID_PROJECT={$id_project}";
+				$basePrintUrl .= "&id_company={$id_company}";
+				$basePrintUrl .= "&items_count={$items_count}";
+				?>
+				<div class="container" style="margin:2em auto; text-align:right">
+					<a class="btn btn-default" href="<?php echo $basePrintUrl; ?>">Cofnij</a>
+					<a class="btn btn-primary" href="<?php echo $basePrintUrl; ?>&_task=zlecenie&_print=1" target="_blank">Drukuj Zlecenie</a>
+				</div>
+				<?php
+			}
+			$data = array();
+			$data['ile_pozycji'] = $items_count;
+			$data['id_company'] = $id_company;
+			$data['id_project'] = $id_project;
+			$data = $this->setProps($data);
+			$this->zlecenieView($data);
+		} catch (Exception $e) {
+			SE_Layout::alert('danger', "Error #" . $e->getCode() .  "|" . $e->getLine() .  ": " . $e->getMessage());
+		}
+		SE_Layout::dol();
+	}
+
+	public function zamowienieAction() {
+		SE_Layout::gora();
+		if (1 != V::get('_print', '', $_GET)) SE_Layout::menu();
+		try {
+			$id_project = V::get('ID_PROJECT', 0, $_REQUEST, 'int');
+			$id_company = V::get('id_company', 0, $_REQUEST, 'int');
+			$items_count = V::get('items_count', 10, $_REQUEST, 'int');
+			if (1 != V::get('_print', '', $_GET)) {
+				$basePrintUrl = "index.php?_route=UrlAction_ProjektyProNetMediaZamZlec&ID_PROJECT={$id_project}";
+				$basePrintUrl .= "&id_company={$id_company}";
+				$basePrintUrl .= "&items_count={$items_count}";
+				?>
+				<div class="container" style="margin:2em auto; text-align:right">
+					<a class="btn btn-default" href="<?php echo $basePrintUrl; ?>">Cofnij</a>
+					<a class="btn btn-primary" href="<?php echo $basePrintUrl; ?>&_task=zamowienie&_print=1" target="_blank">Drukuj Zamówienie</a>
+				</div>
+				<?php
+			}
+			$data = array();
+			$data['ile_pozycji'] = $items_count;
+			$data['id_company'] = $id_company;
+			$data['id_project'] = $id_project;
+			$data = $this->setProps($data);
+			$this->zamowienieView($data);
+		} catch (Exception $e) {
+			SE_Layout::alert('danger', "Error #" . $e->getCode() .  "|" . $e->getLine() .  ": " . $e->getMessage());
+		}
+		SE_Layout::dol();
+	}
+
+	public function setProps($data) {
+		$sqlIdCompany = V::get('id_company', 0, $data, 'int');
+		if ($sqlIdCompany > 0) {
+			$rows = DB::getPDO()->fetchAll("
+			select c.*
+			from COMPANIES c
+			where c.ID = {$sqlIdCompany}
+			");
+			if (count($rows) > 0) {
+				$row = reset($rows);
+				if (!empty($row['P_NAME'])) $data['dostawca_name'] = $row['P_NAME'];
+				$data['dostawca_address'] = "{$row['P_ADDRESS_POST_CODE']} {$row['P_ADDRESS_CITY']}, ul. {$row['P_ADDRESS_STREET']} {$row['P_ADDRESS_HOUSE']}";
+				if (!empty($row['P_ADDRESS_HOME'])) $data['dostawca_address'] .= "/{$row['P_ADDRESS_HOME']}";
+				if (!empty($row['P_NIP'])) $data['dostawca_nip'] = $row['P_NIP'];
+			}
+		}
+		$sqlIdProject = V::get('id_project', 0, $data, 'int');
+		if ($sqlIdProject > 0) {
+			$rows = DB::getPDO()->fetchAll("
+			select p.*
+			from IN7_MK_BAZA_DYSTRYBUCJI p
+			where p.ID = {$sqlIdProject}
+			");
+			if (count($rows) > 0) {
+				$row = reset($rows);
+				if (!empty($row['M_DIST_DEALNUM'])) $data['obcy_nr_sprawy'] = $row['M_DIST_DEALNUM'];
+			}
+		}
+		// TODO: $data['obcy_nr_sprawy'] = 'zam./OSOBA/nr budowy/I/2016' lub 'zlec./OSOBA/nr budowy/I/2016'
+		return $data;
+	}
+
+	public function zlecenieView($data) {
+		DBG::_(true, true, "TODO", $data, __CLASS__, __FUNCTION__, __LINE__);
+		throw new Exception("TODO...");
+	}
+
+	public function zamowienieView($data) {
+		$ile_pozycji = V::get('ile_pozycji', 10, $data);
+		?>
+<style type="text/css">
+body { font-size:12px; line-height:1.3em }
+#tbl-items td { padding:3px !important }
+@media print {
+	 body { font-size:9px; line-height:1.2em }
+  table { page-break-inside:auto }
+     tr { page-break-inside:avoid; page-break-after:auto }
+     li { page-break-inside:avoid; page-break-after:auto }
+  .page-break-block { page-break-inside:avoid; page-break-after:auto }
+}
+</style>
+<div class="container">
+	<div style="text-align:right">
+				Gdańsk, dnia ____ _____ 2016 roku
+	</div>
+	<table style="width:100%">
+		<tr>
+			<td style="width:50%"></td>
+			<td style="width:50%; padding:1em 0">
+				<b>Zamawiający:</b>
+				<br>PRO-NET.MEDIA S.A.
+				<br>80-557 Gdańsk, ul. Narwicka 21
+				<br>NIP 583-315-47-35
+				<br>
+				<br><b>Dostawca:</b>
+				<br><?php echo V::get('dostawca_name',    '.........................', $data); ?>
+				<br><?php echo V::get('dostawca_address', '.........................', $data); ?>
+				<br>NIP <?php echo V::get('dostawca_nip', '..................', $data); ?>
+			</td>
+		</tr>
+	</table>
+
+	<p>Zamówienie nr: <?php echo V::get('obcy_nr_sprawy', '.........................', $data);//zam./OSOBA/nr budowy/I/2016 ?></p>
+	<p style="font-weight:bold">Zamawiający niniejszym składa zamówienie na wskazanych poniżej warunkach zgodnie z ofertą Dostawcy z dnia <?php echo V::get('data_oferty', '..................', $data); ?>.</p>
+	<table id="tbl-items" style="width:100%; margin-top:2em" class="table table-bordered page-break-before">
+		<tr>
+			<th style="text-align:center">Lp.</th>
+			<th style="text-align:center">Wyszczególnienie</th>
+			<th style="text-align:center">J.M.</th>
+			<th style="text-align:center">Ilość</th>
+			<th style="text-align:center">Cena jednostkowa<br>netto<br>[pln]</th>
+			<th style="text-align:center">Wartość brutto<br>[pln]</th>
+		</tr>
+		<?php for ($i = 0; $i < $ile_pozycji; $i++) : ?>
+		<tr class="page-break-before">
+			<td><?php echo $i + 1; ?>.</td>
+			<td></td>
+			<td></td>
+			<td></td>
+			<td></td>
+			<td></td>
+		</tr>
+		<?php endfor; ?>
+		<tr>
+			<td colspan="5"><b>Słownie:</b> <?php echo $suma_slownie; ?></td>
+			<td></td>
+		</tr>
+		<tr>
+			<td colspan="5"><b>UWAGI: NA FAKTURZE VAT NALEŻY UMIESZCZAĆ CZYTELNY NR ZAMÓWIENIA</b></td>
+			<td></td>
+		</tr>
+	</table>
+
+	<h4 style="font-size:1.2em">WARUNKI REALIZACJI ZAMÓWIENIA:</h4>
+	<ol>
+		<li>Termin dostawy: …………………………, po tym terminie Zamawiający zastrzega sobie prawo do odmowy odbioru przedmiotu zamówienia.</li>
+		<li>Forma dostawy: ………………………….</li>
+		<li>Miejsce dostawy: ……………………………………..</li>
+		<li>Warunki płatności zadatku: na podstawie faktury proforma.</li>
+		<li>Forma płatności: przelew.</li>
+		<li>Termin płatności: 30 dni od daty wpływu do siedziby Zamawiającego prawidłowych i kompletnych dokumentów, o których mowa w pkt 7 poniżej w trybie zgodnym z pkt 8 poniżej.</li>
+		<li>Płatność dokonana będzie wyłącznie na podstawie prawidłowo wystawionej i doręczonej Zamawiającemu przez Dostawcę faktury VAT z dołączonym oryginałem dokumentu potwierdzającego bezusterkowy odbiór przez Zamawiającego przedmiotu zamówienia wraz ze wszystkimi niezbędnymi dokumentami, gwarancjami, atestami, testami, etc. przez osoby wymienione w pkt 11-12 poniżej, a także kopią niniejszego zamówienia podpisaną przez Zamawiającego i Dostawcę zgodnie z zasadami reprezentacji, poświadczoną przez Dostawcę za zgodność z oryginałem.</li>
+		<li>Dostawca przekaże Zamawiającemu fakturę VAT wraz z wymaganymi załącznikami, o których mowa w pkt 7 powyżej wyłącznie przesyłką poleconą Poczty Polskiej za potwierdzeniem odbioru.</li>
+		<li>W przypadku gdy Zamawiający otrzyma dokumenty, o których mowa w pkt 7 i 8 powyżej, niespełniające warunków wskazanych w niniejszym zamówieniu lub zostaną one wysłane niezgodnie z trybem określonym w pkt 8 powyżej, wówczas Zamawiający zastrzega sobie prawo do odmowy realizacji płatności i odesłania ich na adres Dostawcy celem skorygowania.</li>
+		<li>Zamawiającemu przysługuje prawo do naliczenia Dostawcy kary umownej w wysokości ….% wartości zamówienia netto za każdy rozpoczęty dzień opóźnienia w dostawie przedmiotu zamówienia z terminem płatności tej kary – 7 dni od dnia jej naliczenia. Zamawiający może potrącić wskazaną karę umowną z wynagrodzenia Dostawcy. Zamawiający zastrzega sobie prawo do dochodzenia odszkodowania na zasadach ogólnych, przekraczającego wysokość kary umownej zastrzeżonej w niniejszym punkcie.</li>
+		<li>Osoba do kontaktu ze strony Zamawiającego: ……………………………………..</li>
+		<li>Osoba uprawniona do kontaktu ze strony Dostawcy: ………………………………</li>
+		<li>Za datę zapłaty uważa się datę obciążenia rachunku bankowego Zamawiającego.</li>
+		<li>Niniejsze zamówienie jest ważne po potwierdzeniu przez Dostawcę przyjęcia do realizacji niniejszego zamówienia w terminie 2 dni roboczych od daty jego złożenia Dostawcy przez Zamawiającego. Potwierdzenie pod rygorem nieważności winno być przesłane faksem do Zamawiającego pod numer ………… lub pocztą elektroniczną na adres email: ……….. Brak potwierdzenia jest uznawany jako odmowa przyjęcia przez Dostawcę do realizacji niniejszego zamówienia. Każda proponowana zamiana warunków dostawy określonych w niniejszym zamówieniu oznacza złożenie nowej oferty i winna być pod rygorem nieważności potwierdzona przez Zamawiającego. Nie dopuszcza się akceptu milczącego.</li>
+		<li>Wierzytelności wynikające z niniejszego zamówienia nie mogą być przenoszone przez Dostawcę na osoby trzecie bez uprzedniej, pisemnej zgody Zamawiającego.</li>
+	</ol>
+
+	<div style="padding-top:3em" class="page-break-block">
+		(pieczęć i czytelny podpis Zamawiającego) …………………………………………………………….
+	</div>
+	<div class="page-break-block">
+		<h4 style="font-size:1.2em">NINIEJSZYM OŚWIADCZAM, ŻE DOSTAWCA PRZYJMUJE ZAMÓWIENIE DO REALIZACJI NA POWYŻSZYCH WARUNKACH:</h4>
+		<div style="padding-top:2em;">
+		………………………….,dnia………………………….………………………………………………..
+		<br>(pieczęć i czytelny podpis Dostawcy zgodnie z zasadami reprezentacji)
+		</div>
+	</div>
+</div>
+		<?php
+		exit;
+	}
+
+}

+ 5 - 5
SE/se-lib/TypespecialVariable.php

@@ -46,7 +46,7 @@ class TypespecialVariable extends TypespecialBase {
 	 */
 	public function getValuesWithExports($query, $params = array()) {
 		$items = $this->_getValues($query, false, $params);
-		
+
 		return $items;
 	}
 
@@ -136,7 +136,7 @@ jQuery(document).ready(function(){
 	}
 	tsNode.attr('name', '{$frmFldName}');
 	tsNode.attr('tabindex', fldNode.attr('tabindex'));
-	
+
 
 	tsNode.selectize({
 		theme: 'typespecial',
@@ -448,7 +448,7 @@ jQuery(document).ready(function(){
 				$query = trim($query, ' %');
 				$query = $db->_($query);
 				$sqlLimit = 20;
-				$sql = "select tx.`ID`, tx.`T_TELBOX_NAME`, tx.`T_TELBOX_TYPE` 
+				$sql = "select tx.`ID`, tx.`T_TELBOX_NAME`, tx.`T_TELBOX_TYPE`
 					from `TELBOXES` as tx
 					where
 						tx.`A_STATUS`!='DELETED'
@@ -469,7 +469,7 @@ jQuery(document).ready(function(){
 				$query = trim($query, ' %');
 				$query = $db->_($query);
 				$sqlLimit = 20;
-				$sql = "select tx.`ID`, tx.`T_TELBOX_NAME`, tx.`T_TELBOX_TYPE` 
+				$sql = "select tx.`ID`, tx.`T_TELBOX_NAME`, tx.`T_TELBOX_TYPE`
 					from `TELBOXES` as tx
 					where
 						tx.`A_STATUS`!='DELETED'
@@ -768,7 +768,7 @@ jQuery(document).ready(function(){
 				break;
 			}
 			default:
-				
+
 		}
 		return $values;
 	}