diversen dashboard
This commit is contained in:
@@ -54,4 +54,60 @@ class Invoices_model extends MY_Model {
|
||||
|
||||
return $invoiceDetails;
|
||||
}
|
||||
}
|
||||
|
||||
public function getTotalsOutstandingPerProject()
|
||||
{
|
||||
$this->sql = "
|
||||
SELECT
|
||||
PRJ.id,
|
||||
projectnumber,
|
||||
projectname,
|
||||
SUM(invoiced) AS invoiced,
|
||||
SUM(payment) AS payment,
|
||||
revenues,
|
||||
costs,
|
||||
COALESCE(payedcosts, 0) AS payedcosts
|
||||
FROM (
|
||||
SELECT
|
||||
project_id,
|
||||
ROUND(SUM(invoiceamount * (1 + (vatrate / 100))), 0) AS invoiced,
|
||||
payment
|
||||
FROM
|
||||
invoices INV
|
||||
JOIN vats VAT ON VAT.id = INV.vat_id
|
||||
LEFT JOIN (
|
||||
SELECT
|
||||
ROUND(COALESCE(SUM(paymentamount), 0), 0) AS payment,
|
||||
invoice_id
|
||||
FROM
|
||||
payments
|
||||
GROUP BY
|
||||
invoice_id) AS Q1 ON INV.id = Q1.invoice_id
|
||||
GROUP BY
|
||||
INV.id) Q2
|
||||
JOIN projects PRJ ON PRJ.id = Q2.project_id
|
||||
JOIN (
|
||||
SELECT
|
||||
ROUND((own_revenue + other_revenue + costs) * (1 + (vatrate / 100)), 0) revenues,
|
||||
ROUND(costs * (1 + (vatrate / 100)), 0) costs,
|
||||
OFF.project_id
|
||||
FROM
|
||||
offers OFF
|
||||
JOIN projects PRJ ON PRJ.id = OFF.project_id
|
||||
JOIN vats VAT ON VAT.id = PRJ.vat_id) Q3 ON Q3.project_id = PRJ.id
|
||||
LEFT JOIN (
|
||||
SELECT
|
||||
SUM(costs) AS payedcosts,
|
||||
project_id
|
||||
FROM
|
||||
projectcosts
|
||||
GROUP BY
|
||||
project_id) Q4 ON Q4.project_id = PRJ.id
|
||||
GROUP BY
|
||||
PRJ.id ";
|
||||
|
||||
$outstandings = $this->get_query_result();
|
||||
|
||||
return $outstandings;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user