From d77b8c046ab966ff88db3a3561909344cff60a82 Mon Sep 17 00:00:00 2001 From: CodeSteak Date: Sat, 20 Jun 2020 23:24:06 +0200 Subject: [PATCH] Fix bad query for article slot sum --- .../controller/cronjob/CronjobController.java | 7 +++++-- .../intern/InternArticleController.java | 16 ++++++++++++---- ...ehouseBookingPositionSlotEntryRepository.java | 3 --- 3 files changed, 17 insertions(+), 9 deletions(-) diff --git a/prototype/src/main/java/org/hso/ecommerce/controller/cronjob/CronjobController.java b/prototype/src/main/java/org/hso/ecommerce/controller/cronjob/CronjobController.java index 23c5955..f86703b 100644 --- a/prototype/src/main/java/org/hso/ecommerce/controller/cronjob/CronjobController.java +++ b/prototype/src/main/java/org/hso/ecommerce/controller/cronjob/CronjobController.java @@ -173,8 +173,11 @@ class Reorder implements ICronjob { Integer undeliveredReorders = controller.supplierOrderRepository .countUndeliveredReorders(article.related.articleNumber); - int amountInStock = controller.warehouseBookingPositionSlotEntryRepository.getArticleStock(article.id) - .orElse(0); + int amountInStock = controller.warehouseBookingPositionSlotEntryRepository + .getByArticle(article.id) + .stream() + .mapToInt(e -> e.newSumSlot) + .sum(); ReorderAction action = new ReorderAction(article, orderedAmounts, undeliveredReorders, diff --git a/prototype/src/main/java/org/hso/ecommerce/controller/intern/InternArticleController.java b/prototype/src/main/java/org/hso/ecommerce/controller/intern/InternArticleController.java index 38b2222..e6d6f52 100644 --- a/prototype/src/main/java/org/hso/ecommerce/controller/intern/InternArticleController.java +++ b/prototype/src/main/java/org/hso/ecommerce/controller/intern/InternArticleController.java @@ -53,7 +53,11 @@ public class InternArticleController { for (Article article : articleRepository.findAll()) { UImodelArticles tmp = new UImodelArticles(); - tmp.addListedArticle(article, warehouseEntryRepository.getArticleStock(article.id).orElse(0)); + tmp.addListedArticle(article, warehouseEntryRepository + .getByArticle(article.id) + .stream() + .mapToInt(e -> e.newSumSlot) + .sum()); totals.add(tmp); } @@ -63,10 +67,14 @@ public class InternArticleController { @GetMapping("/{id}") public String internListedArticlesId(Model model, @PathVariable String id) { - int articleid = Integer.parseInt(id); + long articleId = Long.parseLong(id); UImodelArticle total = new UImodelArticle(); - total.addArticle(articleRepository.findArticleById(articleid), - warehouseEntryRepository.getArticleStock(articleid).orElse(0)); + total.addArticle( + articleRepository.findById(articleId).get(), + warehouseEntryRepository.getByArticle(articleId) + .stream() + .mapToInt(e -> e.newSumSlot) + .sum()); model.addAttribute("ArticleID", total); return "intern/listedArticles/id"; diff --git a/prototype/src/main/java/org/hso/ecommerce/repos/warehouse/WarehouseBookingPositionSlotEntryRepository.java b/prototype/src/main/java/org/hso/ecommerce/repos/warehouse/WarehouseBookingPositionSlotEntryRepository.java index 804e8b7..ba54b0f 100644 --- a/prototype/src/main/java/org/hso/ecommerce/repos/warehouse/WarehouseBookingPositionSlotEntryRepository.java +++ b/prototype/src/main/java/org/hso/ecommerce/repos/warehouse/WarehouseBookingPositionSlotEntryRepository.java @@ -14,9 +14,6 @@ public interface WarehouseBookingPositionSlotEntryRepository extends JpaReposito @Query(value = "Select e.id, e.article_id, e.new_sum_slot, e.slot_id from warehouse_booking_position_entries as e, warehouse_slots as s where e.slot_id = s.id AND e.article_id = :article GROUP BY s.slot_num HAVING max(e.id)", nativeQuery = true) List getByArticle(long article); - @Query(value = "SELECT SUM(w.new_sum_slot) FROM warehouse_booking_position_entries as w WHERE w.article_id = :articleid", nativeQuery = true) - Optional getArticleStock(long articleid); - @Query(value = "Select e.id, e.article_id, e.new_sum_slot, e.slot_id from warehouse_booking_position_entries as e, warehouse_slots as s where e.slot_id = s.id AND s.slot_num = :slotnum GROUP BY s.slot_num HAVING max(e.id)", nativeQuery = true) Optional getBySlotNum(long slotnum); -- 2.44.0