|
@@ -157,7 +157,7 @@ dostęp dla zarządu i os. odp. kwota końcowa
|
|
|
foreach ($data['fvToOrdersRaw'] as $fv) {
|
|
foreach ($data['fvToOrdersRaw'] as $fv) {
|
|
|
$labelOrder = $fv['ORDER_NR'];
|
|
$labelOrder = $fv['ORDER_NR'];
|
|
|
foreach ($data['costs'] as $idx => $cost) {
|
|
foreach ($data['costs'] as $idx => $cost) {
|
|
|
- // if ('order' == $cost['_type'] && 'ZATWIERDZONE' == $cost['order_approve_status']) {// TEST
|
|
|
|
|
|
|
+ // if ('order' == $cost['_type'] && 'ZATWIERDZONE' == $cost['order_approve_status']) // TEST
|
|
|
// OCZEKUJE_ZATWIERDZENIA, OCZEKUJE_OSTATECZNEGO_ZATWIERDZENIA
|
|
// OCZEKUJE_ZATWIERDZENIA, OCZEKUJE_OSTATECZNEGO_ZATWIERDZENIA
|
|
|
if ('order' == $cost['_type'] && $labelOrder == $cost['order_nr']) {
|
|
if ('order' == $cost['_type'] && $labelOrder == $cost['order_nr']) {
|
|
|
$idKoresp = $fv['ID'];
|
|
$idKoresp = $fv['ID'];
|
|
@@ -208,6 +208,33 @@ dostęp dla zarządu i os. odp. kwota końcowa
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ $data['profitFvRaw'] = DB::getPDO()->fetchAll("
|
|
|
|
|
+ select k.ID
|
|
|
|
|
+ , k.K_DATA_OTRZYMANEJ_KORESP as data
|
|
|
|
|
+ , k.K_NR_OTRZYM_KORESP as obcy_nr_koresp
|
|
|
|
|
+ , k.INCOME_VALUE as profit
|
|
|
|
|
+ from IN7_DZIENNIK_KORESP k
|
|
|
|
|
+ where k.A_STATUS != 'DELETED'
|
|
|
|
|
+ and k.INCOME_VALUE != 0
|
|
|
|
|
+ and k.K_TYP_KORESP = 'OUT'
|
|
|
|
|
+ ");
|
|
|
|
|
+ foreach ($data['profitFvRaw'] as $fv) {
|
|
|
|
|
+ $item = array(
|
|
|
|
|
+ '_type' => 'profit_fv',
|
|
|
|
|
+ 'data' => $fv['data'],
|
|
|
|
|
+ 'sum' => (-1 * $fv['profit']),
|
|
|
|
|
+ 'profit_fv_value' => $fv['profit'],
|
|
|
|
|
+ 'label' => $fv['obcy_nr_koresp'],
|
|
|
|
|
+ 'costRaw' => $fv
|
|
|
|
|
+ );
|
|
|
|
|
+ $data['costs'][] = $item;
|
|
|
|
|
+ }
|
|
|
|
|
+ if (V::get('DBG_PROFIT_FV', '', $_GET)>0) {// DBG
|
|
|
|
|
+ $data['costs'][] = array('_type'=>'profit_fv', 'data'=>date("Y-m-d"), 'profit_fv_value'=>100, 'sum'=>-100, 'label'=>"TEST/FV/1", 'costRaw'=>array());// TODO: DBG
|
|
|
|
|
+ $data['costs'][] = array('_type'=>'profit_fv', 'data'=>date("Y-m-d"), 'profit_fv_value'=>150, 'sum'=>-150, 'label'=>"TEST/FV/2", 'costRaw'=>array());// TODO: DBG
|
|
|
|
|
+ $data['costs'][] = array('_type'=>'profit_fv', 'data'=>'2016-09-01', 'profit_fv_value'=>200, 'sum'=>-200, 'label'=>"TEST/FV/3", 'costRaw'=>array());// TODO: DBG
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
// order $data['costs'] by `data`, then by `ID` for the same `_type` else: order, project_cost, koresp
|
|
// order $data['costs'] by `data`, then by `ID` for the same `_type` else: order, project_cost, koresp
|
|
|
usort($data['costs'], function($a, $b) {
|
|
usort($data['costs'], function($a, $b) {
|
|
|
if ($a['data'] == $b['data']) {
|
|
if ($a['data'] == $b['data']) {
|
|
@@ -341,7 +368,7 @@ dostęp dla zarządu i os. odp. kwota końcowa
|
|
|
<thead>
|
|
<thead>
|
|
|
<tr>
|
|
<tr>
|
|
|
<td rowspan="5" colspan="1" style="width:80px; text-align:center; vertical-align:middle">data</td>
|
|
<td rowspan="5" colspan="1" style="width:80px; text-align:center; vertical-align:middle">data</td>
|
|
|
- <td rowspan="1" colspan="5" style="padding:0">
|
|
|
|
|
|
|
+ <td rowspan="1" colspan="6" style="padding:0">
|
|
|
<table class="table table-bordered" style="width:100%; margin:0; border:0">
|
|
<table class="table table-bordered" style="width:100%; margin:0; border:0">
|
|
|
<tr>
|
|
<tr>
|
|
|
<td rowspan="1" colspan="1" style="text-align:center; vertical-align:middle; border-top:0; border-left:0">data rozpoczęcia umowy</td>
|
|
<td rowspan="1" colspan="1" style="text-align:center; vertical-align:middle; border-top:0; border-left:0">data rozpoczęcia umowy</td>
|
|
@@ -365,6 +392,7 @@ 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>
|
|
<td rowspan="3" colspan="2" style="text-align:center; vertical-align:middle">Koszty projektu</td>
|
|
|
</tr>
|
|
</tr>
|
|
|
<tr>
|
|
<tr>
|
|
|
|
|
+ <td rowspan="1" colspan="1" style="text-align:center; vertical-align:middle">Sprzedaż</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">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">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">kary, potrącenia (netto)</td>
|
|
@@ -372,6 +400,7 @@ dostęp dla zarządu i os. odp. kwota końcowa
|
|
|
<td rowspan="1" colspan="1" style="text-align:center; vertical-align:middle">Materiały</td>
|
|
<td rowspan="1" colspan="1" style="text-align:center; vertical-align:middle">Materiały</td>
|
|
|
</tr>
|
|
</tr>
|
|
|
<tr>
|
|
<tr>
|
|
|
|
|
+ <th rowspan="2" colspan="1" style="text-align:center; vertical-align:middle; white-space:nowrap; border-bottom:none"><span id="p5Budget__profit_fv" 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['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"><?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__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" id="p5Budget__kary"></th>
|
|
@@ -394,6 +423,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>
|
|
<td rowspan="1" colspan="1" style="text-align:center; vertical-align:middle; border-bottom:none">zajętość pasa drogowego</td>
|
|
|
</tr>
|
|
</tr>
|
|
|
<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"></td>
|
|
<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: '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: 'KARY'})" class="btn btn-link" style="padding:0"><i class="glyphicon glyphicon-plus-sign"></i></button></td>
|
|
@@ -495,6 +525,14 @@ dostęp dla zarządu i os. odp. kwota końcowa
|
|
|
if(_dbg)console.log('karyValue', karyValue);
|
|
if(_dbg)console.log('karyValue', karyValue);
|
|
|
budget__renderNodePrice('p5Budget__kary', karyValue);
|
|
budget__renderNodePrice('p5Budget__kary', karyValue);
|
|
|
}
|
|
}
|
|
|
|
|
+ {
|
|
|
|
|
+ var profitFvValue = costs.reduce(function (prevValue, currCost) {
|
|
|
|
|
+ if ('profit_fv' != currCost['_type']) return prevValue;
|
|
|
|
|
+ return prevValue + currCost['profit_fv_value'];
|
|
|
|
|
+ }, 0);
|
|
|
|
|
+ if(_dbg)console.log('profitFvValue', profitFvValue);
|
|
|
|
|
+ budget__renderNodePrice('p5Budget__profit_fv', profitFvValue);
|
|
|
|
|
+ }
|
|
|
|
|
|
|
|
p5Utils__clearNode(_tbody);
|
|
p5Utils__clearNode(_tbody);
|
|
|
var costNodes = costs.map(function(cost) {
|
|
var costNodes = costs.map(function(cost) {
|
|
@@ -507,6 +545,22 @@ dostęp dla zarządu i os. odp. kwota końcowa
|
|
|
tdNode.appendChild(document.createTextNode(cost['data']))
|
|
tdNode.appendChild(document.createTextNode(cost['data']))
|
|
|
costNode.appendChild(tdNode)
|
|
costNode.appendChild(tdNode)
|
|
|
|
|
|
|
|
|
|
+ // <td><?php echo UI::price($cost['budget_profit_fv']); ?></td>
|
|
|
|
|
+ tdNode = document.createElement('td')
|
|
|
|
|
+ tdNode.setAttribute('style', 'white-space:nowrap')
|
|
|
|
|
+ tdNode.appendChild(document.createTextNode(p5Utils__pricePrintPL(cost['profit_fv_value'], '0,00')))
|
|
|
|
|
+ tdNode.style.color = '#999'
|
|
|
|
|
+ if ('profit_fv' == cost['_type']) {
|
|
|
|
|
+ // <div style="white-space: nowrap; color: rgb(153, 153, 153);">nr: 131/MKL/8/2016/9/VIII/2016</div>
|
|
|
|
|
+ var cellProfitFvNode = document.createElement('small')
|
|
|
|
|
+ cellProfitFvNode.style.display = 'block'
|
|
|
|
|
+ cellProfitFvNode.style.whiteSpace = 'nowrap'
|
|
|
|
|
+ cellProfitFvNode.style.color = '#999'
|
|
|
|
|
+ cellProfitFvNode.appendChild(document.createTextNode('FV: ' + cost['label']))
|
|
|
|
|
+ tdNode.appendChild(cellProfitFvNode)
|
|
|
|
|
+ }
|
|
|
|
|
+ costNode.appendChild(tdNode)
|
|
|
|
|
+
|
|
|
// <td><?php echo UI::price($cost['budget_minus_sum']); ?></td>
|
|
// <td><?php echo UI::price($cost['budget_minus_sum']); ?></td>
|
|
|
tdNode = document.createElement('td')
|
|
tdNode = document.createElement('td')
|
|
|
tdNode.setAttribute('style', 'white-space:nowrap')
|
|
tdNode.setAttribute('style', 'white-space:nowrap')
|