From 93def98fe961a1338dc813fb320c94a7c442ed74 Mon Sep 17 00:00:00 2001 From: harish Date: Tue, 29 Oct 2024 18:12:28 +0530 Subject: [PATCH] Updated code --- .../dao/ApplicationEvaluationDao.java | 12 +++++++----- ...tus.java => ApplicationStatusForEvaluation.java} | 4 ++-- .../model/request/ApplicationEvaluationRequest.java | 2 ++ .../service/ApplicationEvaluationService.java | 9 ++------- .../impl/ApplicationEvaluationServiceImpl.java | 10 +++------- .../web/rest/api/ApplicationEvaluationApi.java | 12 ++---------- .../impl/ApplicationEvaluationApiController.java | 13 +++---------- 7 files changed, 21 insertions(+), 41 deletions(-) rename src/main/java/net/gepafin/tendermanagement/enums/{AssignedEvaluationStatus.java => ApplicationStatusForEvaluation.java} (75%) diff --git a/src/main/java/net/gepafin/tendermanagement/dao/ApplicationEvaluationDao.java b/src/main/java/net/gepafin/tendermanagement/dao/ApplicationEvaluationDao.java index 78360951..729f2e17 100644 --- a/src/main/java/net/gepafin/tendermanagement/dao/ApplicationEvaluationDao.java +++ b/src/main/java/net/gepafin/tendermanagement/dao/ApplicationEvaluationDao.java @@ -346,8 +346,7 @@ public class ApplicationEvaluationDao { public ApplicationEvaluationResponse createOrUpdateApplicationEvaluation( UserEntity user, ApplicationEvaluationRequest req, - Long assignedApplicationId, - AssignedEvaluationStatus status) { + Long assignedApplicationId) { Optional existingEntityOptional = applicationEvaluationRepository.findByAssignedApplicationsEntity_IdAndIsDeletedFalse(assignedApplicationId); @@ -365,12 +364,14 @@ public class ApplicationEvaluationDao { } else { entity = convertToEntity(user, req, assignedApplicationId); } + ApplicationStatusForEvaluation status = req.getApplicationStatus(); + + ApplicationEvaluationEntity savedEntity = applicationEvaluationRepository.save(entity); if (status != null) { ApplicationEntity application = applicationService.validateApplication(assignedApplications.get().getApplication().getId()); AssignedApplicationsEntity assignedApplicationsEntity = assignedApplications.get(); return updateApplicationEvaluationStatus(application, assignedApplicationsEntity, status); } else { - ApplicationEvaluationEntity savedEntity = applicationEvaluationRepository.save(entity); return convertToResponse(savedEntity); } } @@ -876,17 +877,18 @@ public class ApplicationEvaluationDao { } public ApplicationEvaluationResponse updateApplicationEvaluationStatus(ApplicationEntity application, AssignedApplicationsEntity assignedApplicationsEntity, - AssignedEvaluationStatus newStatus) { + ApplicationStatusForEvaluation newStatus) { Optional existingEntityOptional = applicationEvaluationRepository.findByAssignedApplicationsEntity_IdAndIsDeletedFalse( assignedApplicationsEntity.getId()); ApplicationEvaluationEntity entity; - String statusType = application.getStatus(); + if (existingEntityOptional.isPresent()) { ApplicationEvaluationEntity existingEntity = existingEntityOptional.get(); application.setStatus(newStatus.getValue()); application = applicationRepository.save(application); + String statusType = application.getStatus(); if (application.getStatus().equals(ApplicationStatusTypeEnum.APPROVED.getValue()) || application.getStatus().equals(ApplicationStatusTypeEnum.REJECTED.getValue())) { existingEntity.setStatus(ApplicationEvaluationStatusTypeEnum.CLOSE.getValue()); assignedApplicationsEntity.setStatus(AssignedApplicationEnum.CLOSE.getValue()); diff --git a/src/main/java/net/gepafin/tendermanagement/enums/AssignedEvaluationStatus.java b/src/main/java/net/gepafin/tendermanagement/enums/ApplicationStatusForEvaluation.java similarity index 75% rename from src/main/java/net/gepafin/tendermanagement/enums/AssignedEvaluationStatus.java rename to src/main/java/net/gepafin/tendermanagement/enums/ApplicationStatusForEvaluation.java index f595843c..61c39b8e 100644 --- a/src/main/java/net/gepafin/tendermanagement/enums/AssignedEvaluationStatus.java +++ b/src/main/java/net/gepafin/tendermanagement/enums/ApplicationStatusForEvaluation.java @@ -2,13 +2,13 @@ package net.gepafin.tendermanagement.enums; import com.fasterxml.jackson.annotation.JsonValue; -public enum AssignedEvaluationStatus { +public enum ApplicationStatusForEvaluation { APPROVED("APPROVED"), REJECTED("REJECTED"); private String value; - AssignedEvaluationStatus(String value) { + ApplicationStatusForEvaluation(String value) { this.value = value; } diff --git a/src/main/java/net/gepafin/tendermanagement/model/request/ApplicationEvaluationRequest.java b/src/main/java/net/gepafin/tendermanagement/model/request/ApplicationEvaluationRequest.java index 767b4aef..9563f00b 100644 --- a/src/main/java/net/gepafin/tendermanagement/model/request/ApplicationEvaluationRequest.java +++ b/src/main/java/net/gepafin/tendermanagement/model/request/ApplicationEvaluationRequest.java @@ -1,6 +1,7 @@ package net.gepafin.tendermanagement.model.request; import lombok.Data; +import net.gepafin.tendermanagement.enums.ApplicationStatusForEvaluation; import java.util.List; @Data @@ -10,4 +11,5 @@ public class ApplicationEvaluationRequest { private List checklist; private List files; private String note; + private ApplicationStatusForEvaluation applicationStatus; } diff --git a/src/main/java/net/gepafin/tendermanagement/service/ApplicationEvaluationService.java b/src/main/java/net/gepafin/tendermanagement/service/ApplicationEvaluationService.java index c6e7fe27..c9f72e6a 100644 --- a/src/main/java/net/gepafin/tendermanagement/service/ApplicationEvaluationService.java +++ b/src/main/java/net/gepafin/tendermanagement/service/ApplicationEvaluationService.java @@ -2,20 +2,15 @@ package net.gepafin.tendermanagement.service; import jakarta.servlet.http.HttpServletRequest; import net.gepafin.tendermanagement.entities.ApplicationEvaluationEntity; -import net.gepafin.tendermanagement.enums.ApplicationEvaluationStatusTypeEnum; -import net.gepafin.tendermanagement.enums.AssignedEvaluationStatus; +import net.gepafin.tendermanagement.enums.ApplicationStatusForEvaluation; import net.gepafin.tendermanagement.model.request.ApplicationEvaluationRequest; import net.gepafin.tendermanagement.model.response.ApplicationEvaluationResponse; - -import java.util.List; - public interface ApplicationEvaluationService { ApplicationEvaluationResponse createOrUpdateApplicationEvaluation( HttpServletRequest request, ApplicationEvaluationRequest applicationEvaluationRequest, - Long assignedApplicationsId, - AssignedEvaluationStatus status); + Long assignedApplicationsId); void deleteApplicationEvaluation(HttpServletRequest request,Long id); diff --git a/src/main/java/net/gepafin/tendermanagement/service/impl/ApplicationEvaluationServiceImpl.java b/src/main/java/net/gepafin/tendermanagement/service/impl/ApplicationEvaluationServiceImpl.java index 0cf02632..8550b63f 100644 --- a/src/main/java/net/gepafin/tendermanagement/service/impl/ApplicationEvaluationServiceImpl.java +++ b/src/main/java/net/gepafin/tendermanagement/service/impl/ApplicationEvaluationServiceImpl.java @@ -8,8 +8,7 @@ import net.gepafin.tendermanagement.dao.ApplicationEvaluationDao; import net.gepafin.tendermanagement.entities.ApplicationEvaluationEntity; import net.gepafin.tendermanagement.entities.AssignedApplicationsEntity; import net.gepafin.tendermanagement.entities.UserEntity; -import net.gepafin.tendermanagement.enums.ApplicationEvaluationStatusTypeEnum; -import net.gepafin.tendermanagement.enums.AssignedEvaluationStatus; +import net.gepafin.tendermanagement.enums.ApplicationStatusForEvaluation; import net.gepafin.tendermanagement.model.request.ApplicationEvaluationRequest; import net.gepafin.tendermanagement.model.response.ApplicationEvaluationResponse; @@ -23,8 +22,6 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import java.util.Collections; -import java.util.List; import java.util.Optional; @Service @@ -42,8 +39,7 @@ public class ApplicationEvaluationServiceImpl implements ApplicationEvaluationSe public ApplicationEvaluationResponse createOrUpdateApplicationEvaluation( HttpServletRequest request, ApplicationEvaluationRequest req, - Long assignedApplicationsId, - AssignedEvaluationStatus status) { + Long assignedApplicationsId) { AssignedApplicationsEntity assignedApplication = assignedApplicationsRepository .findByIdAndIsDeletedFalse(assignedApplicationsId) @@ -53,7 +49,7 @@ public class ApplicationEvaluationServiceImpl implements ApplicationEvaluationSe UserEntity user = validator.validatePreInstructor(request, assignedApplication.getUserId()); - return applicationEvaluationDao.createOrUpdateApplicationEvaluation(user, req, assignedApplication.getId(), status); + return applicationEvaluationDao.createOrUpdateApplicationEvaluation(user, req, assignedApplication.getId()); } @Override diff --git a/src/main/java/net/gepafin/tendermanagement/web/rest/api/ApplicationEvaluationApi.java b/src/main/java/net/gepafin/tendermanagement/web/rest/api/ApplicationEvaluationApi.java index bd7d9357..bc17e345 100644 --- a/src/main/java/net/gepafin/tendermanagement/web/rest/api/ApplicationEvaluationApi.java +++ b/src/main/java/net/gepafin/tendermanagement/web/rest/api/ApplicationEvaluationApi.java @@ -7,22 +7,15 @@ import io.swagger.v3.oas.annotations.media.ExampleObject; import io.swagger.v3.oas.annotations.responses.ApiResponse; import jakarta.servlet.http.HttpServletRequest; import jakarta.validation.Valid; -import net.gepafin.tendermanagement.enums.ApplicationEvaluationStatusTypeEnum; -import net.gepafin.tendermanagement.enums.ApplicationStatusTypeEnum; -import net.gepafin.tendermanagement.enums.AssignedEvaluationStatus; +import net.gepafin.tendermanagement.enums.ApplicationStatusForEvaluation; import net.gepafin.tendermanagement.model.request.ApplicationEvaluationRequest; -import net.gepafin.tendermanagement.model.request.UpdateApplicationEvaluationRequest; import net.gepafin.tendermanagement.model.response.ApplicationEvaluationResponse; -import net.gepafin.tendermanagement.model.response.ApplicationResponse; import net.gepafin.tendermanagement.model.util.Response; import net.gepafin.tendermanagement.web.rest.api.errors.ErrorConstants; import org.springframework.http.MediaType; import org.springframework.http.ResponseEntity; -import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.web.bind.annotation.*; -import java.util.List; - public interface ApplicationEvaluationApi { @Operation(summary = "API to create or update ApplicationEvaluation", @@ -37,8 +30,7 @@ public interface ApplicationEvaluationApi { ResponseEntity> createOrUpdateApplicationEvaluation( HttpServletRequest request, @Parameter(description = "Assigned Application ID", required = true) @PathVariable("assignedApplicationsId") Long assignedApplicationsId, - @Parameter(description = "Application Evaluation Request Body", required = true) @Valid @RequestBody ApplicationEvaluationRequest evaluationRequest, - @Parameter( required = false) @RequestParam(value = "status", required = false) AssignedEvaluationStatus status); + @Parameter(description = "Application Evaluation Request Body", required = true) @Valid @RequestBody ApplicationEvaluationRequest evaluationRequest); @Operation(summary = "API to get ApplicationEvaluation data for evaluation process", responses = { diff --git a/src/main/java/net/gepafin/tendermanagement/web/rest/api/impl/ApplicationEvaluationApiController.java b/src/main/java/net/gepafin/tendermanagement/web/rest/api/impl/ApplicationEvaluationApiController.java index c8a2620b..f56a85fb 100644 --- a/src/main/java/net/gepafin/tendermanagement/web/rest/api/impl/ApplicationEvaluationApiController.java +++ b/src/main/java/net/gepafin/tendermanagement/web/rest/api/impl/ApplicationEvaluationApiController.java @@ -3,13 +3,9 @@ package net.gepafin.tendermanagement.web.rest.api.impl; import jakarta.servlet.http.HttpServletRequest; import net.gepafin.tendermanagement.config.Translator; import net.gepafin.tendermanagement.constants.GepafinConstant; -import net.gepafin.tendermanagement.enums.ApplicationEvaluationStatusTypeEnum; -import net.gepafin.tendermanagement.enums.ApplicationStatusTypeEnum; -import net.gepafin.tendermanagement.enums.AssignedEvaluationStatus; +import net.gepafin.tendermanagement.enums.ApplicationStatusForEvaluation; import net.gepafin.tendermanagement.model.request.ApplicationEvaluationRequest; -import net.gepafin.tendermanagement.model.request.UpdateApplicationEvaluationRequest; import net.gepafin.tendermanagement.model.response.ApplicationEvaluationResponse; -import net.gepafin.tendermanagement.model.response.ApplicationResponse; import net.gepafin.tendermanagement.model.util.Response; import net.gepafin.tendermanagement.service.ApplicationEvaluationService; import net.gepafin.tendermanagement.web.rest.api.ApplicationEvaluationApi; @@ -20,8 +16,6 @@ import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; -import java.util.List; - @RestController @RequestMapping("${openapi.gepafin.base-path:/v1/applicationEvaluation}") public class ApplicationEvaluationApiController implements ApplicationEvaluationApi { @@ -33,11 +27,10 @@ public class ApplicationEvaluationApiController implements ApplicationEvaluation public ResponseEntity> createOrUpdateApplicationEvaluation( HttpServletRequest request, Long assignedApplicationsId, - ApplicationEvaluationRequest evaluationRequest, - AssignedEvaluationStatus status) { + ApplicationEvaluationRequest evaluationRequest) { ApplicationEvaluationResponse response = applicationEvaluationService.createOrUpdateApplicationEvaluation( - request, evaluationRequest, assignedApplicationsId, status); + request, evaluationRequest, assignedApplicationsId); return ResponseEntity.status(HttpStatus.CREATED) .body(new Response<>(response, Status.SUCCESS, Translator.toLocale(GepafinConstant.EVALUATION_CREATED_SUCCESSFULLY)));