فهرست منبع

updated Budget for pro-netmedia - table view, orders, fv

Piotr Labudda 9 سال پیش
والد
کامیت
a4dd80fbd4
1فایلهای تغییر یافته به همراه114 افزوده شده و 23 حذف شده
  1. 114 23
      SE/se-lib/Route/UrlAction/ProjektyProNetMediaBudget.php

+ 114 - 23
SE/se-lib/Route/UrlAction/ProjektyProNetMediaBudget.php

@@ -96,9 +96,12 @@ dostęp dla zarządu i os. odp.	kwota końcowa
 		$data['COST_OSPRZET'] = V::get('COST_OSPRZET', 0, $data['projectInfo']);
 		$data['COST_MATERIALY'] = V::get('COST_MATERIALY', 0, $data['projectInfo']);
 
+		// TODO: tylko ZATWIERDZONE, OCZEKUJE_ZATWIERDZENIA i OCZEKUJE_OSTATECZNEGO_ZATWIERDZENIA
 		$data['ordersRaw'] = DB::getPDO()->fetchAll("
 			select r.ID
 					, r.ORDER_LABEL
+					, r.ORDER_DATE
+					, r.APPROVE_STATUS
 					, sum(o.OFFER_PRICE_PER_UNIT * o.OFFER_QUANTITY) as SUM_NETTO
 			from CRM_LISTA_ZASOBOW_ORDERS r
 				left join CRM_LISTA_ZASOBOW_OFFERS o on(
@@ -107,6 +110,7 @@ dostęp dla zarządu i os. odp.	kwota końcowa
 				)
 			where (r.A_STATUS is null or r.A_STATUS not in('DELETED'))
 				and r.ID_PROJECT = {$idProj}
+		--		and r.APPROVE_STATUS in('ZATWIERDZONE', 'OCZEKUJE_ZATWIERDZENIA', 'OCZEKUJE_OSTATECZNEGO_ZATWIERDZENIA')
 			group by r.ID
 		");
 
@@ -119,8 +123,12 @@ dostęp dla zarządu i os. odp.	kwota końcowa
 				$toFindKoresp[$idOrder] = $labelOrder;
 				if (count($data['costs']) < $idxOrders + 1) {
 					$data['costs'][] = array(
-						'cost_zamowienia'=>$order['SUM_NETTO'],
-						'nr_zamowienia'=>$labelOrder,
+						'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(),
 						'cost_zaliczki'=>0,
 						'cost_pracownicy'=>0,
@@ -182,6 +190,32 @@ dostęp dla zarządu i os. odp.	kwota końcowa
 	}
 
 	public function budgetView($data, $viewParams) {
+		$styleZyskStrata = 'color: black';
+		if ($data['TODO__sum_zysk_strata'] > 0) $styleZyskStrata = 'color:green';
+		if ($data['TODO__sum_zysk_strata'] < 0) $styleZyskStrata = 'color:red';
+
+		$costs = $data['costs'];
+		foreach ($costs as $idx => $cost) {
+			$cost['is_order'] = ($cost['order_cost'] && $cost['order_nr']);
+			if ($cost['is_order']) {
+				$cost['cell_order_color'] = '#aaa';
+				$cost['cell_order_title'] = '';
+				switch ($cost['order_approve_status']) {
+					case 'ZATWIERDZONE': $cost['cell_order_color'] = 'black'; break;
+					case 'OCZEKUJE_OSTATECZNEGO_ZATWIERDZENIA': $cost['cell_order_color'] = '#777'; break;
+					case 'OCZEKUJE_ZATWIERDZENIA': $cost['cell_order_color'] = '#777'; break;
+					case 'WERSJA_ROBOCZA': $cost['cell_order_color'] = '#aaa'; break;
+				}
+				switch ($cost['order_approve_status']) {
+					case 'ZATWIERDZONE': $cost['cell_order_title'] = "Zamówienie zatwierdzone"; break;
+					case 'OCZEKUJE_OSTATECZNEGO_ZATWIERDZENIA': $cost['cell_order_title'] = "Zamówienie oczekuje ostatecznego zatwierdzenia"; break;
+					case 'OCZEKUJE_ZATWIERDZENIA': $cost['cell_order_title'] = "Zamówienie oczekuje zatwierdzenia"; break;
+					case 'ODRZUCONE': $cost['cell_order_title'] = "Zamówienie odrzucone"; break;
+					case 'WERSJA_ROBOCZA': $cost['cell_order_title'] = "Wersja robocza"; break;
+				}
+			}
+			$costs[$idx] = $cost;
+		}
 		?>
 <div class="container">
 	<div class="row">
@@ -197,37 +231,84 @@ dostęp dla zarządu i os. odp.	kwota końcowa
 		</div>
 	</div>
 	<h3>Projekt: <?php echo $data['projectLabel']; ?></h3>
-	<blockquote style="font-size:1em">
-		Data rozpoczęcia umowy: <?php echo $data['POCZATEK_UMOWY']; ?>
-		<br>Data zakończenia umowy: <?php echo $data['KONIEC_BUDOWY']; ?>
-		<!-- <br>Kwota Umowy (netto): <?php echo $data['M_DIST_COST_PROJECT']; ?> ? == $data['budget'] -->
-		<br>Pozostało dni: <?php echo $data['days_to_finish']; ?>
-	</blockquote>
 	<table class="table table-bordered">
 		<thead>
 			<tr>
-				<th title="Kwota Umowy (netto)">Kwota planowana<br><?php echo UI::price($data['budget']); ?></th>
-				<th>Zamówienie</th>
-				<th>zaliczki</th>
-				<th>ilość pracowników / koszty pracownicze: powiązanie z raportami X współczynnik</th>
-				<th>koszty sprzętu / wynajmowany na budowie: rozdział na różne rodzaj sprzętu: koparka itp.
-					<br><?php echo UI::price($data['COST_OSPRZET']); ?>
-				</th>
-				<th>koszty własne: naprawy sprzętu</th>
-				<th>koszty materiałów
-					<br><?php echo UI::price($data['COST_MATERIALY']); ?>
-				</th>
-				<th>osprzet</th>
-				<th>dodatkowe koszty związane z nadwyżkami - rozbieżności odnośnie ustaleń</th>
+				<td rowspan="6" colspan="1" style="width:80px; text-align:center; vertical-align:middle">data</td>
+				<td rowspan="1" colspan="2" style="text-align:center; vertical-align:middle">data rozpoczęcia umowy</td>
+				<td rowspan="1" colspan="2" style="text-align:center; vertical-align:middle">data zakończenia umowy</td>
+				<td rowspan="1" colspan="2" style="text-align:center; vertical-align:middle">pozostało dni:</td>
+				<td rowspan="2" colspan="2" style="text-align:center; vertical-align:middle">Wartość kosztorysu</td>
+				<td rowspan="3" colspan="2" style="text-align:center; vertical-align:middle">ROBOCIZNA</td>
+				<td rowspan="6" colspan="1" style="text-align:center; vertical-align:middle">Koszty dodatkowe (reprezentacyjne)</td>
+				<td rowspan="4" colspan="2" style="text-align:center; vertical-align:middle">Zamówienia</td>
+				<td rowspan="4" colspan="2" style="text-align:center; vertical-align:middle">Zaliczki</td>
+				<td rowspan="4" colspan="2" style="text-align:center; vertical-align:middle">Zgody wejścia w teren</td>
+				<td rowspan="4" colspan="2" style="text-align:center; vertical-align:middle">Wynajem sprzętu</td>
+				<td rowspan="4" 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"><?php echo $data['POCZATEK_UMOWY']; ?></td>
+				<td rowspan="1" colspan="2" style="text-align:center; vertical-align:middle"><?php echo $data['KONIEC_BUDOWY']; ?></td>
+				<td rowspan="1" colspan="2" style="text-align:center; vertical-align:middle"><?php echo $data['days_to_finish']; ?></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">Aneks (netto)</td>
+				<td rowspan="1" colspan="2" style="text-align:center; vertical-align:middle">kary, potrącenia (netto)</td>
+				<td rowspan="1" colspan="2" 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="3" colspan="1" style="text-align:center; vertical-align:middle; white-space:nowrap"><?php echo UI::price($data['TODO__aneks_netto']); ?></th>
+				<th rowspan="3" colspan="2" style="text-align:center; vertical-align:middle; white-space:nowrap"><?php echo UI::price($data['TODO__kary_netto']); ?></th>
+				<td rowspan="1" colspan="1" style="text-align:center; vertical-align:middle">???</td>
+				<th rowspan="3" colspan="1" style="text-align:center; vertical-align:middle; white-space:nowrap"><?php echo UI::price($data['COST_OSPRZET']); ?></th>
+				<th rowspan="3" colspan="1" style="text-align:center; vertical-align:middle; white-space:nowrap"><?php echo UI::price($data['COST_MATERIALY']); ?></th>
+				<td rowspan="3" colspan="1" style="text-align:center; vertical-align:middle">koszty pracowników</td>
+				<td rowspan="3" colspan="1" style="text-align:center; vertical-align:middle">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="1" colspan="1" style="text-align:center; vertical-align:middle">???</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="2" colspan="1" style="text-align:center; vertical-align:middle">zaliczka kwota</td>
+				<td rowspan="2" colspan="1" style="text-align:center; vertical-align:middle">rozliczanie zaliczki koszty dzienne</td>
+				<td rowspan="2" colspan="1" style="text-align:center; vertical-align:middle">służebności</td>
+				<td rowspan="2" colspan="1" style="text-align:center; vertical-align:middle">odszkodowania</td>
+				<td rowspan="2" colspan="1" style="text-align:center; vertical-align:middle">Sprzęt własny</td>
+				<td rowspan="2" colspan="1" style="text-align:center; vertical-align:middle">sprzęt wynajęty</td>
+				<td rowspan="2" colspan="1" style="text-align:center; vertical-align:middle">organizacja ruchu</td>
+				<td rowspan="2" colspan="1" style="text-align:center; vertical-align:middle">zajętość pasa drogowego</td>
+			</tr>
+			<tr>
+				<td rowspan="1" colspan="1" style="text-align:center; vertical-align:middle">???</td>
 			</tr>
 		</thead>
 		<tbody>
-			<?php foreach ($data['costs'] as $cost) : ?>
+			<?php foreach ($costs as $cost) : ?>
 				<tr>
+					<td style="white-space:nowrap"><?php echo $cost['data']; ?></td>
 					<td><?php echo UI::price($cost['budget_minus_sum']); ?></td>
-					<td style="color:<?php echo ($cost['cost_zamowienia']) ? 'black' : 'silver'; ?>">
+					<td style="color:<?php echo ($cost['TODO__budget_zysk_strata']) ? 'black' : 'silver'; ?>"><?php echo UI::price($cost['TODO__budget_zysk_strata']); ?></td>
+					<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['TODO__budget_kary']) ? 'black' : 'silver'; ?>" colspan="2"><?php echo UI::price($cost['TODO__budget_kary']); ?></td>
+					<td style="color:<?php echo ($cost['TODO__budget_']) ? 'black' : 'silver'; ?>"><?php echo UI::price($cost['TODO__budget_???']); ?></td>
+					<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['TODO__budget_materialy']) ? 'black' : 'silver'; ?>"><?php echo UI::price($cost['TODO__budget_materialy']); ?></td>
+					<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['TODO__budget_koszt_podwykonawcow']) ? 'black' : 'silver'; ?>"><?php echo UI::price($cost['TODO__budget_koszt_podwykonawcow']); ?></td>
+					<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['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>
+					<td>
+						<!-- TODO: nr fv/kwota -->
 						<?php if (!empty($cost['nr_fv_do_zamowienia'])) : ?>
 							<?php foreach ($cost['nr_fv_do_zamowienia'] as $idKoresp => $obcyNrFV) : ?>
 								<?php // TODO: link do edycji koresp by $idKoresp ?>
@@ -235,6 +316,15 @@ dostęp dla zarządu i os. odp.	kwota końcowa
 							<?php endforeach; ?>
 						<?php endif; ?>
 					</td>
+					<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['TODO__budget_rozliczone_zaliczki']) ? 'black' : 'silver'; ?>"><?php echo UI::price($cost['TODO__budget_rozliczone_zaliczki']); ?></td>
+					<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['TODO__budget_zgoda_odszkodowania']) ? 'black' : 'silver'; ?>"><?php echo UI::price($cost['TODO__budget_zgoda_odszkodowania']); ?></td>
+					<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['TODO__budget_sprzet_wynajety']) ? 'black' : 'silver'; ?>"><?php echo UI::price($cost['TODO__budget_sprzet_wynajety']); ?></td>
+					<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['TODO__budget_zajetosc_pasa']) ? 'black' : 'silver'; ?>"><?php echo UI::price($cost['TODO__budget_zajetosc_pasa']); ?></td>
+<!--
 					<td style="color:<?php echo ($cost['cost_zaliczki']) ? 'black' : 'silver'; ?>"><?php echo UI::price($cost['cost_zaliczki']); ?></td>
 					<td style="color:<?php echo ($cost['cost_pracownicy']) ? 'black' : 'silver'; ?>"><?php echo UI::price($cost['cost_pracownicy']); ?></td>
 					<td style="color:<?php echo ($cost['cost_wynajem']) ? 'black' : 'silver'; ?>"><?php echo UI::price($cost['cost_wynajem']); ?></td>
@@ -242,6 +332,7 @@ dostęp dla zarządu i os. odp.	kwota końcowa
 					<td style="color:<?php echo ($cost['cost_materialy']) ? 'black' : 'silver'; ?>"><?php echo UI::price($cost['cost_materialy']); ?></td>
 					<td style="color:<?php echo ($cost['cost_osprzet']) ? 'black' : 'silver'; ?>"><?php echo UI::price($cost['cost_osprzet']); ?></td>
 					<td style="color:<?php echo ($cost['cost_dodatkowe']) ? 'black' : 'silver'; ?>"><?php echo UI::price($cost['cost_dodatkowe']); ?></td>
+-->
 				</tr>
 			<?php endforeach; ?>
 		</tbody>