details: /erp/stable/2.50/rev/0ee0a1ac0c68
changeset: 9130:0ee0a1ac0c68
user: Adrián Romero <adrianromero <at> openbravo.com>
date: Thu Jan 13 16:05:19 2011 +0100
summary: Fixes issue 0015509: Not possible to process orders imported from
POS when APR module is installed
It has been added a condition that if the APRM moudle is installed, the import
order process does not add old payments
diffstat:
src/org/openbravo/erpCommon/ad_process/ImportOrder.java | 125 +++++++++------
1 files changed, 76 insertions(+), 49 deletions(-)
diffs (153 lines):
diff -r b5e03aab8f21 -r 0ee0a1ac0c68
src/org/openbravo/erpCommon/ad_process/ImportOrder.java
--- a/src/org/openbravo/erpCommon/ad_process/ImportOrder.java Thu Jan 13
10:01:33 2011 +0100
+++ b/src/org/openbravo/erpCommon/ad_process/ImportOrder.java Thu Jan 13
16:05:19 2011 +0100
@@ -26,12 +26,16 @@
import org.apache.log4j.Logger;
import org.openbravo.base.secureApp.VariablesSecureApp;
+import org.openbravo.dal.core.OBContext;
import org.openbravo.database.ConnectionProvider;
import org.openbravo.erpCommon.businessUtility.BpartnerMiscData;
+import org.openbravo.erpCommon.businessUtility.Preferences;
import org.openbravo.erpCommon.businessUtility.Tax;
import org.openbravo.erpCommon.reference.PInstanceProcessData;
import org.openbravo.erpCommon.utility.DateTimeData;
import org.openbravo.erpCommon.utility.OBError;
+import org.openbravo.erpCommon.utility.PropertyException;
+import org.openbravo.erpCommon.utility.PropertyNotFoundException;
import org.openbravo.erpCommon.utility.SequenceIdData;
import org.openbravo.erpCommon.utility.Utility;
import org.openbravo.exception.NoConnectionAvailableException;
@@ -831,55 +835,58 @@
data[i].iIsimported = "Y";
data[i].processed = "Y";
data[i].update(con, conn);
- String[] arrayPayment = { data[i].paymentrule1, data[i].paymentrule2 };
- String[] arrayAmount = { data[i].paymentamount1,
data[i].paymentamount2 };
- for (int k = 0; k < arrayPayment.length; k++) {
- if (!arrayPayment[k].equals("")) {
- CDebtpaymentData cdebtpayment = new CDebtpaymentData();
- cdebtpayment.adClientId = data[i].adClientId;
- cdebtpayment.adOrgId = data[i].adOrgId;
- cdebtpayment.createdby = getAD_User_ID();
- cdebtpayment.updatedby = getAD_User_ID();
- cdebtpayment.cBpartnerId = corder_cbpartnerid;
- cdebtpayment.cCurrencyId = corder_ccurrencyid;
- /*
- * cdebtpayment.cBankaccountId = ; cdebtpayment.cCashbookId = ;
- */
- cdebtpayment.paymentrule = arrayPayment[k];
- cdebtpayment.amount = arrayAmount[k];
- cdebtpayment.ispaid = "N";
- cdebtpayment.dateplanned = data[i].dateordered.equals("") ?
DateTimeData.today(conn)
- : data[i].dateordered;
- cdebtpayment.ismanual = "N";
- cdebtpayment.isvalid = "Y";
- cdebtpayment.changesettlementcancel = "N";
- cdebtpayment.cancelProcessed = "N";
- cdebtpayment.generateProcessed = "N";
- cdebtpayment.glitemamt = "0";
- cdebtpayment.isdirectposting = "N";
- cdebtpayment.status = "DE";
- cdebtpayment.statusInitial = "DE";
- cdebtpayment.cOrderId = data[i].cOrderId;
- // Looking for same payment yet inserted
- ImportOrderData[] paymentInserted =
ImportOrderData.selectPaymentInserted(conn,
- cdebtpayment.adClientId, cdebtpayment.adOrgId,
cdebtpayment.createdby,
- cdebtpayment.updatedby, cdebtpayment.cBpartnerId,
cdebtpayment.cCurrencyId,
- cdebtpayment.paymentrule, cdebtpayment.amount,
cdebtpayment.ispaid,
- cdebtpayment.ismanual, cdebtpayment.isvalid,
cdebtpayment.changesettlementcancel,
- cdebtpayment.cancelProcessed, cdebtpayment.generateProcessed,
- cdebtpayment.glitemamt, cdebtpayment.isdirectposting,
cdebtpayment.status,
- cdebtpayment.statusInitial, cdebtpayment.cOrderId);
- if (paymentInserted != null && paymentInserted.length == 0) {
- try {
- cdebtpayment.cDebtPaymentId = SequenceIdData.getUUID();
- cdebtpayment.insert(con, conn);
- } catch (ServletException ex) {
- if (log4j.isDebugEnabled())
- log4j.debug("Insert Order - " + ex.toString());
- conn.releaseRollbackConnection(con);
- ImportOrderData.importOrderError(conn, ex.toString(),
I_Order_ID);
- noInsert--;
- continue;
+
+ if (!isNewFlow()) {
+ String[] arrayPayment = { data[i].paymentrule1, data[i].paymentrule2
};
+ String[] arrayAmount = { data[i].paymentamount1,
data[i].paymentamount2 };
+ for (int k = 0; k < arrayPayment.length; k++) {
+ if (!arrayPayment[k].equals("")) {
+ CDebtpaymentData cdebtpayment = new CDebtpaymentData();
+ cdebtpayment.adClientId = data[i].adClientId;
+ cdebtpayment.adOrgId = data[i].adOrgId;
+ cdebtpayment.createdby = getAD_User_ID();
+ cdebtpayment.updatedby = getAD_User_ID();
+ cdebtpayment.cBpartnerId = corder_cbpartnerid;
+ cdebtpayment.cCurrencyId = corder_ccurrencyid;
+ /*
+ * cdebtpayment.cBankaccountId = ; cdebtpayment.cCashbookId = ;
+ */
+ cdebtpayment.paymentrule = arrayPayment[k];
+ cdebtpayment.amount = arrayAmount[k];
+ cdebtpayment.ispaid = "N";
+ cdebtpayment.dateplanned = data[i].dateordered.equals("") ?
DateTimeData.today(conn)
+ : data[i].dateordered;
+ cdebtpayment.ismanual = "N";
+ cdebtpayment.isvalid = "Y";
+ cdebtpayment.changesettlementcancel = "N";
+ cdebtpayment.cancelProcessed = "N";
+ cdebtpayment.generateProcessed = "N";
+ cdebtpayment.glitemamt = "0";
+ cdebtpayment.isdirectposting = "N";
+ cdebtpayment.status = "DE";
+ cdebtpayment.statusInitial = "DE";
+ cdebtpayment.cOrderId = data[i].cOrderId;
+ // Looking for same payment yet inserted
+ ImportOrderData[] paymentInserted =
ImportOrderData.selectPaymentInserted(conn,
+ cdebtpayment.adClientId, cdebtpayment.adOrgId,
cdebtpayment.createdby,
+ cdebtpayment.updatedby, cdebtpayment.cBpartnerId,
cdebtpayment.cCurrencyId,
+ cdebtpayment.paymentrule, cdebtpayment.amount,
cdebtpayment.ispaid,
+ cdebtpayment.ismanual, cdebtpayment.isvalid,
cdebtpayment.changesettlementcancel,
+ cdebtpayment.cancelProcessed, cdebtpayment.generateProcessed,
+ cdebtpayment.glitemamt, cdebtpayment.isdirectposting,
cdebtpayment.status,
+ cdebtpayment.statusInitial, cdebtpayment.cOrderId);
+ if (paymentInserted != null && paymentInserted.length == 0) {
+ try {
+ cdebtpayment.cDebtPaymentId = SequenceIdData.getUUID();
+ cdebtpayment.insert(con, conn);
+ } catch (ServletException ex) {
+ if (log4j.isDebugEnabled())
+ log4j.debug("Insert Order - " + ex.toString());
+ conn.releaseRollbackConnection(con);
+ ImportOrderData.importOrderError(conn, ex.toString(),
I_Order_ID);
+ noInsert--;
+ continue;
+ }
}
}
}
@@ -982,4 +989,24 @@
return messageResult;
}
+ private boolean isNewFlow() {
+ // Extra check for Payment Flow-disabling switch
+ try {
+ // Use Utility.getPropertyValue for backward compatibility
+ try {
+ Preferences.getPreferenceValue("FinancialManagement", true, null,
null, OBContext
+ .getOBContext().getUser(), null, null);
+ return true;
+ } catch (PropertyNotFoundException e) {
+ if (Utility.getPropertyValue("FinancialManagement",
OBContext.getOBContext()
+ .getCurrentClient().getId(),
OBContext.getOBContext().getCurrentOrganization().getId()) != null) {
+ return true;
+ } else
+ return false;
+ }
+ } catch (PropertyException e) {
+ return false;
+ }
+ }
+
}
------------------------------------------------------------------------------
Protect Your Site and Customers from Malware Attacks
Learn about various malware tactics and how to avoid them. Understand
malware threats, the impact they can have on your business, and how you
can protect your company and customers by using code signing.
http://p.sf.net/sfu/oracle-sfdevnl
_______________________________________________
Openbravo-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/openbravo-commits