Commit d07ece5c authored by Prayas Jain's avatar Prayas Jain

Added Effective login hours changes in UI

parent 1e50d0c9
......@@ -29,7 +29,7 @@ public class EffectiveLoginTimeScheduler {
List<Employee> allEmployees = employeeService.getActiveEmployees();
for(Employee employee:allEmployees){
EffectiveLoginData effectiveLoginData =
effectiveLoginTimeService.calculateEffectiveLoginTimeForEmpAndSave(employeex);
effectiveLoginTimeService.calculateEffectiveLoginTimeForEmpAndSave(employee);
}
}
}
......@@ -6,10 +6,11 @@ myApp.controller("employeeController", function($scope, $http, myFactory, $mdDia
$scope.avgLoginHrs = "";
// Date picker related code
var today = new Date();
var priorDt = new Date(today.getTime() - (30 * 24 * 60 * 60 * 1000));
$scope.maxDate = today;
var dateLessThanToday = new Date(today.getTime() - (1 * 24 * 60 * 60 * 1000));
var priorDt = new Date(dateLessThanToday.getTime() - (30 * 24 * 60 * 60 * 1000));
$scope.maxDate = dateLessThanToday;
$scope.fromDate = priorDt;
$scope.toDate = today;
$scope.toDate = dateLessThanToday;
$scope.gridOptions = {
paginationPageSizes : [ 10, 20, 30, 40, 50, 100],
......@@ -17,10 +18,10 @@ myApp.controller("employeeController", function($scope, $http, myFactory, $mdDia
pageNumber: 1,
pageSize:10,
columnDefs : [
{field : 'dateOfLogin',displayName: 'Date', enableColumnMenu: true, enableSorting: true},
{field : 'firstLogin',displayName: 'Login Time', enableColumnMenu: false, enableSorting: false},
{field : 'lastLogout',displayName: 'Logout Time', enableColumnMenu: false, enableSorting: false},
{field : 'totalLoginTime',displayName: 'Total Hours(HH:MM:SS)', enableColumnMenu: false, enableSorting: false}
{field : 'date',displayName: 'Date', enableColumnMenu: true, enableSorting: true, cellFilter:'date:"dd-MMM-yyyy"'},
{field : 'loginTime',displayName: 'Login Time', enableColumnMenu: false, enableSorting: false},
{field : 'logoutTime',displayName: 'Logout Time', enableColumnMenu: false, enableSorting: false},
{field : 'durationAtWorkPlace',displayName: 'Duration at Work Place', enableColumnMenu: false, enableSorting: false}
]
};
$scope.gridOptions.data = [];
......@@ -32,13 +33,15 @@ myApp.controller("employeeController", function($scope, $http, myFactory, $mdDia
var empId = $scope.empId;
$http({
method : "GET",
url : appConfig.appUri + "attendance/employeeLoginsBasedOnDate?empId=" + empId + "&fromDate=" + fromDate + "&toDate=" +toDate
url : appConfig.appUri + "effectiveLogin?employeeId=" + empId + "&fromDate="+ fromDate + "&toDate=" + toDate
}).then(function mySuccess(response) {
$scope.gridOptions.data = response.data.reverse();
if(response.data.length > 0){
$scope.avgLoginHrs = response.data[response.data.length-1].totalAvgTime + " Hrs";
console.log(response)
var loginDataList = response.data.data;
$scope.gridOptions.data = loginDataList;
if(loginDataList.length > 0){
$scope.avgLoginHrs = response.data.averageTime + " Hrs";
}
if(response.data.length > 10){
if(loginDataList.length > 10){
$scope.gridOptions.enablePaginationControls = true;
}
else{
......@@ -52,7 +55,7 @@ myApp.controller("employeeController", function($scope, $http, myFactory, $mdDia
$scope.refreshPage = function(){
$scope.fromDate = priorDt;
$scope.toDate = today;
$scope.toDate = dateLessThanToday;
$scope.getEmployeeData();
};
......@@ -71,7 +74,7 @@ myApp.controller("employeeController", function($scope, $http, myFactory, $mdDia
if(difference < 0 ){
showAlert('From Date should not be greater than To Date');
$scope.fromDate = priorDt;
$scope.toDate = today;
$scope.toDate = dateLessThanToday;
}else{
$scope.fromDate = dateValue;
$scope.toDate = toDat;
......@@ -82,7 +85,7 @@ myApp.controller("employeeController", function($scope, $http, myFactory, $mdDia
if(differene < 0 ){
showAlert('To Date should not be less than From Date');
$scope.fromDate = priorDt;
$scope.toDate = today;
$scope.toDate = dateLessThanToday;
}else{
$scope.fromDate = fromDat;
$scope.toDate = dateValue;
......
......@@ -4,18 +4,18 @@ myApp.controller("employeesController", function($scope, $http, myFactory, $mdDi
$scope.empName = myFactory.getEmpName();
$scope.empEmailId = myFactory.getEmpEmailId();
$scope.role = myFactory.getEmpRole();
$scope.avgLoginHrs = "";
//$scope.avgLoginHrs = "";
$scope.isVisible = false;
$scope.searchId="";
$scope.hidethis = false;
// Date picker related code
var today = new Date();
var priorDt = today;
var priorDt = new Date(today.getTime() - (1 * 24 * 60 * 60 * 1000));;
$scope.maxDate = today;
$scope.maxDate = priorDt;
$scope.fromDate = priorDt;
$scope.toDate = today;
$scope.toDate = priorDt;
$scope.gridOptions = {
paginationPageSizes : [ 10, 20, 30, 40, 50, 100],
......@@ -24,12 +24,12 @@ myApp.controller("employeesController", function($scope, $http, myFactory, $mdDi
pageSize:10,
enableFiltering:true,
columnDefs : [
{field : 'employeeId',displayName: 'Employee ID', enableColumnMenu: true, enableSorting: true, enableFiltering: true},
{field : 'employeeName',displayName: 'Employee Name', enableColumnMenu: false, enableSorting: false, enableFiltering: true},
{field : 'dateOfLogin',displayName: 'Date', enableColumnMenu: true, enableSorting: true,enableFiltering: false},
{field : 'firstLogin',displayName: 'Login Time', enableColumnMenu: false,enableSorting: false,enableFiltering: false},
{field : 'lastLogout',displayName: 'Logout Time', enableColumnMenu: false, enableSorting: false,enableFiltering: false},
{field : 'totalLoginTime',displayName: 'Total Hours(HH:MM:SS)', enableColumnMenu: false, enableSorting: false,enableFiltering: false}
{field : 'employeeId',displayName: 'Employee ID', enableColumnMenu: true, enableSorting: true, enableFiltering: true, width: 150},
{field : 'name',displayName: 'Employee Name', enableColumnMenu: false, enableSorting: false, enableFiltering: true},
{field : 'date',displayName: 'Date', enableColumnMenu: true, enableSorting: true,enableFiltering: false, cellFilter:'date:"dd-MMM-yyyy"'},
{field : 'loginTime',displayName: 'Login Time', enableColumnMenu: false,enableSorting: false,enableFiltering: false},
{field : 'logoutTime',displayName: 'Logout Time', enableColumnMenu: false, enableSorting: false,enableFiltering: false},
{field : 'durationAtWorkPlace',displayName: 'Duration at Work Place', enableColumnMenu: false, enableSorting: false,enableFiltering: false}
]
};
$scope.gridOptions.data = [];
......@@ -41,7 +41,7 @@ myApp.controller("employeesController", function($scope, $http, myFactory, $mdDi
$scope.refreshPage = function(){
$scope.searchId="";
$scope.fromDate = priorDt;
$scope.toDate = today;
$scope.toDate = priorDt;
$scope.gridOptions.data = [];
$scope.isVisible = false;
$scope.setPageDefaults();
......@@ -168,26 +168,26 @@ myApp.controller("employeesController", function($scope, $http, myFactory, $mdDi
function getData(empId, fromDate, toDate, type){
$http({
method : "GET",
url : appConfig.appUri + "attendance/employeeLoginsBasedOnDate?empId=" + empId + "&fromDate=" + fromDate + "&toDate=" +toDate
url : appConfig.appUri + "effectiveLogin?employeeId=" + empId + "&fromDate="+ fromDate + "&toDate=" + toDate
}).then(function mySuccess(response) {
var recs = response.data;
var recs = response.data.data;
if(recs.length == 0 && type == "onclick"){
showAlert('No data available');
setFieldsEmpty();
}else{
if(empId == 0){
$scope.isVisible = false;
$scope.gridOptions.data = response.data;
$scope.gridOptions.data = recs;
}else{
if(response.data.length >0 ){
if(recs.length >0 ){
$scope.isVisible = true;
$scope.avgLoginHrs = response.data[0].totalAvgTime +" Hrs";
//$scope.avgLoginHrs = response.data[0].totalAvgTime +" Hrs";
}
$scope.gridOptions.data = response.data;
$scope.gridOptions.data = recs;
}
}
if(response.data.length > 10){
if(recs.length > 10){
$scope.gridOptions.enablePaginationControls = true;
}
else{
......@@ -206,7 +206,7 @@ myApp.controller("employeesController", function($scope, $http, myFactory, $mdDi
if(difference < 0 ){
showAlert('From Date should not be greater than To Date');
$scope.fromDate = priorDt;
$scope.toDate = today;
$scope.toDate = priorDt;
}else{
$scope.fromDate = dateValue;
$scope.toDate = toDat;
......@@ -217,7 +217,7 @@ myApp.controller("employeesController", function($scope, $http, myFactory, $mdDi
if(differene < 0 ){
showAlert('To Date should not be less than From Date');
$scope.fromDate = priorDt;
$scope.toDate = today;
$scope.toDate = priorDt;
}else{
$scope.fromDate = fromDat;
$scope.toDate = dateValue;
......@@ -243,10 +243,10 @@ myApp.controller("employeesController", function($scope, $http, myFactory, $mdDi
function setFieldsEmpty(){
$scope.searchId="";
$scope.fromDate = priorDt;
$scope.toDate = today;
$scope.toDate = priorDt;
$scope.gridOptions.data = [];
$scope.isVisible = false;
$scope.avgLoginHrs = "";
//$scope.avgLoginHrs = "";
}
function treatAsUTC(date) {
......
......@@ -53,7 +53,7 @@
<div class="form-group">
<div class="form-inline col-lg-12 col-sm-12">
<label class="control-label" for="avgHrs">
Average Login hours:&nbsp;&nbsp; </label>{{avgLoginHrs}}
Average hours at Workplace:&nbsp;&nbsp; </label>{{avgLoginHrs}}
</div>
</div>
<div class="form-group">
......
......@@ -55,13 +55,13 @@
</div>
</div>
</div>
<div class="form-group">
<!-- <div class="form-group">
<div class="form-inline col-lg-12" ng-show="isVisible"
style="margin-left: 3%;">
<label class="control-label" for="avgHrs"> Average Login
hours:&nbsp;&nbsp; </label>{{avgLoginHrs}}
</div>
</div>
</div> -->
<div class="form-group">
<div class="form-inline col-lg-12">
<div id="gridTest" ui-grid="gridOptions" ui-grid-pagination
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment