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