fix for employeehours
This commit is contained in:
@@ -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>
|
||||
|
||||
+10
-1
@@ -415,4 +415,13 @@ th.rotate > div > span {
|
||||
.sub-page{
|
||||
margin-left:20px;
|
||||
}
|
||||
|
||||
.fake-input{
|
||||
postition:relative;
|
||||
top:6px;
|
||||
border: 1px solid #d2d2d2;
|
||||
padding:6px;
|
||||
border-radius:5px;
|
||||
background-color: #eee;
|
||||
width:100%;
|
||||
white-space:nowrap;
|
||||
}
|
||||
|
||||
@@ -75,7 +75,8 @@ dbo.employeehoursInit = function () {
|
||||
project_id : employeeHour ? employeeHour.projectID() : null,
|
||||
hours : 0,
|
||||
inEdit : true,
|
||||
dirty : true
|
||||
dirty : true,
|
||||
archive : 'F'
|
||||
};
|
||||
|
||||
vm.employeehours.push( new vm.Employeehour( employeehour ) );
|
||||
@@ -103,6 +104,7 @@ dbo.employeehoursInit = function () {
|
||||
},
|
||||
|
||||
saveEmployeehours: function ( self = false ) {
|
||||
console.log( 'inside' );
|
||||
self.dirty( true );
|
||||
if ( !self ) self = this;
|
||||
|
||||
@@ -234,7 +236,10 @@ dbo.employeehoursInit = function () {
|
||||
self.hours = ko.observable( data.hours );
|
||||
self.inEdit = ko.observable( data.inEdit || false );
|
||||
self.projectID = ko.observable( data.project_id );
|
||||
self.type = ko.observable( data.type );
|
||||
self.archive = ko.observable( data.archive );
|
||||
self.dirty = ko.observable( data.dirty || false );
|
||||
self.projectname = ko.observable( data.projectname );
|
||||
self.hourType = ko.pureComputed( function () {
|
||||
return dbo.helpers.findArrayElement( 'id', 'key', this.hourtype_id(), vm.hourtypes() );
|
||||
}, this );
|
||||
@@ -256,7 +261,7 @@ dbo.employeehoursInit = function () {
|
||||
ko.applyBindings( dbo.employeehoursModel, document.getElementById( 'EMPLOYEEHOURS' ) );
|
||||
|
||||
dbo.employeehoursModel.selectedEmployeeID.subscribe( function () {
|
||||
dbo.userDataService.getUserActiveProjects( dbo.currentUser.id, function ( data ) {
|
||||
dbo.userDataService.getUserActiveProjects( dbo.employeehoursModel.selectedEmployeeID(), function ( data ) {
|
||||
dbo.employeehoursModel.projects( data );
|
||||
} );
|
||||
} );
|
||||
|
||||
Reference in New Issue
Block a user