diff --git a/application/models/eloquent/User.php b/application/models/eloquent/User.php index b2edf96..8ecef5e 100644 --- a/application/models/eloquent/User.php +++ b/application/models/eloquent/User.php @@ -71,6 +71,7 @@ class User extends BaseModel { ->join( 'projects AS PRJ', 'PRJ.id', '=', 'PRE.project_id' ) ->where( 'PRJ.archive', '=', 'F' ) ->where( 'users.id', '=', $userID ) + ->orderBy('projectnumber') ->get(); return $usersActiveProjects; diff --git a/application/models/eloquent/queries/EmployeehoursMonthly.php b/application/models/eloquent/queries/EmployeehoursMonthly.php index e1933ff..c97927b 100644 --- a/application/models/eloquent/queries/EmployeehoursMonthly.php +++ b/application/models/eloquent/queries/EmployeehoursMonthly.php @@ -20,12 +20,15 @@ class EmployeehoursMonthly { USR.id AS employee_id, hours, DATE_FORMAT(hourdate, '%d-%m-%Y') AS hourdate, - NULL AS project_id + 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} "; + AND YEAR(hourdate) = {$year} "; if( $employeeID != 0 ) $sql.="AND USR.id = {$employeeID} "; $sql.=" UNION @@ -35,22 +38,45 @@ class EmployeehoursMonthly { USR.id AS employee_id, hours, DATE_FORMAT(hourdate, '%d-%m-%Y') AS hourdate, - CASE - WHEN hourtype_id = 3 THEN offer_id - ELSE PEM.project_id - END AS project_id + 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 + ON USR.id = PEM.user_id WHERE MONTH(hourdate) = {$month} - AND YEAR(hourdate) = {$year} "; + AND YEAR(hourdate) = {$year} + AND offer_id IS NULL "; if( $employeeID != 0 ) $sql.="AND USR.id = {$employeeID} "; - $sql.=" - ) Q1 + $sql.=" + UNION + SELECT CONCAT(firstname, ' ', middlename, ' ', lastname) AS fullname, + (hourtype_id + 8) AS hourtype_id, + PRH.id, + 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) = 1 + AND YEAR(hourdate) = 2019 + AND offer_id IS NOT NULL "; + if( $employeeID != 0 ) $sql.="AND USR.id = {$employeeID} "; + $sql.=" ) Q1 ORDER BY fullname, hourdate "; return $sql; } -} \ No newline at end of file +} diff --git a/application/views/pages/employeehours_view.php b/application/views/pages/employeehours_view.php index e0ddee6..5cb7230 100644 --- a/application/views/pages/employeehours_view.php +++ b/application/views/pages/employeehours_view.php @@ -40,8 +40,9 @@