|
|
@@ -2,6 +2,8 @@
|
|
|
|
|
|
Lib::loadClass('RouteBase');
|
|
|
Lib::loadClass('TypespecialVariable');
|
|
|
+Lib::loadClass('Request');
|
|
|
+Lib::loadClass('Response');
|
|
|
|
|
|
class Route_UrlAction_ProjektyProNetMediaZamZlec extends RouteBase {// TODO: UrlActionBase @see Route_UrlAction
|
|
|
|
|
|
@@ -157,7 +159,8 @@ class Route_UrlAction_ProjektyProNetMediaZamZlec extends RouteBase {// TODO: Url
|
|
|
$widgetCompanies = V::get('widgetCompanies', array(), $data);
|
|
|
?>
|
|
|
<div class="container" style="margin-top:2em">
|
|
|
- <form action="" method="post" class="form-horizontal">
|
|
|
+ <form action="" method="get" class="form-horizontal">
|
|
|
+ <input type="hidden" name="_route" value="UrlAction_ProjektyProNetMediaZamZlec">
|
|
|
<div class="form-group">
|
|
|
<label for="id_project" class="col-sm-2 control-label">Projekt</label>
|
|
|
<div class="col-sm-4">
|
|
|
@@ -328,9 +331,39 @@ body { font-size:12px; line-height:1.3em }
|
|
|
exit;
|
|
|
}
|
|
|
|
|
|
+ public function saveAjaxAction() {
|
|
|
+ $body = Request::getRequestBody();
|
|
|
+ $json = json_decode($body, $assoc = true);
|
|
|
+
|
|
|
+ $res = new stdClass();
|
|
|
+ $res->type = 'success';
|
|
|
+ $res->msg = 'OK';
|
|
|
+ $res->orderPosList = array();
|
|
|
+ if (!empty($json['orderPosList'])) {
|
|
|
+ foreach ($json['orderPosList'] as $item) {
|
|
|
+ if ($item['id'] < 0) {// TODO: add new record
|
|
|
+ $item['id'] = -1 * $item['id'] + 10000;
|
|
|
+ } else {// TODO: update record
|
|
|
+
|
|
|
+ }
|
|
|
+ $res->orderPosList[] = $item;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ Response::sendJsonExit($res);
|
|
|
+ }
|
|
|
+
|
|
|
public function zamowienieView($data) {
|
|
|
+ $orderPosList = array();
|
|
|
$ile_pozycji = V::get('ile_pozycji', 10, $data);
|
|
|
- ?>
|
|
|
+ for ($i = 1; $i <= $ile_pozycji; $i++) {
|
|
|
+ $posItem = array('id' => -1 * $i, 'name' => '', 'price' => '', 'quantity' => '', 'unit' => '');
|
|
|
+ $orderPosList[] = (object)$posItem;
|
|
|
+ }
|
|
|
+ // fetch from db - overwrite $orderPosList
|
|
|
+
|
|
|
+ $saveLink = Request::getPathUri() . 'index.php?_route=UrlAction_ProjektyProNetMediaZamZlec&_task=saveAjax';
|
|
|
+
|
|
|
+?>
|
|
|
<style type="text/css">
|
|
|
body { font-size:12px; line-height:1.3em }
|
|
|
#tbl-items td { padding:3px !important }
|
|
|
@@ -365,37 +398,9 @@ body { font-size:12px; line-height:1.3em }
|
|
|
|
|
|
<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 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" style="text-align:right; border-bottom:none"><b>RAZEM:</b></td>
|
|
|
- <td rowspan="2"></td>
|
|
|
- </tr>
|
|
|
- <tr>
|
|
|
- <td colspan="5" style="border-top:none"><b>Słownie:</b> <?php echo $suma_slownie; ?></td>
|
|
|
- </tr>
|
|
|
- <tr>
|
|
|
- <td colspan="5"><b>UWAGI: NA FAKTURZE VAT NALEŻY UMIESZCZAĆ CZYTELNY NR ZAMÓWIENIA</b></td>
|
|
|
- <td></td>
|
|
|
- </tr>
|
|
|
- </table>
|
|
|
+<div id="tbl-items" style="margin-top:2em">
|
|
|
+ <div id="widget-orders"></div>
|
|
|
+</div>
|
|
|
|
|
|
<h4 style="font-size:1.2em">WARUNKI REALIZACJI ZAMÓWIENIA:</h4>
|
|
|
<ol>
|
|
|
@@ -427,8 +432,179 @@ body { font-size:12px; line-height:1.3em }
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
- <?php
|
|
|
+
|
|
|
+<script src="stuff/vendors.js"></script>
|
|
|
+<script src="stuff/bundle.se_route_orders.js"></script>
|
|
|
+<script>
|
|
|
+var isPrint = false;// TODO: from request
|
|
|
+var _mode = '<?php echo (V::get('_print', '', $_REQUEST))? 'print' : 'view'; ?>';
|
|
|
+var _projectInfo = {id: 5130};
|
|
|
+var _notes = 'NA FAKTURZE VAT NALEŻY UMIESZCZAĆ CZYTELNY NR ZAMÓWIENIA';
|
|
|
+var _pos = <?php echo json_encode($orderPosList); ?>;
|
|
|
+var _saveLink = '<?php echo $saveLink; ?>';
|
|
|
+var _dbg = <?php echo (DBG::isActive())? 'true' : 'false'; ?>;
|
|
|
+
|
|
|
+jQuery("#widget-orders").p5_Orders({
|
|
|
+ year: '2016',
|
|
|
+ today: '2016-10-05',
|
|
|
+ projectInfo: _projectInfo,
|
|
|
+ pos: _pos,
|
|
|
+ notes: _notes,
|
|
|
+ mode: _mode,
|
|
|
+ save: function(data, callback) {
|
|
|
+ var orderPosList, idOrder;
|
|
|
+ try {
|
|
|
+ console.log('#widget-orders/Orders::save: data:', data);
|
|
|
+ if (!data || !('orderPosList' in data)) throw "Brak danych do zapisania";
|
|
|
+ orderPosList = data.orderPosList || [];
|
|
|
+ idOrder = data.idOrder || -1;
|
|
|
+
|
|
|
+ var req = superagent
|
|
|
+ .post(_saveLink)
|
|
|
+ .type('json') // header ĺapplication/x-www-form-urlencoded' requires type('form');
|
|
|
+ .send({orderPosList: orderPosList, idOrder: idOrder})
|
|
|
+ .set('Accept', 'application/json')
|
|
|
+ .end(function(err, res) {
|
|
|
+ if(_dbg)console.log('#widget-orders/Orders::save: res:', res, 'res.body:', res.body);
|
|
|
+ if (err || !res.ok) {
|
|
|
+ jQuery(document).trigger('DBG:notify', {type: 'warning', msg: 'Req error', err: err});
|
|
|
+ } else {
|
|
|
+ if ('application/json' !== res.type) {
|
|
|
+ jQuery(document).trigger('DBG:notify', {type: 'warning', msg: 'Wrong response type - required json. ' + res.text});
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ jQuery(document).trigger('DBG:notify', {type: 'success', msg: 'res.status:' + res.status + '. res.body:' + JSON.stringify(res.body)});
|
|
|
+ callback(null, {message: 'Saved', type: 'success', orderPosList: res.body.orderPosList, idOrder: res.body.idOrder});
|
|
|
+ }
|
|
|
+ req = null;
|
|
|
+ });
|
|
|
+ } catch (e) {
|
|
|
+ callback(e);
|
|
|
+ }
|
|
|
+ },
|
|
|
+ dbg: true
|
|
|
+});
|
|
|
+</script>
|
|
|
+
|
|
|
+<?php
|
|
|
exit;
|
|
|
}
|
|
|
|
|
|
}
|
|
|
+
|
|
|
+/*
|
|
|
+ALTER TABLE `CRM_LISTA_ZASOBOW_OFFERS` ADD `ID_ORDER` int(11) NOT NULL DEFAULT 0;
|
|
|
+ALTER TABLE `CRM_LISTA_ZASOBOW_OFFERS_HIST` ADD `ID_ORDER` varchar(11) NOT NULL DEFAULT 'N/S;';
|
|
|
+
|
|
|
+CREATE TABLE IF NOT EXISTS `CRM_LISTA_ZASOBOW_ORDERS` (
|
|
|
+ `ID` int(11) NOT NULL AUTO_INCREMENT,
|
|
|
+ `ID_COMPANIES` int(11) NOT NULL DEFAULT 0,
|
|
|
+ `ID_PROJECT` int(11) NOT NULL DEFAULT 0,
|
|
|
+ `ID_PROJECT_path` varchar(255) NOT NULL COMMENT 'wyliczalna dynamicznie sciezka sprawy',
|
|
|
+ `A_RECORD_CREATE_DATE` datetime DEFAULT NULL,
|
|
|
+ `A_RECORD_CREATE_AUTHOR` varchar(100) DEFAULT NULL,
|
|
|
+ `SYNC_SQIX_STATUS` varchar(100) NOT NULL DEFAULT '',
|
|
|
+ `A_RECORD_UPDATE_DATE` datetime DEFAULT NULL,
|
|
|
+ `A_RECORD_UPDATE_AUTHOR` varchar(100) NOT NULL DEFAULT '',
|
|
|
+ `L_APPOITMENT_DATE` varchar(30) NOT NULL DEFAULT '',
|
|
|
+ `L_APPOITMENT_USER` varchar(100) NOT NULL DEFAULT '',
|
|
|
+ `L_APPOITMENT_PERIOD` varchar(4) NOT NULL DEFAULT '',
|
|
|
+ `L_APPOITMENT_INFO` varchar(255) NOT NULL DEFAULT '',
|
|
|
+ `L_APPOITMENT_TYPE` enum('','ARRANGED','TO_ARRANGE','CANCELLED','TO_CANCEL','RELATE','WAIT') DEFAULT NULL,
|
|
|
+ `A_STATUS` enum('WAITING','NORMAL','MONITOR','WARNING','OFF_SOFT','OFF_HARD','DELETED') DEFAULT NULL,
|
|
|
+ `A_STATUS_INFO` varchar(255) NOT NULL DEFAULT '',
|
|
|
+ `A_ADM_COMPANY` varchar(100) NOT NULL DEFAULT '',
|
|
|
+ `A_CLASSIFIED` varchar(100) NOT NULL DEFAULT '',
|
|
|
+ `NR` varchar(255) NOT NULL DEFAULT '',
|
|
|
+ `COMPANY_NIP` varchar(32) NOT NULL DEFAULT '',
|
|
|
+ `COMPANY_NAME` varchar(255) NOT NULL DEFAULT '',
|
|
|
+ `COMPANY_ADDRESS` varchar(255) NOT NULL DEFAULT '',
|
|
|
+ `OFFER_DATE` date DEFAULT NULL,
|
|
|
+ `OFFER_NR` varchar(255) NOT NULL DEFAULT '',
|
|
|
+ `ORDER_TYPE` varchar(255) NOT NULL DEFAULT '',
|
|
|
+ `DELIVERY_DATE` date DEFAULT NULL,
|
|
|
+ `EXECUTION_START_DATE` date DEFAULT NULL,
|
|
|
+ `EXECUTION_END_DATE` date DEFAULT NULL,
|
|
|
+ `CASH_PENALTY` varchar(255) NOT NULL DEFAULT '',
|
|
|
+ `LOCATION` date DEFAULT NULL,
|
|
|
+ `NOTES` varchar(1000) NOT NULL DEFAULT '',
|
|
|
+ PRIMARY KEY (`ID`)
|
|
|
+) ENGINE=MyISAM DEFAULT CHARSET=latin2;
|
|
|
+
|
|
|
+
|
|
|
+CREATE TABLE IF NOT EXISTS `CRM_LISTA_ZASOBOW_ORDERS_HIST` (
|
|
|
+ `ID` int(11) NOT NULL AUTO_INCREMENT,
|
|
|
+ `ID_USERS2` int(11) NOT NULL,
|
|
|
+ `ID_COMPANIES` varchar(255) NOT NULL DEFAULT 'N/S;',
|
|
|
+ `ID_PROJECT` varchar(255) NOT NULL DEFAULT 'N/S;',
|
|
|
+ `ID_PROJECT_path` varchar(255) NOT NULL DEFAULT 'N/S;',
|
|
|
+ `A_RECORD_CREATE_DATE` varchar(255) NOT NULL DEFAULT 'N/S;',
|
|
|
+ `A_RECORD_CREATE_AUTHOR` varchar(255) NOT NULL DEFAULT 'N/S;',
|
|
|
+ `SYNC_SQIX_STATUS` varchar(255) NOT NULL DEFAULT 'N/S;',
|
|
|
+ `A_RECORD_UPDATE_DATE` varchar(255) NOT NULL DEFAULT 'N/S;',
|
|
|
+ `A_RECORD_UPDATE_AUTHOR` varchar(255) NOT NULL DEFAULT 'N/S;',
|
|
|
+ `L_APPOITMENT_DATE` varchar(255) NOT NULL DEFAULT 'N/S;',
|
|
|
+ `L_APPOITMENT_USER` varchar(255) NOT NULL DEFAULT 'N/S;',
|
|
|
+ `L_APPOITMENT_PERIOD` varchar(255) NOT NULL DEFAULT 'N/S;',
|
|
|
+ `L_APPOITMENT_INFO` varchar(255) NOT NULL DEFAULT 'N/S;',
|
|
|
+ `L_APPOITMENT_TYPE` varchar(255) NOT NULL DEFAULT 'N/S;',
|
|
|
+ `A_STATUS` varchar(255) NOT NULL DEFAULT 'N/S;',
|
|
|
+ `A_STATUS_INFO` varchar(255) NOT NULL DEFAULT 'N/S;',
|
|
|
+ `A_ADM_COMPANY` varchar(255) NOT NULL DEFAULT 'N/S;',
|
|
|
+ `A_CLASSIFIED` varchar(255) NOT NULL DEFAULT 'N/S;',
|
|
|
+ `NR` varchar(255) NOT NULL DEFAULT 'N/S;'
|
|
|
+ `COMPANY_NIP` varchar(32) NOT NULL DEFAULT 'N/S;'
|
|
|
+ `COMPANY_NAME` varchar(255) NOT NULL DEFAULT 'N/S;'
|
|
|
+ `COMPANY_ADDRESS` varchar(255) NOT NULL DEFAULT 'N/S;'
|
|
|
+ `OFFER_DATE` varchar(10) NOT NULL DEFAULT 'N/S;'
|
|
|
+ `OFFER_NR` varchar(255) NOT NULL DEFAULT 'N/S;'
|
|
|
+ `ORDER_TYPE` varchar(255) NOT NULL DEFAULT 'N/S;'
|
|
|
+ `DELIVERY_DATE` varchar(255) NOT NULL DEFAULT 'N/S;'
|
|
|
+ `EXECUTION_START_DATE` varchar(10) NOT NULL DEFAULT 'N/S;'
|
|
|
+ `EXECUTION_END_DATE` varchar(10) NOT NULL DEFAULT 'N/S;'
|
|
|
+ `CASH_PENALTY` varchar(255) NOT NULL DEFAULT 'N/S;'
|
|
|
+ `LOCATION` varchar(10) NOT NULL DEFAULT 'N/S;'
|
|
|
+ `NOTES` varchar(1000) NOT NULL DEFAULT 'N/S;',
|
|
|
+ PRIMARY KEY (`ID`),
|
|
|
+ KEY `ID_USERS2` (`ID_USERS2`)
|
|
|
+) ENGINE=MyISAM DEFAULT CHARSET=latin2;
|
|
|
+
|
|
|
+CREATE VIEW `CRM_LISTA_ZASOBOW_ORDERS_summary_view` AS SELECT o.`ID`
|
|
|
+ , o.`ID_COMPANIES`
|
|
|
+ , o.`ID_PROJECT`
|
|
|
+ , o.`ID_PROJECT_path`
|
|
|
+ , o.`A_RECORD_CREATE_DATE`
|
|
|
+ , o.`A_RECORD_CREATE_AUTHOR`
|
|
|
+ , o.`SYNC_SQIX_STATUS`
|
|
|
+ , o.`A_RECORD_UPDATE_DATE`
|
|
|
+ , o.`A_RECORD_UPDATE_AUTHOR`
|
|
|
+ , o.`L_APPOITMENT_DATE`
|
|
|
+ , o.`L_APPOITMENT_USER`
|
|
|
+ , o.`L_APPOITMENT_PERIOD`
|
|
|
+ , o.`L_APPOITMENT_INFO`
|
|
|
+ , o.`L_APPOITMENT_TYPE`
|
|
|
+ , o.`A_STATUS`
|
|
|
+ , o.`A_STATUS_INFO`
|
|
|
+ , o.`A_ADM_COMPANY`
|
|
|
+ , o.`A_CLASSIFIED`
|
|
|
+ , o.`NR`
|
|
|
+ , o.`COMPANY_NIP`
|
|
|
+ , o.`COMPANY_NAME`
|
|
|
+ , o.`COMPANY_ADDRESS`
|
|
|
+ , o.`OFFER_DATE`
|
|
|
+ , o.`OFFER_NR`
|
|
|
+ , o.`ORDER_TYPE`
|
|
|
+ , o.`DELIVERY_DATE`
|
|
|
+ , o.`EXECUTION_START_DATE`
|
|
|
+ , o.`EXECUTION_END_DATE`
|
|
|
+ , o.`CASH_PENALTY`
|
|
|
+ , o.`LOCATION`
|
|
|
+ , o.`NOTES`
|
|
|
+ , SUM(NETTO_VALUE_TO_PAY) as SUM_POS
|
|
|
+ , COUNT(1) as COUNT_POS
|
|
|
+ FROM `CRM_LISTA_ZASOBOW_ORDERS` o
|
|
|
+ LEFT JOIN `CRM_LISTA_ZASOBOW_OFFERS` f on(f.ID_ORDER = o.ID)
|
|
|
+ GROUP BY o.`ID`
|
|
|
+;
|
|
|
+
|
|
|
+*/
|