From 514020ab3c095b3e7ee37879a8031e9b76c0e05e Mon Sep 17 00:00:00 2001
From: Javier Etxarri <javier.echarri@openbravo.com>
Date: Thu, 4 Nov 2021 13:21:18 +0100
Subject: [PATCH] Fixes issue NOE-5371: [Portugal] Initial hash is 'null'
 instead of '' (empty)

---
 .../retail/master/TerminalProperties.java     | 26 +++++++++++++------
 1 file changed, 18 insertions(+), 8 deletions(-)

diff --git a/src/com/practicsbs/saftpt/retail/master/TerminalProperties.java b/src/com/practicsbs/saftpt/retail/master/TerminalProperties.java
index cca6bd9..b824d63 100644
--- a/src/com/practicsbs/saftpt/retail/master/TerminalProperties.java
+++ b/src/com/practicsbs/saftpt/retail/master/TerminalProperties.java
@@ -54,27 +54,32 @@ public class TerminalProperties extends ModelExtension {
       final String manualInvoiceHash = getLastHashForPOS(terminal, TYPE_MANUAL_INVOICE);
 
       // Order
-      props.add(new HQLProperty("'" + orderHash + "'", "saftrOrderhash"));
+      props
+          .add(new HQLProperty("'" + (orderHash == null ? "" : orderHash) + "'", "saftrOrderhash"));
       props.add(new HQLProperty("coalesce(pos.organization.obposCDoctype.saftDoctypePrefix,null)",
           "saftrOrderDocumentCategory"));
       props.add(new HQLProperty("pos.organization.obposCDoctype.saftSigned",
           "saftrOrderDocumentCategoryIsSigned"));
       // Return Order
-      props.add(new HQLProperty("'" + returnOrderHash + "'", "saftrRetorderhash"));
+      props.add(new HQLProperty("'" + (returnOrderHash == null ? "" : returnOrderHash) + "'",
+          "saftrRetorderhash"));
       props
           .add(new HQLProperty("coalesce(pos.organization.obposCDoctyperet.saftDoctypePrefix,null)",
               "saftrOrderReturnDocumentCategory"));
       props.add(new HQLProperty("pos.organization.obposCDoctyperet.saftSigned",
           "saftrOrderReturnDocumentCategoryIsSigned"));
       // Invoice
-      props.add(new HQLProperty("'" + simpleInvoiceHash + "'", "saftrInvoicehash"));
+      props.add(new HQLProperty("'" + (simpleInvoiceHash == null ? "" : simpleInvoiceHash) + "'",
+          "saftrInvoicehash"));
       props.add(new HQLProperty(
           "coalesce(pos.organization.obposCDoctype.doctypesimpinvoice.saftDoctypePrefix,null)",
           "saftrInvoiceDocumentCategory"));
       props.add(new HQLProperty("pos.organization.obposCDoctype.doctypesimpinvoice.saftSigned",
           "saftrInvoiceDocumentCategoryIsSigned"));
       // Return Invoice
-      props.add(new HQLProperty("'" + simpleReturnInvoiceHash + "'", "saftrRetInvoicehash"));
+      props.add(new HQLProperty(
+          "'" + (simpleReturnInvoiceHash == null ? "" : simpleReturnInvoiceHash) + "'",
+          "saftrRetInvoicehash"));
       props.add(new HQLProperty(
           "coalesce(pos.organization.obposCDoctyperet.documentTypeForInvoice.saftDoctypePrefix,null)",
           "saftrInvoiceReturnDocumentCategory"));
@@ -82,14 +87,17 @@ public class TerminalProperties extends ModelExtension {
           new HQLProperty("pos.organization.obposCDoctyperet.documentTypeForInvoice.saftSigned",
               "saftrInvoiceReturnDocumentCategoryIsSigned"));
       // Customer Invoice
-      props.add(new HQLProperty("'" + fullInvoiceHash + "'", "saftrCustinvoicehash"));
+      props.add(new HQLProperty("'" + (fullInvoiceHash == null ? "" : fullInvoiceHash) + "'",
+          "saftrCustinvoicehash"));
       props.add(new HQLProperty(
           "coalesce(pos.organization.obposCDoctype.documentTypeForInvoice.saftDoctypePrefix,null)",
           "saftrCustInvoiceDocumentCategory"));
       props.add(new HQLProperty("pos.organization.obposCDoctype.documentTypeForInvoice.saftSigned",
           "saftrCustInvoiceDocumentCategoryIsSigned"));
       // Customer Invoice Return
-      props.add(new HQLProperty("'" + fullReturnInvoiceHash + "'", "saftrCustretinvoicehash"));
+      props.add(
+          new HQLProperty("'" + (fullReturnInvoiceHash == null ? "" : fullReturnInvoiceHash) + "'",
+              "saftrCustretinvoicehash"));
 
       // Manual Information:
       props.add(new HQLProperty("coalesce(pos.saftrManualinvoicePrefix,null)",
@@ -106,7 +114,8 @@ public class TerminalProperties extends ModelExtension {
           "saftrManualDocumentsEnabled"));
 
       // Manual Order
-      props.add(new HQLProperty("'" + manualOrderHash + "'", "saftrManualOrderhash"));
+      props.add(new HQLProperty("'" + (manualOrderHash == null ? "" : manualOrderHash) + "'",
+          "saftrManualOrderhash"));
       props.add(new HQLProperty(
           "coalesce((select pos2.organization.saftrCDoctypemanual.saftDoctypePrefix from OBPOS_Applications pos2 where pos2 = pos), '')",
           "saftrManualOrderDocCategory"));
@@ -115,7 +124,8 @@ public class TerminalProperties extends ModelExtension {
           "saftrManualOrderDocCategoryIsSigned"));
 
       // Manual Invoice
-      props.add(new HQLProperty("'" + manualInvoiceHash + "'", "saftrManualInvoicehash"));
+      props.add(new HQLProperty("'" + (manualInvoiceHash == null ? "" : manualInvoiceHash) + "'",
+          "saftrManualInvoicehash"));
       props.add(new HQLProperty(
           "coalesce((select pos2.organization.saftrCDoctypemanual.documentTypeForInvoice.saftDoctypePrefix from OBPOS_Applications pos2 where pos2 = pos), '')",
           "saftrManualInvoiceDocCategory"));
-- 
2.31.0

