From 647b41b2316d6a20a5fe38e72da91b8492977dea Mon Sep 17 00:00:00 2001 From: rajesh Date: Thu, 7 Nov 2024 16:06:50 +0530 Subject: [PATCH] Updated status filter in get all application api --- .../tendermanagement/dao/ApplicationDao.java | 13 ++++++++----- .../service/ApplicationService.java | 2 +- .../service/impl/ApplicationServiceImpl.java | 4 ++-- .../web/rest/api/ApplicationApi.java | 2 +- .../web/rest/api/impl/ApplicationApiController.java | 4 ++-- 5 files changed, 14 insertions(+), 11 deletions(-) diff --git a/src/main/java/net/gepafin/tendermanagement/dao/ApplicationDao.java b/src/main/java/net/gepafin/tendermanagement/dao/ApplicationDao.java index a51d9be1..1eb8017f 100644 --- a/src/main/java/net/gepafin/tendermanagement/dao/ApplicationDao.java +++ b/src/main/java/net/gepafin/tendermanagement/dao/ApplicationDao.java @@ -294,11 +294,11 @@ public class ApplicationDao { // return applicationResponses; // } - public List getAllApplications(UserEntity userEntity, Long callId, Long companyId,String status) { + public List getAllApplications(UserEntity userEntity, Long callId, Long companyId,List statusList) { log.info("Fetching applications for RoleType: {}", userEntity.getRoleEntity().getRoleType()); - Specification spec = search(userEntity, callId, companyId,status); + Specification spec = search(userEntity, callId, companyId,statusList); List applicationEntities = applicationRepository.findAll(spec); @@ -308,7 +308,7 @@ public class ApplicationDao { } - private Specification search(UserEntity userEntity, Long callId, Long companyId,String status) { + private Specification search(UserEntity userEntity, Long callId, Long companyId,List statusList) { return (root, query, builder) -> { Boolean isBeneficiary = validator.checkIsBeneficiary(); Predicate predicate = builder.isFalse(root.get("isDeleted")); @@ -321,8 +321,11 @@ public class ApplicationDao { if (companyId != null) { predicate = builder.and(predicate, builder.equal(root.get("company").get("id"), companyId)); } - if (status != null) { - predicate = builder.and(predicate, builder.equal(root.get("status"), status)); + if (statusList != null && !statusList.isEmpty()) { + List statusNames = statusList.stream() + .map(Enum::name) + .collect(Collectors.toList()); + predicate = builder.and(predicate, root.get("status").in(statusNames)); } predicate = builder.and(predicate, builder.equal(root.get("hubId"), userEntity.getHub().getId())); return predicate; diff --git a/src/main/java/net/gepafin/tendermanagement/service/ApplicationService.java b/src/main/java/net/gepafin/tendermanagement/service/ApplicationService.java index d2bb4b19..9ef06c48 100644 --- a/src/main/java/net/gepafin/tendermanagement/service/ApplicationService.java +++ b/src/main/java/net/gepafin/tendermanagement/service/ApplicationService.java @@ -22,7 +22,7 @@ public interface ApplicationService { ApplicationGetResponseBean getApplicationByFormId(HttpServletRequest request, Long applicationId,Long formId); - List getAllApplications(HttpServletRequest request,Long callId, Long companyId,String status); + List getAllApplications(HttpServletRequest request,Long callId, Long companyId,List statusList); void deleteApplication(HttpServletRequest request, Long applicationId); diff --git a/src/main/java/net/gepafin/tendermanagement/service/impl/ApplicationServiceImpl.java b/src/main/java/net/gepafin/tendermanagement/service/impl/ApplicationServiceImpl.java index 111ac099..886b91c1 100644 --- a/src/main/java/net/gepafin/tendermanagement/service/impl/ApplicationServiceImpl.java +++ b/src/main/java/net/gepafin/tendermanagement/service/impl/ApplicationServiceImpl.java @@ -86,12 +86,12 @@ public class ApplicationServiceImpl implements ApplicationService { @Override @Transactional(readOnly = true) - public List getAllApplications(HttpServletRequest request, Long callId, Long companyId , String status) { + public List getAllApplications(HttpServletRequest request, Long callId, Long companyId ,List statusList) { UserEntity userEntity = validator.validateUser(request); if (companyId != null) { validator.validateUserWithCompany(request, companyId); } - return applicationDao.getAllApplications(userEntity, callId, companyId , status); + return applicationDao.getAllApplications(userEntity, callId, companyId , statusList); } @Override @Transactional(rollbackFor = Exception.class) diff --git a/src/main/java/net/gepafin/tendermanagement/web/rest/api/ApplicationApi.java b/src/main/java/net/gepafin/tendermanagement/web/rest/api/ApplicationApi.java index fcfbe2ff..d69b9847 100644 --- a/src/main/java/net/gepafin/tendermanagement/web/rest/api/ApplicationApi.java +++ b/src/main/java/net/gepafin/tendermanagement/web/rest/api/ApplicationApi.java @@ -72,7 +72,7 @@ public interface ApplicationApi { ResponseEntity>> getAllApplications(HttpServletRequest request, @Parameter(description = "The call id", required = false) @RequestParam(value = "callId", required = false) Long callId, @Parameter(description = "The company id", required = false) @RequestParam(value = "companyId", required = false) Long companyId, - @Parameter(description = "Application status" ,required = false) @RequestParam(value = "status",required = false)String status); + @Parameter(description = "Application status" ,required = false) @RequestParam(value = "status",required = false) List statusList); @Operation(summary = "Api to delete application", responses = { diff --git a/src/main/java/net/gepafin/tendermanagement/web/rest/api/impl/ApplicationApiController.java b/src/main/java/net/gepafin/tendermanagement/web/rest/api/impl/ApplicationApiController.java index 71dc2421..27ea0bb7 100644 --- a/src/main/java/net/gepafin/tendermanagement/web/rest/api/impl/ApplicationApiController.java +++ b/src/main/java/net/gepafin/tendermanagement/web/rest/api/impl/ApplicationApiController.java @@ -76,8 +76,8 @@ public class ApplicationApiController implements ApplicationApi { } @Override - public ResponseEntity>> getAllApplications(HttpServletRequest request, Long callId, Long companyId, String status) { - List applications = applicationService.getAllApplications(request, callId, companyId,status); + public ResponseEntity>> getAllApplications(HttpServletRequest request, Long callId, Long companyId, List statusList) { + List applications = applicationService.getAllApplications(request, callId, companyId,statusList); log.info("Get All Applications"); return ResponseEntity.status(HttpStatus.OK) .body(new Response<>(applications, Status.SUCCESS, Translator.toLocale(GepafinConstant.GET_APPLICATION_SUCCESS_MSG)));