
    hZ                     <   S SK Jr  S SKJr  S SKJr  S SKJr  S SKJ	r	J
r
JrJrJrJr  S SKJrJr  S SKJr  S SKJrJr  S S	KJrJrJrJrJrJrJrJrJ r    " S
 S\\5      r! " S S\\5      r" " S S\\5      r# " S S\\5      r$ " S S\\5      r% " S S\\5      r&g)    )JsonResponse)render)View)LoginRequiredMixin)F
FloatFieldCountSumExpressionWrapperValue)CoalesceCast)Team)ProgramsProjects)	ExpenditureIncomesHRExpenditureEquipmentExpenditureTravelExpenditureIECExpenditureAccommodationExpenditureMiscellaneousExpenditureOfficeExpenditurec                       \ rS rSrS rSrg)DashboardViews   c                    [         R                  R                  5       n[        R                  R                  5       n[        R                  R                  5       n[
        R                  R                  5       n[        R                  R                  5       n[        R                  R                  5       n[        R                  R                  5       n[        R                  R                  5       n	[        R                  R                  5       n
[        R                  R                  5       n[        R                  R                  5       n[        R                  R                  5       nSUR                  ;   Ga  UR                  S   S:w  Ga  [        R                  R                  UR                  S   S9n[        R                  R                  UR                  S   S9n[        R                  R                  UR                  S   S9n[        R                  R                  UR                  S   S9n	[        R                  R                  UR                  S   S9n
[        R                  R                  UR                  S   S9n[        R                  R                  UR                  S   S9n[        R                  R                  UR                  S   S9nUR                  =(       a    UR                  S   nUR                  UR                  S   S9R!                  5       nUR                  UR                  S   S9nUR                  UR                  S   S9nOSnSUR                  ;   Ga  UR                  S   S:w  Ga  SUR                  ;   Ga  UR                  S   S:w  Ga  UR                  UR                  S   UR                  S   S	9nUR                  UR                  S   UR                  S   S
9nUR                  UR                  S   UR                  S   S9nU	R                  UR                  S   UR                  S   S9n	U
R                  UR                  S   UR                  S   S9n
UR                  UR                  S   UR                  S   S9nUR                  UR                  S   UR                  S   S9nUR                  UR                  S   UR                  S   S9nUR                  UR                  S   UR                  S   S9nUR                  S   nUR                  S   nOSnSnUR#                  [%        S5      S9S   =(       d    SnUR#                  [%        S5      S9S   =(       d    SnUR#                  [%        S5      S9S   =(       d    SnU	R#                  [%        S5      S9S   =(       d    Sn	U
R#                  [%        S5      S9S   =(       d    Sn
UR#                  [%        S5      S9S   =(       d    SnUR#                  [%        S 5      S!9S    =(       d    SnUR#                  [%        S"5      S#9S"   =(       d    SnXx-   U	-   U
-   U-   U-   U-   nUR'                  5       nSnU H  nUR(                  c  UR*                  c  US$-   nM$  UR*                  (       a'  U[-        UR*                  R/                  S%5      5      -   nUR(                  (       d  Mo  U[-        UR(                  R/                  S%5      5      -   nM     UR1                  [3        [%        [5        S&[7        5       5      5      [9        S'5      [7        5       S(9[3        [%        [5        S&[7        5       5      [5        S)[7        5       5      -  S*-  5      [9        S'5      [7        5       S(9S+9R1                  [;        [3        [5        [=        S,5      [7        5       5      [9        S'5      [7        5       S(9[3        [5        [=        S-5      [7        5       5      [9        S'5      [7        5       S(9-   [3        [%        [5        S&[7        5       5      5      [9        S'5      [7        5       S(9-   [3        [5        [=        S.5      [7        5       5      [9        S'5      [7        5       S(9-   [3        [5        [=        S/5      [7        5       5      [9        S'5      [7        5       S(9-   [3        [5        [=        S05      [7        5       5      [9        S'5      [7        5       S(9-   [3        [5        [=        S15      [7        5       5      [9        S'5      [7        5       S(9-   [7        5       S(9[;        [3        [5        [=        S,5      [7        5       5      [9        S'5      [7        5       S(9[3        [5        [=        S25      [7        5       5      [9        S'5      [7        5       S(9-  S*-  [3        [5        [=        S-5      [7        5       5      [9        S'5      [7        5       S(9[3        [5        [=        S35      [7        5       5      [9        S'5      [7        5       S(9-  S*-  -   [=        S45      -   [3        [5        [=        S.5      [7        5       5      [9        S'5      [7        5       S(9[3        [5        [=        S55      [7        5       5      [9        S'5      [7        5       S(9-  S*-  -   [3        [5        [=        S/5      [7        5       5      [9        S'5      [7        5       S(9[3        [5        [=        S65      [7        5       5      [9        S'5      [7        5       S(9-  S*-  -   [3        [5        [=        S05      [7        5       5      [9        S'5      [7        5       S(9[3        [5        [=        S75      [7        5       5      [9        S'5      [7        5       S(9-  S*-  -   [3        [5        [=        S15      [7        5       5      [9        S'5      [7        5       S(9[3        [5        [=        S85      [7        5       5      [9        S'5      [7        5       S(9-  S*-  -   [7        5       S(9S99R1                  [;        [=        S:5      [=        S;5      -
  [=        S<5      -
  [7        5       S(9S=9nUR                  SS>9nSnU H  nUUR>                  -   nM     UR                  S$S?9nSnU H  nUUR>                  -   nM     [A        US@UUUUXNUUUUSA.
5      $ )BNprojectAll
project_idexpenditure__project_id)program_team__project_id
start_date end_datepayment_date__gtepayment_date__ltehr_expence_date__gtehr_expence_date__lteequipment_expence_date__gteequipment_expence_date__ltetravel_expence_date__gtetravel_expence_date__lteiec_expence_date__gteiec_expence_date__lteaccommodation_expence_date__gteaccommodation_expence_date__ltemiscellaneous_expence_date__gtemiscellaneous_expence_date__lteoffice_expence_date__gteoffice_expence_date__lte)expence_date__gteexpence_date__ltereceived_amount)income_amountrD   r   	hr_amountrE   equipment_amountrG   travel_amountrI   
iec_amountrK   accommodation_amountrM   miscellaneous_amountrO   office_amountrQ      ,travel__travel_amountg        )output_fieldtravel__travel_tds_deductiong      Y@)travel_total_amounttravel_total_tdshr__hr_amountequipment__equipment_amountiec__iec_amount#accommodation__accommodation_amount#miscellaneous__miscellaneous_amountoffice__office_amounthr__hr_tds_deduction"equipment__equipment_tds_deductionrY   iec__iec_tds_deduction*accommodation__accommodation_tds_deduction*miscellaneous__miscellaneous_tds_deductionoffice__office_tds_deduction)total_amount	total_tdsrf   advancerg   )
net_amount)payment_status)assetszdashboard.html)
rD   expenditure_amountteambeneficiariesprojectsr   r&   r(   liablility_amountassets_amount)!r   objectsallr   r   r   r   r   r   r   r   r   r   r   GETfilterdistinct	aggregater
   countdocument_applyscheme_applylensplitannotater   r   r   r   r   r   ri   r   )selfrequestrm   rn   ro   liabilitiesrD   rE   rG   rI   rK   accomodation_amountrO   rQ   r   r&   r(   rM   rl   beneficiaries_countbeneficiaryliabilities_amountrp   	liabilityrk   rq   assets                              %/var/www/html/DEMO/dashboard/views.pygetDashboardViews.get   s    ||! ((,,.##'')!))--/++-!))--/	/77;;=)11557#++//1
6>>BBD7??CCE)11557#I(>%(G#OO22I@V2WM%--44w{{[dOe4fI3;;BB]d]h]hir]sBt-55<<W^WbWbclWm<nM'//66QXQ\Q\]fQg6hJ":"B"B"I"Idkdodopydz"I"{#;#C#C#J#Jelepepqze{#J#| -55<<W^WbWbclWm<nMkk<gkk)&<G;;'++i:P;QZZ\D)00gkk)>T0UM%,,'++i:P,QKG 7;;&7;;|+D+Jz]d]h]hOhmtmxmx  zD  nE  IK  nK)00W[[Q]E^t{tt  AK  uL0  MM!((L@Yryr}r}  I  sJ(  KI/66U\U`U`amUn  OV  OZ  OZ  [e  Of6   g)00GKKXdLe  CJ  CN  CN  OY  CZ0  [M#**7;;|C\v}  wB  wB  CM  wN*  OJ"5"<"<_f_j_jkw_x  ]d  ]h  ]h  is  ]t"<  #u#7#>#>ahalalmyaz  _f  _j  _j  ku  _v#>  $w )00GKKXdLe  CJ  CN  CN  OY  CZ0  [M%,,\AZpwp{p{  }G  qH,  IK \2J{{:.HJH%//DU@V/WXghmlm''C4D'EkRWVW	+55M_I`5abtuzyz%//O@T/UVefkjk))s<7H)I,W\[\
2<<TWXnTo<p  rH   I   N  MN3==UXYoUp=q  sI   J   O  NO%//O@T/UVefkjk&9MIJVYmm  qE  E  HU  Uzz|  (K))1k6N6N6V&9A&=#++*=KD\D\DbDbcfDg@h*h'---*=KD^D^DdDdehDi@j*j' ) "** (T2I:<-X)Y[`ad[et~  uA  !B%c,jl;3Z\BCEJK' Sz
6 + 
 (*a0*,?sZdZfga =>
MuUXzhrhtuvT"9:<HI5QT:dndpqr a 12JLA5:\f\hij a EF
UW\]`Wapzp|}	~
 a EF
UW\]`Wapzp|}~ a 78*,Gsblbnop (\	 ($q1:<@%*[e[gha 67Fc
akamnoqvw $q!>?NPUVYPZisiuva DEz|TV[\_V`oyo{|} @EEF $%& $q!23Z\BE#J]g]ija 89:<H%PS*cmcopqsxy	z $q!FGVX]^aXbq{q}~a LMz|\^cdg^h  xB  xD  EE HMMN $q!FGVX]^aXbq{q}~a LMz|\^cdg^h  xB  xD  EE HMMN" $q!89:<H%PS*cmcopa >?NPUVYPZisiuvwy~#@& (\)  !
B ((.!AiL01[>A'\  
O 	\ )///C+I 1I4H4H H , ##Q#/E)E,<,<<M  g/Mj|  HL  `s  BJ  pz  IQ  iz  N[  2\  ]  	]     N__name__
__module____qualname____firstlineno__r   __static_attributes__r   r   r   r   r      s	    G]r   r   c                       \ rS rSrS rSrg)ExpenditureChartView   c           	      h	   [         R                  R                  5       n[        R                  R                  5       n[        R                  R                  5       n[
        R                  R                  5       n[        R                  R                  5       n[        R                  R                  5       n[        R                  R                  5       nSUR                  ;   Ga:  UR                  S   S:w  Ga&  [         R                  R                  UR                  S   S9n[        R                  R                  UR                  S   S9n[        R                  R                  UR                  S   S9n[
        R                  R                  UR                  S   S9n[        R                  R                  UR                  S   S9n[        R                  R                  UR                  S   S9n[        R                  R                  UR                  S   S9nSUR                  ;   Ga_  UR                  S   S:w  GaK  SUR                  ;   Ga:  UR                  S   S:w  Ga&  UR                  UR                  S   UR                  S   S9nUR                  UR                  S   UR                  S   S9nUR                  UR                  S   UR                  S   S	9nUR                  UR                  S   UR                  S   S
9nUR                  UR                  S   UR                  S   S9nUR                  UR                  S   UR                  S   S9nUR                  UR                  S   UR                  S   S9nUR                  [        S5      S9S   =(       d    SnUR                  [        S5      S9S   =(       d    SnUR                  [        S5      S9S   =(       d    SnUR                  [        S5      S9S   =(       d    SnUR                  [        S5      S9S   =(       d    SnUR                  [        S5      S9S   =(       d    SnUR                  [        S5      S9S   =(       d    SnSUS.SUS.S US.S!US.S"US.S#US.S$US./n	[        S%U	0S&S'9$ )(Nr   r    r#   r&   r'   r(   r,   r/   r2   r5   r8   r;   r>   rE   rF   r   rG   rH   rI   rJ   rK   rL   rM   rN   rO   rP   rQ   rR   zHuman Resource AmountnameyzEquipment AmountzTravel Amountz
IEC AmountzAccomodation AmountzMiscellaneous AmountzOffice AmountamountsFsafe)r   rr   rs   r   r   r   r   r   r   rt   ru   rw   r
   r   )
r~   r   rE   rG   rI   rK   rM   rO   rQ   r   s
             r   r   ExpenditureChartView.get   sN    "))--/	/77;;=)11557#++//1
7??CCE7??CCE)11557#I(>%(G%--44w{{[dOe4fI3;;BB]d]h]hir]sBt-55<<W^WbWbclWm<nM'//66QXQ\Q\]fQg6hJ#;#C#C#J#Jelepepqze{#J#| #;#C#C#J#Jelepepqze{#J#| -55<<W^WbWbclWm<nM7;;&7;;|+D+Jz]d]h]hOhmtmxmx  zD  nE  IK  nK!((L@Yryr}r}  I  sJ(  KI/66V]VaVabnVo  QX  Q\  Q\  ]g  Qh6   i)00W[[YeMf  EL  EP  EP  Q[  E\0  ]M#**GKKP\D]x  yD  yD  EO  yP*  QJ#7#>#>bibmbmnzb{  ah  al  al  mw  ax#>  $y #7#>#>bibmbmnzb{  ah  al  al  mw  ax#>  $y )00W[[YeMf  EL  EP  EP  Q[  E\0  ]M''C4D'EkRWVW	+55M_I`5abtuzyz%//O@T/UVefkjk))s<7H)I,W\[\
3==UXYoUp=q  sI   J   O  NO3==UXYoUp=q  sI   J   O  NO%//O@T/UVefkjk .I>(0@A%];"*5+3GH,4HI%];
 Y0u==r   r   Nr   r   r   r   r   r      s    />r   r   c                       \ rS rSrS rSrg)IncomeChartView   c                    [         R                  R                  5       nSUR                  ;   a/  UR                  S   S:w  a  UR	                  UR                  S   S9nSUR                  ;   a`  UR                  S   S:w  aM  SUR                  ;   a=  UR                  S   S:w  a*  UR	                  UR                  S   UR                  S   S9nUR                  [        S5      S	9S   =(       d    S
nUR                  [        S5      S9S   =(       d    S
nUR                  [        S5      S9S   =(       d    S
nUR                  [        S5      S9S   =(       d    S
nUR                  [        S5      S9S   =(       d    S
nUR                  [        S5      S9S   =(       d    S
nUR                  [        S5      S9S   =(       d    S
n	UR                  [        S5      S9S   =(       d    S
n
UR                  [        S5      S9S   =(       d    S
nUR                  [        S5      S9S   =(       d    S
nSUS.SUS.S US.S!US.S"US.S#US.S$U	S.S%U
S.S&US.S'US./
n[        S(U0S)S*9$ )+Nr   r    r!   r&   r'   r(   r)   human_resourcer   r   camp_expenses)r   training_expenses)r   equipment_expensesr   travel_expensesr   material_expencesr   administrative_expenses)r   accomodation_expensesr   monitoring_expenses)r   miscellaneous_expensesr   zHuman Resource Expensesr   zCamp ExpenseszTraining ExpenseszEquipment ExpenseszTravel ExpenseszMaterial ExpenceszAdministrative ExpenseszAccomodation ExpenseszMonitoring ExpenseszMiscellaneous Expensesincome_resultFr   )r   rr   rs   rt   ru   rw   r
   r   )r~   r   incomes_datar   r   r   r   r   r   r   r   r   r   incomess                 r   r   IncomeChartView.get   s   **,#I(>%(G'..GKK	<R.SL7;;&7;;|+D+Jz]d]h]hOhmtmxmx  zD  nE  IK  nK'..7;;|C\ryr}r}  I  sJ.  KL &//EUAV/WXhinmn$..s??S.TUdejij(22sK^G_2`atuzyz)33MaIb3cdxy~}~&003GXCY0Z[lmrqr(22sK^G_2`atuzyz"."8"8SVWpSq"8"r  tM  #N  #S  RS , 6 6sSjOk 6 l  nE  !F  !K  JK*443OdKe4fg|}  C  BC!-!7!7QTUmQn!7!o  qI  "J  "O  NO 0nE%];)1BC*2DE'?)1BC/7NO-5JK+3FG.6LM
 W
 	r   r   Nr   r   r   r   r   r      s    &r   r   c                       \ rS rSrS rSrg)IncomeExpenditureChartView   c                 
   [         R                  R                  5       n[        R                  R                  5       n[        R                  R                  5       n[
        R                  R                  5       n[        R                  R                  5       n[        R                  R                  5       n[        R                  R                  5       nSUR                  ;   Ga,  UR                  S   S:w  Ga  UR                  UR                  S   S9n[        R                  R                  UR                  S   S9n[        R                  R                  UR                  S   S9n[
        R                  R                  UR                  S   S9n[        R                  R                  UR                  S   S9n[        R                  R                  UR                  S   S9n[        R                  R                  UR                  S   S9nSUR                  ;   Ga_  UR                  S   S:w  GaK  SUR                  ;   Ga:  UR                  S   S:w  Ga&  UR                  UR                  S   UR                  S   S9nUR                  UR                  S   UR                  S   S	9nUR                  UR                  S   UR                  S   S
9nUR                  UR                  S   UR                  S   S9nUR                  UR                  S   UR                  S   S9nUR                  UR                  S   UR                  S   S9nUR                  UR                  S   UR                  S   S9nUR                  [        S5      S9S   =(       d    Sn	UR                  [        S5      S9S   =(       d    Sn
UR                  [        S5      S9S   =(       d    SnUR                  [        S5      S9S   =(       d    SnUR                  [        S5      S9S   =(       d    SnUR                  [        S5      S9S   =(       d    SnUR                  [        S5      S9S   =(       d    SnUR                  [        S5      S9S   =(       d    SnUR                  [        S 5      S!9S    =(       d    SnUR                  [        S"5      S#9S"   =(       d    SnUR                  [        S$5      S%9S$   =(       d    SnUR                  [        S&5      S'9S&   =(       d    SnXXX/nX4XVXx/n[        UUS(.S)S*9$ )+Nr   r    r!   r#   r&   r'   r(   r)   r,   r/   r2   r5   r8   r;   r   r   r   r   r   r   r   r   r   r   r   r   r   rE   rF   rG   rH   rI   rJ   rK   rL   rM   rN   rO   rP   )r   amount_resultFr   )r   rr   rs   r   r   r   r   r   r   rt   ru   rw   r
   r   )r~   r   r   rE   rG   rI   rK   rM   rO   r   r   r   r   r   r   r   r   s                    r   r   IncomeExpenditureChartView.get  s   **,!))--/	/77;;=)11557#++//1
7??CCE7??CCE#I(>%(G'..GKK	<R.SL%--44w{{[dOe4fI3;;BB]d]h]hir]sBt-55<<W^WbWbclWm<nM'//66QXQ\Q\]fQg6hJ#;#C#C#J#Jelepepqze{#J#| #;#C#C#J#Jelepepqze{#J#| 7;;&7;;|+D+Jz]d]h]hOhmtmxmx  zD  nE  IK  nK'..7;;|C\ryr}r}  I  sJ.  KL!((L@Yryr}r}  I  sJ(  KI/66U\U`U`amUn  OV  OZ  OZ  [e  Of6   g)00GKKXdLe  CJ  CN  CN  OY  CZ0  [M#**7;;|C\v}  wB  wB  CM  wN*  OJ#7#>#>ahalalmyaz  _f  _j  _j  ku  _v#>  $w #7#>#>ahalalmyaz  _f  _j  _j  ku  _v#>  $w %//EUAV/WXhinmn)33MaIb3cdxy~}~&003GXCY0Z[lmrqr(22sK^G_2`atuzyz , 6 6sSjOk 6 l  nE  !F  !K  JK!-!7!7QTUmQn!7!o  qI  "J  "O  NO''C4D'EkRWVW	+55M_I`5abtuzyz%//O@T/UVefkjk))s<7H)I,W\[\
3==UXYoUp=q  sI   J   O  NO3==UXYoUp=q  sI   J   O  NO![p  JK_v$%
  	r   r   Nr   r   r   r   r   r      s    1r   r   c                       \ rS rSrS rSrg)IncomeTypeChartViewi7  c                 r   [         R                  R                  5       nSUR                  ;   a/  UR                  S   S:w  a  UR	                  UR                  S   S9nSUR                  ;   a`  UR                  S   S:w  aM  SUR                  ;   a=  UR                  S   S:w  a*  UR	                  UR                  S   UR                  S   S9nUR                  S5      R                  [        S	5      S
9R                  S5      nU Vs/ s H  nUS   =(       d    SUS   S.PM     nn[        SU0SS9$ s  snf )Nr   r    r!   r&   r'   r(   r)   income_typerC   )total_incomeUnknownr   r   r   Fr   )
r   rr   rs   rt   ru   valuesr}   r
   order_byr   )r~   r   r   income_countsitemr   s         r   r   IncomeTypeChartView.get9  sX   **,#I(>%(G'..GKK	<R.SL7;;&7;;|+D+Jz]d]h]hOhmtmxmx  zD  nE  IK  nK'..7;;|C\ryr}r}  I  sJ.  KL VM"X3'8#9X:Xm$	 	 &
% -(5ID<PQ% 	 

 ]
 	
s   D4r   Nr   r   r   r   r   r   7  s    r   r   c                       \ rS rSrS rSrg)CollectDataChartViewiV  c                 f   [         R                  R                  5       nSUR                  ;   a/  UR                  S   S:w  a  UR	                  UR                  S   S9nSUR                  ;   a`  UR                  S   S:w  aM  SUR                  ;   a=  UR                  S   S:w  a*  UR	                  UR                  S   UR                  S   S9n[        UR                  S5      R                  [        S	5      S
95      nU Vs/ s H  nUS   =(       d    SUS   S.PM     nn[        SU0SS9$ s  snf )Nr   r    r!   r&   r'   r(   )from_date__gtefrom_date__ltecategoryid)rx   r   rx   r   program_dataFr   )
r   rr   rs   rt   ru   listr   r}   r	   r   )r~   r   r   r   programs_datas        r   r   CollectDataChartView.getX  sS   ''++-#I(>%(G'..GKK	<R.SL7;;&7;;|+D+Jz]d]h]hOhmtmxmx  zD  nE  IK  nK'..L@Ylslwlw  yC  mD.  EL L//
;DD5QU;DWX
 %
$ *%2gG$ 	 

 M
 	
s   D.r   Nr   r   r   r   r   r   V  s    r   r   N)'django.httpr   django.shortcutsr   django.viewsr   django.contrib.auth.mixinsr   django.db.modelsr   r   r	   r
   r   r   django.db.models.functionsr   r   hr_department.modelsr   program_department.modelsr   r   finance_department.modelsr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   <module>r      s    $ #  9 P P 5 % 8 J  J  JI]' I]^1>-t 1>l(($ (Z3!3T 3n,d >-t r   