details: https://code.openbravo.com/erp/devel/pi/rev/4e97236ce97e
changeset: 17816:4e97236ce97e
user: David Miguelez <david.miguelez <at> openbravo.com>
date: Fri Aug 31 08:32:49 2012 +0200
summary: Fixes issue 21521: Shows warning message when different Payment
Method.
diffstat:
modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/actionHandler/PaymentProposalPickEditLines.java
| 31 ++++++++-
1 files changed, 26 insertions(+), 5 deletions(-)
diffs (91 lines):
diff -r e364b1c3d2d7 -r 4e97236ce97e
modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/actionHandler/PaymentProposalPickEditLines.java
---
a/modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/actionHandler/PaymentProposalPickEditLines.java
Fri Aug 31 11:08:22 2012 +0200
+++
b/modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/actionHandler/PaymentProposalPickEditLines.java
Fri Aug 31 08:32:49 2012 +0200
@@ -20,6 +20,7 @@
package org.openbravo.advpaymentmngt.actionHandler;
import java.math.BigDecimal;
+import java.util.HashMap;
import java.util.Map;
import org.apache.log4j.Logger;
@@ -34,6 +35,7 @@
import org.openbravo.dal.core.OBContext;
import org.openbravo.dal.service.OBDal;
import org.openbravo.erpCommon.utility.OBMessageUtils;
+import org.openbravo.model.financialmgmt.payment.FIN_PaymentMethod;
import org.openbravo.model.financialmgmt.payment.FIN_PaymentPropDetail;
import org.openbravo.model.financialmgmt.payment.FIN_PaymentProposal;
import org.openbravo.model.financialmgmt.payment.FIN_PaymentScheduleDetail;
@@ -57,14 +59,22 @@
final String strPaymentProposalId =
jsonRequest.getString("Fin_Payment_Proposal_ID");
FIN_PaymentProposal paymentProposal =
OBDal.getInstance().get(FIN_PaymentProposal.class,
strPaymentProposalId);
+ final String strPaymentMethodId =
jsonRequest.getString("inpfinPaymentmethodId");
+ FIN_PaymentMethod paymentMethod =
OBDal.getInstance().get(FIN_PaymentMethod.class,
+ strPaymentMethodId);
if (cleanPaymentProposalDetails(paymentProposal)) {
- int cont = createPaymentProposalDetails(jsonRequest);
+ HashMap<String, String> map =
createPaymentProposalDetails(jsonRequest, paymentMethod);
jsonRequest = new JSONObject();
JSONObject errorMessage = new JSONObject();
errorMessage.put("severity", "success");
errorMessage.put("text", OBMessageUtils.messageBD("Success"));
+ if (map.get("DifferentPaymentMethod").equals("true")) {
+ errorMessage.put("severity", "warning");
+ errorMessage.put("text",
+
OBMessageUtils.messageBD("APRM_Different_PaymentMethod_Selected"));
+ }
jsonRequest.put("message", errorMessage);
}
@@ -110,25 +120,34 @@
return true;
}
- private int createPaymentProposalDetails(JSONObject jsonRequest) throws
JSONException,
- OBException {
+ private HashMap<String, String> createPaymentProposalDetails(JSONObject
jsonRequest,
+ FIN_PaymentMethod paymentMethod) throws JSONException, OBException {
+ HashMap<String, String> map = new HashMap<String, String>();
+ map.put("DifferentPaymentMethod", "false");
+ map.put("Count", "0");
JSONArray selectedLines = jsonRequest.getJSONArray("_selection");
// if no lines selected don't do anything.
if (selectedLines.length() == 0) {
- return 0;
+ return map;
}
final String strPaymentProposalId =
jsonRequest.getString("Fin_Payment_Proposal_ID");
FIN_PaymentProposal paymentProposal =
OBDal.getInstance().get(FIN_PaymentProposal.class,
strPaymentProposalId);
BigDecimal totalAmount = BigDecimal.ZERO, totalWriteOff = BigDecimal.ZERO;
int cont = 0;
+ String differentPaymentMethod = "false";
for (int i = 0; i < selectedLines.length(); i++) {
JSONObject selectedLine = selectedLines.getJSONObject((int) i);
log.debug(selectedLine);
BigDecimal paidAmount = new
BigDecimal(selectedLine.getString("payment"));
if (paidAmount.compareTo(BigDecimal.ZERO) != 0) {
+ FIN_PaymentMethod linePaymentMethod =
OBDal.getInstance().get(FIN_PaymentMethod.class,
+ selectedLine.getString("paymentMethod"));
+ if (!paymentMethod.equals(linePaymentMethod)) {
+ differentPaymentMethod = "true";
+ }
FIN_PaymentPropDetail newPPD =
OBProvider.getInstance().get(FIN_PaymentPropDetail.class);
newPPD.setOrganization(paymentProposal.getOrganization());
newPPD.setClient(paymentProposal.getClient());
@@ -156,6 +175,8 @@
paymentProposal.setAmount(totalAmount);
paymentProposal.setWriteoffAmount(totalWriteOff);
OBDal.getInstance().save(paymentProposal);
- return cont;
+ map.put("DifferentPaymentMethod", differentPaymentMethod);
+ map.put("Count", Integer.toString(cont));
+ return map;
}
}
------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and
threat landscape has changed and how IT managers can respond. Discussions
will include endpoint security, mobile security and the latest in malware
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
Openbravo-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/openbravo-commits