Fixed application form issue

This commit is contained in:
rajesh
2024-12-14 12:11:10 +05:30
parent 420f8cb181
commit 1b4b4fa3cc

View File

@@ -455,8 +455,9 @@ public class ApplicationDao {
if (applicationFormFieldEntities == null || applicationFormFieldEntities.isEmpty()) {
applicationFormFieldEntity.setApplicationForm(applicationFormEntity);
} else {
applicationFormFieldEntity.setApplicationForm(applicationFormEntity);
for (ApplicationFormFieldEntity applicationFormFieldEntity1 : applicationFormFieldEntities) {
if (applicationFormFieldEntity1.getFieldId().equals(applicationFormFieldRequestBean.getFieldId())) {
if (applicationFormFieldEntity1.getFieldId().equals(applicationFormFieldRequestBean.getFieldId()) && checkIfRequestFieldIsDifferent(applicationFormFieldEntity1, applicationFormFieldRequestBean)) {
applicationFormFieldEntity = applicationFormFieldEntity1;
oldApplicationFormFieldData = Utils.getClonedEntityForData(applicationFormFieldEntity);
if (applicationFormEntity.getForm().getId().equals(applicationFormEntity.getApplication().getCall().getInitialForm())) {
@@ -464,8 +465,6 @@ public class ApplicationDao {
}
actionType = VersionActionTypeEnum.UPDATE;
break;
} else {
applicationFormFieldEntity.setApplicationForm(applicationFormEntity);
}
}
}
@@ -495,6 +494,29 @@ public class ApplicationDao {
return applicationFormField;
}
private Boolean checkIfRequestFieldIsDifferent(ApplicationFormFieldEntity applicationFormFieldEntity,
ApplicationFormFieldRequestBean applicationFormFieldRequestBean) {
// Retrieve the field values from both objects
String entityFieldValue = applicationFormFieldEntity.getFieldValue();
Object requestFieldValue = applicationFormFieldRequestBean.getFieldValue();
// Check if both are null
if (entityFieldValue == null && requestFieldValue == null) {
return false; // No difference if both are null
}
// Compare values
Boolean check = !Objects.equals(entityFieldValue, requestFieldValue);
// Additional comparison if both are non-null
if (Boolean.TRUE.equals(check) && entityFieldValue != null && requestFieldValue != null) {
check = !entityFieldValue.equals(requestFieldValue.toString());
}
return check;
}
void updateDocumentDeletionStatus(ApplicationFormFieldEntity applicationFormFieldEntity, ApplicationFormFieldRequestBean applicationFormFieldRequestBean, FormEntity formEntity, List<Long> newDocumentIds,
List<String> preInstructorDocumentId,boolean isPreInstructor) {
if (newDocumentIds == null) {