# Copyright (c) 2017, Frappe and Contributors
# License: GNU General Public License v3. See license.txt

from __future__ import unicode_literals
import frappe

def execute():
	frappe.reload_doc('Payroll', 'doctype', 'salary_slip_loan')
	frappe.reload_doc('Payroll', 'doctype', 'salary_slip')

	for data in frappe.db.sql(""" select name,
			start_date, end_date, total_loan_repayment
		from
			`tabSalary Slip`
		where
			docstatus < 2 and ifnull(total_loan_repayment, 0) > 0""", as_dict=1):
		salary_slip = frappe.get_doc('Salary Slip', data.name)
		salary_slip.set_loan_repayment()

		if salary_slip.total_loan_repayment == data.total_loan_repayment:
			for row in salary_slip.loans:
				row.db_update()

			salary_slip.db_update()
