invoice report

This commit is contained in:
2018-03-02 17:06:41 +01:00
parent fad71498dd
commit f540bab261
8 changed files with 285 additions and 11 deletions
@@ -30,8 +30,9 @@ class QEmployeeHours {
0 AS revenues,
SUM(hours) AS nonprojecthours
FROM employeehours
WHERE YEAR(hourdate) = '{$year}'
AND MONTH(hourdate) = '$month'
WHERE YEAR(hourdate) = '{$year}' ";
if( $month != 0 ) $sql .= "AND MONTH(hourdate) = '$month' ";
$sql .= "
GROUP BY employee_id, MONTH(hourdate)
UNION
SELECT PEM.user_id,
@@ -44,13 +45,14 @@ class QEmployeeHours {
FROM projecthours PH
JOIN projectemployees PEM
ON PEM.id = PH.projectemployee_id
WHERE YEAR(hourdate) = '{$year}'
AND MONTH(hourdate) = '$month'
WHERE YEAR(hourdate) = '{$year}' ";
if( $month != 0 ) $sql .= "AND MONTH(hourdate) = '$month' ";
$sql .= "
GROUP BY PEM.user_id, MONTH(hourdate)
) AS Q1
JOIN users AS USR
ON USR.id = Q1.user_id
GROUP BY monthID, user_id ";
GROUP BY user_id ";
return $sql;
}
@@ -0,0 +1,45 @@
<?php
/**
* Created by Pensare Software.
* User: Theo Weijmer
* Date: 02/03/2018
* Time: 15:56
*/
class Qinvoiceoverview {
public static function fire( $year )
{
$sql = "
SELECT PRJ.id, PRJ.projectnumber,
PRJ.projectname,
(own_revenue + other_revenue ) AS revenues,
CUS.name AS customername,
IF( YEAR(invoicedate) = {$year},SUM(invoiceamount), 0) AS currentyear,
IF( YEAR(invoicedate) != {$year},SUM(invoiceamount), 0) AS otheryear,
COALESCE(Q1.currentyearpayed, 0) AS currentyearpayed,
COALESCE(Q1.otheryearpayed, 0) AS otheryearpayed,
CONCAT(firstname, ' ', middlename, ' ', lastname) AS fullname
FROM invoices INV
RIGHT JOIN projects PRJ
ON PRJ.id = INV.project_id
JOIN offers OFF
ON PRJ.id = OFF.project_id
JOIN customers CUS
ON CUS.id = PRJ.customer_id
JOIN users USR
ON USR.id = PRJ.projectleader_id
LEFT JOIN (
SELECT invoice_id,
SUM(IF(YEAR(paymentdate) = {$year},paymentamount, 0)) AS currentyearpayed,
SUM(IF(YEAR(paymentdate) != {$year},paymentamount, 0)) AS otheryearpayed
FROM payments
GROUP BY invoice_id
) AS Q1
ON INV.id = Q1.invoice_id
GROUP BY PRJ.projectnumber, PRJ.projectname ";
return $sql;
}
}