42 lines
2.0 KiB
PHP
42 lines
2.0 KiB
PHP
<?php
|
|
/**
|
|
* Created by Pensare Software.
|
|
* User: Theo Weijmer
|
|
* Date: 13/04/2018
|
|
* Time: 14:27
|
|
*/
|
|
|
|
class ReservationTotals {
|
|
|
|
public static function fire()
|
|
{
|
|
$sql = "SELECT projectID, externalID, reservation, payed, (reservation - payed) AS saldo, PRJ.projectnumber, EXT.contactperson
|
|
FROM (
|
|
SELECT COALESCE(RES.project_id, PRC.project_id) AS projectID,
|
|
COALESCE(RES.external_id, PRC.external_id) AS externalID,
|
|
SUM(COALESCE(reservationamount, 0)) AS reservation,
|
|
SUM(COALESCE(payed, 0)) AS payed
|
|
FROM reservations RES
|
|
LEFT JOIN projectcosts PRC
|
|
ON RES.project_id = PRC.project_id AND RES.external_id = PRC.external_id
|
|
GROUP BY COALESCE(RES.project_id, PRC.project_id), COALESCE(PRC.external_id, PRC.external_id)
|
|
UNION ALL
|
|
SELECT COALESCE(RES.project_id, PRC.project_id) AS projectID,
|
|
COALESCE(RES.external_id, PRC.external_id) AS externalID,
|
|
SUM(COALESCE(reservationamount, 0)) AS reservation,
|
|
SUM(COALESCE(payed, 0)) AS payed
|
|
FROM reservations RES
|
|
RIGHT JOIN projectcosts PRC
|
|
ON RES.project_id = PRC.project_id AND RES.external_id = PRC.external_id
|
|
WHERE RES.id IS NULL
|
|
GROUP BY COALESCE(RES.project_id, PRC.project_id), COALESCE(RES.external_id, PRC.external_id)
|
|
) Q3
|
|
JOIN projects PRJ
|
|
ON PRJ.id = Q3.projectID
|
|
JOIN externals EXT
|
|
ON EXT.id = Q3.externalID ";
|
|
|
|
return $sql;
|
|
}
|
|
|
|
} |