from django.conf import settings
from django.urls import path
from django.conf.urls.static import static
from payrollservice.controller import emppaystructurecontroller, emppaystructuredetailscontroller, \
    emppaystructuredeductionscontroller, empmonthlypayinfocontroller, empmonthlypaydeductioncontroller, \
    empmonthlypaydetailscontroller, empadvancedetailscontroller, payrolltrancontroller, empadvancepaymentcontroller, \
    payrollprocesschangecontroller, empadditionalallowancecontroller, payrollmastercontroller, \
    paycomponentsegmentmappingcontroller, payrolltemplatecontroller, payrollmastermappingcontroller, report_controller

urlpatterns = [
    # path('pay_structure_view/<emp_id>', employeepayrollcontroller.pay_structure_view, name='pay_structure_view'),
    path('create_emp_pay', emppaystructurecontroller.create_emp_pay, name='create_emp_pay'),
    path('employeepay_create',emppaystructurecontroller.employee_pay_create,name='employeepay'),
    path('employee_level_detection',emppaystructurecontroller.employee_level_detection,name='employee_level_detection'),
    path('employeepay_summary', emppaystructuredetailscontroller.employeepay_summary, name='employeepay_summary'),
    path('employee_paystrct_inactive/<struct_id>',emppaystructuredetailscontroller.employee_paystrct_inactive,name='employee_paystrct_inactive'),
    path('employee_pf_data_calculaton', emppaystructuredetailscontroller.employee_sancturaies_pf_calculation, name='employee_pf_data_calculaton'),
    path('employee_deduction_calculation', emppaystructuredetailscontroller.employee_deduction_calculation, name='employee_deduction_calculation'),
    path('company_contribution_calculation', emppaystructuredetailscontroller.company_contribution_calculation, name='company_contribution_calculation'),
    # monthly
    path('create_employeemonthly',empmonthlypayinfocontroller.create_employeemonthly,name='create_employeemonthly'),
    path('create_month_details_create',empmonthlypayinfocontroller.create_month_details_create,name='create_month_details_create'),
    path('employee_monthly_summary',empmonthlypayinfocontroller.employee_monthly_summary,name='employee_monthly_summary'),
    path('employeemonthlypay_detail_inactive/<paymonth_id>',empmonthlypayinfocontroller.employeemonthlypay_detail_inactive,name='employeemonthlypay_detail_inactive'),
    path('employeemonthlypay_summary',empmonthlypayinfocontroller.employeemonthpay_summary,name='employeemonthlypay_summary'),
    path('emp_manual_run', empmonthlypayinfocontroller.emp_manual_run, name='emp_manual_run'),
    path('details_manual_run', empmonthlypayinfocontroller.details_manual_run, name='details_manual_run'),
    path('payroll_manual_run', empmonthlypayinfocontroller.payroll_manual_run, name='payroll_manual_run'),
    path('monthly_deduction_calculation', empmonthlypayinfocontroller.monthly_deduction_calculation, name='monthly_deduction_calculation'),
    path('monthlyinfo_update_getids', empmonthlypayinfocontroller.monthlyinfo_update_getids, name='monthlyinfo_update_getids'),
    path('employeemonthpay_fetch',empmonthlypayinfocontroller.employeemonthpay_fetch,name='employeemonthpay_fetch'),
    path('segment_employeemonthpay_fetch',empmonthlypayinfocontroller.segment_employeemonthpay_fetch,name='segment_employeemonthpay_fetch'),
    path('payapproved_ccbs_payrollget',empmonthlypayinfocontroller.payapproved_ccbs_payrollget,name='payapproved_ccbs_payrollget'),
    path('employee_monthlydetails_year',empmonthlypaydetailscontroller.employee_monthlydetails_year,name='employee_monthlydetails_year'),
    # path('salary_statement_summary', empmonthlypaydetailscontroller.salary_statement_summary, name='salary_statement_summary'),
    path('salary_statement_summary', empmonthlypaydetailscontroller.salary_statement_summary1, name='salary_statement_summary'),
    path('payroll_review', empmonthlypaydetailscontroller.payroll_review, name='payroll_review'),
    path('dropdown_cc', empmonthlypaydetailscontroller.dropdown_cc, name='dropdown_cc'),
    path('dropdown_bs', empmonthlypaydetailscontroller.dropdown_bs, name='dropdown_bs'),
    # deduction struct
    path('create_employeepay_structdeduct',emppaystructuredeductionscontroller.create_employeepay_structdeduct,name='create_employeepay_structdeduct'),
    path('fetch_emppaystrcut_deduct/<id>',emppaystructuredeductionscontroller.fetch_emppaystrcut_deduct,name='fetch_emppaystrcut_deduct'),
    path('employee_satu_calc',emppaystructuredeductionscontroller.employee_satu_calc,name='employee_satu_calc'),
    # deduction monthly
    path('create_employeemonth_deduct', empmonthlypaydeductioncontroller.create_employeemonth_deduct,name='create_employeemonth_deduct'),
    path('fetch_employeemonth_deduct/<id>',empmonthlypaydeductioncontroller.fetch_employeemonth_deduct,name='fetch_employeemonth_deduct'),
    path('deduction_summary', empmonthlypaydeductioncontroller.deduction_summary, name='deduction_summary'),
    # dropdown
    path('paymode_dropdown',emppaystructurecontroller.pay_mode_dropdown,name='paymode_dropdown'),
    path('paystatus_dropdown', emppaystructurecontroller.paystatus_dropdown, name='paystatus_dropdown'),
    # excel upload
    path('excel_uplode',empmonthlypaydeductioncontroller.excel_uplode_of_employeemonthlypay_deductions,name='excel_uplode'),
    path('paystruct_details_excel_upload',emppaystructurecontroller.paystruct_details_excel_upload,name='paystruct_details_excel_upload'),
    path('paystructure_excel_template',emppaystructurecontroller.paystructure_excel_template,name='paystructure_excel_template'),
    # excel download
    path('salarystatement_excel_downloade', empmonthlypaydetailscontroller.salarystatement_excel_downloade, name='salarystatement_excel_downloade'),
    # Employeeadvancedetails
    path('employeeadvancedetails_create', empadvancedetailscontroller.employeeadvance_create, name='employeeadvance'),
    path('employeeadvance_get/<id_val>', empadvancedetailscontroller.employeeadvance_get, name='employeeadvance_get'),
    # employeeadvancedetails and payrolltran
    path('create_employeeadvance_payrolltran', empadvancedetailscontroller.create_employeeadvance_payrolltran, name='create_employeeadvance_payrolltran'),
    path('employeeadvancedetails_get/<id_val>', empadvancedetailscontroller.employeeadvancedetails_get, name='employeeadvance_get'),
    # payrolltran
    path('payrolltran_summary', payrolltrancontroller.payrolltran_summary, name='payrolltran_summary'),
    path('payrolltran_get/<id_val>', payrolltrancontroller.payrolltran_get, name='payrolltran_get'),
    path('tran_history_data/<id>', payrolltrancontroller.tran_history_data, name='tran_history_data'),
    path('advance_approving_level_data', payrolltrancontroller.advance_approving_level_data, name='advance_approving_level_data'),
    # employeeadvancepayment
    path('create_employeeadvance_payment',empadvancepaymentcontroller.create_employeeadvance_payment, name='create_employeeadvance_payment'),
    path('employeeadvance_payment_get/<id_val>', empadvancepaymentcontroller.employeeadvance_payment_get, name='employeeadvance_payment_get'),
    path('employeeadvance_payment_history', empadvancepaymentcontroller.employeeadvance_payment_history, name='employeeadvance_payment_history'),
    #payrollprocesschange
    path('payrollprocesschange_create', payrollprocesschangecontroller.payrollprocesschange_create, name='payrollprocesschange_create'),
    path('payrollprocesschange_get/<id>', payrollprocesschangecontroller.payrollprocesschange_get, name='payrollprocesschange_get'),
    # Employeeadditional_allowance
    path('employeeadditional_allowance_create', empadditionalallowancecontroller.employeeadditional_allowance_create, name='employeeadditional_allowance_create'),
    path('employeeadditional_allowance_get/<id>', empadditionalallowancecontroller.employeeadditional_allowance_get, name='employeeadditional_allowance_get'),
    path('approving_level_get', empmonthlypayinfocontroller.approving_level_get, name='advance_level_get'),
    # npayroll admin employee
    path('employee_payroll_admin', empadvancedetailscontroller.employee_payroll_admin, name='employee_payroll_admin'),
    path('create_emp_pay1', emppaystructurecontroller.create_emp_pay1, name='create_emp_pay1'),
    path('grade_emp_based_structure_get/<employee_id>/<grade>', emppaystructurecontroller.grade_emp_based_structure_get, name='grade_emp_based_structure_get'),
    # final excel upload
    path('paystruct_details_excel_upload1',emppaystructurecontroller.paystruct_details_excel_upload1,name='paystruct_details_excel_upload1'),
    path('paystructure_excel_template1',emppaystructurecontroller.paystructure_excel_template1,name='paystructure_excel_template1'),
    path('employeeadvance_download', empadvancedetailscontroller.employeeadvance_download, name='employeeadvance_download'),
    path('reverse_calculation', emppaystructurecontroller.reverse_calculation, name='reverse_calcultion'),
    path('emp_details_segment_data', emppaystructurecontroller.emp_details_segment_data, name='emp_details_segment_data'),
    path('approvel_bank_template_download',empmonthlypayinfocontroller.approvel_bank_template_download,name='approvel_bank_template_download'),
    path('addictional_allowance_data', empmonthlypaydetailscontroller.addictional_allowance_data,name='addictional_allowance_data'),
    # --------------------------PAYROLLMASTER----------------------------------------------------
    # npayroll
      path('payroll_component', payrollmastercontroller.payroll_component, name='Payroll component'),
      path('deduction_payrollcomponent', payrollmastercontroller.deduction_payrollcomponent, name='deduction_payrollcomponent'),
      path('payroll_component/<comp_id>', payrollmastercontroller.get_payroll_component, name='Payroll component view'),
      path('company_contribution', payrollmastercontroller.company_contribution, name='company_contribution'),
      path('company_contribution/<con_id>', payrollmastercontroller.get_contribution, name='company_contribution view'),
      path('pf_structure', payrollmastercontroller.employee_pf_structure, name='employee_pf_structure'),
      path('employee_pf/<comp_id>', payrollmastercontroller.get_employee_pf, name='employee_pf_structure'),
      path('create_payrolldeduction', payrollmastercontroller.create_payrolldeduction, name='create_payrolldeduction'),
      path('create_componenttype', payrollmastercontroller.create_componenttype, name='create_componenttype'),
      path('fetch_componenttype/<id>', payrollmastercontroller.fetch_componenttype, name='fetch_componenttype'),
      path('payrolldeduction_type_dropdown', payrollmastercontroller.payrolldeduction_type_dropdown, name='payrolldeduction_type_dropdown'),
      path('create_paycomponentflagmaster', payrollmastercontroller.create_paycomponentflagmaster, name='create_paycomponentflagmaster'),
      path('grade_paycomponent/<grade>', payrollmastercontroller.grade_paycomponent, name='employee_grade_paycomponent'),
      path('inactive_paycomponentflagmaster/<id>', payrollmastercontroller.inactive_paycomponentflagmaster, name='inactive_paycomponentflagmaster'),
      # segmentmaster
      path('create_segmentmaster', payrollmastercontroller.create_segmentmaster, name='create_segmentmaster'),
      path('segment_get/<id_val>', payrollmastercontroller.segment_get, name='segment_get'),
      #npayroll grade master
      path('create_grade', payrollmastercontroller.create_grade, name='create_grade'),
      path('get_grade_details/<id>', payrollmastercontroller.get_grade_details, name='get_grade_details'),
      #payrollmappingseg api
      path('create_paycompseg_mapping', paycomponentsegmentmappingcontroller.create_paycompseg_mapping, name='paycomponentsegmentmapping'),
      path('get_paysegment_data/<id>', paycomponentsegmentmappingcontroller.get_paysegment_data, name='paycomponentsegmentmapping'),
      path('create_payrolltemplate', payrolltemplatecontroller.create_payrolltemplate, name='payrolltemplate'),
      path('get_payrolltemplate_data/<id>', payrolltemplatecontroller.get_payrolltemplate_data, name='payrolltemplate'),
      path('create_payrollmastermapping', payrollmastermappingcontroller.create_payrollmastermapping,name='payrollmastermapping'),
      path('get_payrollmastermapping_data/<id>', payrollmastermappingcontroller.get_payrollmastermapping_data, name='payrollmastermapping'),
      path('inactive_payrollmastermapp/<template_id>/<segment_id>', payrollmastermappingcontroller.inactive_payrollmastermapp, name='inactive_payrollmastermapp'),
      path('inactive_payrolltemplate_common/<id>', payrolltemplatecontroller.inactive_payrolltemplate_common, name='inactive_payrolltemplate_common'),
      path('get_payrollflagmaster_data/<id>', payrolltemplatecontroller.get_payrolltemplate_get, name='payrolltemplate'),
      path('grade_based_segment_data', payrolltemplatecontroller.grade_based_segment_data, name='grade_based_segment_data'),
      path('grade_based_segment_data1', payrolltemplatecontroller.grade_based_segment_data1, name='grade_based_segment_data1'),
      # company_contribution and employee_contribution details paycom list
      path('cc_epf_paycom_details', payrollmastercontroller.cc_epf_paycom_details, name='cc_epf_paycom_details'),
      #component_type_category_drop_down
      path('category_dropdown',payrollmastercontroller.category_dropdown,name='category_dropdown'),
      # payrollmaster upload
      path('payrollmaster_upload',payrollmastercontroller.payrollmaster_upload,name='payrollmaster_upload'),
      path('payrollmaster_template_upload',payrollmastercontroller.payrollmaster_template_upload,name='payrollmaster_template_upload'),
      # report
      path('create_report_column',report_controller.create_report_column,name='create_report_column'),
      path('get_reportcolumn/<rep_id>',report_controller.get_report_column,name='get_reportcolumn'),
      path('create_report_template',report_controller.create_report_template,name='create_report_template'),
      path('get_report_template/<temp_id>',report_controller.get_report_template,name='get_report_template'),
      path('delete_report_template/<detail_id>',report_controller.delete_report_template,name='delete_report_template'),
      path('report_dropdown',report_controller.report_dropdown,name='report_dropdown'),
      path('report_banktemplate/<template_id>',report_controller.report_banktemplate,name='report_banktemplate'),
      path('payroll_test_upload',empmonthlypayinfocontroller.payroll_test_upload,name='payroll_test_upload'),
      path('payroll_test_present_count',empmonthlypayinfocontroller.payroll_test_present_count,name='payroll_test_present_count'),
      path('payroll_test_attendance_summary',empmonthlypayinfocontroller.payroll_test_attendance_summary,name='payroll_test_attendance_summary'),
      path('payroll_test_template',empmonthlypayinfocontroller.payroll_test_template,name='payroll_test_template'),
      path('custom_bulkupload',empadditionalallowancecontroller.custom_bulkupload,name='custom_bulkupload'),
      path('payroll_bank_template/<bank_id>',report_controller.payroll_bank_template,name='payroll_bank_template'),
      path('update_payroll_paidstatus',empmonthlypayinfocontroller.update_payroll_paidstatus,name='update_payroll_paidstatus'),
      path('reportcolumns_dropdown',report_controller.reportcolumns_dropdown,name='reportcolumns_dropdown'),
      path('get_linkcolumns',report_controller.get_linkcolumns,name='get_linkcolumns'),
      path('bank_linkcolumns_exceldownload/<bank_id>',report_controller.bank_linkcolumns_exceldownload,name='bank_linkcolumns_exceldownload'),
      path('excelupdate_payrollpaystatus',report_controller.excelupdate_payrollpaystatus,name='excelupdate_payrollpaystatus'),
    # advance paidstatus update
    path('update_advavancepaid', empadvancedetailscontroller.update_advavancepaid, name='update_advavancepaid'),
    path('advancesummary', empadvancedetailscontroller.advancesummary, name='advancesummary'),
    #schedular_payrollmanualrun
    path('schedular_payrollmanualrun',empmonthlypayinfocontroller.schedular_payrollmanualrun,name='schedular_payrollmanualrun'),


] + static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)