Merge branch 'develop' of https://github.com/Kitzanos/GEPAFIN-BE into develop

This commit is contained in:
rajesh
2024-11-11 20:04:16 +05:30

View File

@@ -520,12 +520,65 @@ public class ApplicationDao {
} }
else { else {
List<ApplicationFormEntity> applicationFormEntities = applicationFormRepository.findByApplicationId(applicationEntity.getId()); List<ApplicationFormEntity> applicationFormEntities = applicationFormRepository.findByApplicationId(applicationEntity.getId());
List<ApplicationFormEntity> sequencedApplicationFormEntity = new ArrayList<>();
Long formIdMiddle = null;
List<FlowEdgesEntity> flowEdgesList = flowEdgesRepository.findBySourceIdAndCallId(
applicationEntity.getCall().getInitialForm(), applicationEntity.getCall().getId());
if (!flowEdgesList.isEmpty()) {
if (flowEdgesList.size() == 1) {
formIdMiddle = flowEdgesList.get(0).getTargetId();
} else {
List<Long> nextFormIds = flowEdgesList.stream()
.map(FlowEdgesEntity::getTargetId)
.toList();
FlowDataEntity flowDataEntity = flowDataRepository.findByFormIdAndCallId(
applicationEntity.getCall().getInitialForm(), applicationEntity.getCall().getId());
ApplicationFormFieldEntity applicationFormFieldEntity = applicationFormFieldRepository
.findByFieldIdAndApplicationFormFormIdAndApplicationFormApplicationId(
flowDataEntity.getChoosenField(), applicationEntity.getCall().getInitialForm(), applicationEntity.getId())
.orElse(null);
if (applicationFormFieldEntity != null) {
formIdMiddle = flowDataRepository.findByChoosenValueAndFormIdIn(
applicationFormFieldEntity.getFieldValue(), nextFormIds)
.map(FlowDataEntity::getFormId)
.orElse(null);
}
}
}
List<Long> applicationFormIds = new ArrayList<>();
applicationFormIds.add(applicationEntity.getCall().getInitialForm());
if (formIdMiddle != null && formIdMiddle > 0) {
applicationFormIds.add(formIdMiddle);
}
applicationFormIds.add(applicationEntity.getCall().getFinalForm());
if (applicationFormEntities.size() == 3) {
for (Long applicationFormId : applicationFormIds) {
for (ApplicationFormEntity applicationFormEntity : applicationFormEntities) { for (ApplicationFormEntity applicationFormEntity : applicationFormEntities) {
FormEntity form = formService.validateForm(applicationFormEntity.getForm().getId()); if (applicationFormEntity.getForm().getId().equals(applicationFormId)) {
sequencedApplicationFormEntity.add(applicationFormEntity);
FormEntity form = formService.validateForm(applicationFormId);
formEntities.add(form); formEntities.add(form);
addFormApplication(form, applicationEntity, formApplicationResponses); addFormApplication(form, applicationEntity, formApplicationResponses);
} }
} }
}
}else {
ApplicationFormEntity applicationFormEntity1=applicationFormRepository.findByApplicationIdAndFormId(applicationEntity.getId(),applicationEntity.getCall().getInitialForm());
sequencedApplicationFormEntity.add(applicationFormEntity1);
FormEntity form1 = formService.validateForm(applicationFormEntity1.getForm().getId());
formEntities.add(form1);
addFormApplication(form1, applicationEntity, formApplicationResponses);
ApplicationFormEntity applicationFormEntity2=applicationFormRepository.findByApplicationIdAndFormId(applicationEntity.getId(),applicationEntity.getCall().getFinalForm());
sequencedApplicationFormEntity.add(applicationFormEntity2);
FormEntity form2= formService.validateForm(applicationFormEntity2.getForm().getId());
formEntities.add(form2);
addFormApplication(form2, applicationEntity, formApplicationResponses);
}
}
return createApplicationGetResponseBean(applicationEntity, formEntities, formApplicationResponses); return createApplicationGetResponseBean(applicationEntity, formEntities, formApplicationResponses);
} }