From 5402451b35068a791ef9c97067757838d221ca30 Mon Sep 17 00:00:00 2001 From: Anurag Mishra Date: Fri, 29 Mar 2019 19:25:11 +0530 Subject: [PATCH 1/2] feat: Loan repayment report Co-authored-by: crescent28 --- erpnext/hr/report/loan_repayment/__init__.py | 0 .../report/loan_repayment/loan_repayment.js | 9 ++ .../report/loan_repayment/loan_repayment.json | 28 ++++++ .../report/loan_repayment/loan_repayment.py | 95 +++++++++++++++++++ 4 files changed, 132 insertions(+) create mode 100644 erpnext/hr/report/loan_repayment/__init__.py create mode 100644 erpnext/hr/report/loan_repayment/loan_repayment.js create mode 100644 erpnext/hr/report/loan_repayment/loan_repayment.json create mode 100644 erpnext/hr/report/loan_repayment/loan_repayment.py diff --git a/erpnext/hr/report/loan_repayment/__init__.py b/erpnext/hr/report/loan_repayment/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/erpnext/hr/report/loan_repayment/loan_repayment.js b/erpnext/hr/report/loan_repayment/loan_repayment.js new file mode 100644 index 0000000000..21aa206160 --- /dev/null +++ b/erpnext/hr/report/loan_repayment/loan_repayment.js @@ -0,0 +1,9 @@ +// Copyright (c) 2016, Frappe Technologies Pvt. Ltd. and contributors +// For license information, please see license.txt +/* eslint-disable */ + +frappe.query_reports["Loan Repayment"] = { + "filters": [ + + ] +} diff --git a/erpnext/hr/report/loan_repayment/loan_repayment.json b/erpnext/hr/report/loan_repayment/loan_repayment.json new file mode 100644 index 0000000000..23b6977db8 --- /dev/null +++ b/erpnext/hr/report/loan_repayment/loan_repayment.json @@ -0,0 +1,28 @@ +{ + "add_total_row": 0, + "creation": "2019-03-29 18:58:00.166032", + "disable_prepared_report": 0, + "disabled": 0, + "docstatus": 0, + "doctype": "Report", + "idx": 0, + "is_standard": "Yes", + "letter_head": "Gadgets International", + "modified": "2019-03-29 18:58:00.166032", + "modified_by": "Administrator", + "module": "HR", + "name": "Loan Repayment", + "owner": "Administrator", + "prepared_report": 0, + "ref_doctype": "Loan", + "report_name": "Loan Repayment", + "report_type": "Script Report", + "roles": [ + { + "role": "HR Manager" + }, + { + "role": "Employee" + } + ] +} \ No newline at end of file diff --git a/erpnext/hr/report/loan_repayment/loan_repayment.py b/erpnext/hr/report/loan_repayment/loan_repayment.py new file mode 100644 index 0000000000..9e310de48c --- /dev/null +++ b/erpnext/hr/report/loan_repayment/loan_repayment.py @@ -0,0 +1,95 @@ +# Copyright (c) 2013, Frappe Technologies Pvt. Ltd. and contributors +# For license information, please see license.txt + +from __future__ import unicode_literals +import frappe +from frappe import _ + +def execute(filters=None): + + columns = create_columns() + data = get_record() + return columns, data + +def create_columns(): + return [ + { + "label": _("Employee"), + "fieldtype": "Data", + "fieldname": "employee", + "options": "Employee", + "width": 200 + }, + { + "label": _("Loan"), + "fieldtype": "Link", + "fieldname": "loan_name", + "options": "Loan", + "width": 200 + }, + { + "label": _("Loan Amount"), + "fieldtype": "Currency", + "fieldname": "loan_amount", + "options": "currency", + "width": 100 + }, + { + "label": _("Interest"), + "fieldtype": "Data", + "fieldname": "interest", + "width": 100 + }, + { + "label": _("Payable Amount"), + "fieldtype": "Currency", + "fieldname": "payable_amount", + "options": "currency", + "width": 100 + }, + { + "label": _("EMI"), + "fieldtype": "Currency", + "fieldname": "emi", + "options": "currency", + "width": 100 + }, + { + "label": _("Paid Amount"), + "fieldtype": "Currency", + "fieldname": "paid_amount", + "options": "currency", + "width": 100 + }, + { + "label": _("Outstanding Amount"), + "fieldtype": "Currency", + "fieldname": "out_amt", + "options": "currency", + "width": 100 + }, + ] + +def get_record(): + data = [] + loans = frappe.get_all("Loan", + filters=[("status", "=", "Fully Disbursed")], + fields=["applicant", "applicant_name", "name", "loan_amount", "rate_of_interest", + "total_payment", "monthly_repayment_amount", "total_amount_paid"] + ) + + for loan in loans: + row = { + "employee": loan.applicant + ": " + loan.applicant_name, + "loan_name": loan.name, + "loan_amount": loan.loan_amount, + "interest": str(loan.rate_of_interest) + "%", + "payable_amount": loan.total_payment, + "emi": loan.monthly_repayment_amount, + "paid_amount": loan.total_amount_paid, + "out_amt": loan.total_payment - loan.total_amount_paid + } + + data.append(row) + + return data From 71a07bf0227851f2e6418149206fe57d412a274a Mon Sep 17 00:00:00 2001 From: Nabin Hait Date: Wed, 1 May 2019 11:02:35 +0530 Subject: [PATCH 2/2] Update loan_repayment.json --- erpnext/hr/report/loan_repayment/loan_repayment.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/erpnext/hr/report/loan_repayment/loan_repayment.json b/erpnext/hr/report/loan_repayment/loan_repayment.json index 23b6977db8..b967dfdb38 100644 --- a/erpnext/hr/report/loan_repayment/loan_repayment.json +++ b/erpnext/hr/report/loan_repayment/loan_repayment.json @@ -7,7 +7,7 @@ "doctype": "Report", "idx": 0, "is_standard": "Yes", - "letter_head": "Gadgets International", + "letter_head": "", "modified": "2019-03-29 18:58:00.166032", "modified_by": "Administrator", "module": "HR", @@ -25,4 +25,4 @@ "role": "Employee" } ] -} \ No newline at end of file +}