Browse Source

[FIX] agregado footer y totales

Rodney Elpidio Enciso Arias 6 years ago
parent
commit
f15435cfba

+ 0 - 1
controllers/helpers/account_invoice.py

@@ -28,7 +28,6 @@ def get_account_invoice():
         ON customer.id = invoice.partner_id
         WHERE invoice.state NOT IN ('draft', 'cancel')
         AND invoice.type = 'out_invoice'
-        AND invoice.id = 8
         GROUP BY
         	invoice.id,
         	rate.currency_id,

+ 0 - 1
controllers/helpers/account_voucher.py

@@ -27,7 +27,6 @@ def get_account_voucher():
         LEFT JOIN account_invoice AS invoice
         ON invoice.number = voucher.reference
         WHERE voucher.state = 'posted'
-        AND invoice.state = 'open'
         GROUP BY
         	voucher.id,
         	voucher.number,

+ 6 - 3
static/src/js/reports/report_amortization_and_interest.js

@@ -142,7 +142,6 @@ function report_amortization_and_interest(reporting){
                 if(item.is_interest == null){
                     var pagado = self.getAccountVoucher(item.number);
                     var AccountInvoiceLine = self.getAccountInvoiceLine(item.invoice_id);
-
                     var capital = _.reduce(_.map(AccountInvoiceLine, function (map) {
                         if(!map.is_interest){
                             return map.quantity * map.price_unit;
@@ -188,6 +187,10 @@ function report_amortization_and_interest(reporting){
                             DATOS SIN FORMATO
                         ########################
                         */
+                        capital_amount_value: capital,
+                        interest_amount_value:interes,
+                        amount_value:item.amount,
+                        residual_value:item.amount - pagado,
                     });
                 }
             });
@@ -307,8 +310,8 @@ function report_amortization_and_interest(reporting){
             var interest_receive = 0;
             _.each(AccountMoveLine,function(item) {
                 if(item.number == number){
-                    capital_receive = 0
-                    interest_receive = 0
+                    capital_receive = 0;
+                    interest_receive = 0;
                     if(item.debit > 0 && item.date_maturity != false){
                         if(item.reconcile_partial_id == null){
                             var residual = item.debit;

+ 49 - 6
static/src/reports/report_amortization_and_interest.xml

@@ -98,14 +98,14 @@
                         <thead style="background:none;">
                             <tr>
                                 <th data-field="id" data-visible="false">ID</th>
-                                <th data-field="number">Factura</th>
+                                <th data-field="number" data-footer-formatter="Totales">Factura</th>
                                 <th data-field="origin">Documento Origen</th>
                                 <th data-field="customer_name">Cliente</th>
                                 <th data-field="date_invoice">Fecha</th>
-                                <th data-field="capital_amount" data-align="right" data-width="12%">Capital</th>
-                                <th data-field="interest_amount" data-align="right" data-width="12%">Interes</th>
-                                <th data-field="amount" data-align="right" data-width="12%">Monto de la Cuenta</th>
-                                <th data-field="residual" data-align="right" data-width="12%">Saldo de la Cuenta</th>
+                                <th data-field="capital_amount" data-footer-formatter="CapitalAmountFormatter" data-align="right" data-width="12%">Capital</th>
+                                <th data-field="interest_amount" data-footer-formatter="InterestAmountFormatter" data-align="right" data-width="12%">Interes</th>
+                                <th data-field="amount" data-footer-formatter="AmountFormatter" data-align="right" data-width="12%">Monto de la Cuenta</th>
+                                <th data-field="residual" data-footer-formatter="ResidualAmountFormatter" data-align="right" data-width="12%">Saldo de la Cuenta</th>
                             </tr>
                         </thead>
                     </table>
@@ -113,6 +113,50 @@
             </div>
             <script>
 
+                <!--
+                ################################
+                    TABLE
+                ################################
+                -->
+
+                function CapitalAmountFormatter(rowsTable) {
+                    var amount =  _.reduce(_.map(rowsTable,function(item){
+                        return (item.capital_amount_value);
+                    }), function(memo, num){
+                    return memo + num; },0)
+                    return accounting.formatNumber(amount,0,'.',',');
+                }
+
+                function InterestAmountFormatter(rowsTable) {
+                    var amount =  _.reduce(_.map(rowsTable,function(item){
+                        return (item.interest_amount_value);
+                    }), function(memo, num){
+                    return memo + num; },0)
+                    return accounting.formatNumber(amount,0,'.',',');
+                }
+
+                function AmountFormatter(rowsTable) {
+                    var amount =  _.reduce(_.map(rowsTable,function(item){
+                        return (item.amount_value);
+                    }), function(memo, num){
+                    return memo + num; },0)
+                    return accounting.formatNumber(amount,0,'.',',');
+                }
+
+                function ResidualAmountFormatter(rowsTable) {
+                    var amount =  _.reduce(_.map(rowsTable,function(item){
+                        return (item.residual_value);
+                    }), function(memo, num){
+                    return memo + num; },0)
+                    return accounting.formatNumber(amount,0,'.',',');
+                }
+
+                <!--
+                ################################
+                    SUBTABLE
+                ################################
+                -->
+
                 function TotalFormatter(rowsTable) {
                     var amount =  _.reduce(_.map(rowsTable,function(item){
                         return (item.amount_value);
@@ -149,7 +193,6 @@
                     return {
                         css: {
                             "font-weight": "bold",
-                            <!-- "border": "1px solid", -->
                         }
                     };
                 };