diversen dashboard

This commit is contained in:
2020-01-10 15:30:30 +01:00
parent f185d467fb
commit 1295814ff4
8 changed files with 269 additions and 146 deletions
+57 -1
View File
@@ -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;
}
}