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

Reply via email to