fix for employeehours

This commit is contained in:
2019-09-13 16:22:05 +02:00
parent b49fb957a3
commit a3291f26e3
5 changed files with 64 additions and 18 deletions
+1
View File
@@ -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;
@@ -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;
}
}
}
@@ -40,8 +40,9 @@
<td data-bind="css:{'red-line': dirty}">
<input class="form-control form-control-sm"
data-bind="datepicker:{dateFormat: 'dd-mm-yy' },
enable:archive() == 'F',
value:hourdate,
event:{change:$root.saveEmployeehour}"
event:{change:$root.saveEmployeehours}"
</td>
<td data-bind="css:{'red-line': dirty}">
<select class="form-control form-control-sm"
@@ -49,11 +50,15 @@
optionsText:'description',
optionsValue:'id',
value:hourtype_id,
enable:archive() == 'F',
optionsCaption:'selecteer...',
event:{change:$root.saveEmployeehours}"></select>
</td>
<td data-bind="css:{'red-line': dirty}">
<!-- ko if: hourType() == 'PROJECTS' -->
<!-- ko if: archive() == 'T' -->
<div data-bind="text:projectname" class="fake-input"></div>
<!-- /ko -->
<!-- ko if: hourType() == 'PROJECTS' && archive() == 'F' -->
<select class="form-control form-control-sm"
data-bind="options:$root.projects,
optionsText:'projectFull',
@@ -62,7 +67,7 @@
optionsCaption:'selecteer...',
event:{change:$root.saveEmployeehours}"></select>
<!-- /ko -->
<!-- ko if: hourType() == 'OFFERS' -->
<!-- ko if: hourType() == 'OFFERS' && archive() == 'F' -->
<select class="form-control form-control-sm"
data-bind="options:$root.offersWithoutProject,
optionsText:'offername',
@@ -77,7 +82,7 @@
class="form-control form-control-sm align-right"
paceholder="uren"
data-bind="textInput:hours,
enable:canFillInHours,
enable:canFillInHours && archive() == 'F',
event:{keyup:$root.saveDelayedEmployeehours,
change: $root.saveDelayedEmployeehours}"/>
</td>