From daa956a98ae11db280e2e79a016430599c3da47c Mon Sep 17 00:00:00 2001 From: rajesh Date: Wed, 29 Oct 2025 15:01:18 +0530 Subject: [PATCH] Done ticket GEPAFINBE-6145 --- .../tendermanagement/dao/DocumentDao.java | 27 ++++++++++++++++--- 1 file changed, 24 insertions(+), 3 deletions(-) diff --git a/src/main/java/net/gepafin/tendermanagement/dao/DocumentDao.java b/src/main/java/net/gepafin/tendermanagement/dao/DocumentDao.java index 597e3c4f..5fdf7e99 100644 --- a/src/main/java/net/gepafin/tendermanagement/dao/DocumentDao.java +++ b/src/main/java/net/gepafin/tendermanagement/dao/DocumentDao.java @@ -17,6 +17,7 @@ import net.gepafin.tendermanagement.repositories.*; import net.gepafin.tendermanagement.util.LoggingUtil; import net.gepafin.tendermanagement.util.Utils; import net.gepafin.tendermanagement.web.rest.api.errors.CustomValidationException; +import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import org.springframework.web.multipart.MultipartFile; @@ -251,7 +252,12 @@ public class DocumentDao { } else if (DocumentSourceTypeEnum.APPLICATION.getValue().equalsIgnoreCase(documentEntity.getSource())) { applicationId = documentEntity.getSourceId(); ApplicationEntity applicationEntity = applicationService.validateApplication(applicationId); - + String rejectedDocument=applicationEntity.getRejectedDocument(); + if(applicationEntity.getRejectedDocument()!=null) { + String updatedValue = removeDocumentIdFromFieldValue(rejectedDocument, documentId); + applicationEntity.setRejectedDocument(updatedValue); + applicationRepository.save(applicationEntity); + } List applicationFormEntity=applicationFormRepository.findByApplicationId(applicationId); for (ApplicationFormEntity applicationForm:applicationFormEntity){ FormEntity formEntity=applicationForm.getForm(); @@ -276,13 +282,17 @@ public class DocumentDao { amendmentId = documentEntity.getSourceId(); ApplicationEntity applicationEntity = applicationAmendmentRequestRepository.findApplicationByAmendmentId(amendmentId); Optional applicationAmendmentRequestEntity=applicationAmendmentRequestRepository.findByIdAndIsDeletedFalse(amendmentId); - Map amendmentFormFieldMap = Utils + Map amendmentFormFieldMap =null; + if(Boolean.FALSE.equals(StringUtils.isEmpty(applicationAmendmentRequestEntity.get().getFormFields()))){ + amendmentFormFieldMap = Utils .convertJsonStringToList(applicationAmendmentRequestEntity.get().getFormFields(), AmendmentFormField.class) .stream().collect(Collectors.toMap(AmendmentFormField::getFieldId, Function.identity())); for (Map.Entry entry : amendmentFormFieldMap.entrySet()) { AmendmentFormField amendmentFormField=entry.getValue(); String updatedValue = removeDocumentIdFromFieldValue(amendmentFormField.getFieldValue(), documentId); amendmentFormField.setFieldValue(updatedValue); + } + applicationAmendmentRequestEntity.get().setFormFields(Utils.convertListToJsonString(amendmentFormFieldMap.values().stream().toList())); } String amendmentDocs=applicationAmendmentRequestEntity.get().getAmendmentDocument(); Map amendmentDocument=Utils.convertIntoJson(amendmentDocs); @@ -297,7 +307,6 @@ public class DocumentDao { // Step 5: Set it back to entity applicationAmendmentRequestEntity.get().setAmendmentDocument(updatedAmendmentDocs); } - applicationAmendmentRequestEntity.get().setFormFields(Utils.convertListToJsonString(amendmentFormFieldMap.values().stream().toList())); applicationAmendmentRequestRepository.save(applicationAmendmentRequestEntity.get()); applicationId = applicationEntity.getId(); @@ -321,6 +330,18 @@ public class DocumentDao { callId = applicationEntity.getCall().getId(); log.info("Processing document of type EVALUATION. Resolved evaluationId={}, applicationId={}, callId={}", evaluationId, applicationId, callId); } + else if(DocumentSourceTypeEnum.COMMUNICATION.getValue().equalsIgnoreCase(documentEntity.getSource())) { + communicationId = documentEntity.getSourceId(); + Optional communicationEntity=communicationRepository.findByIdAndIsDeletedFalse(communicationId); + CommunicationEntity communicationEntity1=communicationEntity.get(); + String communicationDocuments=communicationEntity1.getDocuments(); + if(communicationEntity1.getDocuments()!=null) { + String updatedValue = removeDocumentIdFromFieldValue(communicationDocuments, documentId); + communicationEntity1.setDocuments(updatedValue); + communicationRepository.save(communicationEntity1); + } + + } deleteFileFromS3(documentEntity, callId, applicationId,amendmentId,communicationId); log.info("Successfully deleted file from S3 for documentId={}", documentId); }