Updated code
This commit is contained in:
@@ -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";
|
||||||
|
|||||||
@@ -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);
|
||||||
|
|||||||
@@ -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;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
@@ -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);
|
||||||
|
|||||||
@@ -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);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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()))) {
|
||||||
|
|||||||
@@ -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);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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)));
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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>
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user