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

@@ -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);

View File

@@ -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));
} }}
} }