Added field rejectedReasonSubject for application rejection
This commit is contained in:
@@ -597,9 +597,9 @@ public class ApplicationAmendmentRequestDao {
|
|||||||
Map<String, String> bodyPlaceholders = emailNotificationDao.prepareEmailPlaceholders(applicationEntity, entity);
|
Map<String, String> bodyPlaceholders = emailNotificationDao.prepareEmailPlaceholders(applicationEntity, entity);
|
||||||
EmailContentResponse emailContent =null;
|
EmailContentResponse emailContent =null;
|
||||||
if(entity.getType()!=null && entity.getType().equals(ApplicationAmendmentRequestTypeEnum.SPECIAL.getValue())){
|
if(entity.getType()!=null && entity.getType().equals(ApplicationAmendmentRequestTypeEnum.SPECIAL.getValue())){
|
||||||
emailContent=emailNotificationDao.prepareEmailContent(applicationEntity, SystemEmailTemplatesEntityTypeEnum.SPECIAL_APPLICATION_AMENDMENT_REQUESTED, hubEntity, bodyPlaceholders);
|
emailContent=emailNotificationDao.prepareEmailContent(applicationEntity, SystemEmailTemplatesEntityTypeEnum.SPECIAL_APPLICATION_AMENDMENT_REQUESTED, hubEntity, bodyPlaceholders,null);
|
||||||
}else {
|
}else {
|
||||||
emailContent = emailNotificationDao.prepareEmailContent(applicationEntity, SystemEmailTemplatesEntityTypeEnum.DOCUMENTATION_INTEGRATION_REQUEST, hubEntity, bodyPlaceholders);
|
emailContent = emailNotificationDao.prepareEmailContent(applicationEntity, SystemEmailTemplatesEntityTypeEnum.DOCUMENTATION_INTEGRATION_REQUEST, hubEntity, bodyPlaceholders,null);
|
||||||
}
|
}
|
||||||
String body = emailContent.getBody();
|
String body = emailContent.getBody();
|
||||||
response.setEmailTemplate(body);
|
response.setEmailTemplate(body);
|
||||||
|
|||||||
@@ -2034,8 +2034,9 @@ public class ApplicationEvaluationDao {
|
|||||||
}
|
}
|
||||||
if (Boolean.TRUE.equals(statusType.equals((ApplicationStatusTypeEnum.REJECTED.getValue())))) {
|
if (Boolean.TRUE.equals(statusType.equals((ApplicationStatusTypeEnum.REJECTED.getValue())))) {
|
||||||
String tipoInammissibilita =null;
|
String tipoInammissibilita =null;
|
||||||
|
String emailType=null;
|
||||||
if(Boolean.TRUE.equals(hub.getUniqueUuid().equals(defaultHubUuid))) {
|
if(Boolean.TRUE.equals(hub.getUniqueUuid().equals(defaultHubUuid))) {
|
||||||
if (applicationEvaluationRequest.getMotivation() == null || applicationEvaluationRequest.getRejectedReason() == null) {
|
if (applicationEvaluationRequest.getMotivation() == null || applicationEvaluationRequest.getRejectedReason() == null || applicationEvaluationRequest.getRejectedReasonSubject()==null) {
|
||||||
throw new CustomValidationException(Status.VALIDATION_ERROR, Translator.toLocale(GepafinConstant.MORE_FIELDS_REQUIRED_FOR_REJECTION));
|
throw new CustomValidationException(Status.VALIDATION_ERROR, Translator.toLocale(GepafinConstant.MORE_FIELDS_REQUIRED_FOR_REJECTION));
|
||||||
}
|
}
|
||||||
if (files != null) {
|
if (files != null) {
|
||||||
@@ -2049,12 +2050,13 @@ public class ApplicationEvaluationDao {
|
|||||||
application.setRejectedDocument(rejectedDocumentId);
|
application.setRejectedDocument(rejectedDocumentId);
|
||||||
}
|
}
|
||||||
tipoInammissibilita=applicationEvaluationRequest.getRejectedReason();
|
tipoInammissibilita=applicationEvaluationRequest.getRejectedReason();
|
||||||
|
emailType=applicationEvaluationRequest.getRejectedReasonSubject();
|
||||||
application.setRejectedReason(applicationEvaluationRequest.getRejectedReason());
|
application.setRejectedReason(applicationEvaluationRequest.getRejectedReason());
|
||||||
}
|
}
|
||||||
application.setDateRejected(DateTimeUtil.DateServerToUTC(LocalDateTime.now()));
|
application.setDateRejected(DateTimeUtil.DateServerToUTC(LocalDateTime.now()));
|
||||||
application.setUpdatedDate(DateTimeUtil.DateServerToUTC(LocalDateTime.now()));
|
application.setUpdatedDate(DateTimeUtil.DateServerToUTC(LocalDateTime.now()));
|
||||||
application = applicationRepository.save(application);
|
application = applicationRepository.save(application);
|
||||||
emailNotificationDao.sendInadmissibilityEmailForRejectedApplication(application,existingEntity,tipoInammissibilita);
|
emailNotificationDao.sendInadmissibilityEmailForRejectedApplication(application,existingEntity,tipoInammissibilita,emailType);
|
||||||
emailSendResponse = emailDao.buildEmailSendResponseFromRequest(request);
|
emailSendResponse = emailDao.buildEmailSendResponseFromRequest(request);
|
||||||
responses = List.of(emailSendResponse);
|
responses = List.of(emailSendResponse);
|
||||||
if (!Boolean.TRUE.equals(emailSendResponse.getIsEmailSend())) {
|
if (!Boolean.TRUE.equals(emailSendResponse.getIsEmailSend())) {
|
||||||
@@ -2470,6 +2472,7 @@ public class ApplicationEvaluationDao {
|
|||||||
request.setMotivation(formRequestBean.getMotivation());
|
request.setMotivation(formRequestBean.getMotivation());
|
||||||
request.setAmountAccepted(formRequestBean.getAmountAccepted());
|
request.setAmountAccepted(formRequestBean.getAmountAccepted());
|
||||||
request.setRejectedReason(formRequestBean.getRejectedReason());
|
request.setRejectedReason(formRequestBean.getRejectedReason());
|
||||||
|
request.setRejectedReasonSubject(formRequestBean.getRejectedReasonSubject());
|
||||||
request.setCriteria(null);
|
request.setCriteria(null);
|
||||||
request.setChecklist(null);
|
request.setChecklist(null);
|
||||||
|
|
||||||
|
|||||||
@@ -98,13 +98,13 @@ public class EmailNotificationDao {
|
|||||||
private ApplicationDao applicationDao;
|
private ApplicationDao applicationDao;
|
||||||
|
|
||||||
public void sendEmail(ApplicationEntity applicationEntity, SystemEmailTemplatesEntity.SystemEmailTemplatesEntityTypeEnum templateType, Map<String, String> bodyPlaceholders,
|
public void sendEmail(ApplicationEntity applicationEntity, SystemEmailTemplatesEntity.SystemEmailTemplatesEntityTypeEnum templateType, Map<String, String> bodyPlaceholders,
|
||||||
List<String> additionalRecipients, Long amendmentId) {
|
List<String> additionalRecipients, Long amendmentId,String emailType) {
|
||||||
|
|
||||||
HubEntity hubEntity = hubService.valdateHub(applicationEntity.getHubId());
|
HubEntity hubEntity = hubService.valdateHub(applicationEntity.getHubId());
|
||||||
// String service = determineService(applicationEntity.getHubId());
|
// String service = determineService(applicationEntity.getHubId());
|
||||||
// String legalMail = service.equals("Gepafin S.p.a.") ? "bandi.gepafin@legalmail.it" : "bandi.sviluppumbria@legalmail.it";
|
// String legalMail = service.equals("Gepafin S.p.a.") ? "bandi.gepafin@legalmail.it" : "bandi.sviluppumbria@legalmail.it";
|
||||||
|
|
||||||
EmailContentResponse emailContent = prepareEmailContent(applicationEntity, templateType, hubEntity, bodyPlaceholders);
|
EmailContentResponse emailContent = prepareEmailContent(applicationEntity, templateType, hubEntity, bodyPlaceholders,emailType);
|
||||||
UserEntity userEntity = userService.validateUser(applicationEntity.getUserId());
|
UserEntity userEntity = userService.validateUser(applicationEntity.getUserId());
|
||||||
sendEmails(applicationEntity, userEntity, additionalRecipients,amendmentId,emailContent.getSystemEmailTemplateResponse(),emailContent.getSubject(),emailContent.getBody());
|
sendEmails(applicationEntity, userEntity, additionalRecipients,amendmentId,emailContent.getSystemEmailTemplateResponse(),emailContent.getSubject(),emailContent.getBody());
|
||||||
}
|
}
|
||||||
@@ -113,7 +113,7 @@ public class EmailNotificationDao {
|
|||||||
ApplicationEntity applicationEntity,
|
ApplicationEntity applicationEntity,
|
||||||
SystemEmailTemplatesEntity.SystemEmailTemplatesEntityTypeEnum templateType,
|
SystemEmailTemplatesEntity.SystemEmailTemplatesEntityTypeEnum templateType,
|
||||||
HubEntity hubEntity,
|
HubEntity hubEntity,
|
||||||
Map<String, String> bodyPlaceholders
|
Map<String, String> bodyPlaceholders,String emailType
|
||||||
) {
|
) {
|
||||||
SystemEmailTemplateResponse systemEmailTemplateResponse = systemEmailTemplatesService.retrieveTemplateByTypeAndCall(templateType, hubEntity, null);
|
SystemEmailTemplateResponse systemEmailTemplateResponse = systemEmailTemplatesService.retrieveTemplateByTypeAndCall(templateType, hubEntity, null);
|
||||||
if(Boolean.TRUE.equals(templateType.equals(SystemEmailTemplatesEntity.SystemEmailTemplatesEntityTypeEnum.DOCUMENTATION_INTEGRATION_REQUEST)) && Boolean.TRUE.equals(validator.isProductionProfileActivated()) && applicationEntity.getCall().getId().equals(23l)) {
|
if(Boolean.TRUE.equals(templateType.equals(SystemEmailTemplatesEntity.SystemEmailTemplatesEntityTypeEnum.DOCUMENTATION_INTEGRATION_REQUEST)) && Boolean.TRUE.equals(validator.isProductionProfileActivated()) && applicationEntity.getCall().getId().equals(23l)) {
|
||||||
@@ -124,6 +124,7 @@ public class EmailNotificationDao {
|
|||||||
subjectPlaceholders.put("{{call_name}}", applicationEntity.getCall().getName());
|
subjectPlaceholders.put("{{call_name}}", applicationEntity.getCall().getName());
|
||||||
subjectPlaceholders.put("{{company_name}}", company.getCompanyName());
|
subjectPlaceholders.put("{{company_name}}", company.getCompanyName());
|
||||||
// bodyPlaceholders.put("{{legal_mail}}", legalMail);
|
// bodyPlaceholders.put("{{legal_mail}}", legalMail);
|
||||||
|
subjectPlaceholders.put("{{email_type}}",emailType);
|
||||||
String subject = Utils.replacePlaceholders(systemEmailTemplateResponse.getSubject(), subjectPlaceholders);
|
String subject = Utils.replacePlaceholders(systemEmailTemplateResponse.getSubject(), subjectPlaceholders);
|
||||||
String body = Utils.replacePlaceholders(systemEmailTemplateResponse.getHtmlContent(), bodyPlaceholders);
|
String body = Utils.replacePlaceholders(systemEmailTemplateResponse.getHtmlContent(), bodyPlaceholders);
|
||||||
|
|
||||||
@@ -270,7 +271,7 @@ public class EmailNotificationDao {
|
|||||||
ApplicationEntity applicationEntity = applicationService.validateApplication(applicationAmendmentRequestEntity.getApplicationId());
|
ApplicationEntity applicationEntity = applicationService.validateApplication(applicationAmendmentRequestEntity.getApplicationId());
|
||||||
Map<String, String> bodyPlaceholders = prepareEmailPlaceholders(applicationEntity, applicationAmendmentRequestEntity);
|
Map<String, String> bodyPlaceholders = prepareEmailPlaceholders(applicationEntity, applicationAmendmentRequestEntity);
|
||||||
sendEmail(applicationEntity, SystemEmailTemplatesEntity.SystemEmailTemplatesEntityTypeEnum.DOCUMENTATION_INTEGRATION_REQUEST, bodyPlaceholders, null,
|
sendEmail(applicationEntity, SystemEmailTemplatesEntity.SystemEmailTemplatesEntityTypeEnum.DOCUMENTATION_INTEGRATION_REQUEST, bodyPlaceholders, null,
|
||||||
applicationAmendmentRequestEntity.getId());
|
applicationAmendmentRequestEntity.getId(),null);
|
||||||
}
|
}
|
||||||
public Map<String, String> prepareEmailPlaceholders(ApplicationEntity applicationEntity, ApplicationAmendmentRequestEntity applicationAmendmentRequestEntity){
|
public Map<String, String> prepareEmailPlaceholders(ApplicationEntity applicationEntity, ApplicationAmendmentRequestEntity applicationAmendmentRequestEntity){
|
||||||
Map<String, String> bodyPlaceholders = new HashMap<>();
|
Map<String, String> bodyPlaceholders = new HashMap<>();
|
||||||
@@ -362,7 +363,7 @@ public class EmailNotificationDao {
|
|||||||
}
|
}
|
||||||
bodyPlaceholders.put("{{date_time_emailSend}}", DateTimeUtil.formatLocalDateTime(lastReminderDateTime, GepafinConstant.DD_MM_YYYY));
|
bodyPlaceholders.put("{{date_time_emailSend}}", DateTimeUtil.formatLocalDateTime(lastReminderDateTime, GepafinConstant.DD_MM_YYYY));
|
||||||
|
|
||||||
sendEmail(applicationEntity, SystemEmailTemplatesEntity.SystemEmailTemplatesEntityTypeEnum.INADMISSIBILITY_NOTIFICATION_DUE_TO_FAILURE, bodyPlaceholders, null,amendmentRequest.getId());
|
sendEmail(applicationEntity, SystemEmailTemplatesEntity.SystemEmailTemplatesEntityTypeEnum.INADMISSIBILITY_NOTIFICATION_DUE_TO_FAILURE, bodyPlaceholders, null,amendmentRequest.getId(),null);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void sendAdmissibilityNotificationEmailForAdmissibleApplication(ApplicationEntity applicationEntity) {
|
public void sendAdmissibilityNotificationEmailForAdmissibleApplication(ApplicationEntity applicationEntity) {
|
||||||
@@ -380,10 +381,10 @@ public class EmailNotificationDao {
|
|||||||
bodyPlaceholders.put("{{protocol_date}}", protocolDate);
|
bodyPlaceholders.put("{{protocol_date}}", protocolDate);
|
||||||
bodyPlaceholders.put("{{protocol_time}}", DateTimeUtil.parseLocalTimeToString(applicationEntity.getProtocol().getTime(), GepafinConstant.HH_MM_SS));
|
bodyPlaceholders.put("{{protocol_time}}", DateTimeUtil.parseLocalTimeToString(applicationEntity.getProtocol().getTime(), GepafinConstant.HH_MM_SS));
|
||||||
|
|
||||||
sendEmail(applicationEntity, SystemEmailTemplatesEntity.SystemEmailTemplatesEntityTypeEnum.ADMISSIBILITY_NOTIFICATION, bodyPlaceholders, null,null);
|
sendEmail(applicationEntity, SystemEmailTemplatesEntity.SystemEmailTemplatesEntityTypeEnum.ADMISSIBILITY_NOTIFICATION, bodyPlaceholders, null,null,null);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void sendInadmissibilityEmailForRejectedApplication(ApplicationEntity applicationEntity,ApplicationEvaluationEntity applicationEvaluationEntity,String tipoInammissibilita) {
|
public void sendInadmissibilityEmailForRejectedApplication(ApplicationEntity applicationEntity,ApplicationEvaluationEntity applicationEvaluationEntity,String tipoInammissibilita,String emailType) {
|
||||||
Map<String, String> bodyPlaceholders = new HashMap<>();
|
Map<String, String> bodyPlaceholders = new HashMap<>();
|
||||||
bodyPlaceholders.put("{{call_name}}", applicationEntity.getCall().getName());
|
bodyPlaceholders.put("{{call_name}}", applicationEntity.getCall().getName());
|
||||||
String protocolNumber=applicationEntity.getProtocol().getExternalProtocolNumber();
|
String protocolNumber=applicationEntity.getProtocol().getExternalProtocolNumber();
|
||||||
@@ -400,7 +401,7 @@ public class EmailNotificationDao {
|
|||||||
HubEntity hubEntity = hubService.valdateHub(applicationEntity.getHubId());
|
HubEntity hubEntity = hubService.valdateHub(applicationEntity.getHubId());
|
||||||
bodyPlaceholders.put("{{tipo_inammissibilita}}", tipoInammissibilita);
|
bodyPlaceholders.put("{{tipo_inammissibilita}}", tipoInammissibilita);
|
||||||
bodyPlaceholders.put("{{form_text}}", applicationEvaluationEntity.getMotivation());
|
bodyPlaceholders.put("{{form_text}}", applicationEvaluationEntity.getMotivation());
|
||||||
sendEmail(applicationEntity, SystemEmailTemplatesEntity.SystemEmailTemplatesEntityTypeEnum.INADMISSIBILITY_TEMPLATE, bodyPlaceholders, null,null);
|
sendEmail(applicationEntity, SystemEmailTemplatesEntity.SystemEmailTemplatesEntityTypeEnum.INADMISSIBILITY_TEMPLATE, bodyPlaceholders, null,null,emailType);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void sendMail(Long hubId, String subject, String body, List<String> recipientEmails, EmailLogRequest emailLogRequest) {
|
public void sendMail(Long hubId, String subject, String body, List<String> recipientEmails, EmailLogRequest emailLogRequest) {
|
||||||
@@ -442,7 +443,7 @@ public class EmailNotificationDao {
|
|||||||
|
|
||||||
Map<String, String> bodyPlaceholders = prepareEmailPlaceholdersForTechnicalEvaluationRejected(applicationEntity,hub,applicationEvaluationEntity);
|
Map<String, String> bodyPlaceholders = prepareEmailPlaceholdersForTechnicalEvaluationRejected(applicationEntity,hub,applicationEvaluationEntity);
|
||||||
sendEmail(applicationEntity, SystemEmailTemplatesEntity.SystemEmailTemplatesEntityTypeEnum.INADMISSIBILITY_NOTIFICATION_DUE_TO_TECHNICAL_EVALUATION_FAILURE, bodyPlaceholders, null,
|
sendEmail(applicationEntity, SystemEmailTemplatesEntity.SystemEmailTemplatesEntityTypeEnum.INADMISSIBILITY_NOTIFICATION_DUE_TO_TECHNICAL_EVALUATION_FAILURE, bodyPlaceholders, null,
|
||||||
null);
|
null,null);
|
||||||
}
|
}
|
||||||
|
|
||||||
// public void sendMailForApplicationTechnicalEvaluationRejected(ApplicationEntity applicationEntity,HubEntity hub,ApplicationEvaluationEntity applicationEvaluationEntity,Map<String, Object> emailJson) {
|
// public void sendMailForApplicationTechnicalEvaluationRejected(ApplicationEntity applicationEntity,HubEntity hub,ApplicationEvaluationEntity applicationEvaluationEntity,Map<String, Object> emailJson) {
|
||||||
@@ -491,6 +492,6 @@ public class EmailNotificationDao {
|
|||||||
|
|
||||||
Map<String, String> bodyPlaceholders = prepareEmailPlaceholders(applicationEntity, applicationAmendmentRequestEntity);
|
Map<String, String> bodyPlaceholders = prepareEmailPlaceholders(applicationEntity, applicationAmendmentRequestEntity);
|
||||||
sendEmail(applicationEntity, SystemEmailTemplatesEntity.SystemEmailTemplatesEntityTypeEnum.SPECIAL_APPLICATION_AMENDMENT_REQUESTED, bodyPlaceholders, null,
|
sendEmail(applicationEntity, SystemEmailTemplatesEntity.SystemEmailTemplatesEntityTypeEnum.SPECIAL_APPLICATION_AMENDMENT_REQUESTED, bodyPlaceholders, null,
|
||||||
applicationAmendmentRequestEntity.getId());
|
applicationAmendmentRequestEntity.getId(),null);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -17,4 +17,6 @@ public class ApplicationEvaluationFormRequestBean {
|
|||||||
private String motivation;
|
private String motivation;
|
||||||
private BigDecimal amountAccepted;
|
private BigDecimal amountAccepted;
|
||||||
private String rejectedReason;
|
private String rejectedReason;
|
||||||
|
private String rejectedReasonSubject;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -18,4 +18,5 @@ public class ApplicationEvaluationRequest {
|
|||||||
private String motivation;
|
private String motivation;
|
||||||
private BigDecimal amountAccepted;
|
private BigDecimal amountAccepted;
|
||||||
private String rejectedReason;
|
private String rejectedReason;
|
||||||
|
private String rejectedReasonSubject;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3080,4 +3080,9 @@
|
|||||||
<changeSet id="16-10-2025_RK_13352" author="Rajesh Khore">
|
<changeSet id="16-10-2025_RK_13352" author="Rajesh Khore">
|
||||||
<sqlFile dbms="postgresql" path="db/dump/update_system_email_template_of_application_rejected_16_10_2025.sql"/>
|
<sqlFile dbms="postgresql" path="db/dump/update_system_email_template_of_application_rejected_16_10_2025.sql"/>
|
||||||
</changeSet>
|
</changeSet>
|
||||||
|
|
||||||
|
<changeSet id="17-10-2025_RK_140552" author="Rajesh Khore">
|
||||||
|
<sqlFile dbms="postgresql" path="db/dump/update_system_email_template_of_application_rejected_17_10_2025.sql"/>
|
||||||
|
</changeSet>
|
||||||
|
|
||||||
</databaseChangeLog>
|
</databaseChangeLog>
|
||||||
|
|||||||
@@ -0,0 +1,3 @@
|
|||||||
|
UPDATE gepafin_schema.system_email_template
|
||||||
|
SET subject = 'BANDO {{call_name}} – {{email_type}} {{company_name}}'
|
||||||
|
WHERE "type" = 'INADMISSIBILITY_NOTIFICATION' and "email_scenario" = 'APPLICATION_REJECTED' and "system" = true;
|
||||||
Reference in New Issue
Block a user