details:   https://code.openbravo.com/erp/devel/pi/rev/6b960d4ca8bb
changeset: 24141:6b960d4ca8bb
user:      Sandra Huguet <sandra.huguet <at> openbravo.com>
date:      Tue Jul 29 12:31:47 2014 +0200
summary:   Fixed issue 23994

details:   https://code.openbravo.com/erp/devel/pi/rev/c08c6475d0c5
changeset: 24142:c08c6475d0c5
user:      Sandra Huguet <sandra.huguet <at> openbravo.com>
date:      Wed Jul 30 10:11:10 2014 +0200
summary:   Related to issue 23994

diffstat:

 
src-util/modulescript/build/classes/org/openbravo/modulescript/DeleteDuplicateMatchInvoice.class
     |    0 
 
src-util/modulescript/build/classes/org/openbravo/modulescript/DeleteDuplicateMatchInvoiceData.class
 |    0 
 
src-util/modulescript/src/org/openbravo/modulescript/DeleteDuplicateMatchInvoice.java
                |   11 ++-
 
src-util/modulescript/src/org/openbravo/modulescript/DeleteDuplicateMatchInvoice_data.xsql
           |   36 +++++++++-
 4 files changed, 41 insertions(+), 6 deletions(-)

diffs (85 lines):

diff -r 687d91cddde8 -r c08c6475d0c5 
src-util/modulescript/build/classes/org/openbravo/modulescript/DeleteDuplicateMatchInvoice.class
Binary file 
src-util/modulescript/build/classes/org/openbravo/modulescript/DeleteDuplicateMatchInvoice.class
 has changed
diff -r 687d91cddde8 -r c08c6475d0c5 
src-util/modulescript/build/classes/org/openbravo/modulescript/DeleteDuplicateMatchInvoiceData.class
Binary file 
src-util/modulescript/build/classes/org/openbravo/modulescript/DeleteDuplicateMatchInvoiceData.class
 has changed
diff -r 687d91cddde8 -r c08c6475d0c5 
src-util/modulescript/src/org/openbravo/modulescript/DeleteDuplicateMatchInvoice.java
--- 
a/src-util/modulescript/src/org/openbravo/modulescript/DeleteDuplicateMatchInvoice.java
     Wed Jul 30 15:33:11 2014 +0200
+++ 
b/src-util/modulescript/src/org/openbravo/modulescript/DeleteDuplicateMatchInvoice.java
     Wed Jul 30 10:11:10 2014 +0200
@@ -26,10 +26,15 @@
   public void execute() {
     try {
       ConnectionProvider cp = getConnectionProvider();
-      DeleteDuplicateMatchInvoiceData.deletePurchase(cp);
-      DeleteDuplicateMatchInvoiceData.deleteSales(cp);
+      boolean isDuplicateMatchInvoiceExecuted= 
DeleteDuplicateMatchInvoiceData.isDuplicateMatchInvoiceExecuted(cp);
+      if (!isDuplicateMatchInvoiceExecuted){
+        DeleteDuplicateMatchInvoiceData.deletePurchase(cp);
+        DeleteDuplicateMatchInvoiceData.deleteSalesFirstPart(cp);
+        DeleteDuplicateMatchInvoiceData.deleteSalesSecondPart(cp);
+        DeleteDuplicateMatchInvoiceData.createPreference(cp);
+      }
     } catch (Exception e) {
       handleError(e);
     }
   }
-}
\ No newline at end of file
+}
diff -r 687d91cddde8 -r c08c6475d0c5 
src-util/modulescript/src/org/openbravo/modulescript/DeleteDuplicateMatchInvoice_data.xsql
--- 
a/src-util/modulescript/src/org/openbravo/modulescript/DeleteDuplicateMatchInvoice_data.xsql
        Wed Jul 30 15:33:11 2014 +0200
+++ 
b/src-util/modulescript/src/org/openbravo/modulescript/DeleteDuplicateMatchInvoice_data.xsql
        Wed Jul 30 10:11:10 2014 +0200
@@ -41,7 +41,7 @@
       ]]>
     </Sql>
   </SqlMethod>
-  <SqlMethod name="deleteSales" type="preparedStatement" return="rowcount">
+  <SqlMethod name="deleteSalesFirstPart" type="preparedStatement" 
return="rowcount">
     <SqlMethodComment></SqlMethodComment>
     <Sql><![CDATA[
       DELETE FROM m_matchinv WHERE m_matchinv_id IN (SELECT m_matchinv_id FROM 
m_matchinv minv
@@ -50,8 +50,15 @@
             FROM m_matchinv m 
             LEFT JOIN m_inoutline ml on m.m_inoutline_id = ml.m_inoutline_id 
             LEFT JOIN m_inout mi on mi.m_inout_id = ml.m_inout_id 
-            WHERE mi.issotrx = 'Y' AND m.m_matchinv_id = minv.m_matchinv_id)
-        OR EXISTS (
+            WHERE mi.issotrx = 'Y' AND m.m_matchinv_id = minv.m_matchinv_id))
+      ]]>
+    </Sql>
+  </SqlMethod>
+  <SqlMethod name="deleteSalesSecondPart" type="preparedStatement" 
return="rowcount">
+    <SqlMethodComment></SqlMethodComment>
+    <Sql><![CDATA[
+      DELETE FROM m_matchinv WHERE m_matchinv_id IN (SELECT m_matchinv_id FROM 
m_matchinv minv
+        WHERE EXISTS (
             SELECT 1
             FROM m_matchinv m 
             LEFT JOIN c_invoiceline ci on m.c_invoiceline_id = 
ci.c_invoiceline_id 
@@ -60,4 +67,27 @@
       ]]>
     </Sql>
   </SqlMethod>
+  <SqlMethod name="isDuplicateMatchInvoiceExecuted" type="preparedStatement" 
return="boolean">
+    <SqlMethodComment></SqlMethodComment>
+    <Sql>
+      <![CDATA[
+        SELECT count(*) as exist
+        FROM DUAL
+        WHERE EXISTS (SELECT 1 FROM ad_preference
+                      WHERE attribute = 'DuplicateMatchInvoiceExecuted')
+      ]]>
+    </Sql>
+  </SqlMethod>
+  <SqlMethod name="createPreference" type="preparedStatement" 
return="rowcount">
+      <SqlMethodComment></SqlMethodComment>
+       <Sql> 
+       <![CDATA[ 
+           INSERT INTO ad_preference (
+           ad_preference_id, ad_client_id, ad_org_id, isactive,
+           createdby, created, updatedby, updated,attribute
+           ) VALUES (
+           get_uuid(), '0', '0', 'Y', '0', NOW(), '0', 
NOW(),'DuplicateMatchInvoiceExecuted')
+         ]]>
+        </Sql>
+   </SqlMethod>
 </SqlClass>

------------------------------------------------------------------------------
Infragistics Professional
Build stunning WinForms apps today!
Reboot your WinForms applications with our WinForms controls. 
Build a bridge from your legacy apps to the future.
http://pubads.g.doubleclick.net/gampad/clk?id=153845071&iu=/4140/ostg.clktrk
_______________________________________________
Openbravo-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/openbravo-commits

Reply via email to