details: https://code.openbravo.com/erp/devel/pi/rev/9f2e21bb3583
changeset: 19111:9f2e21bb3583
user: Naiara Martinez <naiara.martinez <at> openbravo.com>
date: Wed Dec 26 12:07:36 2012 +0100
summary: fixed issue 22662: post from different financial accounts
diffstat:
modules/org.openbravo.advpaymentmngt/src-db/database/sourcedata/AD_TEXTINTERFACES.xml
| 22 +
modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/ad_actionbutton/AddTransaction.html
| 24 +-
modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/ad_actionbutton/AddTransaction.java
| 35 +-
modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/ad_actionbutton/AddTransactionGrid.srpt
| 3 +-
modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/ad_actionbutton/AddTransactionGrid.xml
| 3 +-
modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/dao/AdvPaymentMngtDao.java
| 126 ++++++-
src/org/openbravo/erpCommon/ad_forms/DocFINFinAccTransaction.java
| 180 +++++++++-
src/org/openbravo/erpCommon/ad_forms/DocFINReconciliation.java
| 122 ++++++-
8 files changed, 484 insertions(+), 31 deletions(-)
diffs (truncated from 819 to 300 lines):
diff -r d70a311c4eb7 -r 9f2e21bb3583
modules/org.openbravo.advpaymentmngt/src-db/database/sourcedata/AD_TEXTINTERFACES.xml
---
a/modules/org.openbravo.advpaymentmngt/src-db/database/sourcedata/AD_TEXTINTERFACES.xml
Wed Dec 26 15:42:31 2012 +0100
+++
b/modules/org.openbravo.advpaymentmngt/src-db/database/sourcedata/AD_TEXTINTERFACES.xml
Wed Dec 26 12:07:36 2012 +0100
@@ -319,6 +319,17 @@
<!--354E5EF7FCD142078572A472031A4F8D-->
<AD_MODULE_ID><![CDATA[A918E3331C404B889D69AA9BFAFB23AC]]></AD_MODULE_ID>
<!--354E5EF7FCD142078572A472031A4F8D--></AD_TEXTINTERFACES>
+<!--35E14F2E362847059E2D433F33E930FF--><AD_TEXTINTERFACES>
+<!--35E14F2E362847059E2D433F33E930FF-->
<AD_TEXTINTERFACES_ID><![CDATA[35E14F2E362847059E2D433F33E930FF]]></AD_TEXTINTERFACES_ID>
+<!--35E14F2E362847059E2D433F33E930FF-->
<AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--35E14F2E362847059E2D433F33E930FF--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--35E14F2E362847059E2D433F33E930FF--> <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--35E14F2E362847059E2D433F33E930FF--> <TEXT><![CDATA[Show transactions for
alternative financial account]]></TEXT>
+<!--35E14F2E362847059E2D433F33E930FF-->
<FILENAME><![CDATA[/org/openbravo/advpaymentmngt/ad_actionbutton/AddTransaction.html]]></FILENAME>
+<!--35E14F2E362847059E2D433F33E930FF--> <ISUSED><![CDATA[Y]]></ISUSED>
+<!--35E14F2E362847059E2D433F33E930FF-->
<AD_MODULE_ID><![CDATA[A918E3331C404B889D69AA9BFAFB23AC]]></AD_MODULE_ID>
+<!--35E14F2E362847059E2D433F33E930FF--></AD_TEXTINTERFACES>
+
<!--361C7BAF7DFE4D90B8A2B671B4548B34--><AD_TEXTINTERFACES>
<!--361C7BAF7DFE4D90B8A2B671B4548B34-->
<AD_TEXTINTERFACES_ID><![CDATA[361C7BAF7DFE4D90B8A2B671B4548B34]]></AD_TEXTINTERFACES_ID>
<!--361C7BAF7DFE4D90B8A2B671B4548B34-->
<AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
@@ -605,6 +616,17 @@
<!--55C25FEEFC8E443F908854E36E9F74DB-->
<AD_MODULE_ID><![CDATA[A918E3331C404B889D69AA9BFAFB23AC]]></AD_MODULE_ID>
<!--55C25FEEFC8E443F908854E36E9F74DB--></AD_TEXTINTERFACES>
+<!--56AAE175522A4972923EFA921DA73BFA--><AD_TEXTINTERFACES>
+<!--56AAE175522A4972923EFA921DA73BFA-->
<AD_TEXTINTERFACES_ID><![CDATA[56AAE175522A4972923EFA921DA73BFA]]></AD_TEXTINTERFACES_ID>
+<!--56AAE175522A4972923EFA921DA73BFA-->
<AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--56AAE175522A4972923EFA921DA73BFA--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--56AAE175522A4972923EFA921DA73BFA--> <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--56AAE175522A4972923EFA921DA73BFA--> <TEXT><![CDATA[Financial
Account]]></TEXT>
+<!--56AAE175522A4972923EFA921DA73BFA-->
<FILENAME><![CDATA[/org/openbravo/advpaymentmngt/ad_actionbutton/AddTransaction.html]]></FILENAME>
+<!--56AAE175522A4972923EFA921DA73BFA--> <ISUSED><![CDATA[Y]]></ISUSED>
+<!--56AAE175522A4972923EFA921DA73BFA-->
<AD_MODULE_ID><![CDATA[A918E3331C404B889D69AA9BFAFB23AC]]></AD_MODULE_ID>
+<!--56AAE175522A4972923EFA921DA73BFA--></AD_TEXTINTERFACES>
+
<!--57288859DEFC454F9F499AF45F42B7AB--><AD_TEXTINTERFACES>
<!--57288859DEFC454F9F499AF45F42B7AB-->
<AD_TEXTINTERFACES_ID><![CDATA[57288859DEFC454F9F499AF45F42B7AB]]></AD_TEXTINTERFACES_ID>
<!--57288859DEFC454F9F499AF45F42B7AB-->
<AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
diff -r d70a311c4eb7 -r 9f2e21bb3583
modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/ad_actionbutton/AddTransaction.html
---
a/modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/ad_actionbutton/AddTransaction.html
Wed Dec 26 15:42:31 2012 +0100
+++
b/modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/ad_actionbutton/AddTransaction.html
Wed Dec 26 12:07:36 2012 +0100
@@ -131,6 +131,16 @@
document.getElementById('buttonProcess').disabled='disabled';
}
+function showPaymentSection2(){
+ var doc = document.frmMain.inpDocumentType.value;
+ if (doc == 'RCIN'){
+ displayLogicElement('PaymentSection2', true);
+ } else{
+ displayLogicElement('PaymentSection2', false);
+ }
+ return loadGrid();
+}
+
function showHideLayers() {
var opt = document.frmMain.inpTransactionType.value;
if (opt == 'P') {
@@ -140,6 +150,7 @@
displayLogicElement('GLItemSection2', false);
displayLogicElement('GLItemSection3', false);
displayLogicElement('PaymentSection', true);
+ displayLogicElement('PaymentSection2', true);
displayLogicElement('client_middle', true);
autoDisplayLogicDimensions(false);
loadGrid();
@@ -151,6 +162,7 @@
displayLogicElement('GLItemSection2', true);
displayLogicElement('GLItemSection3', true);
displayLogicElement('PaymentSection', false);
+ displayLogicElement('PaymentSection2', false);
displayLogicElement('client_middle', false);
autoDisplayLogicDimensions(true);
} else if (opt == 'F') {
@@ -160,6 +172,7 @@
displayLogicElement('GLItemSection2', false);
displayLogicElement('GLItemSection3', false);
displayLogicElement('PaymentSection', false);
+ displayLogicElement('PaymentSection2', false);
displayLogicElement('client_middle', false);
autoDisplayLogicDimensions(false);
}
@@ -219,7 +232,6 @@
} else {
displayLogicDimension('user2_ID', false);
}
- //costcenter is not ready
if (document.frmMain.strElement_CC.value === 'Y' && isDisplayed) {
displayLogicDimension('c_costcenter_id', true);
displayTitle = true;
@@ -1028,12 +1040,12 @@
<tr id="PaymentSection">
<td class="TitleCell"><span
class="LabelText">Document</span></td>
<td class="Combo_ContentCell">
- <select name="inpDocumentType" id="paramDocumentType"
class="Combo Combo_OneCell_width" onchange="loadGrid();return true;">
+ <select name="inpDocumentType" id="paramDocumentType"
class="Combo Combo_OneCell_width" onchange="showPaymentSection2();return true;">
<!-- <option value=""><div
id="reportDocument"></div></option> -->
<option value="RCIN" selected="selected">Received In</option>
<option value="PDOUT">Paid Out</option>
</select>
- </td>
+ </td>
<td class="TitleCell"><span class="LabelText">From
Date</span></td>
<td class="TextBox_btn_ContentCell">
<table border="0" cellspacing="0" cellpadding="0" summary=""
style="padding-top: 0px;">
@@ -1097,6 +1109,11 @@
</table>
</td>
</tr>
+ <tr id="PaymentSection2">
+ <td class="TitleCell" id="inpAlternativeLabel"><span
class="TitleCell LabelText"><label name="lblP" id="lblPShowPaym"
for="paramAlternativeFA">Show transactions for alternative financial
account</label></span></td>
+ <td class="Radio_Check_ContentCell" id="inpAlternativeChkBox">
+ <span class="Radio_Check_ContentCell
Checkbox_container_NOT_Focused"><input type="checkbox" name="inpAlternativeFA"
value="Y" id="paramAlternativeFA" onclick="loadGrid()"></input></span>
+ </tr>
<!-- Payment Section END-->
<tr class="FieldGroup_BottomMargin"></tr>
@@ -1124,6 +1141,7 @@
<th class="DataGrid_Header_LineNoCell
DataGrid_Body_Cell_CheckBox" width="25">
<input type="checkbox" name="inpAllLines"
onclick="markAll(document.frmMain.inpPaymentId, this.checked); return true;"/>
</th>
+ <th class="DataGrid_Header_Cell" width="250">Financial
Account</th>
<th class="DataGrid_Header_Cell" width="250">Payment
In/Out</th>
<th class="DataGrid_Header_Cell"
width="300">Description</th>
<th class="DataGrid_Header_Cell" width="70">Date</th>
diff -r d70a311c4eb7 -r 9f2e21bb3583
modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/ad_actionbutton/AddTransaction.java
---
a/modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/ad_actionbutton/AddTransaction.java
Wed Dec 26 15:42:31 2012 +0100
+++
b/modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/ad_actionbutton/AddTransaction.java
Wed Dec 26 12:07:36 2012 +0100
@@ -104,9 +104,10 @@
vars.removeSessionValue("AddPaymentFromTransaction|PaymentId");
String strFinBankStatementLineId =
vars.getStringParameter("inpFinBankStatementLineId", "",
IsIDFilter.instance);
+ Boolean showAlternativeFA =
"Y".equals(vars.getStringParameter("inpAlternativeFA", "N"));
printGrid(response, vars, strFinancialAccountId, strFromDate, strToDate,
strIsReceipt,
- strFinBankStatementLineId, closeAutomatically,
paymentWithTransaction);
+ strFinBankStatementLineId, closeAutomatically,
paymentWithTransaction, showAlternativeFA);
} else if (vars.commandIn("SAVE")) {
String strTabId = vars.getGlobalVariable("inpTabId",
"AddTransaction|tabId");
@@ -165,12 +166,15 @@
description = p.getDescription().replace("\n", ". ");
}
- FIN_FinaccTransaction finTrans =
dao.getNewFinancialTransaction(p.getOrganization(), p
- .getAccount(),
TransactionsDao.getTransactionMaxLineNo(p.getAccount()) + 10, p,
- description, FIN_Utility.getDate(strTransactionDate), null,
p.isReceipt() ? "RDNC"
- : "PWNC", depositAmt, paymentAmt, null, null, null,
- p.isReceipt() ? "BPD" : "BPW",
FIN_Utility.getDate(strTransactionDate), p
- .getCurrency(), p.getFinancialTransactionConvertRate(),
p.getAmount());
+ FIN_FinaccTransaction finTrans = dao.getNewFinancialTransaction(
+ p.getOrganization(),
+ OBDal.getInstance().get(FIN_FinancialAccount.class,
strFinancialAccountId),
+ TransactionsDao.getTransactionMaxLineNo(OBDal.getInstance().get(
+ FIN_FinancialAccount.class, strFinancialAccountId)) + 10, p,
description,
+ FIN_Utility.getDate(strTransactionDate), null, p.isReceipt() ?
"RDNC" : "PWNC",
+ depositAmt, paymentAmt, null, null, null, p.isReceipt() ? "BPD"
: "BPW",
+ FIN_Utility.getDate(strTransactionDate), p.getCurrency(),
+ p.getFinancialTransactionConvertRate(), p.getAmount());
OBError processTransactionError = processTransaction(vars, this,
"P", finTrans);
if (processTransactionError != null &&
"Error".equals(processTransactionError.getType())) {
throw new OBException(processTransactionError.getMessage());
@@ -410,8 +414,8 @@
private void printGrid(HttpServletResponse response, VariablesSecureApp vars,
String strFinancialAccountId, String strFromDate, String strToDate,
boolean isReceipt,
- String strFinBankStatementLineId, String closeAutomatically, String
paymentWithTransaction)
- throws IOException, ServletException {
+ String strFinBankStatementLineId, String closeAutomatically, String
paymentWithTransaction,
+ Boolean showAlternativeFA) throws IOException, ServletException {
dao = new AdvPaymentMngtDao();
log4j.debug("Output: Grid with transactions not reconciled");
@@ -442,10 +446,14 @@
// Payments not deposited/withdrawal
// Not stored in Fin_Finacc_Transaction table
- final FieldProvider[] data = dao.getPaymentsNotDeposited(account,
- FIN_Utility.getDate(strFromDate),
- FIN_Utility.getDate(DateTimeData.nDaysAfter(this, strToDate, "1")),
isReceipt);
-
+ final FieldProvider[] data;
+ if (showAlternativeFA & isReceipt) {
+ data = dao.getAlternativePaymentsNotDeposited(account,
FIN_Utility.getDate(strFromDate),
+ FIN_Utility.getDate(DateTimeData.nDaysAfter(this, strToDate, "1")),
isReceipt);
+ } else {
+ data = dao.getPaymentsNotDeposited(account,
FIN_Utility.getDate(strFromDate),
+ FIN_Utility.getDate(DateTimeData.nDaysAfter(this, strToDate, "1")),
isReceipt);
+ }
xmlDocument.setData("structure", (data == null) ? set() : data);
JSONObject table = new JSONObject();
try {
@@ -462,6 +470,7 @@
private FieldProvider[] set() throws ServletException {
HashMap<String, String> empty = new HashMap<String, String>();
+ empty.put("finAcc", "");
empty.put("paymentId", "");
empty.put("paymentInfo", "");
empty.put("paymentDescription", "");
diff -r d70a311c4eb7 -r 9f2e21bb3583
modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/ad_actionbutton/AddTransactionGrid.srpt
---
a/modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/ad_actionbutton/AddTransactionGrid.srpt
Wed Dec 26 15:42:31 2012 +0100
+++
b/modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/ad_actionbutton/AddTransactionGrid.srpt
Wed Dec 26 12:07:36 2012 +0100
@@ -12,7 +12,7 @@
* under the License.
* The Original Code is Openbravo ERP.
* The Initial Developer of the Original Code is Openbravo SLU
- * All portions are Copyright (C) 2010-2011 Openbravo SLU
+ * All portions are Copyright (C) 2010-2012 Openbravo SLU
* All Rights Reserved.
* Contributor(s): ______________________________________.
*************************************************************************
@@ -20,6 +20,7 @@
<div id="sectionLinesDetail">
<tr id="funcEvenOddRow" class="DataGrid_Body_Row DataGrid_Body_Row_yy">
<td class="DataGrid_Body_LineNoCell"><input type="checkbox"
name="inpPaymentId" value="" id="fieldPaymentId"
onclick="updateSelectAll(this.checked);return true;"/></td>
+ <td class="DataGrid_Body_Cell" id="fieldFinAcc">xxCuenta</td>
<td class="DataGrid_Body_Cell" id="fieldPayment">xx</td>
<td class="DataGrid_Body_Cell" title="zz"
id="fieldDescription">xxDescription</td>
<td class="DataGrid_Body_Cell" id="fieldDate">xx12/12/2009</td>
diff -r d70a311c4eb7 -r 9f2e21bb3583
modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/ad_actionbutton/AddTransactionGrid.xml
---
a/modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/ad_actionbutton/AddTransactionGrid.xml
Wed Dec 26 15:42:31 2012 +0100
+++
b/modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/ad_actionbutton/AddTransactionGrid.xml
Wed Dec 26 12:07:36 2012 +0100
@@ -12,7 +12,7 @@
* under the License.
* The Original Code is Openbravo ERP.
* The Initial Developer of the Original Code is Openbravo SLU
- * All portions are Copyright (C) 2010-2011 Openbravo SLU
+ * All portions are Copyright (C) 2010-2012 Openbravo SLU
* All Rights Reserved.
* Contributor(s): ______________________________________.
*************************************************************************
@@ -25,6 +25,7 @@
<structure name="structure">
<FIELD id="fieldRownum1">rownum</FIELD>
<FUNCTION id="funcEvenOddRow" name="MODULE" arg1="fieldRownum1"
arg2="param2" format="integerEdition" attribute="class" replace="yy"/>
+ <FIELD id="fieldFinAcc">finAcc</FIELD>
<FIELD id="fieldPaymentId" attribute="value">paymentId</FIELD>
<FIELD id="fieldPayment">paymentInfo</FIELD>
<FIELD id="fieldDescription">paymentDescriptionTrunc</FIELD>
diff -r d70a311c4eb7 -r 9f2e21bb3583
modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/dao/AdvPaymentMngtDao.java
---
a/modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/dao/AdvPaymentMngtDao.java
Wed Dec 26 15:42:31 2012 +0100
+++
b/modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/dao/AdvPaymentMngtDao.java
Wed Dec 26 12:07:36 2012 +0100
@@ -1237,7 +1237,7 @@
FIN_Payments[i].getAmount());
final Currency foreignCurrency = FIN_Payments[i].getCurrency();
-
+ FieldProviderFactory.setField(data[i], "finAcc",
FIN_Payments[i].getAccount().getName());
FieldProviderFactory.setField(data[i], "paymentId",
FIN_Payments[i].getId());
FieldProviderFactory.setField(data[i], "paymentInfo",
FIN_Payments[i].getDocumentNo()
+ " - "
@@ -1277,6 +1277,130 @@
}
}
+ public FieldProvider[]
getAlternativePaymentsNotDeposited(FIN_FinancialAccount account,
+ Date fromDate, Date toDate, boolean isReceipt) {
+
+ String dateFormat =
OBPropertiesProvider.getInstance().getOpenbravoProperties()
+ .getProperty("dateFormat.java");
+ SimpleDateFormat dateFormater = new SimpleDateFormat(dateFormat);
+ OBContext.setAdminMode();
+ try {
+ final StringBuilder whereClause = new StringBuilder();
+ final List<Object> parameters = new ArrayList<Object>();
+
+ whereClause.append(" as p ");
+ whereClause.append(" where p.");
+ whereClause.append(FIN_Payment.PROPERTY_PAYMENTMETHOD);
+ whereClause.append(".id");
+ whereClause.append(" in ");
+ whereClause.append(" ( select ft.");
+ whereClause.append(FinAccPaymentMethod.PROPERTY_PAYMENTMETHOD);
+ whereClause.append(".id");
+ whereClause.append(" from ");
+ whereClause.append("FinancialMgmtFinAccPaymentMethod ");
+ whereClause.append(" as ft");
+ whereClause.append(" where ft.");
+ whereClause.append(FinAccPaymentMethod.PROPERTY_ACCOUNT);
+ whereClause.append(".id = ?) ");
+ whereClause.append(" and p.");
+ whereClause.append(FIN_Payment.PROPERTY_STATUS);
+ whereClause.append(" IN ('RPR', 'PPM')");
+ parameters.add(account.getId());
+ // IsReceipt
+ whereClause.append(" and p.");
+ whereClause.append(FIN_Payment.PROPERTY_RECEIPT);
+ whereClause.append(" = ");
+ whereClause.append(isReceipt);
+
+ whereClause.append(" and p.");
+ whereClause.append(FIN_Payment.PROPERTY_AMOUNT);
+ whereClause.append(" != ");
+ whereClause.append(BigDecimal.ZERO);
+
+ // From Date
+ if (fromDate != null) {
+ whereClause.append(" and p.");
------------------------------------------------------------------------------
LogMeIn Rescue: Anywhere, Anytime Remote support for IT. Free Trial
Remotely access PCs and mobile devices and provide instant support
Improve your efficiency, and focus on delivering more value-add services
Discover what IT Professionals Know. Rescue delivers
http://p.sf.net/sfu/logmein_12329d2d
_______________________________________________
Openbravo-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/openbravo-commits