Commit e92604f4 authored by Md Suleman's avatar Md Suleman

Resource service updates

parent c33395f6
......@@ -144,9 +144,11 @@ public class ResourceService implements IResourceService {
if(!resource.getStatus().equalsIgnoreCase(MyTeamUtils.STATUS_RELEASED)){
if(validateResourceForProposedToEngage(resourceReq)){
this.updateExistedResource(resourceReq);
if(resource.getStatus().equals(MyTeamUtils.STATUS_PROPOSED) && resourceReq.getStatus().equals(MyTeamUtils.STATUS_ENGAGED)){
if(validateResourceForProposedToEngage(resourceReq)){
this.updateExistedResource(resourceReq);
// return;
}
}else {
if (isDatesAvailableForAllocation(resourceReq)) {
Resource prevAllocation = getFirstOfListOrNull(resourceRepo.findByEmployeeId(resourceReq.getEmployeeId()).stream().
......@@ -348,15 +350,15 @@ public class ResourceService implements IResourceService {
List<Resource> resourceList = resourceRepo.findByEmployeeId(resourceReq.getEmployeeId());
Resource lastAllocation = this.getLatestAllocation(resourceList.stream().filter(a -> a.getBillingEndDate().compareTo(resource.getBillingStartDate())<0 &&
!a.getProjectId().equalsIgnoreCase(MyTeamUtils.BENCH_PROJECT_ID)).collect(Collectors.toList()));
if(resource.getStatus().equals(MyTeamUtils.STATUS_PROPOSED) && resourceReq.getStatus().equals(MyTeamUtils.STATUS_ENGAGED)){
if(lastAllocation != null && !lastAllocation.getStatus().equals(MyTeamUtils.STATUS_RELEASED)){
message = "Resource is not released form last allocation";
}else{
message = "Resource updated successfully";
isValid = true;
}
if(lastAllocation != null && !lastAllocation.getStatus().equals(MyTeamUtils.STATUS_RELEASED)){
message = "Resource is not released form last allocation";
}else{
message = "Resource updated successfully";
isValid = true;
}
respMap.put("statusCode", 810);
respMap.put("message", message);
}
......@@ -1047,34 +1049,38 @@ public class ResourceService implements IResourceService {
}
public Resource sendResourceToOpenPool(Resource resource,String loginId) {
Resource resourcePers = null;
Resource proposedResource=resourceRepo.findOneByEmployeeIdAndStatus(resource.getEmployeeId(),MyTeamUtils.STATUS_PROPOSED);
Resource existingresource = resourceRepo.findById(resource.getId());
existingresource.setStatus(MyTeamUtils.STATUS_RELEASED);
this.updateExistedResource(existingresource);
// isResourceAvailableinBenchbygraterthanEndDate=
Resource benchResource = new Resource();
benchResource.setProjectId(MyTeamUtils.BENCH_PROJECT_ID);
benchResource.setEmployeeId(resource.getEmployeeId());
benchResource.setResourceRole(resource.getResourceRole());
benchResource.setBillingStartDate(MyTeamDateUtils.getDayMoreThanDate(resource.getBillingEndDate()));
if(proposedResource!=null) {
benchResource.setBillingEndDate(MyTeamDateUtils.getDayLessThanDate(proposedResource.getBillingStartDate()));
}
else {
benchResource.setBillingEndDate(projectService.getProjectByProjectId(MyTeamUtils.BENCH_PROJECT_ID).getProjectEndDate());
}
benchResource.setBillableStatus(MyTeamUtils.BENCH_BILLABILITY_STATUS);
benchResource.setStatus(MyTeamUtils.STATUS_RELEASED);
benchResource.setAuditFields(loginId, MyTeamUtils.CREATE);
Resource resourcePers = resourceRepo.save(benchResource);
respMap.put("statusCode", 801);
respMap.put("message", "Resource is moved to Bench Successfully");
Resource benchResource = new Resource();
benchResource.setProjectId(MyTeamUtils.BENCH_PROJECT_ID);
benchResource.setEmployeeId(resource.getEmployeeId());
benchResource.setResourceRole(resource.getResourceRole());
benchResource.setBillingStartDate(MyTeamDateUtils.getDayMoreThanDate(resource.getBillingEndDate()));
if (proposedResource != null) {
benchResource.setBillingEndDate(MyTeamDateUtils.getDayLessThanDate(proposedResource.getBillingStartDate()));
} else {
benchResource.setBillingEndDate(projectService.getProjectByProjectId(MyTeamUtils.BENCH_PROJECT_ID).getProjectEndDate());
}
benchResource.setBillableStatus(MyTeamUtils.BENCH_BILLABILITY_STATUS);
benchResource.setStatus(MyTeamUtils.STATUS_RELEASED);
benchResource.setAuditFields(loginId, MyTeamUtils.CREATE);
if(proposedResource.getBillingStartDate().compareTo(MyTeamDateUtils.getDayMoreThanDate(existingresource.getBillingEndDate()))!=0){
resourcePers = resourceRepo.save(benchResource);
respMap.put("message", "Resource is moved to Bench Successfully");
}else
respMap.put("message", "Resource Released successfully");
respMap.put("statusCode", 801);
return resourcePers;
}
......
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