o
    ۷h                     @   s  d dl 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
 d dlmZ d dlmZ d d	lmZ d d
lmZmZmZ d dlmZ d dlmZ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%m&Z& ee$ddge%e ge&ee"gdd Z'ee$ddge%e ge&ee"gdd Z(ee$dge%e ge&ee"gdd Z)ee$dge%e ge&ee"gdd Z*ee$dge%e ge&ee"gdd Z+ee$dge%e ge&ee"gdd  Z,dS )!    N)HttpResponse)csrf_exempt)IsAuthenticated)PaycomponentFlagmasterRequest)PayrollTemplateRequest)PaycomponentFlagmasterResponse)PayrollSegementMappingService)PayrollmastermappingService)PaycomponentFlagmasterServiceCompanyContributionServiceEmployeePFService)PayrollTemplateService)FlagRef_Typemaster_validationPayrollValidation)NWisefinList)NWisefinPage)NWisefinAuthentication)NWisefinPermission)api_viewauthentication_classespermission_classesPOSTGETc              	   C   s6  | j }| jdkrtt| j}t|}tjdkrit|}| j	}t
|||}|jdkra|d }|D ]/}t|}	t||	|tj|j}
t||d }|D ]}t||j|j|j|j|}qNq1t| ddS t|}t|ddS | jdkr| jd	d
}t|}t|d}t
| || }t| ddS d S )Nr   SuccesszALREADY EXISTS IN GRADEsegmentref_idapplication/jsoncontent_typer   page   
   )!scopemethodjsonloadsbodyr   r   statusr   employee_idr   create_payrolltemplatemessager   r
   create_paycomponentflagr   PAYROLLTEMPLATEidr   get_segment_and_paycomponent_idr	   auto_create_mastermappingr   paycomponentsegment_percentager   getdumpsr   intr   payrolltemplate_summary)requestr#   	data_jsonvalidation_responsereq_objuser_idpayroll_servflag_master_dataidata_objflag_servicepaysegmappingjtemplate_creation	json_datar    vys_pageresponse rG   L/var/www/FinalPayroll/payrollservice/controller/payrolltemplatecontroller.pyr*      s6   


 


r*   DELETEc                 C   sZ   | j }| jdkrt||}t| ddS | jdkr+t||}t| ddS d S )Nr   r   r   rI   )r#   r$   r   get_payrolltemplate_datar   r3   inactive_payrolltemplater7   r.   r#   r<   rG   rG   rH   rJ   7   s   

rJ   c                 C   s   | j }| jdkr>t||}t }t|dkr;t||d j}t||}||_	|
| t| dd}|S 	 d S d S )Nr   r   r   r   )r#   r$   r   get_payrolletemplater   lenrJ   r.   r
   r   appendr   r3   )r7   r.   r#   r<   arrpayroll_templateflag_masterrF   rG   rG   rH   get_payrolltemplate_getE   s   

rS   c                 C   sL   | j }| jdkr$| jd}t||}tj|dd}t|dd}|S d S )Nr   grade   indentr   r   )	r#   r$   r   r3   r   grade_based_segment_datar%   r4   r   )r7   r#   rT   r<   json_dtarF   rG   rG   rH   rX   Y   s   
rX   c                 C   s   | j }| jdkr}| jd}t }i }t| }t| }t	|
|}||_||_t| }t|}	g g }
}|	d D ]}|dd  |
| q@|	d D ]}|dd  || qR|
|d< ||d< |d |d< tj|dd}t|d	d
}|S d S )Nr   rT   company_contributionr1   employee_contributionsegment_detailsrU   rV   r   r   )r#   r$   r   r3   r   r   get_cc_paycom_detailsr   get_employeepfstruct_detailsr   grade_based_segment_data1rZ   r[   strr%   r&   poprO   r4   r   )r7   r#   rT   resp_objfinal_data_obj
cc_serviceemp_pf_servicer<   data1datacc_dataemp_pf_datacontributionemp_pf
final_datarF   rG   rG   rH   r_   f   s4   


r_   c                 C   s2   | j }| jdkrt||}t| ddS d S )NrI   r   r   )r#   r$   r   inactive_payrolltemplate_commonr   r3   rL   rG   rG   rH   rm      s
   
rm   )-r%   django.httpr   django.views.decorators.csrfr   rest_framework.permissionsr   0payrollservice.data.request.payrollmasterrequestr   2payrollservice.data.request.payrolltemplaterequestr   2payrollservice.data.response.payrollmasterresponser   8payrollservice.service.paycomponentsegmentmappingservicer   2payrollservice.service.payrollmastermappingservicer	   ,payrollservice.service.payrollmastersservicer
   r   r   -payrollservice.service.payrolltemplateservicer   payrollservice.util.payrollutilr   r   r   )utilityservice.data.response.nwisefinlistr   )utilityservice.data.response.nwisefinpager   $common_middleware.request_middlewarer   )utilityservice.service.nwisefinpermissionr   rest_framework.decoratorsr   r   r   r*   rJ   rS   rX   r_   rm   rG   rG   rG   rH   <module>   s^    






	

