瀏覽代碼

FIX ADD Agregado report de productos por ubicacion y correcion de zona horaria en los reportes de pos

Sebas 6 年之前
父節點
當前提交
b7f225946a

+ 5 - 5
static/src/js/configuration_reporting.js

@@ -108,11 +108,11 @@ function configuration_reporting (instance, widget) {
                 description: 'Permite realizar un analisis de los productos disponibles en el stock.',
                 action: 'ReportStock'
             },
-            // {
-            //     title: 'Análisis de Stock Original',
-            //     description: 'Permite realizar un analisis de los productos disponibles en el stock.',
-            //     action: 'ReportStockOriginal'
-            // },
+            {
+                title: 'Análisis de Stock Original',
+                description: 'Permite realizar un analisis de los productos disponibles en el stock.',
+                action: 'ReportStockOriginal'
+            },
             // {
             //     title: 'Análisis de Stock por Ubicación',
             //     description: 'Permite realizar un analisis de los productos disponibles en el stock por Ubicación.',

+ 1 - 1
static/src/js/main.js

@@ -19,7 +19,7 @@ openerp.eiru_reporting = function (instance) {
         report_sales_invoice_analysis(reporting);
         report_purchases_invoice_analysis(reporting);
         report_stock(reporting);
-        // report_stock_original(reporting);
+        report_stock_original(reporting);
         report_stock_move(reporting);
         report_crm(reporting);
         report_mensajecrm(reporting);

+ 2 - 18
static/src/js/reports/report_stock.js

@@ -147,7 +147,7 @@ function report_stock (reporting){
             }
             return quantProduct;
         },
-        BuildTable : function(StockQuant,StockLocation){
+        BuildTable : function(stockQuant,stockLocation){
             var self = this;
             var data=[];
             var itemLocation;
@@ -158,10 +158,8 @@ function report_stock (reporting){
             var quantity = 0;
             var total=0;
             ProductProduct = self.getProductProduct(self.ProductProduct, self.StockQuant);
-    
             _.each(ProductProduct, function(item){
                 itemProduct = item;
-
                 itemQuant = self.getStockQuant( itemProduct.id, self.StockQuant);
                 if (itemQuant.length > 0){
                     quantity = _.reduce(_.map(itemQuant,function(item){
@@ -182,7 +180,6 @@ function report_stock (reporting){
                         valuation: accounting.formatNumber(total,0,".",","),
                         category_id : itemProduct.categ_id[0],
                         location_id : product.location_id[0],
-                        location_name: product.location_id[1],
                         total : total
                     });
                 }
@@ -230,18 +227,6 @@ function report_stock (reporting){
                     return inv.id == product[0];
                 });
             }
-
-            var amount_total_total = _.reduce(_.map(content,function(map){
-                return(map.total);
-            }),function(memo, num){
-                return memo + num;
-            },0);
-
-            content.push({
-                product: "Total",
-                valuation: accounting.formatNumber((amount_total_total),0,".",","),
-            });
-
             self.loadTable(content)
         },
         loadTable:function(rowsTable){
@@ -305,12 +290,11 @@ function report_stock (reporting){
                     styles: { overflow: 'linebreak', fontSize:8 , columnWidth: 'wrap'},
                     columnStyles:{
                                     product :{columnWidth: '8px'},
+
                                     qty : {halign:'center'},
                                     standard_price : {halign:'right'},
                                     lst_price : {halign:'right'},
                                     valuation : {halign:'right'},
-                                    category_name :{columnWidth: '8px'},
-                                    location_name :{columnWidth: '8px'},
                                 },
                     margin: { top: 16, horizontal: 7},
                 addPageContent: function (data) {

+ 24 - 10
static/src/js/reports/report_stock_original.js

@@ -167,6 +167,7 @@ function report_stock_original (reporting){
             var data=[];
             var attribute;
             _.each(ProductProduct, function(item){
+
                 if(item.attribute_str){
                     attribute = '*' + item.attribute_str;
                 }else{
@@ -184,28 +185,38 @@ function report_stock_original (reporting){
                         return mamo + num;
                     },0);
                 }
+
                 data.push({
                     id : item.id,
                     product : item.name_template + attribute,
                     category_name : item.categ_id[1],
                     qty : accounting.formatNumber(quantity,2, ".", ","),
                     category : item.categ_id[0],
-
-
                 });
             });
+
             self.content = data;
             self.loadTable(data);
         },
 
         getQuantProduct: function(content,location){
             var self = this;
+            var data=[];
             _.each(content, function(inv){
                 var quant = _.filter(self.StockQuant, function(item){
-
-                    return item.location_id[0] === location & item.product_id[0] === inv.id;
+                    return item.location_id[0] == location & item.product_id[0] == inv.id;
                 });
+                var quantity = 0;
+                if (quant.length > 0){
+                    quantity = _.reduce(_.map(quant,function(item){
+                        return item.qty;
+                    }),function(mamo, num){
+                        return mamo + num;
+                    },0);
+                }
+                inv.qty = accounting.formatNumber(quantity,2, ".", ",");     
             });
+            return content;
         },
 
         factSearch: function(){
@@ -213,18 +224,21 @@ function report_stock_original (reporting){
             var category = this.$el.find('#current-category').val();
             var location =this.$el.find('#current-location').val();
             var content = self.content;
+            
+            if (location != 9999999){
+                content = self.getQuantProduct(content,location);
+            }
+
+            if (location = 9999999){
+                self.BuildTable();
+            }
+            
             if(category != 9999999){
                 content = _.filter(content,function(inv){
                     return inv.category_id == category;
                 });
             }
-            if (location != 9999999){
-                var ProductQuantByLocation = self.getQuantProduct(content, location)
-
-            }
-
             self.loadTable(content)
-            // self.BuildTable(quantObjs,locationObjs)
         },
 
 

+ 6 - 6
static/src/reports/report_stock.xml

@@ -49,12 +49,12 @@
                        data-search="true">
                     <thead class="table_header">
                         <tr>
-                            <th data-field="product" data-sortable="true" >Producto</th>
-                            <th data-field="ean13" data-sortable="true" >Codigo de barras</th>
-                            <th data-field="category_name" data-sortable="true" >Categoria</th>
-                            <th data-field="qty" data-sortable="true" data-align="center">Cantidad</th>
-                            <th data-field="location_name" data-sortable="true">Ubicación</th>
-                            <!-- <th data-field="valuation" data-sortable="true" data-align="right">Valoración</th>  -->
+                          <th data-field="product" data-sortable="true" >Producto</th>
+                          <th data-field="ean13" data-sortable="true" >Codigo de barras</th>
+                          <th data-field="category_name" data-sortable="true" >Categoria</th>
+                          <th data-field="qty" data-sortable="true" data-align="center">Cantidad</th>
+                          <th data-field="standard_price" data-sortable="true" data-align="right">Precio</th>
+                          <th data-field="valuation" data-sortable="true" data-align="right">Valoración</th>
                         </tr>
                     </thead>
                 </table>

+ 1 - 1
templates.xml

@@ -37,7 +37,7 @@
                 <script type="text/javascript" src="/eiru_reporting/static/src/js/reports/report_purchases_invoice_analysis.js" />
                 <!-- Analisis de stock -->
                 <script type="text/javascript" src="/eiru_reporting/static/src/js/reports/report_stock.js" />
-                <!-- <script type="text/javascript" src="/eiru_reporting/static/src/js/reports/report_stock_original.js" /> -->
+                <script type="text/javascript" src="/eiru_reporting/static/src/js/reports/report_stock_original.js" />
                 <script type="text/javascript" src="/eiru_reporting/static/src/js/reports/report_stock_move.js" />
                 <!-- Análisis de pack de productos -->
                 <script type="text/javascript" src="/eiru_reporting/static/src/js/reports/report_product_pack.js"/>

+ 2 - 2
views/actions.xml

@@ -207,10 +207,10 @@
             <field name="tag">eiru_reporting.stock_action_report</field>
         </record>
 
-	    <!-- <record id="stock_original_report_action" model="ir.actions.client">
+	    <record id="stock_original_report_action" model="ir.actions.client">
             <field name="name">Analisis de Stock Original</field>
             <field name="tag">eiru_reporting.stock_original_action_report</field>
-        </record> -->
+        </record>
 
         <!-- Analisis de movimientos de stock -->
         <record id="stock_move_report_action" model="ir.actions.client">

+ 1 - 1
views/menus.xml

@@ -99,7 +99,7 @@
             <menuitem id="stock_location_report_menu_submenu" parent="stock_report_parent_menu" name="Analisis de Stock" action="stock_report_action" sequence="1"/>
 
             <!-- Analisis de stock original -->
-            <!-- <menuitem id="stock_original_report_menu_submenu" parent="stock_report_parent_menu" name="Analisis de Stock Original" action="stock_original_report_action" sequence="2"/> -->
+            <menuitem id="stock_original_report_menu_submenu" parent="stock_report_parent_menu" name="Analisis de Stock Original" action="stock_original_report_action" sequence="2"/>
 
             <!--Analisis de movimientos de stock -->
             <menuitem id="stock_move_report_menu_submenu" parent="stock_report_parent_menu" name="Analisis de movimientos de stock" action="stock_move_report_action" sequence="3"/>