328 lines
9.4 KiB
Python
328 lines
9.4 KiB
Python
# Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors
|
|
# License: GNU General Public License v3. See license.txt
|
|
|
|
|
|
# mappings for table dumps
|
|
# "remember to add indexes!"
|
|
|
|
data_map = {
|
|
"Company": {"columns": ["name"], "conditions": ["docstatus < 2"]},
|
|
"Fiscal Year": {
|
|
"columns": ["name", "year_start_date", "year_end_date"],
|
|
"conditions": ["docstatus < 2"],
|
|
},
|
|
# Accounts
|
|
"Account": {
|
|
"columns": ["name", "parent_account", "lft", "rgt", "report_type", "company", "is_group"],
|
|
"conditions": ["docstatus < 2"],
|
|
"order_by": "lft",
|
|
"links": {
|
|
"company": ["Company", "name"],
|
|
},
|
|
},
|
|
"Cost Center": {
|
|
"columns": ["name", "lft", "rgt"],
|
|
"conditions": ["docstatus < 2"],
|
|
"order_by": "lft",
|
|
},
|
|
"GL Entry": {
|
|
"columns": [
|
|
"name",
|
|
"account",
|
|
"posting_date",
|
|
"cost_center",
|
|
"debit",
|
|
"credit",
|
|
"is_opening",
|
|
"company",
|
|
"voucher_type",
|
|
"voucher_no",
|
|
"remarks",
|
|
],
|
|
"order_by": "posting_date, account",
|
|
"links": {
|
|
"account": ["Account", "name"],
|
|
"company": ["Company", "name"],
|
|
"cost_center": ["Cost Center", "name"],
|
|
},
|
|
},
|
|
# Stock
|
|
"Item": {
|
|
"columns": [
|
|
"name",
|
|
"if(item_name=name, '', item_name) as item_name",
|
|
"description",
|
|
"item_group as parent_item_group",
|
|
"stock_uom",
|
|
"brand",
|
|
"valuation_method",
|
|
],
|
|
# "conditions": ["docstatus < 2"],
|
|
"order_by": "name",
|
|
"links": {"parent_item_group": ["Item Group", "name"], "brand": ["Brand", "name"]},
|
|
},
|
|
"Item Group": {
|
|
"columns": ["name", "parent_item_group"],
|
|
# "conditions": ["docstatus < 2"],
|
|
"order_by": "lft",
|
|
},
|
|
"Brand": {"columns": ["name"], "conditions": ["docstatus < 2"], "order_by": "name"},
|
|
"Project": {"columns": ["name"], "conditions": ["docstatus < 2"], "order_by": "name"},
|
|
"Warehouse": {"columns": ["name"], "conditions": ["docstatus < 2"], "order_by": "name"},
|
|
"Stock Ledger Entry": {
|
|
"columns": [
|
|
"name",
|
|
"posting_date",
|
|
"posting_time",
|
|
"item_code",
|
|
"warehouse",
|
|
"actual_qty as qty",
|
|
"voucher_type",
|
|
"voucher_no",
|
|
"project",
|
|
"incoming_rate as incoming_rate",
|
|
"stock_uom",
|
|
"serial_no",
|
|
"qty_after_transaction",
|
|
"valuation_rate",
|
|
],
|
|
"order_by": "posting_date, posting_time, creation",
|
|
"links": {
|
|
"item_code": ["Item", "name"],
|
|
"warehouse": ["Warehouse", "name"],
|
|
"project": ["Project", "name"],
|
|
},
|
|
"force_index": "posting_sort_index",
|
|
},
|
|
"Serial No": {
|
|
"columns": ["name", "purchase_rate as incoming_rate"],
|
|
"conditions": ["docstatus < 2"],
|
|
"order_by": "name",
|
|
},
|
|
"Stock Entry": {
|
|
"columns": ["name", "purpose"],
|
|
"conditions": ["docstatus=1"],
|
|
"order_by": "posting_date, posting_time, name",
|
|
},
|
|
"Material Request Item": {
|
|
"columns": ["item.name as name", "item_code", "warehouse", "(qty - ordered_qty) as qty"],
|
|
"from": "`tabMaterial Request Item` item, `tabMaterial Request` main",
|
|
"conditions": [
|
|
"item.parent = main.name",
|
|
"main.docstatus=1",
|
|
"main.status != 'Stopped'",
|
|
"ifnull(warehouse, '')!=''",
|
|
"qty > ordered_qty",
|
|
],
|
|
"links": {"item_code": ["Item", "name"], "warehouse": ["Warehouse", "name"]},
|
|
},
|
|
"Purchase Order Item": {
|
|
"columns": [
|
|
"item.name as name",
|
|
"item_code",
|
|
"warehouse",
|
|
"(qty - received_qty)*conversion_factor as qty",
|
|
],
|
|
"from": "`tabPurchase Order Item` item, `tabPurchase Order` main",
|
|
"conditions": [
|
|
"item.parent = main.name",
|
|
"main.docstatus=1",
|
|
"main.status != 'Stopped'",
|
|
"ifnull(warehouse, '')!=''",
|
|
"qty > received_qty",
|
|
],
|
|
"links": {"item_code": ["Item", "name"], "warehouse": ["Warehouse", "name"]},
|
|
},
|
|
"Sales Order Item": {
|
|
"columns": [
|
|
"item.name as name",
|
|
"item_code",
|
|
"(qty - delivered_qty)*conversion_factor as qty",
|
|
"warehouse",
|
|
],
|
|
"from": "`tabSales Order Item` item, `tabSales Order` main",
|
|
"conditions": [
|
|
"item.parent = main.name",
|
|
"main.docstatus=1",
|
|
"main.status != 'Stopped'",
|
|
"ifnull(warehouse, '')!=''",
|
|
"qty > delivered_qty",
|
|
],
|
|
"links": {"item_code": ["Item", "name"], "warehouse": ["Warehouse", "name"]},
|
|
},
|
|
# Sales
|
|
"Customer": {
|
|
"columns": [
|
|
"name",
|
|
"if(customer_name=name, '', customer_name) as customer_name",
|
|
"customer_group as parent_customer_group",
|
|
"territory as parent_territory",
|
|
],
|
|
"conditions": ["docstatus < 2"],
|
|
"order_by": "name",
|
|
"links": {
|
|
"parent_customer_group": ["Customer Group", "name"],
|
|
"parent_territory": ["Territory", "name"],
|
|
},
|
|
},
|
|
"Customer Group": {
|
|
"columns": ["name", "parent_customer_group"],
|
|
"conditions": ["docstatus < 2"],
|
|
"order_by": "lft",
|
|
},
|
|
"Territory": {
|
|
"columns": ["name", "parent_territory"],
|
|
"conditions": ["docstatus < 2"],
|
|
"order_by": "lft",
|
|
},
|
|
"Sales Invoice": {
|
|
"columns": ["name", "customer", "posting_date", "company"],
|
|
"conditions": ["docstatus=1"],
|
|
"order_by": "posting_date",
|
|
"links": {"customer": ["Customer", "name"], "company": ["Company", "name"]},
|
|
},
|
|
"Sales Invoice Item": {
|
|
"columns": ["name", "parent", "item_code", "stock_qty as qty", "base_net_amount"],
|
|
"conditions": ["docstatus=1", "ifnull(parent, '')!=''"],
|
|
"order_by": "parent",
|
|
"links": {"parent": ["Sales Invoice", "name"], "item_code": ["Item", "name"]},
|
|
},
|
|
"Sales Order": {
|
|
"columns": ["name", "customer", "transaction_date as posting_date", "company"],
|
|
"conditions": ["docstatus=1"],
|
|
"order_by": "transaction_date",
|
|
"links": {"customer": ["Customer", "name"], "company": ["Company", "name"]},
|
|
},
|
|
"Sales Order Item[Sales Analytics]": {
|
|
"columns": ["name", "parent", "item_code", "stock_qty as qty", "base_net_amount"],
|
|
"conditions": ["docstatus=1", "ifnull(parent, '')!=''"],
|
|
"order_by": "parent",
|
|
"links": {"parent": ["Sales Order", "name"], "item_code": ["Item", "name"]},
|
|
},
|
|
"Delivery Note": {
|
|
"columns": ["name", "customer", "posting_date", "company"],
|
|
"conditions": ["docstatus=1"],
|
|
"order_by": "posting_date",
|
|
"links": {"customer": ["Customer", "name"], "company": ["Company", "name"]},
|
|
},
|
|
"Delivery Note Item[Sales Analytics]": {
|
|
"columns": ["name", "parent", "item_code", "stock_qty as qty", "base_net_amount"],
|
|
"conditions": ["docstatus=1", "ifnull(parent, '')!=''"],
|
|
"order_by": "parent",
|
|
"links": {"parent": ["Delivery Note", "name"], "item_code": ["Item", "name"]},
|
|
},
|
|
"Supplier": {
|
|
"columns": [
|
|
"name",
|
|
"if(supplier_name=name, '', supplier_name) as supplier_name",
|
|
"supplier_group as parent_supplier_group",
|
|
],
|
|
"conditions": ["docstatus < 2"],
|
|
"order_by": "name",
|
|
"links": {
|
|
"parent_supplier_group": ["Supplier Group", "name"],
|
|
},
|
|
},
|
|
"Supplier Group": {
|
|
"columns": ["name", "parent_supplier_group"],
|
|
"conditions": ["docstatus < 2"],
|
|
"order_by": "name",
|
|
},
|
|
"Purchase Invoice": {
|
|
"columns": ["name", "supplier", "posting_date", "company"],
|
|
"conditions": ["docstatus=1"],
|
|
"order_by": "posting_date",
|
|
"links": {"supplier": ["Supplier", "name"], "company": ["Company", "name"]},
|
|
},
|
|
"Purchase Invoice Item": {
|
|
"columns": ["name", "parent", "item_code", "stock_qty as qty", "base_net_amount"],
|
|
"conditions": ["docstatus=1", "ifnull(parent, '')!=''"],
|
|
"order_by": "parent",
|
|
"links": {"parent": ["Purchase Invoice", "name"], "item_code": ["Item", "name"]},
|
|
},
|
|
"Purchase Order": {
|
|
"columns": ["name", "supplier", "transaction_date as posting_date", "company"],
|
|
"conditions": ["docstatus=1"],
|
|
"order_by": "posting_date",
|
|
"links": {"supplier": ["Supplier", "name"], "company": ["Company", "name"]},
|
|
},
|
|
"Purchase Order Item[Purchase Analytics]": {
|
|
"columns": ["name", "parent", "item_code", "stock_qty as qty", "base_net_amount"],
|
|
"conditions": ["docstatus=1", "ifnull(parent, '')!=''"],
|
|
"order_by": "parent",
|
|
"links": {"parent": ["Purchase Order", "name"], "item_code": ["Item", "name"]},
|
|
},
|
|
"Purchase Receipt": {
|
|
"columns": ["name", "supplier", "posting_date", "company"],
|
|
"conditions": ["docstatus=1"],
|
|
"order_by": "posting_date",
|
|
"links": {"supplier": ["Supplier", "name"], "company": ["Company", "name"]},
|
|
},
|
|
"Purchase Receipt Item[Purchase Analytics]": {
|
|
"columns": ["name", "parent", "item_code", "stock_qty as qty", "base_net_amount"],
|
|
"conditions": ["docstatus=1", "ifnull(parent, '')!=''"],
|
|
"order_by": "parent",
|
|
"links": {"parent": ["Purchase Receipt", "name"], "item_code": ["Item", "name"]},
|
|
},
|
|
# Support
|
|
"Issue": {
|
|
"columns": ["name", "status", "creation", "resolution_date", "first_responded_on"],
|
|
"conditions": ["docstatus < 2"],
|
|
"order_by": "creation",
|
|
},
|
|
# Manufacturing
|
|
"Work Order": {
|
|
"columns": [
|
|
"name",
|
|
"status",
|
|
"creation",
|
|
"planned_start_date",
|
|
"planned_end_date",
|
|
"status",
|
|
"actual_start_date",
|
|
"actual_end_date",
|
|
"modified",
|
|
],
|
|
"conditions": ["docstatus = 1"],
|
|
"order_by": "creation",
|
|
},
|
|
# Medical
|
|
"Patient": {
|
|
"columns": [
|
|
"name",
|
|
"creation",
|
|
"owner",
|
|
"if(patient_name=name, '', patient_name) as patient_name",
|
|
],
|
|
"conditions": ["docstatus < 2"],
|
|
"order_by": "name",
|
|
"links": {"owner": ["User", "name"]},
|
|
},
|
|
"Patient Appointment": {
|
|
"columns": [
|
|
"name",
|
|
"appointment_type",
|
|
"patient",
|
|
"practitioner",
|
|
"appointment_date",
|
|
"department",
|
|
"status",
|
|
"company",
|
|
],
|
|
"order_by": "name",
|
|
"links": {
|
|
"practitioner": ["Healthcare Practitioner", "name"],
|
|
"appointment_type": ["Appointment Type", "name"],
|
|
},
|
|
},
|
|
"Healthcare Practitioner": {
|
|
"columns": ["name", "department"],
|
|
"order_by": "name",
|
|
"links": {
|
|
"department": ["Department", "name"],
|
|
},
|
|
},
|
|
"Appointment Type": {"columns": ["name"], "order_by": "name"},
|
|
"Medical Department": {"columns": ["name"], "order_by": "name"},
|
|
}
|