Kaynağa Gözat

[FIX] Cambio de ranking de cliente de cantidad por monto

adrielso 7 yıl önce
ebeveyn
işleme
2ff362a655

+ 14 - 9
static/src/js/widgets/ranking_sales_partner.js

@@ -63,7 +63,7 @@ function ranking_sales_partner (widget) {
             var desde =moment().format('YYYY-MM-01');
             var hasta =moment().add(1,'months').format('YYYY-MM-01');
             var defer = $.Deferred();
-            var fields = ['id', 'invoice_line', 'date_invoice','partner_id'];
+            var fields = ['id', 'invoice_line', 'date_invoice','partner_id','amount_total'];
             var domain = [['type', '=', 'out_invoice'], ['date_invoice', '>=', desde], ['date_invoice', '<', hasta], ['state', 'in', ['open','paid']]];
             var invoice = new model.web.Model('account.invoice');
             invoice.query(fields).filter(domain).all().then(function (results) {
@@ -103,14 +103,20 @@ function ranking_sales_partner (widget) {
             for (var i = 0; i < self.resPartner.length; i++) {
                 itemPartner = self.resPartner[i];
                 itemInvoice = self.getAccountInvoice(itemPartner.id);
-                countInvoice =_.countBy(_.map(itemInvoice,function(map){
-                                    return map.id;
-                                }),function(num){
-                                    return num ? 'even': 'odd';
-                                });
+                // countInvoice =_.countBy(_.map(itemInvoice,function(map){
+                //                     return map.id;
+                //                 }),function(num){
+                //                     return num ? 'even': 'odd';
+                //                 });
+                var quantity = _.reduce(_.map(itemInvoice,function(item){
+                    return item.amount_total;
+                }),function(memo, num){
+                    return memo + num;
+                },0);
+
                 ranking.push({ id : itemPartner.id,
-                               name: itemPartner.name,
-                               countInvoice :countInvoice.even
+                               name : itemPartner.name,
+                               countInvoice : quantity
                            });
             }
             ranking.sort(function (a, b) {
@@ -137,7 +143,6 @@ function ranking_sales_partner (widget) {
                 if (ranking[i]){
                     item = ranking[i];
                 }
-
                 label.push(item.name);
                 body.push(item.countInvoice);
             }

+ 3 - 2
static/src/xml/widgets/eiru_dashboard_modal.xml

@@ -39,10 +39,11 @@
                                             </t>
                                             <t t-esc="vencimiento"/></td>
                                         <td>
+                                            <t t-set="monto" t-value="field_value.amount_residual"/>
                                             <t t-js="ctx">
-                                                ctx.field.amount_residual = accounting.formatNumber(ctx.field.amount_residual,0,',','.');
+                                                ctx.monto = accounting.formatNumber(ctx.monto,0,'.',',');
                                             </t>
-                                            <t t-esc="field_value.amount_residual"/>
+                                            <t t-esc="monto"/>
                                         </td>
                                     </tr>
                                 </tbody>