diff --git a/erpnext/stock/report/inactive_items/__init__.py b/erpnext/stock/report/inactive_items/__init__.py deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/erpnext/stock/report/inactive_items/inactive_items.js b/erpnext/stock/report/inactive_items/inactive_items.js deleted file mode 100644 index 39dfd5c8c3..0000000000 --- a/erpnext/stock/report/inactive_items/inactive_items.js +++ /dev/null @@ -1,34 +0,0 @@ -// Copyright (c) 2016, Frappe Technologies Pvt. Ltd. and contributors -// For license information, please see license.txt -/* eslint-disable */ - -frappe.query_reports["Inactive Items"] = { - "filters": [ - { - fieldname: "item", - label: __("Item"), - fieldtype: "Link", - options: "Item" - }, - { - fieldname: "item_group", - label: __("Item Group"), - fieldtype: "Link", - options: "Item Group" - }, - { - fieldname: "based_on", - label: __("Based On"), - fieldtype: "Select", - options: "Sales Order\nSales Invoice", - default: "Sales Order" - }, - { - fieldname: "days", - label: __("Days Since Last order"), - fieldtype: "Select", - options: [30, 60, 90], - default: 30 - }, - ] -} diff --git a/erpnext/stock/report/inactive_items/inactive_items.json b/erpnext/stock/report/inactive_items/inactive_items.json deleted file mode 100644 index b9eb05ec05..0000000000 --- a/erpnext/stock/report/inactive_items/inactive_items.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "add_total_row": 0, - "creation": "2019-04-16 16:05:00.647308", - "disable_prepared_report": 0, - "disabled": 0, - "docstatus": 0, - "doctype": "Report", - "idx": 0, - "is_standard": "Yes", - "letter_head": "Test Letter Head 1", - "modified": "2019-04-16 16:06:33.630043", - "modified_by": "Administrator", - "module": "Stock", - "name": "Inactive Items", - "owner": "Administrator", - "prepared_report": 0, - "ref_doctype": "Sales Invoice", - "report_name": "Inactive Items", - "report_type": "Script Report", - "roles": [ - { - "role": "Accounts User" - }, - { - "role": "Accounts Manager" - }, - { - "role": "Auditor" - } - ] -} \ No newline at end of file diff --git a/erpnext/stock/report/inactive_items/inactive_items.py b/erpnext/stock/report/inactive_items/inactive_items.py deleted file mode 100644 index 8d879126da..0000000000 --- a/erpnext/stock/report/inactive_items/inactive_items.py +++ /dev/null @@ -1,148 +0,0 @@ -# Copyright (c) 2013, Frappe Technologies Pvt. Ltd. and contributors -# For license information, please see license.txt - -from __future__ import unicode_literals -import frappe -from frappe.utils import getdate, add_days, today, cint -from frappe import _ - -def execute(filters=None): - - columns = get_columns() - data = get_data(filters) - return columns, data - -def get_columns(): - - columns = [ - { - "fieldname": "territory", - "fieldtype": "Link", - "label": _("Territory"), - "options": "Territory", - "width": 100 - }, - { - "fieldname": "item_group", - "fieldtype": "Link", - "label": _("Item Group"), - "options": "Item Group", - "width": 150 - }, - { - "fieldname": "item_name", - "fieldtype": "Link", - "options": "Item", - "label": "Item", - "width": 150 - }, - { - "fieldname": "item_name", - "fieldtype": "Data", - "label": _("Item Name"), - "width": 150 - }, - - { - "fieldname": "customer", - "fieldtype": "Link", - "label": _("Customer"), - "options": "Customer", - "width": 100 - }, - { - "fieldname": "last_order_date", - "fieldtype": "Date", - "label": _("Last Order Date"), - "width": 100 - }, - { - "fieldname": "qty", - "fieldtype": "Float", - "label": _("Quantity"), - "width": 100 - }, - { - "fieldname": "days_since_last_order", - "fieldtype": "Int", - "label": _("Days Since Last Order"), - "width": 100 - }, - ] - - return columns - - -def get_data(filters): - - data = [] - items = get_items(filters) - sales_invoice_data = get_sales_details(filters) - - for item in items: - if sales_invoice_data.get(item.name): - item_obj = sales_invoice_data[item.name] - if item_obj.days_since_last_order > cint(filters['days']): - row = { - "territory": item_obj.territory, - "item_group": item_obj.item_group, - "item": item_obj.name, - "item_name": item_obj.item_name, - "customer": item_obj.customer, - "last_order_date": item_obj.last_order_date, - "qty": item_obj.qty, - "days_since_last_order": item_obj.days_since_last_order - } - data.append(row) - else: - row = { - "item_group": item.item_group, - "item": item.name, - "item_name": item.item_name - } - data.append(row) - - return data - - -def get_sales_details(filters): - - data = [] - item_details_map = {} - - date_field = "s.transaction_date" if filters["based_on"] == "Sales Order" else "s.posting_date" - - sales_data = frappe.db.sql(""" - select s.territory, s.customer, si.item_group, si.item_name, si.qty, {date_field} as last_order_date, - DATEDIFF(CURDATE(), {date_field}) as days_since_last_order - from `tab{doctype}` s, `tab{doctype} Item` si - where s.name = si.parent and s.docstatus = 1 - group by si.name order by days_since_last_order """ #nosec - .format(date_field = date_field, doctype = filters['based_on']), as_dict=1) - - for d in sales_data: - item_details_map.setdefault(d.item_name, d) - - return item_details_map - -def get_items(filters): - - filters_dict = { - "disabled": 0, - "is_stock_item": 1 - } - - if filters.get("item_group"): - filters_dict.update({ - "item_group": filters["item_group"] - }) - - if filters.get("item"): - filters_dict.update({ - "name": filters["item"] - }) - - items = frappe.get_all("Item", fields=["name", "item_group", "item_name"], filters=filters_dict, order_by="name") - - return items -