|
|
@@ -6,8 +6,8 @@ Lib::loadClass('Request');
|
|
|
Lib::loadClass('Response');
|
|
|
Lib::loadClass('UI');
|
|
|
|
|
|
-// TODO: Typepsecial do Koresp.ORDER_NR
|
|
|
-// TODO: widoki zamówień wg statusu - ustalić dostępy za pomocą procesów
|
|
|
+// - [ ] TODO: widoki zamówień wg statusu - ustalić dostępy za pomocą procesów
|
|
|
+// - [x] Typepsecial do Koresp.ORDER_NR
|
|
|
/*
|
|
|
DBG:
|
|
|
&DBG_M_DIST_COST_PROJECT=10000
|
|
|
@@ -127,9 +127,7 @@ dostęp dla zarządu i os. odp. kwota końcowa
|
|
|
'data'=>$order['ORDER_DATE'],
|
|
|
'order_approve_status'=>$order['APPROVE_STATUS'],
|
|
|
'order_cost'=>$order['SUM_NETTO'],
|
|
|
- 'cost_zamowienia'=>$order['SUM_NETTO'],// TODO: RMME -> mved to `order_cost`
|
|
|
'order_nr'=>$labelOrder,
|
|
|
- 'nr_zamowienia'=>$labelOrder,// TODO: RMME -> mved to `order_nr`
|
|
|
'nr_fv_do_zamowienia'=>array(),
|
|
|
'sum'=>$order['SUM_NETTO'],
|
|
|
'orderRaw'=>$order
|
|
|
@@ -155,7 +153,7 @@ dostęp dla zarządu i os. odp. kwota końcowa
|
|
|
foreach ($data['fvToOrdersRaw'] as $fv) {
|
|
|
$labelOrder = $fv['ORDER_NR'];
|
|
|
foreach ($data['costs'] as $cost) {
|
|
|
- if ($isOrder && $labelOrder == $cost['nr_zamowienia']) {
|
|
|
+ if ($isOrder && $labelOrder == $cost['order_nr']) {
|
|
|
$idKoresp = $fv['ID'];
|
|
|
// $cost['nr_fv_do_zamowienia'][$idKoresp] = $fv['obcy_nr_koresp'];
|
|
|
$cost['nr_fv_do_zamowienia'][] = array('id'=>$idKoresp, 'nr'=>$fv['obcy_nr_koresp'], 'cost'=>$fv['cost']);
|
|
|
@@ -184,21 +182,21 @@ dostęp dla zarządu i os. odp. kwota końcowa
|
|
|
'costRaw'=>$projCost
|
|
|
);
|
|
|
switch ($projCost['COST_TYPE']) {
|
|
|
- case 'ANEKS': $item['TODO__budget_aneks'] = $projCost['COST_VALUE']; break;
|
|
|
- case 'KARY': $item['TODO__budget_kary'] = $projCost['COST_VALUE']; break;
|
|
|
- case 'OSPRZET': $item['TODO__budget_osprzet'] = $projCost['COST_VALUE']; break;
|
|
|
- case 'MATERIALY': $item['TODO__budget_materialy'] = $projCost['COST_VALUE']; break;
|
|
|
- case 'PRACOWNICY': $item['TODO__budget_koszt_pracownikow'] = $projCost['COST_VALUE']; break;
|
|
|
- case 'PODWYKONAWCY': $item['TODO__budget_koszt_podwykonawcow'] = $projCost['COST_VALUE']; break;
|
|
|
- case 'REPREZENTACYJNE': $item['TODO__budget_koszt_reprezentacyjny'] = $projCost['COST_VALUE']; break;
|
|
|
- case 'ZALICZKA_KWOTA': $item['TODO__budget_zaliczki'] = $projCost['COST_VALUE']; break;
|
|
|
- case 'ZALICZKA_KOSZTY_DZIENNE': $item['TODO__budget_rozliczone_zaliczki'] = $projCost['COST_VALUE']; break;
|
|
|
- case 'ZGODY_SLUZEBNOSCI': $item['TODO__budget_zgoda_sluzebnosci'] = $projCost['COST_VALUE']; break;
|
|
|
- case 'ZGODY_ODSZKODOWANIA': $item['TODO__budget_zgoda_odszkodowania'] = $projCost['COST_VALUE']; break;
|
|
|
- case 'SPRZET_WLASNY': $item['TODO__budget_sprzet_wlasny'] = $projCost['COST_VALUE']; break;
|
|
|
- case 'SPRZET_WYNAJETY': $item['TODO__budget_sprzet_wynajety'] = $projCost['COST_VALUE']; break;
|
|
|
- case 'ORGANIZACJA_RUCHU': $item['TODO__budget_organizacja_ruchu'] = $projCost['COST_VALUE']; break;
|
|
|
- case 'ZAJETOSC_PASA': $item['TODO__budget_zajetosc_pasa'] = $projCost['COST_VALUE']; break;
|
|
|
+ case 'ANEKS': $item['budget_aneks'] = (float)$projCost['COST_VALUE']; break;
|
|
|
+ case 'KARY': $item['budget_kary'] = (float)$projCost['COST_VALUE']; break;
|
|
|
+ case 'OSPRZET': $item['budget_osprzet'] = (float)$projCost['COST_VALUE']; break;
|
|
|
+ case 'MATERIALY': $item['budget_materialy'] = (float)$projCost['COST_VALUE']; break;
|
|
|
+ case 'PRACOWNICY': $item['budget_koszt_pracownikow'] = (float)$projCost['COST_VALUE']; break;
|
|
|
+ case 'PODWYKONAWCY': $item['budget_koszt_podwykonawcow'] = (float)$projCost['COST_VALUE']; break;
|
|
|
+ case 'REPREZENTACYJNE': $item['budget_koszt_reprezentacyjny'] = (float)$projCost['COST_VALUE']; break;
|
|
|
+ case 'ZALICZKA_KWOTA': $item['budget_zaliczki'] = (float)$projCost['COST_VALUE']; break;
|
|
|
+ case 'ZALICZKA_KOSZTY_DZIENNE': $item['budget_rozliczone_zaliczki'] = (float)$projCost['COST_VALUE']; break;
|
|
|
+ case 'ZGODY_SLUZEBNOSCI': $item['budget_zgoda_sluzebnosci'] = (float)$projCost['COST_VALUE']; break;
|
|
|
+ case 'ZGODY_ODSZKODOWANIA': $item['budget_zgoda_odszkodowania'] = (float)$projCost['COST_VALUE']; break;
|
|
|
+ case 'SPRZET_WLASNY': $item['budget_sprzet_wlasny'] = (float)$projCost['COST_VALUE']; break;
|
|
|
+ case 'SPRZET_WYNAJETY': $item['budget_sprzet_wynajety'] = (float)$projCost['COST_VALUE']; break;
|
|
|
+ case 'ORGANIZACJA_RUCHU': $item['budget_organizacja_ruchu'] = (float)$projCost['COST_VALUE']; break;
|
|
|
+ case 'ZAJETOSC_PASA': $item['budget_zajetosc_pasa'] = (float)$projCost['COST_VALUE']; break;
|
|
|
}
|
|
|
$data['costs'][] = $item;
|
|
|
}
|
|
|
@@ -263,7 +261,7 @@ dostęp dla zarządu i os. odp. kwota końcowa
|
|
|
<thead>
|
|
|
<tr>
|
|
|
<td rowspan="5" colspan="1" style="width:80px; text-align:center; vertical-align:middle">data</td>
|
|
|
- <td rowspan="1" colspan="6" style="padding:0">
|
|
|
+ <td rowspan="1" colspan="5" style="padding:0">
|
|
|
<table class="table table-bordered" style="width:100%; margin:0; border:0">
|
|
|
<tr>
|
|
|
<td rowspan="1" colspan="1" style="text-align:center; vertical-align:middle; border-top:0; border-left:0">data rozpoczęcia umowy</td>
|
|
|
@@ -287,24 +285,23 @@ dostęp dla zarządu i os. odp. kwota końcowa
|
|
|
<td rowspan="3" colspan="2" style="text-align:center; vertical-align:middle">Koszty projektu</td>
|
|
|
</tr>
|
|
|
<tr>
|
|
|
- <td rowspan="1" colspan="2" style="text-align:center; vertical-align:middle">Kwota Umowy (netto)</td>
|
|
|
+ <td rowspan="1" colspan="1" style="text-align:center; vertical-align:middle">Kwota Umowy (netto)</td>
|
|
|
<td rowspan="1" colspan="1" style="text-align:center; vertical-align:middle">Aneks (netto)</td>
|
|
|
<td rowspan="1" colspan="1" style="text-align:center; vertical-align:middle">kary, potrącenia (netto)</td>
|
|
|
<td rowspan="1" colspan="1" style="text-align:center; vertical-align:middle">Osprzęt</td>
|
|
|
<td rowspan="1" colspan="1" style="text-align:center; vertical-align:middle">Materiały</td>
|
|
|
</tr>
|
|
|
<tr>
|
|
|
- <th rowspan="3" colspan="1" style="text-align:center; vertical-align:middle; white-space:nowrap"><?php echo UI::price($data['budget']); ?></th>
|
|
|
- <td rowspan="1" colspan="1" style="text-align:center; vertical-align:middle">Zysk/Strata</td>
|
|
|
- <th rowspan="2" colspan="1" style="text-align:center; vertical-align:middle; white-space:nowrap; border-bottom:none"><?php echo UI::price($data['TODO__aneks_netto']); ?></th>
|
|
|
- <th rowspan="2" colspan="1" style="text-align:center; vertical-align:middle; white-space:nowrap; border-bottom:none"><?php echo UI::price($data['TODO__kary_netto']); ?></th>
|
|
|
- <th rowspan="2" colspan="1" style="text-align:center; vertical-align:middle; white-space:nowrap; border-bottom:none"><?php echo UI::price($data['COST_OSPRZET']); ?></th>
|
|
|
- <th rowspan="2" colspan="1" style="text-align:center; vertical-align:middle; white-space:nowrap; border-bottom:none"><?php echo UI::price($data['COST_MATERIALY']); ?></th>
|
|
|
+ <th rowspan="2" colspan="1" style="text-align:center; vertical-align:middle; white-space:nowrap; border-bottom:none"><?php echo UI::price($data['budget']); ?><br><span id="p5Budget__zysk_strata" style="font-size:11px; font-weight:normal; white-space:nowrap"></span></th>
|
|
|
+ <th rowspan="2" colspan="1" style="text-align:center; vertical-align:middle; white-space:nowrap; border-bottom:none" id="p5Budget__aneks"></th>
|
|
|
+ <th rowspan="2" colspan="1" style="text-align:center; vertical-align:middle; white-space:nowrap; border-bottom:none" id="p5Budget__kary"></th>
|
|
|
+ <th rowspan="2" colspan="1" style="text-align:center; vertical-align:middle; white-space:nowrap; border-bottom:none"><?php echo UI::price($data['COST_OSPRZET']); ?><br><span id="p5Budget__osprzet_zysk_strata" style="font-size:11px; font-weight:normal; white-space:nowrap"></span></th>
|
|
|
+ <th rowspan="2" colspan="1" style="text-align:center; vertical-align:middle; white-space:nowrap; border-bottom:none"><?php echo UI::price($data['COST_MATERIALY']); ?><br><span id="p5Budget__materialy_zysk_strata" style="font-size:11px; font-weight:normal; white-space:nowrap"></span></th>
|
|
|
<td rowspan="2" colspan="1" style="text-align:center; vertical-align:middle; border-bottom:none">koszty pracowników</td>
|
|
|
<td rowspan="2" colspan="1" style="text-align:center; vertical-align:middle; border-bottom:none">koszt firmy podwykonawczej</td>
|
|
|
</tr>
|
|
|
<tr>
|
|
|
- <td rowspan="2" colspan="1" style="text-align:center; vertical-align:middle; white-space:nowrap; <?php echo $styleZyskStrata; ?>"><?php echo UI::price($data['TODO__sum_zysk_strata']); ?></td>
|
|
|
+ <!-- <td rowspan="2" colspan="1" style="text-align:center; vertical-align:middle; white-space:nowrap; <?php echo $styleZyskStrata; ?>"><?php echo UI::price($data['TODO__sum_zysk_strata']); ?></td> -->
|
|
|
<td rowspan="2" colspan="1" style="text-align:center; vertical-align:middle">numer zamówienia (kwota netto)</td>
|
|
|
<td rowspan="2" colspan="1" style="text-align:center; vertical-align:middle">numer faktury kwota po weryfikacji</td>
|
|
|
<td rowspan="1" colspan="1" style="text-align:center; vertical-align:middle; border-bottom:none">zaliczka kwota</td>
|
|
|
@@ -317,6 +314,7 @@ dostęp dla zarządu i os. odp. kwota końcowa
|
|
|
<td rowspan="1" colspan="1" style="text-align:center; vertical-align:middle; border-bottom:none">zajętość pasa drogowego</td>
|
|
|
</tr>
|
|
|
<tr>
|
|
|
+ <td rowspan="1" colspan="1" style="padding:0; text-align:center; vertical-align:middle; border-top:none"></td>
|
|
|
<td rowspan="1" colspan="1" style="padding:0; text-align:center; vertical-align:middle; border-top:none"><button onClick="return p5UI__Clickable(this, 'p5:Budget:addCost', {type: 'ANEKS'})" class="btn btn-link" style="padding:0"><i class="glyphicon glyphicon-plus-sign"></i></button></td>
|
|
|
<td rowspan="1" colspan="1" style="padding:0; text-align:center; vertical-align:middle; border-top:none"><button onClick="return p5UI__Clickable(this, 'p5:Budget:addCost', {type: 'KARY'})" class="btn btn-link" style="padding:0"><i class="glyphicon glyphicon-plus-sign"></i></button></td>
|
|
|
<td rowspan="1" colspan="1" style="padding:0; text-align:center; vertical-align:middle; border-top:none"><button onClick="return p5UI__Clickable(this, 'p5:Budget:addCost', {type: 'OSPRZET'})" class="btn btn-link" style="padding:0"><i class="glyphicon glyphicon-plus-sign"></i></button></td>
|
|
|
@@ -344,6 +342,9 @@ dostęp dla zarządu i os. odp. kwota końcowa
|
|
|
var _saveLink = '<?php echo Request::getPathUri(); ?>index.php?_route=UrlAction_ProjektyProNetMediaBudget&_task=addCostAjax&ID_PROJECT=<?php echo $data['id_project']; ?>';
|
|
|
var _dbg = <?php echo V::get('DBG', 0, $_REQUEST, 'int'); ?>;
|
|
|
var _initCosts = <?php echo json_encode($costs); ?>;
|
|
|
+ var _initBudgetValue = <?php echo ($data['budget']) ? $data['budget'] : 0; ?>;
|
|
|
+ var _initOsprzetValue = <?php echo ($data['COST_OSPRZET']) ? $data['COST_OSPRZET'] : 0; ?>;
|
|
|
+ var _initMaterialyValue = <?php echo ($data['COST_MATERIALY']) ? $data['COST_MATERIALY'] : 0; ?>;
|
|
|
|
|
|
if (_initCosts) {
|
|
|
budget__renderCosts(_initCosts);
|
|
|
@@ -352,10 +353,70 @@ dostęp dla zarządu i os. odp. kwota końcowa
|
|
|
function budget__renderCosts(costs) {
|
|
|
var _tbody = document.getElementById('p5Budget__costs');
|
|
|
if (!_tbody) throw "Missing node #p5Budget__costs";
|
|
|
- if(_dbg)console.log('TODO: render costs: ', costs);
|
|
|
- var lastNode;
|
|
|
- while (lastNode = _tbody.lastChild) _tbody.removeChild(lastNode);
|
|
|
+ if(_dbg)console.log('render costs: ', costs);
|
|
|
|
|
|
+ function budget__renderNodePrice(idNode, value) {
|
|
|
+ var node = document.getElementById(idNode);
|
|
|
+ p5Utils__clearNode(node);
|
|
|
+ if (value != 0) node.appendChild(document.createTextNode(p5Utils__pricePrintPL(value)));
|
|
|
+ else node.appendChild(document.createTextNode('0,00'));
|
|
|
+ }
|
|
|
+ function budget__renderZyskStrataPrice(idNode, value) {
|
|
|
+ var node = document.getElementById(idNode);
|
|
|
+ if(_dbg)console.log('budget__renderZyskStrataPrice('+idNode+') value: ', value, 'node', node);
|
|
|
+ var sign = '';
|
|
|
+ if (value > 0) {
|
|
|
+ sign = '+';
|
|
|
+ node.style.color = '#009600';
|
|
|
+ } else {
|
|
|
+ sign = '';
|
|
|
+ node.style.color = '#f00';
|
|
|
+ }
|
|
|
+ p5Utils__clearNode(node);
|
|
|
+ node.appendChild(document.createTextNode(sign + '' + p5Utils__pricePrintPL(value)));
|
|
|
+ }
|
|
|
+ {
|
|
|
+ var budgetZyskStrata = costs.reduce(function (prevValue, currCost) {
|
|
|
+ return currCost['budget_minus_sum'];// get last value - calculated in php
|
|
|
+ }, _initBudgetValue);
|
|
|
+ budget__renderZyskStrataPrice('p5Budget__zysk_strata', budgetZyskStrata);
|
|
|
+ }
|
|
|
+ {
|
|
|
+ var osprzetZyskStrata = _initOsprzetValue - costs.reduce(function (prevValue, currCost) {
|
|
|
+ if (!currCost['budget_osprzet']) return prevValue;
|
|
|
+ return prevValue + currCost['budget_osprzet'];
|
|
|
+ }, 0);
|
|
|
+ if(_dbg)console.log('osprzetZyskStrata: _initOsprzetValue', _initOsprzetValue, 'osprzetZyskStrata', osprzetZyskStrata);
|
|
|
+ budget__renderZyskStrataPrice('p5Budget__osprzet_zysk_strata', osprzetZyskStrata);
|
|
|
+ }
|
|
|
+ {
|
|
|
+ var materialyZyskStrata = _initMaterialyValue - costs.reduce(function (prevValue, currCost) {
|
|
|
+ if (!currCost['budget_materialy']) return prevValue;
|
|
|
+ return prevValue + currCost['budget_materialy'];
|
|
|
+ }, 0);
|
|
|
+ if(_dbg)console.log('materialyZyskStrata: _initMaterialyValue', _initMaterialyValue, 'materialyZyskStrata', materialyZyskStrata);
|
|
|
+ budget__renderZyskStrataPrice('p5Budget__materialy_zysk_strata', materialyZyskStrata);
|
|
|
+ }
|
|
|
+
|
|
|
+ {
|
|
|
+ var aneksValue = costs.reduce(function (prevValue, currCost) {
|
|
|
+ if (!currCost['budget_aneks']) return prevValue;
|
|
|
+ return prevValue + currCost['budget_aneks'];
|
|
|
+ }, 0);
|
|
|
+ if(_dbg)console.log('aneksValue', aneksValue);
|
|
|
+ // budget__renderNodePrice('p5Budget__aneks', aneksValue);
|
|
|
+ budget__renderZyskStrataPrice('p5Budget__aneks', -1 * aneksValue);
|
|
|
+ }
|
|
|
+ {
|
|
|
+ var karyValue = costs.reduce(function (prevValue, currCost) {
|
|
|
+ if (!currCost['budget_kary']) return prevValue;
|
|
|
+ return prevValue + currCost['budget_kary'];
|
|
|
+ }, 0);
|
|
|
+ if(_dbg)console.log('karyValue', karyValue);
|
|
|
+ budget__renderNodePrice('p5Budget__kary', karyValue);
|
|
|
+ }
|
|
|
+
|
|
|
+ p5Utils__clearNode(_tbody);
|
|
|
var costNodes = costs.map(function(cost) {
|
|
|
var costNode = document.createElement('tr')
|
|
|
var tdNode = null
|
|
|
@@ -372,59 +433,48 @@ dostęp dla zarządu i os. odp. kwota końcowa
|
|
|
tdNode.appendChild(document.createTextNode(p5Utils__pricePrintPL(cost['budget_minus_sum'], '0,00')))
|
|
|
costNode.appendChild(tdNode)
|
|
|
|
|
|
- // <td style="color:<?php echo ($cost['TODO__budget_zysk_strata']) ? 'black' : 'silver'; ?>"><?php echo UI::price($cost['TODO__budget_zysk_strata']); ?></td>
|
|
|
- tdNode = document.createElement('td')
|
|
|
- tdNode.setAttribute('style', 'white-space:nowrap; color:' + ((cost['TODO__budget_zysk_strata']) ? 'black' : 'silver'))
|
|
|
- tdNode.appendChild(document.createTextNode(p5Utils__pricePrintPL(cost['TODO__budget_zysk_strata'], '0,00')))
|
|
|
- costNode.appendChild(tdNode)
|
|
|
-
|
|
|
- // <td style="color:<?php echo ($cost['TODO__budget_aneks']) ? 'black' : 'silver'; ?>"><?php echo UI::price($cost['TODO__budget_aneks']); ?></td>
|
|
|
+ // <td style="color:<?php echo ($cost['budget_aneks']) ? 'black' : 'silver'; ?>"><?php echo UI::price($cost['budget_aneks']); ?></td>
|
|
|
tdNode = document.createElement('td')
|
|
|
- tdNode.setAttribute('style', 'white-space:nowrap; color:' + ((cost['TODO__budget_aneks']) ? 'black' : 'silver'))
|
|
|
- tdNode.appendChild(document.createTextNode(p5Utils__pricePrintPL(cost['TODO__budget_aneks'], '0,00')))
|
|
|
+ tdNode.setAttribute('style', 'white-space:nowrap; color:' + ((cost['budget_aneks']) ? 'black' : 'silver'))
|
|
|
+ tdNode.appendChild(document.createTextNode(p5Utils__pricePrintPL(cost['budget_aneks'], '0,00')))
|
|
|
costNode.appendChild(tdNode)
|
|
|
|
|
|
- // <td style="color:<?php echo ($cost['TODO__budget_kary']) ? 'black' : 'silver'; ?>"><?php echo UI::price($cost['TODO__budget_kary']); ?></td>
|
|
|
+ // <td style="color:<?php echo ($cost['budget_kary']) ? 'black' : 'silver'; ?>"><?php echo UI::price($cost['budget_kary']); ?></td>
|
|
|
tdNode = document.createElement('td')
|
|
|
- tdNode.setAttribute('style', 'white-space:nowrap; color:' + ((cost['TODO__budget_kary']) ? 'black' : 'silver'))
|
|
|
- tdNode.appendChild(document.createTextNode(p5Utils__pricePrintPL(cost['TODO__budget_kary'], '0,00')))
|
|
|
+ tdNode.setAttribute('style', 'white-space:nowrap; color:' + ((cost['budget_kary']) ? 'black' : 'silver'))
|
|
|
+ tdNode.appendChild(document.createTextNode(p5Utils__pricePrintPL(cost['budget_kary'], '0,00')))
|
|
|
costNode.appendChild(tdNode)
|
|
|
|
|
|
- // <td style="color:<?php echo ($cost['TODO__budget_osprzet']) ? 'black' : 'silver'; ?>"><?php echo UI::price($cost['TODO__budget_osprzet']); ?></td>
|
|
|
+ // <td style="color:<?php echo ($cost['budget_osprzet']) ? 'black' : 'silver'; ?>"><?php echo UI::price($cost['budget_osprzet']); ?></td>
|
|
|
tdNode = document.createElement('td')
|
|
|
- tdNode.setAttribute('style', 'white-space:nowrap; color:' + ((cost['TODO__budget_osprzet']) ? 'black' : 'silver'))
|
|
|
- tdNode.appendChild(document.createTextNode(p5Utils__pricePrintPL(cost['TODO__budget_osprzet'], '0,00')))
|
|
|
+ tdNode.setAttribute('style', 'white-space:nowrap; color:' + ((cost['budget_osprzet']) ? 'black' : 'silver'))
|
|
|
+ tdNode.appendChild(document.createTextNode(p5Utils__pricePrintPL(cost['budget_osprzet'], '0,00')))
|
|
|
costNode.appendChild(tdNode)
|
|
|
|
|
|
- // <td style="color:<?php echo ($cost['TODO__budget_materialy']) ? 'black' : 'silver'; ?>"><?php echo UI::price($cost['TODO__budget_materialy']); ?></td>
|
|
|
+ // <td style="color:<?php echo ($cost['budget_materialy']) ? 'black' : 'silver'; ?>"><?php echo UI::price($cost['budget_materialy']); ?></td>
|
|
|
tdNode = document.createElement('td')
|
|
|
- tdNode.setAttribute('style', 'white-space:nowrap; color:' + ((cost['TODO__budget_materialy']) ? 'black' : 'silver'))
|
|
|
- tdNode.appendChild(document.createTextNode(p5Utils__pricePrintPL(cost['TODO__budget_materialy'], '0,00')))
|
|
|
+ tdNode.setAttribute('style', 'white-space:nowrap; color:' + ((cost['budget_materialy']) ? 'black' : 'silver'))
|
|
|
+ tdNode.appendChild(document.createTextNode(p5Utils__pricePrintPL(cost['budget_materialy'], '0,00')))
|
|
|
costNode.appendChild(tdNode)
|
|
|
|
|
|
- // <td style="color:<?php echo ($cost['TODO__budget_koszt_pracownikow']) ? 'black' : 'silver'; ?>"><?php echo UI::price($cost['TODO__budget_koszt_pracownikow']); ?></td>
|
|
|
+ // <td style="color:<?php echo ($cost['budget_koszt_pracownikow']) ? 'black' : 'silver'; ?>"><?php echo UI::price($cost['budget_koszt_pracownikow']); ?></td>
|
|
|
tdNode = document.createElement('td')
|
|
|
- tdNode.setAttribute('style', 'white-space:nowrap; color:' + ((cost['TODO__budget_koszt_pracownikow']) ? 'black' : 'silver'))
|
|
|
- tdNode.appendChild(document.createTextNode(p5Utils__pricePrintPL(cost['TODO__budget_koszt_pracownikow'], '0,00')))
|
|
|
+ tdNode.setAttribute('style', 'white-space:nowrap; color:' + ((cost['budget_koszt_pracownikow']) ? 'black' : 'silver'))
|
|
|
+ tdNode.appendChild(document.createTextNode(p5Utils__pricePrintPL(cost['budget_koszt_pracownikow'], '0,00')))
|
|
|
costNode.appendChild(tdNode)
|
|
|
|
|
|
- // <td style="color:<?php echo ($cost['TODO__budget_koszt_podwykonawcow']) ? 'black' : 'silver'; ?>"><?php echo UI::price($cost['TODO__budget_koszt_podwykonawcow']); ?></td>
|
|
|
+ // <td style="color:<?php echo ($cost['budget_koszt_podwykonawcow']) ? 'black' : 'silver'; ?>"><?php echo UI::price($cost['budget_koszt_podwykonawcow']); ?></td>
|
|
|
tdNode = document.createElement('td')
|
|
|
- tdNode.setAttribute('style', 'white-space:nowrap; color:' + ((cost['TODO__budget_koszt_podwykonawcow']) ? 'black' : 'silver'))
|
|
|
- tdNode.appendChild(document.createTextNode(p5Utils__pricePrintPL(cost['TODO__budget_koszt_podwykonawcow'], '0,00')))
|
|
|
+ tdNode.setAttribute('style', 'white-space:nowrap; color:' + ((cost['budget_koszt_podwykonawcow']) ? 'black' : 'silver'))
|
|
|
+ tdNode.appendChild(document.createTextNode(p5Utils__pricePrintPL(cost['budget_koszt_podwykonawcow'], '0,00')))
|
|
|
costNode.appendChild(tdNode)
|
|
|
|
|
|
- // <td style="color:<?php echo ($cost['TODO__budget_koszt_reprezentacyjny']) ? 'black' : 'silver'; ?>"><?php echo UI::price($cost['TODO__budget_koszt_reprezentacyjny']); ?></td>
|
|
|
+ // <td style="color:<?php echo ($cost['budget_koszt_reprezentacyjny']) ? 'black' : 'silver'; ?>"><?php echo UI::price($cost['budget_koszt_reprezentacyjny']); ?></td>
|
|
|
tdNode = document.createElement('td')
|
|
|
- tdNode.setAttribute('style', 'white-space:nowrap; color:' + ((cost['TODO__budget_koszt_reprezentacyjny']) ? 'black' : 'silver'))
|
|
|
- tdNode.appendChild(document.createTextNode(p5Utils__pricePrintPL(cost['TODO__budget_koszt_reprezentacyjny'], '0,00')))
|
|
|
+ tdNode.setAttribute('style', 'white-space:nowrap; color:' + ((cost['budget_koszt_reprezentacyjny']) ? 'black' : 'silver'))
|
|
|
+ tdNode.appendChild(document.createTextNode(p5Utils__pricePrintPL(cost['budget_koszt_reprezentacyjny'], '0,00')))
|
|
|
costNode.appendChild(tdNode)
|
|
|
|
|
|
- // <td style="color:<?php echo $cost['cell_order_color']; ?>" title="<?php echo $cost['cell_order_title']; ?>">
|
|
|
- // <!-- nr zam/kwota -->
|
|
|
- // <?php echo UI::price($cost['cost_zamowienia']); ?>
|
|
|
- // <div style="white-space:nowrap; color:silver">nr: <?php echo $cost['nr_zamowienia']; ?></div>
|
|
|
- // </td>
|
|
|
tdNode = document.createElement('td')
|
|
|
if (cost['order_nr']) {
|
|
|
var cellOrderColor = '#aaa';
|
|
|
@@ -468,52 +518,52 @@ dostęp dla zarządu i os. odp. kwota końcowa
|
|
|
tdNode.setAttribute('style', 'white-space:nowrap; color:' + ((cost['nr_fv_do_zamowienia']) ? 'black' : 'silver'))
|
|
|
costNode.appendChild(tdNode)
|
|
|
|
|
|
- // <td style="color:<?php echo ($cost['TODO__budget_zaliczki']) ? 'black' : 'silver'; ?>"><?php echo UI::price($cost['TODO__budget_zaliczki']); ?></td>
|
|
|
+ // <td style="color:<?php echo ($cost['budget_zaliczki']) ? 'black' : 'silver'; ?>"><?php echo UI::price($cost['budget_zaliczki']); ?></td>
|
|
|
tdNode = document.createElement('td')
|
|
|
- tdNode.setAttribute('style', 'white-space:nowrap; color:' + ((cost['TODO__budget_zaliczki']) ? 'black' : 'silver'))
|
|
|
- tdNode.appendChild(document.createTextNode(p5Utils__pricePrintPL(cost['TODO__budget_zaliczki'], '0,00')))
|
|
|
+ tdNode.setAttribute('style', 'white-space:nowrap; color:' + ((cost['budget_zaliczki']) ? 'black' : 'silver'))
|
|
|
+ tdNode.appendChild(document.createTextNode(p5Utils__pricePrintPL(cost['budget_zaliczki'], '0,00')))
|
|
|
costNode.appendChild(tdNode)
|
|
|
|
|
|
- // <td style="color:<?php echo ($cost['TODO__budget_rozliczone_zaliczki']) ? 'black' : 'silver'; ?>"><?php echo UI::price($cost['TODO__budget_rozliczone_zaliczki']); ?></td>
|
|
|
+ // <td style="color:<?php echo ($cost['budget_rozliczone_zaliczki']) ? 'black' : 'silver'; ?>"><?php echo UI::price($cost['budget_rozliczone_zaliczki']); ?></td>
|
|
|
tdNode = document.createElement('td')
|
|
|
- tdNode.setAttribute('style', 'white-space:nowrap; color:' + ((cost['TODO__budget_rozliczone_zaliczki']) ? 'black' : 'silver'))
|
|
|
- tdNode.appendChild(document.createTextNode(p5Utils__pricePrintPL(cost['TODO__budget_rozliczone_zaliczki'], '0,00')))
|
|
|
+ tdNode.setAttribute('style', 'white-space:nowrap; color:' + ((cost['budget_rozliczone_zaliczki']) ? 'black' : 'silver'))
|
|
|
+ tdNode.appendChild(document.createTextNode(p5Utils__pricePrintPL(cost['budget_rozliczone_zaliczki'], '0,00')))
|
|
|
costNode.appendChild(tdNode)
|
|
|
|
|
|
- // <td style="color:<?php echo ($cost['TODO__budget_zgoda_sluzebnosci']) ? 'black' : 'silver'; ?>"><?php echo UI::price($cost['TODO__budget_zgoda_sluzebnosci']); ?></td>
|
|
|
+ // <td style="color:<?php echo ($cost['budget_zgoda_sluzebnosci']) ? 'black' : 'silver'; ?>"><?php echo UI::price($cost['budget_zgoda_sluzebnosci']); ?></td>
|
|
|
tdNode = document.createElement('td')
|
|
|
- tdNode.setAttribute('style', 'white-space:nowrap; color:' + ((cost['TODO__budget_zgoda_sluzebnosci']) ? 'black' : 'silver'))
|
|
|
- tdNode.appendChild(document.createTextNode(p5Utils__pricePrintPL(cost['TODO__budget_zgoda_sluzebnosci'], '0,00')))
|
|
|
+ tdNode.setAttribute('style', 'white-space:nowrap; color:' + ((cost['budget_zgoda_sluzebnosci']) ? 'black' : 'silver'))
|
|
|
+ tdNode.appendChild(document.createTextNode(p5Utils__pricePrintPL(cost['budget_zgoda_sluzebnosci'], '0,00')))
|
|
|
costNode.appendChild(tdNode)
|
|
|
|
|
|
- // <td style="color:<?php echo ($cost['TODO__budget_zgoda_odszkodowania']) ? 'black' : 'silver'; ?>"><?php echo UI::price($cost['TODO__budget_zgoda_odszkodowania']); ?></td>
|
|
|
+ // <td style="color:<?php echo ($cost['budget_zgoda_odszkodowania']) ? 'black' : 'silver'; ?>"><?php echo UI::price($cost['budget_zgoda_odszkodowania']); ?></td>
|
|
|
tdNode = document.createElement('td')
|
|
|
- tdNode.setAttribute('style', 'white-space:nowrap; color:' + ((cost['TODO__budget_zgoda_odszkodowania']) ? 'black' : 'silver'))
|
|
|
- tdNode.appendChild(document.createTextNode(p5Utils__pricePrintPL(cost['TODO__budget_zgoda_odszkodowania'], '0,00')))
|
|
|
+ tdNode.setAttribute('style', 'white-space:nowrap; color:' + ((cost['budget_zgoda_odszkodowania']) ? 'black' : 'silver'))
|
|
|
+ tdNode.appendChild(document.createTextNode(p5Utils__pricePrintPL(cost['budget_zgoda_odszkodowania'], '0,00')))
|
|
|
costNode.appendChild(tdNode)
|
|
|
|
|
|
- // <td style="color:<?php echo ($cost['TODO__budget_sprzet_wlasny']) ? 'black' : 'silver'; ?>"><?php echo UI::price($cost['TODO__budget_sprzet_wlasny']); ?></td>
|
|
|
+ // <td style="color:<?php echo ($cost['budget_sprzet_wlasny']) ? 'black' : 'silver'; ?>"><?php echo UI::price($cost['budget_sprzet_wlasny']); ?></td>
|
|
|
tdNode = document.createElement('td')
|
|
|
- tdNode.setAttribute('style', 'white-space:nowrap; color:' + ((cost['TODO__budget_sprzet_wlasny']) ? 'black' : 'silver'))
|
|
|
- tdNode.appendChild(document.createTextNode(p5Utils__pricePrintPL(cost['TODO__budget_sprzet_wlasny'], '0,00')))
|
|
|
+ tdNode.setAttribute('style', 'white-space:nowrap; color:' + ((cost['budget_sprzet_wlasny']) ? 'black' : 'silver'))
|
|
|
+ tdNode.appendChild(document.createTextNode(p5Utils__pricePrintPL(cost['budget_sprzet_wlasny'], '0,00')))
|
|
|
costNode.appendChild(tdNode)
|
|
|
|
|
|
- // <td style="color:<?php echo ($cost['TODO__budget_sprzet_wynajety']) ? 'black' : 'silver'; ?>"><?php echo UI::price($cost['TODO__budget_sprzet_wynajety']); ?></td>
|
|
|
+ // <td style="color:<?php echo ($cost['budget_sprzet_wynajety']) ? 'black' : 'silver'; ?>"><?php echo UI::price($cost['budget_sprzet_wynajety']); ?></td>
|
|
|
tdNode = document.createElement('td')
|
|
|
- tdNode.setAttribute('style', 'white-space:nowrap; color:' + ((cost['TODO__budget_sprzet_wynajety']) ? 'black' : 'silver'))
|
|
|
- tdNode.appendChild(document.createTextNode(p5Utils__pricePrintPL(cost['TODO__budget_sprzet_wynajety'], '0,00')))
|
|
|
+ tdNode.setAttribute('style', 'white-space:nowrap; color:' + ((cost['budget_sprzet_wynajety']) ? 'black' : 'silver'))
|
|
|
+ tdNode.appendChild(document.createTextNode(p5Utils__pricePrintPL(cost['budget_sprzet_wynajety'], '0,00')))
|
|
|
costNode.appendChild(tdNode)
|
|
|
|
|
|
- // <td style="color:<?php echo ($cost['TODO__budget_organizacja_ruchu']) ? 'black' : 'silver'; ?>"><?php echo UI::price($cost['TODO__budget_organizacja_ruchu']); ?></td>
|
|
|
+ // <td style="color:<?php echo ($cost['budget_organizacja_ruchu']) ? 'black' : 'silver'; ?>"><?php echo UI::price($cost['budget_organizacja_ruchu']); ?></td>
|
|
|
tdNode = document.createElement('td')
|
|
|
- tdNode.setAttribute('style', 'white-space:nowrap; color:' + ((cost['TODO__budget_organizacja_ruchu']) ? 'black' : 'silver'))
|
|
|
- tdNode.appendChild(document.createTextNode(p5Utils__pricePrintPL(cost['TODO__budget_organizacja_ruchu'], '0,00')))
|
|
|
+ tdNode.setAttribute('style', 'white-space:nowrap; color:' + ((cost['budget_organizacja_ruchu']) ? 'black' : 'silver'))
|
|
|
+ tdNode.appendChild(document.createTextNode(p5Utils__pricePrintPL(cost['budget_organizacja_ruchu'], '0,00')))
|
|
|
costNode.appendChild(tdNode)
|
|
|
|
|
|
- // <td style="color:<?php echo ($cost['TODO__budget_zajetosc_pasa']) ? 'black' : 'silver'; ?>"><?php echo UI::price($cost['TODO__budget_zajetosc_pasa']); ?></td>
|
|
|
+ // <td style="color:<?php echo ($cost['budget_zajetosc_pasa']) ? 'black' : 'silver'; ?>"><?php echo UI::price($cost['budget_zajetosc_pasa']); ?></td>
|
|
|
tdNode = document.createElement('td')
|
|
|
- tdNode.setAttribute('style', 'white-space:nowrap; color:' + ((cost['TODO__budget_zajetosc_pasa']) ? 'black' : 'silver'))
|
|
|
- tdNode.appendChild(document.createTextNode(p5Utils__pricePrintPL(cost['TODO__budget_zajetosc_pasa'], '0,00')))
|
|
|
+ tdNode.setAttribute('style', 'white-space:nowrap; color:' + ((cost['budget_zajetosc_pasa']) ? 'black' : 'silver'))
|
|
|
+ tdNode.appendChild(document.createTextNode(p5Utils__pricePrintPL(cost['budget_zajetosc_pasa'], '0,00')))
|
|
|
costNode.appendChild(tdNode)
|
|
|
|
|
|
return costNode;
|
|
|
@@ -546,12 +596,18 @@ dostęp dla zarządu i os. odp. kwota końcowa
|
|
|
labels['SPRZET_WYNAJETY'] = "Sprzęt wynajęty"
|
|
|
labels['ORGANIZACJA_RUCHU'] = "Organizacja ruchu"
|
|
|
labels['ZAJETOSC_PASA'] = "Zajętość pasa drogowego"
|
|
|
- // TODO: add labels ...
|
|
|
- var labelType = (type in labels) ? labels[type] : type
|
|
|
+ var labelText = (type in labels) ? labels[type] : type
|
|
|
+ var desc = {}
|
|
|
+ desc['ANEKS'] = "<br>Proszę wprowadzić róznicę pomiędzy aktualnym <abbr title=\"kwotą na umowie lub poprzednim aneksie\">budżetem</abbr>, a kwotą na aneksie"
|
|
|
+ desc['ANEKS'] += ", np.:"
|
|
|
+ desc['ANEKS'] += "<br><small>- kwota na umowie: 100,000"
|
|
|
+ desc['ANEKS'] += "<br>- kwota na aneksie: 150,000"
|
|
|
+ desc['ANEKS'] += "<br>wprowadzamy: <code>-50,000</code></small>"
|
|
|
+ var descText = (type in desc) ? desc[type] : type
|
|
|
|
|
|
swal({
|
|
|
title: 'Kwota netto dla kosztu:',
|
|
|
- html: '"' + labelType + '"',
|
|
|
+ html: '"' + labelText + '"' + descText,
|
|
|
animation: false,
|
|
|
input: 'text',
|
|
|
inputPlaceholder: '0,00',
|
|
|
@@ -562,8 +618,10 @@ dostęp dla zarządu i os. odp. kwota końcowa
|
|
|
preConfirm: function(price) {
|
|
|
return new Promise(function(resolve, reject) {
|
|
|
price = p5Utils__parseFloatOrZero(price)
|
|
|
- if (price <= 0) {
|
|
|
- reject('Kwota musi być większa od zera.')
|
|
|
+ if ('ANEKS' != type && price <= 0) {
|
|
|
+ reject('Kwota musi być większa od zera.')
|
|
|
+ } else if ('ANEKS' == type && price == 0) {
|
|
|
+ reject('Kwota musi być inna niż zera.')
|
|
|
} else {
|
|
|
superagent
|
|
|
.post(_saveLink)
|
|
|
@@ -596,7 +654,7 @@ dostęp dla zarządu i os. odp. kwota końcowa
|
|
|
type: 'success',
|
|
|
animation: false,
|
|
|
title: responseBody.msg || 'Koszt dodano',
|
|
|
- html: 'Rodzaj kosztu: ' + (labelType || responseBody.type) + '<br>Kwota: ' + p5Utils__pricePrintPL(responseBody.price, '0') + '.'
|
|
|
+ html: 'Rodzaj kosztu: ' + (labelText || responseBody.type) + '<br>Kwota: ' + p5Utils__pricePrintPL(responseBody.price, '0') + '.'
|
|
|
})
|
|
|
if (responseBody.update_data) {
|
|
|
// TODO: budget__renderData(responseBody.update_data)
|