fix in stock level report
This commit is contained in:
		
							parent
							
								
									554c2d8b4a
								
							
						
					
					
						commit
						cec918f9ce
					
				| @ -143,32 +143,9 @@ erpnext.StockLevel = erpnext.StockGridReport.extend({ | |||||||
| 
 | 
 | ||||||
| 		if(!this._data) { | 		if(!this._data) { | ||||||
| 			this._data = []; | 			this._data = []; | ||||||
| 			this.item_warehouse_map = []; | 			this.item_warehouse_map = {}; | ||||||
| 			this.item_by_name = this.make_name_map(wn.report_dump.data["Item"]); | 			this.item_by_name = this.make_name_map(wn.report_dump.data["Item"]); | ||||||
| 			var sorted_item_list = Object.keys(this.item_by_name).sort(); |  | ||||||
| 			$.each(sorted_item_list, function(i, item_code) { |  | ||||||
| 				var item = me.item_by_name[item_code]; |  | ||||||
| 				$.each(wn.report_dump.data["Warehouse"], function(i, warehouse) { |  | ||||||
| 					// a list of item warehouse combination objects
 |  | ||||||
| 					var row = { |  | ||||||
| 						item_code: item_code, |  | ||||||
| 						warehouse: warehouse.name, |  | ||||||
| 						brand: item.brand, |  | ||||||
| 						item_name: item.item_name || item.name, |  | ||||||
| 						uom: item.stock_uom, |  | ||||||
| 						id: item_code + ":" + warehouse.name, |  | ||||||
| 					} |  | ||||||
| 					me.reset_item_values(row); |  | ||||||
| 					me._data.push(row); |  | ||||||
| 					me.item_warehouse_map[row.id] = row; |  | ||||||
| 				}); |  | ||||||
| 			}); |  | ||||||
| 			this.calculate_quantities(); | 			this.calculate_quantities(); | ||||||
| 			 |  | ||||||
| 			// filter out rows with zero values
 |  | ||||||
| 			this._data = $.map(this._data, function(d) { |  | ||||||
| 				return me.apply_zero_filter(null, d, null, me) ? d : null; |  | ||||||
| 			}); |  | ||||||
| 		} | 		} | ||||||
| 		 | 		 | ||||||
| 		this.data = [].concat(this._data); | 		this.data = [].concat(this._data); | ||||||
| @ -189,16 +166,45 @@ erpnext.StockLevel = erpnext.StockGridReport.extend({ | |||||||
| 			["Sales Order Item", "reserved_qty"]],  | 			["Sales Order Item", "reserved_qty"]],  | ||||||
| 			function(i, v) { | 			function(i, v) { | ||||||
| 				$.each(wn.report_dump.data[v[0]], function(i, item) { | 				$.each(wn.report_dump.data[v[0]], function(i, item) { | ||||||
| 					var row = me.item_warehouse_map[item.item_code + ":" + item.warehouse]; | 					var row = me.get_row(item.item_code, item.warehouse); | ||||||
| 					row[v[1]] += flt(item.qty); | 					row[v[1]] += flt(item.qty); | ||||||
| 				}); | 				}); | ||||||
| 			} | 			} | ||||||
| 		); | 		); | ||||||
| 
 | 
 | ||||||
|  | 		// sort by item, warehouse
 | ||||||
|  | 		this._data = $.map(Object.keys(this.item_warehouse_map).sort(), function(key) { | ||||||
|  | 			return me.item_warehouse_map[key]; | ||||||
|  | 		}); | ||||||
|  | 
 | ||||||
|  | 		// calculate projected qty
 | ||||||
| 		$.each(this._data, function(i, row) { | 		$.each(this._data, function(i, row) { | ||||||
| 			row.projected_qty = row.actual_qty + row.planned_qty + row.requested_qty | 			row.projected_qty = row.actual_qty + row.planned_qty + row.requested_qty | ||||||
| 				+ row.ordered_qty - row.reserved_qty; | 				+ row.ordered_qty - row.reserved_qty; | ||||||
| 		}); | 		}); | ||||||
|  | 
 | ||||||
|  | 		// filter out rows with zero values
 | ||||||
|  | 		this._data = $.map(this._data, function(d) { | ||||||
|  | 			return me.apply_zero_filter(null, d, null, me) ? d : null; | ||||||
|  | 		}); | ||||||
|  | 	}, | ||||||
|  | 
 | ||||||
|  | 	get_row: function(item_code, warehouse) { | ||||||
|  | 		var key = item_code + ":" + warehouse; | ||||||
|  | 		if(!this.item_warehouse_map[key]) { | ||||||
|  | 			var item = this.item_by_name[item_code]; | ||||||
|  | 			var row = { | ||||||
|  | 				item_code: item_code, | ||||||
|  | 				warehouse: warehouse, | ||||||
|  | 				brand: item.brand, | ||||||
|  | 				item_name: item.item_name || item.name, | ||||||
|  | 				uom: item.stock_uom, | ||||||
|  | 				id: key, | ||||||
|  | 			} | ||||||
|  | 			this.reset_item_values(row); | ||||||
|  | 			this.item_warehouse_map[key] = row; | ||||||
|  | 		} | ||||||
|  | 		return this.item_warehouse_map[key]; | ||||||
| 	}, | 	}, | ||||||
| 	 | 	 | ||||||
| 	calculate_total: function() { | 	calculate_total: function() { | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user