
    +h9                         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mZ d dlmZ d dlmZmZ d dlmZmZmZmZmZmZmZmZmZ  G d	 d
ee      Z G d dee      Z G d dee      Z G d dee      Zy)    )JsonResponse)render)View)LoginRequiredMixin)F
FloatFieldCountSum)Team)ProgramsProjects)	ExpenditureIncomesHRExpenditureEquipmentExpenditureTravelExpenditureIECExpenditureAccommodationExpenditureMiscellaneousExpenditureOfficeExpenditurec                       e Zd Zd Zy)DashboardViewsc                    t         j                  j                         }t        j                  j                         }t        j                  j                         }t
        j                  j                         }t        j                  j                         }t        j                  j                         }t        j                  j                         }t        j                  j                         }	t        j                  j                         }
t        j                  j                         }t        j                  j                         }d|j                  v r|j                  d   dk7  rt
        j                  j                  |j                  d         }t        j                  j                  |j                  d         }t        j                  j                  |j                  d         }t        j                  j                  |j                  d         }t        j                  j                  |j                  d         }	t        j                  j                  |j                  d         }
t        j                  j                  |j                  d         }t        j                  j                  |j                  d         }|j                  xr |j                  d   }|j                  |j                  d         j                         }|j                  |j                  d         }nd}d|j                  v r|j                  d   dk7  r|j                  |j                  d         }|j                  |j                  d   	      }|j                  |j                  d   
      }|j                  |j                  d         }|	j                  |j                  d         }	|
j                  |j                  d         }
|j                  |j                  d         }|j                  |j                  d         }|j                  d   }nd}|j!                  t#        d            d   xs d}|j!                  t#        d            d   xs d}|j!                  t#        d            d   xs d}|j!                  t#        d            d   xs d}|	j!                  t#        d            d   xs d}	|
j!                  t#        d            d   xs d}|j!                  t#        d            d   xs d}|j!                  t#        d       !      d    xs d}||z   |z   |	z   |z   |z   |z   }|j%                         }|j%                         }t'        |d"|||||||d#      S )$NprojectAll
project_idexpenditure__project_id)program_team__project_iddate payment_datehr_expence_dateequipment_expence_datetravel_expence_dateiec_expence_dateaccomodation_expence_datemiscellaneous_expence_dateoffice_expence_datereceived_amount)income_amountr4   r   	hr_amountr5   equipment_amountr7   travel_amountr9   
iec_amountr;   accommodation_amountr=   miscellaneous_amountr?   office_amountrA   zdashboard.html)r4   expenditure_amountteambeneficiariesprojectsr   r!   )r   objectsallr   r   r   r   r   r   r   r   r   r   GETfilterdistinct	aggregater
   countr   )selfrequestrD   rE   rF   r4   r5   r7   r9   r;   accomodation_amountr?   rA   r   r!   r=   rC   s                    </mnt/ACDE16A4DE16673C/PROJECTS/MIS_PORTAL/dashboard/views.pygetzDashboardViews.get   su    ||! ((,,.##'')++-!))--/	/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G W[[ W[[%8B%>)00F@S0TM!((7;;v;N(OI/66PWP[P[\bPc6d)00w{{SYGZ0[M#**gkk&>Q*RJ"5"<"<Y`YdYdekYl"<"m#7#>#>\c\g\ghn\o#>#p )00w{{SYGZ0[M;;v&DD%//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&)99MIJVYmm  qE  E  HU  Uzz|%++-g/Mj|  HL  `m  |D  RY  dh  2i  j  	j    N__name__
__module____qualname__rR    rS   rQ   r   r      s    8jrS   r   c                       e Zd Zd Zy)ExpenditureChartViewc           	         t         j                  j                         }t        j                  j                         }t        j                  j                         }t
        j                  j                         }t        j                  j                         }t        j                  j                         }t        j                  j                         }d|j                  v rN|j                  d   dk7  r;t         j                  j                  |j                  d         }t        j                  j                  |j                  d         }t        j                  j                  |j                  d         }t
        j                  j                  |j                  d         }t        j                  j                  |j                  d         }t        j                  j                  |j                  d         }t        j                  j                  |j                  d         }d|j                  v r|j                  d   dk7  r|j                  |j                  d         }|j                  |j                  d         }|j                  |j                  d         }|j                  |j                  d   	      }	j                  |j                  d   
      }	|j                  |j                  d         }|j                  |j                  d         }|j                  t        d            d   xs d}|j                  t        d            d   xs d}|j                  t        d            d   xs d}|j                  t        d            d   xs d}|j                  t        d            d   xs d}|j                  t        d            d   xs d}|j                  t        d            d   xs d}d|dd|dd|dd |dd!|dd"|dd#|dg}
t        d$|
id%&      S )'Nr   r   r   r!   r"   r%   r'   r)   r+   r-   r/   r1   r5   r6   r   r7   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   rB   z	HR AmountnameyzEquipment AmountzTravel Amountz
IEC AmountzAccomodation AmountzMiscellaneous AmountzOffice AmountamountsFsafe)r   rG   rH   r   r   r   r   r   r   rI   rJ   rL   r
   r   )rN   rO   r5   r7   r9   r;   r=   r?   rA   rP   r_   s              rQ   rR   zExpenditureChartView.getO   s     "))--/	/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W[[ W[[%8B%>!((7;;v;N(OI/66PWP[P[\bPc6d)00w{{SYGZ0[M#**gkk&>Q*RJ"5"<"<Y`YdYdekYl"<"m#7#>#>\c\g\ghn\o#>#p )00w{{SYGZ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 "	2(0@A%];"*5+3GH,4HI%];
 Y0u==rS   NrT   rX   rS   rQ   rZ   rZ   M   s    />rS   rZ   c                       e Zd Zd Zy)IncomeChartViewc                 T   t         j                  j                         }d|j                  v r1|j                  d   dk7  r|j	                  |j                  d         }d|j                  v r1|j                  d   dk7  r|j	                  |j                  d         }|j                  t        d            d   xs d	}|j                  t        d
            d
   xs d	}|j                  t        d            d   xs d	}|j                  t        d            d   xs d	}|j                  t        d            d   xs d	}|j                  t        d            d   xs d	}|j                  t        d            d   xs d	}	|j                  t        d            d   xs d	}
|j                  t        d            d   xs d	}|j                  t        d            d   xs d	}d|dd|dd|dd |dd!|dd"|dd#|	dd$|
dd%|dd&|dg
}t        d'|id()      S )*Nr   r   r   r!   r"   r#   human_resourcere   r   camp_expenses)rg   training_expenses)rh   equipment_expensesri   travel_expensesrk   material_expencesrm   administrative_expenses)ro   accomodation_expensesrp   monitoring_expenses)rr   miscellaneous_expensesrs   zHuman Resourcer\   zCamp ExpenseszTraining ExpenseszEquipment ExpenseszTravel ExpenseszMaterial ExpenceszAdministrative ExpenseszAccomodation ExpenseszMonitoring ExpenseszMiscellaneous Expensesincome_resultFr`   )r   rG   rH   rI   rJ   rL   r
   r   )rN   rO   incomes_datare   rg   rh   ri   rk   rm   ro   rp   rr   rs   incomess                 rQ   rR   zIncomeChartView.get   s   **,#I(>%(G'..GKK	<R.SLW[[ W[[%8B%>'..gkk&>Q.RL &//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 '^<%];)1BC*2DE'?)1BC/7NO-5JK+3FG.6LM
 W
 	rS   NrT   rX   rS   rQ   rc   rc      s    &rS   rc   c                       e Zd Zd Zy)IncomeExpenditureChartViewc                 	   t         j                  j                         }t        j                  j                         }t        j                  j                         }t
        j                  j                         }t        j                  j                         }t        j                  j                         }t        j                  j                         }d|j                  v r@|j                  d   dk7  r-|j                  |j                  d         }t        j                  j                  |j                  d         }t        j                  j                  |j                  d         }t
        j                  j                  |j                  d         }t        j                  j                  |j                  d         }t        j                  j                  |j                  d         }t        j                  j                  |j                  d         }d|j                  v r|j                  d   dk7  r|j                  |j                  d         }|j                  |j                  d         }|j                  |j                  d   	      }|j                  |j                  d   
      }|j                  |j                  d         }	j                  |j                  d         }	|j                  |j                  d         }|j                  t        d            d   xs d}
|j                  t        d            d   xs d}|j                  t        d            d   xs d}|j                  t        d            d   xs d}|j                  t        d            d   xs d}|j                  t        d            d   xs d}|j                  t        d            d   xs d}|j                  t        d            d   xs d}|j                  t        d             d   xs d}|j                  t        d!      "      d!   xs d}|j                  t        d#      $      d#   xs d}|j                  t        d%      &      d%   xs d}|
|||||g}||||||g}t        ||d'd()      S )*Nr   r   r   r   r!   r"   r#   r%   r'   r)   r+   r-   r/   re   rf   r   ri   rj   rk   rl   rm   rn   rp   rq   rs   rt   r5   r6   r7   r8   r9   r:   r;   r<   r=   r>   r?   r@   )ru   amount_resultFr`   )r   rG   rH   r   r   r   r   r   r   rI   rJ   rL   r
   r   )rN   rO   rv   r5   r7   r9   r;   r=   r?   rP   re   ri   rk   rm   rp   rs   rw   r_   s                     rQ   rR   z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#| W[[ W[[%8B%>'..gkk&>Q.RL!((7;;v;N(OI/66PWP[P[\bPc6d)00w{{SYGZ0[M#**gkk&>Q*RJ"5"<"<Y`YdYdekYl"<"m#7#>#>\c\g\ghn\o#>#p %//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!#5HY[p  sI  J.zK_auv$%
  	rS   NrT   rX   rS   rQ   ry   ry      s    1rS   ry   N) django.httpr   django.shortcutsr   django.viewsr   django.contrib.auth.mixinsr   django.db.modelsr   r   r	   r
   hr_department.modelsr   program_department.modelsr   r   finance_department.modelsr   r   r   r   r   r   r   r   r   r   rZ   rc   ry   rX   rS   rQ   <module>r      sp    $ #  9 6 6 % 8 J  J  J:j' :j@1>-t 1>l(($ (Z3!3T 3rS   