From 99359431b91bf981bfbec03544e89d67a40d81b7 Mon Sep 17 00:00:00 2001 From: "adel.kalimullin" Date: Wed, 19 Feb 2025 11:02:27 +0300 Subject: [PATCH 1/2] SUPPORT-8937:add recruitment-sort for combik --- .../component/dao/RecruitmentDao.java | 11 +++++++++-- .../component/service/RecruitmentComboBoxService.java | 9 +++++++-- 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/backend/src/main/java/ru/micord/ervu/account_applications/component/dao/RecruitmentDao.java b/backend/src/main/java/ru/micord/ervu/account_applications/component/dao/RecruitmentDao.java index 1f194538..771e355a 100644 --- a/backend/src/main/java/ru/micord/ervu/account_applications/component/dao/RecruitmentDao.java +++ b/backend/src/main/java/ru/micord/ervu/account_applications/component/dao/RecruitmentDao.java @@ -31,11 +31,17 @@ public class RecruitmentDao { var recruitmentHierarchy = DSL.name("recruitment_hierarchy"); var cte = dslContext.withRecursive(recruitmentHierarchy).as( - dslContext.select(Recruitment.RECRUITMENT.IDM_ID) + dslContext.select( + Recruitment.RECRUITMENT.IDM_ID, + DSL.inline(1).as("depth") + ) .from(Recruitment.RECRUITMENT) .where(DSL.field(field).eq(value)) .unionAll( - dslContext.select(Recruitment.RECRUITMENT.IDM_ID) + dslContext.select( + Recruitment.RECRUITMENT.IDM_ID, + DSL.field(DSL.name("recruitment_hierarchy", "depth"), Integer.class).add(1) + ) .from(Recruitment.RECRUITMENT) .join(DSL.table(recruitmentHierarchy)) .on(Recruitment.RECRUITMENT.PARENT_ID.eq( @@ -48,6 +54,7 @@ public class RecruitmentDao { return cte .select(DSL.field(DSL.name("recruitment_hierarchy", "idm_id"), String.class)) .from(DSL.table(recruitmentHierarchy)) + .orderBy(DSL.field(DSL.name("recruitment_hierarchy", "depth")).asc()) .fetchInto(String.class); } } diff --git a/backend/src/main/java/ru/micord/ervu/account_applications/component/service/RecruitmentComboBoxService.java b/backend/src/main/java/ru/micord/ervu/account_applications/component/service/RecruitmentComboBoxService.java index 03b16b4f..d15e8d8c 100644 --- a/backend/src/main/java/ru/micord/ervu/account_applications/component/service/RecruitmentComboBoxService.java +++ b/backend/src/main/java/ru/micord/ervu/account_applications/component/service/RecruitmentComboBoxService.java @@ -90,8 +90,13 @@ public class RecruitmentComboBoxService extends ComboBoxServiceImpl { loadOptions.addSortField(this.displayColumn, SortOrder.ASC); } - List loadedData = this.loadDao.load(this.getColumnsToLoad(), loadOptions); - return loadedData.stream() + Map dataMap = this.loadDao.load(this.getColumnsToLoad(), loadOptions) + .stream() + .collect(Collectors.toMap(row -> (String)row.get(this.businessIdColumn), row -> row)); + + return recruitmentIds.stream() + .map(dataMap::get) + .filter(Objects::nonNull) .map(this::convertToComboBoxModel) .collect(Collectors.toList()); } From 8cdae9cdbb768c2588aa1f0d607399a83b183c28 Mon Sep 17 00:00:00 2001 From: "adel.kalimullin" Date: Wed, 19 Feb 2025 15:40:09 +0300 Subject: [PATCH 2/2] test:remove sort in page --- .../Создание заявки на добавление пользователя.page | 20 ++----------------- .../Создать заявку на блокировку.page | 20 ++----------------- .../Создать заявку на изменение.page | 20 ++----------------- 3 files changed, 6 insertions(+), 54 deletions(-) diff --git a/resources/src/main/resources/business-model/Список заявок на пользователя/Создание заявки на добавление пользователя.page b/resources/src/main/resources/business-model/Список заявок на пользователя/Создание заявки на добавление пользователя.page index 14fc275a..facfa472 100644 --- a/resources/src/main/resources/business-model/Список заявок на пользователя/Создание заявки на добавление пользователя.page +++ b/resources/src/main/resources/business-model/Список заявок на пользователя/Создание заявки на добавление пользователя.page @@ -1624,6 +1624,7 @@ f8f30f98-1b48-48f7-9cab-4bda644effdf Combo box_Организация false + false false @@ -1666,24 +1667,7 @@ columnSorts - - - - -field - - {"schema":"public","table":"recruitment","entity":"recruitment","name":"fullname"} - - - -sortOrder - - "ASC" - - - - - + diff --git a/resources/src/main/resources/business-model/Список заявок на пользователя/Создать заявку на блокировку.page b/resources/src/main/resources/business-model/Список заявок на пользователя/Создать заявку на блокировку.page index 2260246f..e8718d23 100644 --- a/resources/src/main/resources/business-model/Список заявок на пользователя/Создать заявку на блокировку.page +++ b/resources/src/main/resources/business-model/Список заявок на пользователя/Создать заявку на блокировку.page @@ -1631,6 +1631,7 @@ ad5ed255-1755-47a6-89e0-38e60d2f1018 Combo box_Организация false + false false @@ -1673,24 +1674,7 @@ columnSorts - - - - -field - - {"schema":"public","table":"recruitment","entity":"recruitment","name":"fullname"} - - - -sortOrder - - "ASC" - - - - - + diff --git a/resources/src/main/resources/business-model/Список заявок на пользователя/Создать заявку на изменение.page b/resources/src/main/resources/business-model/Список заявок на пользователя/Создать заявку на изменение.page index c388362c..24b6f3bc 100644 --- a/resources/src/main/resources/business-model/Список заявок на пользователя/Создать заявку на изменение.page +++ b/resources/src/main/resources/business-model/Список заявок на пользователя/Создать заявку на изменение.page @@ -1637,6 +1637,7 @@ e24e70eb-d639-4be2-87a3-25927a07a229 Combo box_Организация false + false false @@ -1679,24 +1680,7 @@ columnSorts - - - - -field - - {"schema":"public","table":"recruitment","entity":"recruitment","name":"fullname"} - - - -sortOrder - - "ASC" - - - - - +