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

Merge pull request #112 from nisum-inc/FEATURE/CheckingBillingstatusServiceANDAddEnddateValidation

CheckingBillingstatusServiceANDAddEnddateValidation
parents ede7fbd1 99c88358
...@@ -215,10 +215,10 @@ public class ProjectTeamController { ...@@ -215,10 +215,10 @@ 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("projectId") String projectId,@RequestParam("status") String status)
throws MyTimeException { throws MyTimeException {
List<ProjectTeamMate> employeesRoles = projectService List<ProjectTeamMate> employeesRoles = projectService
.getProjectDetails(projectId); .getProjectDetails(projectId,status);
return new ResponseEntity<>(employeesRoles, HttpStatus.OK); return new ResponseEntity<>(employeesRoles, HttpStatus.OK);
} }
...@@ -334,4 +334,16 @@ public class ProjectTeamController { ...@@ -334,4 +334,16 @@ public class ProjectTeamController {
} }
} }
@RequestMapping(value = "/addEmployeeToTeamWithCheck", method = RequestMethod.POST,
produces = MediaType.TEXT_PLAIN_VALUE,
consumes = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<String> addEmployeeToTeamWithCheck(
@RequestBody ProjectTeamMate teamMate) throws MyTimeException {
String response=null;
response=projectService.addProjectTeamMateWithCheck(teamMate);
return new ResponseEntity<>(response, HttpStatus.OK);
}
} }
\ No newline at end of file
...@@ -55,7 +55,7 @@ public interface ProjectService { ...@@ -55,7 +55,7 @@ public interface ProjectService {
List<ProjectTeamMate> getAllProjectDetails(); List<ProjectTeamMate> getAllProjectDetails();
List<ProjectTeamMate> getProjectDetails(String projectId); List<ProjectTeamMate> getProjectDetails(String projectId,String status);
public List<ProjectTeamMate> getMyProjectAllocations(String empId); public List<ProjectTeamMate> getMyProjectAllocations(String empId);
...@@ -83,5 +83,8 @@ public interface ProjectService { ...@@ -83,5 +83,8 @@ public interface ProjectService {
List<ProjectTeamMate> findByAccountAndActiveAndBillableStatus( List<ProjectTeamMate> findByAccountAndActiveAndBillableStatus(
String account, boolean status, String billableStatus); String account, boolean status, String billableStatus);
public String addProjectTeamMateWithCheck(ProjectTeamMate projectTeamMate)
throws MyTimeException;
} }
...@@ -111,7 +111,6 @@ public class ProjectServiceImpl implements ProjectService { ...@@ -111,7 +111,6 @@ public class ProjectServiceImpl implements ProjectService {
List<HashMap<String, String>> managerList = null; List<HashMap<String, String>> managerList = null;
List<Project> projects = projectRepo.findAll(); List<Project> projects = projectRepo.findAll();
for (Project p : projects) { for (Project p : projects) {
System.out.println("==========================="+p);
HashMap<Object, Object> projectMap = new HashMap<>(); HashMap<Object, Object> projectMap = new HashMap<>();
projectMap.put("id", p.getId()); projectMap.put("id", p.getId());
projectMap.put("projectId", p.getProjectId()); projectMap.put("projectId", p.getProjectId());
...@@ -401,6 +400,51 @@ public class ProjectServiceImpl implements ProjectService { ...@@ -401,6 +400,51 @@ public class ProjectServiceImpl implements ProjectService {
.findByEmployeeId(teamMate.getEmployeeId()); .findByEmployeeId(teamMate.getEmployeeId());
employeeDB.setShift(teamMate.getShift()); employeeDB.setShift(teamMate.getShift());
employeeRolesRepo.save(employeeDB); employeeRolesRepo.save(employeeDB);
if (projectTeamMate.getEndDate().compareTo(new Date()) < 0) {
ProjectTeamMate existingTeammate1 = projectTeamMatesRepo.findById(projectTeamMate.getId());
existingTeammate1.setActive(false);
existingTeammate1.setEndDate(new Date());
BillingDetails billingDetails = new BillingDetails();
billingDetails.setBillableStatus("Non-Billable");
billingDetails.setBillingStartDate(new Date());
billingDetails.setAccount("Nisum");
billingDetails.setActive(true);
billingDetails.setEmployeeId(existingTeammate1.getEmployeeId());
billingDetails.setEmployeeName(existingTeammate1.getEmployeeName());
billingDetails.setCreateDate(new Date());
billingDetails.setProjectId("Nisum0000");
billingDetails.setProjectName(MyTimeUtils.FREE_POLL);
addEmployeeBillingDetails(billingDetails);
List<BillingDetails> listBD = getEmployeeActiveBillingDetails(projectTeamMate.getEmployeeId(),
projectTeamMate.getProjectId());
if (listBD != null && !listBD.isEmpty()) {
BillingDetails billingDetailsExisting = listBD.get(0);
Date d = new Date();
d.setDate(d.getDate() - 1);
billingDetailsExisting.setBillingEndDate(d);
billingDetailsExisting.setActive(false);
updateEmployeeBilling(billingDetailsExisting);
}
projectTeamMatesRepo.save(existingTeammate1);
ProjectTeamMate newBenchAllocation = new ProjectTeamMate();
newBenchAllocation.setAccount("Nisum");
newBenchAllocation.setBillableStatus("Non-Billable");
newBenchAllocation.setDesignation(existingTeammate1.getDesignation());
newBenchAllocation.setEmailId(existingTeammate1.getEmailId());
newBenchAllocation.setEmployeeId(existingTeammate1.getEmployeeId());
newBenchAllocation.setActive(true);
newBenchAllocation.setEmployeeName(existingTeammate1.getEmployeeName());
newBenchAllocation.setProjectId("Nisum0000");
newBenchAllocation.setStartDate(new Date());
Project p = projectRepo.findByProjectId("Nisum0000");
newBenchAllocation.setProjectName(p.getProjectName());
// newBenchAllocation.setManagerId(p.getManagerId());
// newBenchAllocation.setManagerName(p.getManagerName());
projectTeamMatesRepo.save(newBenchAllocation);
updateShiftDetails(existingTeammate1);
}
return teamMate; return teamMate;
} }
...@@ -444,7 +488,7 @@ public class ProjectServiceImpl implements ProjectService { ...@@ -444,7 +488,7 @@ public class ProjectServiceImpl implements ProjectService {
billingDetails.setEmployeeName(existingTeammate.getEmployeeName()); billingDetails.setEmployeeName(existingTeammate.getEmployeeName());
billingDetails.setCreateDate(new Date()); billingDetails.setCreateDate(new Date());
billingDetails.setProjectId("Nisum0000"); billingDetails.setProjectId("Nisum0000");
billingDetails.setProjectName("Free Pool"); billingDetails.setProjectName(MyTimeUtils.FREE_POLL);
addEmployeeBillingDetails(billingDetails); addEmployeeBillingDetails(billingDetails);
List<BillingDetails> listBD = getEmployeeActiveBillingDetails(empId, List<BillingDetails> listBD = getEmployeeActiveBillingDetails(empId,
projectId); projectId);
...@@ -568,30 +612,22 @@ public class ProjectServiceImpl implements ProjectService { ...@@ -568,30 +612,22 @@ public class ProjectServiceImpl implements ProjectService {
} }
@Override @Override
public List<ProjectTeamMate> getProjectDetails(String projectId) { public List<ProjectTeamMate> getProjectDetails(String projectId,String statusFlag) {
// return projectTeamMatesRepo.findByProjectId(projectId); List<ProjectTeamMate> teamMatesList = new ArrayList<>();
// MT-79: adding the existing managerIds in List and sending them as List<ProjectTeamMate> teamMates = projectTeamMatesRepo.findByProjectId(projectId);
// response for (ProjectTeamMate projectTeamMate : teamMates) {
List<ProjectTeamMate> teamMatesList=new ArrayList<>(); if (projectTeamMate.getEndDate() != null) {
List<ProjectTeamMate> teamMates = projectTeamMatesRepo // Active
.findByProjectId(projectId); if (statusFlag.equals(MyTimeUtils.ACTIVE) && projectTeamMate.getEndDate().compareTo(new Date()) >= 0)
System.out.println("=================from details id"+teamMates); teamMatesList.add(projectTeamMate);
/* else if (statusFlag.equals(MyTimeUtils.IN_ACTIVE)
* for(ProjectTeamMate pt:teamMates) { if(pt.getManagerIds()== null && && projectTeamMate.getEndDate().compareTo(new Date()) < 0)
* pt.getManagerId()!= null) teamMatesList.add(projectTeamMate);
* pt.setManagerIds(Arrays.asList(pt.getManagerId())); } else if (statusFlag.equals(MyTimeUtils.BOTH))
*/ teamMatesList.add(projectTeamMate);
/* for(ProjectTeamMate projectTeamMate:teamMates) }
{ }
//Active return teamMatesList;
if(statusFlag.equals("1") && projectTeamMate.getEndDate().compareTo(new Date())>=0)
teamMatesList.add(projectTeamMate);
else if(statusFlag.equals("2")&& projectTeamMate.getEndDate().compareTo(new Date())<0)
teamMatesList.add(projectTeamMate);
else if(statusFlag.equals("3"))
teamMatesList.add(projectTeamMate);
}*/
return teamMates;
} }
...@@ -897,4 +933,32 @@ public class ProjectServiceImpl implements ProjectService { ...@@ -897,4 +933,32 @@ public class ProjectServiceImpl implements ProjectService {
} }
return EmployeeList; return EmployeeList;
} }
@Override
public String addProjectTeamMateWithCheck(ProjectTeamMate projectTeamMate) throws MyTimeException {
int count = 0;
String projectName = null;
String fromDate = null;
String toDate = null;
List<ProjectTeamMate> teamMateList = projectTeamMatesRepo.findAll();
for (ProjectTeamMate projectMate : teamMateList) {
if (projectTeamMate.getEmployeeId().equals(projectMate.getEmployeeId()) && projectMate.isActive()
&& !projectMate.getProjectId().equals("Nisum0000")) {
if (++count == 1)
{
projectName = projectMate.getProjectName();
fromDate = projectMate.getStartDate().toString();
toDate = projectMate.getEndDate().toString();
}
break;
}
}
if (count > 0)
return "Resource " + projectTeamMate.getEmployeeId() + " already Assigned to the " + projectName
+ " Project" + " from " + fromDate + "to " + toDate;
else
addProjectTeamMate(projectTeamMate);
return "TeamMate added successfuly";
}
} }
...@@ -62,7 +62,7 @@ public class MyTimeUtils { ...@@ -62,7 +62,7 @@ public class MyTimeUtils {
public final static String SET = "$set"; public final static String SET = "$set";
public final static int MINUS_ONE = -1; public final static int MINUS_ONE = -1;
public final static String FREE_POLL="Free Pool"; public final static String FREE_POLL="Bench";
public final static String START_DATE="startDate"; public final static String START_DATE="startDate";
//Domain Constants //Domain Constants
...@@ -102,5 +102,7 @@ public class MyTimeUtils { ...@@ -102,5 +102,7 @@ public class MyTimeUtils {
public static final String DOMAIN = "Delivery Lead"; public static final String DOMAIN = "Delivery Lead";
public static final String LEAD="Lead"; public static final String LEAD="Lead";
public static final String IS_ACTIVE = "isActive"; public static final String IS_ACTIVE = "isActive";
public final static String BOTH="Both";
} }
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