fix: reverse linking for employee advance

This commit is contained in:
Anurag Mishra 2020-03-05 18:57:52 +05:30
parent 59a0bce3a9
commit 943457abd3
6 changed files with 36 additions and 53 deletions

View File

@ -13,6 +13,8 @@
"salary_component",
"overwrite_salary_structure_amount",
"deduct_full_tax_on_selected_payroll_date",
"ref_doctype",
"ref_docname",
"column_break_5",
"company",
"payroll_date",
@ -127,11 +129,25 @@
"options": "Additional Salary",
"print_hide": 1,
"read_only": 1
},
{
"fieldname": "ref_doctype",
"fieldtype": "Link",
"label": "Reference Document Type",
"options": "DocType",
"read_only": 1
},
{
"fieldname": "ref_docname",
"fieldtype": "Dynamic Link",
"label": "Reference Document",
"options": "ref_doctype",
"read_only": 1
}
],
"is_submittable": 1,
"links": [],
"modified": "2019-12-12 19:07:23.635901",
"modified": "2020-03-05 18:54:17.763244",
"modified_by": "Administrator",
"module": "HR",
"name": "Additional Salary",

View File

@ -74,6 +74,11 @@ frappe.ui.form.on('Employee Advance', {
method: "erpnext.hr.doctype.employee_advance.employee_advance.create_return_through_additional_salary",
args: {
doc: frm.doc
},
callback: function (r){
console.log("Helloxs")
var doclist = frappe.model.sync(r.message);
frappe.set_route("Form", doclist[0].doctype, doclist[0].name);
}
});
},

View File

@ -14,8 +14,6 @@
"column_break_4",
"posting_date",
"repay_unclaimed_amount_from_salary",
"payroll_date",
"salary_component",
"section_break_8",
"purpose",
"column_break_11",
@ -178,24 +176,11 @@
"fieldname": "repay_unclaimed_amount_from_salary",
"fieldtype": "Check",
"label": "Repay unclaimed amount from salary"
},
{
"depends_on": "eval:doc.repay_unclaimed_amount_from_salary == 1",
"fieldname": "payroll_date",
"fieldtype": "Date",
"label": "Payroll date"
},
{
"depends_on": "eval:doc.repay_unclaimed_amount_from_salary == 1",
"fieldname": "salary_component",
"fieldtype": "Link",
"label": "Salary Component",
"options": "Salary Component"
}
],
"is_submittable": 1,
"links": [],
"modified": "2020-01-03 13:02:32.094099",
"modified": "2020-03-05 16:31:50.417539",
"modified_by": "Administrator",
"module": "HR",
"name": "Employee Advance",

View File

@ -138,16 +138,12 @@ def create_return_through_additional_salary(doc):
doc = frappe._dict(json.loads(doc))
additional_salary = frappe.new_doc('Additional Salary')
additional_salary.employee = doc.employee
additional_salary.salary_component = doc.salary_component
additional_salary.amount = doc.paid_amount - doc.claimed_amount
additional_salary.payroll_date = doc.payroll_date
additional_salary.company = doc.company
additional_salary.ref_doctype = doc.doctype
additional_salary.ref_docname = doc.name
additional_salary.submit()
frappe.db.set_value("Employee Advance", doc.name, "return_amount", additional_salary.amount)
return additional_salary.name
return additional_salary
@frappe.whitelist()
def make_return_entry(employee_name, company, employee_advance_name, return_amount, mode_of_payment, advance_account):

View File

@ -9,10 +9,9 @@
"employee",
"incentive_amount",
"employee_name",
"additional_salary",
"salary_component",
"column_break_5",
"payroll_date",
"salary_component",
"department",
"amended_from"
],
@ -65,14 +64,6 @@
"options": "Department",
"read_only": 1
},
{
"fieldname": "additional_salary",
"fieldtype": "Link",
"label": "Additional Salary",
"no_copy": 1,
"options": "Additional Salary",
"read_only": 1
},
{
"fieldname": "salary_component",
"fieldtype": "Link",
@ -83,7 +74,7 @@
],
"is_submittable": 1,
"links": [],
"modified": "2019-12-12 13:24:44.761540",
"modified": "2020-03-05 18:59:40.526014",
"modified_by": "Administrator",
"module": "HR",
"name": "Employee Incentive",

View File

@ -10,11 +10,13 @@ class EmployeeIncentive(Document):
def on_submit(self):
company = frappe.db.get_value('Employee', self.employee, 'company')
additional_salary = frappe.db.exists('Additional Salary', {
'employee': self.employee,
'employee': self.employee,
'ref_doctype': self.doctype,
'ref_docname': self.name,
'salary_component': self.salary_component,
'payroll_date': self.payroll_date,
'payroll_date': self.payroll_date,
'company': company,
'docstatus': 1
'docstatus': ["!=", 2]
})
if not additional_salary:
@ -24,22 +26,10 @@ class EmployeeIncentive(Document):
additional_salary.amount = self.incentive_amount
additional_salary.payroll_date = self.payroll_date
additional_salary.company = company
additional_salary.ref_doctype = self.doctype
additional_salary.ref_docname = self.name
additional_salary.submit()
self.db_set('additional_salary', additional_salary.name)
else:
incentive_added = frappe.db.get_value('Additional Salary', additional_salary, 'amount') + self.incentive_amount
frappe.db.set_value('Additional Salary', additional_salary, 'amount', incentive_added)
self.db_set('additional_salary', additional_salary)
frappe.db.set_value('Additional Salary', additional_salary, {'amount', incentive_added})
def on_cancel(self):
if self.additional_salary:
incentive_removed = frappe.db.get_value('Additional Salary', self.additional_salary, 'amount') - self.incentive_amount
if incentive_removed == 0:
frappe.get_doc('Additional Salary', self.additional_salary).cancel()
else:
frappe.db.set_value('Additional Salary', self.additional_salary, 'amount', incentive_removed)
self.db_set('additional_salary', '')