86 lines
3.5 KiB
PHP
86 lines
3.5 KiB
PHP
<?php
|
|
/**
|
|
* Created by Pensare Software.
|
|
* User: Theo Weijmer
|
|
* Date: 15/03/2018
|
|
* Time: 10:47
|
|
*/
|
|
|
|
class EmployeehoursMonthly {
|
|
|
|
public static function fire($month, $year, $employeeID)
|
|
{
|
|
$month = $month + 1;
|
|
$sql = "
|
|
SELECT *
|
|
FROM (
|
|
SELECT CONCAT(firstname, ' ', middlename, ' ', lastname) AS fullname,
|
|
hourtype_id,
|
|
EMH.id,
|
|
EMH.uuid,
|
|
USR.id AS employee_id,
|
|
hours,
|
|
DATE_FORMAT(hourdate, '%d-%m-%Y') AS hourdate,
|
|
NULL AS project_id,
|
|
NULL AS projectname,
|
|
'F' AS archive,
|
|
'OVERHEAD' AS type
|
|
FROM employeehours EMH
|
|
JOIN users USR
|
|
ON USR.id = EMH.employee_id
|
|
WHERE MONTH(hourdate) = {$month}
|
|
AND YEAR(hourdate) = {$year} ";
|
|
if( $employeeID != 0 ) $sql.="AND USR.id = {$employeeID} ";
|
|
$sql.="
|
|
UNION
|
|
SELECT CONCAT(firstname, ' ', middlename, ' ', lastname) AS fullname,
|
|
(hourtype_id + 8) AS hourtype_id,
|
|
PRH.id,
|
|
PRH.uuid,
|
|
USR.id AS employee_id,
|
|
hours,
|
|
DATE_FORMAT(hourdate, '%d-%m-%Y') AS hourdate,
|
|
PEM.project_id,
|
|
CONCAT( projectnumber, '-',PRJ.projectname),
|
|
PRJ.archive,
|
|
'PROJECTS' AS type
|
|
FROM projecthours PRH
|
|
JOIN projectemployees PEM
|
|
ON PEM.id = PRH.projectemployee_id
|
|
JOIN projects PRJ
|
|
ON PRJ.id = PEM.project_id
|
|
JOIN users USR
|
|
ON USR.id = PEM.user_id
|
|
WHERE MONTH(hourdate) = {$month}
|
|
AND YEAR(hourdate) = {$year}
|
|
AND offer_id IS NULL ";
|
|
if( $employeeID != 0 ) $sql.="AND USR.id = {$employeeID} ";
|
|
$sql.="
|
|
UNION
|
|
SELECT CONCAT(firstname, ' ', middlename, ' ', lastname) AS fullname,
|
|
(hourtype_id + 8) AS hourtype_id,
|
|
PRH.id,
|
|
PRH.uuid,
|
|
USR.id AS employee_id,
|
|
hours,
|
|
DATE_FORMAT(hourdate, '%d-%m-%Y') AS hourdate,
|
|
offer_id,
|
|
CONCAT(OFF.offernumber, '-',OFF.offername),
|
|
OFF.archive,
|
|
'OFFERS' AS type
|
|
FROM projecthours PRH
|
|
JOIN offers OFF
|
|
ON OFF.id = PRH.offer_id
|
|
JOIN users USR
|
|
ON USR.id = PRH.projectemployee_id
|
|
WHERE MONTH(hourdate) = {$month}
|
|
AND YEAR(hourdate) = {$year}
|
|
AND offer_id IS NOT NULL ";
|
|
if( $employeeID != 0 ) $sql.="AND USR.id = {$employeeID} ";
|
|
$sql.=" ) Q1
|
|
ORDER BY fullname, hourdate ";
|
|
|
|
return $sql;
|
|
}
|
|
}
|