Updated code

This commit is contained in:
harish
2024-10-28 22:53:14 +05:30
parent ba06748628
commit ce9b9c73d1
4 changed files with 24 additions and 15 deletions

View File

@@ -20,6 +20,7 @@ import net.gepafin.tendermanagement.web.rest.api.errors.Status;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import java.time.LocalDateTime;
import java.util.*; import java.util.*;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@@ -94,7 +95,7 @@ public class ApplicationEvaluationDao {
private void populateBasicDetails(ApplicationEvaluationEntity entity, ApplicationEvaluationResponse response) { private void populateBasicDetails(ApplicationEvaluationEntity entity, ApplicationEvaluationResponse response) {
response.setId(entity.getId()); response.setId(entity.getId());
response.setApplicationId(entity.getApplicationId()); response.setApplicationId(entity.getApplicationId());
AssignedApplicationsEntity assignedApplications = assignedApplicationsRepository.findByApplicationIdAndIsDeletedFalse(entity.getApplicationId()).orElse(null); AssignedApplicationsEntity assignedApplications = assignedApplicationsRepository.findByIdAndIsDeletedFalse(entity.getAssignedApplicationsEntity().getId()).orElse(null);
response.setAssignedApplicationId(assignedApplications.getId()); response.setAssignedApplicationId(assignedApplications.getId());
response.setNote(entity.getNote()); response.setNote(entity.getNote());
response.setStatus(ApplicationEvaluationStatusTypeEnum.valueOf(entity.getStatus())); response.setStatus(ApplicationEvaluationStatusTypeEnum.valueOf(entity.getStatus()));
@@ -327,7 +328,8 @@ public class ApplicationEvaluationDao {
response.setProtocolNumber(application.getProtocol() != null ? application.getProtocol().getProtocolNumber() : null); response.setProtocolNumber(application.getProtocol() != null ? application.getProtocol().getProtocolNumber() : null);
response.setSubmissionDate(application.getSubmissionDate() != null ? application.getSubmissionDate() : null); response.setSubmissionDate(application.getSubmissionDate() != null ? application.getSubmissionDate() : null);
response.setEvaluationDate(application.getSubmissionDate() != null ? application.getSubmissionDate().plusDays(30) : null); response.setEvaluationDate(application.getSubmissionDate() != null ? application.getSubmissionDate().plusDays(30) : null);
LocalDateTime callEndDate = application.getCall().getEndDate();
response.setCallEndDate(callEndDate);
} }
@@ -335,13 +337,6 @@ public class ApplicationEvaluationDao {
Optional<ApplicationEvaluationEntity> existingEntityOptional = applicationEvaluationRepository.findByAssignedApplicationsEntity_IdAndIsDeletedFalse(assignedApplciationId); Optional<ApplicationEvaluationEntity> existingEntityOptional = applicationEvaluationRepository.findByAssignedApplicationsEntity_IdAndIsDeletedFalse(assignedApplciationId);
ApplicationEvaluationEntity entity; ApplicationEvaluationEntity entity;
Optional<AssignedApplicationsEntity> assignedApplications=assignedApplicationsRepository.findByIdAndIsDeletedFalse(assignedApplciationId); Optional<AssignedApplicationsEntity> assignedApplications=assignedApplicationsRepository.findByIdAndIsDeletedFalse(assignedApplciationId);
{if(assignedApplications.isPresent())
if (applicationEvaluationRepository.existsByApplicationIdAndIsDeletedFalse(assignedApplications.get().getApplication().getId())) {
throw new CustomValidationException(
Status.BAD_REQUEST,
GepafinConstant.EVALUATION_ALREADY_EXISTS_MSG
);
}}
if (existingEntityOptional.isPresent()) { if (existingEntityOptional.isPresent()) {
entity = existingEntityOptional.get(); entity = existingEntityOptional.get();
entity.setCriteria(Utils.convertObjectToJson(filterNonNullCriteria(processCriteria(entity, req)))); entity.setCriteria(Utils.convertObjectToJson(filterNonNullCriteria(processCriteria(entity, req))));
@@ -558,6 +553,8 @@ public class ApplicationEvaluationDao {
response.setApplicationStatus(ApplicationStatusTypeEnum.valueOf(application.getStatus())); response.setApplicationStatus(ApplicationStatusTypeEnum.valueOf(application.getStatus()));
response.setStatus(ApplicationEvaluationStatusTypeEnum.valueOf(ApplicationEvaluationStatusTypeEnum.OPEN.getValue())); response.setStatus(ApplicationEvaluationStatusTypeEnum.valueOf(ApplicationEvaluationStatusTypeEnum.OPEN.getValue()));
response.setMinScore(call.getThreshold()!=null?call.getThreshold():null); response.setMinScore(call.getThreshold()!=null?call.getThreshold():null);
LocalDateTime callEndDate = application.getCall().getEndDate();
response.setCallEndDate(callEndDate);
setCriteriaResponses(entity, application.getId(), response, evaluationCriterias); setCriteriaResponses(entity, application.getId(), response, evaluationCriterias);
setChecklistResponses(entity, application.getId(), response, checklistEntities); setChecklistResponses(entity, application.getId(), response, checklistEntities);
setFileResponses(entity, application.getId(), response, applicationFormEntities); setFileResponses(entity, application.getId(), response, applicationFormEntities);

View File

@@ -28,4 +28,5 @@ public class ApplicationEvaluationResponse {
private String callName; private String callName;
private LocalDateTime submissionDate; private LocalDateTime submissionDate;
private LocalDateTime evaluationDate; private LocalDateTime evaluationDate;
private LocalDateTime callEndDate;
} }

View File

@@ -15,9 +15,13 @@ public interface AssignedApplicationsRepository extends JpaRepository<AssignedAp
Optional<AssignedApplicationsEntity> findByIdAndIsDeletedFalse(Long id); Optional<AssignedApplicationsEntity> findByIdAndIsDeletedFalse(Long id);
@Query("SELECT aa FROM AssignedApplicationsEntity aa WHERE aa.isDeleted = false " + @Query("SELECT aa FROM AssignedApplicationsEntity aa WHERE aa.isDeleted = false " +
"AND (:applicationId IS NULL OR aa.application.id = :applicationId) " + "AND (:applicationId IS NULL OR aa.application.id = :applicationId) " +
"AND (:id IS NULL OR aa.id = :id)") "AND (:id IS NULL OR aa.id = :id) " +
Optional<AssignedApplicationsEntity> findByApplicationIdOrId(@Param("applicationId") Long applicationId, "AND (:userId IS NULL OR aa.userId = :userId)")
@Param("id") Long id); Optional<AssignedApplicationsEntity> findByApplicationIdOrIdAndUserIdAndIsDeletedFalse(
@Param("applicationId") Long applicationId,
@Param("id") Long id,
@Param("userId") Long userId);
} }

View File

@@ -50,29 +50,36 @@ public class ApplicationEvaluationServiceImpl implements ApplicationEvaluationSe
@Transactional(readOnly = true) @Transactional(readOnly = true)
public ApplicationEvaluationResponse getApplicationEvaluationByApplicationId( public ApplicationEvaluationResponse getApplicationEvaluationByApplicationId(
HttpServletRequest request, Long applicationId, Long assignedApplicationId) { HttpServletRequest request, Long applicationId, Long assignedApplicationId) {
if (applicationId == null && assignedApplicationId == null) { if (applicationId == null && assignedApplicationId == null) {
throw new CustomValidationException( throw new CustomValidationException(
Status.BAD_REQUEST, Status.BAD_REQUEST,
Translator.toLocale(GepafinConstant.EITHER_APPLICATION_OR_ASSIGNED_APPLICATION_ID_REQUIRED_MSG) Translator.toLocale(GepafinConstant.EITHER_APPLICATION_OR_ASSIGNED_APPLICATION_ID_REQUIRED_MSG)
); );
} }
UserEntity preInstructor = validator.validateUser(request);
Optional<AssignedApplicationsEntity> assignedApplicationsOptional = Optional<AssignedApplicationsEntity> assignedApplicationsOptional =
assignedApplicationsRepository.findByApplicationIdOrId(applicationId, assignedApplicationId); assignedApplicationsRepository.findByApplicationIdOrIdAndUserIdAndIsDeletedFalse(applicationId,assignedApplicationId, preInstructor.getId());
if (assignedApplicationId != null) {
assignedApplicationsOptional = assignedApplicationsOptional.filter(a -> a.getId().equals(assignedApplicationId));
}
AssignedApplicationsEntity assignedApplications = assignedApplicationsOptional AssignedApplicationsEntity assignedApplications = assignedApplicationsOptional
.orElseThrow(() -> new CustomValidationException( .orElseThrow(() -> new CustomValidationException(
Status.BAD_REQUEST, Status.BAD_REQUEST,
Translator.toLocale(GepafinConstant.ASSIGNED_APPLICATION_NOT_FOUND_WITH_ID_MSG) Translator.toLocale(GepafinConstant.ASSIGNED_APPLICATION_NOT_FOUND_WITH_ID_MSG)
)); ));
UserEntity user = validator.validatePreInstructor(request, assignedApplications.getUserId()); validator.validatePreInstructor(request, assignedApplications.getUserId());
return applicationEvaluationDao.getApplicationEvaluationByApplicationId( return applicationEvaluationDao.getApplicationEvaluationByApplicationId(
user, preInstructor,
assignedApplications.getApplication().getId(), assignedApplications.getApplication().getId(),
assignedApplications.getId() assignedApplications.getId()
); );
} }
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public void deleteApplicationEvaluation(HttpServletRequest request,Long id) { public void deleteApplicationEvaluation(HttpServletRequest request,Long id) {