Ver código fonte

Agregar picking en el informe delivery de envío

SEBAS 6 meses atrás
pai
commit
1082f5276b

BIN
__init__.pyc


BIN
controller/__init__.pyc


BIN
controller/helpers/__init__.pyc


BIN
controller/helpers/account_invoice.pyc


BIN
controller/helpers/account_journal.pyc


BIN
controller/helpers/pos_order.pyc


BIN
controller/helpers/res_company.pyc


BIN
controller/helpers/res_partner.pyc


BIN
controller/helpers/res_store.pyc


BIN
controller/helpers/res_users.pyc


BIN
controller/main.pyc


+ 27 - 4
static/src/js/reports/report_delivery_baco.js

@@ -414,11 +414,14 @@ function report_delivery_baco(reporting){
 
         var suma_local = 0;
         var suma_envio = 0;
+        var suma_pickup = 0;
         var local_amount = 0;
         var envio_amount = 0;
+        var pickup_amount = 0;
 
         var local_delivery_amount = self.getDelivery("local", i.store_id[0]);
         var envio_delivery_amount = self.getDelivery("envio", i.store_id[0]);
+        var pickup_delivery_amount = self.getDelivery("pickup", i.store_id[0]);
 
         var AccountInvoice = self.getAccountInvoice(i.id);
         _.each(AccountInvoice, function(item){
@@ -430,21 +433,29 @@ function report_delivery_baco(reporting){
           if (item.is_delivery == true && item.delivery_type == "envio"){
             suma_envio = suma_envio + 1;
           }
+
+          if (item.is_delivery == true && item.delivery_type == "pickup"){
+            suma_pickup = suma_pickup + 1;
+          }
         })
 
         local_amount = suma_local * local_delivery_amount[0];
         envio_amount = suma_envio * envio_delivery_amount[0];
+        pickup_amount = suma_pickup * pickup_delivery_amount[0];
 
         data.push({
           user : i.name,
           suma_local : suma_local,
           suma_envio : suma_envio,
+          pickup_envio : suma_pickup,
 
           local_amount : accounting.formatMoney(local_amount, '', CurrencyBase.decimal_places, CurrencyBase.thousands_separator, CurrencyBase.decimal_separator),
           envio_amount : accounting.formatMoney(envio_amount, '', CurrencyBase.decimal_places, CurrencyBase.thousands_separator, CurrencyBase.decimal_separator),
+          pickup_amount : accounting.formatMoney(pickup_amount, '', CurrencyBase.decimal_places, CurrencyBase.thousands_separator, CurrencyBase.decimal_separator),
 
           local_amount_no_format : self.valorNull(local_amount),
           envio_amount_no_format : self.valorNull(envio_amount),
+          pickup_amount_no_format : self.valorNull(pickup_amount),
 
           decimal_places: CurrencyBase.decimal_places,
           thousands_separator: CurrencyBase.thousands_separator,
@@ -494,15 +505,19 @@ function report_delivery_baco(reporting){
       if (action === 'pdf') {
         var suma_local = localFormatter(row);
         var suma_envio = envioFormatter(row);
+        var pickup_envio = pickupFormatter(row);
         var local_amount = localAmountFormatter(row);
         var envio_amount = envioAmountFormatter(row);
+        var pickup_amount = pickupAmountFormatter(row);
 
         row.push({
           user: 'Totales',
           suma_local: suma_local,
           suma_envio: suma_envio,
+          suma_pickup: pickup_envio,
           local_amount: local_amount,
           envio_amount: envio_amount,
+          pickup_amount: pickup_amount,
         })
         var data = _.map(column, function(val) {
           return val.field
@@ -528,19 +543,27 @@ function report_delivery_baco(reporting){
             halign: 'left'
           },
           suma_local: {
-            columnWidth: 30,
+            columnWidth: 25,
             halign: 'center'
           },
           suma_envio: {
-            columnWidth: 30,
+            columnWidth: 25,
+            halign: 'center'
+          },
+          suma_pickup: {
+            columnWidth: 20,
             halign: 'center'
           },
           local_amount: {
-            columnWidth: 30,
+            columnWidth: 25,
             halign: 'center'
           },
           envio_amount: {
-            columnWidth: 30,
+            columnWidth: 25,
+            halign: 'center'
+          },
+          pickup_amount: {
+            columnWidth: 25,
             halign: 'center'
           },
         };

+ 34 - 0
static/src/reports/report_delivery_baco.xml

@@ -70,6 +70,8 @@
                                 <th data-field="local_amount" data-align="center" data-footer-formatter="localAmountFormatter">Comisión Delivery Local</th>
                                 <th data-field="suma_envio" data-align="center" data-footer-formatter="envioFormatter">Cantidad Envío al interior</th>
                                 <th data-field="envio_amount" data-align="center" data-footer-formatter="envioAmountFormatter">Comisión Envío al interior</th>
+                                <th data-field="suma_pickup" data-align="center" data-footer-formatter="pickupFormatter">Cantidad Pickup</th>
+                                <th data-field="pickup_amount" data-align="center" data-footer-formatter="pickupAmountFormatter">Comisión Pickup</th>
                             </tr>
                         </thead>
                     </table>
@@ -139,6 +141,38 @@
                     return accounting.formatNumber(amount,decimal_places,thousands_separator,decimal_separator);
                 }
 
+                <!--
+                    TOTAL CANTIDAD PICKUP
+                -->
+                function pickupFormatter(rowsTable) {
+                var amount = 0;
+
+                amount =  _.reduce(_.map(rowsTable,function(item){
+                    return (item.suma_pickup);
+                }), function(memo, num){
+                return memo + num; },0)
+
+                return amount;
+                }
+                <!--
+                    TOTAL MONTO PICKUP
+                -->
+                function pickupAmountFormatter(rowsTable) {
+                    var decimal_places = 0;
+                    var thousands_separator = '.';
+                    var decimal_separator = ',';
+                    if(rowsTable.length > 0){
+                        decimal_places = rowsTable[0].decimal_places;
+                        thousands_separator = rowsTable[0].thousands_separator;
+                        decimal_separator = rowsTable[0].decimal_separator;
+                    }
+                    var amount =  _.reduce(_.map(rowsTable,function(item){
+                        return (item.pickup_amount_no_format);
+                    }), function(memo, num){
+                    return memo + num; },0)
+                    return accounting.formatNumber(amount,decimal_places,thousands_separator,decimal_separator);
+                }
+
                 <!--
                     FOOTER STYLE
                 -->