o
    ۷h[                     @   s   d dl Z d dlmZmZ d dlmZ d dlmZ d dlm	Z	 d dl
mZ d dlmZmZ d dlmZ d d	lmZ d d
lmZ G dd deZG dd dZdS )    N)QQuerySet)Activestatus)EmployeeResponse)NWisefinList)ModulePermission)RoleList
ModuleList)ApplicationNamespace)NWisefinThread)HrmsApiServicec                       s  e Zd Z fddZdZdd Zdd Zdd	 Zd
d Zdd Z	dd Z
dd Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zd d! Zd"d# Zd$d% Zd&d' Zd(d) Zd*d+ Zd,d- Zd.d/ Zd0d1 Zd2d3 Zd4d5 Zd6d7 Zd8d9 Zd:d; Z d<d= Z!d>d? Z"  Z#S )@Payrollcommon_Apicallc                    s   t  | | tj d S N)super__init___set_namespacer
   PAYROLL_SERVICE)selfscope	__class__ C/var/www/FinalPayroll/utilityservice/service/payroll_api_service.pyr      s   zPayrollcommon_Apicall.__init__Tc                 C   &   | j rt|  }||}|S 	 d S r   )MICRO_SERVICEr   _scopeget_emp_list_info)r   	empid_arremp_serempr   r   r   r      s
   
z'Payrollcommon_Apicall.get_emp_list_infoc                 C   r   r   )r   r   r   emp_id_infor   idemp_servemp_detailsr   r   r   emp_info&   
   
zPayrollcommon_Apicall.emp_infoc                 C   r   r   )r   r   r   get_empdtls_using_empcode)r   coder#   r$   r   r   r   emp_code0   r&   zPayrollcommon_Apicall.emp_codec                 C   r   r   )r   r   r   employee_details_payrollr!   r   r   r   emp_details_payroll:   r&   z)Payrollcommon_Apicall.emp_details_payrollc                 C   r   r   )r   r   r   employee_id_getr   employee_idr#   emp_getr   r   r   r,   E   r&   z%Payrollcommon_Apicall.employee_id_getc                 C   r   r   )r   r   r   employee_data)r   r"   r#   r/   r   r   r   r0   P   r&   z#Payrollcommon_Apicall.employee_datac                 C   r   r   )r   r   r   emp_arr_function)r   queryr#   r/   r   r   r   r1   Z   r&   z&Payrollcommon_Apicall.emp_arr_functionc                 C   @   | j rt|  }| }t|tr|}nt }t|S 	 d S r   )r   r   r   get_dropdown_cc
isinstancedictjsondumps)r   cc_servr/   ccr   r   r   dropdown_ccd   s   

z!Payrollcommon_Apicall.dropdown_ccc                 C   r3   r   )r   r   r   get_dropdown_bsr5   r6   r7   r8   )r   bs_servr/   bsr   r   r   dropdown_bsr   s   

z!Payrollcommon_Apicall.dropdown_bsc                 C   6   | j rt|  }|||}|d ur|S t S 	 d S r   )r   r   r   emp_arr_cc_bslist)r   emp_ccemp_bsemp_Servr/   r   r   r   rA         z#Payrollcommon_Apicall.emp_arr_cc_bsc                 C   r   r   )r   r   r   emp_data_cc_bs)r   employeerE   r/   r   r   r   rG      r&   z$Payrollcommon_Apicall.emp_data_cc_bsc                 C   r   r   )r   r   r   employee_detail_arrr-   r   r   r   rI      r&   z)Payrollcommon_Apicall.employee_detail_arrc                 C   r   r   )r   r   r   employee_get_valuer-   r   r   r   rJ      r&   z(Payrollcommon_Apicall.employee_get_valuec                 C   s$   | j rt|  }| }|S 	 d S r   )r   r   r   employee_overall_data)r   r#   r/   r   r   r   rK      s
   z+Payrollcommon_Apicall.employee_overall_datac                 C   s2   | j rt|  }|||d}||}|S 	 d S )N)paramsemp_idr.   )r   r   r   payslip_gen_code)r   rL   rM   r.   	code_serv	data_dictr(   r   r   r   rN   B  s   
z&Payrollcommon_Apicall.payslip_gen_codec                 C   s   t |  }|||}|dkr-tj|v r|dkrtj}|S tj|v r(tj}|S tj}|S tj|v r6d}|S tj|v r?d}|S d}|S )Nzemployee advancezchecker create      r   )r   r   employee_moduleroler   PAYROLL_CHECKERPAYROLL_ADMIN)r   rM   modulefind_role_id	find_rolemodule_permissionrole_arrroler   r   r   employee_role_checkK  s&   



z)Payrollcommon_Apicall.employee_role_checkc                 C   s"   | j rt|  |}|S 	 d S r   )r   r   r   payroll_admin_role)r   rX   r   r   r   r]        z(Payrollcommon_Apicall.payroll_admin_rolec                 C   s   t j}| ||||}| |}t|  |tj||d}t	 }|D ]#}t
 }	d|d d |d }
|	|d |
|	_||	 q$|S )N)r"   statusemp_nameemp_arr(r(   z) 	full_namer"   )r	   Employee_Payrollr\   r]   r   r   get_emp_list_by_idr   activer   r   getset_idrc   append)r   rW   rX   employeenameuser_idrV   emp_dataarrrH   	data_respemployee_namer   r   r   employee_payroll_admin  s   
z,Payrollcommon_Apicall.employee_payroll_adminc                 C   r@   r   )r   r   r   grade_employeerB   )r   r.   grader#   r/   r   r   r   rq     rF   z$Payrollcommon_Apicall.grade_employeec                 C   "   | j rt|  |}|S 	 d S r   )r   r   r   get_bank_namepay)r   	bank_namemst_servr   r   r   rt   	     z&Payrollcommon_Apicall.get_bank_namepayc                 C   rs   r   )r   r   r   get_grade_data_by_idr   rr   mst_Servr   r   r   rx     r^   z*Payrollcommon_Apicall.get_grade_data_by_idc                 C   s.   | j rtj|d}t|  |}|S 	 d S )N)r_   r"   )r   r   rf   r   r   get_grade_by_id)r   rr   rP   rz   r   r   r   get_grade_details  s
   z'Payrollcommon_Apicall.get_grade_detailsc                 C   rs   r   )r   r   r   get_grade_datary   r   r   r   	get_grade#  r^   zPayrollcommon_Apicall.get_gradec                 C   rs   r   )r   r   r   fetch_bank_details)r   bank_id_arrrv   r   r   r   r   +  rw   z(Payrollcommon_Apicall.fetch_bank_detailsc                 C   rs   r   )r   r   r   get_grade_by_namery   r   r   r   get_grade_name4  r^   z$Payrollcommon_Apicall.get_grade_namec                 C   r   r   )r   r   r   employee_payrolldetails)r   id_arrr#   r/   r   r   r   r   <  r&   z-Payrollcommon_Apicall.employee_payrolldetailsc                 C   s&   | j rt|  |||}|S 	 d S r   )r   r   r   bank_template_based_employee1)r   requestbank_idrk   r/   r   r   r   bank_template_based_employeeF  s   z2Payrollcommon_Apicall.bank_template_based_employeec                 C       | j rt|   }|S 	 d S r   )r   r   r   get_employeecolumnsr   r/   r   r   r   r   N     z)Payrollcommon_Apicall.get_employeecolumnsc                 C   r   r   )r   r   r   get_employeebankcolumnsr   r   r   r   r   V  r   z-Payrollcommon_Apicall.get_employeebankcolumnsc                 C   rs   r   )r   r   r   get_multiple_emp_dept)r   
emp_id_arrempdept_detailsr   r   r   emp_department^  r^   z$Payrollcommon_Apicall.emp_department)$__name__
__module____qualname__r   r   r   r%   r)   r+   r,   r0   r1   r;   r?   rA   rG   rI   rJ   rK   rN   r\   r]   rp   rq   rt   rx   r|   r~   r   r   r   r   r   r   r   __classcell__r   r   r   r   r      sD    




 	@	b			
r   c                   @   s,   e Zd Zg Zg Zdd Zdd Zdd ZdS )DictObjc                 C   s&   t |tr
t|}| j| | jS r   )r5   strr7   loads__dict__update)r   dict1r   r   r   rg   j  s   

zDictObj.getc                 C   sB   t |tr|D ]}| j| | j|  q| jS | j| | S r   )r5   r   r   r   queryset_datari   )r   r   datar   r   r   get_objp  s   
zDictObj.get_objc                 C   s8   | j D ]}| D ]\}}||kr| j| q	q| jS r   )r   items
result_setri   )r   fieldr   keyvaluer   r   r   values_list{  s   
zDictObj.values_listN)r   r   r   r   r   rg   r   r   r   r   r   r   r   f  s    r   )r7   django.db.modelsr   r   payrollservice.util.payrollutilr   -payrollservice.data.response.employeeresponser   )utilityservice.data.response.nwisefinlistr   2utilityservice.permissions.filter.commonpermissionr   &utilityservice.permissions.util.dbutilr   r	   +utilityservice.service.applicationconstantsr
   "utilityservice.service.threadlocalr   :hrmsmasterapiservice.hrmsmasterapi.masteranduserserviceapir   r   r   r   r   r   r   <module>   s         S