updated code

This commit is contained in:
rajesh
2024-10-18 15:27:56 +05:30
parent 01e589ec6d
commit 162c87e0d5
9 changed files with 38 additions and 16 deletions

View File

@@ -92,7 +92,7 @@ public class FormDao {
ContentResponseBean.class);
contentList.forEach(data -> {
List<Long> criteriaIds = criteriaFormFieldRepository
.findByCallIdAndFormIdAndFormFieldId(formEntity.getCall().getId(), formEntity.getId(), data.getId())
.findByCallIdAndFormIdAndFormFieldIdAndIsDeletedFalse(formEntity.getCall().getId(), formEntity.getId(), data.getId())
.stream().map(CriteriaFormFieldEntity::getEvaluationCriteriaId).toList();
data.setCriteria(criteriaIds);
});
@@ -122,7 +122,7 @@ public class FormDao {
contentResponseBeans.forEach(content -> {
// Fetch existing records from the repository based on the call, form, and field ID
List<CriteriaFormFieldEntity> existingCriteriaFields = criteriaFormFieldRepository
.findByCallIdAndFormIdAndFormFieldId(callEntity.getId(), formEntity.getId(), content.getId());
.findByCallIdAndFormIdAndFormFieldIdAndIsDeletedFalse(callEntity.getId(), formEntity.getId(), content.getId());
// Extract existing evaluation criteria IDs into a set for quick lookup
Set<Long> existingEvaluationCriteriaIds = existingCriteriaFields.stream()
@@ -139,10 +139,11 @@ public class FormDao {
List<CriteriaFormFieldEntity> toBeDeleted = existingCriteriaFields.stream()
.filter(criteriaFormField -> !criteriaList.contains(criteriaFormField.getEvaluationCriteriaId()))
.peek(data->data.setIsDeleted(Boolean.TRUE))
.collect(Collectors.toList());
if (!toBeDeleted.isEmpty()) {
criteriaFormFieldRepository.deleteAll(toBeDeleted);
criteriaFormFieldRepository.saveAll(toBeDeleted);
}
});
}
@@ -150,11 +151,16 @@ public class FormDao {
private void createCriteriaFormField(CallEntity callEntity, FormEntity formEntity,
String formFieldId,Long evaluationCriteriaId) {
evaluationCriteriaService.validateEvaluationCriteria(evaluationCriteriaId);
EvaluationCriteriaEntity evaluationCriteria = evaluationCriteriaService.validateEvaluationCriteria(evaluationCriteriaId);
if (Boolean.FALSE.equals(evaluationCriteria.getCall().getId().equals(callEntity.getId()))) {
throw new CustomValidationException(Status.VALIDATION_ERROR,
Translator.toLocale(GepafinConstant.EVALUATIONCRITERIA_INVALID));
}
CriteriaFormFieldEntity criteriaFormField = new CriteriaFormFieldEntity();
criteriaFormField.setCallId(callEntity.getId());
criteriaFormField.setFormId(formEntity.getId());
criteriaFormField.setFormFieldId(formFieldId);
criteriaFormField.setIsDeleted(Boolean.FALSE);
criteriaFormField.setEvaluationCriteriaId(evaluationCriteriaId);
criteriaFormFieldRepository.save(criteriaFormField);