Unverified Commit dd147301 authored by mshaik-nisum-com's avatar mshaik-nisum-com Committed by GitHub

Merge pull request #133 from nisum-inc/FEATURE/MT-122_2_My_Project_Allocations

MT-122_2 :SNS :: My_Project_Allocations
parents 4d14eb7e 3dd7c83b
package com.nisum.mytime.controller; package com.nisum.mytime.controller;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Arrays; import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.stream.Collectors; import java.util.stream.Collectors;
...@@ -25,6 +25,7 @@ import com.nisum.mytime.model.ProjectTeamMate; ...@@ -25,6 +25,7 @@ import com.nisum.mytime.model.ProjectTeamMate;
import com.nisum.mytime.repository.EmployeeVisaRepo; import com.nisum.mytime.repository.EmployeeVisaRepo;
import com.nisum.mytime.service.ProjectService; import com.nisum.mytime.service.ProjectService;
import com.nisum.mytime.service.UserService; import com.nisum.mytime.service.UserService;
import com.nisum.mytime.utils.MyTimeUtils;
@RestController @RestController
@RequestMapping("/projectTeam") @RequestMapping("/projectTeam")
...@@ -215,7 +216,8 @@ public class ProjectTeamController { ...@@ -215,7 +216,8 @@ public class ProjectTeamController {
@RequestMapping(value = "/getProjectDetails", method = RequestMethod.GET, @RequestMapping(value = "/getProjectDetails", method = RequestMethod.GET,
produces = MediaType.APPLICATION_JSON_VALUE) produces = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<List<ProjectTeamMate>> getProjectDetails( public ResponseEntity<List<ProjectTeamMate>> getProjectDetails(
@RequestParam("projectId") String projectId,@RequestParam("status") String status) @RequestParam("projectId") String projectId,
@RequestParam(value = "status", required = false, defaultValue = MyTimeUtils.ACTIVE) String status)
throws MyTimeException { throws MyTimeException {
List<ProjectTeamMate> employeesRoles = projectService List<ProjectTeamMate> employeesRoles = projectService
.getProjectDetails(projectId,status); .getProjectDetails(projectId,status);
...@@ -225,12 +227,13 @@ public class ProjectTeamController { ...@@ -225,12 +227,13 @@ public class ProjectTeamController {
@RequestMapping(value = "/getMyProjectAllocations", @RequestMapping(value = "/getMyProjectAllocations",
method = RequestMethod.GET, method = RequestMethod.GET,
produces = MediaType.APPLICATION_JSON_VALUE) produces = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<List<ProjectTeamMate>> getMyProjectAllocations( public ResponseEntity<List<HashMap<Object, Object>>> getMyProjectAllocations(
@RequestParam("employeeId") String employeeId) @RequestParam("employeeId") String employeeId)
throws MyTimeException { throws MyTimeException {
List<ProjectTeamMate> projectAllocations = projectService // List<ProjectTeamMate> projectAllocations = projectService
.getMyProjectAllocations(employeeId); // .getMyProjectAllocations(employeeId);
return new ResponseEntity<>(projectAllocations, HttpStatus.OK); List<HashMap<Object, Object>> empPrjtsInfo = projectService.projectsInfoByEmpId(employeeId);
return new ResponseEntity<>(empPrjtsInfo, HttpStatus.OK);
} }
@RequestMapping(value = "/getEmployeeBillingDetails", @RequestMapping(value = "/getEmployeeBillingDetails",
......
...@@ -87,4 +87,5 @@ public interface ProjectService { ...@@ -87,4 +87,5 @@ public interface ProjectService {
public String addProjectTeamMateWithCheck(ProjectTeamMate projectTeamMate) public String addProjectTeamMateWithCheck(ProjectTeamMate projectTeamMate)
throws MyTimeException; throws MyTimeException;
public List<HashMap<Object, Object>> projectsInfoByEmpId(String empId);
} }
...@@ -1024,4 +1024,58 @@ public class ProjectServiceImpl implements ProjectService { ...@@ -1024,4 +1024,58 @@ public class ProjectServiceImpl implements ProjectService {
return "TeamMate added successfuly"; return "TeamMate added successfuly";
} }
@Override
public List<HashMap<Object, Object>> projectsInfoByEmpId(String empId){
HashMap<Object, Object> projectMap =null;
List<HashMap<Object, Object>> projectList = new ArrayList<>();
Project project= null;
Account account = null;
Domains domain = null;
List<ProjectTeamMate> projectAllocations = getMyProjectAllocations(empId);
if( null != projectAllocations && !projectAllocations.isEmpty() && MyTimeUtils.INT_ZERO < projectAllocations.size()) {
for (ProjectTeamMate ptm : projectAllocations) {
projectMap = new HashMap<>();
project = projectRepo.findByProjectId(ptm.getProjectId());
account = accountRepo.findByAccountId(ptm.getAccountId());
domain = domainRepo.findByDomainId(ptm.getDomainId());
projectMap.put("id", project.getId());
projectMap.put("projectId", project.getProjectId());
projectMap.put("projectName", project.getProjectName());
if (domain != null)
projectMap.put("domain", domain.getDomainName());
if (account != null)
projectMap.put("account", account.getAccountName());
projectMap.put("accountId", account!=null?account.getAccountId():ptm.getAccountId());
projectMap.put("domainId", domain!=null? domain.getDomainId() : ptm.getDomainId() );
projectMap.put("status", project.getStatus()!=null?project.getStatus():"");
projectMap.put("employeeIds", ptm.getEmployeeId());
projectMap.put("projectStartDate", project.getProjectStartDate());
projectMap.put("projectEndDate", project.getProjectEndDate());
projectMap.put("shift", ptm.getShift());
projectMap.put("billableStatus", ptm.getBillableStatus());
if (project.getDeliveryLeadIds() != null) {
projectMap.put("deliveryLeadIds", getEmployeeData(project.getDeliveryLeadIds()));
}
if (project.getManagerIds() != null) {
projectMap.put("managerIds", getEmployeeData(project.getManagerIds()));
}
projectList.add(projectMap);
}
}
return projectList;
}
} }
...@@ -107,5 +107,7 @@ public class MyTimeUtils { ...@@ -107,5 +107,7 @@ public class MyTimeUtils {
public final static String BENCH_ACCOUNT="Nisum India"; public final static String BENCH_ACCOUNT="Nisum India";
public final static String BENCH_PROJECT_ID="Nisum0000"; public final static String BENCH_PROJECT_ID="Nisum0000";
public final static String BENCH_BILLABILITY_STATUS="Non-Billable"; public final static String BENCH_BILLABILITY_STATUS="Non-Billable";
public final static int INT_ZERO = 0;
} }
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