Updated code

This commit is contained in:
harish
2024-10-29 18:12:28 +05:30
parent 540f0c47d9
commit 93def98fe9
7 changed files with 21 additions and 41 deletions

View File

@@ -346,8 +346,7 @@ public class ApplicationEvaluationDao {
public ApplicationEvaluationResponse createOrUpdateApplicationEvaluation( public ApplicationEvaluationResponse createOrUpdateApplicationEvaluation(
UserEntity user, UserEntity user,
ApplicationEvaluationRequest req, ApplicationEvaluationRequest req,
Long assignedApplicationId, Long assignedApplicationId) {
AssignedEvaluationStatus status) {
Optional<ApplicationEvaluationEntity> existingEntityOptional = Optional<ApplicationEvaluationEntity> existingEntityOptional =
applicationEvaluationRepository.findByAssignedApplicationsEntity_IdAndIsDeletedFalse(assignedApplicationId); applicationEvaluationRepository.findByAssignedApplicationsEntity_IdAndIsDeletedFalse(assignedApplicationId);
@@ -365,12 +364,14 @@ public class ApplicationEvaluationDao {
} else { } else {
entity = convertToEntity(user, req, assignedApplicationId); entity = convertToEntity(user, req, assignedApplicationId);
} }
ApplicationStatusForEvaluation status = req.getApplicationStatus();
ApplicationEvaluationEntity savedEntity = applicationEvaluationRepository.save(entity);
if (status != null) { if (status != null) {
ApplicationEntity application = applicationService.validateApplication(assignedApplications.get().getApplication().getId()); ApplicationEntity application = applicationService.validateApplication(assignedApplications.get().getApplication().getId());
AssignedApplicationsEntity assignedApplicationsEntity = assignedApplications.get(); AssignedApplicationsEntity assignedApplicationsEntity = assignedApplications.get();
return updateApplicationEvaluationStatus(application, assignedApplicationsEntity, status); return updateApplicationEvaluationStatus(application, assignedApplicationsEntity, status);
} else { } else {
ApplicationEvaluationEntity savedEntity = applicationEvaluationRepository.save(entity);
return convertToResponse(savedEntity); return convertToResponse(savedEntity);
} }
} }
@@ -876,17 +877,18 @@ public class ApplicationEvaluationDao {
} }
public ApplicationEvaluationResponse updateApplicationEvaluationStatus(ApplicationEntity application, AssignedApplicationsEntity assignedApplicationsEntity, public ApplicationEvaluationResponse updateApplicationEvaluationStatus(ApplicationEntity application, AssignedApplicationsEntity assignedApplicationsEntity,
AssignedEvaluationStatus newStatus) { ApplicationStatusForEvaluation newStatus) {
Optional<ApplicationEvaluationEntity> existingEntityOptional = applicationEvaluationRepository.findByAssignedApplicationsEntity_IdAndIsDeletedFalse( Optional<ApplicationEvaluationEntity> existingEntityOptional = applicationEvaluationRepository.findByAssignedApplicationsEntity_IdAndIsDeletedFalse(
assignedApplicationsEntity.getId()); assignedApplicationsEntity.getId());
ApplicationEvaluationEntity entity; ApplicationEvaluationEntity entity;
String statusType = application.getStatus();
if (existingEntityOptional.isPresent()) { if (existingEntityOptional.isPresent()) {
ApplicationEvaluationEntity existingEntity = existingEntityOptional.get(); ApplicationEvaluationEntity existingEntity = existingEntityOptional.get();
application.setStatus(newStatus.getValue()); application.setStatus(newStatus.getValue());
application = applicationRepository.save(application); application = applicationRepository.save(application);
String statusType = application.getStatus();
if (application.getStatus().equals(ApplicationStatusTypeEnum.APPROVED.getValue()) || application.getStatus().equals(ApplicationStatusTypeEnum.REJECTED.getValue())) { if (application.getStatus().equals(ApplicationStatusTypeEnum.APPROVED.getValue()) || application.getStatus().equals(ApplicationStatusTypeEnum.REJECTED.getValue())) {
existingEntity.setStatus(ApplicationEvaluationStatusTypeEnum.CLOSE.getValue()); existingEntity.setStatus(ApplicationEvaluationStatusTypeEnum.CLOSE.getValue());
assignedApplicationsEntity.setStatus(AssignedApplicationEnum.CLOSE.getValue()); assignedApplicationsEntity.setStatus(AssignedApplicationEnum.CLOSE.getValue());

View File

@@ -2,13 +2,13 @@ package net.gepafin.tendermanagement.enums;
import com.fasterxml.jackson.annotation.JsonValue; import com.fasterxml.jackson.annotation.JsonValue;
public enum AssignedEvaluationStatus { public enum ApplicationStatusForEvaluation {
APPROVED("APPROVED"), APPROVED("APPROVED"),
REJECTED("REJECTED"); REJECTED("REJECTED");
private String value; private String value;
AssignedEvaluationStatus(String value) { ApplicationStatusForEvaluation(String value) {
this.value = value; this.value = value;
} }

View File

@@ -1,6 +1,7 @@
package net.gepafin.tendermanagement.model.request; package net.gepafin.tendermanagement.model.request;
import lombok.Data; import lombok.Data;
import net.gepafin.tendermanagement.enums.ApplicationStatusForEvaluation;
import java.util.List; import java.util.List;
@Data @Data
@@ -10,4 +11,5 @@ public class ApplicationEvaluationRequest {
private List<ChecklistRequest> checklist; private List<ChecklistRequest> checklist;
private List<FieldRequest> files; private List<FieldRequest> files;
private String note; private String note;
private ApplicationStatusForEvaluation applicationStatus;
} }

View File

@@ -2,20 +2,15 @@ package net.gepafin.tendermanagement.service;
import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletRequest;
import net.gepafin.tendermanagement.entities.ApplicationEvaluationEntity; import net.gepafin.tendermanagement.entities.ApplicationEvaluationEntity;
import net.gepafin.tendermanagement.enums.ApplicationEvaluationStatusTypeEnum; import net.gepafin.tendermanagement.enums.ApplicationStatusForEvaluation;
import net.gepafin.tendermanagement.enums.AssignedEvaluationStatus;
import net.gepafin.tendermanagement.model.request.ApplicationEvaluationRequest; import net.gepafin.tendermanagement.model.request.ApplicationEvaluationRequest;
import net.gepafin.tendermanagement.model.response.ApplicationEvaluationResponse; import net.gepafin.tendermanagement.model.response.ApplicationEvaluationResponse;
import java.util.List;
public interface ApplicationEvaluationService { public interface ApplicationEvaluationService {
ApplicationEvaluationResponse createOrUpdateApplicationEvaluation( ApplicationEvaluationResponse createOrUpdateApplicationEvaluation(
HttpServletRequest request, HttpServletRequest request,
ApplicationEvaluationRequest applicationEvaluationRequest, ApplicationEvaluationRequest applicationEvaluationRequest,
Long assignedApplicationsId, Long assignedApplicationsId);
AssignedEvaluationStatus status);
void deleteApplicationEvaluation(HttpServletRequest request,Long id); void deleteApplicationEvaluation(HttpServletRequest request,Long id);

View File

@@ -8,8 +8,7 @@ import net.gepafin.tendermanagement.dao.ApplicationEvaluationDao;
import net.gepafin.tendermanagement.entities.ApplicationEvaluationEntity; import net.gepafin.tendermanagement.entities.ApplicationEvaluationEntity;
import net.gepafin.tendermanagement.entities.AssignedApplicationsEntity; import net.gepafin.tendermanagement.entities.AssignedApplicationsEntity;
import net.gepafin.tendermanagement.entities.UserEntity; import net.gepafin.tendermanagement.entities.UserEntity;
import net.gepafin.tendermanagement.enums.ApplicationEvaluationStatusTypeEnum; import net.gepafin.tendermanagement.enums.ApplicationStatusForEvaluation;
import net.gepafin.tendermanagement.enums.AssignedEvaluationStatus;
import net.gepafin.tendermanagement.model.request.ApplicationEvaluationRequest; import net.gepafin.tendermanagement.model.request.ApplicationEvaluationRequest;
import net.gepafin.tendermanagement.model.response.ApplicationEvaluationResponse; 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.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import java.util.Collections;
import java.util.List;
import java.util.Optional; import java.util.Optional;
@Service @Service
@@ -42,8 +39,7 @@ public class ApplicationEvaluationServiceImpl implements ApplicationEvaluationSe
public ApplicationEvaluationResponse createOrUpdateApplicationEvaluation( public ApplicationEvaluationResponse createOrUpdateApplicationEvaluation(
HttpServletRequest request, HttpServletRequest request,
ApplicationEvaluationRequest req, ApplicationEvaluationRequest req,
Long assignedApplicationsId, Long assignedApplicationsId) {
AssignedEvaluationStatus status) {
AssignedApplicationsEntity assignedApplication = assignedApplicationsRepository AssignedApplicationsEntity assignedApplication = assignedApplicationsRepository
.findByIdAndIsDeletedFalse(assignedApplicationsId) .findByIdAndIsDeletedFalse(assignedApplicationsId)
@@ -53,7 +49,7 @@ public class ApplicationEvaluationServiceImpl implements ApplicationEvaluationSe
UserEntity user = validator.validatePreInstructor(request, assignedApplication.getUserId()); UserEntity user = validator.validatePreInstructor(request, assignedApplication.getUserId());
return applicationEvaluationDao.createOrUpdateApplicationEvaluation(user, req, assignedApplication.getId(), status); return applicationEvaluationDao.createOrUpdateApplicationEvaluation(user, req, assignedApplication.getId());
} }
@Override @Override

View File

@@ -7,22 +7,15 @@ import io.swagger.v3.oas.annotations.media.ExampleObject;
import io.swagger.v3.oas.annotations.responses.ApiResponse; import io.swagger.v3.oas.annotations.responses.ApiResponse;
import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletRequest;
import jakarta.validation.Valid; import jakarta.validation.Valid;
import net.gepafin.tendermanagement.enums.ApplicationEvaluationStatusTypeEnum; import net.gepafin.tendermanagement.enums.ApplicationStatusForEvaluation;
import net.gepafin.tendermanagement.enums.ApplicationStatusTypeEnum;
import net.gepafin.tendermanagement.enums.AssignedEvaluationStatus;
import net.gepafin.tendermanagement.model.request.ApplicationEvaluationRequest; 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.ApplicationEvaluationResponse;
import net.gepafin.tendermanagement.model.response.ApplicationResponse;
import net.gepafin.tendermanagement.model.util.Response; import net.gepafin.tendermanagement.model.util.Response;
import net.gepafin.tendermanagement.web.rest.api.errors.ErrorConstants; import net.gepafin.tendermanagement.web.rest.api.errors.ErrorConstants;
import org.springframework.http.MediaType; import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity; import org.springframework.http.ResponseEntity;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import java.util.List;
public interface ApplicationEvaluationApi { public interface ApplicationEvaluationApi {
@Operation(summary = "API to create or update ApplicationEvaluation", @Operation(summary = "API to create or update ApplicationEvaluation",
@@ -37,8 +30,7 @@ public interface ApplicationEvaluationApi {
ResponseEntity<Response<ApplicationEvaluationResponse>> createOrUpdateApplicationEvaluation( ResponseEntity<Response<ApplicationEvaluationResponse>> createOrUpdateApplicationEvaluation(
HttpServletRequest request, HttpServletRequest request,
@Parameter(description = "Assigned Application ID", required = true) @PathVariable("assignedApplicationsId") Long assignedApplicationsId, @Parameter(description = "Assigned Application ID", required = true) @PathVariable("assignedApplicationsId") Long assignedApplicationsId,
@Parameter(description = "Application Evaluation Request Body", required = true) @Valid @RequestBody ApplicationEvaluationRequest evaluationRequest, @Parameter(description = "Application Evaluation Request Body", required = true) @Valid @RequestBody ApplicationEvaluationRequest evaluationRequest);
@Parameter( required = false) @RequestParam(value = "status", required = false) AssignedEvaluationStatus status);
@Operation(summary = "API to get ApplicationEvaluation data for evaluation process", @Operation(summary = "API to get ApplicationEvaluation data for evaluation process",
responses = { responses = {

View File

@@ -3,13 +3,9 @@ package net.gepafin.tendermanagement.web.rest.api.impl;
import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletRequest;
import net.gepafin.tendermanagement.config.Translator; import net.gepafin.tendermanagement.config.Translator;
import net.gepafin.tendermanagement.constants.GepafinConstant; import net.gepafin.tendermanagement.constants.GepafinConstant;
import net.gepafin.tendermanagement.enums.ApplicationEvaluationStatusTypeEnum; import net.gepafin.tendermanagement.enums.ApplicationStatusForEvaluation;
import net.gepafin.tendermanagement.enums.ApplicationStatusTypeEnum;
import net.gepafin.tendermanagement.enums.AssignedEvaluationStatus;
import net.gepafin.tendermanagement.model.request.ApplicationEvaluationRequest; 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.ApplicationEvaluationResponse;
import net.gepafin.tendermanagement.model.response.ApplicationResponse;
import net.gepafin.tendermanagement.model.util.Response; import net.gepafin.tendermanagement.model.util.Response;
import net.gepafin.tendermanagement.service.ApplicationEvaluationService; import net.gepafin.tendermanagement.service.ApplicationEvaluationService;
import net.gepafin.tendermanagement.web.rest.api.ApplicationEvaluationApi; 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.RequestMapping;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import java.util.List;
@RestController @RestController
@RequestMapping("${openapi.gepafin.base-path:/v1/applicationEvaluation}") @RequestMapping("${openapi.gepafin.base-path:/v1/applicationEvaluation}")
public class ApplicationEvaluationApiController implements ApplicationEvaluationApi { public class ApplicationEvaluationApiController implements ApplicationEvaluationApi {
@@ -33,11 +27,10 @@ public class ApplicationEvaluationApiController implements ApplicationEvaluation
public ResponseEntity<Response<ApplicationEvaluationResponse>> createOrUpdateApplicationEvaluation( public ResponseEntity<Response<ApplicationEvaluationResponse>> createOrUpdateApplicationEvaluation(
HttpServletRequest request, HttpServletRequest request,
Long assignedApplicationsId, Long assignedApplicationsId,
ApplicationEvaluationRequest evaluationRequest, ApplicationEvaluationRequest evaluationRequest) {
AssignedEvaluationStatus status) {
ApplicationEvaluationResponse response = applicationEvaluationService.createOrUpdateApplicationEvaluation( ApplicationEvaluationResponse response = applicationEvaluationService.createOrUpdateApplicationEvaluation(
request, evaluationRequest, assignedApplicationsId, status); request, evaluationRequest, assignedApplicationsId);
return ResponseEntity.status(HttpStatus.CREATED) return ResponseEntity.status(HttpStatus.CREATED)
.body(new Response<>(response, Status.SUCCESS, Translator.toLocale(GepafinConstant.EVALUATION_CREATED_SUCCESSFULLY))); .body(new Response<>(response, Status.SUCCESS, Translator.toLocale(GepafinConstant.EVALUATION_CREATED_SUCCESSFULLY)));