* feat: Moved Document to Payroll Module * feat: Moved Reports to Payroll Module * feat: Moved Print fromat With Patch * feat: Moved Notifiction to Payroll Module and patches * feat: added dashboard and desk page to Payroll * feat: Payroll Dashboard * feat: Module onboarding * feat: Income tax Deductions Report * feat: Ecs Checklist Report * feat: Provident Fund Report * feat: Professional Fund report and commonified Code * feat: Total Payments Based On Payment Mode Report * fix: refactor and added chart Total Payments Based On Payment Mode * feat: Payroll Settings * fix: Bank remittance Report * feat(Payroll based on): Considered unmarked days * feat: Added Help for condition an formula in Salary structure * fix: requested changes * fix: rename report Ecs checklist to salary_payments_via_ecs * fix: renamed report report/total_payments_based_on_payment_mode * fix: added role via setup.py for regional report * feat: added All reports to desk page * fix: frappe.reload doc in all patches * fix: codacy * fix: frappe.reload_doctype for patches * patch: is_income_tax_component and component_type for salary component * fix: uncommented code * test: fixture * fix: test * test: test_payment_days_based_on_attendance
		
			
				
	
	
		
			22 lines
		
	
	
		
			943 B
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			22 lines
		
	
	
		
			943 B
		
	
	
	
		
			Python
		
	
	
	
	
	
| from __future__ import unicode_literals
 | |
| import frappe
 | |
| from erpnext.payroll.doctype.payroll_entry.payroll_entry import get_month_details
 | |
| from frappe.utils import cint
 | |
| 
 | |
| def execute():
 | |
| 	frappe.reload_doc("Payroll", "doctype", "Salary Slip")
 | |
| 	if not frappe.db.has_column('Salary Slip', 'fiscal_year'):
 | |
| 		return
 | |
| 
 | |
| 	salary_slips = frappe.db.sql("""select month, name, fiscal_year from `tabSalary Slip`
 | |
| 				where (month is not null and month != '') and
 | |
| 				start_date is null and end_date is null and docstatus != 2""", as_dict=True)
 | |
| 
 | |
| 	for salary_slip in salary_slips:
 | |
| 		if not cint(salary_slip.month):
 | |
| 			continue
 | |
| 		get_start_end_date = get_month_details(salary_slip.fiscal_year, cint(salary_slip.month))
 | |
| 		start_date = get_start_end_date['month_start_date']
 | |
| 		end_date = get_start_end_date['month_end_date']
 | |
| 		frappe.db.sql("""update `tabSalary Slip` set start_date = %s, end_date = %s where name = %s""",
 | |
| 		(start_date, end_date, salary_slip.name)) |