Merge remote-tracking branch 'origin/test/SUPPORT-8937_add_sort_combik' into develop

This commit is contained in:
Zaripov Emil 2025-02-19 16:32:52 +03:00
commit fcfb233647
5 changed files with 22 additions and 58 deletions

View file

@ -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);
}
}

View file

@ -90,8 +90,13 @@ public class RecruitmentComboBoxService extends ComboBoxServiceImpl {
loadOptions.addSortField(this.displayColumn, SortOrder.ASC);
}
List<TableRow> loadedData = this.loadDao.load(this.getColumnsToLoad(), loadOptions);
return loadedData.stream()
Map<String, TableRow> 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());
}

View file

@ -1624,6 +1624,7 @@
<componentRootId>f8f30f98-1b48-48f7-9cab-4bda644effdf</componentRootId>
<name>Combo box_Организация</name>
<container>false</container>
<expanded>false</expanded>
<childrenReordered>false</childrenReordered>
<scripts id="23992f0e-94ed-4fb4-b4d1-dc6ad7f13227">
<properties>
@ -1666,24 +1667,7 @@
<entry>
<key>columnSorts</key>
<value>
<item id="100c4cad-a1df-4a34-8e26-ac81c506167f" removed="false">
<value>
<complex>
<entry>
<key>field</key>
<value>
<simple>{"schema":"public","table":"recruitment","entity":"recruitment","name":"fullname"}</simple>
</value>
</entry>
<entry>
<key>sortOrder</key>
<value>
<simple>"ASC"</simple>
</value>
</entry>
</complex>
</value>
</item>
<item id="100c4cad-a1df-4a34-8e26-ac81c506167f" removed="true"/>
</value>
</entry>
<entry>

View file

@ -1631,6 +1631,7 @@
<componentRootId>ad5ed255-1755-47a6-89e0-38e60d2f1018</componentRootId>
<name>Combo box_Организация</name>
<container>false</container>
<expanded>false</expanded>
<childrenReordered>false</childrenReordered>
<scripts id="23992f0e-94ed-4fb4-b4d1-dc6ad7f13227">
<properties>
@ -1673,24 +1674,7 @@
<entry>
<key>columnSorts</key>
<value>
<item id="100c4cad-a1df-4a34-8e26-ac81c506167f" removed="false">
<value>
<complex>
<entry>
<key>field</key>
<value>
<simple>{"schema":"public","table":"recruitment","entity":"recruitment","name":"fullname"}</simple>
</value>
</entry>
<entry>
<key>sortOrder</key>
<value>
<simple>"ASC"</simple>
</value>
</entry>
</complex>
</value>
</item>
<item id="100c4cad-a1df-4a34-8e26-ac81c506167f" removed="true"/>
</value>
</entry>
<entry>

View file

@ -1637,6 +1637,7 @@
<componentRootId>e24e70eb-d639-4be2-87a3-25927a07a229</componentRootId>
<name>Combo box_Организация</name>
<container>false</container>
<expanded>false</expanded>
<childrenReordered>false</childrenReordered>
<scripts id="23992f0e-94ed-4fb4-b4d1-dc6ad7f13227">
<properties>
@ -1679,24 +1680,7 @@
<entry>
<key>columnSorts</key>
<value>
<item id="100c4cad-a1df-4a34-8e26-ac81c506167f" removed="false">
<value>
<complex>
<entry>
<key>field</key>
<value>
<simple>{"schema":"public","table":"recruitment","entity":"recruitment","name":"fullname"}</simple>
</value>
</entry>
<entry>
<key>sortOrder</key>
<value>
<simple>"ASC"</simple>
</value>
</entry>
</complex>
</value>
</item>
<item id="100c4cad-a1df-4a34-8e26-ac81c506167f" removed="true"/>
</value>
</entry>
<entry>