Updated code

This commit is contained in:
rajesh
2024-11-20 14:59:53 +05:30
parent 334f4b3a79
commit 2a63474fda
2 changed files with 15 additions and 9 deletions

View File

@@ -427,16 +427,17 @@ public class ApplicationDao {
Utils.setIfUpdated(applicationFormFieldEntity::getFieldId, applicationFormFieldEntity::setFieldId, applicationFormFieldRequestBean.getFieldId());
if(applicationFormFieldRequestBean.getFieldValue() !=null ) {
updateDocumentDeletionStatus(applicationFormFieldEntity, applicationFormFieldRequestBean,formEntity,newDocumentIds,null);
updateDocumentDeletionStatus(applicationFormFieldEntity, applicationFormFieldRequestBean,formEntity,newDocumentIds,null,false);
applicationFormFieldEntity.setFieldValue(Utils.convertObjectToJsonString(applicationFormFieldRequestBean.getFieldValue()));
}
if(applicationFormFieldRequestBean.getFieldValue() ==null ) {
updateDocumentDeletionStatus(applicationFormFieldEntity, applicationFormFieldRequestBean,formEntity,newDocumentIds,null,false);
applicationFormFieldEntity.setFieldValue(null);
}
return applicationFormFieldRepository.save(applicationFormFieldEntity);
}
void updateDocumentDeletionStatus(ApplicationFormFieldEntity applicationFormFieldEntity, ApplicationFormFieldRequestBean applicationFormFieldRequestBean, FormEntity formEntity, List<Long> newDocumentIds,
List<String> preInstructorDocumentId) {
List<String> preInstructorDocumentId,boolean isPreInstructor) {
if (newDocumentIds == null) {
newDocumentIds = Collections.emptyList();
}
@@ -450,17 +451,22 @@ public class ApplicationDao {
return;
}
}
if(!isPreInstructor){
List<Long> currentDocumentIds = parseDocumentIds(applicationFormFieldEntity.getFieldValue());
if (Boolean.FALSE.equals(newDocumentIds.isEmpty())) {
if (Boolean.TRUE.equals(newDocumentIds.isEmpty())) {
currentDocumentIds.forEach(docId -> documentService.deleteFile(docId));
} else {
List<Long> finalNewDocumentIds = newDocumentIds;
List<Long> documentsToDelete = currentDocumentIds.stream()
.filter(docId -> !finalNewDocumentIds.contains(docId))
.toList();
documentsToDelete.forEach(docId -> documentService.deleteFile(docId));
}
if (Boolean.FALSE.equals(preInstructorDocumentId.isEmpty())){
}}
else{
List<Long> currentDocumentIds = parseDocumentIds(applicationFormFieldEntity.getFieldValue());
if (Boolean.TRUE.equals(preInstructorDocumentId.isEmpty())) {
currentDocumentIds.forEach(docId -> documentService.deleteFile(docId));
} else {
List<Long> preInstructorDocIds = preInstructorDocumentId.stream()
.map(Long::valueOf)
.collect(Collectors.toList());
@@ -469,7 +475,7 @@ public class ApplicationDao {
.filter(docId -> !preInstructorDocIds.contains(docId))
.toList();
documentsToDelete.forEach(docId -> documentService.deleteFile(docId));
}
}}
}