112 lines
5.1 KiB
Java
112 lines
5.1 KiB
Java
package net.gepafin.tendermanagement.service.impl;
|
|
|
|
import jakarta.servlet.http.HttpServletRequest;
|
|
import net.gepafin.tendermanagement.dao.ApplicationEvaluationDao;
|
|
|
|
import net.gepafin.tendermanagement.entities.ApplicationEntity;
|
|
import net.gepafin.tendermanagement.entities.ApplicationEvaluationEntity;
|
|
import net.gepafin.tendermanagement.entities.AssignedApplicationsEntity;
|
|
import net.gepafin.tendermanagement.entities.UserEntity;
|
|
import net.gepafin.tendermanagement.model.request.ApplicationEvaluationFormRequestBean;
|
|
import net.gepafin.tendermanagement.model.request.ApplicationEvaluationRequest;
|
|
import net.gepafin.tendermanagement.model.response.ApplicationEvaluationFormResponse;
|
|
import net.gepafin.tendermanagement.model.response.ApplicationEvaluationResponse;
|
|
import net.gepafin.tendermanagement.model.response.ApplicationEvaluationResponseBean;
|
|
import net.gepafin.tendermanagement.model.response.ApplicationEvaluationVersionResponse;
|
|
import net.gepafin.tendermanagement.repositories.AssignedApplicationsRepository;
|
|
import net.gepafin.tendermanagement.service.ApplicationEvaluationService;
|
|
import net.gepafin.tendermanagement.service.ApplicationService;
|
|
import net.gepafin.tendermanagement.service.AssignedApplicationsService;
|
|
import net.gepafin.tendermanagement.util.Validator;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
import java.util.List;
|
|
|
|
@Service
|
|
public class ApplicationEvaluationServiceImpl implements ApplicationEvaluationService {
|
|
|
|
@Autowired
|
|
private ApplicationEvaluationDao applicationEvaluationDao;
|
|
@Autowired
|
|
private Validator validator;
|
|
@Autowired
|
|
private AssignedApplicationsService assignedApplicationsService;
|
|
@Autowired
|
|
private AssignedApplicationsRepository assignedApplicationsRepository;
|
|
@Autowired
|
|
private ApplicationEvaluationService applicationEvaluationService;
|
|
|
|
@Autowired
|
|
private ApplicationService applicationService;
|
|
|
|
@Override
|
|
@Transactional(rollbackFor = Exception.class)
|
|
public ApplicationEvaluationResponse createOrUpdateApplicationEvaluation(
|
|
HttpServletRequest request,
|
|
ApplicationEvaluationRequest req,
|
|
Long assignedApplicationsId) {
|
|
|
|
AssignedApplicationsEntity assignedApplication =assignedApplicationsService.validateAssignedApplication(assignedApplicationsId);
|
|
|
|
UserEntity user = validator.validatePreInstructor(request, assignedApplication.getUserId());
|
|
|
|
return applicationEvaluationDao.createOrUpdateApplicationEvaluation(user, req, assignedApplication.getId());
|
|
}
|
|
|
|
@Override
|
|
@Transactional(readOnly = true)
|
|
public ApplicationEvaluationResponse getApplicationEvaluationByApplicationId(
|
|
HttpServletRequest request, Long applicationId, Long assignedApplicationId) {
|
|
UserEntity preInstructor = validator.validateUser(request);
|
|
return applicationEvaluationDao.getApplicationEvaluationByApplicationId(
|
|
request,
|
|
preInstructor,
|
|
applicationId,
|
|
assignedApplicationId
|
|
);
|
|
}
|
|
|
|
@Override
|
|
@Transactional(rollbackFor = Exception.class)
|
|
public void deleteApplicationEvaluation(HttpServletRequest request,Long id) {
|
|
validator.getUserIdFromToken(request);
|
|
applicationEvaluationDao.deleteById(id);
|
|
}
|
|
|
|
@Override
|
|
public ApplicationEvaluationEntity validateApplicationEvaluation(Long applicationEvaluationId) {
|
|
return applicationEvaluationDao.validateApplicationEvaluation(applicationEvaluationId);
|
|
}
|
|
|
|
@Override
|
|
public ApplicationEvaluationEntity validateApplicationEvaluationByApplicationId(Long applicationId) {
|
|
return applicationEvaluationDao.validateApplicationEvaluationByApplicationId(applicationId);
|
|
}
|
|
|
|
@Override
|
|
@Transactional(rollbackFor = Exception.class)
|
|
public ApplicationEvaluationFormResponse createApplicationEvaluation(HttpServletRequest request, ApplicationEvaluationFormRequestBean applicationEvaluationFormRequestBean, Long assignedApplicationId, Long evaluationFormId) {
|
|
AssignedApplicationsEntity assignedApplicationsEntity = assignedApplicationsService.validateAssignedApplication(assignedApplicationId);
|
|
validator.validatePreInstructor(request, assignedApplicationsEntity.getUserId());
|
|
return applicationEvaluationDao.createApplicationEvaluation(request,applicationEvaluationFormRequestBean,evaluationFormId,assignedApplicationId);
|
|
}
|
|
|
|
@Override
|
|
@Transactional(readOnly = true)
|
|
public ApplicationEvaluationFormResponse getApplicationEvaluationForm(HttpServletRequest request, Long applicationId, Long assignedApplicationId) {
|
|
validator.validateUser(request);
|
|
return applicationEvaluationDao.getApplicationEvaluationForm(request,applicationId,assignedApplicationId);
|
|
}
|
|
|
|
@Override
|
|
public ApplicationEvaluationVersionResponse getApplicationEvaluationVersion(HttpServletRequest request, Long applicationId) {
|
|
validator.validateUser(request);
|
|
return applicationEvaluationDao.getApplicationEvaluationVersion(request,applicationId);
|
|
}
|
|
|
|
|
|
|
|
}
|