Merge pull request #179 from Kitzanos/feature/GEPAFINBE-143

GEPAFINBE-143(Evaluation Process V2)
This commit is contained in:
Rinaldo
2025-01-27 10:15:20 +01:00
committed by GitHub
34 changed files with 823 additions and 33 deletions

View File

@@ -5,10 +5,8 @@ import net.gepafin.tendermanagement.dao.CallDao;
import net.gepafin.tendermanagement.entities.CallEntity;
import net.gepafin.tendermanagement.entities.UserEntity;
import net.gepafin.tendermanagement.enums.CallStatusEnum;
import net.gepafin.tendermanagement.model.request.CallPageableRequestBean;
import net.gepafin.tendermanagement.model.request.CreateCallRequestStep1;
import net.gepafin.tendermanagement.model.request.CreateCallRequestStep2;
import net.gepafin.tendermanagement.model.request.UpdateCallRequestStep1;
import net.gepafin.tendermanagement.enums.EvaluationVersionEnum;
import net.gepafin.tendermanagement.model.request.*;
import net.gepafin.tendermanagement.model.response.CallDetailsResponseBean;
import net.gepafin.tendermanagement.model.response.CallResponse;
import net.gepafin.tendermanagement.model.response.PageableResponseBean;
@@ -110,5 +108,11 @@ public class CallServiceImpl implements CallService {
UserEntity user = validator.validateUser(request);
return callDao.getAllCallsByPagination(request,user,companyId,onlyPreferredCall,callPageableRequestBean);
}
@Override
@Transactional(rollbackFor = Exception.class)
public CallResponse createCallStep2EvaluationV2(HttpServletRequest request, Long callId, CreateCallRequestStep2EvaluationV2 createCallRequest) {
UserEntity user = validator.validateUser(request);
CallEntity call = validator.validateUserWithCall(user, callId);
return callDao.createCallStep2EvaluationV2(call, createCallRequest, user);
}
}

View File

@@ -6,7 +6,9 @@ import java.util.List;
import net.gepafin.tendermanagement.config.Translator;
import net.gepafin.tendermanagement.constants.GepafinConstant;
import net.gepafin.tendermanagement.enums.EvaluationVersionEnum;
import net.gepafin.tendermanagement.model.response.CallResponse;
import net.gepafin.tendermanagement.model.response.EvaluationFormResponseBean;
import net.gepafin.tendermanagement.model.response.FlowResponseBean;
import net.gepafin.tendermanagement.model.response.FormResponseBean;
import net.gepafin.tendermanagement.util.FieldValidator;
@@ -15,7 +17,7 @@ import net.gepafin.tendermanagement.web.rest.api.errors.CustomValidationExceptio
import net.gepafin.tendermanagement.web.rest.api.errors.Status;
public class CallValidatorServiceImpl {
public static void validateResponse(CallResponse response, FlowResponseBean flowResponse, List<FormResponseBean> formResponses) {
public static void validateResponse(CallResponse response, FlowResponseBean flowResponse, List<FormResponseBean> formResponses, EvaluationFormResponseBean evaluationFormResponseBean) {
// Validate CallResponse (existing logic)
FieldValidator data = FieldValidator.create()
.notNull(response.getId(), "id")
@@ -28,26 +30,32 @@ public class CallValidatorServiceImpl {
.notNull(response.getRegionId(), "regionId")
.notNull(response.getAmount(), "amount")
.notNull(response.getAmountMax(), "amountMax")
.notNull(response.getThreshold(), "threshold")
.notNull(response.getEmail(),"email")
.notNull(response.getAmountMin(),"amountMin")
.notNull(response.getStartTime(),"startTime")
.notNull(response.getEndTime(),"endTime")
.notNull(response.getDocumentationRequested(), "documentationRequested")
.notEmpty(response.getAimedTo(), "aimedTo")
.notEmpty(response.getCriteria(), "criteria")
.notEmpty(response.getDocs(), "docs")
.notEmpty(response.getCheckList(), "checkList");
.notEmpty(response.getDocs(), "docs");
if (response.getEvaluationVersion() == EvaluationVersionEnum.V1) {
data = data.notEmpty(response.getCheckList(), "checkList")
.notEmpty(response.getCriteria(), "criteria")
.notNull(response.getThreshold(), "threshold");
}
if (response.getEvaluationVersion() == EvaluationVersionEnum.V2 && evaluationFormResponseBean == null) {
data.addError(Translator.toLocale(GepafinConstant.EVALUATION_FORM_NOT_FOUND));
}
if (response.getDates().get(0) == null || response.getDates().get(1) == null
|| response.getDates().get(0).toLocalDate().isBefore(LocalDate.now())
|| response.getDates().get(1).toLocalDate().isBefore(LocalDate.now())
|| response.getDates().get(0).toLocalDate().isAfter(response.getDates().get(1).toLocalDate())) {
data = data.addError(Translator.toLocale(GepafinConstant.INVALID_DATE_MSG));
}
if (flowResponse == null || ((flowResponse.getFlowData() == null || flowResponse.getFlowData().isEmpty())
&& (flowResponse.getFlowEdges() == null || flowResponse.getFlowEdges().isEmpty()))) {
if (flowResponse == null || ((flowResponse.getFlowData() == null || flowResponse.getFlowData().isEmpty()))
&& (flowResponse.getFlowEdges() == null || flowResponse.getFlowEdges().isEmpty())) {
data.addError(Translator.toLocale(GepafinConstant.FLOW_NOT_FOUND));
}
if (formResponses == null || formResponses.isEmpty()) {

View File

@@ -0,0 +1,62 @@
package net.gepafin.tendermanagement.service.impl;
import jakarta.servlet.http.HttpServletRequest;
import net.gepafin.tendermanagement.dao.EvaluationFormDao;
import net.gepafin.tendermanagement.entities.*;
import net.gepafin.tendermanagement.model.request.EvaluationFormRequest;
import net.gepafin.tendermanagement.model.response.EvaluationFormResponseBean;
import net.gepafin.tendermanagement.service.EvaluationFormService;
import net.gepafin.tendermanagement.util.Validator;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
@Service
public class EvaluationFormServiceImpl implements EvaluationFormService {
@Autowired
private EvaluationFormDao evalauationFormDao;
@Autowired
private Validator validator;
@Override
public EvaluationFormResponseBean createEvaluationForm(HttpServletRequest request, Long callId, EvaluationFormRequest evaluationFormRequest) {
UserEntity user = validator.validateUser(request);
CallEntity call = validator.validateUserWithCall(user, callId);
return evalauationFormDao.createEvaluationForm(call,evaluationFormRequest);
}
@Override
public EvaluationFormResponseBean updateEvaluationForm(HttpServletRequest request, Long evaluationFormId, EvaluationFormRequest evaluationFormRequest) {
UserEntity user = validator.validateUser(request);
return evalauationFormDao.updateEvaluationForm(user, evaluationFormId,evaluationFormRequest);
}
@Override
public EvaluationFormResponseBean getEvaluationFormById(HttpServletRequest request, Long evaluationFormId) {
UserEntity user = validator.validateUser(request);
return evalauationFormDao.getEvaluationFormById(user, evaluationFormId);
}
@Override
public void deleteEvaluationForm(HttpServletRequest request, Long evaluationFormId) {
UserEntity user = validator.validateUser(request);
evalauationFormDao.deleteEvaluationForm(user, evaluationFormId);
}
@Override
public EvaluationFormEntity validateEvaluationForm(Long id) {
return evalauationFormDao.validateForm(id);
}
@Override
public EvaluationFormResponseBean getEvaluationFormByCallId(HttpServletRequest request, Long callId) {
UserEntity user = validator.validateUser(request);
CallEntity call = validator.validateUserWithCall(user, callId);
return evalauationFormDao.getEvaluationFormByCallId(call);
}
}