Updated code

This commit is contained in:
harish
2024-10-26 17:48:31 +05:30
parent 24d4f6a65c
commit 9b1c86d179
13 changed files with 87 additions and 58 deletions

View File

@@ -240,6 +240,7 @@ public class GepafinConstant {
public static final String EVALUATIONS_FETCHED_SUCCESSFULLY = "evaluations.fetched.successfully"; public static final String EVALUATIONS_FETCHED_SUCCESSFULLY = "evaluations.fetched.successfully";
public static final String APPLICATION_EVALUATION_NOT_FOUND = "application.evaluation.not.found"; public static final String APPLICATION_EVALUATION_NOT_FOUND = "application.evaluation.not.found";
public static final String APPLICATION_EVALUATION_STATUS_UPDATED_SUCCESSFULLY = "application.evaluation.status.updated.successfully"; public static final String APPLICATION_EVALUATION_STATUS_UPDATED_SUCCESSFULLY = "application.evaluation.status.updated.successfully";
public static final String ASSIGNED_APPLICATION_NOT_FOUND_WITH_ID_MSG = "assigned.application.not.found.with.id";
public static final String APPLICATION_ASSIGNED= "application.assigned.success.msg"; public static final String APPLICATION_ASSIGNED= "application.assigned.success.msg";

View File

@@ -53,11 +53,14 @@ public class ApplicationEvaluationDao {
private ApplicationFormRepository applicationFormRepository; private ApplicationFormRepository applicationFormRepository;
@Autowired @Autowired
private ApplicationFormFieldRepository applicationFormFieldRepository; private ApplicationFormFieldRepository applicationFormFieldRepository;
@Autowired AssignedApplicationsRepository assignedApplicationsRepository;
private ApplicationEvaluationEntity convertToEntity(UserEntity user, ApplicationEvaluationRequest req) { private ApplicationEvaluationEntity convertToEntity(UserEntity user, ApplicationEvaluationRequest req,Long applicationId) {
ApplicationEvaluationEntity entity = new ApplicationEvaluationEntity(); ApplicationEvaluationEntity entity = new ApplicationEvaluationEntity();
ApplicationEntity application = applicationService.validateApplication(req.getApplicationId()); ApplicationEntity application = applicationService.validateApplication(applicationId);
entity.setApplication(application); AssignedApplicationsEntity assignedApplications = assignedApplicationsRepository.findByApplicationIdAndIsDeletedFalse(applicationId).orElse(null);
entity.setApplicationId(application.getId());
entity.setAssignedApplicationsEntity(assignedApplications);
entity.setUserId(user.getId()); entity.setUserId(user.getId());
entity.setCriteria(Utils.convertObjectToJson(req.getCriteria())); entity.setCriteria(Utils.convertObjectToJson(req.getCriteria()));
entity.setChecklist(Utils.convertObjectToJson(req.getChecklist())); entity.setChecklist(Utils.convertObjectToJson(req.getChecklist()));
@@ -72,10 +75,10 @@ public class ApplicationEvaluationDao {
ApplicationEvaluationResponse response = new ApplicationEvaluationResponse(); ApplicationEvaluationResponse response = new ApplicationEvaluationResponse();
populateBasicDetails(entity, response); populateBasicDetails(entity, response);
CallEntity call = callRepository.findCallEntityByApplicationId(entity.getApplication().getId()); CallEntity call = callRepository.findCallEntityByApplicationId(entity.getApplicationId());
List<EvaluationCriteriaEntity> evaluationCriterias = evaluationCriteriaRepository.findByCallId(call.getId()); List<EvaluationCriteriaEntity> evaluationCriterias = evaluationCriteriaRepository.findByCallId(call.getId());
List<CallTargetAudienceChecklistEntity> checklistEntities = callTargetAudienceChecklistRepository.findByCallId(call.getId()); List<CallTargetAudienceChecklistEntity> checklistEntities = callTargetAudienceChecklistRepository.findByCallId(call.getId());
List<ApplicationFormEntity> applicationFormEntities = applicationFormRepository.findByApplicationId(entity.getApplication().getId()); List<ApplicationFormEntity> applicationFormEntities = applicationFormRepository.findByApplicationId(entity.getApplicationId());
setCriteriaResponses(entity, response, evaluationCriterias); setCriteriaResponses(entity, response, evaluationCriterias);
setChecklistResponses(entity, response, checklistEntities); setChecklistResponses(entity, response, checklistEntities);
@@ -88,7 +91,9 @@ 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.getApplication().getId()); response.setApplicationId(entity.getApplicationId());
AssignedApplicationsEntity assignedApplications = assignedApplicationsRepository.findByApplicationIdAndIsDeletedFalse(entity.getApplicationId()).orElse(null);
response.setAssignedApplicationId(assignedApplications.getId());
response.setNote(entity.getNote()); response.setNote(entity.getNote());
response.setStatus(ApplicationEvaluationStatusTypeEnum.valueOf(entity.getStatus())); response.setStatus(ApplicationEvaluationStatusTypeEnum.valueOf(entity.getStatus()));
response.setCreatedDate(entity.getCreatedDate()); response.setCreatedDate(entity.getCreatedDate());
@@ -100,7 +105,7 @@ public class ApplicationEvaluationDao {
? Utils.convertJsonToList(entity.getCriteria(), new TypeReference<List<CriteriaResponse>>() {}) ? Utils.convertJsonToList(entity.getCriteria(), new TypeReference<List<CriteriaResponse>>() {})
: new ArrayList<>(); : new ArrayList<>();
List<CriteriaResponse> criteriaResponsesFromDB = getCriteriaResponse(entity.getApplication().getId()); List<CriteriaResponse> criteriaResponsesFromDB = getCriteriaResponse(entity.getApplicationId());
addMissingCriteriaResponses(criteriaResponsesFromEntity, criteriaResponsesFromDB); addMissingCriteriaResponses(criteriaResponsesFromEntity, criteriaResponsesFromDB);
criteriaResponsesFromEntity.forEach(criteriaResponse -> { criteriaResponsesFromEntity.forEach(criteriaResponse -> {
@@ -135,7 +140,7 @@ public class ApplicationEvaluationDao {
? Utils.convertJsonToList(entity.getChecklist(), new TypeReference<List<ChecklistResponse>>() {}) ? Utils.convertJsonToList(entity.getChecklist(), new TypeReference<List<ChecklistResponse>>() {})
: new ArrayList<>(); : new ArrayList<>();
List<ChecklistResponse> checklistResponsesFromDB = getChecklistResponse(entity.getApplication().getId()); List<ChecklistResponse> checklistResponsesFromDB = getChecklistResponse(entity.getApplicationId());
addMissingChecklistResponses(checklistResponsesFromEntity, checklistResponsesFromDB); addMissingChecklistResponses(checklistResponsesFromEntity, checklistResponsesFromDB);
checklistResponsesFromEntity.forEach(checklistResponse -> { checklistResponsesFromEntity.forEach(checklistResponse -> {
@@ -169,7 +174,7 @@ public class ApplicationEvaluationDao {
? Utils.convertJsonToList(entity.getFile(), new TypeReference<List<FieldResponse>>() {}) ? Utils.convertJsonToList(entity.getFile(), new TypeReference<List<FieldResponse>>() {})
: new ArrayList<>(); : new ArrayList<>();
List<FieldResponse> fieldResponsesFromDB = getFieldResponses(entity.getApplication().getId()); List<FieldResponse> fieldResponsesFromDB = getFieldResponses(entity.getApplicationId());
addMissingFieldResponses(fieldResponsesFromEntity, fieldResponsesFromDB); addMissingFieldResponses(fieldResponsesFromEntity, fieldResponsesFromDB);
fieldResponsesFromEntity.forEach(fieldResponse -> { fieldResponsesFromEntity.forEach(fieldResponse -> {
@@ -202,7 +207,7 @@ public class ApplicationEvaluationDao {
} }
private void setApplicationDetails(ApplicationEvaluationResponse response, ApplicationEvaluationEntity entity) { private void setApplicationDetails(ApplicationEvaluationResponse response, ApplicationEvaluationEntity entity) {
ApplicationEntity application = applicationService.validateApplication(entity.getApplication() != null ? entity.getApplication().getId() : null); ApplicationEntity application = applicationService.validateApplication(entity.getApplicationId() != null ? entity.getApplicationId(): null);
UserEntity user = userService.validateUser(application.getUserId()); UserEntity user = userService.validateUser(application.getUserId());
String firstName = user.getFirstName() != null ? user.getFirstName() : ""; String firstName = user.getFirstName() != null ? user.getFirstName() : "";
String lastName = user.getLastName() != null ? user.getLastName() : ""; String lastName = user.getLastName() != null ? user.getLastName() : "";
@@ -213,12 +218,13 @@ public class ApplicationEvaluationDao {
response.setCallName(application.getCall().getName()); response.setCallName(application.getCall().getName());
response.setProtocolNumber(application.getProtocol() != null ? application.getProtocol().getProtocolNumber() : null); response.setProtocolNumber(application.getProtocol() != null ? application.getProtocol().getProtocolNumber() : null);
response.setSubmissionDate(application.getSubmissionDate()); response.setSubmissionDate(application.getSubmissionDate());
response.setEvaluationDate(LocalDateTime.now()); response.setEvaluationDate(application.getSubmissionDate().plusDays(30));
} }
public ApplicationEvaluationResponse createOrUpdateApplicationEvaluation(UserEntity user, ApplicationEvaluationRequest req) { public ApplicationEvaluationResponse createOrUpdateApplicationEvaluation(UserEntity user, ApplicationEvaluationRequest req,Long applicationId) {
Optional<ApplicationEvaluationEntity> existingEntityOptional = applicationEvaluationRepository.findByApplicationId(req.getApplicationId()); Optional<ApplicationEvaluationEntity> existingEntityOptional = applicationEvaluationRepository.findByApplicationId(applicationId);
ApplicationEvaluationEntity entity; ApplicationEvaluationEntity entity;
if (existingEntityOptional.isPresent()) { if (existingEntityOptional.isPresent()) {
@@ -229,7 +235,7 @@ public class ApplicationEvaluationDao {
entity.setIsDeleted(false); entity.setIsDeleted(false);
setIfUpdated(entity::getNote, entity::setNote, req.getNote()); setIfUpdated(entity::getNote, entity::setNote, req.getNote());
} else { } else {
entity = convertToEntity(user, req); entity = convertToEntity(user, req,applicationId);
} }
ApplicationEvaluationEntity savedEntity = applicationEvaluationRepository.save(entity); ApplicationEvaluationEntity savedEntity = applicationEvaluationRepository.save(entity);
@@ -376,8 +382,9 @@ public class ApplicationEvaluationDao {
List<EvaluationCriteriaEntity> evaluationCriterias = evaluationCriteriaRepository.findByCallId(call.getId()); List<EvaluationCriteriaEntity> evaluationCriterias = evaluationCriteriaRepository.findByCallId(call.getId());
List<CallTargetAudienceChecklistEntity> checklistEntities = callTargetAudienceChecklistRepository.findByCallId(call.getId()); List<CallTargetAudienceChecklistEntity> checklistEntities = callTargetAudienceChecklistRepository.findByCallId(call.getId());
List<ApplicationFormEntity> applicationFormEntities = applicationFormRepository.findByApplicationId(applicationId); List<ApplicationFormEntity> applicationFormEntities = applicationFormRepository.findByApplicationId(applicationId);
AssignedApplicationsEntity assignedApplications = assignedApplicationsRepository.findByApplicationIdAndIsDeletedFalse(applicationId).orElse(null);
response.setApplicationId(applicationId); response.setApplicationId(applicationId);
response.setAssignedApplicationId(assignedApplications.getId());
response.setNote(null); response.setNote(null);
response.setStatus(ApplicationEvaluationStatusTypeEnum.valueOf(ApplicationEvaluationStatusTypeEnum.DRAFT.getValue())); response.setStatus(ApplicationEvaluationStatusTypeEnum.valueOf(ApplicationEvaluationStatusTypeEnum.DRAFT.getValue()));
@@ -463,7 +470,8 @@ public class ApplicationEvaluationDao {
response.setCallName(application.getCall().getName()); response.setCallName(application.getCall().getName());
response.setProtocolNumber(application.getProtocol() != null ? application.getProtocol().getProtocolNumber() : null); response.setProtocolNumber(application.getProtocol() != null ? application.getProtocol().getProtocolNumber() : null);
response.setSubmissionDate(application.getSubmissionDate()); response.setSubmissionDate(application.getSubmissionDate());
response.setEvaluationDate(LocalDateTime.now()); response.setEvaluationDate(application.getSubmissionDate().plusDays(30));
} }
List<CriteriaResponse> getCriteriaResponse(Long applicationId){ CallEntity call = callRepository.findCallEntityByApplicationId(applicationId); List<CriteriaResponse> getCriteriaResponse(Long applicationId){ CallEntity call = callRepository.findCallEntityByApplicationId(applicationId);

View File

@@ -9,10 +9,8 @@ import java.util.List;
@Entity @Entity
@Table(name = "application_evaluation") @Table(name = "application_evaluation")
public class ApplicationEvaluationEntity extends BaseEntity{ public class ApplicationEvaluationEntity extends BaseEntity{
@Column(name = "application_Id")
@ManyToOne private Long applicationId;
@JoinColumn(name = "APPLICATION_ID", nullable = true)
private ApplicationEntity application;
@Column(name = "user_id") @Column(name = "user_id")
private Long userId; private Long userId;
@@ -24,12 +22,17 @@ public class ApplicationEvaluationEntity extends BaseEntity{
@Column(name = "file") @Column(name = "file")
private String file; private String file;
@Column(name = "note") @Column(name = "note")
private String note; private String note;
@Column(name = "status") @Column(name = "status")
private String status; private String status;
@Column(name="IS_DELETED") @Column(name="IS_DELETED")
private Boolean isDeleted; private Boolean isDeleted;
@ManyToOne
@JoinColumn(name = "assigned_applications_id", nullable = true)
private AssignedApplicationsEntity assignedApplicationsEntity;
} }

View File

@@ -7,7 +7,6 @@ import java.util.List;
@Data @Data
public class ApplicationEvaluationRequest { public class ApplicationEvaluationRequest {
private Long applicationId;
private List<CriteriaRequest> criteria; private List<CriteriaRequest> criteria;
private List<ChecklistRequest> checklist; private List<ChecklistRequest> checklist;
private List<FieldRequest> field; private List<FieldRequest> field;

View File

@@ -12,6 +12,7 @@ public class ApplicationEvaluationResponse {
private Long id; private Long id;
private Long applicationId; private Long applicationId;
private Long assignedApplicationId;
private String note; private String note;
private ApplicationEvaluationStatusTypeEnum status; private ApplicationEvaluationStatusTypeEnum status;
private List<CriteriaResponse> criteria; private List<CriteriaResponse> criteria;

View File

@@ -11,7 +11,7 @@ import net.gepafin.tendermanagement.model.response.ApplicationResponse;
import java.util.List; import java.util.List;
public interface ApplicationEvaluationService { public interface ApplicationEvaluationService {
ApplicationEvaluationResponse createOrUpdateApplicationEvaluation(HttpServletRequest request, ApplicationEvaluationRequest applicationEvaluationRequest); ApplicationEvaluationResponse createOrUpdateApplicationEvaluation(HttpServletRequest request, ApplicationEvaluationRequest applicationEvaluationRequest,Long assignedApplicationsId);
void deleteApplicationEvaluation(HttpServletRequest request,Long id); void deleteApplicationEvaluation(HttpServletRequest request,Long id);
ApplicationEvaluationResponse getApplicationEvaluationByApplicationId(HttpServletRequest request,Long applicationId); ApplicationEvaluationResponse getApplicationEvaluationByApplicationId(HttpServletRequest request,Long applicationId);

View File

@@ -1,8 +1,11 @@
package net.gepafin.tendermanagement.service.impl; package net.gepafin.tendermanagement.service.impl;
import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletRequest;
import net.gepafin.tendermanagement.config.Translator;
import net.gepafin.tendermanagement.constants.GepafinConstant;
import net.gepafin.tendermanagement.dao.ApplicationEvaluationDao; import net.gepafin.tendermanagement.dao.ApplicationEvaluationDao;
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.ApplicationEvaluationStatusTypeEnum;
import net.gepafin.tendermanagement.enums.ApplicationStatusTypeEnum; import net.gepafin.tendermanagement.enums.ApplicationStatusTypeEnum;
@@ -10,13 +13,18 @@ import net.gepafin.tendermanagement.model.request.ApplicationEvaluationRequest;
import net.gepafin.tendermanagement.model.request.UpdateApplicationEvaluationRequest; 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.response.ApplicationResponse;
import net.gepafin.tendermanagement.repositories.AssignedApplicationsRepository;
import net.gepafin.tendermanagement.service.ApplicationEvaluationService; import net.gepafin.tendermanagement.service.ApplicationEvaluationService;
import net.gepafin.tendermanagement.util.Validator; import net.gepafin.tendermanagement.util.Validator;
import net.gepafin.tendermanagement.web.rest.api.errors.CustomValidationException;
import net.gepafin.tendermanagement.web.rest.api.errors.ResourceNotFoundException;
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.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import java.util.List; import java.util.List;
import java.util.Optional;
@Service @Service
public class ApplicationEvaluationServiceImpl implements ApplicationEvaluationService { public class ApplicationEvaluationServiceImpl implements ApplicationEvaluationService {
@@ -25,35 +33,45 @@ public class ApplicationEvaluationServiceImpl implements ApplicationEvaluationSe
private ApplicationEvaluationDao applicationEvaluationDao; private ApplicationEvaluationDao applicationEvaluationDao;
@Autowired @Autowired
private Validator validator; private Validator validator;
@Autowired
private AssignedApplicationsRepository assignedApplicationsRepository;
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public ApplicationEvaluationResponse createOrUpdateApplicationEvaluation(HttpServletRequest request, ApplicationEvaluationRequest req) { public ApplicationEvaluationResponse createOrUpdateApplicationEvaluation(HttpServletRequest request, ApplicationEvaluationRequest req,Long assignedApplicationsId) {
Long userId = validator.getUserIdFromToken(request); AssignedApplicationsEntity assignedApplication = assignedApplicationsRepository.findByIdAndIsDeletedFalse(assignedApplicationsId).orElseThrow(()->
UserEntity user=validator.validatePreInstructor(request,userId); new ResourceNotFoundException(Status.NOT_FOUND,Translator.toLocale(GepafinConstant.ASSIGNED_APPLICATION_NOT_FOUND_MSG)));
return applicationEvaluationDao.createOrUpdateApplicationEvaluation(user,req); UserEntity user=validator.validatePreInstructor(request,assignedApplication.getUserId());
return applicationEvaluationDao.createOrUpdateApplicationEvaluation(user,req,assignedApplication.getApplication().getId());
} }
@Override @Override
@Transactional(readOnly = true) @Transactional(readOnly = true)
public ApplicationEvaluationResponse getApplicationEvaluationByApplicationId(HttpServletRequest request,Long applicationId) { public ApplicationEvaluationResponse getApplicationEvaluationByApplicationId(HttpServletRequest request,Long applicationId) {
Long userId = validator.getUserIdFromToken(request); AssignedApplicationsEntity assignedApplications = assignedApplicationsRepository.findByApplicationIdAndIsDeletedFalse(applicationId).orElse(null);
UserEntity user=validator.validatePreInstructor(request,userId); if(assignedApplications==null){
return applicationEvaluationDao.getApplicationEvaluationByApplicationId(user,applicationId); throw new CustomValidationException(Status.BAD_REQUEST, Translator.toLocale(GepafinConstant.ASSIGNED_APPLICATION_NOT_FOUND_WITH_ID_MSG));
}
UserEntity user = validator.validatePreInstructor(request, assignedApplications.getUserId());
return applicationEvaluationDao.getApplicationEvaluationByApplicationId(user, assignedApplications.getUserId());
} }
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public void deleteApplicationEvaluation(HttpServletRequest request,Long id) { public void deleteApplicationEvaluation(HttpServletRequest request,Long id) {
Long userId = validator.getUserIdFromToken(request); validator.getUserIdFromToken(request);
applicationEvaluationDao.deleteById(id); applicationEvaluationDao.deleteById(id);
} }
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public ApplicationEvaluationResponse updateApplicationEvaluationStatus(HttpServletRequest request, Long applicationId, ApplicationEvaluationStatusTypeEnum status) { public ApplicationEvaluationResponse updateApplicationEvaluationStatus(HttpServletRequest request, Long applicationId, ApplicationEvaluationStatusTypeEnum status) {
Long userId = validator.getUserIdFromToken(request); AssignedApplicationsEntity assignedApplications = assignedApplicationsRepository.findByApplicationIdAndIsDeletedFalse(applicationId).orElse(null);
validator.validatePreInstructor(request,userId); if(assignedApplications==null){
throw new CustomValidationException(Status.BAD_REQUEST, Translator.toLocale(GepafinConstant.ASSIGNED_APPLICATION_NOT_FOUND_WITH_ID_MSG));
}
validator.validatePreInstructor(request, assignedApplications.getUserId());
return applicationEvaluationDao.updateApplicationEvaluationStatus(applicationId, status); return applicationEvaluationDao.updateApplicationEvaluationStatus(applicationId, status);
} }

View File

@@ -139,14 +139,6 @@ public class Validator {
Map<String, Object> userInfo= tokenProvider.getUserInfoAndUserIdFromToken(request); Map<String, Object> userInfo= tokenProvider.getUserInfoAndUserIdFromToken(request);
return Long.parseLong(userInfo.get("userId").toString()); return Long.parseLong(userInfo.get("userId").toString());
} }
public UserEntity validatePreInstructor(HttpServletRequest request, Long userId) {
UserEntity user = validateUser(request);
if(Boolean.FALSE.equals(RoleStatusEnum.ROLE_PRE_INSTRUCTOR.getValue().equals(user.getRoleEntity().getRoleType()))||Boolean.FALSE.equals(user.getId().equals(userId))) {
throw new ForbiddenAccessException(Status.FORBIDDEN, Translator.toLocale(GepafinConstant.PERMISSION_DENIED));
}
return userService.validateUser(userId);
}
public CallEntity validateUserWithCall(UserEntity user, Long callId) { public CallEntity validateUserWithCall(UserEntity user, Long callId) {
CallEntity callEntity = callService.validateCall(callId); CallEntity callEntity = callService.validateCall(callId);
if(Boolean.FALSE.equals(user.getHub().getId().equals(callEntity.getHub().getId()))) { if(Boolean.FALSE.equals(user.getHub().getId().equals(callEntity.getHub().getId()))) {

View File

@@ -24,7 +24,7 @@ import java.util.List;
public interface ApplicationEvaluationApi { public interface ApplicationEvaluationApi {
@Operation(summary = "API to create ApplicationEvaluation", @Operation(summary = "API to create or update ApplicationEvaluation",
responses = { responses = {
@ApiResponse(responseCode = "200", description = "OK"), @ApiResponse(responseCode = "200", description = "OK"),
@ApiResponse(responseCode = "404", description = "Not Found", content = @Content(mediaType = MediaType.APPLICATION_JSON_VALUE, examples = { @ApiResponse(responseCode = "404", description = "Not Found", content = @Content(mediaType = MediaType.APPLICATION_JSON_VALUE, examples = {
@@ -32,9 +32,11 @@ public interface ApplicationEvaluationApi {
@ApiResponse(responseCode = "400", description = "Bad Request", content = @Content(mediaType = MediaType.APPLICATION_JSON_VALUE, examples = { @ApiResponse(responseCode = "400", description = "Bad Request", content = @Content(mediaType = MediaType.APPLICATION_JSON_VALUE, examples = {
@ExampleObject(value = ErrorConstants.BADREQUEST_ERROR_EXAMPLE) })) @ExampleObject(value = ErrorConstants.BADREQUEST_ERROR_EXAMPLE) }))
}) })
@PostMapping(value = "/", produces = MediaType.APPLICATION_JSON_VALUE, consumes = MediaType.APPLICATION_JSON_VALUE) @PutMapping(value = "/{assignedApplicationsId}", produces = MediaType.APPLICATION_JSON_VALUE, consumes = MediaType.APPLICATION_JSON_VALUE)
ResponseEntity<Response<ApplicationEvaluationResponse>> createOrUpdateApplicationEvaluation(HttpServletRequest request, ResponseEntity<Response<ApplicationEvaluationResponse>> createOrUpdateApplicationEvaluation(
@Parameter(description = "ApplicationEvaluation request object", required = true) @Valid @RequestBody ApplicationEvaluationRequest evaluationRequest); HttpServletRequest request,
@Parameter(required = true) @PathVariable("assignedApplicationsId") Long assignedApplicationsId,
@Parameter( required = true) @Valid @RequestBody ApplicationEvaluationRequest evaluationRequest);
@Operation(summary = "API to get ApplicationEvaluation data for evaluation process", @Operation(summary = "API to get ApplicationEvaluation data for evaluation process",
responses = { responses = {
@@ -67,7 +69,7 @@ public interface ApplicationEvaluationApi {
@ExampleObject(value = ErrorConstants.BADREQUEST_ERROR_EXAMPLE) })) }) @ExampleObject(value = ErrorConstants.BADREQUEST_ERROR_EXAMPLE) })) })
@PutMapping(value = "/{id}/status", produces = MediaType.APPLICATION_JSON_VALUE) @PutMapping(value = "/{id}/status", produces = MediaType.APPLICATION_JSON_VALUE)
ResponseEntity<Response<ApplicationEvaluationResponse>> updateApplicationEvaluationStatus(HttpServletRequest request, ResponseEntity<Response<ApplicationEvaluationResponse>> updateApplicationEvaluationStatus(HttpServletRequest request,
@Parameter(description = "The evaluation ID", required = true) @PathVariable("id") Long id, @Parameter( required = true) @PathVariable("id") Long id,
@Parameter(description = "status", required = true)@RequestParam(value = "status", required = true) ApplicationEvaluationStatusTypeEnum status); @Parameter(description = "status", required = true)@RequestParam(value = "status", required = true) ApplicationEvaluationStatusTypeEnum status);
} }

View File

@@ -30,8 +30,8 @@ public class ApplicationEvaluationApiController implements ApplicationEvaluation
@Override @Override
public ResponseEntity<Response<ApplicationEvaluationResponse>> createOrUpdateApplicationEvaluation(HttpServletRequest request, public ResponseEntity<Response<ApplicationEvaluationResponse>> createOrUpdateApplicationEvaluation(HttpServletRequest request,
ApplicationEvaluationRequest evaluationRequest) { Long assignedApplicationsId,ApplicationEvaluationRequest evaluationRequest) {
ApplicationEvaluationResponse response = applicationEvaluationService.createOrUpdateApplicationEvaluation(request,evaluationRequest); ApplicationEvaluationResponse response = applicationEvaluationService.createOrUpdateApplicationEvaluation(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)));
} }

View File

@@ -1488,8 +1488,12 @@
<column autoIncrement="true" name="id" type="INTEGER"> <column autoIncrement="true" name="id" type="INTEGER">
<constraints nullable="false" primaryKey="true" primaryKeyName="application_evaluation_pkey"/> <constraints nullable="false" primaryKey="true" primaryKeyName="application_evaluation_pkey"/>
</column> </column>
<column name="assigned_applications_id" type="INTEGER">
<constraints nullable="false"/>
</column>
<column name="application_id" type="INTEGER"> <column name="application_id" type="INTEGER">
<constraints nullable="false"/> <constraints nullable="false"/>
</column>
<column name="user_id" type="INTEGER"> <column name="user_id" type="INTEGER">
<constraints nullable="false"/> <constraints nullable="false"/>
</column> </column>
@@ -1528,13 +1532,12 @@
onDelete="CASCADE" /> onDelete="CASCADE" />
<addForeignKeyConstraint <addForeignKeyConstraint
baseTableName="application_evaluation" baseTableName="application_evaluation"
baseColumnNames="application_id" baseColumnNames="assigned_applications_id"
referencedTableName="application" referencedTableName="assigned_applications"
referencedColumnNames="id" referencedColumnNames="id"
constraintName="fk_application_evaluation_application" constraintName="fk_application_evaluation_assigned_applications"
onDelete="CASCADE" /> onDelete="CASCADE" />
</changeSet> </changeSet>
</createTable>
</changeSet>
</databaseChangeLog> </databaseChangeLog>

View File

@@ -261,6 +261,7 @@ evaluation.deleted.successfully = Application evaluation deleted successfully.
evaluations.fetched.successfully = All application evaluations fetched successfully. evaluations.fetched.successfully = All application evaluations fetched successfully.
application.evaluation.status.updated.successfully=Application evaluation status updated successfully. application.evaluation.status.updated.successfully=Application evaluation status updated successfully.
evaluationCriteria.invalid=This evaluation criterion does not belong to the current call. evaluationCriteria.invalid=This evaluation criterion does not belong to the current call.
assigned.application.not.found.with.id=Assigned application with this application ID not found
# Hub Messages # Hub Messages

View File

@@ -259,6 +259,7 @@ evaluation.fetched.successfully = Valutazione dell'applicazione recuperata con s
evaluation.deleted.successfully = Valutazione dell'applicazione eliminata con successo. evaluation.deleted.successfully = Valutazione dell'applicazione eliminata con successo.
evaluations.fetched.successfully = Tutte le valutazioni delle applicazioni recuperate con successo. evaluations.fetched.successfully = Tutte le valutazioni delle applicazioni recuperate con successo.
application.evaluation.status.updated.successfully=Stato della valutazione dell'applicazione aggiornato con successo. application.evaluation.status.updated.successfully=Stato della valutazione dell'applicazione aggiornato con successo.
assigned.application.not.found.with.id=Applicazione assegnata con questo ID dell'applicazione non trovata
application.assigned.success.msg =Domanda assegnata con successo application.assigned.success.msg =Domanda assegnata con successo
application.already.assigned.msg =La domanda <20> gi<67> assegnata application.already.assigned.msg =La domanda <20> gi<67> assegnata