diff --git a/src/main/java/net/gepafin/tendermanagement/dao/ApplicationDao.java b/src/main/java/net/gepafin/tendermanagement/dao/ApplicationDao.java index f1a99e27..f76b378f 100644 --- a/src/main/java/net/gepafin/tendermanagement/dao/ApplicationDao.java +++ b/src/main/java/net/gepafin/tendermanagement/dao/ApplicationDao.java @@ -117,9 +117,18 @@ public class ApplicationDao { log.info("Application deleted with ID: {}", id); } - public List getAllApplications(UserEntity userEntity) { + public List getAllApplications(UserEntity userEntity,Long callId) { log.info("Fetching all applications"); List applicationResponses=new ArrayList<>(); + if(callId!=null) { + CallEntity call = callService.validateCall(callId); + Optional applicationEntity1 = applicationRepository.findByUserIdAndCallIdAndIsDeletedFalse(userEntity.getId(), call.getId()); + if (applicationEntity1.isPresent()) { + ApplicationResponse responseBean = getApplicationResponse(applicationEntity1.get()); + applicationResponses.add(responseBean); + return applicationResponses; + } + } List applicationEntities = applicationRepository.findByUserIdAndIsDeletedFalse(userEntity.getId()); for(ApplicationEntity applicationEntity:applicationEntities){ ApplicationResponse responseBean = getApplicationResponse(applicationEntity); @@ -291,7 +300,9 @@ public class ApplicationDao { public ApplicationResponse createApplicationByCallId(ApplicationRequest applicationRequest,Long callId,UserEntity userEntity){ CallEntity call=callService.validateCall(callId); checkIfApplicationExists(call,userEntity); - ApplicationEntity applicationEntity=saveApplicationEntity(createApplicationEntity(userEntity,call)); + ApplicationEntity applicationEntity=createApplicationEntity(userEntity,call); + applicationEntity.setComments(applicationRequest.getComments()); + applicationEntity=saveApplicationEntity(applicationEntity); ApplicationResponse applicationResponse=getApplicationResponse(applicationEntity); return applicationResponse; } diff --git a/src/main/java/net/gepafin/tendermanagement/model/request/ApplicationRequest.java b/src/main/java/net/gepafin/tendermanagement/model/request/ApplicationRequest.java index 920d1a2d..0eabdcb8 100644 --- a/src/main/java/net/gepafin/tendermanagement/model/request/ApplicationRequest.java +++ b/src/main/java/net/gepafin/tendermanagement/model/request/ApplicationRequest.java @@ -7,10 +7,6 @@ import java.time.LocalDateTime; @Data public class ApplicationRequest { - private LocalDateTime submissionDate; - - private String status; - private String comments; } diff --git a/src/main/java/net/gepafin/tendermanagement/service/ApplicationService.java b/src/main/java/net/gepafin/tendermanagement/service/ApplicationService.java index e82b7c70..e9f46f29 100644 --- a/src/main/java/net/gepafin/tendermanagement/service/ApplicationService.java +++ b/src/main/java/net/gepafin/tendermanagement/service/ApplicationService.java @@ -19,7 +19,7 @@ public interface ApplicationService { ApplicationGetResponseBean getApplicationByFormId(HttpServletRequest request, Long applicationId,Long formId); - List getAllApplications(HttpServletRequest request); + List getAllApplications(HttpServletRequest request,Long callId); 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 e9c524d4..28fa197d 100644 --- a/src/main/java/net/gepafin/tendermanagement/service/impl/ApplicationServiceImpl.java +++ b/src/main/java/net/gepafin/tendermanagement/service/impl/ApplicationServiceImpl.java @@ -85,8 +85,8 @@ public class ApplicationServiceImpl implements ApplicationService { @Override @Transactional(readOnly = true) - public List getAllApplications(HttpServletRequest request) { + public List getAllApplications(HttpServletRequest request,Long callId) { UserEntity userEntity = validator.validateUser(request); - return applicationDao.getAllApplications(userEntity); + return applicationDao.getAllApplications(userEntity,callId); } } 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 75de91fb..76937d58 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 @@ -65,7 +65,8 @@ public interface ApplicationApi { @ApiResponse(responseCode = "400", description = "Bad Request", content = @Content(mediaType = MediaType.APPLICATION_JSON_VALUE, examples = { @ExampleObject(value = ErrorConstants.BADREQUEST_ERROR_EXAMPLE) })) }) @GetMapping(value = "", produces = "application/json") - ResponseEntity>> getAllApplications(HttpServletRequest request); + ResponseEntity>> getAllApplications(HttpServletRequest request, + @Parameter(description = "The call id", required = false) @RequestParam(value = "callId", required = false) Long callId); @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 ac55c81b..f0cb8b9b 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 @@ -66,8 +66,8 @@ public class ApplicationApiController implements ApplicationApi { .body(new Response<>(applicationResponseBean, Status.SUCCESS, Translator.toLocale(GepafinConstant.APPLICATION_CREATED_SUCCESS_MSG))); } @Override - public ResponseEntity>> getAllApplications(HttpServletRequest request) { - List applications = applicationService.getAllApplications(request); + public ResponseEntity>> getAllApplications(HttpServletRequest request,Long callId) { + List applications = applicationService.getAllApplications(request,callId); log.info("Get All Applications"); return ResponseEntity.status(HttpStatus.OK) .body(new Response<>(applications, Status.SUCCESS, Translator.toLocale(GepafinConstant.GET_APPLICATION_SUCCESS_MSG)));