Commit cf947c85 authored by Vijay Akula's avatar Vijay Akula

[vijay.A] Refactored the code for Employee Controller Service and

repositories
parent a6abbc45
...@@ -4,6 +4,7 @@ import java.util.ArrayList; ...@@ -4,6 +4,7 @@ import java.util.ArrayList;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.stream.Collectors;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import javax.validation.Valid; import javax.validation.Valid;
...@@ -18,6 +19,7 @@ import org.springframework.web.bind.annotation.PathVariable; ...@@ -18,6 +19,7 @@ import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import com.nisum.mytime.exception.handler.MyTimeException; import com.nisum.mytime.exception.handler.MyTimeException;
...@@ -25,21 +27,22 @@ import com.nisum.mytime.exception.handler.ResponseDetails; ...@@ -25,21 +27,22 @@ import com.nisum.mytime.exception.handler.ResponseDetails;
import com.nisum.mytime.model.Account; import com.nisum.mytime.model.Account;
import com.nisum.mytime.service.IAccountService; import com.nisum.mytime.service.IAccountService;
import lombok.extern.slf4j.Slf4j;
@Slf4j
@RestController @RestController
public class AccountController { public class AccountController {
@Autowired @Autowired
private IAccountService accountService; private IAccountService accountService;
private static final Logger logger = LoggerFactory.getLogger(AccountController.class);
@RequestMapping(value = "/accounts", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE, consumes = MediaType.APPLICATION_JSON_VALUE) @RequestMapping(value = "/accounts", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE, consumes = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<?> createAccount(@Valid @RequestBody Account account, HttpServletRequest request) public ResponseEntity<?> createAccount(@Valid @RequestBody Account account, HttpServletRequest request)
throws MyTimeException { throws MyTimeException {
logger.info("Serving the Account Creation action"); log.info("Serving the Account Creation action");
boolean isAccountExists = accountService.isAccountExists(account); boolean isAccountExists = accountService.isAccountExists(account);
logger.info("is Account exists with the name " + account.getAccountName() + ":::" + isAccountExists); log.info("is Account exists with the name " + account.getAccountName() + ":::" + isAccountExists);
if (!isAccountExists) { if (!isAccountExists) {
Account accountPersisted = accountService.createAccount(account); Account accountPersisted = accountService.createAccount(account);
...@@ -57,7 +60,7 @@ public class AccountController { ...@@ -57,7 +60,7 @@ public class AccountController {
@RequestMapping(value = "/accounts/{accountId}", method = RequestMethod.PUT, consumes = MediaType.APPLICATION_JSON_VALUE, produces = MediaType.APPLICATION_JSON_VALUE) @RequestMapping(value = "/accounts/{accountId}", method = RequestMethod.PUT, consumes = MediaType.APPLICATION_JSON_VALUE, produces = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<?> updateAccount(@RequestBody Account account, @PathVariable String accountId, public ResponseEntity<?> updateAccount(@RequestBody Account account, @PathVariable String accountId,
HttpServletRequest request) throws MyTimeException { HttpServletRequest request) throws MyTimeException {
logger.info("Updating the account with details::"+account); log.info("Updating the account with details::"+account);
boolean isAccountExists = accountService.isAccountExists(account); boolean isAccountExists = accountService.isAccountExists(account);
if (isAccountExists == true) { if (isAccountExists == true) {
Account accountPersisted = accountService.updateAccount(account); Account accountPersisted = accountService.updateAccount(account);
...@@ -75,10 +78,26 @@ public class AccountController { ...@@ -75,10 +78,26 @@ public class AccountController {
} }
@RequestMapping(value = "/accounts/{accountId}", method = RequestMethod.DELETE, produces = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<?> deleteAccount(@PathVariable String accountId, HttpServletRequest request)
throws MyTimeException {
log.info("Deleting account with accountId:" + accountId);
Account accountDeleted = accountService.deleteAccount(accountId);
ResponseDetails deleteRespDetails = new ResponseDetails(new Date(), 604,
"Account has been deleted successfully", "status description", null,request.getRequestURI(), "details",
accountDeleted);
return new ResponseEntity<ResponseDetails>(deleteRespDetails, HttpStatus.OK);
}
@RequestMapping(value = "/accounts", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE) @RequestMapping(value = "/accounts", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<?> getAccounts(HttpServletRequest request) throws MyTimeException { public ResponseEntity<?> getAccounts(HttpServletRequest request) throws MyTimeException {
List<Map<Object, Object>> accountsList = accountService.getAccountsList(); List<Map<Object, Object>> accountsList = accountService.getAccountsList();
logger.info("The accounts list::" + accountsList); log.info("The accounts list::" + accountsList);
ResponseDetails getRespDetails = new ResponseDetails(new Date(), 604, "Retrieved the accounts successfully", ResponseDetails getRespDetails = new ResponseDetails(new Date(), 604, "Retrieved the accounts successfully",
"Accounts list", accountsList, request.getRequestURI(), "details", null); "Accounts list", accountsList, request.getRequestURI(), "details", null);
...@@ -87,6 +106,7 @@ public class AccountController { ...@@ -87,6 +106,7 @@ public class AccountController {
} }
@RequestMapping(value = "/accounts/names", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE) @RequestMapping(value = "/accounts/names", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<?> getAccountNames(HttpServletRequest request) throws MyTimeException { public ResponseEntity<?> getAccountNames(HttpServletRequest request) throws MyTimeException {
List<Account> acountsList = accountService.getAccounts(); List<Account> acountsList = accountService.getAccounts();
...@@ -95,7 +115,7 @@ public class AccountController { ...@@ -95,7 +115,7 @@ public class AccountController {
for (Account account : acountsList) { for (Account account : acountsList) {
accountNamesList.add(account.getAccountName()); accountNamesList.add(account.getAccountName());
} }
logger.info("The account names list::" + accountNamesList); log.info("The account names list::" + accountNamesList);
ResponseDetails getRespDetails = new ResponseDetails(new Date(), 604, ResponseDetails getRespDetails = new ResponseDetails(new Date(), 604,
"Retrieved the account names successfully", "Account names list", accountNamesList, "Retrieved the account names successfully", "Account names list", accountNamesList,
...@@ -105,16 +125,13 @@ public class AccountController { ...@@ -105,16 +125,13 @@ public class AccountController {
} }
@RequestMapping(value = "/accounts/{accountId}", method = RequestMethod.DELETE, produces = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<?> deleteAccount(@PathVariable String accountId, HttpServletRequest request) //get the accounts based on status(Active or inactive)
throws MyTimeException { @RequestMapping(value = "/accounts/status", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE)
logger.info("Deleting account with accountId:" + accountId); public ResponseEntity<List<Account>> getAccounts(@RequestParam("status")String status) throws MyTimeException {
Account accountDeleted = accountService.deleteAccount(accountId); List<Account> accountsList = accountService.getAccountsAll().stream()
ResponseDetails deleteRespDetails = new ResponseDetails(new Date(), 604, .filter(e -> "Active".equalsIgnoreCase(e.getStatus())).collect(Collectors.toList());
"Account has been deleted successfully", "status description", null,request.getRequestURI(), "details", return new ResponseEntity<>(accountsList, HttpStatus.OK);
accountDeleted);
return new ResponseEntity<ResponseDetails>(deleteRespDetails, HttpStatus.OK);
} }
} }
\ No newline at end of file
...@@ -25,76 +25,56 @@ import com.nisum.mytime.service.IEmployeeService; ...@@ -25,76 +25,56 @@ import com.nisum.mytime.service.IEmployeeService;
@RequestMapping("/attendance") @RequestMapping("/attendance")
public class AttendanceController { public class AttendanceController {
@Autowired @Autowired
private IEmployeeService userService; private IAttendanceService attendanceService;
@Autowired @RequestMapping(value = "employeeLoginsBasedOnDate", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE)
private IAttendanceService attendanceService; public ResponseEntity<List<EmpLoginData>> employeeLoginsBasedOnDate(@RequestParam("empId") long id,
@RequestParam("fromDate") String fromDate, @RequestParam("toDate") String toDate) throws MyTimeException {
List<EmpLoginData> message = new ArrayList<>();
try {
message = attendanceService.employeeLoginsBasedOnDate(id, fromDate, toDate);
} catch (Exception e) {
e.printStackTrace();
}
return new ResponseEntity<>(message, HttpStatus.OK);
}
@RequestMapping(value = "employeeLoginsBasedOnDate", @RequestMapping(value = "generatePdfReport/{id}/{fromDate}/{toDate}", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE)
method = RequestMethod.GET, public ResponseEntity<List> generatePdfReport(@PathVariable("id") long id,
produces = MediaType.APPLICATION_JSON_VALUE) @PathVariable("fromDate") String fromDate, @PathVariable("toDate") String toDate) throws MyTimeException {
public ResponseEntity<List<EmpLoginData>> employeeLoginsBasedOnDate( List result = attendanceService.generatePdfReport(id, fromDate, toDate);
@RequestParam("empId") long id, return new ResponseEntity<>(result, HttpStatus.OK);
@RequestParam("fromDate") String fromDate, }
@RequestParam("toDate") String toDate) throws MyTimeException {
List<EmpLoginData> message = new ArrayList<>();
try {
message = userService.employeeLoginsBasedOnDate(id, fromDate, toDate);
} catch (Exception e) {
e.printStackTrace();
}
return new ResponseEntity<>(message, HttpStatus.OK);
}
@RequestMapping(value = "generatePdfReport/{id}/{fromDate}/{toDate}", @RequestMapping(value = "generatePdfReport/{id}/{fromDate}/{toDate}/{fromTime}/{toTime}", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE)
method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE) public ResponseEntity<List> generatePdfReport(@PathVariable("id") long id,
public ResponseEntity<List> generatePdfReport(@PathVariable("id") long id, @PathVariable("fromDate") String fromDate, @PathVariable("toDate") String toDate,
@PathVariable("fromDate") String fromDate, @PathVariable("fromTime") String fromTime, @PathVariable("toTime") String toTime)
@PathVariable("toDate") String toDate) throws MyTimeException { throws MyTimeException, ParseException {
List result = userService.generatePdfReport(id, fromDate, toDate); List result = attendanceService.generatePdfReport(id, fromDate, toDate, fromTime, toTime);
return new ResponseEntity<>(result, HttpStatus.OK); return new ResponseEntity<>(result, HttpStatus.OK);
} }
@RequestMapping(value = "generatePdfReport/{id}/{fromDate}/{toDate}/{fromTime}/{toTime}", @RequestMapping(value = "attendanciesReport/{reportDate}", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE)
method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE) public ResponseEntity<List<AttendenceData>> attendanciesReport(@PathVariable("reportDate") String reportDate,
public ResponseEntity<List> generatePdfReport(@PathVariable("id") long id, @RequestParam(value = "shift", required = false, defaultValue = "All") String shift)
@PathVariable("fromDate") String fromDate, throws MyTimeException, SQLException {
@PathVariable("toDate") String toDate, List<AttendenceData> lisOfAttendenceData = attendanceService.getAttendanciesReport(reportDate, shift);
@PathVariable("fromTime") String fromTime, return new ResponseEntity<>(lisOfAttendenceData, HttpStatus.OK);
@PathVariable("toTime") String toTime) throws MyTimeException, ParseException { }
List result = userService.generatePdfReport(id, fromDate, toDate,fromTime,toTime);
return new ResponseEntity<>(result, HttpStatus.OK);
}
@RequestMapping(value = "attendanciesReport/{reportDate}",
method = RequestMethod.GET,
produces = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<List<AttendenceData>> attendanciesReport(
@PathVariable("reportDate") String reportDate
,@RequestParam(value= "shift", required = false, defaultValue ="All") String shift)
throws MyTimeException, SQLException {
List<AttendenceData> lisOfAttendenceData = attendanceService.getAttendanciesReport(reportDate,shift);
return new ResponseEntity<>(lisOfAttendenceData, HttpStatus.OK);
}
@RequestMapping(value = "employeesDataSave/{searchDate}", @RequestMapping(value = "employeesDataSave/{searchDate}", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE)
method = RequestMethod.POST, public ResponseEntity<Boolean> employeesDataSave(@PathVariable("searchDate") String searchDate)
produces = MediaType.APPLICATION_JSON_VALUE) throws MyTimeException {
public ResponseEntity<Boolean> employeesDataSave( Boolean result = attendanceService.fetchEmployeesData(searchDate, false);
@PathVariable("searchDate") String searchDate) return new ResponseEntity<>(result, HttpStatus.OK);
throws MyTimeException { }
Boolean result = userService.fetchEmployeesData(searchDate, false);
return new ResponseEntity<>(result, HttpStatus.OK);
}
@RequestMapping(value = "resyncMonthData/{fromDate}", @RequestMapping(value = "resyncMonthData/{fromDate}", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE)
method = RequestMethod.POST, public ResponseEntity<Boolean> resyncMonthData(@PathVariable("fromDate") String fromDate) throws MyTimeException {
produces = MediaType.APPLICATION_JSON_VALUE) Boolean result = attendanceService.fetchEmployeesData(fromDate, true);
public ResponseEntity<Boolean> resyncMonthData( return new ResponseEntity<>(result, HttpStatus.OK);
@PathVariable("fromDate") String fromDate) throws MyTimeException { }
Boolean result = userService.fetchEmployeesData(fromDate, true);
return new ResponseEntity<>(result, HttpStatus.OK);
}
} }
\ No newline at end of file
package com.nisum.mytime.controller; package com.nisum.mytime.controller;
import java.util.Date;
import java.util.List; import java.util.List;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import javax.servlet.http.HttpServletRequest;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus; import org.springframework.http.HttpStatus;
import org.springframework.http.MediaType; import org.springframework.http.MediaType;
...@@ -12,23 +15,27 @@ import org.springframework.web.bind.annotation.RequestMethod; ...@@ -12,23 +15,27 @@ import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import com.nisum.mytime.exception.handler.MyTimeException; import com.nisum.mytime.exception.handler.MyTimeException;
import com.nisum.mytime.exception.handler.ResponseDetails;
import com.nisum.mytime.model.Designation; import com.nisum.mytime.model.Designation;
import com.nisum.mytime.service.IDesignationService;
import com.nisum.mytime.service.impl.DesignationService; import com.nisum.mytime.service.impl.DesignationService;
@RestController @RestController
public class DesignationController { public class DesignationController {
@Autowired @Autowired
DesignationService designationService; IDesignationService designationService;
// @RequestMapping(value = "/getAllDesignations", method = // @RequestMapping(value = "/getAllDesignations"
// RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE)
@RequestMapping(value = "/employees/designations/", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE) @RequestMapping(value = "/employees/designations/", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<List<String>> getAllDesignations() throws MyTimeException { public ResponseEntity<?> getAllDesignations(HttpServletRequest request) throws MyTimeException {
List<String> designations = designationService.getAllDesignations().stream() List<String> designations = designationService.getAllDesignations().stream()
.filter(e -> "Y".equalsIgnoreCase(e.getActiveStatus())).map(Designation::getDesignationName).sorted() .filter(e -> "Y".equalsIgnoreCase(e.getActiveStatus())).map(Designation::getDesignationName).sorted()
.collect(Collectors.toList()); .collect(Collectors.toList());
return new ResponseEntity<>(designations, HttpStatus.OK);
ResponseDetails getRespDetails = new ResponseDetails(new Date(), 908, "Retrieved Designations successfully",
"Designations list", designations, request.getRequestURI(), "Employee Designation Details", null);
return new ResponseEntity<>(getRespDetails, HttpStatus.OK);
} }
} }
...@@ -3,6 +3,7 @@ package com.nisum.mytime.controller; ...@@ -3,6 +3,7 @@ package com.nisum.mytime.controller;
import java.util.Date; import java.util.Date;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.stream.Collectors;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
...@@ -29,23 +30,24 @@ import com.nisum.mytime.service.IDomainService; ...@@ -29,23 +30,24 @@ import com.nisum.mytime.service.IDomainService;
import com.nisum.mytime.utils.MyTimeUtils; import com.nisum.mytime.utils.MyTimeUtils;
import lombok.extern.slf4j.Slf4j;
/** /**
* @author Vijay * @author Vijay
* *
*/ */
@RestController @RestController
@Slf4j
public class DomainController { public class DomainController {
@Autowired @Autowired
private IDomainService domainService; private IDomainService domainService;
private static final Logger logger = LoggerFactory.getLogger(DomainController.class);
@RequestMapping(value = "/domains", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE, consumes = MediaType.APPLICATION_JSON_VALUE) @RequestMapping(value = "/domains", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE, consumes = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<?> createDomain(@RequestBody Domain domain, HttpServletRequest request) public ResponseEntity<?> createDomain(@RequestBody Domain domain, HttpServletRequest request)
throws MyTimeException { throws MyTimeException {
logger.info("Domain Creation"); log.info("Domain Creation");
if (!domainService.isDomainExists(domain)) { if (!domainService.isDomainExists(domain)) {
Domain domainPeristed = domainService.create(domain); Domain domainPeristed = domainService.create(domain);
...@@ -54,7 +56,7 @@ public class DomainController { ...@@ -54,7 +56,7 @@ public class DomainController {
"Domain Creation", null, "", "details", domainPeristed); "Domain Creation", null, "", "details", domainPeristed);
return new ResponseEntity<ResponseDetails>(createRespDetails, HttpStatus.OK); return new ResponseEntity<ResponseDetails>(createRespDetails, HttpStatus.OK);
} }
logger.info("A domain is already existed with the requested name" + domain.getDomainName()); log.info("A domain is already existed with the requested name" + domain.getDomainName());
ResponseDetails responseDetails = new ResponseDetails(new Date(), 802, "Domain is already existed", ResponseDetails responseDetails = new ResponseDetails(new Date(), 802, "Domain is already existed",
"Choose the different domain name", null, request.getRequestURI(), "Domain details", domain); "Choose the different domain name", null, request.getRequestURI(), "Domain details", domain);
...@@ -102,4 +104,13 @@ public class DomainController { ...@@ -102,4 +104,13 @@ public class DomainController {
} }
//getting domains list under accountId which is an active.
@RequestMapping(value = "/domains/{accountId}", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<List<Domain>> getDomains(@PathVariable("accountId") String accountId) throws MyTimeException {
List<Domain> domains = domainService.getDomainsUnderAccount(accountId).stream()
.filter(e -> "Active".equalsIgnoreCase(e.getStatus())).collect(Collectors.toList());
return new ResponseEntity<>(domains, HttpStatus.OK);
}
} }
\ No newline at end of file
package com.nisum.mytime.controller; package com.nisum.mytime.controller;
import java.util.Date;
import java.util.List; import java.util.List;
import javax.servlet.http.HttpServletRequest;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus; import org.springframework.http.HttpStatus;
import org.springframework.http.MediaType; import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity; import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import com.nisum.mytime.exception.handler.MyTimeException; import com.nisum.mytime.exception.handler.MyTimeException;
import com.nisum.mytime.model.EmployeeLocationDetails; import com.nisum.mytime.exception.handler.ResponseDetails;
import com.nisum.mytime.model.EmployeeLocation;
import com.nisum.mytime.service.IEmployeeLocationService;
import com.nisum.mytime.service.impl.EmployeeLocationService; import com.nisum.mytime.service.impl.EmployeeLocationService;
@RestController @RestController
public class EmployeeLocationController { public class EmployeeLocationController {
@Autowired @Autowired
EmployeeLocationService empLocationService; IEmployeeLocationService empLocationService;
@RequestMapping(value = "/getEmployeeLocations", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE) @RequestMapping(value = "/employees/locations/{employeeId}", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<List<EmployeeLocationDetails>> getEmployeeLocations(@RequestParam("employeeId") String empId) public ResponseEntity<?> getEmployeeLocations(@PathVariable("employeeId") String empId,HttpServletRequest request)
throws MyTimeException { throws MyTimeException {
List<EmployeeLocationDetails> employeeLocationDetails = empLocationService.getEmployeeLocationDetails(empId);
return new ResponseEntity<>(employeeLocationDetails, HttpStatus.OK); List<EmployeeLocation> employeeLocationDetails = empLocationService.getEmployeeLocations(empId);
ResponseDetails getRespDetails = new ResponseDetails(new Date(), 701, "Retrieved Employee Locations successfylly",
"Employee Locations", employeeLocationDetails, request.getRequestURI(), "Employee Location Details", null);
return new ResponseEntity<>(getRespDetails, HttpStatus.OK);
} }
} }
...@@ -17,7 +17,10 @@ import com.nisum.mytime.exception.handler.MyTimeException; ...@@ -17,7 +17,10 @@ import com.nisum.mytime.exception.handler.MyTimeException;
import com.nisum.mytime.model.MasterData; import com.nisum.mytime.model.MasterData;
import com.nisum.mytime.service.IMasterDataService; import com.nisum.mytime.service.IMasterDataService;
import lombok.extern.slf4j.Slf4j;
@RestController @RestController
@Slf4j
public class MasterDataController { public class MasterDataController {
@Autowired @Autowired
......
package com.nisum.mytime.controller; package com.nisum.mytime.controller;
import java.util.Date;
import java.util.List; import java.util.List;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import javax.servlet.http.HttpServletRequest;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
...@@ -14,26 +17,34 @@ import org.springframework.web.bind.annotation.RequestMethod; ...@@ -14,26 +17,34 @@ import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import com.nisum.mytime.exception.handler.MyTimeException; import com.nisum.mytime.exception.handler.MyTimeException;
import com.nisum.mytime.model.Location; import com.nisum.mytime.exception.handler.ResponseDetails;
import com.nisum.mytime.model.OrgLocation;
import com.nisum.mytime.service.IOrgLocationService;
import com.nisum.mytime.service.impl.OrgLocationService; import com.nisum.mytime.service.impl.OrgLocationService;
import lombok.extern.slf4j.Slf4j;
@RestController @RestController
@Slf4j
public class OrgLocationController { public class OrgLocationController {
@Autowired @Autowired
OrgLocationService orgLocationService; IOrgLocationService orgLocationService;
private static final Logger logger = LoggerFactory.getLogger(OrgLocationController.class);
// @RequestMapping(value = "/getLocations"
// @RequestMapping(value = "/getLocations", method = RequestMethod.GET, @RequestMapping(value = "/organization/locations/", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE)
// produces = MediaType.APPLICATION_JSON_VALUE) public ResponseEntity<?> getLocations(HttpServletRequest request) throws MyTimeException {
@RequestMapping(value = "/employees/locations/", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<List<String>> getLocations() throws MyTimeException { List<String> locationsList = orgLocationService.getLocations().stream()
// System.out.println(" userService.getLocations()" + .filter(e -> (e.isActiveStatus() == true)).map(OrgLocation::getLocation).sorted()
// orgLocationService.getLocations()); .collect(Collectors.toList());
List<String> locations = orgLocationService.getLocations().stream().filter(e -> (e.isActiveStatus() == true)) log.info("getLocations " + locationsList);
.map(Location::getLocation).sorted().collect(Collectors.toList());
logger.info("getLocations " + locations); ResponseDetails getRespDetails = new ResponseDetails(new Date(), 905,
return new ResponseEntity<>(locations, HttpStatus.OK); "Retrieved Organization Locations successfully", "Organization Locations List", locationsList,
request.getRequestURI(), "Organization Location Details", null);
return new ResponseEntity<>(getRespDetails, HttpStatus.OK);
} }
} }
...@@ -113,7 +113,7 @@ public class ProjectController { ...@@ -113,7 +113,7 @@ public class ProjectController {
List<HashMap<Object, Object>> projects = null; List<HashMap<Object, Object>> projects = null;
if(!"undefined".equalsIgnoreCase(empId) ) { if(!"undefined".equalsIgnoreCase(empId) ) {
boolean isDl = userService.verifyRole(empId,MyTimeUtils.DL) ; boolean isDl = userService.verifyEmployeeRole(empId,MyTimeUtils.DL) ;
if( isDl ){ if( isDl ){
projects = projectService.deliveryLeadProjects(empId); projects = projectService.deliveryLeadProjects(empId);
} }
...@@ -126,7 +126,7 @@ public class ProjectController { ...@@ -126,7 +126,7 @@ public class ProjectController {
@RequestMapping(value = "/getEmployeeRoleData", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE) @RequestMapping(value = "/getEmployeeRoleData", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<Employee> getEmployeeRoleData(@RequestParam("empId") String empId) public ResponseEntity<Employee> getEmployeeRoleData(@RequestParam("empId") String empId)
throws MyTimeException { throws MyTimeException {
Employee employeesRole = userService.getEmployeesRoleData(empId); Employee employeesRole = userService.getEmployeeById(empId);
return new ResponseEntity<>(employeesRole, HttpStatus.OK); return new ResponseEntity<>(employeesRole, HttpStatus.OK);
} }
......
...@@ -33,14 +33,14 @@ import org.springframework.web.bind.annotation.RestController; ...@@ -33,14 +33,14 @@ import org.springframework.web.bind.annotation.RestController;
import com.nisum.mytime.exception.handler.MyTimeException; import com.nisum.mytime.exception.handler.MyTimeException;
import com.nisum.mytime.model.Account; import com.nisum.mytime.model.Account;
import com.nisum.mytime.model.BillingDetails; import com.nisum.mytime.model.Billing;
import com.nisum.mytime.model.ColumnChartData; import com.nisum.mytime.model.ColumnChartData;
import com.nisum.mytime.model.Employee; import com.nisum.mytime.model.Employee;
import com.nisum.mytime.model.GroupByCount; import com.nisum.mytime.model.GroupByCount;
import com.nisum.mytime.model.ProjectTeamMate; import com.nisum.mytime.model.Resource;
import com.nisum.mytime.model.ReportSeriesRecord; import com.nisum.mytime.model.ReportSeriesRecord;
import com.nisum.mytime.repository.EmployeeVisaRepo; import com.nisum.mytime.repository.EmployeeVisaRepo;
import com.nisum.mytime.repository.TeamMatesBillingRepo; import com.nisum.mytime.repository.BillingRepo;
import com.nisum.mytime.service.IProjectService; import com.nisum.mytime.service.IProjectService;
import com.nisum.mytime.service.IEmployeeService; import com.nisum.mytime.service.IEmployeeService;
...@@ -56,11 +56,12 @@ public class ReportsController { ...@@ -56,11 +56,12 @@ public class ReportsController {
@Autowired @Autowired
private EmployeeVisaRepo employeeVisaRepo; private EmployeeVisaRepo employeeVisaRepo;
@Autowired @Autowired
private MongoTemplate mongoTemplate; private MongoTemplate mongoTemplate;
@Autowired @Autowired
private TeamMatesBillingRepo teamMatesBillingRepo; private BillingRepo teamMatesBillingRepo;
@RequestMapping(value = "/getEmployeesByFunctionalGroup1", @RequestMapping(value = "/getEmployeesByFunctionalGroup1",
method = RequestMethod.GET, method = RequestMethod.GET,
...@@ -137,7 +138,7 @@ public class ReportsController { ...@@ -137,7 +138,7 @@ public class ReportsController {
// Convert the aggregation result into a List // Convert the aggregation result into a List
AggregationResults<ColumnChartData> groupResults = mongoTemplate AggregationResults<ColumnChartData> groupResults = mongoTemplate
.aggregate(aggregate, BillingDetails.class, .aggregate(aggregate, Billing.class,
ColumnChartData.class); ColumnChartData.class);
List<ColumnChartData> result = groupResults.getMappedResults(); List<ColumnChartData> result = groupResults.getMappedResults();
List<String> statusList = new ArrayList(); List<String> statusList = new ArrayList();
...@@ -248,7 +249,7 @@ public class ReportsController { ...@@ -248,7 +249,7 @@ public class ReportsController {
// Convert the aggregation result into a List // Convert the aggregation result into a List
AggregationResults<ColumnChartData> groupResults1 = mongoTemplate AggregationResults<ColumnChartData> groupResults1 = mongoTemplate
.aggregate(agg1, BillingDetails.class, .aggregate(agg1, Billing.class,
ColumnChartData.class); ColumnChartData.class);
List<ColumnChartData> result1 = groupResults1.getMappedResults(); List<ColumnChartData> result1 = groupResults1.getMappedResults();
...@@ -326,11 +327,11 @@ public class ReportsController { ...@@ -326,11 +327,11 @@ public class ReportsController {
@RequestMapping(value = "/fetchEmployeeDetailsByAccountBillability", @RequestMapping(value = "/fetchEmployeeDetailsByAccountBillability",
method = RequestMethod.GET, method = RequestMethod.GET,
produces = MediaType.APPLICATION_JSON_VALUE) produces = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<List<ProjectTeamMate>> fetchEmployeeDetailsByAccountBillability( public ResponseEntity<List<Resource>> fetchEmployeeDetailsByAccountBillability(
@RequestParam("account") String account, @RequestParam("account") String account,
@RequestParam("billabilityStatus") String billabilityStatus) @RequestParam("billabilityStatus") String billabilityStatus)
throws MyTimeException { throws MyTimeException {
List<ProjectTeamMate> empList = new ArrayList<>(); List<Resource> empList = new ArrayList<>();
if (account != null && !account.isEmpty()) { if (account != null && !account.isEmpty()) {
empList = projectService.findByAccountAndActiveAndBillableStatus( empList = projectService.findByAccountAndActiveAndBillableStatus(
account, true, billabilityStatus); account, true, billabilityStatus);
...@@ -341,11 +342,11 @@ public class ReportsController { ...@@ -341,11 +342,11 @@ public class ReportsController {
@RequestMapping(value = "/fetchEmployeeDetailsByDateBillability", @RequestMapping(value = "/fetchEmployeeDetailsByDateBillability",
method = RequestMethod.GET, method = RequestMethod.GET,
produces = MediaType.APPLICATION_JSON_VALUE) produces = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<List<BillingDetails>> fetchEmployeeDetailsByDateBillability( public ResponseEntity<List<Billing>> fetchEmployeeDetailsByDateBillability(
@RequestParam("billabilityStatus") String billabilityStatus, @RequestParam("billabilityStatus") String billabilityStatus,
@RequestParam("reportDate") String reportDateString) @RequestParam("reportDate") String reportDateString)
throws MyTimeException { throws MyTimeException {
List<BillingDetails> empList = new ArrayList<>(); List<Billing> empList = new ArrayList<>();
if (reportDateString != null && !reportDateString.isEmpty()) { if (reportDateString != null && !reportDateString.isEmpty()) {
String pattern = "MM-dd-yyyy"; String pattern = "MM-dd-yyyy";
SimpleDateFormat simpleDateFormat = new SimpleDateFormat(pattern); SimpleDateFormat simpleDateFormat = new SimpleDateFormat(pattern);
...@@ -368,7 +369,7 @@ public class ReportsController { ...@@ -368,7 +369,7 @@ public class ReportsController {
criteriaV1.orOperator(criteriaV21, criteriaV22)); criteriaV1.orOperator(criteriaV21, criteriaV22));
Query query = new Query(); Query query = new Query();
query.addCriteria(criteriaV221); query.addCriteria(criteriaV221);
empList = mongoTemplate.find(query, BillingDetails.class); empList = mongoTemplate.find(query, Billing.class);
} }
return new ResponseEntity<>(empList, HttpStatus.OK); return new ResponseEntity<>(empList, HttpStatus.OK);
} }
......
package com.nisum.mytime.controller; package com.nisum.mytime.controller;
import java.util.Date;
import java.util.List; import java.util.List;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import javax.servlet.http.HttpServletRequest;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus; import org.springframework.http.HttpStatus;
import org.springframework.http.MediaType; import org.springframework.http.MediaType;
...@@ -12,23 +15,32 @@ import org.springframework.web.bind.annotation.RequestMethod; ...@@ -12,23 +15,32 @@ import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import com.nisum.mytime.exception.handler.MyTimeException; import com.nisum.mytime.exception.handler.MyTimeException;
import com.nisum.mytime.exception.handler.ResponseDetails;
import com.nisum.mytime.model.Shift; import com.nisum.mytime.model.Shift;
import com.nisum.mytime.service.IShiftService;
import com.nisum.mytime.service.impl.ShiftService; import com.nisum.mytime.service.impl.ShiftService;
import lombok.extern.slf4j.Slf4j;
@RestController @RestController
@Slf4j
public class ShiftController { public class ShiftController {
@Autowired @Autowired
ShiftService shiftService; IShiftService shiftService;
// @RequestMapping(value = "/getAllShifts"
// @RequestMapping(value = "/getAllShifts", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE)
@RequestMapping(value = "/employees/shifts/", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE) @RequestMapping(value = "/employees/shifts/", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<List<String>> getAllShifts() throws MyTimeException { public ResponseEntity<?> getAllShifts(HttpServletRequest request) throws MyTimeException {
List<String> shifts = shiftService.getAllShifts().stream().filter(e -> "Y".equalsIgnoreCase(e.getActiveStatus())) List<String> shiftsList = shiftService.getAllShifts().stream()
.map(Shift::getShiftName).sorted().collect(Collectors.toList()); .filter(e -> "Y".equalsIgnoreCase(e.getActiveStatus())).map(Shift::getShiftName).sorted()
return new ResponseEntity<>(shifts, HttpStatus.OK); .collect(Collectors.toList());
log.info("The Active shift names:" + shiftsList);
ResponseDetails getRespDetails = new ResponseDetails(new Date(), 905, "Retrieved Employee Shifts successfully",
"Employee Shifts List", shiftsList, request.getRequestURI(), "Employee Shifts Details", null);
return new ResponseEntity<ResponseDetails>(getRespDetails, HttpStatus.OK);
} }
} }
package com.nisum.mytime.controller; package com.nisum.mytime.controller;
import java.util.Date;
import java.util.List; import java.util.List;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import javax.servlet.http.HttpServletRequest;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus; import org.springframework.http.HttpStatus;
import org.springframework.http.MediaType; import org.springframework.http.MediaType;
...@@ -12,23 +15,31 @@ import org.springframework.web.bind.annotation.RequestMethod; ...@@ -12,23 +15,31 @@ import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import com.nisum.mytime.exception.handler.MyTimeException; import com.nisum.mytime.exception.handler.MyTimeException;
import com.nisum.mytime.exception.handler.ResponseDetails;
import com.nisum.mytime.model.Skill; import com.nisum.mytime.model.Skill;
import com.nisum.mytime.service.ISkillService;
import com.nisum.mytime.service.impl.SkillService; import com.nisum.mytime.service.impl.SkillService;
import lombok.extern.slf4j.Slf4j;
@RestController @RestController
@Slf4j
public class SkillController { public class SkillController {
@Autowired @Autowired
SkillService skillService; ISkillService skillService;
// @RequestMapping(value = "/getSkills", method = RequestMethod.GET, // @RequestMapping(value = "/getSkills"
// produces = MediaType.APPLICATION_JSON_VALUE)
@RequestMapping(value = "/employees/skills/", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE) @RequestMapping(value = "/employees/skills/", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<List<String>> getTechnologies() throws MyTimeException { public ResponseEntity<?> getTechnologies(HttpServletRequest request) throws MyTimeException {
List<String> technologies = skillService.getTechnologies().stream() List<String> skillsList = skillService.getTechnologies().stream()
.filter(e -> "Y".equalsIgnoreCase(e.getActiveStatus())).map(Skill::getSkillName).sorted() .filter(e -> "Y".equalsIgnoreCase(e.getActiveStatus())).map(Skill::getSkillName).sorted()
.collect(Collectors.toList()); .collect(Collectors.toList());
return new ResponseEntity<>(technologies, HttpStatus.OK); log.info("The Employee skills Lis::" + skillsList);
ResponseDetails getRespDetails = new ResponseDetails(new Date(), 905, "Retrieved Employee Skills successfully",
"Employee Skills List", skillsList, request.getRequestURI(), "Employee Skills Details", null);
return new ResponseEntity<ResponseDetails>(getRespDetails, HttpStatus.OK);
} }
} }
package com.nisum.mytime.controller;
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.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;
import com.nisum.mytime.exception.handler.MyTimeException;
import com.nisum.mytime.service.IUploadXLService;
import lombok.extern.slf4j.Slf4j;
@RestController
@Slf4j
public class UploadXLController {
@Autowired
private IUploadXLService uploadService;
@RequestMapping(value = "/employee/fileUpload", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE, consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
public ResponseEntity<String> exportDataFromFile(@RequestParam(value = "file") MultipartFile file,
@RequestParam(value = "empId") String loginEmpId) throws MyTimeException {
log.info("Uploaded file: {} with size: {}", file.getOriginalFilename(), file.getSize());
String result = uploadService.importDataFromExcelFile(file, loginEmpId);
return new ResponseEntity<>(result, HttpStatus.OK);
}
}
package com.nisum.mytime.exception.handler;
public class EmployeeNotFoundException extends RuntimeException {
/**
*
*/
private static final long serialVersionUID = 1L;
public EmployeeNotFoundException(String message) {
super(message);
}
}
...@@ -17,11 +17,15 @@ import org.springframework.web.bind.annotation.RestControllerAdvice; ...@@ -17,11 +17,15 @@ import org.springframework.web.bind.annotation.RestControllerAdvice;
import org.springframework.web.context.request.WebRequest; import org.springframework.web.context.request.WebRequest;
import org.springframework.web.servlet.mvc.method.annotation.ResponseEntityExceptionHandler; import org.springframework.web.servlet.mvc.method.annotation.ResponseEntityExceptionHandler;
import lombok.extern.slf4j.Slf4j;
@RestControllerAdvice @RestControllerAdvice
@RestController @RestController
@Slf4j
public class GlobalExceptionHandler extends ResponseEntityExceptionHandler { public class GlobalExceptionHandler extends ResponseEntityExceptionHandler {
private static final Logger log = LoggerFactory.getLogger(GlobalExceptionHandler.class); // private static final Logger log =
// LoggerFactory.getLogger(GlobalExceptionHandler.class);
@ExceptionHandler(DataAccessException.class) @ExceptionHandler(DataAccessException.class)
public String handleDataAccessExceptions(DataAccessException ex) { public String handleDataAccessExceptions(DataAccessException ex) {
...@@ -40,15 +44,26 @@ public class GlobalExceptionHandler extends ResponseEntityExceptionHandler { ...@@ -40,15 +44,26 @@ public class GlobalExceptionHandler extends ResponseEntityExceptionHandler {
@ExceptionHandler(AccountNotFoundException.class) @ExceptionHandler(AccountNotFoundException.class)
public final ResponseEntity<Object> handleUserNotFoundException(AccountNotFoundException ex, WebRequest request) { public final ResponseEntity<Object> handleUserNotFoundException(AccountNotFoundException ex, WebRequest request) {
log.error("Exception occured due to::", ex);
ResponseDetails errorDetails = new ResponseDetails(new Date(), 602, ResponseDetails errorDetails = new ResponseDetails(new Date(), 602,
"The Account you are looking for is not found", ex.getMessage(), null, request.getContextPath(), "The Account you are looking for is not found", ex.getMessage(), null, request.getContextPath(),
request.getDescription(false), null); request.getDescription(false), null);
return new ResponseEntity<Object>(errorDetails, HttpStatus.NOT_FOUND); return new ResponseEntity<Object>(errorDetails, HttpStatus.NOT_FOUND);
} }
@ExceptionHandler(EmployeeNotFoundException.class)
public final ResponseEntity<Object> handleEmployeeNotFoundException(EmployeeNotFoundException ex, WebRequest request) {
log.error("Exception occured due to::", ex);
ResponseDetails errorDetails = new ResponseDetails(new Date(), 902,
"The Employee you are looking for is not found", ex.getMessage(), null, request.getContextPath(),
request.getDescription(false), null);
return new ResponseEntity<Object>(errorDetails, HttpStatus.NOT_FOUND);
}
@Override @Override
protected ResponseEntity<Object> handleMethodArgumentNotValid(MethodArgumentNotValidException ex, protected ResponseEntity<Object> handleMethodArgumentNotValid(MethodArgumentNotValidException ex,
HttpHeaders headers, HttpStatus status, WebRequest request) { HttpHeaders headers, HttpStatus status, WebRequest request) {
log.error("The exception is occured due to ::", ex);
ResponseDetails errorDetails = new ResponseDetails(new Date(), 702, "Method Arguement is not validated", ResponseDetails errorDetails = new ResponseDetails(new Date(), 702, "Method Arguement is not validated",
"Validation Failed", null, request.getContextPath(), ex.getBindingResult().toString(), null); "Validation Failed", null, request.getContextPath(), ex.getBindingResult().toString(), null);
return new ResponseEntity<Object>(errorDetails, HttpStatus.BAD_REQUEST); return new ResponseEntity<Object>(errorDetails, HttpStatus.BAD_REQUEST);
......
...@@ -20,8 +20,8 @@ import lombok.ToString; ...@@ -20,8 +20,8 @@ import lombok.ToString;
@AllArgsConstructor @AllArgsConstructor
@NoArgsConstructor @NoArgsConstructor
@ToString @ToString
@Document(collection = "BillingDetails") @Document(collection = "billing")
public class BillingDetails extends AuditFields implements Serializable { public class Billing extends AuditFields implements Serializable {
public Date getBillingEndDate() { public Date getBillingEndDate() {
return billingEndDate; return billingEndDate;
......
...@@ -14,7 +14,7 @@ import lombok.ToString; ...@@ -14,7 +14,7 @@ import lombok.ToString;
@AllArgsConstructor @AllArgsConstructor
@NoArgsConstructor @NoArgsConstructor
@ToString @ToString
@Document(collection = "EmpShiftDetails") @Document(collection = "employeeShifts")
public class EmpShiftDetails extends AuditFields { public class EmpShiftDetails extends AuditFields {
@Id @Id
......
...@@ -3,6 +3,12 @@ package com.nisum.mytime.model; ...@@ -3,6 +3,12 @@ package com.nisum.mytime.model;
import java.io.Serializable; import java.io.Serializable;
import java.util.Date; import java.util.Date;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Pattern;
import javax.validation.constraints.Size;
import org.hibernate.validator.constraints.Email;
import org.hibernate.validator.constraints.NotBlank;
import org.springframework.data.annotation.Id; import org.springframework.data.annotation.Id;
import org.springframework.data.mongodb.core.mapping.Document; import org.springframework.data.mongodb.core.mapping.Document;
...@@ -15,7 +21,7 @@ import lombok.Setter; ...@@ -15,7 +21,7 @@ import lombok.Setter;
import lombok.ToString; import lombok.ToString;
@Setter @Setter
@Getter @Getter
@AllArgsConstructor @AllArgsConstructor
@NoArgsConstructor @NoArgsConstructor
@ToString @ToString
...@@ -26,24 +32,33 @@ public class Employee implements Serializable { ...@@ -26,24 +32,33 @@ public class Employee implements Serializable {
@Id @Id
private String id; private String id;
@NotBlank(message="Employee Id cannot be blank")
//@Pattern(regexp = "^\\d{6}", message = "Invalid Employee code, It should be 5 digit")
@ExcelCellName("Employee ID") @ExcelCellName("Employee ID")
private String employeeId; private String employeeId;
@NotBlank(message="Employee name should not be empty")
@Size(min = 2, max = 80, message = "Employee Name should have atlast 2 and less than 200 characters")
@ExcelCellName("Employee Name") @ExcelCellName("Employee Name")
private String employeeName; private String employeeName;
@Email(message = "Invalid email id")
@ExcelCellName("Email ID") @ExcelCellName("Email ID")
private String emailId; private String emailId;
@ExcelCellName("Role") @ExcelCellName("Role")
private String role; private String role;
@ExcelCellName("Shift")
private String shift;
@NotBlank(message="Designation cannot be blank")
@ExcelCellName("Designation") @ExcelCellName("Designation")
private String designation; private String designation;
@ExcelCellName("Shift")
private String shift;
@ExcelCellName("Primary Skill") @ExcelCellName("Primary Skill")
private String baseTechnology; private String baseTechnology;
...@@ -57,12 +72,17 @@ public class Employee implements Serializable { ...@@ -57,12 +72,17 @@ public class Employee implements Serializable {
@ExcelCellName("Skills") @ExcelCellName("Skills")
private String technologyKnown; private String technologyKnown;
@NotBlank
@Pattern(regexp="(^$|[0-9]{10})",message="Invalid mobile number")
@ExcelCellName("Primary Mobile") @ExcelCellName("Primary Mobile")
private String mobileNumber; private String mobileNumber;
@NotBlank
@Pattern(regexp="(^$|[0-9]{10})",message="Invalid alternate mobile number")
@ExcelCellName("Alternate Mobile") @ExcelCellName("Alternate Mobile")
private String alternateMobileNumber; private String alternateMobileNumber;
@Email(message = "Invalid personal email id")
@ExcelCellName("Personal Email") @ExcelCellName("Personal Email")
private String personalEmailId; private String personalEmailId;
...@@ -75,9 +95,11 @@ public class Employee implements Serializable { ...@@ -75,9 +95,11 @@ public class Employee implements Serializable {
@ExcelCellName("Employment Type") @ExcelCellName("Employment Type")
private String employmentType; private String employmentType;
@NotNull
@ExcelCellName("Date Of Joining") @ExcelCellName("Date Of Joining")
private Date dateOfJoining; private Date dateOfJoining;
@ExcelCellName("Date Of Birth") @ExcelCellName("Date Of Birth")
private Date dateOfBirth; private Date dateOfBirth;
......
package com.nisum.mytime.model; package com.nisum.mytime.model;
import java.io.Serializable; import java.io.Serializable;
import java.util.Date;
import java.util.List; import java.util.List;
import org.bson.types.ObjectId; import org.bson.types.ObjectId;
import org.springframework.data.annotation.Id; import org.springframework.data.annotation.Id;
import org.springframework.data.mongodb.core.mapping.Document; import org.springframework.data.mongodb.core.mapping.Document;
import com.poiji.annotation.ExcelCellName;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Getter; import lombok.Getter;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
...@@ -18,19 +21,20 @@ import lombok.ToString; ...@@ -18,19 +21,20 @@ import lombok.ToString;
@AllArgsConstructor @AllArgsConstructor
@NoArgsConstructor @NoArgsConstructor
@ToString @ToString
@Document(collection = "AccountInfo") @Document(collection = "employeeLocations")
public class EmployeeLocation implements Serializable {
public class AccountInfo implements Serializable {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
@Id @Id
private ObjectId id; private ObjectId id;
private String accountId; private String employeeId;
private String accountName; private String employeeName;
private String status; private String empLocation;
private String clientAddress; private Date startDate;
private String industryType; private Date endDate;
List<String> deliveryManagers; private Date createDate;
private Date updatedDate;
private boolean active;
} }
package com.nisum.mytime.model;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
import org.bson.types.ObjectId;
import org.springframework.data.annotation.Id;
import org.springframework.data.mongodb.core.mapping.Document;
import com.poiji.annotation.ExcelCellName;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.ToString;
@Setter
@Getter
@AllArgsConstructor
@NoArgsConstructor
@ToString
@Document(collection = "EmployeeLocationDetails")
public class EmployeeLocationDetails implements Serializable {
private static final long serialVersionUID = 1L;
@Id
private ObjectId id;
private String employeeId;
private String employeeName;
private String empLocation;
private Date startDate;
private Date endDate;
private Date createDate;
private Date updatedDate;
private boolean active;
}
...@@ -16,8 +16,9 @@ import lombok.ToString; ...@@ -16,8 +16,9 @@ import lombok.ToString;
@AllArgsConstructor @AllArgsConstructor
@NoArgsConstructor @NoArgsConstructor
@ToString @ToString
@Document(collection = "EmpAssignedRoleMappingInfo") //@Document(collection = "EmpAssignedRoleMappingInfo")
public class RoleMappingInfo implements Serializable { @Document(collection = "employeeRoles")
public class EmployeeRole implements Serializable {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
@Id @Id
......
...@@ -17,8 +17,8 @@ import lombok.ToString; ...@@ -17,8 +17,8 @@ import lombok.ToString;
@AllArgsConstructor @AllArgsConstructor
@NoArgsConstructor @NoArgsConstructor
@ToString @ToString
@Document(collection = "Locations") @Document(collection = "orgLocations")
public class Location implements Serializable { public class OrgLocation implements Serializable {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
......
...@@ -20,8 +20,8 @@ import lombok.ToString; ...@@ -20,8 +20,8 @@ import lombok.ToString;
@AllArgsConstructor @AllArgsConstructor
@NoArgsConstructor @NoArgsConstructor
@ToString @ToString
@Document(collection = "TeamDetails") @Document(collection = "resources")
public class ProjectTeamMate extends AuditFields implements Serializable { public class Resource extends AuditFields implements Serializable {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
...@@ -35,7 +35,6 @@ public class ProjectTeamMate extends AuditFields implements Serializable { ...@@ -35,7 +35,6 @@ public class ProjectTeamMate extends AuditFields implements Serializable {
private String projectId; private String projectId;
private String projectName; private String projectName;
private String account; private String account;
private String experience; private String experience;
private String designation; private String designation;
private String billableStatus; private String billableStatus;
......
package com.nisum.mytime.repository;
import org.springframework.data.mongodb.repository.MongoRepository;
import com.nisum.mytime.model.AccountInfo;
public interface AccountInfoRepo extends MongoRepository<AccountInfo, String> {
AccountInfo findByAccountName(String accontName);
}
\ No newline at end of file
...@@ -5,16 +5,16 @@ import java.util.List; ...@@ -5,16 +5,16 @@ import java.util.List;
import org.bson.types.ObjectId; import org.bson.types.ObjectId;
import org.springframework.data.mongodb.repository.MongoRepository; import org.springframework.data.mongodb.repository.MongoRepository;
import com.nisum.mytime.model.BillingDetails; import com.nisum.mytime.model.Billing;
public interface TeamMatesBillingRepo extends MongoRepository<BillingDetails, String> { public interface BillingRepo extends MongoRepository<Billing, String> {
List<BillingDetails> findByProjectId(String projectId); List<Billing> findByProjectId(String projectId);
List<BillingDetails> findByEmployeeId(String employeeId); List<Billing> findByEmployeeId(String employeeId);
BillingDetails findById(ObjectId id); Billing findById(ObjectId id);
List<BillingDetails> findByEmployeeIdAndProjectId(String employeeId, String projectId); List<Billing> findByEmployeeIdAndProjectId(String employeeId, String projectId);
} }
...@@ -4,12 +4,11 @@ import java.util.List; ...@@ -4,12 +4,11 @@ import java.util.List;
import org.springframework.data.mongodb.repository.MongoRepository; import org.springframework.data.mongodb.repository.MongoRepository;
import com.nisum.mytime.model.EmployeeLocationDetails; import com.nisum.mytime.model.EmployeeLocation;
public interface EmployeeLocationDetailsRepo extends MongoRepository<EmployeeLocationDetails, String> { public interface EmployeeLocationRepo extends MongoRepository<EmployeeLocation, String> {
List<EmployeeLocationDetails> findByEmployeeId(String employeeId); List<EmployeeLocation> findByEmployeeId(String employeeId);
EmployeeLocationDetails findByEmployeeName(String employeeName); EmployeeLocation findByEmployeeName(String employeeName);
} }
package com.nisum.mytime.repository; package com.nisum.mytime.repository;
import java.util.List; import java.util.List;
import java.util.Optional;
import java.util.Set; import java.util.Set;
import org.springframework.data.domain.Example;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.data.domain.Sort;
import org.springframework.data.mongodb.repository.MongoRepository; import org.springframework.data.mongodb.repository.MongoRepository;
import com.nisum.mytime.model.Employee; import com.nisum.mytime.model.Employee;
...@@ -24,5 +29,6 @@ public interface EmployeeRepo ...@@ -24,5 +29,6 @@ public interface EmployeeRepo
List<Employee> findByEmpStatus(String status); List<Employee> findByEmpStatus(String status);
List<Employee> findByEmployeeIdIn(Set<String> empIdsSet); List<Employee> findByEmployeeIdIn(Set<String> empIdsSet);
} }
\ No newline at end of file
...@@ -4,11 +4,11 @@ import java.util.List; ...@@ -4,11 +4,11 @@ import java.util.List;
import org.springframework.data.mongodb.repository.MongoRepository; import org.springframework.data.mongodb.repository.MongoRepository;
import com.nisum.mytime.model.RoleMappingInfo; import com.nisum.mytime.model.EmployeeRole;
public interface RoleMappingInfoRepo extends MongoRepository<RoleMappingInfo, String> { public interface EmployeeRoleRepo extends MongoRepository<EmployeeRole, String> {
RoleMappingInfo findByEmployeeIdAndRoleId(String employeeId, String roleId); EmployeeRole findByEmployeeIdAndRoleId(String employeeId, String roleId);
List<RoleMappingInfo> findByEmployeeId(String employeeId); List<EmployeeRole> findByEmployeeId(String employeeId);
} }
\ No newline at end of file
...@@ -4,8 +4,8 @@ import java.util.List; ...@@ -4,8 +4,8 @@ import java.util.List;
import org.springframework.data.mongodb.repository.MongoRepository; import org.springframework.data.mongodb.repository.MongoRepository;
import com.nisum.mytime.model.Location; import com.nisum.mytime.model.OrgLocation;
public interface LocationRepo extends MongoRepository<Location, String> { public interface OrgLocationRepo extends MongoRepository<OrgLocation, String> {
List<Location> findByLocationAndActiveStatus(String location, boolean activeStatus); List<OrgLocation> findByLocationAndActiveStatus(String location, boolean activeStatus);
} }
\ No newline at end of file
package com.nisum.mytime.repository;
import java.util.List;
import java.util.Optional;
import org.bson.types.ObjectId;
import org.springframework.data.mongodb.repository.MongoRepository;
import com.nisum.mytime.model.ProjectTeamMate;
public interface ProjectTeamMatesRepo
extends MongoRepository<ProjectTeamMate, String> {
List<ProjectTeamMate> findByProjectId(String projectId);
List<ProjectTeamMate> findByEmployeeId(String employeeId);
ProjectTeamMate findById(ObjectId id);
ProjectTeamMate findByEmployeeIdAndProjectId(String employeeId,String projectId);
List<ProjectTeamMate> findByEmployeeIdAndActive(String employeeId,boolean status);
List<ProjectTeamMate> findByEmployeeIdAndProjectIdAndActive(String employeeId, String projectId, boolean status);
List<ProjectTeamMate> findByAccountAndActiveAndBillableStatus( String account, boolean status, String billableStatus);
Optional<List<ProjectTeamMate>> findByActiveAndShiftLikeOrderByEmployeeIdDesc( boolean active, String shift);
}
package com.nisum.mytime.repository;
import java.util.List;
import java.util.Optional;
import org.bson.types.ObjectId;
import org.springframework.data.mongodb.repository.MongoRepository;
import com.nisum.mytime.model.Resource;
public interface ResourceRepo
extends MongoRepository<Resource, String> {
List<Resource> findByProjectId(String projectId);
List<Resource> findByEmployeeId(String employeeId);
Resource findById(ObjectId id);
Resource findByEmployeeIdAndProjectId(String employeeId,String projectId);
List<Resource> findByEmployeeIdAndActive(String employeeId,boolean status);
List<Resource> findByEmployeeIdAndProjectIdAndActive(String employeeId, String projectId, boolean status);
List<Resource> findByAccountAndActiveAndBillableStatus( String account, boolean status, String billableStatus);
Optional<List<Resource>> findByActiveAndShiftLikeOrderByEmployeeIdDesc( boolean active, String shift);
}
...@@ -4,7 +4,7 @@ import org.springframework.data.mongodb.repository.MongoRepository; ...@@ -4,7 +4,7 @@ import org.springframework.data.mongodb.repository.MongoRepository;
import com.nisum.mytime.model.Role; import com.nisum.mytime.model.Role;
public interface RoleInfoRepo extends MongoRepository<Role, String> { public interface RoleRepo extends MongoRepository<Role, String> {
Role findByRoleName(String roleName); Role findByRoleName(String roleName);
......
...@@ -23,4 +23,6 @@ public interface IAccountService { ...@@ -23,4 +23,6 @@ public interface IAccountService {
Account deleteAccount(String accountId) throws MyTimeException; Account deleteAccount(String accountId) throws MyTimeException;
public List<Account> getAccountsAll() throws MyTimeException;
} }
...@@ -10,10 +10,20 @@ import com.nisum.mytime.model.EmpLoginData; ...@@ -10,10 +10,20 @@ import com.nisum.mytime.model.EmpLoginData;
public interface IAttendanceService { public interface IAttendanceService {
List<AttendenceData> getAttendanciesReport(String reportDate,String shift) throws MyTimeException, SQLException; List<AttendenceData> getAttendanciesReport(String reportDate, String shift) throws MyTimeException, SQLException;
List generatePdfReport(long id, String fromDate, String toDate, String fromTime, String toTime) throws MyTimeException; List generatePdfReport(long id, String fromDate, String toDate, String fromTime, String toTime)
throws MyTimeException;
List<EmpLoginData> employeeLoginReportBasedOnDateTime(long id, String fromDate, String toDate, String fromTime,
String toTime) throws MyTimeException, ParseException;
Boolean fetchEmployeesData(String perticularDate, boolean resynchFlag) throws MyTimeException;
List<EmpLoginData> employeeLoginsBasedOnDate(long id, String fromDate, String toDate) throws MyTimeException;
List generatePdfReport(long id, String fromDate, String toDate) throws MyTimeException;
List<EmpLoginData> employeeLoginReportBasedOnDateTime(long id, String fromDate,
String toDate,String fromTime,String toTime) throws MyTimeException, ParseException;
} }
package com.nisum.mytime.service;
import java.util.List;
import org.springframework.stereotype.Service;
import com.nisum.mytime.model.Billing;
import com.nisum.mytime.model.Employee;
@Service
public interface IBillingService {
public Billing addBillingtoResource(Billing billing, Employee employee, String loginEmpId);
public List<Billing> getEmployeeActiveBillingDetails(String empId, String projectId);
}
...@@ -32,4 +32,10 @@ public interface IDomainService { ...@@ -32,4 +32,10 @@ public interface IDomainService {
Set<String> accountsAssignedToDeliveryLead(String empId) throws MyTimeException; Set<String> accountsAssignedToDeliveryLead(String empId) throws MyTimeException;
List<Domain> getDomainsUnderAccount(String accountId)throws MyTimeException; List<Domain> getDomainsUnderAccount(String accountId)throws MyTimeException;
Domain getDomainById(String domainId);
} }
...@@ -5,13 +5,14 @@ import java.util.List; ...@@ -5,13 +5,14 @@ import java.util.List;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import com.nisum.mytime.model.Employee; import com.nisum.mytime.model.Employee;
import com.nisum.mytime.model.EmployeeLocationDetails; import com.nisum.mytime.model.EmployeeLocation;
@Service @Service
public interface IEmployeeLocationService { public interface IEmployeeLocationService {
public void save(Employee employee);
public void saveEmployeeLocationDetails(Employee employee) ;
public List<EmployeeLocation> getEmployeeLocations(String empId);
public List<EmployeeLocationDetails> getEmployeeLocationDetails(String empId);
void update(Employee employee, boolean delete);
} }
...@@ -3,11 +3,17 @@ package com.nisum.mytime.service; ...@@ -3,11 +3,17 @@ package com.nisum.mytime.service;
import java.util.List; import java.util.List;
import java.util.Set; import java.util.Set;
import org.springframework.stereotype.Service;
import com.mongodb.WriteResult; import com.mongodb.WriteResult;
import com.nisum.mytime.exception.handler.MyTimeException; import com.nisum.mytime.exception.handler.MyTimeException;
import com.nisum.mytime.model.EmployeeRole;
public interface IRoleMappingService { @Service
public interface IEmployeeRoleService {
List<EmployeeRole> findByEmployeeId(String employeeId);
void addEmployeeRole(String employeeId, String roleId) throws MyTimeException; void addEmployeeRole(String employeeId, String roleId) throws MyTimeException;
void saveUniqueEmployeeAndRole(List<String> employeeIds, String roleId) throws MyTimeException; void saveUniqueEmployeeAndRole(List<String> employeeIds, String roleId) throws MyTimeException;
......
package com.nisum.mytime.service; package com.nisum.mytime.service;
import java.text.ParseException;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Set;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.web.multipart.MultipartFile;
import com.nisum.mytime.exception.handler.MyTimeException; import com.nisum.mytime.exception.handler.MyTimeException;
import com.nisum.mytime.model.Account; import com.nisum.mytime.model.Account;
import com.nisum.mytime.model.AccountInfo;
import com.nisum.mytime.model.Designation;
import com.nisum.mytime.model.Domain;
import com.nisum.mytime.model.EmpLoginData;
import com.nisum.mytime.model.EmployeeLocationDetails;
import com.nisum.mytime.model.Employee; import com.nisum.mytime.model.Employee;
import com.nisum.mytime.model.Location;
import com.nisum.mytime.model.MasterData;
import com.nisum.mytime.model.Shift;
import com.nisum.mytime.model.Skill;
@Service @Service
public interface IEmployeeService { public interface IEmployeeService {
List<Employee> getManagers()throws MyTimeException; boolean isEmployeeExistsById(String employeeId);
Boolean fetchEmployeesData(String perticularDate, boolean resynchFlag)
throws MyTimeException;
List<EmpLoginData> employeeLoginsBasedOnDate(long id, String fromDate,
String toDate) throws MyTimeException;
List<Employee> getActiveEmployees() throws MyTimeException;
Employee createEmployee(Employee employeeRoles, String empId)
throws MyTimeException;
List generatePdfReport(long id, String fromDate, String toDate)
throws MyTimeException;
List generatePdfReport(long id, String fromDate, String toDate,String fromTime,String toTime)
throws MyTimeException, ParseException;
Employee getEmployeeByEmaillId(String emailId);
void deleteEmployee(String empId); Employee createEmployee(Employee employeeRoles, String empId) throws MyTimeException;
Employee updateEmployeeRole(Employee employeeRoles,String empId); Employee updateEmployee(Employee employeeRoles, String empId);
void updateEmployeeLocationDetails(Employee employeeRoles, Employee deleteEmployee(String empId);
boolean delete);
//void saveEmployeeLocationDetails(Employee employeeRoles); Employee updateProfile(Employee employeeRoles) throws MyTimeException;
Employee getEmployeesRoleData(String empId); Employee getEmployeeById(String empId);
//List<EmployeeLocationDetails> getEmployeeLocationDetails(String empId); Employee getEmployeeByEmaillId(String emailId);
// List<Shift> getAllShifts() throws MyTimeException; List<Employee> getManagers() throws MyTimeException;
// List<Designation> getAllDesignations() throws MyTimeException; List<Employee> getActiveEmployees() throws MyTimeException;
//List<Skill> getTechnologies() throws MyTimeException; List<Employee> getEmployeesByStatus(String status);
public Employee updateProfile(Employee employeeRoles) List<Account> getAccounts() throws MyTimeException;
throws MyTimeException;
public List<Account> getAccounts() throws MyTimeException; Employee getEmployeeRoleDataForSearchCriteria(String searchId, String searchAttribute);
//List<Location> getLocations() throws MyTimeException; List<String> getEmployeeDetailsForAutocomplete();
Employee getEmployeeRoleDataForSearchCriteria(String searchId, List<HashMap<String, String>> getDeliveryLeads(String domainId);
String searchAttribute);
List<String> getEmployeeDetailsForAutocomplete(); List<Employee> getEmployeesByFunctionalGrp(String functionalGrp);
//List<MasterData> getMasterData() throws MyTimeException; boolean verifyEmployeeRole(String empId, String roleName);
List<Employee> getEmployeesByFunctionalGrp(String functionalGrp); List<Employee> getEmployeesFromList(Set<String> empIdsSet);
List<Employee> getEmployeesByStatus(String status);
List<HashMap<String, String>> getDeliveryLeads(String domainId);
public List<AccountInfo> getAccountsInfo() throws MyTimeException;
public List<Domain> getDomains(String accountId)throws MyTimeException;
public boolean verifyRole(String empId, String roleName);
String importDataFromExcelFile(MultipartFile file, String empId) throws MyTimeException;
} }
package com.nisum.mytime.service;
import org.springframework.stereotype.Service;
import com.nisum.mytime.model.Resource;
@Service
public interface IEmployeeShiftService {
void updateShiftDetails(Resource existingTeammate, String loginEmpId);
}
...@@ -11,4 +11,7 @@ import com.nisum.mytime.model.MasterData; ...@@ -11,4 +11,7 @@ import com.nisum.mytime.model.MasterData;
public interface IMasterDataService { public interface IMasterDataService {
List<MasterData> getMasterData() throws MyTimeException; List<MasterData> getMasterData() throws MyTimeException;
List<MasterData> findByMasterDataTypeAndMasterDataNameAndActiveStatus(String masterDataType, String masterDataName,
boolean activeStatus);
} }
...@@ -5,10 +5,12 @@ import java.util.List; ...@@ -5,10 +5,12 @@ import java.util.List;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import com.nisum.mytime.exception.handler.MyTimeException; import com.nisum.mytime.exception.handler.MyTimeException;
import com.nisum.mytime.model.Location; import com.nisum.mytime.model.OrgLocation;
@Service @Service
public interface IOrgLocationService { public interface IOrgLocationService {
List<Location> getLocations() throws MyTimeException; List<OrgLocation> getLocations() throws MyTimeException;
List<OrgLocation> findByLocationAndActiveStatus(String location, boolean activeStatus);
} }
...@@ -7,17 +7,17 @@ import java.util.Set; ...@@ -7,17 +7,17 @@ import java.util.Set;
import org.bson.types.ObjectId; import org.bson.types.ObjectId;
import com.nisum.mytime.exception.handler.MyTimeException; import com.nisum.mytime.exception.handler.MyTimeException;
import com.nisum.mytime.model.BillingDetails; import com.nisum.mytime.model.Billing;
import com.nisum.mytime.model.EmpLoginData; import com.nisum.mytime.model.EmpLoginData;
import com.nisum.mytime.model.EmployeeDashboardVO; import com.nisum.mytime.model.EmployeeDashboardVO;
import com.nisum.mytime.model.Employee; import com.nisum.mytime.model.Employee;
import com.nisum.mytime.model.Project; import com.nisum.mytime.model.Project;
import com.nisum.mytime.model.ProjectTeamMate; import com.nisum.mytime.model.Resource;
public interface IProjectService { public interface IProjectService {
public ProjectTeamMate addNewBeanchAllocation(Employee employee,String loginEmpId); public Resource addNewBeanchAllocation(Employee employee,String loginEmpId);
List<EmpLoginData> employeeLoginsBasedOnDate(long id, String fromDate, List<EmpLoginData> employeeLoginsBasedOnDate(long id, String fromDate,
String toDate) throws MyTimeException; String toDate) throws MyTimeException;
...@@ -37,58 +37,58 @@ public interface IProjectService { ...@@ -37,58 +37,58 @@ public interface IProjectService {
Employee getEmployeesRoleData(String empId); Employee getEmployeesRoleData(String empId);
List<ProjectTeamMate> getTeamDetails(String empId); List<Resource> getTeamDetails(String empId);
//MT-72 //MT-72
List<ProjectTeamMate> getProjectInfo(String empId); List<Resource> getProjectInfo(String empId);
public ProjectTeamMate addProjectTeamMate(ProjectTeamMate projectTeamMate, String loginEmpId) public Resource addProjectTeamMate(Resource projectTeamMate, String loginEmpId)
throws MyTimeException; throws MyTimeException;
String updateTeammate(ProjectTeamMate projectTeamMate, String loginEmpId) throws MyTimeException; String updateTeammate(Resource projectTeamMate, String loginEmpId) throws MyTimeException;
void deleteTeammate(String empId, String projectId, ObjectId id, String loginEmpId); void deleteTeammate(String empId, String projectId, ObjectId id, String loginEmpId);
List<Project> getProjects(String managerId) throws MyTimeException; List<Project> getProjects(String managerId) throws MyTimeException;
List<ProjectTeamMate> getMyTeamDetails(String empId); List<Resource> getMyTeamDetails(String empId);
List<Employee> getUnAssignedEmployees(); List<Employee> getUnAssignedEmployees();
List<ProjectTeamMate> getShiftDetails(String shift); List<Resource> getShiftDetails(String shift);
List<ProjectTeamMate> getAllProjectDetails(); List<Resource> getAllProjectDetails();
List<ProjectTeamMate> getProjectDetails(String projectId,String status); List<Resource> getProjectDetails(String projectId,String status);
public List<ProjectTeamMate> getMyProjectAllocations(String empId); public List<Resource> getMyProjectAllocations(String empId);
List<BillingDetails> getEmployeeBillingDetails(String empId, List<Billing> getEmployeeBillingDetails(String empId,
String projectId); String projectId);
BillingDetails addEmployeeBillingDetails(BillingDetails billingDetails, String loginEmpId); Billing addEmployeeBillingDetails(Billing billingDetails, String loginEmpId);
BillingDetails updateEmployeeBilling(BillingDetails billingDetails, String loginEmpId); Billing updateEmployeeBilling(Billing billingDetails, String loginEmpId);
void deleteEmployeeBilling(BillingDetails teamMate); void deleteEmployeeBilling(Billing teamMate);
public List<EmployeeDashboardVO> getEmployeesDashBoard(); public List<EmployeeDashboardVO> getEmployeesDashBoard();
List<BillingDetails> getEmployeeActiveBillingDetails(String empId, List<Billing> getEmployeeActiveBillingDetails(String empId,
String projectId); String projectId);
List<BillingDetails> getEmployeeActiveNisumBench(String empId); List<Billing> getEmployeeActiveNisumBench(String empId);
List<BillingDetails> getEmployeeBillingDetailsAll(String empId); List<Billing> getEmployeeBillingDetailsAll(String empId);
public void updateShiftDetails(ProjectTeamMate existingTeammate, String loginEmpId); public void updateShiftDetails(Resource existingTeammate, String loginEmpId);
public void addShiftDetails(ProjectTeamMate projectTeamMate, String loginEmpId); public void addShiftDetails(Resource projectTeamMate, String loginEmpId);
List<ProjectTeamMate> findByAccountAndActiveAndBillableStatus( List<Resource> findByAccountAndActiveAndBillableStatus(
String account, boolean status, String billableStatus); String account, boolean status, String billableStatus);
public String addProjectTeamMateWithCheck(ProjectTeamMate projectTeamMate, String loginEmpId) public String addProjectTeamMateWithCheck(Resource projectTeamMate, String loginEmpId)
throws MyTimeException; throws MyTimeException;
public List<HashMap<Object, Object>> projectsInfoByEmpId(String empId); public List<HashMap<Object, Object>> projectsInfoByEmpId(String empId);
......
package com.nisum.mytime.service;
import java.util.List;
import org.springframework.stereotype.Service;
import com.nisum.mytime.model.Employee;
import com.nisum.mytime.model.Resource;
@Service
public interface IResourceService {
public Resource save(Resource resource);
void addResources(Employee employee, String loginEmpId);
void inactivateResource(Employee employeeReq, Employee employeeUpdated, String loginEmpId);
public List<Resource> getResources(String empId);
}
package com.nisum.mytime.service; package com.nisum.mytime.service;
import org.springframework.stereotype.Service;
import com.nisum.mytime.exception.handler.MyTimeException; import com.nisum.mytime.exception.handler.MyTimeException;
import com.nisum.mytime.model.Role; import com.nisum.mytime.model.Role;
public interface IRoleInfoService { @Service
public interface IRoleService {
public Role addRole(Role roleInfo) throws MyTimeException; public Role addRole(Role roleInfo) throws MyTimeException;
......
package com.nisum.mytime.service;
import org.springframework.stereotype.Service;
import org.springframework.web.multipart.MultipartFile;
import com.nisum.mytime.exception.handler.MyTimeException;
@Service
public interface IUploadXLService {
String importDataFromExcelFile(MultipartFile file, String empId) throws MyTimeException;
}
...@@ -22,12 +22,15 @@ import com.nisum.mytime.model.Account; ...@@ -22,12 +22,15 @@ import com.nisum.mytime.model.Account;
import com.nisum.mytime.model.Employee; import com.nisum.mytime.model.Employee;
import com.nisum.mytime.repository.AccountRepo; import com.nisum.mytime.repository.AccountRepo;
import com.nisum.mytime.service.IAccountService; import com.nisum.mytime.service.IAccountService;
import com.nisum.mytime.service.IRoleInfoService; import com.nisum.mytime.service.IRoleService;
import com.nisum.mytime.service.IRoleMappingService; import com.nisum.mytime.service.IEmployeeRoleService;
import com.nisum.mytime.utils.CommomUtil; import com.nisum.mytime.utils.CommomUtil;
import com.nisum.mytime.utils.MyTimeUtils; import com.nisum.mytime.utils.MyTimeUtils;
import lombok.extern.slf4j.Slf4j;
@Service @Service
@Slf4j
public class AccountService implements IAccountService { public class AccountService implements IAccountService {
@Autowired @Autowired
...@@ -37,12 +40,11 @@ public class AccountService implements IAccountService { ...@@ -37,12 +40,11 @@ public class AccountService implements IAccountService {
private MongoTemplate mongoTemplate; private MongoTemplate mongoTemplate;
@Autowired @Autowired
private IRoleInfoService roleInfoService; private IRoleService roleInfoService;
@Autowired @Autowired
private IRoleMappingService roleMappingService; private IEmployeeRoleService roleMappingService;
private static final Logger logger = LoggerFactory.getLogger(AccountService.class);
@Override @Override
public Account createAccount(Account accountReq) throws MyTimeException { public Account createAccount(Account accountReq) throws MyTimeException {
...@@ -50,16 +52,16 @@ public class AccountService implements IAccountService { ...@@ -50,16 +52,16 @@ public class AccountService implements IAccountService {
accountReq.setAccountId(generateAccountId()); accountReq.setAccountId(generateAccountId());
accountReq.setStatus(MyTimeUtils.STRING_Y); accountReq.setStatus(MyTimeUtils.STRING_Y);
Account accountPersisted = accountRepo.save(accountReq); Account accountPersisted = accountRepo.save(accountReq);
if (logger.isInfoEnabled()) { if (log.isInfoEnabled()) {
logger.info("Account has been persisted in database with account details::" + accountPersisted); log.info("Account has been persisted in database with account details::" + accountPersisted);
} }
if (accountPersisted != null) { if (accountPersisted != null) {
List<String> accountDmsList = accountReq.getDeliveryManagers(); List<String> accountDmsList = accountReq.getDeliveryManagers();
if (accountDmsList != null && !accountDmsList.isEmpty() && accountDmsList.size() > 0) { if (accountDmsList != null && !accountDmsList.isEmpty() && accountDmsList.size() > 0) {
String roleId = roleInfoService.getRole(MyTimeUtils.ACCOUNT); String roleId = roleInfoService.getRole(MyTimeUtils.ACCOUNT);
logger.info("Going to add DM role id for account delivery managers::::" + accountDmsList); log.info("Going to add DM role id for account delivery managers::::" + accountDmsList);
roleMappingService.saveUniqueEmployeeAndRole(accountDmsList, roleId); roleMappingService.saveUniqueEmployeeAndRole(accountDmsList, roleId);
logger.info("Added roleids for delivery managers in rolemapping collection"); log.info("Added roleids for delivery managers in rolemapping collection");
} }
} }
...@@ -73,15 +75,15 @@ public class AccountService implements IAccountService { ...@@ -73,15 +75,15 @@ public class AccountService implements IAccountService {
accountUpdating.setStatus(accountBeforeUpdate.getStatus()); accountUpdating.setStatus(accountBeforeUpdate.getStatus());
accountUpdating.setAccountName(accountUpdating.getAccountName().trim()); accountUpdating.setAccountName(accountUpdating.getAccountName().trim());
logger.info("Updating the roleids of DeliveryManagers in RoleMapping Collection"); log.info("Updating the roleids of DeliveryManagers in RoleMapping Collection");
final String roleId = roleInfoService.getRole(MyTimeUtils.ACCOUNT); final String roleId = roleInfoService.getRole(MyTimeUtils.ACCOUNT);
updateRoleIdsForDeliveryManager(accountUpdating, roleId); updateRoleIdsForDeliveryManager(accountUpdating, roleId);
logger.info("Deleting the roleids of DeliveryManagers in RoleMapping Collection"); log.info("Deleting the roleids of DeliveryManagers in RoleMapping Collection");
deleteRoleIdsForDeliveryManager(accountUpdating, roleId); deleteRoleIdsForDeliveryManager(accountUpdating, roleId);
Account accountUpdated = accountRepo.save(accountUpdating); Account accountUpdated = accountRepo.save(accountUpdating);
logger.info("Account updated::"+accountUpdated); log.info("Account updated::"+accountUpdated);
return accountUpdated; return accountUpdated;
} }
...@@ -105,8 +107,8 @@ public class AccountService implements IAccountService { ...@@ -105,8 +107,8 @@ public class AccountService implements IAccountService {
List<Map<String, String>> updatedEmployeeList = null; List<Map<String, String>> updatedEmployeeList = null;
for (Account account : accountRepo.findAll()) { for (Account account : accountRepo.findAll()) {
updatedEmployeeList = new ArrayList<>(); updatedEmployeeList = new ArrayList<>();
for (Employee employeesRole : getEmployeeDetails(account)) { for (Employee employee : getEmployeeDetails(account)) {
updatedEmployeeList.add(getEmployeeDetails(employeesRole)); updatedEmployeeList.add(getEmployeeDetails(employee));
} }
updatedAccountList.add(getAccuntDetails(account, updatedEmployeeList)); updatedAccountList.add(getAccuntDetails(account, updatedEmployeeList));
} }
...@@ -117,7 +119,7 @@ public class AccountService implements IAccountService { ...@@ -117,7 +119,7 @@ public class AccountService implements IAccountService {
public Account deleteAccount(String accountId) throws MyTimeException { public Account deleteAccount(String accountId) throws MyTimeException {
// delete the documents for deliveryManagers in rolemapping collection. // delete the documents for deliveryManagers in rolemapping collection.
logger.info("After updation:: Deleting the Roleids for DeliveryManagers in RoleMapping collection"); log.info("After updation:: Deleting the Roleids for DeliveryManagers in RoleMapping collection");
deleteRoleidsForDeliveryManagers(accountId); deleteRoleidsForDeliveryManagers(accountId);
// updating the status to "InActive". // updating the status to "InActive".
...@@ -128,7 +130,7 @@ public class AccountService implements IAccountService { ...@@ -128,7 +130,7 @@ public class AccountService implements IAccountService {
options.upsert(true); options.upsert(true);
Account updatedAccount = mongoTemplate.findAndModify(query, update, options, Account.class); Account updatedAccount = mongoTemplate.findAndModify(query, update, options, Account.class);
logger.info("The account updated::" + updatedAccount); log.info("The account updated::" + updatedAccount);
return updatedAccount; return updatedAccount;
} }
...@@ -236,5 +238,12 @@ public class AccountService implements IAccountService { ...@@ -236,5 +238,12 @@ public class AccountService implements IAccountService {
} }
} }
} }
@Override
public List<Account> getAccountsAll() throws MyTimeException {
return accountRepo.findAll();
}
} }
...@@ -21,8 +21,8 @@ import com.nisum.mytime.configuration.DbConnection; ...@@ -21,8 +21,8 @@ import com.nisum.mytime.configuration.DbConnection;
import com.nisum.mytime.exception.handler.MyTimeException; import com.nisum.mytime.exception.handler.MyTimeException;
import com.nisum.mytime.model.AttendenceData; import com.nisum.mytime.model.AttendenceData;
import com.nisum.mytime.model.EmpLoginData; import com.nisum.mytime.model.EmpLoginData;
import com.nisum.mytime.model.ProjectTeamMate; import com.nisum.mytime.model.Resource;
import com.nisum.mytime.repository.ProjectTeamMatesRepo; import com.nisum.mytime.repository.ResourceRepo;
import com.nisum.mytime.service.IAttendanceService; import com.nisum.mytime.service.IAttendanceService;
import com.nisum.mytime.utils.CommomUtil; import com.nisum.mytime.utils.CommomUtil;
import com.nisum.mytime.utils.MyTimeLogger; import com.nisum.mytime.utils.MyTimeLogger;
...@@ -39,7 +39,7 @@ public class AttendanceService implements IAttendanceService { ...@@ -39,7 +39,7 @@ public class AttendanceService implements IAttendanceService {
DbConnection dbConnection; DbConnection dbConnection;
@Autowired @Autowired
ProjectTeamMatesRepo projectTeamMatesRepo; ResourceRepo projectTeamMatesRepo;
@Autowired @Autowired
private PdfReportGenerator pdfReportGenerator; private PdfReportGenerator pdfReportGenerator;
...@@ -66,12 +66,15 @@ public class AttendanceService implements IAttendanceService { ...@@ -66,12 +66,15 @@ public class AttendanceService implements IAttendanceService {
throws MyTimeException { throws MyTimeException {
return pdfReportGenerator.generateEmployeeReport(id, fromDate, toDate); return pdfReportGenerator.generateEmployeeReport(id, fromDate, toDate);
} }
private List<AttendenceData> getEmpsAttendenceByShiftWise(String reportDate, String shift) throws MyTimeException { private List<AttendenceData> getEmpsAttendenceByShiftWise(String reportDate, String shift) throws MyTimeException {
List<AttendenceData> listOfEmployees = new ArrayList<AttendenceData>(); List<AttendenceData> listOfEmployees = new ArrayList<AttendenceData>();
Optional<List<ProjectTeamMate>> list = findEmpIdsByShiftWise(shift); Optional<List<Resource>> list = findEmpIdsByShiftWise(shift);
if(list.isPresent()) { if(list.isPresent()) {
List<String> empIdList = list.get().stream().map(ProjectTeamMate::getEmployeeId).collect(Collectors.toList()); List<String> empIdList = list.get().stream().map(Resource::getEmployeeId).collect(Collectors.toList());
if(null != empIdList && empIdList.size() > MyTimeUtils.INT_ZERO) { if(null != empIdList && empIdList.size() > MyTimeUtils.INT_ZERO) {
String query = buildSqlQuery(reportDate,empIdList.toString().substring(1, empIdList.toString().length()-1), MyTimeUtils.PRESENT); String query = buildSqlQuery(reportDate,empIdList.toString().substring(1, empIdList.toString().length()-1), MyTimeUtils.PRESENT);
listOfEmployees.addAll(getAttendenceData(query, MyTimeUtils.PRESENT)); listOfEmployees.addAll(getAttendenceData(query, MyTimeUtils.PRESENT));
...@@ -87,8 +90,8 @@ public class AttendanceService implements IAttendanceService { ...@@ -87,8 +90,8 @@ public class AttendanceService implements IAttendanceService {
return listOfEmployees; return listOfEmployees;
} }
private Optional<List<ProjectTeamMate>> findEmpIdsByShiftWise(String shift) { private Optional<List<Resource>> findEmpIdsByShiftWise(String shift) {
Optional<List<ProjectTeamMate>> list = null; Optional<List<Resource>> list = null;
if(MyTimeUtils.ALL.equalsIgnoreCase(shift)) { if(MyTimeUtils.ALL.equalsIgnoreCase(shift)) {
list = projectTeamMatesRepo.findByActiveAndShiftLikeOrderByEmployeeIdDesc( true, MyTimeUtils.SHIFT); list = projectTeamMatesRepo.findByActiveAndShiftLikeOrderByEmployeeIdDesc( true, MyTimeUtils.SHIFT);
}else { }else {
...@@ -129,6 +132,27 @@ public class AttendanceService implements IAttendanceService { ...@@ -129,6 +132,27 @@ public class AttendanceService implements IAttendanceService {
} }
return listOfEmployees; return listOfEmployees;
} }
// @Override
public Boolean fetchEmployeesData(String perticularDate, boolean resynchFlag) throws MyTimeException {
return true;
}
// @Override
public List<EmpLoginData> employeeLoginsBasedOnDate(long id, String fromDate, String toDate)
throws MyTimeException {
return employeeDataBaseService.fetchEmployeeLoginsBasedOnDates(id, fromDate, toDate);
}
@Override
public List generatePdfReport(long id, String fromDate, String toDate) throws MyTimeException {
return pdfReportGenerator.generateEmployeeReport(id, fromDate, toDate);
}
} }
package com.nisum.mytime.service.impl;
import java.util.Comparator;
import java.util.List;
import java.util.stream.Collectors;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.data.mongodb.core.query.Criteria;
import org.springframework.data.mongodb.core.query.Query;
import org.springframework.stereotype.Service;
import com.nisum.mytime.model.Billing;
import com.nisum.mytime.model.Employee;
import com.nisum.mytime.repository.BillingRepo;
import com.nisum.mytime.service.IBillingService;
import com.nisum.mytime.utils.MyTimeUtils;
import lombok.extern.slf4j.Slf4j;
@Service
@Slf4j
public class BillingService implements IBillingService {
@Autowired
private BillingRepo billingRepo;
@Autowired
private MongoTemplate mongoTemplate;
@Override
public List<Billing> getEmployeeActiveBillingDetails(String empId, String projectId) {
Query query4 = new Query();
query4.addCriteria(Criteria.where("active").is(new Boolean(true)));
query4.addCriteria(Criteria.where("employeeId").is(empId));
query4.addCriteria(Criteria.where("projectId").is(projectId));
List<Billing> billings = mongoTemplate.find(query4, Billing.class);
List<Billing> billingsSorted = billings;
try {
billingsSorted = (billings == null || billings.size() == 0) ? billings
: billings.stream().sorted(Comparator.comparing(Billing::getBillingStartDate).reversed())
.collect(Collectors.toList());
} catch (Exception e) {
e.printStackTrace();
}
return billingsSorted;
}
public Billing addBillingtoResource(Billing billing, Employee employee, String loginEmpId) {
billing.setBillingEndDate(employee.getEndDate());
billing.setActive(false);
billing.setAuditFields(loginEmpId, MyTimeUtils.UPDATE);
return billingRepo.save(billing);
}
}
...@@ -9,6 +9,7 @@ import com.nisum.mytime.exception.handler.MyTimeException; ...@@ -9,6 +9,7 @@ import com.nisum.mytime.exception.handler.MyTimeException;
import com.nisum.mytime.model.Designation; import com.nisum.mytime.model.Designation;
import com.nisum.mytime.repository.DesignationRepo; import com.nisum.mytime.repository.DesignationRepo;
import com.nisum.mytime.service.IDesignationService; import com.nisum.mytime.service.IDesignationService;
@Service @Service
public class DesignationService implements IDesignationService { public class DesignationService implements IDesignationService {
......
...@@ -22,16 +22,19 @@ import com.nisum.mytime.model.Domain; ...@@ -22,16 +22,19 @@ import com.nisum.mytime.model.Domain;
import com.nisum.mytime.model.Employee; import com.nisum.mytime.model.Employee;
import com.nisum.mytime.repository.DomainRepo; import com.nisum.mytime.repository.DomainRepo;
import com.nisum.mytime.service.IDomainService; import com.nisum.mytime.service.IDomainService;
import com.nisum.mytime.service.IRoleInfoService; import com.nisum.mytime.service.IRoleService;
import com.nisum.mytime.service.IRoleMappingService; import com.nisum.mytime.service.IEmployeeRoleService;
import com.nisum.mytime.utils.CommomUtil; import com.nisum.mytime.utils.CommomUtil;
import com.nisum.mytime.utils.MyTimeUtils; import com.nisum.mytime.utils.MyTimeUtils;
import lombok.extern.slf4j.Slf4j;
/** /**
* @author Vijay * @author Vijay
* *
*/ */
@Service @Service
@Slf4j
public class DomainService implements IDomainService { public class DomainService implements IDomainService {
@Autowired @Autowired
...@@ -41,12 +44,12 @@ public class DomainService implements IDomainService { ...@@ -41,12 +44,12 @@ public class DomainService implements IDomainService {
private MongoTemplate mongoTemplate; private MongoTemplate mongoTemplate;
@Autowired @Autowired
private IRoleInfoService roleInfoService; private IRoleService roleInfoService;
@Autowired @Autowired
private IRoleMappingService roleMappingService; private IEmployeeRoleService roleMappingService;
private static final Logger logger = LoggerFactory.getLogger(DomainService.class);
public boolean isDomainExists(Domain domainReq) { public boolean isDomainExists(Domain domainReq) {
boolean isDomainExists = false; boolean isDomainExists = false;
...@@ -83,16 +86,16 @@ public class DomainService implements IDomainService { ...@@ -83,16 +86,16 @@ public class DomainService implements IDomainService {
@Override @Override
public Domain update(Domain domainReq) throws MyTimeException { public Domain update(Domain domainReq) throws MyTimeException {
logger.info("updating the roles for DeliveryManager in EmployeeRoleMapping collection"); log.info("updating the roles for DeliveryManager in EmployeeRoleMapping collection");
final String roleId = roleInfoService.getRole(MyTimeUtils.DOMAIN); final String roleId = roleInfoService.getRole(MyTimeUtils.DOMAIN);
updateRoleIdsForDMs(domainReq, roleId); updateRoleIdsForDMs(domainReq, roleId);
logger.info("deleting roleids for DeliveryManagers in EmployeeRoleMapping collection"); log.info("deleting roleids for DeliveryManagers in EmployeeRoleMapping collection");
deleteRoleIdsForDMs(domainReq, roleId); deleteRoleIdsForDMs(domainReq, roleId);
logger.info("updating the domain details"); log.info("updating the domain details");
domainReq.setStatus(MyTimeUtils.ACTIVE); domainReq.setStatus(MyTimeUtils.ACTIVE);
Domain domainPersisted = domainRepo.save(domainReq); Domain domainPersisted = domainRepo.save(domainReq);
logger.info("After update the domain details::" + domainPersisted); log.info("After update the domain details::" + domainPersisted);
return domainPersisted; return domainPersisted;
} }
......
package com.nisum.mytime.service.impl; package com.nisum.mytime.service.impl;
import java.util.Calendar;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.data.mongodb.core.query.Criteria;
import org.springframework.data.mongodb.core.query.Query;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import com.nisum.mytime.model.Employee; import com.nisum.mytime.model.Employee;
import com.nisum.mytime.model.EmployeeLocationDetails; import com.nisum.mytime.model.EmployeeLocation;
import com.nisum.mytime.repository.EmployeeLocationDetailsRepo; import com.nisum.mytime.repository.EmployeeLocationRepo;
import com.nisum.mytime.service.IEmployeeLocationService; import com.nisum.mytime.service.IEmployeeLocationService;
import lombok.extern.slf4j.Slf4j;
@Service @Service
public class EmployeeLocationService implements IEmployeeLocationService{ @Slf4j
public class EmployeeLocationService implements IEmployeeLocationService {
@Autowired @Autowired
private EmployeeLocationDetailsRepo employeeLocationDetailsRepo; private EmployeeLocationRepo employeeLocationRepo;
@Override @Autowired
public void saveEmployeeLocationDetails(Employee employee) { private MongoTemplate mongoTemplate;
EmployeeLocationDetails employeeLocationDetails = new EmployeeLocationDetails();
employeeLocationDetails.setActive(employee.getEmpStatus().equalsIgnoreCase("Active"));
employeeLocationDetails.setEmployeeId(employee.getEmployeeId());
employeeLocationDetails.setEmployeeName(employee.getEmployeeName());
employeeLocationDetails.setCreateDate(new Date());
employeeLocationDetails.setEndDate(new Date());
employeeLocationDetails.setUpdatedDate(new Date());
employeeLocationDetails.setStartDate(new Date());
employeeLocationDetails.setEmpLocation(employee.getEmpLocation());
employeeLocationDetailsRepo.save(employeeLocationDetails);
}
@Override
public List<EmployeeLocationDetails> getEmployeeLocationDetails(String empId) {
return employeeLocationDetailsRepo.findByEmployeeId(empId);
}
@Override
public void save(Employee employee) {
EmployeeLocation employeeLocation = new EmployeeLocation();
employeeLocation.setActive(employee.getEmpStatus().equalsIgnoreCase("Active"));
employeeLocation.setEmployeeId(employee.getEmployeeId());
employeeLocation.setEmployeeName(employee.getEmployeeName());
employeeLocation.setCreateDate(new Date());
employeeLocation.setEndDate(new Date());
employeeLocation.setUpdatedDate(new Date());
employeeLocation.setStartDate(new Date());
employeeLocation.setEmpLocation(employee.getEmpLocation());
employeeLocationRepo.save(employeeLocation);
}
@Override
public List<EmployeeLocation> getEmployeeLocations(String empId) {
List<EmployeeLocation> empLocationList = employeeLocationRepo.findByEmployeeId(empId);
log.info("The Employee Locations: findByEmployeeId" + empLocationList);
return empLocationList;
}
@Override
public void update(Employee employee, boolean delete) {
try {
Query getQuery = new Query();
getQuery.addCriteria(new Criteria().andOperator(Criteria.where("active").is(true),
Criteria.where("employeeId").is(employee.getEmployeeId())));
Calendar cal = Calendar.getInstance();
cal.add(Calendar.DATE, -1);
EmployeeLocation existingLocation = mongoTemplate.findOne(getQuery, EmployeeLocation.class);
if (existingLocation != null) {
existingLocation.setActive(false);
existingLocation.setEndDate(cal.getTime());
existingLocation.setUpdatedDate(new Date());
mongoTemplate.save(existingLocation);
}
if (!delete)
save(employee);
} catch (Exception ex) {
System.out.println(ex);
}
}
} }
...@@ -16,24 +16,25 @@ import org.springframework.stereotype.Service; ...@@ -16,24 +16,25 @@ import org.springframework.stereotype.Service;
import com.mongodb.WriteResult; import com.mongodb.WriteResult;
import com.nisum.mytime.exception.handler.MyTimeException; import com.nisum.mytime.exception.handler.MyTimeException;
import com.nisum.mytime.model.RoleMappingInfo; import com.nisum.mytime.model.EmployeeRole;
import com.nisum.mytime.repository.RoleInfoRepo; import com.nisum.mytime.repository.RoleRepo;
import com.nisum.mytime.repository.RoleMappingInfoRepo; import com.nisum.mytime.repository.EmployeeRoleRepo;
import com.nisum.mytime.service.IRoleMappingService; import com.nisum.mytime.service.IEmployeeRoleService;
import com.nisum.mytime.utils.MyTimeUtils; import com.nisum.mytime.utils.MyTimeUtils;
@Service @Service
public class RoleMappingService implements IRoleMappingService { public class EmployeeRoleService implements IEmployeeRoleService {
@Autowired @Autowired
private RoleMappingInfoRepo roleMappingInfoRepo; private EmployeeRoleRepo employeeRoleRepo;
@Autowired @Autowired
private RoleInfoRepo roleInfoRepo; private RoleRepo roleRepo;
@Autowired @Autowired
private MongoTemplate mongoTemplate; private MongoTemplate mongoTemplate;
@Override @Override
public void saveUniqueEmployeeAndRole(List<String> employeeIds, String roleId) throws MyTimeException { public void saveUniqueEmployeeAndRole(List<String> employeeIds, String roleId) throws MyTimeException {
for (String employeeId : employeeIds) { for (String employeeId : employeeIds) {
...@@ -42,10 +43,10 @@ public class RoleMappingService implements IRoleMappingService { ...@@ -42,10 +43,10 @@ public class RoleMappingService implements IRoleMappingService {
} }
public void addEmployeeRole(String employeeId, String roleId) throws MyTimeException { public void addEmployeeRole(String employeeId, String roleId) throws MyTimeException {
RoleMappingInfo roleMappingInfo = roleMappingInfoRepo.findByEmployeeIdAndRoleId(employeeId, roleId); EmployeeRole roleMappingInfo = employeeRoleRepo.findByEmployeeIdAndRoleId(employeeId, roleId);
boolean isChanged = false; boolean isChanged = false;
if (roleMappingInfo == null) { if (roleMappingInfo == null) {
roleMappingInfo = new RoleMappingInfo(); roleMappingInfo = new EmployeeRole();
roleMappingInfo.setEmployeeId(employeeId); roleMappingInfo.setEmployeeId(employeeId);
roleMappingInfo.setRoleId(roleId); roleMappingInfo.setRoleId(roleId);
roleMappingInfo.setIsActive("Y"); roleMappingInfo.setIsActive("Y");
...@@ -55,16 +56,22 @@ public class RoleMappingService implements IRoleMappingService { ...@@ -55,16 +56,22 @@ public class RoleMappingService implements IRoleMappingService {
isChanged = true; isChanged = true;
} }
if (isChanged) { if (isChanged) {
roleMappingInfoRepo.save(roleMappingInfo); employeeRoleRepo.save(roleMappingInfo);
} }
} }
@Override
public List<EmployeeRole> findByEmployeeId(String employeeId)
{
return employeeRoleRepo.findByEmployeeId(employeeId);
}
@Override @Override
public WriteResult deleteRole(String employeeId, String roleId) throws MyTimeException { public WriteResult deleteRole(String employeeId, String roleId) throws MyTimeException {
Query query = new Query(Criteria.where("employeeId").is(employeeId).and("roleId").is(roleId)); Query query = new Query(Criteria.where("employeeId").is(employeeId).and("roleId").is(roleId));
Update update = new Update(); Update update = new Update();
update.set(MyTimeUtils.IS_ACTIVE, "N"); update.set(MyTimeUtils.IS_ACTIVE, "N");
return mongoTemplate.upsert(query, update, RoleMappingInfo.class); return mongoTemplate.upsert(query, update, EmployeeRole.class);
} }
@Override @Override
...@@ -72,17 +79,17 @@ public class RoleMappingService implements IRoleMappingService { ...@@ -72,17 +79,17 @@ public class RoleMappingService implements IRoleMappingService {
Map<Integer, String> roleInfoMap = new LinkedHashMap<Integer, String>(); Map<Integer, String> roleInfoMap = new LinkedHashMap<Integer, String>();
String roleName = null; String roleName = null;
List<RoleMappingInfo> listOfEmployeeRoles = roleMappingInfoRepo.findByEmployeeId(employeeId).stream() List<EmployeeRole> listOfEmployeeRoles = employeeRoleRepo.findByEmployeeId(employeeId).stream()
.filter(e -> ("N".equalsIgnoreCase(e.getIsActive()))).collect(Collectors.toList()); .filter(e -> ("N".equalsIgnoreCase(e.getIsActive()))).collect(Collectors.toList());
if (listOfEmployeeRoles != null && listOfEmployeeRoles.size() > 0) { if (listOfEmployeeRoles != null && listOfEmployeeRoles.size() > 0) {
for (RoleMappingInfo employee : listOfEmployeeRoles) { for (EmployeeRole employee : listOfEmployeeRoles) {
roleInfoMap.put((roleInfoRepo.findByRoleId(employee.getRoleId())).getPriority(), employee.getRoleId()); roleInfoMap.put((roleRepo.findByRoleId(employee.getRoleId())).getPriority(), employee.getRoleId());
} }
roleInfoMap = roleInfoMap.entrySet().stream().sorted(Map.Entry.comparingByKey()).collect(Collectors.toMap( roleInfoMap = roleInfoMap.entrySet().stream().sorted(Map.Entry.comparingByKey()).collect(Collectors.toMap(
Map.Entry::getKey, Map.Entry::getValue, (oldValue, newValue) -> oldValue, LinkedHashMap::new)); Map.Entry::getKey, Map.Entry::getValue, (oldValue, newValue) -> oldValue, LinkedHashMap::new));
if (!roleInfoMap.isEmpty()) { if (!roleInfoMap.isEmpty()) {
Map.Entry<Integer, String> entry = roleInfoMap.entrySet().iterator().next(); Map.Entry<Integer, String> entry = roleInfoMap.entrySet().iterator().next();
roleName = roleInfoRepo.findByRoleId(entry.getValue()).getRoleName(); roleName = roleRepo.findByRoleId(entry.getValue()).getRoleName();
} }
} }
return roleName; return roleName;
...@@ -92,11 +99,11 @@ public class RoleMappingService implements IRoleMappingService { ...@@ -92,11 +99,11 @@ public class RoleMappingService implements IRoleMappingService {
@Override @Override
public Set<String> empRolesMapInfoByEmpId(String employeeId) { public Set<String> empRolesMapInfoByEmpId(String employeeId) {
Set<String> roleSet = new HashSet<String>(); Set<String> roleSet = new HashSet<String>();
List<RoleMappingInfo> listOfEmployeeRoles = roleMappingInfoRepo.findByEmployeeId(employeeId).stream().filter(e->( List<EmployeeRole> listOfEmployeeRoles = employeeRoleRepo.findByEmployeeId(employeeId).stream().filter(e->(
"N".equalsIgnoreCase(e.getIsActive()))).collect(Collectors.toList()); "N".equalsIgnoreCase(e.getIsActive()))).collect(Collectors.toList());
if(null != listOfEmployeeRoles && !listOfEmployeeRoles.isEmpty() && MyTimeUtils.INT_ZERO < listOfEmployeeRoles.size()) { if(null != listOfEmployeeRoles && !listOfEmployeeRoles.isEmpty() && MyTimeUtils.INT_ZERO < listOfEmployeeRoles.size()) {
for(RoleMappingInfo obj : listOfEmployeeRoles) { for(EmployeeRole obj : listOfEmployeeRoles) {
roleSet.add(obj.getRoleId()); roleSet.add(obj.getRoleId());
} }
} }
......
package com.nisum.mytime.service.impl;
import java.util.Calendar;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.data.mongodb.core.query.Criteria;
import org.springframework.data.mongodb.core.query.Query;
import org.springframework.stereotype.Service;
import com.nisum.mytime.model.EmpShiftDetails;
import com.nisum.mytime.model.Resource;
import com.nisum.mytime.service.IEmployeeShiftService;
import com.nisum.mytime.utils.MyTimeUtils;
import lombok.extern.slf4j.Slf4j;
@Service
@Slf4j
public class EmployeeShiftService implements IEmployeeShiftService{
@Autowired
private MongoTemplate mongoTemplate;
public void updateShiftDetails(Resource existingTeammate, String loginEmpId) {
Query getQuery = new Query();
getQuery.addCriteria(new Criteria().andOperator(Criteria.where("active").is(true),
Criteria.where("employeeId").is(existingTeammate.getEmployeeId())));
Calendar cal = Calendar.getInstance();
cal.add(Calendar.DATE, -1);
EmpShiftDetails existingShift = mongoTemplate.findOne(getQuery, EmpShiftDetails.class);
if (existingShift != null) {
existingShift.setActive(false);
// existingShift.setUpdatedDate(new Date());// Commented as added
// common audit fields
existingShift.setAuditFields(loginEmpId, MyTimeUtils.UPDATE);
mongoTemplate.save(existingShift);
}
}
}
...@@ -9,15 +9,23 @@ import com.nisum.mytime.exception.handler.MyTimeException; ...@@ -9,15 +9,23 @@ import com.nisum.mytime.exception.handler.MyTimeException;
import com.nisum.mytime.model.MasterData; import com.nisum.mytime.model.MasterData;
import com.nisum.mytime.repository.MasterDataRepo; import com.nisum.mytime.repository.MasterDataRepo;
import com.nisum.mytime.service.IMasterDataService; import com.nisum.mytime.service.IMasterDataService;
import com.nisum.mytime.utils.MyTimeUtils;
@Service("masterDataService") @Service("masterDataService")
public class MasterDataService implements IMasterDataService { public class MasterDataService implements IMasterDataService {
@Autowired @Autowired
private MasterDataRepo masterDataRepo; private MasterDataRepo masterDataRepo;
@Override @Override
public List<MasterData> getMasterData() throws MyTimeException { public List<MasterData> getMasterData() throws MyTimeException {
return masterDataRepo.findAll(); return masterDataRepo.findAll();
} }
@Override
public List<MasterData> findByMasterDataTypeAndMasterDataNameAndActiveStatus(String masterDataType, String masterDataName,
boolean activeStatus) {
return masterDataRepo.findByMasterDataTypeAndMasterDataNameAndActiveStatus(masterDataType, masterDataName,
activeStatus);
}
} }
...@@ -6,18 +6,30 @@ import org.springframework.beans.factory.annotation.Autowired; ...@@ -6,18 +6,30 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import com.nisum.mytime.exception.handler.MyTimeException; import com.nisum.mytime.exception.handler.MyTimeException;
import com.nisum.mytime.model.Location; import com.nisum.mytime.model.OrgLocation;
import com.nisum.mytime.repository.LocationRepo; import com.nisum.mytime.repository.OrgLocationRepo;
import com.nisum.mytime.service.IOrgLocationService; import com.nisum.mytime.service.IOrgLocationService;
import lombok.extern.slf4j.Slf4j;
@Service @Service
@Slf4j
public class OrgLocationService implements IOrgLocationService { public class OrgLocationService implements IOrgLocationService {
@Autowired @Autowired
private LocationRepo locationRepo; private OrgLocationRepo orgLocationRepo;
@Override
public List<OrgLocation> getLocations() throws MyTimeException {
List<OrgLocation> orgLocationList = orgLocationRepo.findAll();
log.info("The Organization Location Details::" + orgLocationList);
return orgLocationList;
}
@Override @Override
public List<Location> getLocations() throws MyTimeException { public List<OrgLocation> findByLocationAndActiveStatus(String location, boolean activeStatus) {
return locationRepo.findAll(); return orgLocationRepo.findByLocationAndActiveStatus(location, activeStatus);
} }
} }
package com.nisum.mytime.service.impl;
import java.util.Date;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.nisum.mytime.model.Billing;
import com.nisum.mytime.model.Employee;
import com.nisum.mytime.model.Resource;
import com.nisum.mytime.repository.ResourceRepo;
import com.nisum.mytime.service.IResourceService;
import com.nisum.mytime.utils.MyTimeUtils;
import lombok.extern.slf4j.Slf4j;
@Service
@Slf4j
public class ResourceService implements IResourceService {
@Autowired
private BillingService billingService;
@Autowired
private EmployeeShiftService empShiftService;
@Autowired
private ResourceRepo resourceRepo;
public Resource save(Resource resource) {
return resourceRepo.save(resource);
}
public void addResources(Employee employee, String loginEmpId) {
List<Resource> resourceList = resourceRepo.findByEmployeeId(employee.getEmployeeId());
if (resourceList != null && !resourceList.isEmpty()) {
for (Resource resource : resourceList) {
resource.setRole(employee.getRole());
resource.setAuditFields(loginEmpId, MyTimeUtils.UPDATE);
resourceRepo.save(resource);
}
}
// return null;
}
public void inactivateResource(Employee employeeReq, Employee employeeUpdated, String loginEmpId) {
// inactive the employee from the assigned project
if (employeeReq.getEmpStatus().equals(MyTimeUtils.IN_ACTIVE_SPACE) && employeeReq.getEndDate() != null
&& employeeReq.getEndDate().compareTo(new Date()) <= 0) {
List<Resource> resourcesList = resourceRepo.findByEmployeeIdAndActive(employeeReq.getEmployeeId(), true);
if (resourcesList.size() == 1) {
Resource resource = resourcesList.get(0);
resource.setActive(false);
resource.setEndDate(employeeReq.getEndDate());
List<Billing> billingList = billingService.getEmployeeActiveBillingDetails(resource.getEmployeeId(),
resource.getProjectId());
if (billingList != null && !billingList.isEmpty()) {
billingService.addBillingtoResource(billingList.get(0), employeeUpdated, loginEmpId);
}
resource.setAuditFields(loginEmpId, MyTimeUtils.UPDATE);
resourceRepo.save(resource);
empShiftService.updateShiftDetails(resource, loginEmpId);
}
}
}
public List<Resource> getResources(String empId) {
return resourceRepo.findByEmployeeId(empId);
}
}
...@@ -5,25 +5,28 @@ import org.springframework.stereotype.Service; ...@@ -5,25 +5,28 @@ import org.springframework.stereotype.Service;
import com.nisum.mytime.exception.handler.MyTimeException; import com.nisum.mytime.exception.handler.MyTimeException;
import com.nisum.mytime.model.Role; import com.nisum.mytime.model.Role;
import com.nisum.mytime.repository.RoleInfoRepo; import com.nisum.mytime.repository.RoleRepo;
import com.nisum.mytime.service.IRoleInfoService; import com.nisum.mytime.service.IRoleService;
import lombok.extern.slf4j.Slf4j;
@Service @Service
public class RoleInfoService implements IRoleInfoService { @Slf4j
public class RoleService implements IRoleService {
@Autowired @Autowired
RoleInfoRepo roleInfoRepo; RoleRepo roleRepo;
@Override @Override
public Role addRole(Role roleInfo) throws MyTimeException { public Role addRole(Role roleInfo) throws MyTimeException {
return roleInfoRepo.save(roleInfo); return roleRepo.save(roleInfo);
} }
@Override @Override
public String getRole(String roleName) throws MyTimeException { public String getRole(String roleName) throws MyTimeException {
return roleInfoRepo.findByRoleName(roleName).getRoleId(); return roleRepo.findByRoleName(roleName).getRoleId();
} }
} }
...@@ -10,14 +10,19 @@ import com.nisum.mytime.model.Shift; ...@@ -10,14 +10,19 @@ import com.nisum.mytime.model.Shift;
import com.nisum.mytime.repository.ShiftRepo; import com.nisum.mytime.repository.ShiftRepo;
import com.nisum.mytime.service.IShiftService; import com.nisum.mytime.service.IShiftService;
import lombok.extern.slf4j.Slf4j;
@Service @Service
public class ShiftService implements IShiftService{ @Slf4j
public class ShiftService implements IShiftService {
@Autowired
private ShiftRepo shiftRepo;
@Autowired @Override
private ShiftRepo shiftRepo; public List<Shift> getAllShifts() throws MyTimeException {
List<Shift> shiftsList = shiftRepo.findAll();
// @Override log.info("The shift list details::" + shiftsList);
public List<Shift> getAllShifts() throws MyTimeException { return shiftsList;
return shiftRepo.findAll(); }
}
} }
...@@ -10,7 +10,10 @@ import com.nisum.mytime.model.Skill; ...@@ -10,7 +10,10 @@ import com.nisum.mytime.model.Skill;
import com.nisum.mytime.repository.SkillRepo; import com.nisum.mytime.repository.SkillRepo;
import com.nisum.mytime.service.ISkillService; import com.nisum.mytime.service.ISkillService;
import lombok.extern.slf4j.Slf4j;
@Service @Service
@Slf4j
public class SkillService implements ISkillService { public class SkillService implements ISkillService {
@Autowired @Autowired
......
...@@ -5,15 +5,21 @@ import java.util.Date; ...@@ -5,15 +5,21 @@ import java.util.Date;
import java.util.List; import java.util.List;
import java.util.regex.Matcher; import java.util.regex.Matcher;
import java.util.regex.Pattern; import java.util.regex.Pattern;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import com.nisum.mytime.model.MasterData; import com.nisum.mytime.model.MasterData;
import com.nisum.mytime.repository.LocationRepo; import com.nisum.mytime.service.IMasterDataService;
import com.nisum.mytime.repository.MasterDataRepo; import com.nisum.mytime.service.impl.OrgLocationService;
@Service @Service
public class DataValidations { public class DataValidations {
@Autowired
static IMasterDataService masterDataService;
@Autowired
static OrgLocationService orgLocationService;
public static boolean validateNumber(String number) { public static boolean validateNumber(String number) {
boolean flag = false; boolean flag = false;
number = number.trim(); number = number.trim();
...@@ -72,46 +78,46 @@ public class DataValidations { ...@@ -72,46 +78,46 @@ public class DataValidations {
return flag; return flag;
} }
public static boolean isValidFunctionalGroup(String functionalGroup,MasterDataRepo masterDataRepo) { public static boolean isValidFunctionalGroup(String functionalGroup) {
boolean flag = false; boolean flag = false;
functionalGroup = functionalGroup.trim(); functionalGroup = functionalGroup.trim();
if(!MyTimeUtils.EMPTY_STRING.equals(functionalGroup)) { if(!MyTimeUtils.EMPTY_STRING.equals(functionalGroup)) {
List<MasterData> fsData = masterDataRepo.findByMasterDataTypeAndMasterDataNameAndActiveStatus(MyTimeUtils.MASTERDATA_FG, functionalGroup, true); List<MasterData> fsData = masterDataService.findByMasterDataTypeAndMasterDataNameAndActiveStatus(MyTimeUtils.MASTERDATA_FG, functionalGroup, true);
flag = fsData.size() > MyTimeUtils.INT_ZERO; flag = fsData.size() > MyTimeUtils.INT_ZERO;
} }
return flag; return flag;
} }
public static boolean isValidDesignation(String designation, MasterDataRepo masterDataRepo) { public static boolean isValidDesignation(String designation) {
boolean flag = false; boolean flag = false;
designation = designation.trim(); designation = designation.trim();
if( !MyTimeUtils.EMPTY_STRING.equals(designation)) { if( !MyTimeUtils.EMPTY_STRING.equals(designation)) {
List<MasterData> designationData = masterDataRepo.findByMasterDataTypeAndMasterDataNameAndActiveStatus(MyTimeUtils.MASTERDATA_DESIGNATION, designation, true); List<MasterData> designationData = masterDataService.findByMasterDataTypeAndMasterDataNameAndActiveStatus(MyTimeUtils.MASTERDATA_DESIGNATION, designation, true);
flag = designationData.size() > MyTimeUtils.INT_ZERO; flag = designationData.size() > MyTimeUtils.INT_ZERO;
} }
return flag; return flag;
} }
public static boolean isValidEmploymentType(String employmentType, MasterDataRepo masterDataRepo) { public static boolean isValidEmploymentType(String employmentType) {
boolean flag = false; boolean flag = false;
employmentType = employmentType.trim(); employmentType = employmentType.trim();
if(MyTimeUtils.EMPTY_STRING.equals(employmentType)){ if(MyTimeUtils.EMPTY_STRING.equals(employmentType)){
flag = true; flag = true;
}else if( !MyTimeUtils.EMPTY_STRING.equals(employmentType)) { }else if( !MyTimeUtils.EMPTY_STRING.equals(employmentType)) {
List<MasterData> empTypeData = masterDataRepo.findByMasterDataTypeAndMasterDataNameAndActiveStatus(MyTimeUtils.MASTERDATAD_EMLOYMENT_TYPE, employmentType, true); List<MasterData> empTypeData = masterDataService.findByMasterDataTypeAndMasterDataNameAndActiveStatus(MyTimeUtils.MASTERDATAD_EMLOYMENT_TYPE, employmentType, true);
flag = empTypeData.size() > MyTimeUtils.INT_ZERO ; flag = empTypeData.size() > MyTimeUtils.INT_ZERO ;
} }
return flag; return flag;
} }
public static boolean isValidRole(String role,MasterDataRepo masterDataRepo) { public static boolean isValidRole(String role) {
boolean flag = false; boolean flag = false;
role = role.trim(); role = role.trim();
if( MyTimeUtils.EMPTY_STRING.equals(role)){ if( MyTimeUtils.EMPTY_STRING.equals(role)){
flag = true; flag = true;
}else if(!MyTimeUtils.EMPTY_STRING.equals(role)) { }else if(!MyTimeUtils.EMPTY_STRING.equals(role)) {
List<MasterData> roleData = masterDataRepo.findByMasterDataTypeAndMasterDataNameAndActiveStatus(MyTimeUtils.MASTERDATA_ROLES, role, true); List<MasterData> roleData = masterDataService.findByMasterDataTypeAndMasterDataNameAndActiveStatus(MyTimeUtils.MASTERDATA_ROLES, role, true);
flag = roleData.size() > MyTimeUtils.INT_ZERO; flag = roleData.size() > MyTimeUtils.INT_ZERO;
} }
return flag; return flag;
...@@ -144,11 +150,11 @@ public class DataValidations { ...@@ -144,11 +150,11 @@ public class DataValidations {
} }
public static boolean isValidWorkLocation(String workLocation, LocationRepo locationRepo) { public static boolean isValidWorkLocation(String workLocation) {
boolean flag = false; boolean flag = false;
workLocation = workLocation.trim(); workLocation = workLocation.trim();
if(!MyTimeUtils.EMPTY_STRING.equals(workLocation)) { if(!MyTimeUtils.EMPTY_STRING.equals(workLocation)) {
flag= locationRepo.findByLocationAndActiveStatus(workLocation, true). size() > MyTimeUtils.INT_ZERO ; flag= orgLocationService.findByLocationAndActiveStatus(workLocation, true). size() > MyTimeUtils.INT_ZERO ;
} }
return flag; return flag;
} }
......
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