Conversie codeigniter 4
This commit is contained in:
@@ -0,0 +1,69 @@
|
||||
<?php
|
||||
/**
|
||||
* Created by Pensare Software.
|
||||
* User: Theo Weijmer
|
||||
* Date: 13/04/2018
|
||||
* Time: 14:27
|
||||
*/
|
||||
|
||||
class ReservationTotals {
|
||||
|
||||
public static function fire()
|
||||
{
|
||||
// UNION ALL wordt gebruikt voor een full outer join
|
||||
$sql = "SELECT PRJ.id AS projectID, external_id AS externalID,
|
||||
PRJ.projectname,
|
||||
COALESCE(fromreservation, 0) AS fromreservation,
|
||||
COALESCE(Q5.costs, 0) AS costs, COALESCE(reservation, 0) AS reservation,
|
||||
COALESCE(payed, 0) AS payed, (COALESCE(reservation, 0) - COALESCE(fromreservation, 0)) AS saldo,
|
||||
(COALESCE(Q5.costs, 0) - COALESCE(payed, 0)) AS saldoToPay, PRJ.projectnumber, EXT.contactperson,
|
||||
ROUND(( (OFF.costs * (100 + (SELECT vatrate
|
||||
FROM vats VTS
|
||||
JOIN projects P
|
||||
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,
|
||||
IF(from_reservation = 'T', payed, 0) fromreservation
|
||||
FROM (
|
||||
SELECT SUM(reservationamount) AS reservation, external_id, project_id
|
||||
FROM reservations
|
||||
GROUP BY external_id, project_id
|
||||
) Q1
|
||||
RIGHT JOIN
|
||||
(
|
||||
SELECT SUM(costs) AS costs, SUM(payed) AS payed, external_id, project_id, from_reservation
|
||||
FROM projectcosts
|
||||
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,
|
||||
IF(from_reservation = 'T', payed, 0) fromreservation
|
||||
FROM (
|
||||
SELECT SUM(reservationamount) AS reservation, external_id, project_id
|
||||
FROM reservations
|
||||
GROUP BY external_id, project_id
|
||||
) Q3
|
||||
LEFT JOIN
|
||||
(
|
||||
SELECT SUM(costs) AS costs, SUM(payed) AS payed, external_id, project_id, id, from_reservation
|
||||
FROM projectcosts
|
||||
GROUP BY external_id, project_id
|
||||
) Q4
|
||||
ON Q3.external_id = Q4.external_id AND Q3.project_id = Q4.project_id
|
||||
WHERE Q4.id IS NULL
|
||||
) Q5
|
||||
RIGHT JOIN projects PRJ
|
||||
ON PRJ.id = Q5.project_id
|
||||
LEFT JOIN offers OFF
|
||||
ON PRJ.id = OFF.project_id
|
||||
LEFT JOIN externals EXT
|
||||
ON EXT.id = Q5.external_id
|
||||
WHERE OFF.costs > 0
|
||||
AND PRJ.archive = 'F'";
|
||||
|
||||
return $sql;
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user