Rucha Mahabal
3 years ago
5 changed files with 35 additions and 33 deletions
@ -1,31 +1,32 @@ |
|||
import frappe |
|||
|
|||
|
|||
def execute(): |
|||
frappe.reload_doc('payroll', 'doctype', 'employee_cost_center') |
|||
frappe.reload_doc('payroll', 'doctype', 'salary_structure_assignment') |
|||
frappe.reload_doc('payroll', 'doctype', 'employee_cost_center') |
|||
frappe.reload_doc('payroll', 'doctype', 'salary_structure_assignment') |
|||
|
|||
employees = frappe.get_all("Employee", fields=["department", "payroll_cost_center", "name"]) |
|||
|
|||
employees = frappe.get_all("Employee", fields=["department", "payroll_cost_center", "name"]) |
|||
employee_cost_center = {} |
|||
for d in employees: |
|||
cost_center = d.payroll_cost_center |
|||
if not cost_center and d.department: |
|||
cost_center = frappe.get_cached_value("Department", d.department, "payroll_cost_center") |
|||
|
|||
employee_cost_center = {} |
|||
for d in employees: |
|||
cost_center = d.payroll_cost_center |
|||
if not cost_center and d.department: |
|||
cost_center = frappe.get_cached_value("Department", d.department, "payroll_cost_center") |
|||
if cost_center: |
|||
employee_cost_center.setdefault(d.name, cost_center) |
|||
|
|||
if cost_center: |
|||
employee_cost_center.setdefault(d.name, cost_center) |
|||
|
|||
salary_structure_assignments = frappe.get_all("Salary Structure Assignment", |
|||
filters = {"docstatus": ["!=", 2]}, |
|||
fields=["name", "employee"]) |
|||
salary_structure_assignments = frappe.get_all("Salary Structure Assignment", |
|||
filters = {"docstatus": ["!=", 2]}, |
|||
fields=["name", "employee"]) |
|||
|
|||
for d in salary_structure_assignments: |
|||
cost_center = employee_cost_center.get(d.employee) |
|||
if cost_center: |
|||
assignment = frappe.get_doc("Salary Structure Assignment", d.name) |
|||
if not assignment.get("payroll_cost_centers"): |
|||
assignment.append("payroll_cost_centers", { |
|||
"cost_center": cost_center, |
|||
"percentage": 100 |
|||
}) |
|||
assignment.save() |
|||
for d in salary_structure_assignments: |
|||
cost_center = employee_cost_center.get(d.employee) |
|||
if cost_center: |
|||
assignment = frappe.get_doc("Salary Structure Assignment", d.name) |
|||
if not assignment.get("payroll_cost_centers"): |
|||
assignment.append("payroll_cost_centers", { |
|||
"cost_center": cost_center, |
|||
"percentage": 100 |
|||
}) |
|||
assignment.save() |
Loading…
Reference in new issue