updated code
This commit is contained in:
@@ -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);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user