Commit b896a6bc authored by vikram singh's avatar vikram singh

dashboard service we are showing with latest billable status

parent 5e029af6
package com.nisum.myteam.model;
import java.io.Serializable;
import java.util.Date;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.ToString;
@Setter
@Getter
@AllArgsConstructor
@NoArgsConstructor
@ToString
public class BillableEmployee implements Serializable {
private static final long serialVersionUID = 1L;
private String employeeId;
private String employeeName;
private String emailId;
private String projectName;
private String billableStatus;
private Date billingStartDate;
private Date billingEndDate;
private String functionalGroup;
}
...@@ -5,6 +5,7 @@ import com.nisum.myteam.model.dao.Account; ...@@ -5,6 +5,7 @@ import com.nisum.myteam.model.dao.Account;
import com.nisum.myteam.model.dao.Domain; import com.nisum.myteam.model.dao.Domain;
import com.nisum.myteam.model.dao.Employee; import com.nisum.myteam.model.dao.Employee;
import com.nisum.myteam.model.dao.Project; import com.nisum.myteam.model.dao.Project;
import com.nisum.myteam.model.dao.Resource;
import com.nisum.myteam.model.vo.EmployeeDashboardVO; import com.nisum.myteam.model.vo.EmployeeDashboardVO;
import com.nisum.myteam.model.vo.ResourceVO; import com.nisum.myteam.model.vo.ResourceVO;
import com.nisum.myteam.service.IDashboardService; import com.nisum.myteam.service.IDashboardService;
...@@ -110,6 +111,39 @@ public class DashboardService implements IDashboardService { ...@@ -110,6 +111,39 @@ public class DashboardService implements IDashboardService {
return employeeDashboard; return employeeDashboard;
} }
// @Override
// public List<EmployeeDashboardVO> getDashBoardData() throws MyTeamException {
// List<EmployeeDashboardVO> employeeDashboard = new ArrayList<>();
// List<Employee> allEmployees = employeeService.getActiveEmployees();
// List<ResourceVO> resources = resourceService.getAllResourcesVO();
//
// for (Employee employee:allEmployees){
// EmployeeDashboardVO employeeDashboardVO = new EmployeeDashboardVO();
// BeanUtils.copyProperties(employee, employeeDashboardVO);
// employeeDashboard.add(employeeDashboardVO);
// }
//
// employeeDashboard.stream().forEach(emp -> {
// List<ResourceVO> latestResourceList = resources.stream().
// filter(res -> (res.getEmployeeId().equals(emp.getEmployeeId())&&res.getBillingEndDate().after(new Date()))).collect(Collectors.toList());
// if(!latestResourceList.isEmpty()){
// ResourceVO latestResource = latestResourceList.get(0);
// Project resourceProject = projectService.getProjectByProjectId(latestResource.getProjectId());
// if(!resourceProject.getStatus().equals("Completed")){
// emp.setProjectId(resourceProject.getProjectId());
// emp.setProjectName(resourceProject.getProjectName());
// emp.setBillingStartDate(latestResource.getBillingStartDate());
// emp.setBillingEndDate(latestResource.getBillingEndDate());
// Domain domain = domainService.getDomainById(resourceProject.getDomainId());
// Account account = accountService.getAccountById(resourceProject.getAccountId());
// emp.setAccountName(account.getAccountName());
// emp.setDomain(domain.getDomainName());
// }
// }
// });
// return employeeDashboard;
// }
@Override @Override
public List<EmployeeDashboardVO> getDashBoardData() throws MyTeamException { public List<EmployeeDashboardVO> getDashBoardData() throws MyTeamException {
List<EmployeeDashboardVO> employeeDashboard = new ArrayList<>(); List<EmployeeDashboardVO> employeeDashboard = new ArrayList<>();
...@@ -123,23 +157,22 @@ public class DashboardService implements IDashboardService { ...@@ -123,23 +157,22 @@ public class DashboardService implements IDashboardService {
} }
employeeDashboard.stream().forEach(emp -> { employeeDashboard.stream().forEach(emp -> {
List<ResourceVO> latestResourceList = resources.stream(). Resource resource=resourceService.getLatestResourceByEmpId(emp.getEmployeeId());
filter(res -> (res.getEmployeeId().equals(emp.getEmployeeId())&&res.getBillingEndDate().after(new Date()))).collect(Collectors.toList()); Project resourceProject = projectService.getProjectByProjectId(resource.getProjectId());
if(!latestResourceList.isEmpty()){
ResourceVO latestResource = latestResourceList.get(0);
Project resourceProject = projectService.getProjectByProjectId(latestResource.getProjectId());
if(!resourceProject.getStatus().equals("Completed")){ if(!resourceProject.getStatus().equals("Completed")){
emp.setProjectId(resourceProject.getProjectId()); emp.setProjectId(resourceProject.getProjectId());
emp.setProjectName(resourceProject.getProjectName()); emp.setProjectName(resourceProject.getProjectName());
emp.setBillingStartDate(latestResource.getBillingStartDate()); emp.setBillingStartDate(resource.getBillingStartDate());
emp.setBillingEndDate(latestResource.getBillingEndDate()); emp.setBillingEndDate(resource.getBillingEndDate());
Domain domain = domainService.getDomainById(resourceProject.getDomainId()); Domain domain = domainService.getDomainById(resourceProject.getDomainId());
Account account = accountService.getAccountById(resourceProject.getAccountId()); Account account = accountService.getAccountById(resourceProject.getAccountId());
emp.setAccountName(account.getAccountName()); emp.setAccountName(account.getAccountName());
emp.setDomain(domain.getDomainName()); emp.setDomain(domain.getDomainName());
} }
}
}); });
return employeeDashboard; return employeeDashboard;
} }
} }
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