diff --git a/src/main/java/net/gepafin/tendermanagement/constants/GepafinConstant.java b/src/main/java/net/gepafin/tendermanagement/constants/GepafinConstant.java
index 85bceee3..c85dacd7 100644
--- a/src/main/java/net/gepafin/tendermanagement/constants/GepafinConstant.java
+++ b/src/main/java/net/gepafin/tendermanagement/constants/GepafinConstant.java
@@ -112,6 +112,7 @@ public class GepafinConstant {
public static final String APPLICATION_UPDATED_SUCCESS_MSG = "application.updated.success";
public static final String DELETE_APPLICATION_SUCCESS_MSG = "application.deleted.success";
public static final String GET_APPLICATION_SUCCESS_MSG = "application.get.success";
+ public static final String GET_APPLICATION_EVALUATION_VERSION_SUCCESS_MSG = "application.evaluation.version.get.success";
public static final String APPLICATION_NOT_FOUND_MSG = "application.not.found";
public static final String APPLICATION_FORM_FIELD_NOT_FOUND = "application.form.field.not.found";
public static final String FORM_ID_DOES_NOT_MACTHES = "Form.not.matches.to.call.initial.form";
@@ -408,5 +409,28 @@ public class GepafinConstant {
public static final String REQUIRED_REQUESTED_AMOUNT_MSG = "validation.required.requested.amount";
public static final String CRITERIA_TABLE_COLUMNS="criteria_table_columns";
+
+ public static final String DOCUMENTATION_INTEGRATION_REQUEST_SVILUPPUMBRIA= "\n" +
+ "
\n" +
+ " \n" +
+ "
RICHIESTA INTEGRAZIONE DOCUMENTALE
\n" +
+ "
Buongiorno,
\n" +
+ "
In riferimento alla domanda di concessione di Finanziamento agevolato a valere sul Bando \n" +
+ " {{call_name}} di cui al Protocollo n. {{protocol_number}} del\n" +
+ " {{protocol_date}} e {{protocol_time}}, alla luce dell'attività istruttoria svolta,\n" +
+ " segnaliamo quanto segue:\n" +
+ "
\n" +
+ " {{note}}\n" +
+ "
Vi invitiamo a fornire quanto sopra richiesto integrando la documentazione caricandola all'interno dello sportello\n" +
+ " online {{platform_link}} entro e non oltre {{response_days}} giorni dal ricevimento della presente comunicazione,\n" +
+ " precisando che, in caso di mancata ricezione nei termini indicati, saremo costretti a non prendere in considerazione la Vostra richiesta di finanziamento.\n" +
+ "
\n" +
+ "
La documentazione trasmessa e le informazioni fornite saranno processate dall'istruttore assegnatario della pratica.\n" +
+ "
\n" +
+ "
Distinti Saluti,
\n" +
+ "
{{email_signature}}
\n" +
+ "
\n" +
+ " \n" +
+ "";
}
diff --git a/src/main/java/net/gepafin/tendermanagement/dao/ApplicationEvaluationDao.java b/src/main/java/net/gepafin/tendermanagement/dao/ApplicationEvaluationDao.java
index 3f3259c3..7ecadfcb 100644
--- a/src/main/java/net/gepafin/tendermanagement/dao/ApplicationEvaluationDao.java
+++ b/src/main/java/net/gepafin/tendermanagement/dao/ApplicationEvaluationDao.java
@@ -2201,5 +2201,23 @@ public class ApplicationEvaluationDao {
return evaluationFormResponseBean;
}
+ public ApplicationEvaluationVersionResponse getApplicationEvaluationVersion(HttpServletRequest request, Long applicationId){
+
+ log.info("Fetching application evaluation version with ID: {}", applicationId);
+
+ ApplicationEntity applicationEntity = applicationService.validateApplication(applicationId);
+ return buildApplicationEvaluationVersionResponse(applicationEntity);
+
+ }
+ private ApplicationEvaluationVersionResponse buildApplicationEvaluationVersionResponse(ApplicationEntity applicationEntity) {
+ ApplicationEvaluationVersionResponse response = new ApplicationEvaluationVersionResponse();
+ response.setApplicationId(applicationEntity.getId());
+ response.setCallId(applicationEntity.getCall().getId());
+ response.setCompanyId(applicationEntity.getCompanyId());
+ response.setEvaluationVersion(EvaluationVersionEnum.valueOf(applicationEntity.getEvaluationVersion()));
+ response.setEvaluationId(applicationEntity.getApplicationEvaluationId());
+ return response;
+ }
+
}
diff --git a/src/main/java/net/gepafin/tendermanagement/dao/EmailNotificationDao.java b/src/main/java/net/gepafin/tendermanagement/dao/EmailNotificationDao.java
index 3988b35a..7bc8010d 100644
--- a/src/main/java/net/gepafin/tendermanagement/dao/EmailNotificationDao.java
+++ b/src/main/java/net/gepafin/tendermanagement/dao/EmailNotificationDao.java
@@ -94,7 +94,15 @@ public class EmailNotificationDao {
subjectPlaceholders.put("{{company_name}}", company.getCompanyName());
// bodyPlaceholders.put("{{legal_mail}}", legalMail);
String subject = Utils.replacePlaceholders(systemEmailTemplateResponse.getSubject(), subjectPlaceholders);
- String body = Utils.replacePlaceholders(systemEmailTemplateResponse.getHtmlContent(), bodyPlaceholders);
+ String body;
+ if ("t7jh5wfg9QXylNaTZkPoE".equals(hubEntity.getUniqueUuid()) && templateType.equals(SystemEmailTemplatesEntity.SystemEmailTemplatesEntityTypeEnum.DOCUMENTATION_INTEGRATION_REQUEST)) {
+ bodyPlaceholders.put("{{email_signature}}", hubEntity.getEmailSignature());
+ bodyPlaceholders.put("{{platform_link}}",hubEntity.getDomainName());
+ body = Utils.replacePlaceholders(GepafinConstant.DOCUMENTATION_INTEGRATION_REQUEST_SVILUPPUMBRIA, bodyPlaceholders);
+ }
+ else {
+ body = Utils.replacePlaceholders(systemEmailTemplateResponse.getHtmlContent(), bodyPlaceholders);
+ }
return new EmailContentResponse(subject, body, systemEmailTemplateResponse);
}
diff --git a/src/main/java/net/gepafin/tendermanagement/dao/FormDao.java b/src/main/java/net/gepafin/tendermanagement/dao/FormDao.java
index 5e5cfdef..e4be1b0d 100644
--- a/src/main/java/net/gepafin/tendermanagement/dao/FormDao.java
+++ b/src/main/java/net/gepafin/tendermanagement/dao/FormDao.java
@@ -36,6 +36,8 @@ import java.util.stream.Collectors;
@Component
public class FormDao {
+ private final Logger log = LoggerFactory.getLogger(FormDao.class);
+
@Autowired
private FormRepository formRepository;
@@ -203,8 +205,9 @@ public class FormDao {
String formFieldId,Long evaluationCriteriaId) {
EvaluationCriteriaEntity evaluationCriteria = evaluationCriteriaService.validateEvaluationCriteria(evaluationCriteriaId);
if (Boolean.FALSE.equals(evaluationCriteria.getCall().getId().equals(callEntity.getId()))) {
- throw new CustomValidationException(Status.VALIDATION_ERROR,
- Translator.toLocale(GepafinConstant.EVALUATIONCRITERIA_INVALID));
+ log.info("This evaluation criterion does not belong to the current call. Expected Call ID = {}, Found Call ID = {}",
+ callEntity.getId(), evaluationCriteria.getCall().getId());
+ return;
}
CriteriaFormFieldEntity criteriaFormField = new CriteriaFormFieldEntity();
criteriaFormField.setCallId(callEntity.getId());
@@ -471,7 +474,9 @@ public class FormDao {
FieldValidatorBean fieldValidatorBean = Utils.convertSourceObjectToDestinationObject(contentResponseBean.getValidators(), FieldValidatorBean.class);
String fieldValue = getFieldValue(contentResponseBean);
- validator.isRequired(value, fieldValidatorBean.getIsRequired(), fieldValue);
+
+ validator.isRequired(value, fieldValidatorBean.getIsRequired(), fieldValue)
+ .validateCustomTableValidation(value,fieldValidatorBean.getCustom(),fieldValue,contentResponseBean);
});
if (Boolean.TRUE.equals(isSendValidationError)) {
validator.validate();
diff --git a/src/main/java/net/gepafin/tendermanagement/enums/UserActionContextEnum.java b/src/main/java/net/gepafin/tendermanagement/enums/UserActionContextEnum.java
index d0839370..847ee9b8 100644
--- a/src/main/java/net/gepafin/tendermanagement/enums/UserActionContextEnum.java
+++ b/src/main/java/net/gepafin/tendermanagement/enums/UserActionContextEnum.java
@@ -35,6 +35,7 @@ public enum UserActionContextEnum {
/** application action context **/
GET_APPLICATION("GET_APPLICATION"),
CREATE_UPDATE_APPLICATION_FORM("CREATE_UPDATE_APPLICATION_FORM"),
+ GET_APPLICATION_EVALUATION_VERSION("GET_APPLICATION_EVALUATION_VERSION"),
CREATE_APPLICATION("CREATE_APPLICATION"),
DELETE_APPLICATION("DELETE_APPLICATION"),
GET_ALL_APPLICATION("GET_ALL_APPLICATION"),
diff --git a/src/main/java/net/gepafin/tendermanagement/model/response/ApplicationEvaluationVersionResponse.java b/src/main/java/net/gepafin/tendermanagement/model/response/ApplicationEvaluationVersionResponse.java
new file mode 100644
index 00000000..99f1ae75
--- /dev/null
+++ b/src/main/java/net/gepafin/tendermanagement/model/response/ApplicationEvaluationVersionResponse.java
@@ -0,0 +1,13 @@
+package net.gepafin.tendermanagement.model.response;
+
+import lombok.Data;
+import net.gepafin.tendermanagement.enums.EvaluationVersionEnum;
+
+@Data
+public class ApplicationEvaluationVersionResponse {
+ private Long callId;
+ private Long companyId;
+ private Long applicationId;
+ private Long evaluationId;
+ private EvaluationVersionEnum evaluationVersion;
+}
diff --git a/src/main/java/net/gepafin/tendermanagement/service/ApplicationEvaluationService.java b/src/main/java/net/gepafin/tendermanagement/service/ApplicationEvaluationService.java
index 51f0b52c..50b4f299 100644
--- a/src/main/java/net/gepafin/tendermanagement/service/ApplicationEvaluationService.java
+++ b/src/main/java/net/gepafin/tendermanagement/service/ApplicationEvaluationService.java
@@ -27,4 +27,6 @@ public interface ApplicationEvaluationService {
ApplicationEvaluationFormResponse getApplicationEvaluationForm(HttpServletRequest request, Long applicationId, Long assignedApplicationId);
+ ApplicationEvaluationVersionResponse getApplicationEvaluationVersion(HttpServletRequest request, Long applicationId);
+
}
diff --git a/src/main/java/net/gepafin/tendermanagement/service/impl/ApplicationEvaluationServiceImpl.java b/src/main/java/net/gepafin/tendermanagement/service/impl/ApplicationEvaluationServiceImpl.java
index 55da1766..c1f5d0f2 100644
--- a/src/main/java/net/gepafin/tendermanagement/service/impl/ApplicationEvaluationServiceImpl.java
+++ b/src/main/java/net/gepafin/tendermanagement/service/impl/ApplicationEvaluationServiceImpl.java
@@ -14,6 +14,7 @@ import net.gepafin.tendermanagement.model.response.ApplicationEvaluationFormResp
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;
@@ -100,4 +101,12 @@ public class ApplicationEvaluationServiceImpl implements ApplicationEvaluationSe
return applicationEvaluationDao.getApplicationEvaluationForm(request,applicationId,assignedApplicationId);
}
+ @Override
+ public ApplicationEvaluationVersionResponse getApplicationEvaluationVersion(HttpServletRequest request, Long applicationId) {
+ validator.validateUser(request);
+ return applicationEvaluationDao.getApplicationEvaluationVersion(request,applicationId);
+ }
+
+
+
}
diff --git a/src/main/java/net/gepafin/tendermanagement/util/FieldValidator.java b/src/main/java/net/gepafin/tendermanagement/util/FieldValidator.java
index a9b5ad9a..ffcdfcac 100644
--- a/src/main/java/net/gepafin/tendermanagement/util/FieldValidator.java
+++ b/src/main/java/net/gepafin/tendermanagement/util/FieldValidator.java
@@ -147,11 +147,51 @@ public class FieldValidator {
return this;
}
- private static void checkTableValidation(String value, String fieldId, ContentResponseBean contentResponseBean, List