
    Z"j                     ~    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 d dlmZ d dlmZ  G d	 d
e      Zy)    )CountSum)ExtractMonth)APIView)Responsestatus)Work_Sub_Categories)Work_Contract)verify_tokenc                       e Zd Zd Zy)DashboardViewc                    t        |      }|st        dddt        j                        S t        j
                  j                  |      }|j                  d      j                         }|j                  d      j                         }|j                  d      j                         }|j                  d	      j                         }|j                         }|d
kD  rt        ||z  dz  d      nd
}	d
}
|j                  d      D ]f  }t        j
                  j                  |j                  |j                        j                  d      j                         }|sX|
|j                  z  }
h |j                  t!        d            j#                  d      j                  t%        d            j                  d      }ddddddddddddd}t'        dd       D ci c]  }|d
 }}|D ]  }|j)                  d      }|s|d!   ||<     g }|j+                         D ]  \  }}|j-                  |||   d"        t        d#d$t/        |
      ||	|||||d%
t        j0                        S c c}w )&NFzInvalid token)successmessager   )
contractor            r   d   )work_idsub_category_idz-idwork__created_at)monthr   id)totalJanFebMarAprMayJunJulAugSepOctNovDec)r   r   r   r               	   
            r   )labelvalueT   )
r   r	   total_earningstotal_worksperformanceassignedstarted	completed	cancelledmonthly_analytics)r   r   r	   HTTP_401_UNAUTHORIZEDr
   objectsfiltercountroundr   r   r   order_byfirstamountannotater   valuesr   rangegetitemsappendfloatHTTP_200_OK)selfrequestuserworks_querysetr9   r:   r;   r<   r7   r8   r6   itemcontractanalytics_querysetmonthsimonthly_datar   r=   month_number
month_names                        -/var/www/html/HOMYLIO_ADMIN/dashboard/apis.pyrI   zDashboardView.get   s   G$$. 33  -44;; < 
 "(( ) 

%' 	 !'' ( 

%' 	 #)) * 

%' 	 #)) * 

%' 	 %**, Q	 [(C/
  	 ")))3 	2D$,,33 $ 4 4 4  huoeeg 
 (//1	2 X"&  
 VG_XDk   Xg 	 
   2,
AqD
 
 ' 	4DHHW%E&*7mU#	4 (. 	$L*$$'),7	 "'"7**$"&&%6" %%%
 	
5
s   !
I0N)__name__
__module____qualname__rI        rZ   r   r      s    M
r_   r   N)django.db.modelsr   r   django.db.models.functionsr   rest_framework.viewsr   rest_framework.responser   rest_frameworkr	   works.modelsr
   contracts.modelsr   utils.helpersr   r   r^   r_   rZ   <module>rh      s+    ' 3 ( , ! , * &O
G O
r_   