2c7a6e6b43
* [fix] #8427 * review comments changes * Validation for reserved warhouse * code improvements * alignment * test case * message changes * default warehouse / remove validation / change sql * fix * patch * Fixed merge conflict * Fixes and cleanups of reserve qty for subcontracting * set from_warehouse only if purchase_order and purpose found (#12398) * [HotFix] Validation issue for subcontract stock entry (#12127) * [Fix] Validation issue for subcontract stock entry * Update stock_entry.py * Fixes and cleanups of reserve qty for subcontracting * patch fixed * Reload bin in patch * [fix] set source warehouse in stock entry for manufacture * [fix] #8540 * code alignment * code alignment * Move target warehouse validation to submit * validation code improvement * code changes for single stock entry * validation fix * call make_rm_stock_entry * remove old stock entry method/rewrite test case * Don't set bom_no against raw materials while trasferring items for sub-contracting * minor fix
44 lines
1.2 KiB
Python
44 lines
1.2 KiB
Python
from __future__ import unicode_literals
|
|
|
|
import frappe
|
|
|
|
@frappe.whitelist()
|
|
def get_data(item_code=None, warehouse=None, item_group=None,
|
|
start=0, sort_by='actual_qty', sort_order='desc'):
|
|
'''Return data to render the item dashboard'''
|
|
conditions = []
|
|
values = []
|
|
if item_code:
|
|
conditions.append('b.item_code=%s')
|
|
values.append(item_code)
|
|
if warehouse:
|
|
conditions.append('b.warehouse=%s')
|
|
values.append(warehouse)
|
|
if item_group:
|
|
conditions.append('i.item_group=%s')
|
|
values.append(item_group)
|
|
|
|
if conditions:
|
|
conditions = ' and ' + ' and '.join(conditions)
|
|
else:
|
|
conditions = ''
|
|
|
|
return frappe.db.sql('''
|
|
select
|
|
b.item_code, b.warehouse, b.projected_qty, b.reserved_qty,
|
|
b.reserved_qty_for_production, b.reserved_qty_for_sub_contract, b.actual_qty, b.valuation_rate, i.item_name
|
|
from
|
|
tabBin b, tabItem i
|
|
where
|
|
b.item_code = i.name
|
|
and
|
|
(b.projected_qty != 0 or b.reserved_qty != 0 or b.reserved_qty_for_production != 0
|
|
or b.reserved_qty_for_sub_contract != 0 or b.actual_qty != 0)
|
|
{conditions}
|
|
order by
|
|
{sort_by} {sort_order}
|
|
limit
|
|
{start}, 21
|
|
'''.format(conditions=conditions, sort_by=sort_by, sort_order=sort_order,
|
|
start=start), values, as_dict=True)
|