From aba7785dcdedd6987a935b242e323e895698f976 Mon Sep 17 00:00:00 2001 From: harish Date: Wed, 6 Nov 2024 12:02:57 +0530 Subject: [PATCH] Updated updateApplicationAmendment API functionality --- .../dao/ApplicationAmendmentRequestDao.java | 54 ++++++++++++++++--- 1 file changed, 46 insertions(+), 8 deletions(-) diff --git a/src/main/java/net/gepafin/tendermanagement/dao/ApplicationAmendmentRequestDao.java b/src/main/java/net/gepafin/tendermanagement/dao/ApplicationAmendmentRequestDao.java index 3c74fbf2..7a67aa13 100644 --- a/src/main/java/net/gepafin/tendermanagement/dao/ApplicationAmendmentRequestDao.java +++ b/src/main/java/net/gepafin/tendermanagement/dao/ApplicationAmendmentRequestDao.java @@ -8,17 +8,12 @@ import jakarta.servlet.http.HttpServletRequest; import net.gepafin.tendermanagement.config.Translator; import net.gepafin.tendermanagement.constants.GepafinConstant; import net.gepafin.tendermanagement.entities.*; -import net.gepafin.tendermanagement.enums.ApplicationAmendmentRequestEnum; -import net.gepafin.tendermanagement.enums.ApplicationEvaluationStatusTypeEnum; -import net.gepafin.tendermanagement.enums.ApplicationStatusTypeEnum; -import net.gepafin.tendermanagement.enums.AssignedApplicationEnum; +import net.gepafin.tendermanagement.enums.*; import net.gepafin.tendermanagement.model.request.ApplicationAmendmentRequest; import net.gepafin.tendermanagement.model.request.ApplicationAmendmentRequestBean; import net.gepafin.tendermanagement.model.request.ApplicationFormFieldRequestBean; import net.gepafin.tendermanagement.model.request.CloseAmendmentRequest; -import net.gepafin.tendermanagement.model.response.AmendmentFormFieldResponse; -import net.gepafin.tendermanagement.model.response.ApplicationAmendmentRequestResponse; -import net.gepafin.tendermanagement.model.response.SystemEmailTemplateResponse; +import net.gepafin.tendermanagement.model.response.*; import net.gepafin.tendermanagement.repositories.*; import net.gepafin.tendermanagement.service.*; import net.gepafin.tendermanagement.util.DateTimeUtil; @@ -75,7 +70,6 @@ public class ApplicationAmendmentRequestDao { @Autowired private ProtocolDao protocolDao; - @Autowired private AssignedApplicationsService assignedApplicationsService; @@ -90,6 +84,12 @@ public class ApplicationAmendmentRequestDao { @Autowired private SystemEmailTemplatesService systemEmailTemplatesService; + @Autowired + private CallDao callDao; + + @Autowired + private DocumentRepository documentRepository; + @Autowired private HubService hubService; // @Autowired @@ -315,6 +315,44 @@ public class ApplicationAmendmentRequestDao { applicationAmendmentRequestResponse.setFormFields(formField); + List formFieldEntities = applicationFormFieldRepository.findByApplicationFormIdIn( + applicationForms.stream().map(ApplicationFormEntity::getId).collect(Collectors.toList()) + ); + + List fileDetailResponses = new ArrayList<>(); + for (AmendmentFormFieldResponse field : formFields) { + for (ApplicationFormFieldEntity formFieldEntity : formFieldEntities) { + if (formFieldEntity.getFieldId().equals(field.getFieldId()) && formFieldEntity.getFieldValue() != null) { + ApplicationFormFieldResponseBean responseBean = new ApplicationFormFieldResponseBean(); + responseBean.setFieldId(formFieldEntity.getFieldId()); + + String[] documentIds = formFieldEntity.getFieldValue().split(","); + List documentResponseBeans = new ArrayList<>(); + + for (String docId : documentIds) { + Long documentId = Long.valueOf(docId.trim()); + documentRepository.findByIdAndNotDeleted(documentId).ifPresent(documentEntity -> { + DocumentResponseBean docBean = new DocumentResponseBean(); + docBean.setId(documentEntity.getId()); + docBean.setName(documentEntity.getFileName()); + docBean.setType(DocumentTypeEnum.valueOf(documentEntity.getType())); + docBean.setSource(DocumentSourceTypeEnum.valueOf(documentEntity.getSource())); + docBean.setSourceId(documentEntity.getSourceId()); + docBean.setFilePath(documentEntity.getFilePath()); + docBean.setCreatedDate(documentEntity.getCreatedDate()); + docBean.setUpdatedDate(documentEntity.getUpdatedDate()); + documentResponseBeans.add(docBean); + }); + } + + responseBean.setFieldValue(documentResponseBeans); + fileDetailResponses.add(responseBean); + } + } + } + + applicationAmendmentRequestResponse.setApplicationFormFields(fileDetailResponses); + return applicationAmendmentRequestResponse; }