import frappe from frappe.utils import getdate @frappe.whitelist() def create_employee_records(): create_company() create_missing_designation() frappe.db.sql("DELETE FROM tabEmployee WHERE company='Test Org Chart'") emp1 = create_employee("Test Employee 1", "CEO") emp2 = create_employee("Test Employee 2", "CTO") emp3 = create_employee("Test Employee 3", "Head of Marketing and Sales", emp1) emp4 = create_employee("Test Employee 4", "Project Manager", emp2) emp5 = create_employee("Test Employee 5", "Engineer", emp2) emp6 = create_employee("Test Employee 6", "Analyst", emp3) emp7 = create_employee("Test Employee 7", "Software Developer", emp4) employees = [emp1, emp2, emp3, emp4, emp5, emp6, emp7] return employees @frappe.whitelist() def get_employee_records(): return frappe.db.get_list( "Employee", filters={"company": "Test Org Chart"}, pluck="name", order_by="name" ) def create_company(): company = frappe.db.exists("Company", "Test Org Chart") if not company: company = ( frappe.get_doc( { "doctype": "Company", "company_name": "Test Org Chart", "country": "India", "default_currency": "INR", } ) .insert() .name ) return company def create_employee(first_name, designation, reports_to=None): employee = frappe.db.exists("Employee", {"first_name": first_name, "designation": designation}) if not employee: employee = ( frappe.get_doc( { "doctype": "Employee", "first_name": first_name, "company": "Test Org Chart", "gender": "Female", "date_of_birth": getdate("08-12-1998"), "date_of_joining": getdate("01-01-2021"), "designation": designation, "reports_to": reports_to, } ) .insert() .name ) return employee def create_missing_designation(): if not frappe.db.exists("Designation", "CTO"): frappe.get_doc({"doctype": "Designation", "designation_name": "CTO"}).insert()