details: /erp/devel/pi/rev/dbe46effa795
changeset: 9787:dbe46effa795
user: Eduardo Argal Guibert <eduardo.argal <at> openbravo.com>
date: Wed Jan 12 17:21:44 2011 +0100
summary: Fixes processing of orders. It was not working properly due to
previous commit
details: /erp/devel/pi/rev/702c6abdb8a7
changeset: 9788:702c6abdb8a7
user: Eduardo Argal Guibert <eduardo.argal <at> openbravo.com>
date: Thu Jan 13 11:29:23 2011 +0100
summary: Adds some more logic to identify BP when importing a bank statement
details: /erp/devel/pi/rev/466defb80182
changeset: 9789:466defb80182
user: Eduardo Argal Guibert <eduardo.argal <at> openbravo.com>
date: Thu Jan 13 12:52:05 2011 +0100
summary: Fixes bug 0015442: 3.0RC3: Execute Payment doesn't appear in the
Payment Proposal
details: /erp/devel/pi/rev/9ef686946a14
changeset: 9790:9ef686946a14
user: Eduardo Argal Guibert <eduardo.argal <at> openbravo.com>
date: Thu Jan 13 21:46:15 2011 +0100
summary: Fixes 0015645: Impossible to reconciliate
diffstat:
modules/org.openbravo.advpaymentmngt/src-db/database/model/functions/APRM_GEN_PAYMENTSCHEDULE_ORD.xml
| 6 +-
modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/process/FIN_ExecutePayment.java
| 15 +++++
modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/process/FIN_PaymentProposalProcess.java
| 18 ++++-
modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/utility/FIN_BankStatementImport.java
| 29 +++++++++-
src/org/openbravo/erpCommon/ad_forms/DocFINReconciliation.java
| 8 ++-
5 files changed, 65 insertions(+), 11 deletions(-)
diffs (166 lines):
diff -r 8b633bd01c5e -r 9ef686946a14
modules/org.openbravo.advpaymentmngt/src-db/database/model/functions/APRM_GEN_PAYMENTSCHEDULE_ORD.xml
---
a/modules/org.openbravo.advpaymentmngt/src-db/database/model/functions/APRM_GEN_PAYMENTSCHEDULE_ORD.xml
Thu Jan 13 18:26:53 2011 +0100
+++
b/modules/org.openbravo.advpaymentmngt/src-db/database/model/functions/APRM_GEN_PAYMENTSCHEDULE_ORD.xml
Thu Jan 13 21:46:15 2011 +0100
@@ -77,9 +77,8 @@
FROM c_doctype
WHERE c_doctype_id = v_C_Doctype_ID;
-
- IF(v_docSubType not in ('OB', 'ON')) THEN
- IF (p_docaction = 'CO') THEN
+ IF(v_docSubType is null or v_docSubType not in ('OB', 'ON')) THEN
+ IF (p_docaction = 'CO') THEN
-- Checking Payment Method ID is available
IF(v_paymentmethod_id IS NULL) THEN
RAISE_APPLICATION_ERROR(-20000, '@APRM_PAYMENTMETHOD_MISSING@');
@@ -98,7 +97,6 @@
IF (v_count > 0) THEN
RAISE_APPLICATION_ERROR(-20000, '@APRM_ORDER_MAN_PAYMENTS@');
END IF;
-
v_payment_schedule_order := get_uuid();
INSERT INTO fin_payment_schedule
(
diff -r 8b633bd01c5e -r 9ef686946a14
modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/process/FIN_ExecutePayment.java
---
a/modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/process/FIN_ExecutePayment.java
Thu Jan 13 18:26:53 2011 +0100
+++
b/modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/process/FIN_ExecutePayment.java
Thu Jan 13 21:46:15 2011 +0100
@@ -27,11 +27,14 @@
import org.openbravo.advpaymentmngt.exception.NoExecutionProcessFoundException;
import org.openbravo.advpaymentmngt.utility.FIN_PaymentExecutionProcess;
import org.openbravo.advpaymentmngt.utility.FIN_Utility;
+import org.openbravo.advpaymentmngt.utility.Value;
import org.openbravo.dal.service.OBDal;
import org.openbravo.erpCommon.utility.OBError;
import org.openbravo.model.common.enterprise.Organization;
import org.openbravo.model.financialmgmt.payment.FIN_FinaccTransaction;
import org.openbravo.model.financialmgmt.payment.FIN_Payment;
+import org.openbravo.model.financialmgmt.payment.FIN_PaymentPropDetailV;
+import org.openbravo.model.financialmgmt.payment.FIN_PaymentProposal;
import org.openbravo.model.financialmgmt.payment.PaymentExecutionProcess;
import
org.openbravo.model.financialmgmt.payment.PaymentExecutionProcessParameter;
import org.openbravo.model.financialmgmt.payment.PaymentRun;
@@ -110,6 +113,12 @@
paymentStatus = paymentRunPayment.getPayment().isReceipt() ?
"RPR" : "PPM";
paymentRunPayment.getPayment().setStatus(paymentStatus);
}
+ if ("PPW".equals(paymentRun.getSourceOfTheExecution())) {
+ FIN_PaymentProposal pp =
getPaymentProposalFromPayment(paymentRunPayment.getPayment());
+ pp.setStatus("PPM");
+ OBDal.getInstance().save(pp);
+ OBDal.getInstance().flush();
+ }
paymentRunPayment.getPayment().setPosted("N");
if (("RPR".equals(paymentStatus) || "PPM".equals(paymentStatus))
&&
FIN_Utility.isAutomaticDepositWithdrawn(paymentRunPayment.getPayment())
@@ -135,6 +144,12 @@
}
}
+ FIN_PaymentProposal getPaymentProposalFromPayment(FIN_Payment payment) {
+ FIN_PaymentPropDetailV ppv =
FIN_Utility.getOneInstance(FIN_PaymentPropDetailV.class,
+ new Value(FIN_PaymentPropDetailV.PROPERTY_PAYMENT, payment));
+ return ppv.getPaymentProposal();
+ }
+
private void setDefaultParameters() {
final List<PaymentExecutionProcessParameter> allParameters =
executionProcess
.getFinancialMgmtPaymentExecutionProcessParameterList();
diff -r 8b633bd01c5e -r 9ef686946a14
modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/process/FIN_PaymentProposalProcess.java
---
a/modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/process/FIN_PaymentProposalProcess.java
Thu Jan 13 18:26:53 2011 +0100
+++
b/modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/process/FIN_PaymentProposalProcess.java
Thu Jan 13 21:46:15 2011 +0100
@@ -172,6 +172,11 @@
paymentProposal.setStatus(isReceipt ? "RPR" : "PPM");
// process payment
message = FIN_AddPayment.processPayment(vars, conProvider, "P",
payment);
+ if ("RPAE".equals(payment.getStatus())) {
+ paymentProposal.setStatus("RPAE");
+ OBDal.getInstance().save(paymentProposal);
+ OBDal.getInstance().flush();
+ }
if (message.getType().equals("Error")) {
String exceptionMessage = payment.getBusinessPartner().getName();
exceptionMessage += ": " + message.getMessage();
@@ -189,11 +194,14 @@
OBDal.getInstance().flush();
OBContext.restorePreviousMode();
}
- // If Automatic step is enabled get proposal status
- if (FIN_Utility.isAutomaticDepositWithdrawn(paymentProposal))
- paymentProposal.setStatus(isReceipt ? "RDNC" : "PWNC");
- else
- paymentProposal.setStatus(isReceipt ? "RPR" : "PPM");
+ // If Automatic step is enabled and not awaiting execution get
proposal status
+ if (!"RPAE".equals(paymentProposal.getStatus())) {
+ if (FIN_Utility.isAutomaticDepositWithdrawn(paymentProposal)) {
+ paymentProposal.setStatus(isReceipt ? "RDNC" : "PWNC");
+ } else {
+ paymentProposal.setStatus(isReceipt ? "RPR" : "PPM");
+ }
+ }
paymentProposal.setProcessed(true);
paymentProposal.setAPRMProcessProposal("RE");
OBDal.getInstance().save(paymentProposal);
diff -r 8b633bd01c5e -r 9ef686946a14
modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/utility/FIN_BankStatementImport.java
---
a/modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/utility/FIN_BankStatementImport.java
Thu Jan 13 18:26:53 2011 +0100
+++
b/modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/utility/FIN_BankStatementImport.java
Thu Jan 13 21:46:15 2011 +0100
@@ -268,7 +268,11 @@
BusinessPartner matchBusinessPartner(String partnername) {
// TODO extend with other matching methods. It will make it easier to
later reconcile
- return matchBusinessPartnerByName(partnername);
+ BusinessPartner bp = matchBusinessPartnerByName(partnername);
+ if (bp == null) {
+ bp = finBPByName(partnername);
+ }
+ return bp;
}
BusinessPartner matchBusinessPartnerByName(String partnername) {
@@ -296,6 +300,29 @@
}
}
+ BusinessPartner finBPByName(String partnername) {
+ final StringBuilder whereClause = new StringBuilder();
+
+ OBContext.setAdminMode();
+ try {
+
+ whereClause.append(" as bp ");
+ whereClause.append(" where bp." + BusinessPartner.PROPERTY_NAME + " = '"
+ partnername + "'");
+ whereClause.append(" and bp." + BusinessPartner.PROPERTY_CLIENT + " = "
+ + OBContext.getOBContext().getCurrentClient());
+ final OBQuery<BusinessPartner> bp =
OBDal.getInstance().createQuery(BusinessPartner.class,
+ whereClause.toString());
+ List<BusinessPartner> matchedBP = bp.list();
+ if (matchedBP.size() == 0)
+ return null;
+ else
+ return matchedBP.get(0);
+
+ } finally {
+ OBContext.restorePreviousMode();
+ }
+ }
+
public abstract List<FIN_BankStatementLine> loadFile(InputStream in,
FIN_BankStatement targetBankStatement);
diff -r 8b633bd01c5e -r 9ef686946a14
src/org/openbravo/erpCommon/ad_forms/DocFINReconciliation.java
--- a/src/org/openbravo/erpCommon/ad_forms/DocFINReconciliation.java Thu Jan
13 18:26:53 2011 +0100
+++ b/src/org/openbravo/erpCommon/ad_forms/DocFINReconciliation.java Thu Jan
13 21:46:15 2011 +0100
@@ -769,7 +769,13 @@
} else if ("BPW".equals(transaction.getTransactionType())
&& account.getClearedPaymentAccountOUT() != null) {
confirmation = true;
- } else if ("BF".equals(transaction.getTransactionType())
+ }
+ }
+ } else {
+ for (FIN_FinancialAccountAccounting account : accounts) {
+ if (confirmation)
+ return confirmation;
+ if ("BF".equals(transaction.getTransactionType())
&& account.getClearedPaymentAccountOUT() != null) {
confirmation = true;
}
------------------------------------------------------------------------------
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