def get_conditions(filters):
	conditions = { 'docstatus': 1 }
	status = filters.status
	date_field = frappe.scrub(filters.date_based_on or "Purchase Date")

	if filters.get('company'):
		conditions["company"] = filters.company
	if filters.filter_based_on == "Date Range":
		conditions[date_field] = ["between", [filters.from_date, filters.to_date]]
	if filters.filter_based_on == "Fiscal Year":
		fiscal_year = get_fiscal_year_data(filters.from_fiscal_year, filters.to_fiscal_year)
		validate_fiscal_year(fiscal_year, filters.from_fiscal_year, filters.to_fiscal_year)
		filters.year_start_date = getdate(fiscal_year.year_start_date)
		filters.year_end_date = getdate(fiscal_year.year_end_date)

		conditions[date_field] = ["between", [filters.year_start_date, filters.year_end_date]]
	if filters.get('is_existing_asset'):
		conditions["is_existing_asset"] = filters.get('is_existing_asset')
	if filters.get('asset_category'):
		conditions["asset_category"] = filters.get('asset_category')
	if filters.get('cost_center'):
		conditions["cost_center"] = filters.get('cost_center')

	# In Store assets are those that are not sold or scrapped
	operand = 'not in'
	if status not in 'In Location':
		operand = 'in'

	conditions['status'] = (operand, ['Sold', 'Scrapped'])

	return conditions
Exemplo n.º 2
0
def get_conditions(filters):
    conditions = { 'docstatus': 1 }
    status = filters.status
    date_field = frappe.scrub(filters.date_based_on or "Purchase Date")

    if filters.get('company'):
        filters.company = frappe.parse_json(filters.get('company'))	
        conditions['company'] = ('in', filters.company)
    
    # if filters.get('location'):
    #     if not filters.get('location') == '--Select a Location--':
    #         conditions["location"] = filters.location

    if filters.get('location'):
        filters.location = frappe.parse_json(filters.get('location'))	
        conditions['location'] = ('in', filters.location)

    if filters.get('asset_category'):
        filters.asset_category = frappe.parse_json(filters.get('asset_category'))	
        conditions['asset_category'] = ('in', filters.asset_category)

    if filters.get('physical_status'):
        if not filters.get('physical_status') == '--Select a Physical Status--':
            conditions["physical_status"] = filters.physical_status	
            
    if filters.filter_based_on == "Date Range":
        conditions[date_field] = ["between", [filters.from_date, filters.to_date]]
    if filters.filter_based_on == "Fiscal Year":
        fiscal_year = get_fiscal_year_data(filters.from_fiscal_year, filters.to_fiscal_year)
        validate_fiscal_year(fiscal_year, filters.from_fiscal_year, filters.to_fiscal_year)
        filters.year_start_date = getdate(fiscal_year.year_start_date)
        filters.year_end_date = getdate(fiscal_year.year_end_date)

        conditions[date_field] = ["between", [filters.year_start_date, filters.year_end_date]]
    if filters.get('is_existing_asset'):
        conditions["is_existing_asset"] = filters.get('is_existing_asset')
    # if filters.get('asset_category'):
        # conditions["asset_category"] = filters.get('asset_category')
    if filters.get('cost_center'):
        conditions["cost_center"] = filters.get('cost_center')

    # In Store assets are those that are not sold or scrapped
    operand = 'not in'
    if status not in 'In Location':
        operand = 'in'

    conditions['status'] = (operand, ['Sold', 'Scrapped'])

    return conditions
Exemplo n.º 3
0
def get_conditions(filters):
    conditions = {"docstatus": 1}
    status = filters.status
    date_field = frappe.scrub(filters.date_based_on or "Purchase Date")

    if filters.get("company"):
        conditions["company"] = filters.company
    if filters.filter_based_on == "Date Range":
        conditions[date_field] = [
            "between", [filters.from_date, filters.to_date]
        ]
    if filters.filter_based_on == "Fiscal Year":
        fiscal_year = get_fiscal_year_data(filters.from_fiscal_year,
                                           filters.to_fiscal_year)
        validate_fiscal_year(fiscal_year, filters.from_fiscal_year,
                             filters.to_fiscal_year)
        filters.year_start_date = getdate(fiscal_year.year_start_date)
        filters.year_end_date = getdate(fiscal_year.year_end_date)

        conditions[date_field] = [
            "between", [filters.year_start_date, filters.year_end_date]
        ]
    if filters.get("is_existing_asset"):
        conditions["is_existing_asset"] = filters.get("is_existing_asset")
    if filters.get("asset_category"):
        conditions["asset_category"] = filters.get("asset_category")
    if filters.get("cost_center"):
        conditions["cost_center"] = filters.get("cost_center")

    if status:
        # In Store assets are those that are not sold or scrapped
        operand = "not in"
        if status not in "In Location":
            operand = "in"

        conditions["status"] = (operand, ["Sold", "Scrapped"])

    return conditions