Commit 97c144c6 authored by Vijay Akula's avatar Vijay Akula

Provided request response format for resource controller

parent 135af26f
package com.nisum.myteam.controller; package com.nisum.myteam.controller;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.stream.Collectors;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import com.nisum.myteam.exception.handler.MyTeamException; import com.nisum.myteam.exception.handler.MyTeamException;
import com.nisum.myteam.exception.handler.ResponseDetails;
import com.nisum.myteam.model.Employee; import com.nisum.myteam.model.Employee;
import com.nisum.myteam.model.EmployeeDashboardVO; import com.nisum.myteam.model.EmployeeDashboardVO;
import com.nisum.myteam.model.EmployeeVisa; import com.nisum.myteam.model.EmployeeVisa;
...@@ -25,6 +11,18 @@ import com.nisum.myteam.service.IEmployeeService; ...@@ -25,6 +11,18 @@ import com.nisum.myteam.service.IEmployeeService;
import com.nisum.myteam.service.IProjectService; import com.nisum.myteam.service.IProjectService;
import com.nisum.myteam.service.IResourceService; import com.nisum.myteam.service.IResourceService;
import com.nisum.myteam.utils.MyTeamUtils; import com.nisum.myteam.utils.MyTeamUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.stream.Collectors;
@RestController @RestController
@RequestMapping @RequestMapping
...@@ -43,32 +41,58 @@ public class ResourceController { ...@@ -43,32 +41,58 @@ public class ResourceController {
private IResourceService resourceService; private IResourceService resourceService;
// @RequestMapping(value = "/addEmployeeToTeam" // @RequestMapping(value = "/addEmployeeToTeam"
@RequestMapping(value = "/resources", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE, consumes = MediaType.APPLICATION_JSON_VALUE) @RequestMapping(value = "/resources", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE, consumes = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<Resource> addResourceToTeam(@RequestBody Resource resource, public ResponseEntity<?> addResourceToTeam(@RequestBody Resource resourceReq,
@RequestParam(value = "loginEmpId", required = false) String loginEmpId) throws MyTeamException { @RequestParam(value = "loginEmpId", required = true) String loginEmpId, HttpServletRequest request) throws MyTeamException {
resource.setActive(true); if (StringUtils.isNotBlank(loginEmpId)) {
resource.setAuditFields(loginEmpId, MyTeamUtils.CREATE); resourceReq.setActive(true);
Resource resourcePersisted = resourceService.addResource(resource, loginEmpId); resourceReq.setAuditFields(loginEmpId, MyTeamUtils.CREATE);
return new ResponseEntity<>(resourcePersisted, HttpStatus.OK); Resource resourcePersisted = resourceService.addResource(resourceReq, loginEmpId);
ResponseDetails createResponseDetails = new ResponseDetails(new Date(), 601, "Resource has been created",
"Resource description", null, request.getContextPath(), "details", resourcePersisted);
return new ResponseEntity<ResponseDetails>(createResponseDetails, HttpStatus.OK);
}
ResponseDetails responseDetails = new ResponseDetails(new Date(), 602, "Please provide the valid Employee Id",
"Employee Id is not valid", null, request.getRequestURI(), "Resource details", resourceReq);
return new ResponseEntity<ResponseDetails>(responseDetails, HttpStatus.OK);
} }
// @RequestMapping(value = "/updateTeammate" // @RequestMapping(value = "/updateTeammate"
@RequestMapping(value = "/resources", method = RequestMethod.PUT, produces = MediaType.APPLICATION_JSON_VALUE, consumes = MediaType.APPLICATION_JSON_VALUE) @RequestMapping(value = "/resources", method = RequestMethod.PUT, produces = MediaType.APPLICATION_JSON_VALUE, consumes = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<String> updateResource(@RequestBody Resource resource, public ResponseEntity<?> updateResource(@RequestBody Resource resourceReq,
@RequestParam(value = "loginEmpId") String loginEmpId) throws MyTeamException { @RequestParam(value = "loginEmpId") String loginEmpId, HttpServletRequest request) throws MyTeamException {
resource.setAuditFields(loginEmpId, MyTeamUtils.UPDATE);
String response = resourceService.updateResource(resource, loginEmpId); if (StringUtils.isNotBlank(loginEmpId)) {
return new ResponseEntity<>(response, HttpStatus.OK); resourceReq.setAuditFields(loginEmpId, MyTeamUtils.UPDATE);
String responseMessage = resourceService.updateResource(resourceReq, loginEmpId);
ResponseDetails createResponseDetails = new ResponseDetails(new Date(), 601, responseMessage,
"Resource description", null, request.getContextPath(), "Resource details", resourceReq);
return new ResponseEntity<ResponseDetails>(createResponseDetails, HttpStatus.OK);
}
ResponseDetails responseDetails = new ResponseDetails(new Date(), 602, "Please provide the valid Employee Id",
"Employee Id is not valid", null, request.getRequestURI(), "Resource details", resourceReq);
return new ResponseEntity<ResponseDetails>(responseDetails, HttpStatus.OK);
} }
// @RequestMapping(value = "/deleteTeammate" // @RequestMapping(value = "/deleteTeammate"
@RequestMapping(value = "/resources", method = RequestMethod.DELETE, produces = MediaType.APPLICATION_JSON_VALUE, consumes = MediaType.APPLICATION_JSON_VALUE) @RequestMapping(value = "/resources", method = RequestMethod.DELETE, produces = MediaType.APPLICATION_JSON_VALUE, consumes = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<String> deleteResource(@RequestBody Resource resource, public ResponseEntity<?> deleteResource(@RequestBody Resource resourceReq,
@RequestParam(value = "loginEmpId") String loginEmpId) throws MyTeamException { @RequestParam(value = "loginEmpId", required = true) String loginEmpId, HttpServletRequest request) throws MyTeamException {
resourceService.deleteResource(resource.getEmployeeId(), resource.getProjectId(), resource.getId(), loginEmpId); if (StringUtils.isNotBlank(loginEmpId)) {
return new ResponseEntity<>("Success", HttpStatus.OK); Resource resourceDeleted = resourceService.deleteResource(resourceReq.getEmployeeId(), resourceReq.getProjectId(), resourceReq.getId(), loginEmpId);
ResponseDetails createResponseDetails = new ResponseDetails(new Date(), 601, "Resource has been deleted",
"Resource description", null, request.getContextPath(), "Resource details", resourceDeleted);
return new ResponseEntity<ResponseDetails>(createResponseDetails, HttpStatus.OK);
}
ResponseDetails responseDetails = new ResponseDetails(new Date(), 602, "Please provide the valid Employee Id",
"Employee Id is not valid", null, request.getRequestURI(), "Resource details", resourceReq);
return new ResponseEntity<ResponseDetails>(responseDetails, HttpStatus.OK);
} }
// @RequestMapping(value = "/getEmployeeProjectInfo" // @RequestMapping(value = "/getEmployeeProjectInfo"
......
...@@ -17,7 +17,7 @@ public interface IResourceService { ...@@ -17,7 +17,7 @@ public interface IResourceService {
String updateResource(Resource projectTeamMate, String loginEmpId) throws MyTeamException; String updateResource(Resource projectTeamMate, String loginEmpId) throws MyTeamException;
void deleteResource(String empId, String projectId, ObjectId id, String loginEmpId); Resource deleteResource(String empId, String projectId, ObjectId id, String loginEmpId);
Resource save(Resource resource); Resource save(Resource resource);
......
...@@ -747,5 +747,4 @@ public class ProjectService implements IProjectService { ...@@ -747,5 +747,4 @@ public class ProjectService implements IProjectService {
} }
} }
...@@ -131,9 +131,11 @@ public class ResourceService implements IResourceService { ...@@ -131,9 +131,11 @@ public class ResourceService implements IResourceService {
// String result = null; // String result = null;
MyTeamResultDTO myResultDto = new MyTeamResultDTO(); MyTeamResultDTO myResultDto = new MyTeamResultDTO();
myResultDto.setResultCode(MyTeamResultDTO.SUCCESS_CODE); myResultDto.setResultCode(MyTeamResultDTO.SUCCESS_CODE);
myResultDto.setResultData("TeamMate updated successfuly"); myResultDto.setResultData("TeamMate updated successfuly");
Resource existingTeammate = resourceRepo.findById(resource.getId()); Resource existingTeammate = resourceRepo.findById(resource.getId());
List<Billing> listBD = billingService.getActiveBillings(resource.getEmployeeId(), resource.getProjectId()); List<Billing> listBD = billingService.getActiveBillings(resource.getEmployeeId(), resource.getProjectId());
Date resEndDate = resource.getEndDate(); Date resEndDate = resource.getEndDate();
...@@ -341,7 +343,7 @@ public class ResourceService implements IResourceService { ...@@ -341,7 +343,7 @@ public class ResourceService implements IResourceService {
} }
@Override @Override
public void deleteResource(String empId, String projectId, ObjectId id, String loginEmpId) { public Resource deleteResource(String empId, String projectId, ObjectId id, String loginEmpId) {
Resource existingResource = resourceRepo.findById(id); Resource existingResource = resourceRepo.findById(id);
existingResource.setActive(false); existingResource.setActive(false);
existingResource.setEndDate(new Date()); existingResource.setEndDate(new Date());
...@@ -387,8 +389,10 @@ public class ResourceService implements IResourceService { ...@@ -387,8 +389,10 @@ public class ResourceService implements IResourceService {
resourceBench.setAuditFields(loginEmpId, MyTeamUtils.CREATE);// Setting resourceBench.setAuditFields(loginEmpId, MyTeamUtils.CREATE);// Setting
// audit // audit
// fields // fields
resourceRepo.save(resourceBench); Resource resource=resourceRepo.save(resourceBench);
empShiftService.updateEmployeeShift(existingResource, loginEmpId); empShiftService.updateEmployeeShift(existingResource, loginEmpId);
return resource;
} }
// Update ProjectEndDate column data in ProjectTeamMate. // Update ProjectEndDate column data in ProjectTeamMate.
......
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