Commit a7e97f5b authored by Md Suleman's avatar Md Suleman

Sub status sevice changes

parent 1d6f10ce
...@@ -9,8 +9,10 @@ import java.util.stream.Collectors; ...@@ -9,8 +9,10 @@ import java.util.stream.Collectors;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import com.nisum.myteam.model.dao.EmployeeSubStatus;
import com.nisum.myteam.model.dao.EmployeeVisa; import com.nisum.myteam.model.dao.EmployeeVisa;
import com.nisum.myteam.repository.EmployeeVisaRepo; import com.nisum.myteam.repository.EmployeeVisaRepo;
import com.nisum.myteam.service.ISubStatusService;
import com.nisum.myteam.service.impl.EmployeeService; import com.nisum.myteam.service.impl.EmployeeService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus; import org.springframework.http.HttpStatus;
...@@ -45,6 +47,9 @@ public class EmployeeController { ...@@ -45,6 +47,9 @@ public class EmployeeController {
@Autowired @Autowired
private EmployeeVisaRepo employeeVisaRepo; private EmployeeVisaRepo employeeVisaRepo;
@Autowired
private ISubStatusService subStatusService;
@RequestMapping(value = "/employees/{empId}", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE, consumes = MediaType.APPLICATION_JSON_VALUE) @RequestMapping(value = "/employees/{empId}", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE, consumes = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<?> createEmployee( @RequestBody Employee employeeReq, public ResponseEntity<?> createEmployee( @RequestBody Employee employeeReq,
...@@ -72,7 +77,7 @@ public class EmployeeController { ...@@ -72,7 +77,7 @@ public class EmployeeController {
if (empService.isEmployeeExistsById(loginEmpId)) { if (empService.isEmployeeExistsById(loginEmpId)) {
Employee employeeUpdated = empService.updateEmployee(employeeReq, loginEmpId); Employee employeeUpdated = empService.updateEmployee(employeeReq, loginEmpId);
ResponseDetails updateRespDetails = new ResponseDetails(new Date(), 906, empService.messege , ResponseDetails updateRespDetails = new ResponseDetails(new Date(), 906, empService.response.get("messege").toString() ,
"Employee Updation", null, request.getRequestURI(), "Updation Employee details", "Employee Updation", null, request.getRequestURI(), "Updation Employee details",
employeeUpdated); employeeUpdated);
return new ResponseEntity<ResponseDetails>(updateRespDetails, HttpStatus.OK); return new ResponseEntity<ResponseDetails>(updateRespDetails, HttpStatus.OK);
...@@ -267,6 +272,15 @@ public class EmployeeController { ...@@ -267,6 +272,15 @@ public class EmployeeController {
} }
@RequestMapping(value = "/subStatus", method = RequestMethod.PUT, produces = MediaType.APPLICATION_JSON_VALUE, consumes = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<?> endSubStatus(@RequestBody EmployeeSubStatus employeeSubStatus, @RequestParam("loginEmpId") String loginEmpId ,HttpServletRequest request){
ResponseDetails responseDetails = new ResponseDetails(new Date(), 602, "Sub status end updated successfully",
"Emoployee sub status updated successfully", subStatusService.endSubStatus(employeeSubStatus) , request.getRequestURI(), "Resource details", null);
return new ResponseEntity<ResponseDetails>(responseDetails, HttpStatus.OK);
}
} }
\ No newline at end of file
...@@ -4,7 +4,12 @@ import com.nisum.myteam.model.dao.EmployeeSubStatus; ...@@ -4,7 +4,12 @@ import com.nisum.myteam.model.dao.EmployeeSubStatus;
public interface ISubStatusService { public interface ISubStatusService {
public EmployeeSubStatus getLatestEmployeeSubStatus(String empId); public EmployeeSubStatus getLatestEmployeeSubStatus(String empId);
public EmployeeSubStatus updateExistingEmplyeeSubStatus(EmployeeSubStatus employeeSubStatusReq); public EmployeeSubStatus updateExistingEmplyeeSubStatus(EmployeeSubStatus employeeSubStatusReq);
public EmployeeSubStatus addEmployeeSubStatus(EmployeeSubStatus employeeSubStatus); public EmployeeSubStatus addEmployeeSubStatus(EmployeeSubStatus employeeSubStatus);
public EmployeeSubStatus getCurrentSubStatus(String employeeId); public EmployeeSubStatus getCurrentSubStatus(String employeeId);
public EmployeeSubStatus endSubStatus(EmployeeSubStatus subStatus);
} }
...@@ -59,7 +59,7 @@ public class EmployeeService implements IEmployeeService { ...@@ -59,7 +59,7 @@ public class EmployeeService implements IEmployeeService {
@Autowired @Autowired
private ISubStatusService subStatusService; private ISubStatusService subStatusService;
public String message = ""; public Map<String , String> response = new HashMap<>();
@Override @Override
public Employee createEmployee(Employee employee, String loginEmpId) throws MyTeamException { public Employee createEmployee(Employee employee, String loginEmpId) throws MyTeamException {
...@@ -78,7 +78,7 @@ public class EmployeeService implements IEmployeeService { ...@@ -78,7 +78,7 @@ public class EmployeeService implements IEmployeeService {
@Override @Override
public Employee updateEmployee(Employee employeeReq, String loginEmpId) throws ParseException { public Employee updateEmployee(Employee employeeReq, String loginEmpId) throws ParseException {
message = "Employee has been updated"; response.put("messege" , "Employee has been updated");
// update all emp details to inactive if employee is inactive // update all emp details to inactive if employee is inactive
Query query = new Query(Criteria.where("employeeId").is(employeeReq.getEmployeeId())); Query query = new Query(Criteria.where("employeeId").is(employeeReq.getEmployeeId()));
Update update = new Update(); Update update = new Update();
...@@ -118,21 +118,22 @@ public class EmployeeService implements IEmployeeService { ...@@ -118,21 +118,22 @@ public class EmployeeService implements IEmployeeService {
//update substatus //update substatus
if(employeeReq.getEmpSubStatus()!=null) { if(employeeReq.getEmpSubStatus()!=null) {
HashMap<String,Object> substatus = (LinkedHashMap)employeeReq.getEmpSubStatus(); HashMap<String, Object> substatus = (LinkedHashMap) employeeReq.getEmpSubStatus();
EmployeeSubStatus latestSubStatus = new EmployeeSubStatus(); if (substatus.keySet().contains("subStatus")) {
latestSubStatus.setEmployeeID(substatus.get("employeeID").toString()); EmployeeSubStatus latestSubStatus = new EmployeeSubStatus();
latestSubStatus.setSubStatus(substatus.get("subStatus").toString()); latestSubStatus.setEmployeeID(substatus.get("employeeID").toString());
latestSubStatus.setFromDate(new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'").parse(substatus.get("fromDate").toString())); latestSubStatus.setSubStatus(substatus.get("subStatus").toString());
latestSubStatus.setToDate(new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'").parse(substatus.get("toDate").toString())); latestSubStatus.setFromDate(new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'").parse(substatus.get("fromDate").toString()));
EmployeeSubStatus currentSubStatus = subStatusService.getCurrentSubStatus(employeeReq.getEmployeeId()); latestSubStatus.setToDate(new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'").parse(substatus.get("toDate").toString()));
if (currentSubStatus != null ){ EmployeeSubStatus currentSubStatus = subStatusService.getCurrentSubStatus(employeeReq.getEmployeeId());
if(currentSubStatus.getSubStatus().equals(latestSubStatus.getSubStatus())) { if (currentSubStatus != null) {
latestSubStatus.setId(currentSubStatus.getId()); if (currentSubStatus.getSubStatus().equals(latestSubStatus.getSubStatus())) {
subStatusService.updateExistingEmplyeeSubStatus(latestSubStatus); latestSubStatus.setId(currentSubStatus.getId());
}else{ subStatusService.updateExistingEmplyeeSubStatus(latestSubStatus);
message = "Employee is already "+currentSubStatus.getSubStatus()+" from "+currentSubStatus.getFromDate()+" to "+currentSubStatus.getToDate(); } else {
} response.put("messege", "Employee is already " + currentSubStatus.getSubStatus() + " from " + currentSubStatus.getFromDate() + " to " + currentSubStatus.getToDate());
}else{ }
} else {
// currentSubStatus = subStatusService.getLatestEmployeeSubStatus(employeeReq.getEmployeeId()); // currentSubStatus = subStatusService.getLatestEmployeeSubStatus(employeeReq.getEmployeeId());
// if(currentSubStatus == null) // if(currentSubStatus == null)
subStatusService.addEmployeeSubStatus(latestSubStatus); subStatusService.addEmployeeSubStatus(latestSubStatus);
...@@ -140,6 +141,7 @@ public class EmployeeService implements IEmployeeService { ...@@ -140,6 +141,7 @@ public class EmployeeService implements IEmployeeService {
// latestSubStatus.setId(currentSubStatus.getId()); // latestSubStatus.setId(currentSubStatus.getId());
// subStatusService.updateExistingEmplyeeSubStatus(latestSubStatus); // subStatusService.updateExistingEmplyeeSubStatus(latestSubStatus);
// } // }
}
} }
} }
......
...@@ -3,6 +3,8 @@ package com.nisum.myteam.service.impl; ...@@ -3,6 +3,8 @@ package com.nisum.myteam.service.impl;
import com.nisum.myteam.model.dao.EmployeeSubStatus; import com.nisum.myteam.model.dao.EmployeeSubStatus;
import com.nisum.myteam.repository.EmployeeSubStatusRepo; import com.nisum.myteam.repository.EmployeeSubStatusRepo;
import com.nisum.myteam.service.ISubStatusService; import com.nisum.myteam.service.ISubStatusService;
import com.nisum.myteam.utils.MyTeamDateUtils;
import com.nisum.myteam.utils.MyTeamUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
...@@ -52,4 +54,15 @@ public class SubStatusService implements ISubStatusService { ...@@ -52,4 +54,15 @@ public class SubStatusService implements ISubStatusService {
}else }else
return null; return null;
} }
@Override
public EmployeeSubStatus endSubStatus(EmployeeSubStatus subStatus){
EmployeeSubStatus currentSubStatus = getCurrentSubStatus(subStatus.getEmployeeID());
if(currentSubStatus.getId().equals(subStatus.getId())){
subStatus.setToDate(MyTeamDateUtils.getDayLessThanDate(new Date()));
updateExistingEmplyeeSubStatus(subStatus);
}
return null;
}
} }
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