Детали задачи
- 
    История 
- 
    Решение: Готово
- 
    High 
- 
    Не заполнено
- 
    Не заполнено
- 
    Не заполнено
Описание
Проблема:
Сейчас для преобразования из предикатов в JpaSpecification для выполнения поиска в БД почти во всех микросервисах написаны полу-рабочие реализации, которые очень ограничены в возможностях. Нужно написать универсальный конвертер для всех микросервисов и подключить его везде где нужен поиск по БД.
Примеры реализаций:
Добавлять конвертер нужно в библиотеке ecos-webapp-commons/ecos-webapp-lib-spring-hibernate
Интерфейс конвертера:
interface PredicateJpaService {
    fun <T : Any> createSpec(predicate: Predicate, entityType: Class<T>): Specification<T>
}
Если в предикате есть условия по несуществующим в entity полям, то следует такие предикаты игнорировать.
Для всех задач маппинга атрибутов следует использовать PredicateUtils.mapAttributePredicates.
В рамках задачи так же нужно поискать места по всем микросервисам с кастомной логикой конвертации predicate → specification и так же поменять там на универсальное решение из текущей задачи.
QA:
Проверить работу фильтров разделе администратора в подразделах “Управление системой“, “Модель“, “Конфигурация UI“. Так же следует проверить корректность работы пагинации журналов в этих разделах.

Вложенные файлы
Вложенные файлы
Связи запроса
- blocks
- 
                    ECOSCOM-4812 Migrate JPA search to JpaSearchConverter in ecos-history -         
- New
 
-         
- 
                    ECOSCOM-4811 Migrate JPA search to JpaSearchConverter in ecos-notifications -         
- Готово
 
-         
- 
                    ECOSCOM-4810 Administration section. Form journal. Pagination works with redundant pages -         
- Готово
 
-         
- Child of
- 
                    ECOSCOM-4530 Filter by "ends" predicate does not work -         
- Сделать
 
-         
- mentioned on

 
        