Updated code
This commit is contained in:
@@ -558,7 +558,7 @@ public class ApplicationAmendmentRequestDao {
|
|||||||
|
|
||||||
// Add valid new document IDs from the request
|
// Add valid new document IDs from the request
|
||||||
existingDocumentIds.addAll(validDocumentIds);
|
existingDocumentIds.addAll(validDocumentIds);
|
||||||
applicationDao.updateDocumentDeletionStatus(formEntity, updatedFormField, formEntity.getApplicationForm().getForm(), null,validDocumentIds);
|
applicationDao.updateDocumentDeletionStatus(formEntity, updatedFormField, formEntity.getApplicationForm().getForm(), null,validDocumentIds,true);
|
||||||
// Set the combined document IDs back as the field value
|
// Set the combined document IDs back as the field value
|
||||||
formEntity.setFieldValue(String.join(",", existingDocumentIds));
|
formEntity.setFieldValue(String.join(",", existingDocumentIds));
|
||||||
applicationFormFieldRepository.save(formEntity);
|
applicationFormFieldRepository.save(formEntity);
|
||||||
|
|||||||
@@ -427,16 +427,17 @@ public class ApplicationDao {
|
|||||||
Utils.setIfUpdated(applicationFormFieldEntity::getFieldId, applicationFormFieldEntity::setFieldId, applicationFormFieldRequestBean.getFieldId());
|
Utils.setIfUpdated(applicationFormFieldEntity::getFieldId, applicationFormFieldEntity::setFieldId, applicationFormFieldRequestBean.getFieldId());
|
||||||
|
|
||||||
if(applicationFormFieldRequestBean.getFieldValue() !=null ) {
|
if(applicationFormFieldRequestBean.getFieldValue() !=null ) {
|
||||||
updateDocumentDeletionStatus(applicationFormFieldEntity, applicationFormFieldRequestBean,formEntity,newDocumentIds,null);
|
updateDocumentDeletionStatus(applicationFormFieldEntity, applicationFormFieldRequestBean,formEntity,newDocumentIds,null,false);
|
||||||
applicationFormFieldEntity.setFieldValue(Utils.convertObjectToJsonString(applicationFormFieldRequestBean.getFieldValue()));
|
applicationFormFieldEntity.setFieldValue(Utils.convertObjectToJsonString(applicationFormFieldRequestBean.getFieldValue()));
|
||||||
}
|
}
|
||||||
if(applicationFormFieldRequestBean.getFieldValue() ==null ) {
|
if(applicationFormFieldRequestBean.getFieldValue() ==null ) {
|
||||||
|
updateDocumentDeletionStatus(applicationFormFieldEntity, applicationFormFieldRequestBean,formEntity,newDocumentIds,null,false);
|
||||||
applicationFormFieldEntity.setFieldValue(null);
|
applicationFormFieldEntity.setFieldValue(null);
|
||||||
}
|
}
|
||||||
return applicationFormFieldRepository.save(applicationFormFieldEntity);
|
return applicationFormFieldRepository.save(applicationFormFieldEntity);
|
||||||
}
|
}
|
||||||
void updateDocumentDeletionStatus(ApplicationFormFieldEntity applicationFormFieldEntity, ApplicationFormFieldRequestBean applicationFormFieldRequestBean, FormEntity formEntity, List<Long> newDocumentIds,
|
void updateDocumentDeletionStatus(ApplicationFormFieldEntity applicationFormFieldEntity, ApplicationFormFieldRequestBean applicationFormFieldRequestBean, FormEntity formEntity, List<Long> newDocumentIds,
|
||||||
List<String> preInstructorDocumentId) {
|
List<String> preInstructorDocumentId,boolean isPreInstructor) {
|
||||||
if (newDocumentIds == null) {
|
if (newDocumentIds == null) {
|
||||||
newDocumentIds = Collections.emptyList();
|
newDocumentIds = Collections.emptyList();
|
||||||
}
|
}
|
||||||
@@ -450,17 +451,22 @@ public class ApplicationDao {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if(!isPreInstructor){
|
||||||
List<Long> currentDocumentIds = parseDocumentIds(applicationFormFieldEntity.getFieldValue());
|
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> finalNewDocumentIds = newDocumentIds;
|
||||||
List<Long> documentsToDelete = currentDocumentIds.stream()
|
List<Long> documentsToDelete = currentDocumentIds.stream()
|
||||||
.filter(docId -> !finalNewDocumentIds.contains(docId))
|
.filter(docId -> !finalNewDocumentIds.contains(docId))
|
||||||
.toList();
|
.toList();
|
||||||
documentsToDelete.forEach(docId -> documentService.deleteFile(docId));
|
documentsToDelete.forEach(docId -> documentService.deleteFile(docId));
|
||||||
}
|
}}
|
||||||
|
else{
|
||||||
if (Boolean.FALSE.equals(preInstructorDocumentId.isEmpty())){
|
List<Long> currentDocumentIds = parseDocumentIds(applicationFormFieldEntity.getFieldValue());
|
||||||
|
if (Boolean.TRUE.equals(preInstructorDocumentId.isEmpty())) {
|
||||||
|
currentDocumentIds.forEach(docId -> documentService.deleteFile(docId));
|
||||||
|
} else {
|
||||||
List<Long> preInstructorDocIds = preInstructorDocumentId.stream()
|
List<Long> preInstructorDocIds = preInstructorDocumentId.stream()
|
||||||
.map(Long::valueOf)
|
.map(Long::valueOf)
|
||||||
.collect(Collectors.toList());
|
.collect(Collectors.toList());
|
||||||
@@ -469,7 +475,7 @@ public class ApplicationDao {
|
|||||||
.filter(docId -> !preInstructorDocIds.contains(docId))
|
.filter(docId -> !preInstructorDocIds.contains(docId))
|
||||||
.toList();
|
.toList();
|
||||||
documentsToDelete.forEach(docId -> documentService.deleteFile(docId));
|
documentsToDelete.forEach(docId -> documentService.deleteFile(docId));
|
||||||
}
|
}}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user