From 359bb512b4a003d0f28e578d16f1c12c51e95f55 Mon Sep 17 00:00:00 2001 From: Jamsheer Date: Mon, 6 Aug 2018 16:41:32 +0530 Subject: [PATCH] Payment mode and Paid amount in Patient Appointment --- .../patient_appointment.js | 15 +++++ .../patient_appointment.json | 67 ++++++++++++++++++- .../patient_appointment.py | 4 +- 3 files changed, 83 insertions(+), 3 deletions(-) diff --git a/erpnext/healthcare/doctype/patient_appointment/patient_appointment.js b/erpnext/healthcare/doctype/patient_appointment/patient_appointment.js index c0e5cd0979..9338b9f047 100644 --- a/erpnext/healthcare/doctype/patient_appointment/patient_appointment.js +++ b/erpnext/healthcare/doctype/patient_appointment/patient_appointment.js @@ -84,6 +84,20 @@ frappe.ui.form.on('Patient Appointment', { }); } frm.set_df_property("get_procedure_from_encounter", "read_only", frm.doc.__islocal ? 0 : 1); + frappe.db.get_value('Healthcare Settings', {name: 'Healthcare Settings'}, 'manage_appointment_invoice_automatically', (r) => { + if(r.manage_appointment_invoice_automatically == 1){ + frm.set_df_property("mode_of_payment", "hidden", 0); + frm.set_df_property("paid_amount", "hidden", 0); + frm.set_df_property("mode_of_payment", "reqd", 1); + frm.set_df_property("paid_amount", "reqd", 1); + } + else{ + frm.set_df_property("mode_of_payment", "hidden", 1); + frm.set_df_property("paid_amount", "hidden", 1); + frm.set_df_property("mode_of_payment", "reqd", 0); + frm.set_df_property("paid_amount", "reqd", 0); + } + }); }, check_availability: function(frm) { var { practitioner, appointment_date } = frm.doc; @@ -335,6 +349,7 @@ frappe.ui.form.on("Patient Appointment", "practitioner", function(frm) { }, callback: function (data) { frappe.model.set_value(frm.doctype,frm.docname, "department",data.message.department); + frappe.model.set_value(frm.doctype,frm.docname, "paid_amount",data.message.op_consulting_charge); } }); } diff --git a/erpnext/healthcare/doctype/patient_appointment/patient_appointment.json b/erpnext/healthcare/doctype/patient_appointment/patient_appointment.json index fc7b69d5e8..4ce4573f02 100644 --- a/erpnext/healthcare/doctype/patient_appointment/patient_appointment.json +++ b/erpnext/healthcare/doctype/patient_appointment/patient_appointment.json @@ -617,7 +617,7 @@ "bold": 0, "collapsible": 0, "columns": 0, - "depends_on": "eval:!doc.__islocal", + "depends_on": "", "fieldname": "section_break_1", "fieldtype": "Section Break", "hidden": 0, @@ -674,6 +674,71 @@ "translatable": 0, "unique": 0 }, + { + "allow_bulk_edit": 0, + "allow_in_quick_entry": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "columns": 0, + "fieldname": "mode_of_payment", + "fieldtype": "Link", + "hidden": 0, + "ignore_user_permissions": 0, + "ignore_xss_filter": 0, + "in_filter": 0, + "in_global_search": 0, + "in_list_view": 0, + "in_standard_filter": 0, + "label": "Mode of Payment", + "length": 0, + "no_copy": 0, + "options": "Mode of Payment", + "permlevel": 0, + "precision": "", + "print_hide": 0, + "print_hide_if_no_value": 0, + "read_only": 0, + "remember_last_selected_value": 0, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "set_only_once": 0, + "translatable": 0, + "unique": 0 + }, + { + "allow_bulk_edit": 0, + "allow_in_quick_entry": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "columns": 0, + "fieldname": "paid_amount", + "fieldtype": "Currency", + "hidden": 0, + "ignore_user_permissions": 0, + "ignore_xss_filter": 0, + "in_filter": 0, + "in_global_search": 0, + "in_list_view": 0, + "in_standard_filter": 0, + "label": "Paid Amount", + "length": 0, + "no_copy": 0, + "permlevel": 0, + "precision": "", + "print_hide": 0, + "print_hide_if_no_value": 0, + "read_only": 0, + "remember_last_selected_value": 0, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "set_only_once": 0, + "translatable": 0, + "unique": 0 + }, { "allow_bulk_edit": 0, "allow_in_quick_entry": 0, diff --git a/erpnext/healthcare/doctype/patient_appointment/patient_appointment.py b/erpnext/healthcare/doctype/patient_appointment/patient_appointment.py index a0ffeb1dfd..3e6706f170 100755 --- a/erpnext/healthcare/doctype/patient_appointment/patient_appointment.py +++ b/erpnext/healthcare/doctype/patient_appointment/patient_appointment.py @@ -71,8 +71,8 @@ def invoice_appointment(appointment_doc): item_line.reference_dn = appointment_doc.name payments_line = sales_invoice.append("payments") - payments_line.mode_of_payment = "Cash" - payments_line.amount = practitioner_charge + payments_line.mode_of_payment = appointment_doc.mode_of_payment + payments_line.amount = appointment_doc.paid_amount sales_invoice.set_missing_values(for_validate = True)