Unverified Commit 3c54d103 authored by rbonthala-nisum-com's avatar rbonthala-nisum-com Committed by GitHub

Revert "MT-122 :SNS :: My_Project_Allocations" (#128)

* Revert "bug fixes in manage employee and manage project (#127)"

This reverts commit c387c185.

* Revert "Ui changes as per services and bug fix (#126)"

This reverts commit 33d41f29.

* Revert "MT-122_1 :SNS :: My_Project_Allocations (#125)"

This reverts commit 6a8d2de6.

* Revert "MT-122 :SNS :: My_Project_Allocations (#124)"

This reverts commit 4859203e.
parent 07aac43a
package com.nisum.mytime.controller; package com.nisum.mytime.controller;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap; import java.util.Arrays;
import java.util.List; import java.util.List;
import java.util.stream.Collectors; import java.util.stream.Collectors;
...@@ -25,7 +25,6 @@ import com.nisum.mytime.model.ProjectTeamMate; ...@@ -25,7 +25,6 @@ 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")
...@@ -40,6 +39,8 @@ public class ProjectTeamController { ...@@ -40,6 +39,8 @@ public class ProjectTeamController {
@Autowired @Autowired
private EmployeeVisaRepo employeeVisaRepo; private EmployeeVisaRepo employeeVisaRepo;
@Autowired
private ProjectController projectController;
@RequestMapping(value = "/employee", method = RequestMethod.GET, @RequestMapping(value = "/employee", method = RequestMethod.GET,
produces = MediaType.APPLICATION_JSON_VALUE) produces = MediaType.APPLICATION_JSON_VALUE)
...@@ -214,8 +215,7 @@ public class ProjectTeamController { ...@@ -214,8 +215,7 @@ 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)
@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,13 +225,12 @@ public class ProjectTeamController { ...@@ -225,13 +225,12 @@ 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<HashMap<Object, Object>>> getMyProjectAllocations( public ResponseEntity<List<ProjectTeamMate>> 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);
List<HashMap<Object, Object>> empPrjtsInfo = projectService.projectsInfoByEmpId(employeeId); return new ResponseEntity<>(projectAllocations, HttpStatus.OK);
return new ResponseEntity<>(empPrjtsInfo, HttpStatus.OK);
} }
@RequestMapping(value = "/getEmployeeBillingDetails", @RequestMapping(value = "/getEmployeeBillingDetails",
......
...@@ -34,7 +34,5 @@ public interface ProjectTeamMatesRepo ...@@ -34,7 +34,5 @@ public interface ProjectTeamMatesRepo
List<ProjectTeamMate> findByAccountAndActiveAndBillableStatus( List<ProjectTeamMate> findByAccountAndActiveAndBillableStatus(
String account, boolean status, String billableStatus); String account, boolean status, String billableStatus);
List<ProjectTeamMate> findByEmployeeIdOrderByStartDateAsc(String employeeId);
} }
...@@ -86,7 +86,5 @@ public interface ProjectService { ...@@ -86,7 +86,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);
} }
package com.nisum.mytime.service; package com.nisum.mytime.service;
import java.time.LocalDate;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Arrays; import java.util.Arrays;
import java.util.Calendar; import java.util.Calendar;
...@@ -295,9 +296,15 @@ public class ProjectServiceImpl implements ProjectService { ...@@ -295,9 +296,15 @@ public class ProjectServiceImpl implements ProjectService {
billings.setBillableStatus(pT.getBillableStatus()); billings.setBillableStatus(pT.getBillableStatus());
billings.setAccount(pT.getAccount()); billings.setAccount(pT.getAccount());
billings.setActive(true); billings.setActive(true);
billings.setBillingStartDate(pT.getStartDate() == null // checking
/*billings.setBillingStartDate(pT.getStartDate() == null
? DateUtils.truncate(new Date(), Calendar.DATE) ? DateUtils.truncate(new Date(), Calendar.DATE)
: DateUtils.truncate(pT.getStartDate(), Calendar.DATE)); : DateUtils.truncate(pT.getStartDate(), Calendar.DATE));*/
billings.setBillingStartDate(pT.getNewBillingStartDate() == null
? DateUtils.truncate(new Date(), Calendar.DATE)
: DateUtils.truncate(pT.getNewBillingStartDate(), Calendar.DATE));
if (pT.getEndDate() != null) { if (pT.getEndDate() != null) {
billings.setBillingEndDate( billings.setBillingEndDate(
DateUtils.truncate(pT.getEndDate(), Calendar.DATE)); DateUtils.truncate(pT.getEndDate(), Calendar.DATE));
...@@ -341,18 +348,19 @@ public class ProjectServiceImpl implements ProjectService { ...@@ -341,18 +348,19 @@ public class ProjectServiceImpl implements ProjectService {
@Override @Override
public ProjectTeamMate updateTeammate(ProjectTeamMate projectTeamMate) { public ProjectTeamMate updateTeammate(ProjectTeamMate projectTeamMate) {
ProjectTeamMate existingTeammate1 = projectTeamMatesRepo.findById(projectTeamMate.getId()); //ProjectTeamMate existingTeammate1 = projectTeamMatesRepo.findById(projectTeamMate.getId());
ProjectTeamMate existingTeammate = projectTeamMatesRepo
.findByEmployeeIdAndProjectId(projectTeamMate.getEmployeeId(),
projectTeamMate.getProjectId());
List<BillingDetails> listBD = getEmployeeActiveBillingDetails(projectTeamMate.getEmployeeId(),
projectTeamMate.getProjectId());
// past or present endDate (Inactive the Resource) // past or present endDate (Inactive the Resource)
if (projectTeamMate.getEndDate().compareTo(new Date()) <= 0 &&projectTeamMate.getEndDate().compareTo(existingTeammate1.getEndDate())!=0) { if (projectTeamMate.getEndDate().compareTo(new Date()) <= 0 &&projectTeamMate.getEndDate().compareTo(existingTeammate.getEndDate())!=0) {
existingTeammate1.setActive(false); existingTeammate.setActive(false);
//existingTeammate1.setEndDate(new Date()); existingTeammate.setEndDate(projectTeamMate.getEndDate());
existingTeammate1.setEndDate(projectTeamMate.getEndDate());
BillingDetails billingDetails = new BillingDetails(); BillingDetails billingDetails = new BillingDetails();
billingDetails.setBillableStatus("Non-Billable"); billingDetails.setBillableStatus(MyTimeUtils.BENCH_BILLABILITY_STATUS);
List<BillingDetails> listBD = getEmployeeActiveBillingDetails(projectTeamMate.getEmployeeId(),
projectTeamMate.getProjectId());
if (listBD != null && !listBD.isEmpty()) { if (listBD != null && !listBD.isEmpty()) {
BillingDetails billingDetailsExisting = listBD.get(0); BillingDetails billingDetailsExisting = listBD.get(0);
/*Date d = new Date(); /*Date d = new Date();
...@@ -367,43 +375,43 @@ public class ProjectServiceImpl implements ProjectService { ...@@ -367,43 +375,43 @@ public class ProjectServiceImpl implements ProjectService {
//billingDetails.setBillingStartDate(new Date()); //billingDetails.setBillingStartDate(new Date());
Date sd=projectTeamMate.getEndDate(); Date sd=projectTeamMate.getEndDate();
sd.setDate(sd.getDate()+1); //sd.setDate(sd.getDate()+1);
billingDetails.setBillingStartDate(sd); billingDetails.setBillingStartDate(sd);
billingDetails.setAccount("Nisum India"); billingDetails.setAccount(MyTimeUtils.BENCH_ACCOUNT);
billingDetails.setActive(true); billingDetails.setActive(true);
billingDetails.setEmployeeId(existingTeammate1.getEmployeeId()); billingDetails.setEmployeeId(existingTeammate.getEmployeeId());
billingDetails.setEmployeeName(existingTeammate1.getEmployeeName()); billingDetails.setEmployeeName(existingTeammate.getEmployeeName());
billingDetails.setCreateDate(new Date()); billingDetails.setCreateDate(new Date());
billingDetails.setProjectId("Nisum0000"); billingDetails.setProjectId(MyTimeUtils.BENCH_PROJECT_ID);
billingDetails.setProjectName(MyTimeUtils.FREE_POLL); billingDetails.setProjectName(MyTimeUtils.FREE_POLL);
addEmployeeBillingDetails(billingDetails); addEmployeeBillingDetails(billingDetails);
projectTeamMatesRepo.save(existingTeammate1); projectTeamMatesRepo.save(existingTeammate);
ProjectTeamMate newBenchAllocation = new ProjectTeamMate(); ProjectTeamMate newBenchAllocation = new ProjectTeamMate();
newBenchAllocation.setAccount("Nisum India"); newBenchAllocation.setAccountId(projectTeamMate.getAccountId());
newBenchAllocation.setBillableStatus("Non-Billable"); newBenchAllocation.setBillableStatus(MyTimeUtils.BENCH_BILLABILITY_STATUS);
newBenchAllocation.setDesignation(existingTeammate1.getDesignation()); newBenchAllocation.setDesignation(existingTeammate.getDesignation());
newBenchAllocation.setEmailId(existingTeammate1.getEmailId()); newBenchAllocation.setEmailId(existingTeammate.getEmailId());
newBenchAllocation.setEmployeeId(existingTeammate1.getEmployeeId()); newBenchAllocation.setEmployeeId(existingTeammate.getEmployeeId());
newBenchAllocation.setActive(true); newBenchAllocation.setActive(true);
newBenchAllocation.setEmployeeName(existingTeammate1.getEmployeeName()); newBenchAllocation.setEmployeeName(existingTeammate.getEmployeeName());
newBenchAllocation.setProjectId("Nisum0000"); newBenchAllocation.setProjectId(MyTimeUtils.BENCH_PROJECT_ID);
//newBenchAllocation.setStartDate(new Date()); //newBenchAllocation.setStartDate(new Date());
newBenchAllocation.setStartDate(sd); newBenchAllocation.setStartDate(sd);
Project p = projectRepo.findByProjectId("Nisum0000"); Project p = projectRepo.findByProjectId(MyTimeUtils.BENCH_PROJECT_ID);
newBenchAllocation.setProjectName(p.getProjectName()); newBenchAllocation.setProjectName(p.getProjectName());
// newBenchAllocation.setManagerId(p.getManagerId()); // newBenchAllocation.setManagerId(p.getManagerId());
// newBenchAllocation.setManagerName(p.getManagerName()); // newBenchAllocation.setManagerName(p.getManagerName());
projectTeamMatesRepo.save(newBenchAllocation); projectTeamMatesRepo.save(newBenchAllocation);
updateShiftDetails(existingTeammate1); updateShiftDetails(existingTeammate);
return existingTeammate1; return existingTeammate;
}else }else
{ {
ProjectTeamMate existingTeammate = projectTeamMatesRepo /*ProjectTeamMate existingTeammate = projectTeamMatesRepo
.findByEmployeeIdAndProjectId(projectTeamMate.getEmployeeId(), .findByEmployeeIdAndProjectId(projectTeamMate.getEmployeeId(),
projectTeamMate.getProjectId()); projectTeamMate.getProjectId());*/
existingTeammate.setProjectId(projectTeamMate.getProjectId()); existingTeammate.setProjectId(projectTeamMate.getProjectId());
existingTeammate.setProjectName(projectTeamMate.getProjectName()); existingTeammate.setProjectName(projectTeamMate.getProjectName());
existingTeammate.setRole(projectTeamMate.getRole()); existingTeammate.setRole(projectTeamMate.getRole());
...@@ -414,23 +422,26 @@ public class ProjectServiceImpl implements ProjectService { ...@@ -414,23 +422,26 @@ public class ProjectServiceImpl implements ProjectService {
&& !existingTeammate.getBillableStatus() && !existingTeammate.getBillableStatus()
.equalsIgnoreCase( .equalsIgnoreCase(
projectTeamMate.getBillableStatus())) { projectTeamMate.getBillableStatus())) {
List<BillingDetails> listBD = getEmployeeActiveBillingDetails(
projectTeamMate.getEmployeeId(),
projectTeamMate.getProjectId());
if (listBD != null && !listBD.isEmpty()) { if (listBD != null && !listBD.isEmpty()) {
BillingDetails billingDetails = listBD.get(0); BillingDetails billingDetails = listBD.get(0);
/* /*
* Date d = new Date(); d.setDate(d.getDate() - 1); * Date d = new Date(); d.setDate(d.getDate() - 1);
*/ */
Date d = projectTeamMate.getNewBillingStartDate(); Date d = projectTeamMate.getNewBillingStartDate();
d.setDate(d.getDate() - 1); //d.setDate(d.getDate() - 1);
if(existingTeammate.getNewBillingStartDate().compareTo(projectTeamMate.getNewBillingStartDate())<=0)
Calendar cal = Calendar.getInstance();
cal.setTime(d);
cal.add(Calendar.DAY_OF_MONTH, -1);
Date onedayless = cal.getTime();
if(existingTeammate.getNewBillingStartDate().getDate()==projectTeamMate.getNewBillingStartDate().getDate())
billingDetails.setBillingEndDate( billingDetails.setBillingEndDate(
DateUtils.truncate(projectTeamMate.getNewBillingStartDate(), Calendar.DATE)); DateUtils.truncate(projectTeamMate.getNewBillingStartDate(), Calendar.DATE));
else else
billingDetails.setBillingEndDate( billingDetails.setBillingEndDate(
DateUtils.truncate(d, Calendar.DATE)); DateUtils.truncate(onedayless, Calendar.DATE));
billingDetails.setActive(false); billingDetails.setActive(false);
updateEmployeeBilling(billingDetails); updateEmployeeBilling(billingDetails);
} }
...@@ -444,9 +455,10 @@ public class ProjectServiceImpl implements ProjectService { ...@@ -444,9 +455,10 @@ public class ProjectServiceImpl implements ProjectService {
billings.setActive(true); billings.setActive(true);
// TODO // TODO
Date d = projectTeamMate.getNewBillingStartDate(); Date d = projectTeamMate.getNewBillingStartDate();
d.setDate(d.getDate() + 1); // d.setDate(d.getDate() + 1);
//billings.setBillingStartDate(DateUtils.truncate(d, Calendar.DATE)); //billings.setBillingStartDate(DateUtils.truncate(d, Calendar.DATE));
billings.setBillingStartDate(DateUtils.truncate(projectTeamMate.getStartDate(), Calendar.DATE)); //billings.setBillingStartDate(DateUtils.truncate(projectTeamMate.getStartDate(), Calendar.DATE)); // checking
billings.setBillingStartDate(DateUtils.truncate(d, Calendar.DATE));
existingTeammate.setNewBillingStartDate( existingTeammate.setNewBillingStartDate(
DateUtils.truncate(d, Calendar.DATE)); DateUtils.truncate(d, Calendar.DATE));
billings.setBillingEndDate(DateUtils billings.setBillingEndDate(DateUtils
...@@ -456,11 +468,8 @@ public class ProjectServiceImpl implements ProjectService { ...@@ -456,11 +468,8 @@ public class ProjectServiceImpl implements ProjectService {
// TODO // TODO
}else //without changing the Billability status }else //without changing the Billability status
{ {
List<BillingDetails> listBD1 = getEmployeeActiveBillingDetails( if (listBD != null && !listBD.isEmpty()) {
projectTeamMate.getEmployeeId(), BillingDetails billingDetails = listBD.get(0);
projectTeamMate.getProjectId());
if (listBD1 != null && !listBD1.isEmpty()) {
BillingDetails billingDetails = listBD1.get(0);
billingDetails.setBillingEndDate(projectTeamMate.getEndDate()); billingDetails.setBillingEndDate(projectTeamMate.getEndDate());
billingDetails.setBillingStartDate(projectTeamMate.getStartDate()); billingDetails.setBillingStartDate(projectTeamMate.getStartDate());
addEmployeeBillingDetails(billingDetails); addEmployeeBillingDetails(billingDetails);
...@@ -650,16 +659,31 @@ public class ProjectServiceImpl implements ProjectService { ...@@ -650,16 +659,31 @@ public class ProjectServiceImpl implements ProjectService {
public List<ProjectTeamMate> getProjectDetails(String projectId,String statusFlag) { public List<ProjectTeamMate> getProjectDetails(String projectId,String statusFlag) {
List<ProjectTeamMate> teamMatesList = new ArrayList<>(); List<ProjectTeamMate> teamMatesList = new ArrayList<>();
List<ProjectTeamMate> teamMates = projectTeamMatesRepo.findByProjectId(projectId); List<ProjectTeamMate> teamMates = projectTeamMatesRepo.findByProjectId(projectId);
for (ProjectTeamMate projectTeamMate : teamMates) { if(projectId.equals(MyTimeUtils.BENCH_PROJECT_ID))
if (projectTeamMate.getEndDate() != null) { {
// Active for (ProjectTeamMate projectTeamMate : teamMates) {
if (statusFlag.equals(MyTimeUtils.ACTIVE) && projectTeamMate.getEndDate().compareTo(new Date()) >= 0) if(statusFlag.equals(MyTimeUtils.ACTIVE) && projectTeamMate.getEndDate()==null)
teamMatesList.add(projectTeamMate); teamMatesList.add(projectTeamMate);
else if (statusFlag.equals(MyTimeUtils.IN_ACTIVE) else if(statusFlag.equals(MyTimeUtils.IN_ACTIVE) &&projectTeamMate.getEndDate()!=null)
&& projectTeamMate.getEndDate().compareTo(new Date()) < 0)
teamMatesList.add(projectTeamMate); teamMatesList.add(projectTeamMate);
else if (statusFlag.equals(MyTimeUtils.BOTH)) else if(statusFlag.equals(MyTimeUtils.BOTH))
teamMatesList.add(projectTeamMate); teamMatesList.add(projectTeamMate);
}
}
else
{
for (ProjectTeamMate projectTeamMate : teamMates) {
if (projectTeamMate.getEndDate() != null) {
// Active
if (statusFlag.equals(MyTimeUtils.ACTIVE) && projectTeamMate.getEndDate().compareTo(new Date()) >= 0)
teamMatesList.add(projectTeamMate);
else if (statusFlag.equals(MyTimeUtils.IN_ACTIVE)
&& projectTeamMate.getEndDate().compareTo(new Date()) < 0)
teamMatesList.add(projectTeamMate);
else if (statusFlag.equals(MyTimeUtils.BOTH))
teamMatesList.add(projectTeamMate);
}
} }
} }
return teamMatesList; return teamMatesList;
...@@ -977,7 +1001,7 @@ public class ProjectServiceImpl implements ProjectService { ...@@ -977,7 +1001,7 @@ public class ProjectServiceImpl implements ProjectService {
String toDate = null; String toDate = null;
List<ProjectTeamMate> teamMateList = projectTeamMatesRepo.findAll(); List<ProjectTeamMate> teamMateList = projectTeamMatesRepo.findAll();
for (ProjectTeamMate projectMate : teamMateList) { for (ProjectTeamMate projectMate : teamMateList) {
if (projectTeamMate.getEmployeeId().equals(projectMate.getEmployeeId()) && (projectMate.getEndDate().compareTo(new Date())>0) if (projectTeamMate.getEmployeeId().equals(projectMate.getEmployeeId()) && projectMate.getEndDate()!=null && (projectMate.getEndDate().compareTo(new Date())>0)
&& !projectMate.getProjectId().equals("Nisum0000")) { && !projectMate.getProjectId().equals("Nisum0000")) {
if (++count == 1) if (++count == 1)
{ {
...@@ -996,56 +1020,4 @@ public class ProjectServiceImpl implements ProjectService { ...@@ -996,56 +1020,4 @@ 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());
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,7 +107,5 @@ public class MyTimeUtils { ...@@ -107,7 +107,5 @@ 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