diff --git a/application/controllers/reports/ReservationsController.php b/application/controllers/reports/ReservationsController.php index 6d50c1b..c2f8eaa 100644 --- a/application/controllers/reports/ReservationsController.php +++ b/application/controllers/reports/ReservationsController.php @@ -26,31 +26,34 @@ class ReservationsController extends MY_Controller { if ( ! isset( $projects[ $result->projectID ] ) ) { $projects[ $result->projectID ] = [ - 'projectnumber' => $result->projectnumber, - 'costs' => 0, - 'reservation' => 0, - 'payed' => 0, - 'saldo' => 0, - 'saldoToPay' => 0, - 'other_revenue' => 0, - 'customers' => [] + 'projectnumber' => $result->projectnumber, + 'costs' => 0, + 'reservation' => 0, + 'payed' => 0, + 'fromreservation' => 0, + 'saldo' => 0, + 'saldoToPay' => 0, + 'other_revenue' => 0, + 'customers' => [] ]; } $projects[ $result->projectID ]['reservation'] += $result->reservation; $projects[ $result->projectID ]['costs'] += $result->costs; $projects[ $result->projectID ]['payed'] += $result->payed; + $projects[ $result->projectID ]['fromreservation'] += $result->fromreservation; $projects[ $result->projectID ]['saldo'] += $result->saldo; $projects[ $result->projectID ]['saldoToPay'] += $result->saldoToPay; $projects[ $result->projectID ]['other_revenue'] = $result->other_revenue; $projects[ $result->projectID ]['externals'][] = [ - 'external' => $result->contactperson, - 'reservation' => $result->reservation, - 'costs' => $result->costs, - 'payed' => $result->payed, - 'saldo' => $result->saldo, - 'saldoToPay' => $result->saldoToPay + 'external' => $result->contactperson, + 'reservation' => $result->reservation, + 'costs' => $result->costs, + 'payed' => $result->payed, + 'saldo' => $result->saldo, + 'fromreservation' => $result->fromreservation, + 'saldoToPay' => $result->saldoToPay ]; } diff --git a/application/models/eloquent/queries/ReservationTotals.php b/application/models/eloquent/queries/ReservationTotals.php index 9c7d4a3..db6c03d 100644 --- a/application/models/eloquent/queries/ReservationTotals.php +++ b/application/models/eloquent/queries/ReservationTotals.php @@ -12,7 +12,8 @@ class ReservationTotals { { // UNION ALL wordt gebruikt voor een full outer join $sql = "SELECT Q5.project_id AS projectID, external_id AS externalID, - Q5.costs, reservation, payed, (reservation - payed) AS saldo, + fromreservation, + Q5.costs, reservation, payed, (reservation - fromreservation) AS saldo, (Q5.costs - payed) AS saldoToPay, PRJ.projectnumber, EXT.contactperson, ROUND(( (OFF.costs * (100 + (SELECT vatrate FROM vats VTS @@ -20,7 +21,8 @@ class ReservationTotals { ON VTS.id = P.vat_id WHERE P.id = PRJ.id LIMIT 1))) / 100 ), 0) other_revenue FROM ( - SELECT COALESCE(reservation, 0) AS reservation, costs, payed, Q2.external_id, Q2.project_id + SELECT COALESCE(reservation, 0) AS reservation, costs, payed, Q2.external_id, Q2.project_id, + IF(from_reservation = 'T', payed, 0) fromreservation FROM ( SELECT SUM(reservationamount) AS reservation, external_id, project_id FROM reservations @@ -28,14 +30,14 @@ class ReservationTotals { ) Q1 RIGHT JOIN ( - SELECT SUM(costs) AS costs, SUM(payed) AS payed, external_id, project_id + SELECT SUM(costs) AS costs, SUM(payed) AS payed, external_id, project_id, from_reservation FROM projectcosts - WHERE from_reservation = 'T' GROUP BY external_id, project_id ) Q2 ON Q1.external_id = Q2.external_id AND Q1.project_id = Q2.project_id UNION ALL - SELECT reservation, COALESCE(costs, 0), COALESCE(payed, 0), Q3.external_id, Q3.project_id + SELECT reservation, COALESCE(costs, 0), COALESCE(payed, 0), Q3.external_id, Q3.project_id, + IF(from_reservation = 'T', payed, 0) fromreservation FROM ( SELECT SUM(reservationamount) AS reservation, external_id, project_id FROM reservations @@ -43,9 +45,8 @@ class ReservationTotals { ) Q3 LEFT JOIN ( - SELECT SUM(costs) AS costs, SUM(payed) AS payed, external_id, project_id, id + SELECT SUM(costs) AS costs, SUM(payed) AS payed, external_id, project_id, id, from_reservation FROM projectcosts - WHERE from_reservation = 'T' GROUP BY external_id, project_id ) Q4 ON Q3.external_id = Q4.external_id AND Q3.project_id = Q4.project_id diff --git a/application/views/modals/partials/_projectdashboard.php b/application/views/modals/partials/_projectdashboard.php index 5fe8200..c1ae6f1 100644 --- a/application/views/modals/partials/_projectdashboard.php +++ b/application/views/modals/partials/_projectdashboard.php @@ -99,7 +99,7 @@

- Financieel + Financieel

diff --git a/application/views/modals/project_modal.php b/application/views/modals/project_modal.php index 697ef56..ea56eac 100644 --- a/application/views/modals/project_modal.php +++ b/application/views/modals/project_modal.php @@ -39,6 +39,7 @@

Projectnummer: +