From c148800e728c6a674174a81456af54eeedc46ab5 Mon Sep 17 00:00:00 2001 From: Stephan Richter Date: Thu, 23 Jul 2026 08:47:50 +0200 Subject: [PATCH] preparing location search --- .../main/java/de/srsoftware/umbrella/stock/SqliteDb.java | 7 ++++++- .../main/java/de/srsoftware/umbrella/stock/StockDb.java | 3 ++- .../java/de/srsoftware/umbrella/stock/StockModule.java | 9 +++++---- 3 files changed, 13 insertions(+), 6 deletions(-) diff --git a/stock/src/main/java/de/srsoftware/umbrella/stock/SqliteDb.java b/stock/src/main/java/de/srsoftware/umbrella/stock/SqliteDb.java index ad20bf42..3b59e7c2 100644 --- a/stock/src/main/java/de/srsoftware/umbrella/stock/SqliteDb.java +++ b/stock/src/main/java/de/srsoftware/umbrella/stock/SqliteDb.java @@ -207,7 +207,7 @@ public class SqliteDb extends BaseDb implements StockDb { } @Override - public Map find(Collection owners, Collection keys, boolean fulltext) { + public Map findItems(Collection owners, Collection keys, boolean fulltext) { try { var items = new HashMap(); var ownerCodes = owners.stream().map(Owner::dbCode).toArray(); @@ -230,6 +230,11 @@ public class SqliteDb extends BaseDb implements StockDb { } } + @Override + public Map findLocations(Collection owners, Collection keys, boolean fulltext) { + return Map.of(); + } + @Override public Collection listChildLocations(long parentId) { try { diff --git a/stock/src/main/java/de/srsoftware/umbrella/stock/StockDb.java b/stock/src/main/java/de/srsoftware/umbrella/stock/StockDb.java index 48b6c702..e3018296 100644 --- a/stock/src/main/java/de/srsoftware/umbrella/stock/StockDb.java +++ b/stock/src/main/java/de/srsoftware/umbrella/stock/StockDb.java @@ -10,7 +10,8 @@ import java.util.Map; public interface StockDb { Property addNewProperty(long itemId, String name, Object value, String unit); Location delete(DbLocation location); - Map find(Collection owners, Collection keys, boolean fulltext); + Map findItems(Collection owners, Collection keys, boolean fulltext); + Map findLocations(Collection owners, Collection keys, boolean fulltext); Collection listChildLocations(long parentId); Collection listCompanyLocations(Company company); Collection listItemsAt(Location location); diff --git a/stock/src/main/java/de/srsoftware/umbrella/stock/StockModule.java b/stock/src/main/java/de/srsoftware/umbrella/stock/StockModule.java index 7169e7ec..8d53e92b 100644 --- a/stock/src/main/java/de/srsoftware/umbrella/stock/StockModule.java +++ b/stock/src/main/java/de/srsoftware/umbrella/stock/StockModule.java @@ -459,12 +459,13 @@ public class StockModule extends BaseHandler implements StockService { private boolean postSearch(UmbrellaUser user, HttpExchange ex) throws IOException { var json = json(ex); if (!(json.has(KEY) && json.get(KEY) instanceof String key)) throw missingField(KEY); - var keys = Arrays.asList(key.split(" ")); - var fulltext = json.has(FULLTEXT) && json.get(FULLTEXT) instanceof Boolean val && val; + var keys = Arrays.asList(key.split(" ")); + var fulltext = json.has(FULLTEXT) && json.get(FULLTEXT) instanceof Boolean val && val; Set owners = new HashSet<>(companyService().listCompaniesOf(user).values()); owners.add(user); - var items = stockDb.find(owners,keys,fulltext); - return sendContent(ex,mapValues(items)); + var items = stockDb.findItems(owners,keys,fulltext); + var locations = stockDb.findLocations(owners,keys,fulltext); + return sendContent(ex,Map.of("items",mapValues(items),"locations",mapValues(locations))); } @Override