From f9a025d7dacab4dc40c81f587e5303576ae4b5d0 Mon Sep 17 00:00:00 2001
From: mrfoxygmfr <mrfoxygmfr@sch9.ru>
Date: Sun, 4 May 2025 11:52:55 +0300
Subject: fix(db/dao): removal of product from operation

---
 .../ru/mrfoxygmfr/warehouse_accounting/db/models/Operation.java   | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

(limited to 'src/main')

diff --git a/src/main/java/ru/mrfoxygmfr/warehouse_accounting/db/models/Operation.java b/src/main/java/ru/mrfoxygmfr/warehouse_accounting/db/models/Operation.java
index 31ec626..607a08a 100644
--- a/src/main/java/ru/mrfoxygmfr/warehouse_accounting/db/models/Operation.java
+++ b/src/main/java/ru/mrfoxygmfr/warehouse_accounting/db/models/Operation.java
@@ -7,6 +7,7 @@ import org.hibernate.annotations.UpdateTimestamp;
 
 import java.sql.Timestamp;
 import java.util.HashSet;
+import java.util.Optional;
 import java.util.Set;
 import java.util.stream.Collectors;
 
@@ -69,9 +70,10 @@ public class Operation {
             products = new HashSet<>();
         }
 
-        products = products.parallelStream()
-                .filter((p) -> p.getProduct() != product.getProduct())
-                .collect(Collectors.toSet());
+        products.parallelStream()
+                .filter((p) -> p.getProduct().getId() == product.getProduct().getId())
+                .findAny()
+                .ifPresent(operationProduct -> products.remove(operationProduct));
 
         if (product.getAmount() == 0) {
             return;
-- 
cgit mrf-deployment