From 4ea9d74a21c295bb91c2cea1400ae7af93235086 Mon Sep 17 00:00:00 2001
From: Daniel Martins <daniel.martins@openbravo.com>
Date: Mon, 4 May 2020 17:21:41 +0100
Subject: [PATCH] [Reservations] related to 43776: This hook is no longer
 needed after the fix

The hook was a workaround only working for the cancelation, not for cancel and replace. 43776 implements a generic fix.
---
 .../posterminal/BeforeCancelOrderHook.java    | 47 -------------------
 1 file changed, 47 deletions(-)
 delete mode 100644 src/org/openbravo/retail/posterminal/BeforeCancelOrderHook.java

diff --git a/src/org/openbravo/retail/posterminal/BeforeCancelOrderHook.java b/src/org/openbravo/retail/posterminal/BeforeCancelOrderHook.java
deleted file mode 100644
index 40b18cf4a..000000000
--- a/src/org/openbravo/retail/posterminal/BeforeCancelOrderHook.java
+++ /dev/null
@@ -1,47 +0,0 @@
-package org.openbravo.retail.posterminal;
-
-import java.math.BigDecimal;
-import java.util.Objects;
-
-import org.codehaus.jettison.json.JSONObject;
-import org.openbravo.dal.service.OBDal;
-import org.openbravo.model.common.order.Order;
-import org.openbravo.model.common.order.OrderLine;
-import org.openbravo.model.materialmgmt.onhandquantity.Reservation;
-import org.openbravo.model.materialmgmt.onhandquantity.ReservationStock;
-import org.openbravo.model.materialmgmt.onhandquantity.StorageDetail;
-import org.openbravo.retail.posterminal.utility.ReservationUtils;
-
-public class BeforeCancelOrderHook implements CancelAndReplaceBeforeHook {
-
-  /**
-   * Hook executed before closing the reservation. This hook update the reserved quantity of the
-   * storage detail.
-   */
-  @Override
-  public void exec(JSONObject json) throws Exception {
-    if (json != null) {
-      boolean isCancelLayaway = json.optBoolean("cancelLayaway", false);
-      if (isCancelLayaway) {
-        final JSONObject canceledOrder = json.getJSONObject("canceledorder");
-        Order order = OBDal.getInstance().get(Order.class, canceledOrder.getString("id"));
-        for (OrderLine orderline : order.getOrderLineList()) {
-          Reservation r = ReservationUtils.getReservationForOrderLine(orderline);          
-          if (!Objects.isNull(r)) {
-            for (ReservationStock rs : r.getMaterialMgmtReservationStockList()) {
-              StorageDetail sd = ReservationUtils.getStorageDetail(r.getProduct(),
-                  rs.getAttributeSetValue(), rs.getStorageBin(), r.getUOM());
-              BigDecimal reservedQty = rs.getQuantity().subtract(rs.getReleased());
-              sd.setReservedQty(sd.getReservedQty().subtract(reservedQty));
-              sd.setAllocatedQuantity(sd.getAllocatedQuantity().subtract(reservedQty));
-              r.setReservedQty(r.getReservedQty().subtract(reservedQty));
-              OBDal.getInstance().save(sd);
-            }
-            OBDal.getInstance().save(r); 
-          }
-        }
-      }
-    }
-  }
-
-}
-- 
2.23.0

