+
    èc«j> ã            !      óZ  a€ 0 t $ ^ RIHt ^ RIHt ^ RIHtHtHtHt ^ RI	H
t
 ^ RIHt ^ RIHtHt ^ RIHtHtHtHtHt ^ RIHtHt ^ R	IHt ^ R
IHtHtHtHtH t H!t! ^ RI"H#t# ^ RI$H%t% ^ RI&H't' ^ RI(H)t) ^ RI*H+t+H,t,H-t-H.t.H/t/H0t0H1t1H2t2H3t3H4t4H5t5H6t6H7t7H8t8H9t9H:t:H;t; ]! ]! ]#! R4      4      .R7      t</ RRbRRbRRbRRbRRbRRbRRbR R!bR"R#bR$R%bR&R'bR(R)bR*R+bR,R-bR.R/bR0R1bR2R3b/ R4R5bR6R7bR8R9bR:R;bR<R=bR>R?bR@RAbRBRCbRDREbRFRGbRHRIbRJRKbRLRMbRNRObRPRQbRRRSbRTRUbCRVRWRXRYRZR[R\R]R^R_/Ct=R`RaRbRc]8RdReRf. RÚO/RgRaRhRc]6RdRiRf. RÛO/RjRaRkRc];RdRlRf. RÜO/RmRaR=Rc]-RdRnRf. RÝO/RqRaRrRc]9RdRsRf. RÞO/RtRaRuRc]7RdRvRf. RßO/RxRaRyRc]5RdRnRf. RàO/RzRaR{Rc]+RdR|Rf. RáO/R}RaR~Rc]4RdRRf. RâO//	t>R€]?R�&   ];]-]9]7]5]+]40t@]>Pƒ                  4        F,  tB]BRc,          ]@9   g   K  ]BRf,          P‡                  ^ Rã4       K.  	  R‚ Rƒ ltDR„ R… ltERäR† R‡ lltF/ R$Rc]/RdRˆR‰. RåO/bR&Rc]/RdR‹R‰. RæO/bR(Rc],RdRŒR‰. RçO/bR*Rc],RdR�R‰. RèO/bR,Rc],RdRŽR‰. RéO/bR.Rc]0RdR�R‰. RêO/bR0Rc]0RdR�R‰. RëO/bR2Rc]1RdR�R‰. RìO/bR4Rc]1RdR‘R‰. RíO/bR6Rc]2RdR’R‰. RîO/bR8Rc]2RdR�R‰. RïO/bR:Rc]3RdR�R‰. RðO/bR<Rc]-RdRnR‰. RñO/bR>Rc]-RdRnR“Rp0 Ròm3.R‰. RñO/bR@Rc]-RdRnR“RpR”03.R‰. RóO/bRBRc]5RdRnR‰. RôO/bRDRc]5RdRoR‰. RôO/bRFRc]7RdRwR‰. RõO/RHRc]7RdRvR‰. RöO/RJRc]6RdRiR‰. R÷O/RLRc]7RdRvR‰. RøO/RNRc]7RdRvR‰. RùO/RPRc]8RdReR‰. RúO/RRRc]8RdReR‰. RûO/RTRc]8RdReR‰. RüO/RVRc]6RdRiR‰. RýO/RXRc]6RdRiR‰. RþO/RZRc]6RdRiR‰. RÿO/R\Rc]7RdRvR‰. RøO/R^Rc]7RdRvR‰. ER O//CtGR€]?R•&   ]/],]0]1]2]3];]-]9]:].]7]5]+]40tH]GPƒ                  4        FW  tI]IRc,          ]H9   g   K  ]IR‰,           U u. uF  q ^ ,          RŠ8w  g   K  V NK  	  up ]IR‰&   ]IR‰,          P‡                  ^ Rã4       KY  	  R– R— ltJR˜ R™ ltKRš R› ltLRœ R� ltMRž RŸ ltNR  R¡ ltOERR£ R¤ lltPR¥ R¦ ltQR§ R¨ ltRR© Rª ltSR« R¬ ltTR­ R® ltUERR¯ R° lltVR± R² ltWR³ R´ ltXRµ R¶ ltYR· R¸ ltZR¹ Rº lt[R» R¼ lt\R½ R¾ lt]]<P½                  R¿4      ]! RÀRÁ7      ]! R¢RÁ7      ]! R¢RÁ7      ]! R¢^^RÂ7      ]! R¢RÃRÄRÂ7      3RÅ RÆ ll4       t_]<P½                  RÇ4      ]! RÈRÁ7      ]! RÀRÁ7      ]! R¢RÁ7      ]! R¢RÁ7      ]! R¢^^RÂ7      ]! R¢RÃRÄRÂ7      3RÉ RÊ ll4       t`]<P½                  RË4      RÌ 4       ta]<P½                  RÍ4      ]! RÎ4      ]! . RÁ7      ]! R¢RÁ7      ]! R¢RÁ7      3RÏ RÐ ll4       tb]<P½                  RÑ4      ]! RÎ4      ]! . RÁ7      ]! RÈRÁ7      ]! R¢RÁ7      ]! R¢RÁ7      3RÒ RÓ ll4       tc]<P½                  RÔ4      RÕ RÖ l4       td]<P½                  R×4      RØ RÙ l4       teR¢# u up i (  é    )Úannotations)Ú
month_name)ÚdateÚdatetimeÚtimeÚ	timedelta)ÚBytesIO)ÚPath)Ú	AnnotatedÚAny)Ú	APIRouterÚDependsÚHTTPExceptionÚQueryÚResponse)ÚfuncÚor_)ÚSession)ÚACTIVE_PROCUREMENT_MODESÚMODULESÚMODULE_CONFIGÚ_analytics_periodÚ_analytics_queryÚ
_breakdown)Úrequire_access)Úget_db)ÚProcurementStatus)ÚReportBudgetAllocation)ÚDeliveryAcceptanceÚETenderCaseÚEMDÚFinancialEvaluationÚGeMProcurementCaseÚGlobalTenderCaseÚLPCProcurementCaseÚOpenMarketCaseÚOtherProcurementCaseÚPaymentTrackingÚPerformanceSecurityÚProcurementCaseÚPurchaseOrderÚRequisitionÚSampleRegisterÚTechnicalEvaluationÚ	TenderBidÚreports)ÚdependenciesÚsummaryzSummary ReportÚdailyzDaily Procurement Status ReportÚestablishmentz%Establishment-wise Requisition RecordÚmonthlyzMonthly Procurement Reportúvendor-payment-statuszVendor Payment Status Reportúbudget-utilizationzBudget Utilization Reportúprogram-expenditurezProgramme Expenditure Reportúcumulative-activityzCumulative Activity ReportÚyearlyzYearly Procurement Reportzgem-registerzGeM Procurement Registerzgem-order-statuszGeM Order Status Reportze-tender-registerze-Tender Registerztechnical-evaluation-statusz"Technical Evaluation Status Reportzfinancial-evaluation-statusz"Financial Evaluation Status Reportzglobal-tender-registerzGlobal Tender Registerzforeign-vendor-procurementz!Foreign Vendor Procurement Reportzlpc-registerzLPC Registerzlpc-recommendationzLPC Recommendation Reportzopen-market-registerz Open Market Procurement Registerzopen-market-justificationz Open Market Justification Reportzother-procurement-registerzOther Procurement Registerzemd-registerzEMD Registerzemd-pending-refundzEMD Pending Refundzemd-forfeiture-registerzEMD Forfeiture Registerzperformance-security-registerzPerformance Security Registerzpbg-expiry-alertzPBG Expiry Alertzcontract-expiry-alertzContract Expiry Alertzbudget-head-expenditurezBudget Head-wise Expenditurezprocurement-value-analysiszProcurement Value Analysiszvendor-procurement-valuezVendor-wise Procurement Valuezfinancial-year-summaryz'Financial Year-wise Procurement Summaryzdistrict-procurement-summaryz!District-wise Procurement Summaryzcircle-procurement-summaryzCircle-wise Procurement Summaryzrange-procurement-summaryzRange-wise Procurement Summaryzdirectorate-dashboardz!Directorate Procurement Dashboardzcycle-time-analysiszProcurement Cycle Time Analysiszprocurement-aging-analysiszProcurement Aging Analysisztop-vendorszTop Vendors Reportzasset-procurement-distributionz'Asset Procurement & Distribution ReportÚrequisitionsÚtitleÚRequisitionsÚmodelÚ	date_attrÚrequisition_dateÚfieldszprocurement-casesúProcurement CasesÚmode_selection_dateÚtenderszTender / Bid RegisterÚtender_dateÚemdsÚ
entry_dateÚexpiry_dateÚrefund_statusÚsampleszSample RegisterÚreceipt_dateúpurchase-ordersúPurchase OrdersÚpo_dateÚdelivery_due_datezperformance-securitieszPerformance Securitieszdelivery-acceptancezDelivery / AcceptanceÚdelivery_dateÚpaymentsÚPaymentsÚinvoice_datezdict[str, dict[str, Any]]ÚCUSTOM_REPORT_SOURCESc               ó   € V ^8„  d   QhRR/# )é   Úreturnr
   © )Úformats   "Ú-/var/www/html/proc/backend/app/api/reports.pyÚ__annotate__r[   î   s   € ÷ `ñ `�Dñ `ó    c                 ó–   € \        \        4      P                  4       P                  ^,          R,          R,          R,          R,          # )é   ÚfrontendÚsrcÚassetszofs-logo.png)r
   Ú__file__ÚresolveÚparentsrX   r\   rZ   Ú
_logo_pathre   î   s5   € Ü”‹>×!Ñ!Ó#×+Ñ+¨AÕ.°Õ;¸eÕCÀhÕNÐQ_Õ_Ð_r\   c               ó    € V ^8„  d   QhRRRR/# )rV   Úvaluer   rW   ÚfloatrX   )rY   s   "rZ   r[   r[   ò   s   € ÷ ñ �#ð ˜%ñ r\   c                ó,   € \        T ;'       g    ^ 4      # )r   )rh   ©rg   s   &rZ   Ú_moneyrk   ò   s   € Ü�—�˜!ÓÐr\   c               ó(   € V ^8„  d   QhRRRRRRRR/# )rV   ÚkeyÚstrÚlabelÚkindrW   zdict[str, str]rX   )rY   s   "rZ   r[   r[   ö   s(   € ÷ 6ñ 6�ð 6˜Sð 6¨ð 6¸ñ 6r\   c                ó   € R V RVRV/# ©rm   ro   rp   rX   rr   s   &&&rZ   Ú_columnrs   ö   s   € Ø�3˜ ¨°Ð5Ð5r\   Úgem_bid_dateÚcolumnsÚprocurement_case_idÚgem_contract_dateÚtender_publication_dateÚtechnical_bid_opening_dateÚfinancial_bid_opening_dateÚapproval_dateÚlpc_meeting_dateÚrecommendation_dateÚmarket_survey_dateÚfiltersÚ	ForfeitedÚREPORT_SPECSc               ó4   € V ^8„  d   QhRRRRRRRRRRR	RR
R/# )rV   Ú
report_keyrn   ÚperiodÚ
start_dateúdate | NoneÚend_dateÚmonthú
int | NoneÚyearrW   z$tuple[date | None, date | None, str]rX   )rY   s   "rZ   r[   r[   *  sW   € ÷ Hñ HØðHàðHð ðHð ð	Hð
 ðHð ðHð *ñHr\   c                óŒ  € V R 8X  d[   T;'       g    \         P                  ! 4       pT;'       g    V\        ^R7      ,
          pWv8”  d   \        RRR7      hWvVR RVR 23# V R8X  dH   T;'       g     \         P                  ! 4       P                  p\        V^^4      \        V^^4      RV 23# V R	8X  d   R
# \        WW4V4      # )r9   ©Údaysé�  z'From date cannot be later than To date.©Ústatus_codeÚdetailú%d %b %Yú - r5   úCalendar Year r:   )NNúAll Available Years)r   Útodayr   r   rŠ   r   )	rƒ   r„   r…   r‡   rˆ   rŠ   Úeffective_endÚeffective_startÚselected_years	   &&&&&&   rZ   Ú_report_filterrš   *  sÎ   € ð Ð*Ô*Ø ×0Ð0¤D§J¢J£LˆØ$×KÐK¨¼ÈÔ9JÕ)JˆØÔ*Ü¨CÐ8aÔbÐbØ°/À(Ð1KÈ3È}Ð]eÐNfÐ/gÐgÐgØ�YÔØ×1Ð1¤§
¢
£× 1Ñ 1ˆÜ�M 1 aÓ(¬$¨}¸bÀ"Ó*EÈÐXeÐWfÐGgÐgÐgØ�XÔØ0Ð0Ü˜V°À$ÓGÐGr\   c               ó$   € V ^8„  d   QhRRRRRR/# )rV   rƒ   rn   Úperiod_labelrW   údict[str, Any]rX   )rY   s   "rZ   r[   r[   @  s!   € ÷ ñ ˜Sð °ð ¸ñ r\   c                óš   € R V RRR\         V ,          RVR\        P                  ! 4       P                  4       P	                  RR7      RR	R
./# )rm   Úorganizationú"Odisha Fire and Emergency Servicesr<   rœ   Úgenerated_atÚminutes©ÚtimespecÚfooter_linesúComputer Generated reportúFor the use of Procurement Cell)ÚREPORT_TITLESr   ÚnowÚ
astimezoneÚ	isoformat)rƒ   rœ   s   &&rZ   Ú_base_reportr¬   @  sT   € àˆzØÐ<Ø”˜zÕ*Ø˜ØœŸš›×1Ñ1Ó3×=Ñ=ÀyÐ=ÓQØÐ4Ð6WÐXðð r\   c          
     ó,   € V ^8„  d   QhRRRRRRRRRR	/# ©
rV   Údbr   r…   r†   r‡   rœ   rn   rW   r�   rX   )rY   s   "rZ   r[   r[   K  s1   € ÷ +ñ +˜ð +¨[ð +ÀKð +Ð_bð +Ðguñ +r\   c                óˆ  € . p^ p\        V \        \        R,          W4      p\        VP	                  \
        P                  ! \
        P                  ! \        P                  4      ^ 4      4      P                  4       4      p\         EFg  w  r‰r«\        V,          p\        W
WÁV4      pVP                  4       p\        WÚVR,          4      p. pVR,           FÄ  w  ppppVR8X  d   \
        P                  ! V4      pM3VR8X  d   \
        P                  ! V4      M\
        P                  ! V4      pVP	                  \
        P                  ! V^ 4      4      P                  4       pVR8X  d   RMRpTP                  T R	T \        T;'       g    ^ 4      R
 24       KÆ  	  TP                  RT	RTRRP!                  R V 4       4      ;'       g    RRRP!                  V4      /4       W^,          pEKj  	  / \#        RV4      CR\%        RR4      \%        RRR4      \%        RR4      \%        RR4      .RVRRRRVRR/RRRVRR/./C# ) r   r;   Ústatus_columnÚmetricsÚcountÚavgÚcurrencyúRs. Ú ú: ú,.2fÚmoduleÚrecordsÚstatusz, c              3  óJ   "  € T F  qR ,           RVR,           2x € K  	  R# 5i)ro   r¸   r³   NrX   ©Ú.0Úitems   & rZ   Ú	<genexpr>Ú"_summary_report.<locals>.<genexpr>d  s#   é € Ð#aÑT`ÈD¨G¥} o°R¸¸W½°Õ$GÓT`ùs   ‚!#z
No recordsÚ	indicatorz; r2   ru   ÚModulezTotal RecordsÚnumberzStatus / Result BreakdownzValue / Quantity IndicatorÚrowsro   zTotal Workflow Entriesrg   rp   úTotal Estimated Cost)r   r,   r   rk   Úwith_entitiesr   ÚcoalesceÚsumÚestimated_costÚscalarr   r³   r   r´   Úappendrh   Újoinr¬   rs   )r¯   r…   r‡   rœ   rÆ   Útotal_recordsÚrequisition_queryÚtotal_estimated_costrm   ro   r>   Ú_ÚconfigÚqueryr³   Ústatus_itemsÚmetric_valuesÚmetric_labelÚ
expressionrp   Ú	aggregateÚ
calculatorrg   Úprefixs   &&&&                    rZ   Ú_summary_reportrÜ   K  s5  € Ø€DØ€MÜ(¨¬[¼-ÈÕ:WÐYcÓnÐÜ!Ø×'Ñ'¬¯ª´d·h²h¼{×?YÑ?YÓ6ZÐ\]Ó(^Ó_×fÑfÓhóÐ÷ !( Ñˆ�EÜ˜sÕ#ˆÜ  ¨FÀÓIˆØ—‘“ˆÜ! %°°Õ0GÓHˆØˆØ9?À	×9JÐ9JÑ5ˆL˜* d¨IØ˜GÔ#Ü!ŸZšZ¨
Ó3‘
à5>À%Ô5GœTŸXšX jÔ1ÌTÏXÊXÐV`ÓMa�
Ø×'Ñ'¬¯ª°jÀ!Ó(DÓE×LÑLÓNˆEØ# zÔ1‘V°rˆFØ× Ñ  L >°°F°8¼EÀ%Ç*À*È1Ó<MÈdÐ;SÐ!TÖUñ :Kð 	�‰à˜%Ø˜5Ø˜$Ÿ)™)Ñ#aÑT`Ó#aÓa×qÐqÐeqØ˜TŸY™Y }Ó5ð	ô	
ð 	Õ‹ñ- !(ð.Ü
�y ,Ó
/ðàÜ�H˜hÓ'Ü�I˜°Ó9Ü�HÐ9Ó:Ü�KÐ!=Ó>ð	
ð 	�ØØÐ.°¸ÈÐPXÐYØÐ,¨gÐ7KÈVÐU_Ð`ð
ñð r\   c          
     ó,   € V ^8„  d   QhRRRRRRRRRR	/# r®   rX   )rY   s   "rZ   r[   r[   y  s1   € ÷ *ñ *˜gð *°;ð *È+ð *Ðehð *Ðm{ñ *r\   c                ó  € \        V \        \        R ,          W4      pVP                  \        P                  P                  4       4      P                  4       p/ pV Fè  pVP                  ;'       g    RpTP                  TRTRVP                  ;'       g    RRVP                  ;'       g    RR ^ R^ R^ RR	/4      p	V	R ;;,          ^,          uu&   VP                  \        P                  8X  d   V	R;;,          ^,          uu&   MV	R;;,          ^,          uu&   V	R;;,          \        VP                  4      ,          uu&   Kê  	  \        VP!                  4       R
 R7      p
/ \#        RV4      CR\%        RR4      \%        RR4      \%        RR4      \%        R RR4      \%        RRR4      \%        RRR4      \%        RRR4      .RV
RRRR\'        V
4      RR/RRR\'        V4      RR/RRR\)        R V
 4       4      RR/./C# )r;   zNot setr4   ÚdistrictÚ-ÚrangeÚapprovedÚother_statusrË   g        c                ó(   € V R ,          ) V R,          3# )r;   r4   rX   )rÀ   s   &rZ   Ú<lambda>Ú'_establishment_report.<locals>.<lambda>‘  s   € ¸dÀ>Õ>RÐ=RÐTXÐYhÕTiÑ<jr\   )rm   ru   ÚEstablishmentÚDistrictÚRanger=   rÅ   ÚApprovedzOther StatusúEstimated Costrµ   rÆ   r2   ro   zTotal Establishmentsrg   rp   úTotal Requisitionsc              3  ó2   "  € T F  qR ,          x € K  	  R# 5i©rË   NrX   r¾   s   & rZ   rÁ   Ú(_establishment_report.<locals>.<genexpr>¡  s   é € Ð4]ÑX\ÐPTÐ:J×5KÒ5KÓX\ùó   ‚)r   r,   r   Úorder_byÚreceived_fromÚascÚallÚ
setdefaultÚreceived_from_districtÚreceived_from_rangeÚapproval_statusr   râ   rk   rË   ÚsortedÚvaluesr¬   rs   ÚlenrÊ   )r¯   r…   r‡   rœ   rÔ   r»   ÚestablishmentsÚrowÚnamerÀ   rÆ   s   &&&&       rZ   Ú_establishment_reportrÿ   y  sÿ  € Ü˜R¤¬m¸NÕ.KÈZÓb€EØ�n‰nœ[×6Ñ6×:Ñ:Ó<Ó=×AÑAÓC€GØ02€NÛˆØ× Ñ ×-Ð- IˆØ×(Ñ(Øà Ø˜C×6Ñ6×=Ð=¸#Ø˜×0Ñ0×7Ð7°CØ Ø˜AØ Ø  #ðó
ˆð 	ˆ^× Õ!ÓØ×ÑÔ"3×"<Ñ"<Ô<Ø�× Õ!Ôà�×  AÕ%Ó ØÐ×¤&¨×);Ñ);Ó"<Õ<Õñ' ô( �.×'Ñ'Ó)Ñ/jÔk€DðÜ
�¨Ó
5ðàÜ�O _Ó5Ü�J 
Ó+Ü�G˜WÓ%Ü�N N°HÓ=Ü�J 
¨HÓ5Ü�N N°HÓ=ÜÐ$Ð&6¸
ÓCð
ð 	�ØØÐ,¨g´s¸4³yÀ&È(ÐSØÐ*¨G´S¸³\À6È8ÐTØÐ&¨´Ñ4]ÑX\Ó4]Ó1]Ð_eÐgqÐrð
ñð r\   c               ó(   € V ^8„  d   QhRRRRRRRR/# )rV   r¯   r   r…   r   r‡   rW   r�   rX   )rY   s   "rZ   r[   r[   ¦  s(   € ÷ ñ �wð ¨Dð ¸Dð À^ñ r\   c                óî  € \        V \        \        R ,          W4      p\        V \        \        R,          W4      p\        V \        \        R,          W4      p\        V \
        \        R,          W4      pR VP                  4       R\        VP                  \        P                  ! \        P                  ! \        P                  4      ^ 4      4      P                  4       4      RVP                  4       RVP                  4       RVP                  4       R\        VP                  \        P                  ! \        P                  ! \        P                  ! \        P                  \        P                  4      4      ^ 4      4      P                  4       4      R\        VP                  \        P                  ! \        P                  ! \
        P                  4      ^ 4      4      P                  4       4      /# )r;   rD   rL   rQ   rË   Úpurchase_ordersÚpo_valueÚpaid_amount)r   r,   r   r/   r+   r(   r³   rk   rÈ   r   rÉ   rÊ   rË   rÌ   r  r  )r¯   r…   r‡   r;   rD   ÚordersrQ   s   &&&    rZ   Ú_period_totalsr  ¦  sj  € Ü# B¬´]À>Õ5RÐT^Ói€LÜ˜r¤9¬m¸IÕ.FÈ
Ó]€GÜ˜b¤-´Ð?PÕ1QÐS]Óh€FÜ ¤O´]À:Õ5NÐPZÓe€Hà˜×*Ñ*Ó,Øœ&Ø×&Ñ&¤t§}¢}´T·X²X¼k×>XÑ>XÓ5YÐ[\Ó']Ó^×eÑeÓgó
ð 	�7—=‘=“?Ø˜6Ÿ<™<›>Ø�H—N‘NÓ$Ø”FØ× Ñ ¤§¢¬t¯xªx¼¿ºÄm×F\ÑF\Ô^k×^zÑ^zÓ8{Ó/|Ð~ó  "Aó  B÷  Iñ  Ió  Kó
ð 	”v˜h×4Ñ4´T·]²]Ä4Ç8Â8ÌO×LgÑLgÓChÐjkÓ5lÓm×tÑtÓvÓwðð r\   c               ó(   € V ^8„  d   QhRRRRRRRR/# )rV   r¯   r   r…   r†   r‡   rW   r�   rX   )rY   s   "rZ   r[   r[   º  s6   € ÷ Yñ YØðYàðYð ðYð ñ	Yr\   c                óÂ  € T;'       g    \         P                  ! 4       pT;'       g    V\        ^R7      ,
          pVR RVR 2pRR\        33RR\        33RR	\
        33R
R\        \        \        33RR\        \        33RR\        \        33RR\        33.p/ pTpWƒ8:  d0   V U	U
u/ uF	  w  p	 q©^ bK  	  up
p	Wx&   V\        ^R7      ,          pK5  \        P                  ! V\         P"                  4      p\        P                  ! V\         P$                  4      pV EFw  w  rÚpV EFi  pV P'                  \(        P                   ! VP*                  4      P-                  R4      \(        P.                  ! VP0                  4      4      P3                  VP*                  V8¬  VP*                  V8*  4      P5                  \(        P                   ! VP*                  4      4      P7                  4       pV F�  w  pp\9        V\        4      '       d   VP                  4       pM8\9        V\         4      '       d   TpM\         P:                  ! \=        V4      4      pVV9   g   Kn  VV,          T;;,          \?        T;'       g    ^ 4      ,          uu&   KŸ  	  EKl  	  EKz  	  . p^ p^ p^ pVPA                  4        Fƒ  w  pp\C        VPE                  4       4      pVV,          pV\?        V^ 8„  4      ,          p\%        VV4      pVPG                  RVPI                  4       RVPK                  R4      /VCRVRV/C4       K…  	  \M        RV4      pRR.VR&   / VCR\O        RR4      \O        RR4      .V U	UU
u. uF  w  p	pp
\O        V	VR4      NK  	  up
pp	O\O        RRR4      N\O        RR R4      NR!VR"R#R$R%\Q        V4      R&R/R#R'R%VR&R/R#R(R%VR&R/R#R)R%VR&R/./C# u up
p	i u up
pp	i )*zÜCompare lifecycle record activity day by day for the selected range.

Activity is based on each record's latest saved timestamp. Grouping related
registers keeps the report compact enough for the screen, Excel, and PDF.
rŒ   r’   r“   r;   r=   Úprocurement_casesrB   rD   zTender / BidÚevaluationsÚEvaluationsÚ
securitieszEMD / SecuritiesÚorders_deliverieszOrders / DeliveriesrQ   rR   Úactivity_dateÚdayz%AÚdaily_totalÚcumulative_totalr9   zLActivity counts reflect records created or most recently updated on each dayr§   r¥   ru   ÚDateÚDayrÅ   zDaily TotalzCumulative TotalrÆ   r2   ro   zReporting Daysrg   rp   zActive DayszTotal ActivitieszHighest Daily Activity))r   r–   r   r,   r*   r/   r-   r.   r"   r!   r)   r+   r   r(   r   Úcombiner   ÚminÚmaxrÔ   r   Ú
updated_atro   r³   ÚidÚfilterÚgroup_byrô   Ú
isinstanceÚfromisoformatrn   ÚintÚitemsrÊ   rú   rÍ   r«   Ústrftimer¬   rs   rû   )r¯   r…   r‡   r—   r˜   rœ   Úactivity_groupsÚdaily_countsÚcurrent_dayrm   rÒ   Úrange_startÚ	range_endÚ	group_keyÚmodelsr>   Úresultsr  r³   Únormalized_daterÆ   r  Úactive_daysÚhighest_daily_activityÚcountsr  Úreportro   s   &&&                         rZ   Ú_cumulative_activity_reportr-  º  sø  € ð ×,Ð,¤§
¢
£€MØ ×GÐG ]´YÀAÔ5FÕ%F€OØ% hÐ/¨s°=ÀÐ2JÐK€Lð 
˜¬+¨Ð8Ø	Ð1´OÐ3EÐFØ	�N¤Y LÐ1Ø	˜¬Ô8KÔM`Ð'aÐbØ	Ð)¬CÔ1DÐ+EÐFØ	Ð3´mÔEWÐ5XÐYØ	�Z¤/Ð!3Ð4ð?€Oð 02€LØ!€KØ
Ô
&Ù=LÔ$M¹_±	°°Q¸¨!¢V¹_Ò$MˆÑ!Ø”y aÔ(Õ(Šä×"Ò" ?´D·H±HÓ=€KÜ× Ò  ´·±Ó9€IÜ /Ñˆ	�fÜˆEà—‘œŸš 5×#3Ñ#3Ó4×:Ñ:¸?ÓKÌTÏZÊZÐX]×X`ÑX`ÓMaÓbß‘˜×(Ñ(¨KÑ7¸×9IÑ9IÈYÑ9VÓWß‘œ$Ÿ)š) E×$4Ñ$4Ó5Ó6ß‘“ð	 ó )0Ñ$�˜uÜ˜m¬X×6Ò6Ø&3×&8Ñ&8Ó&:‘OÜ ¬t×4Ò4Ø&3‘Oä&*×&8Ò&8¼¸]Ó9KÓ&L�OØ" lÖ2Ø  Õ1°)×<ÄÀEÇJÀJÈQÃÕOÕ<ô )0ô ñ !0ð$ "$€DØÐØ€KØÐØ!-×!3Ñ!3Ö!5Ñˆ�vÜ˜&Ÿ-™-›/Ó*ˆØ˜KÕ'ÐØ”s˜;¨™?Ó+Õ+ˆÜ!$Ð%;¸[Ó!IÐØ�‰à ×!8Ñ!8Ó!:Ø�}×-Ñ-¨dÓ3ðð ðð ˜{Ø"Ð$4ñö	
ñ "6ô Ð/°Ó>€FàVØ)ð€Fˆ>ÑðØ
ðàÜ�O VÓ,Ü�E˜5Ó!ð
ñ BQÕQÁ±°°U¸AŒg�c˜5 (Ö+ÁÓQð
ô �M =°(Ó;ð	
ô
 Ð&Ð(:¸HÓEð
ð 	�ØØÐ&¨´°T³¸FÀHÐMØ�m W¨k¸6À8ÐLØÐ(¨'Ð3CÀVÈXÐVØÐ.°Ð9OÐQWÐYaÐbð	
ñð ùó_ %Nùôh Rs   Â*OÍ/ONc               ó(   € V ^8„  d   QhRRRRRRRR/# )	rV   r¯   r   rƒ   rn   rŠ   r‰   rW   r�   rX   )rY   s   "rZ   r[   r[     s(   € ÷ +ñ +�gð +¨3ð +°jð +ÈNñ +r\   c                óÎ  € VR 8X  dÌ   T;'       g     \         P                  ! 4       P                  p. p\        ^^4       F…  p\        W5^4      p\        V\	        V^8H  4      ,           V^,          ^,           ^4      pVP                  \        V,          V\         P                  ! VP                  4       ^,
          4      34       K‡  	  RV 2pRp	Rp
EM\         P                  ! 4       P                  0p\         F¤  w  rÍrí\        V,          P                  R4      pV P                  V4      P                  4        F_  pVe   \        VVP                  R4      MRpT;'       g    VP                   P                  4       pVP#                  VP                  4       Ka  	  K¦  	  \%        VRR7       Uu. uF'  p\'        V4      \        V^^4      \        V^^4      3NK)  	  ppRpR	p	R
p
V UUUu. uF  w  pppV	V/\)        WV4      CNK  	  pppp/ \+        W4      CR\-        Wš4      \-        RRR4      \-        RRR4      \-        RRR4      \-        RRR4      \-        RRR4      \-        RRR4      \-        RRR4      .RVRRRR \/        R! V 4       4      R"R/RR#R \/        R$ V 4       4      R"R/RR%R \/        R& V 4       4      R"R/RR'R \/        R( V 4       4      R"R/./C# u upi u upppi ))r5   r”   rˆ   ÚMonthÚdate_columnNT)Úreverser•   rŠ   ÚYearru   r;   r=   rÅ   rD   ÚTendersr  rM   rQ   rR   rË   rë   rµ   r  úPO Valuer  úPaid AmountrÆ   r2   ro   rì   rg   c              3  ó2   "  € T F  qR ,          x € K  	  R# 5i)r;   NrX   r¾   s   & rZ   rÁ   Ú _trend_report.<locals>.<genexpr><  s   é € Ð8_ÑZ^ÐRV¸n×9MÒ9MÓZ^ùrð   rp   rÇ   c              3  ó2   "  € T F  qR ,          x € K  	  R# 5irî   rX   r¾   s   & rZ   rÁ   r8  =  s   é € Ð:cÑ^bÐVZÐ@P×;QÒ;QÓ^bùrð   zTotal Purchase Order Valuec              3  ó2   "  € T F  qR ,          x € K  	  R# 5i)r  NrX   r¾   s   & rZ   rÁ   r8  >  s   é € Ð@cÑ^bÐVZÀj×AQÒAQÓ^bùrð   zTotal Paid Amountc              3  ó2   "  € T F  qR ,          x € K  	  R# 5i©r  NrX   r¾   s   & rZ   rÁ   r8  ?  s   é € Ð7]ÑX\ÐPT¸]×8KÒ8KÓX\ùrð   )r   r–   rŠ   rá   r  rÍ   r   ÚfromordinalÚ	toordinalr   r   ÚgetrÔ   rô   Úgetattrrm   Ú
created_atÚaddrù   rn   r  r¬   rs   rÊ   )r¯   rƒ   rŠ   r™   Úperiodsrˆ   ÚstartÚ
next_monthrœ   Ú
period_keyÚperiod_headingÚyearsrm   rÒ   r>   r1  rý   Ú	item_datero   ÚendrÆ   s   &&&                  rZ   Ú_trend_reportrK    s  € Ø�YÔØ×1Ð1¤§
¢
£× 1Ñ 1ˆØˆÜ˜1˜b–\ˆEÜ˜¨qÓ1ˆEÜ˜m¬c°%¸2±+Ó.>Õ>ÀÈÅÈqÕ@PÐRSÓTˆJØ�N‰NœJ uÕ-¨u´d×6FÒ6FÀz×G[ÑG[ÓG]Ð`aÕGaÓ6bÐcÖdñ "ð (¨ Ð7ˆØˆ
Ø Šä—’“×"Ñ"Ð#ˆß 'ÑˆC�EÜ'¨Õ,×0Ñ0°Ó?ˆKØ—x‘x “×*Ñ*Ö,�ØCNÒCZœG C¨¯©¸$Ô?Ð`d�	Ø%×>Ð>¨¯©×)<Ñ)<Ó)>�	Ø—	‘	˜)Ÿ.™.Ö)ó -ñ !(ô v|ð  }Bð  LPõ  vQó  Rñ  vQÐdq”C˜Ó&¬¨]¸A¸qÓ(AÄ4ÈÐWYÐ[]ÓC^Ó_ñ  vQˆð  RØ,ˆØˆ
ØˆÙ[bÕcÑ[bÑFWÀeÈUÐTWˆZ˜ÐA¤.°¸CÓ"@ÓAÑ[b€DÒcðÜ
�zÓ
0ðàÜ�JÓ/Ü�N N°HÓ=Ü�I˜y¨(Ó3ÜÐ%Ð'8¸(ÓCÜ�J 
¨HÓ5ÜÐ$Ð&6¸
ÓCÜ�J 
¨JÓ7Ü�M =°*Ó=ð	
ð 	�ØØÐ*¨G´SÑ8_ÑZ^Ó8_Ó5_ÐagÐiqÐrØÐ,¨g´sÑ:cÑ^bÓ:cÓ7cÐekÐmwÐxØÐ2°G¼SÑ@cÑ^bÓ@cÓ=cÐekÐmwÐxØÐ)¨7´CÑ7]ÑX\Ó7]Ó4]Ð_eÐgqÐrð	
ñð ùò Rùô ds   Æ0-KÇ+K c               ó    € V ^8„  d   QhRRRR/# )rV   rg   r   rW   rX   )rY   s   "rZ   r[   r[   D  s   € ÷ ñ �sð ˜sñ r\   c                óš   € \        V R 4      '       d   V P                  # \        V \        \        34      '       d   V P                  4       # V # rj   )Úhasattrrg   r  r   r   r«   rj   s   &rZ   Ú_cell_valuerO  D  s=   € Üˆu�g×ÒØ�{‰{ÐÜ�%œ$¤Ð)×*Ò*Ø�‰Ó Ð Ø€Lr\   c               ó$   € V ^8„  d   QhRRRRRR/# )rV   r¯   r   Úrecordr   rW   ú
str | NonerX   )rY   s   "rZ   r[   r[   L  s&   € ÷ Rñ R Gð R°Sð R¸Zñ Rr\   c                óÊ   € \        V\        4      '       d   VP                  # \        VR R4      pVf   R# V P	                  \        V4      pV'       d   VP                  # RV 2# )rv   NzCase ID )r  r*   Úprocurement_case_nor@  r?  )r¯   rQ  rv   Úcases   &&  rZ   Ú_procurement_case_referencerV  L  sa   € Ü�&œ/×*Ò*Ø×)Ñ)Ð)Ü! &Ð*?ÀÓFÐØÒ"ÙØ�6‰6”/Ð#6Ó7€Dß'+ˆ4×#Ñ#ÐQ°8Ð<OÐ;PÐ1QÐQr\   c               ó(   € V ^8„  d   QhRRRRRRRR/# )rV   r¯   r   rQ  r   rm   rn   rW   rX   )rY   s   "rZ   r[   r[   V  s(   € ÷ 3ñ 3˜Wð 3¨cð 3¸ð 3Àñ 3r\   c                óP   € VR 8X  d   \        W4      # \        \        WR4      4      # )Úprocurement_case_referenceN)rV  rO  r@  )r¯   rQ  rm   s   &&&rZ   Ú_report_record_valuerZ  V  s(   € Ø
Ð*Ô*Ü*¨2Ó6Ð6Ü”w˜v¨DÓ1Ó2Ð2r\   c               ó0   € V ^8„  d   QhRRRRRRRRRRR	R
/# )rV   rƒ   rn   r¯   r   r…   r†   r‡   rœ   rW   r�   rX   )rY   s   "rZ   r[   r[   \  sD   € ÷ -ñ -Øð-àð-ð ð-ð ð	-ð
 ð-ð ñ-r\   c                ó€  a€ \         V ,          pVR ,          pVP                  V4      pV\        J d3   VP                  \        P                  P                  \        4      4      pVP                  R4      pV'       d   \        WhR4      MRp	V	e6   \        P                  ! V	\        P                  ! VP                  4      4      M\        P                  ! VP                  4      p
V'       d   VP                  W¢8¬  4      pV'       d   VP                  W£8*  4      pVP                  R. 4       F.  w  r¼VP                  \        Wk4      P                  V4      4      pK0  	  . pVP                  VP                  P                  4       4      P!                  R4      P#                  4        F9  p/ pVR,           F  w  o p\%        WS4      VS&   K  	  VP'                  V4       K;  	  VR,           UUUu. uF  w  pppVR8X  g   K  VNK  	  ppppRRR	\)        V4      R
R/.pVR,           FG  oVP'                  R\+        V3R lVR,           4       4      R	\-        V3R lV 4       4      R
R/4       KI  	  / \/        W4      CRVR,           UUUu. uF  w  ppp\1        VVV4      NK  	  upppRVRV/C# u upppi u upppi )r>   r?   Nr   iô  ru   rµ   ro   ÚRecordsrg   rp   rÅ   :NrV   Nc              3  ó>   <"  € T F  w  rq1S8X  g   K  Vx € K  	  R # 5i©NrX   )r¿   Ú
column_keyro   rÒ   rm   s   &   €rZ   rÁ   Ú"_generic_report.<locals>.<genexpr>~  s   øé € ÐeÁÑ(<¨
¸1ÐadÑSdŸešeÃùs   ƒ“
c              3  óX   <"  € T F  p\        VP                  S4      4      x € K!  	  R # 5ir_  ©rk   r?  ©r¿   rý   rm   s   & €rZ   rÁ   ra    s!   øé € ÐB¹T°cœV C§G¡G¨C£L×1Ð1»Tùó   ƒ'*rÆ   r2   )r�   rÔ   r*   r  Úprocurement_modeÚin_r   r?  r@  r   rÉ   r   rA  rñ   r  ÚdescÚlimitrô   rZ  rÍ   rû   ÚnextrÊ   r¬   rs   )rƒ   r¯   r…   r‡   rœ   Úspecr>   rÔ   r?   r1  Ú
event_dateÚattrrú   rÆ   rQ  rý   rÒ   rm   rp   Úcurrency_keysr2   ro   s   &&&&&            `    rZ   Ú_generic_reportro  \  se  ø€ ô ˜
Õ#€DØ��M€EØ�H‰H�U‹O€EØ”ÓØ—‘œ_×=Ñ=×AÑAÔBZÓ[Ó\ˆØ—‘˜Ó%€Iß5>”'˜%¨DÔ1ÀD€KØLWÒLc”—’˜{¬D¯IªI°e×6FÑ6FÓ,GÔHÔim×irÒirÐsx÷  tDñ  tDó  jE€JßØ—‘˜ZÑ5Ó6ˆßØ—‘˜ZÑ3Ó4ˆØŸ™ ¨BÖ/‰ˆØ—‘œW UÓ1×5Ñ5°fÓ=Ó>Šñ 0ð €DØ—.‘. §¡§¡£Ó1×7Ñ7¸Ó<×@Ñ@ÖBˆØˆØ˜iŸ˜‰IˆC��AÜ+¨B¸Ó<ˆC�‹Hñ )à�‰�CÖñ	 Cð .2°)®_ÕS©_™\˜S ! TÀÈ
Ñ@R—S�S©_€MÒSØ˜ G¬S°«Y¸ÀÐIÐJ€GØ˜R× Ð ˆØ�‰àœÔeÀÀYÆÓeÓeØœÔB¹TÓBÓBØ˜
ðö	
ñ !ðÜ
�zÓ
0ðàÀdÈ9ÆoÕVÁoÑ2B°#°u¸d”G˜C ¨Ö-ÁoÓVØ�Ø�7ñ	ð ùô Tùô Ws   Ç1J2ÈJ2ÊJ9c               ó    € V ^8„  d   QhRRRR/# )rV   rg   r   rW   rn   rX   )rY   s   "rZ   r[   r[   Œ  s   € ÷ 6ñ 6˜4ð 6 Cñ 6r\   c                ó–   € V P                   ^8¼  d   V P                  MV P                  ^,
          pV R\        V^,           4      RR  2# )é   rà   Néþÿÿÿ)rˆ   rŠ   rn   )rg   Ú
start_years   & rZ   Ú_financial_yearru  Œ  sB   € Ø$Ÿ{™{¨aÔ/�—’°U·Z±ZÀ!µ^€JØˆ\˜œ3˜z¨A�~Ó.¨r¨sÐ3Ð4Ð5Ð5r\   c               ó4   € V ^8„  d   QhRRRRRRRRRRR	R
RR/# )rV   rƒ   rn   r¯   r   r…   r†   r‡   rœ   Úexpenditure_grouprR  rW   r�   rX   )rY   s   "rZ   r[   r[   ‘  sN   € ÷ ;ñ ;Øð;àð;ð ð;ð ð	;ð
 ð;ð "ð;ð ñ;r\   c                óê  € \        T;'       g    \        P                  ! 4       4      pVP                  \        4      P                  \        P                  V8H  \        P                  P                  R 4      4      pV'       d#   VP                  \        P                  V8H  4      p. p\        VP                  \        P                  \        P                  4      P                  4       ^R7       EFE  w  ršVP                  \        P                  ! \        P                   ! \        P                  ! \"        P$                  \"        P&                  ^ 4      4      ^ 4      4      P                  \        P(                  ! \        P                  ! \"        P*                  R4      4      P-                  V
P.                  P)                  4       V
P0                  P)                  4       .4      4      pV'       dZ   VP                  \        P                  ! \"        P2                  \        P                  ! \"        P4                  4      4      V8¬  4      pV'       dZ   VP                  \        P                  ! \"        P2                  \        P                  ! \"        P4                  4      4      V8*  4      p\7        VP9                  4       4      p\7        V
P:                  4      pTP=                  RT	RV
P                  RV
P.                  RV
P0                  RTRTR	WÜ,
          R
V'       d   WÍ,          ^d,          M^ /4       EKH  	  / \?        W RV 24      CR\A        RRR4      \A        RR4      \A        RR4      \A        RR4      \A        RRR4      \A        RRR4      \A        R	RR4      \A        R
RR4      .RVRRRR\!        R V 4       4      RR/RRR\!        R V 4       4      RR/RR R\!        R! V 4       4      RR/./C# )"T©rD  r·   Ú	serial_norw  Ú	head_codeÚ	head_nameÚallocation_amountÚutilized_amountÚbalance_amountÚutilization_percentz | Financial Year ru   úSl. No.rÅ   zExpenditure Groupz	Head CodezHead of AccountzAllocation Amountrµ   zUtilized AmountúBalance AmountzUtilization %rÆ   r2   ro   zTotal Allocationrg   c              3  ó2   "  € T F  qR ,          x € K  	  R# 5i©r}  NrX   ©r¿   rý   s   & rZ   rÁ   Ú%_allocation_report.<locals>.<genexpr>È  s   é € Ð6`Ñ[_ÐTWÐ;N×7OÒ7OÓ[_ùrð   rp   zTotal Utilizedc              3  ó2   "  € T F  qR ,          x € K  	  R# 5i©r~  NrX   r…  s   & rZ   rÁ   r†  É  s   é € Ð4\ÑW[ÐPSÐ9J×5KÒ5KÓW[ùrð   zAvailable Balancec              3  ó2   "  € T F  qR ,          x € K  	  R# 5i©r  NrX   r…  s   & rZ   rÁ   r†  Ê  s   é € Ð7^ÑY]ÐRUÐ<L×8MÒ8MÓY]ùrð   )!ru  r   r–   rÔ   r   r  Úfinancial_yearÚ	is_activeÚis_rw  Ú	enumeraterñ   r  rô   r   rÉ   rÊ   r+   r  rË   ÚlowerÚbudget_headrg  r{  r|  rN   rA  rk   rÌ   r}  rÍ   r¬   rs   )rƒ   r¯   r…   r‡   rœ   rw  r‹  rÔ   rÆ   ÚindexÚ
allocationÚspend_queryÚutilizedÚ	allocateds   &&&&&&        rZ   Ú_allocation_reportr–  ‘  s{  € ô % X×%=Ð%=´·²³Ó>€NØ�H‰HÔ+Ó,×3Ñ3Ü×-Ñ-°Ñ?Ü×(Ñ(×,Ñ,¨TÓ2ó€E÷ Ø—‘Ô3×EÑEÐIZÑZÓ[ˆà€DÜ& u§~¡~Ô6L×6^Ñ6^Ô`v×`yÑ`yÓ'z×'~Ñ'~ó  (Að  IJ÷  Kð  KÑˆØ—h‘hœtŸ}š}¬T¯XªX´d·m²mÄM×DZÑDZÔ\i×\xÑ\xÐz{Ó6|Ó-}ð  @Aó   Bó  C÷  Jñ  JÜ�JŠJ”t—}’}¤]×%>Ñ%>ÀÓCÓD×HÑHØ×%Ñ%×+Ñ+Ó-¨z×/CÑ/C×/IÑ/IÓ/KÐLóó
ˆ÷
 Ø%×,Ñ,¬T¯]ª]¼=×;PÑ;PÔRV×R[ÒR[Ô\i×\tÑ\tÓRuÓ-vð  {Eñ  .Eó  FˆKßØ%×,Ñ,¬T¯]ª]¼=×;PÑ;PÔRV×R[ÒR[Ô\i×\tÑ\tÓRuÓ-vð  {Cñ  .Có  DˆKÜ˜+×,Ñ,Ó.Ó/ˆÜ˜:×7Ñ7Ó8ˆ	Ø�‰à˜UØ# Z×%AÑ%AØ˜Z×1Ñ1Ø˜Z×1Ñ1Ø# YØ! 8Ø  )Õ"6Ø%Çy¨Õ(<¸sÖ(BÐVWð	÷	
ñ Kð0Ü
�z ^Ð3EÀnÐEUÐ#VÓ
WðàÜ�K ¨HÓ5ÜÐ'Ð)<Ó=Ü�K Ó-Ü�KÐ!2Ó3ÜÐ'Ð)<¸jÓIÜÐ%Ð'8¸*ÓEÜÐ$Ð&6¸
ÓCÜÐ)¨?¸HÓEð	
ð 	�ØØÐ(¨'´3Ñ6`Ñ[_Ó6`Ó3`ÐbhÐjtÐuØÐ&¨´Ñ4\ÑW[Ó4\Ó1\Ð^dÐfpÐqØÐ)¨7´CÑ7^ÑY]Ó7^Ó4^Ð`fÐhrÐsð
ñð r\   c          
     ó,   € V ^8„  d   QhRRRRRRRRRR	/# r®   rX   )rY   s   "rZ   r[   r[   Ï  s:   € ÷ 1ñ 1Øð1àð1ð ð1ð ð	1ð
 ñ1r\   c                óØ  € \         P                  ! \        P                  \        P
                  \         P                  ! \        P                  4      4      pV P                  \        \        4      P                  \        \        P                  \        P                  8H  4      pV'       d   VP                  WA8¬  4      pV'       d   VP                  WB8*  4      p. pVP                  VP                  4       \        P                  P                  4       4      P                  R 4      P!                  4        Fâ  w  rx\#        V'       d   VP$                  M^ 4      p	\#        V'       d   VP&                  M^ 4      p
TP)                  RVP*                  RVP,                  R\/        VP
                  4      RV'       d   VP0                  MRRV'       d   \/        VP                  4      MRRT	R	T
R
\3        Wš,
          ^ 4      RV'       d   VP4                  MR/	4       Kä  	  / \7        RV4      CR\9        RR4      \9        RR4      \9        RR4      \9        RR4      \9        RR4      \9        RRR4      \9        R	RR4      \9        R
RR4      \9        RR4      .	RVRRRR\;        V4      RR/RR R\=        R! V 4       4      RR/RR"R\=        R# V 4       4      RR/RR$R\=        R% V 4       4      RR/./C# )&iè  Úvendor_nameÚpo_norN   Ú
invoice_nozNot SubmittedrS   NÚinvoice_amountr  Úoutstanding_amountÚpayment_statuszInvoice Pendingr6   ru   ÚVendorúPO NoúPO Dateú
Invoice NoúInvoice DateúInvoice Amountrµ   r6  zOutstanding AmountúPayment StatusrÆ   r2   ro   zVendors / Ordersrg   rp   rÅ   zTotal Invoicedc              3  ó2   "  € T F  qR ,          x € K  	  R# 5i)rœ  NrX   r…  s   & rZ   rÁ   Ú)_vendor_payment_report.<locals>.<genexpr>ü  s   é € Ð4[ÑVZÈsÐ9I×5JÒ5JÓVZùrð   z
Total Paidc              3  ó2   "  € T F  qR ,          x € K  	  R# 5ir<  rX   r…  s   & rZ   rÁ   r§  ý  s   é € Ð0TÉtÈ°]×1CÒ1CËtùrð   ÚOutstandingc              3  ó2   "  € T F  qR ,          x € K  	  R# 5i)r�  NrX   r…  s   & rZ   rÁ   r§  þ  s   é € Ð1\ÑW[ÐPSÐ6J×2KÒ2KÓW[ùrð   )r   rÉ   r(   rS   r+   rN   r   rA  rÔ   Ú	outerjoinÚpo_idr  r  rñ   rh  ri  rô   rk   rœ  r  rÍ   r™  rš  rO  r›  r  rž  r¬   rs   rû   rÊ   )r¯   r…   r‡   rœ   rl  rÔ   rÆ   ÚorderÚpaymentrœ  r  s   &&&&       rZ   Ú_vendor_payment_reportr¯  Ï  sˆ  € ô —’œ×;Ñ;¼]×=RÑ=RÔTX×T]ÒT]Ô^k×^vÑ^vÓTwÓx€JØ�H‰H”]¤OÓ4×>Ñ>¼ÔP_×PeÑPeÔiv×iyÑiyÑPyÓz€EßØ—‘˜ZÑ5Ó6ˆßØ—‘˜ZÑ3Ó4ˆØ€DØŸ.™.¨¯©Ó):¼M×<LÑ<L×<QÑ<QÓ<SÓT×ZÑZÐ[_Ó`×dÑdÖf‰ˆÜ¿' × 6Ò 6ÀqÓIˆÜ·G˜W×0Ò0ÀÓCˆØ�‰à˜u×0Ñ0Ø˜Ÿ™Øœ; u§}¡}Ó5Ø·G˜g×0Ò0ÀØÇW¤¨G×,@Ñ,@Ô AÐRVØ  .Ø˜{Ø$¤c¨.Õ*FÈÓ&JØ ¿G '×"8Ò"8ÐIZð
ö	
ñ gð Ü
Ð.°Ó
=ðàÜ�M 8Ó,Ü�G˜WÓ%Ü�I˜yÓ)Ü�L ,Ó/Ü�N NÓ3ÜÐ$Ð&6¸
ÓCÜ�M =°*Ó=ÜÐ(Ð*>À
ÓKÜÐ$Ð&6Ó7ð

ð 	�ØØÐ(¨'´3°t³9¸fÀhÐOØÐ&¨´Ñ4[ÑVZÓ4[Ó1[Ð]cÐeoÐpØ�l G¬SÑ0TÉtÓ0TÓ-TÐV\Ð^hÐiØ�m W¬cÑ1\ÑW[Ó1\Ó.\Ð^dÐfpÐqð	
ñð r\   c               ó(   € V ^8„  d   QhRRRRRRRR/# )	rV   r¯   r   Úas_ofr   rœ   rn   rW   r�   rX   )rY   s   "rZ   r[   r[     s.   € ÷ @ñ @�gð @ dð @¸#ð @À.ñ @r\   c                óX  € V P                  \        4      P                  \        P                  P	                  \
        P                  \
        P                  .4      4      P                  4       p. R@OpRRRRRRRVRR	/.p\        V4       Fó  w  pw  rxV P                  \        4      P                  \        P                  \
        P                  8H  \        P                  V8H  V P                  \        P                  4      P                  \        P                  \        P                  8H  4      P                  4       ( 4      P                  4       p	TP                  RV^ 8X  d   R
MRRV^ 8X  d   RMRRVRV	RR	/4       Kõ  	  \        V4       EF  w  pw  rxV P                  \         4      P#                  \$        \$        P&                  \         P                  8H  4      P                  \         P                  V8H  \)        \$        P                  P+                  R	4      \$        P,                  P	                  \
        P                  \
        P.                  .4      4      4      P1                  4       P                  4       p
TP                  RV^ 8X  d   RMRRV^ 8X  d   RMRRVRV
RR	/4       EK   	  V P                  \$        4      P                  \$        P2                  P5                  R	4      \$        P,                  P	                  \
        P                  \
        P.                  .4      4      P                  4       pV P                  \         4      P7                  \$        \$        P&                  \         P                  8H  4      P                  \$        P,                  P9                  \
        P                  \
        P.                  .4      V P                  \:        P                  4      P                  \:        P&                  \         P                  8H  4      P                  4       ( 4      P1                  4       P                  4       pV P                  \:        4      P                  \:        P<                  \:        P>                  8  \@        PB                  ! \:        PD                  4      P9                  . RAO4      4      P                  4       pV P                  \:        4      P7                  \         \         P                  \:        P&                  8H  4      P                  \:        P<                  \:        P>                  8¬  \         PF                  \
        P.                  8g  4      P                  4       pV P                  \H        4      P                  \H        PJ                  V8*  \@        PB                  ! \H        PL                  4      P9                  . RBO4      4      P                  4       pV P                  \N        4      P                  \@        PP                  ! \N        PJ                  \N        PR                  4      V8*  \@        PB                  ! \N        PT                  4      P9                  . RCO4      4      P                  4       pVPW                  RRRRRRRVRR	/RRRRRRRVRR	/RRRRRRRVRR	/RRRRRRRVRR	/RRRRRRRVRR	/RRRRRRRVRR	/.4       \Y        V4      p\[        VR,          4      p\]        RV \_        V^^4      W4      R,          pRD Fþ  pV Uu. uF  pVR,          V8X  g   K  VNK  	  ppV'       g   K.  \        V4       Fm  w  ppTP                  RVR8X  d
   V^ 8X  d   R MVR8X  d
   V^ 8X  d   R!MRRV^ 8X  d   V R"2MRRVR#,          RR	R$VR$,          R%VR&,          RVR,          /4       Ko  	  VP                  RRRR'V R"2RRRR	R$\a        R( V 4       4      R%\a        R) V 4       4      R\a        R* V 4       4      /4       EK   	  / \c        R+R,VR- R.V 24      CR/\e        RR04      \e        RR14      \e        RR24      \e        RR3R4      \e        R$R4R54      \e        R%R6R54      \e        RR7R54      .RVR8R9R:R;VR<R/R9R=R;VR<R/R9R>R;WÍ,           R<R/R9R?R;VV,           R<R/./C# u upi )EúOpen Tenderrz  Ú1Údescriptionz5Requisitions whose Administrative Approval is pendingr‘   r·   rÅ   r  NÚ2z?Administrative Approvals whose purchase process has not startedÚ3z3Purchase Orders whose items have not been deliveredÚ4z%Items received but acceptance pendingÚ5z0Items accepted but bills have not been processedÚ6zABills processed by provisioning but pending with accounts sectionÚ7zBItems already paid but pending at store for distribution (PO wise)Ú8z#EMDs due to be released but pendingÚ9z5Performance Securities due to be released but pending:Nrr  Nr7   rÆ   ÚAdministrativeÚ	Programmerw  Ú10Ú11z Expenditurer|  r}  Úexpenditure_amountr~  úTotal c              3  ó2   "  € T F  qR ,          x € K  	  R# 5ir„  rX   r¾   s   & rZ   rÁ   Ú _daily_report.<locals>.<genexpr>l  s   é € Ð(ZÉzÀtÐ.A×)BÒ)BËzùrð   c              3  ó2   "  € T F  qR ,          x € K  	  R# 5irˆ  rX   r¾   s   & rZ   rÁ   rÅ  m  s   é € Ð)YÉjÀdÐ/@×*AÒ*AËjùrð   c              3  ó2   "  € T F  qR ,          x € K  	  R# 5irŠ  rX   r¾   s   & rZ   rÁ   rÅ  n  s   é € Ð%TÉÀÐ+;×&<Ò&<Ëùrð   r3   zAs on z%d.%m.%Yz | ru   r�  ÚDescriptionszMode / Head of AccountÚNumberszAllotted Fundrµ   ÚExpenditurer‚  r2   ro   zApproval Pendingrg   rp   zAcceptance PendingzBills PendingzSecurity Releases Pending))r³  ÚE_TENDER)zGeM (Direct)ÚGEM)zLocal (Direct)ÚOPEN_MARKET)zLocal Purchase CommitteeÚLPC)Ú	processedzprovisioning processedzpending with accounts)Úpendingzpending returnÚheld)rÐ  rÑ  zpending release)r¾  r¿  )3rÔ   r,   r  rø   Únotin_r   râ   Úrejectedr³   rŽ  rf  r*   r  Úrequisition_idÚexistsrÍ   r+   r«  r   r¬  r   r�  Úacceptance_statusÚ	completedÚdistinctrP   Úis_notrÎ   rg  r(   r  rœ  r   r�  rž  r¼   r!   rH   rI   r)   rÉ   Úvalid_untilÚrelease_statusÚextendru  r  r–  r   rÊ   r¬   rs   )r¯   r±  rœ   Úpending_approvalÚ	mode_rowsrÆ   r‘  ro   ÚmodeÚnot_startedÚundeliveredÚacceptance_pendingÚaccepted_bill_pendingÚaccounts_pendingÚdistribution_pendingÚemd_pendingÚpbg_pendingr‹  rt  Úutilization_rowsÚgrouprÀ   Ú
group_rowss   &&&                    rZ   Ú_daily_reportrë    sç  € Ø—x‘x¤Ó,×3Ñ3Ü×#Ñ#×*Ñ*Ô,=×,FÑ,FÔHY×HbÑHbÐ+cÓdóç�eƒgð ò€Ið 
�c˜=Ð*aÐckÐmoÐqyð  |Lð  N^ð  `dð  	eð"€Dô !*¨)Ö 4Ñˆ‰}�Ø—h‘hœ{Ó+×2Ñ2Ü×'Ñ'Ô+<×+EÑ+EÑEÜ×(Ñ(¨DÑ0Ø�X‰X”o×(Ñ(Ó)×0Ñ0´×1OÑ1OÔS^×SaÑSaÑ1aÓb×iÑiÓkÐkó
÷ ‰%‹'ð	 	ð
 	�‰�[¨°!¬¡#¸¸]ð  RWð  [\ô  R\ñ  MNð  bdð  fnð  puð  wð  ALð  N^ð  `dð  eö  	fñ !5ô !*¨)× 4Ñˆ‰}�à�H‰H”]Ó#ß‰YÔ)Ô+=×+CÑ+CÄ}×GWÑGWÑ+WÓXß‰VÜ×.Ñ.°$Ñ6ÜÜ&×)Ñ)×-Ñ-¨dÓ3Ü&×8Ñ8×?Ñ?ÔAR×A[ÑA[Ô]n×]xÑ]xÐ@yÓzóó÷ ‰X‹Zß‰U‹Wð 	ð 	�‰�[¨°!¬¡#¸¸]ð  FKð  OPô  FPñ  MBð  VXð  Zbð  dið  ksð  u@ð  BRð  TXð  Y÷  	Zñ !5ð  Ÿ™Ô"4Ó5×<Ñ<Ü×(Ñ(×/Ñ/°Ó5Ü×,Ñ,×3Ñ3Ô5F×5OÑ5OÔQb×QlÑQlÐ4mÓnó÷ �eƒgð ð
 	�‰”Óß	‰Ô Ô"4×":Ñ":¼m×>NÑ>NÑ"NÓ	Oß	‰Ü×0Ñ0×4Ñ4Ô6G×6PÑ6PÔRc×RmÑRmÐ5nÓoØ�X‰X”o×(Ñ(Ó)×0Ñ0´×1FÑ1FÌ-×JZÑJZÑ1ZÓ[×bÑbÓdÐdó

÷ 
‰‹ß	‰‹ð ð —x‘x¤Ó0×7Ñ7Ü×#Ñ#¤o×&DÑ&DÑDÜ�
Š
”?×1Ñ1Ó2×6Ñ6Ò7wÓxó÷ �eƒgð ð
 	�‰”Ó!ß	‰Œmœ]×-Ñ-´×1FÑ1FÑFÓ	Gß	‰”×+Ñ+¬×/MÑ/MÑMÌ}×OcÑOcÔgx÷  hCñ  hCñ  PCó  
Dß	‰‹ð	 ð —(‘(œ3“-×&Ñ&Ü�‰˜5Ñ Ü�
Š
”3×$Ñ$Ó%×)Ñ)Ò*OÓPó÷ �eƒgð ð —(‘(Ô.Ó/×6Ñ6Ü�ŠÔ)×5Ñ5Ô7J×7VÑ7VÓWÐ[`Ñ`Ü�
Š
Ô&×5Ñ5Ó6×:Ñ:Ò;aÓbó÷ �eƒgð ð 	‡K�Kà˜#˜}Ð.UÐW_ÐacÐemð  pBð  DTð  VZð  [Ø˜#˜}Ð.`ÐbjÐlnÐpxð  {Pð  Rbð  dhð  iØ˜#˜}Ð.qÐs{Ð}ð  BJð  L\ð  ^nð  ptð  uØ˜#˜}Ð.rÐt|ð  Að  CKð  Mað  csð  uyð  zØ˜#˜}Ð.SÐU]Ð_aÐckÐmxð  {Kð  MQð  RØ˜#˜}Ð.eÐgoÐqsÐu}ð  @Kð  M]ð  _cð  dð	
ô	ô % UÓ+€NÜ�^ BÕ'Ó(€JÜ)Ø˜b¤$ z°1°aÓ"8¸%óàõÐó 1ˆÙ'7Ó^Ñ'7˜t¸4Ð@SÕ;TÐX]Ñ;]—d�dÑ'7ˆ
Ð^ßÙÜ$ ZÖ0‰KˆE�4Ø�K‰Kà¨Ð2BÔ)BÀuÐPQÄz¡Ð`eÐitÔ`tÐy~ð  CDô  zDÑX\ð  JLØ!¸UÀa¼Z e W¨LÑ#9ÈRØ˜d ;Õ/Ø˜dØ'¨Ð.AÕ)BØ(¨$Ð/@Õ*AØ$ dÐ+;Õ&<ðö
ñ 1ð 	�‰à˜RØ ¨ w¨lÐ;Ø˜"Ø˜$Ø#¤SÑ(ZÉzÓ(ZÓ%ZØ$¤cÑ)YÉjÓ)YÓ&YØ ¤#Ñ%TÉÓ%TÓ"Tð÷
	
ñ! 1ð6Ü
�w &¨¨xÐ(8¸¸L¸>Ð JÓ
KðàÜ�K Ó+Ü�M >Ó2Ü�HÐ6Ó7Ü�H˜i¨Ó2ÜÐ'¨¸*ÓEÜÐ(¨-¸ÓDÜÐ$Ð&6¸
ÓCð
ð 	�ØØÐ(¨'Ð3CÀVÈXÐVØÐ*¨GÐ5GÈÐQYÐZØ�o wÐ0EÕ0XÐZ`ÐbjÐkØÐ1°7¸KÈ+Õ<UÐW]Ð_gÐhð	
ñð ùò5 _s   Üb'Ü*b'c               ó4   € V ^8„  d   QhRRRRRRRRR	RR
RRR/# )rV   Ú
source_keyrn   Ú
field_keysú	list[str]r¯   r   r…   r†   r‡   rœ   rW   r�   rX   )rY   s   "rZ   r[   r[   †  sN   € ÷ +ñ +Øð+àð+ð 	ð+ð ð	+ð
 ð+ð ð+ð ñ+r\   c                ó   aa€ \         P                  V 4      pV'       g   \        R RR7      hVR,           UUU	u/ uF	  w  rxq—W‰3bK  	  up	ppo\        \        P                  V4      4      p
V
'       g   \        RRR7      h\        V
4      ^8”  gA   \        ;QJ d    V3R lV
 4       F  '       g   K   RM	  RM! V3R lV
 4       4      '       d   \        RR	R7      hVR
,          pVP                  V4      p\        W¶R,          4      p\        P                  ! V\        P                  ! VP                  4      4      pV'       d   VP                  Wã8¬  4      pV'       d   VP                  Wä8*  4      pVP                  VP                   P#                  4       4      P%                  R4      P'                  4        UUu. uF  pV
 Uu/ uF  qw\)        W/V4      bK  	  upNK!  	  pppV
 Uu. uF  pSV,          ^,          R8X  g   K  VNK  	  ppRRR\        V4      RR/.pVR,           F>  oVP+                  RRSS,          ^ ,           2R\-        V3R lV 4       4      RR/4       K@  	  RRRRRRVR,           R2RTR\.        P0                  ! 4       P3                  4       P5                  RR 7      R!R"R#.R$V
 Uu. uF,  p\7        VSV,          ^ ,          SV,          ^,          4      NK.  	  upR%VR&V/	# u up	ppi u upi u uppi u upi u upi )'é”  zUnknown report data source.r�   rA   rŽ   z!Select at least one report field.c              3  ó,   <"  € T F	  qS9  x € K  	  R # 5ir_  rX   )r¿   rm   Ú	availables   & €rZ   rÁ   Ú!_custom_report.<locals>.<genexpr>•  s   øé € Ð JÁ¸#¨IÖ!5Ãùs   ƒTFz&Invalid custom report field selection.r>   r?   éÐ  rµ   ro   r]  rg   rp   rÅ   :Nr^   NrÃ  c              3  óX   <"  € T F  p\        VP                  S4      4      x € K!  	  R # 5ir_  rc  rd  s   & €rZ   rÁ   rô  ¦  s)   øé € ÐKqÑlpÐehÌFÐSV×SZÑSZÐ[^ÓS_×L`ÐL`Ólpùre  rm   ÚcustomrŸ   r    r<   zCustom z Reportrœ   r¡   r¢   r£   r¥   r¦   r§   ru   rÆ   r2   )rT   r?  r   ÚlistÚdictÚfromkeysrû   ÚanyrÔ   r@  r   rÉ   r   rA  r  rñ   r  rh  ri  rô   rZ  rÍ   rÊ   r   r©   rª   r«   rs   )rí  rî  r¯   r…   r‡   rœ   Úsourcerm   ro   rp   Úselectedr>   rÔ   r1  rl  rQ  rÆ   rn  r2   ró  s   &&&&&& `           @rZ   Ú_custom_reportrþ  †  sÆ  ù€ ô #×&Ñ& zÓ2€FßÜ¨Ð4QÔRÐRØ<BÀ8Ö<LÕMÑ<LÑ(8¨°D�u�mÒ#Ñ<LÓM€IÜ”D—M‘M *Ó-Ó.€HßÜ¨Ð4WÔXÐXÜ
ˆ8ƒ}�rÔŸS›SÔ JÁÓ JŸSŸSšSÔ JÁÓ J×JÒJÜ¨Ð4\Ô]Ð]Ø�7�O€EØ�H‰H�U‹O€EÜ˜%¨Õ!4Ó5€KÜ—’˜{¬D¯IªI°e×6FÑ6FÓ,GÓH€JßØ—‘˜ZÑ5Ó6ˆßØ—‘˜ZÑ3Ó4ˆð —n‘n U§X¡X§]¡]£_Ó5×;Ñ;¸DÓA×EÑEÔGôáGˆFñ @HÓH¹x¸Ô" 2¨sÓ3Ò	3¹xÔHÙGð 	ñ ñ %-ÓP¡H˜S°	¸#µ¸qÕ0AÀZÑ0O—S�S¡H€MÐPØ&-¨y¸'Ä3ÀtÃ9ÈfÐV^Ð%_Ð$`€GØ˜R× Ð ˆØ�‰˜ 6¨)°C­.¸Õ*;Ð)<Ð!=¸wÌÔKqÑlpÓKqÓHqÐsyð  |Fð  Gö  	Hñ !ð 	ˆxØÐ<Ø�7˜6 '�?Ð+¨7Ð3Ø˜ØœŸš›×1Ñ1Ó3×=Ñ=ÀyÐ=ÓQØÐ4Ð6WÐXØÑRZÓ[ÑRZÈ3”G˜C ¨3¥°Õ!2°I¸cµNÀ1Õ4EÖFÑRZÑ[Ø�Ø�7ð
ð 
ùô- Nùò 	Iùóùò Qùò \s/   ºK4Æ>	L ÇK;ÇL Ç*LÈLÊ:2LË;L c               ó8   € V ^8„  d   QhRRRRRRRRRRR	R
RR
RR/# )rV   rƒ   rn   r¯   r   r„   r…   r†   r‡   rˆ   r‰   rŠ   rW   r�   rX   )rY   s   "rZ   r[   r[   ´  sX   € ÷ /ñ /Øð/àð/ð ð/ð ð	/ð
 ð/ð ð/ð ð/ð ñ/r\   c                óä  € V \         9  d   \        R RR7      h\        WW4WV4      w  rxp	V R8X  d   \        WW‰4      # V R8X  d*   \	        Y;'       g    \
        P                  ! 4       V	4      # V R8X  d   \        WW‰4      # V R8X  d   \        WWxV	4      # V R8X  d   \        WWxV	R4      # V R	8X  d   \        WV4      # V R
8X  d   \        WW‰4      # V \        9   d   \        WWxV	4      # \        WV4      # )rñ  zUnknown report type.r�   r2   r3   r6   r7   r8   r¿  r9   r4   )r¨   r   rš   rÜ   rë  r   r–   r¯  r–  r-  rÿ   r�   ro  rK  )
rƒ   r¯   r„   r…   r‡   rˆ   rŠ   Úfiltered_startÚfiltered_endrœ   s
   &&&&&&&   rZ   Ú_generate_reportr  ´  s  € ð œÔ&Ü¨Ð4JÔKÐKÜ1?À
ÐT^ÐjoÓ1vÑ.€N ,Ø�YÔÜ˜r°<ÓNÐNØ�WÔÜ˜R×!=Ð!=´·²³¸|ÓLÐLØÐ,Ô,Ü% b¸,ÓUÐUØÐ)Ô)Ü! *°.ÐP\Ó]Ð]ØÐ*Ô*Ü! *°.ÐP\Ð^iÓjÐjØÐ*Ô*Ü*¨2¸|ÓLÐLØ�_Ô$Ü$ R¸ÓTÐTØ”\Ô!Ü˜z¨~È\ÓZÐZÜ˜¨Ó.Ð.r\   c               ó$   € V ^8„  d   QhRRRRRR/# )rV   rg   r   rp   rn   rW   rX   )rY   s   "rZ   r[   r[   Ó  s!   € ÷ :ñ :�cð : ð :¨ñ :r\   c                ó´   € V e   V R8X  d   R# VR8X  d   R\        V 4      R 2# VR8X  d   \        T ;'       g    ^ 4      R # \        V R9  d   V 4      # R4      # )	Nr·   rà   rµ   r¶   r¹   rÅ   Ú,)Nr·   )rk   r  rn   )rg   rp   s   &&rZ   Ú
_formattedr  Ó  sc   € Ø‚}˜ œÙØˆzÔØ”f˜U“m DÐ)Ð*Ð*ØˆxÔÜ�e—j�j˜q“/ !Ð$Ð%Ü˜ ZÔ/ˆuÓ9Ð9°SÓ9Ð9r\   c               ó    € V ^8„  d   QhRRRR/# ©rV   r,  r�   rW   ÚbytesrX   )rY   s   "rZ   r[   r[   Ý  s   € ÷ Zñ Z˜ð Z¨5ñ Zr\   c                ó"  € ^ RI Hp ^ RIHp ^ RIHpHpHpHpH	p ^ RI
Hp V! 4       p	V	P                  p
V R,          R,          V
n        RV
P                  n        \!        V R,          4      pV! V4      pR	pV! R
RR7      p\#        4       pVP%                  4       '       d2   V! \'        V4      4      p^4Vn        ^4Vn        V
P-                  VR4       V
P/                  ^^^VR7       V R,          V
R&   V! R^RVR7      V
R,          n        V! RR7      V
R,          n        ^*V
P4                  ^,          n        V
P/                  ^^^VR7       V R,          V
R&   V! R^RVR7      V
R,          n        V! RR7      V
R,          n        V
P/                  ^^^VR7       RV R,           RV R,           2V
R&   V! R^	RRR7      V
R,          n        V! RR7      V
R,          n        ^p\7        V R,          ^R 7       F|  w  ppV
P9                  VVVR!,           R"\;        VR#,          VR$,          4       2R%7      pV! R^
RVR7      Vn        V! R&R'R(7      Vn        V! RRR)7      Vn        V! WîWîR*7      Vn        K~  	  ^p\7        V R,          ^R 7       F`  w  ppV
P9                  VVVR!,          R%7      pV! R^	RR+R7      Vn        V! R&VR(7      Vn        V! RRRR,7      Vn        V! WîWîR*7      Vn        Kb  	  ^V
P4                  V,          n        \7        V R-,          V^,           R 7       FÛ  w  pp\7        V R,          ^R 7       F½  w  ppV
P9                  VVVPA                  VR.,          R/4      R%7      pV! R^	R0R17      Vn        V! WîWîR*7      Vn        T! R&V^,          ^ 8X  d   R+MR2R(7      Vn        T! VR$,          RH9   d   R5MR6RRR,7      Vn        VR$,          R38X  d
   R7Vn!        K¦  VR$,          R48X  g   K¶  R8Vn!        K¿  	  KÝ  	  \E        V\!        V R-,          4      ,           ^,           ^4      p\7        V R9,          4       Fc  w  ppV
P/                  VV,           ^VV,           VR7       V
P9                  VV,           ^VR%7      pV! R^	RR:R7      Vn        V! RR7      Vn        Ke  	  R;^R<^"R=^ R>^!R?^R@^/p\7        V R,          ^R 7       F;  w  ppVPA                  VR.,          ^4      V
PF                  V! V4      ,          n        K=  	  RAV^,            2V
n$        RAV RBV V\!        V R-,          4      ,            2V
PJ                  n&        RCV
PN                  n(        ^V
PN                  n)        RDV
PT                  n+        RDV
PT                  n,        REV 2V
n-        RFV
P\                  P^                  n0        ^V
P\                  P^                  n1        RGV
P\                  P^                  n        \e        4       pV	Pg                  V4       VPi                  4       # )Ir   )ÚWorkbook)ÚImage)Ú	AlignmentÚBorderÚFontÚPatternFillÚSide)Úget_column_letterr<   :Né   NFru   Ú163B63ÚthinÚCBD5E1)ÚstyleÚcolorÚA1)Ú	start_rowÚstart_columnÚend_rowÚ
end_columnrŸ   ÚB1ÚArialT)rþ   ÚsizeÚboldr  Úcenter)ÚverticalÚA2)Ú
horizontalúReporting Period: rœ   ú | Generated: r¡   ÚA3Ú475569)rþ   r!  Úitalicr  r2   ry  ro   r¸   rg   rp   )rý   Úcolumnrg   ÚsolidÚE8F1F8)ÚfgColor)r&  r$  )ÚtopÚbottomÚleftÚrightÚFFFFFF)r&  r$  Ú	wrap_textrÆ   rm   r·   Ú1F2937)rþ   r!  r  ÚF8FAFCrµ   rÅ   r3  r2  z"Rs." #,##0.00z#,##0r¥   Ú64748Brº   r¼   rÃ   r4   rß   rá   ÚAÚ:Ú	landscapeçffffffÖ?z1:z;Computer Generated report | For the use of Procurement CellzArial,Italic>   rÅ   rµ   )5Úopenpyxlr  Úopenpyxl.drawing.imager  Úopenpyxl.stylesr  r  r  r  r  Úopenpyxl.utilsr  Úactiver<   Ú
sheet_viewÚshowGridLinesrû   re   rÕ  rn   ÚheightÚwidthÚ	add_imageÚmerge_cellsÚfontÚ	alignmentÚrow_dimensionsrŽ  Úcellr  ÚfillÚborderr?  Únumber_formatr  Úcolumn_dimensionsÚfreeze_panesÚauto_filterÚrefÚ
page_setupÚorientationÚ
fitToWidthÚpage_marginsr2  r3  Úprint_title_rowsÚ	oddFooterr#  Útextr!  r	   ÚsaveÚgetvalue) r,  r  r  r  r  r  r  r  r  ÚworkbookÚsheetÚcolumn_countÚlast_columnÚprimaryrM  ÚlogoÚimageÚsummary_rowr‘  rÀ   rK  Ú
header_rowÚcolumn_indexr,  Ú	row_indexrý   Ú
footer_rowÚoffsetÚlineÚfooter_cellÚwidthsÚoutputs    &                               rZ   Ú_xlsx_bytesrm  Ý  s   € Ý!Ý,ßJÕJÝ0á‹z€HØ�O‰O€EØ˜•/ #Õ&€E„KØ%*€E×ÑÔ"Ü�v˜iÕ(Ó)€LÙ# LÓ1€KØ€GÙ˜ hÔ/€Fä‹<€DØ‡{�{‡}‚}Ù”c˜$“iÓ ˆØˆŒØˆŒØ�‰˜˜tÔ$Ø	×Ñ °¸1ÈÐÔVØ˜Õ(€Eˆ$�KÙ ¨r¸ÀGÔL€Eˆ$…KÔÙ%¨xÔ8€Eˆ$…KÔØ%'€E×Ñ˜ÕÔ"Ø	×Ñ °¸1ÈÐÔVØ˜•/€Eˆ$�KÙ ¨r¸ÀGÔL€Eˆ$…KÔÙ%°Ô:€Eˆ$…KÔØ	×Ñ °¸1ÈÐÔVØ& v¨nÕ'=Ð&>¸nÈVÐTbÕMcÐLdÐe€Eˆ$�KÙ ¨q¸ÀXÔN€Eˆ$…KÔÙ%°Ô:€Eˆ$…KÔà€KÜ  ¨	Õ!2¸!×<‰ˆˆtØ�z‰z˜k°%À$ÀwÅ-ÀÐPRÔS]Ð^bÐcjÕ^kÐmqÐrxÕmyÓSzÐR{Ð?|ˆzÓ}ˆÙ˜g¨B°TÀÔIˆŒ	Ù °Ô:ˆŒ	Ù"¨hÀÔJˆŒÙ ¸VÔRˆŽñ =ð €JÜ )¨&°Õ*;À1× EÑˆ�fØ�z‰z˜j°ÀVÈGÅ_ˆzÓUˆÙ˜g¨A°DÀÔIˆŒ	Ù °Ô9ˆŒ	Ù"¨hÀÐUYÔZˆŒÙ ¸VÔRˆŽñ !Fð /1€E×Ñ˜Õ$Ô+ä# F¨6¥N¸*Àq½.×I‰ˆ	�3Ü$-¨f°YÕ.?Àq×$IÑ ˆL˜&Ø—:‘: )°LÈÏÉÐPVÐW\ÕP]Ð_aÓHb�:ÓcˆDÙ '°¸ÔBˆDŒIÙ  VÀÔVˆDŒKÙ# GÀÈQÅÐRSÔAS±XÐYaÔbˆDŒIÙ&Ø&,¨V¥nÐ8NÔ&N™7ÐTZØ!ØôˆDŒNð
 �f�~ Ô+Ø%5�Ö"Ø˜• 8Ö+Ø%,�Ö"ó %Jñ Jô  �Z¤# f¨V¥nÓ"5Õ5¸Õ9¸2Ó>€JÜ! &¨Õ"8Ö9‰ˆ�Ø×Ñ J°Õ$7ÀaÐQ[Ð^dÕQdÐq}ÐÔ~Ø—j‘j Z°&Õ%8ÀÈ$�jÓOˆÙ W°1¸TÈÔRˆÔÙ )°XÔ >ˆÖñ	 :ð ˜˜H b¨+°r¸?ÈBÐPZÐ\^Ð`gÐikÐl€FÜ" 6¨)Õ#4¸A×>‰ˆˆvØBHÇ*Á*ÈVÐTYÍ]Ð\^ÓB_ˆ×ÑÑ 1°%Ó 8Õ9Ö?ñ ?à˜Z¨!�^Ð,Ð-€EÔØ 
˜|¨1¨[¨M¸*ÄsÈ6ÐRXÍ>ÓGZÕ:ZÐ9[Ð\€E×ÑÔØ#.€E×ÑÔ Ø"#€E×ÑÔØ"€E×ÑÔØ#€E×ÑÔØ! * Ð.€EÔØ"_€E‡O�O×ÑÔØ"#€E‡O�O×ÑÔØ"0€E‡O�O×ÑÔÜ‹Y€FØ‡M�M�&ÔØ�?‰?ÓÐr\   c               ó    € V ^8„  d   QhRRRR/# r	  rX   )rY   s   "rZ   r[   r[   :  s   € ÷ ]ñ ]�~ð ]¨%ñ ]r\   c                óú  a aaaaa€ ^ RI Ho ^ RIHp ^ RIHpHp ^ RIHpH	p ^ RI
Ho ^ RIHoHpHpHpHp	 \%        4       p
V! V4      oV! V
S^S,          ^S,          ^"S,          ^S,          R7      pV! 4       pV! RVR	,          R
^^SP'                  R4      V^S,          R7      pV! RVR,          RR^SP'                  R4      V^S,          R7      pV! RVR,          RRRR7      oV! RSR
SP(                  VR7      pVVVV 3R lpS! S R,          V4      S! RS R,           RS R,           2V4      .pS R,           Uu. uF4  pS! VR ,          S4      S! \+        VR!,          VR",          4      S4      .NK6  	  ppV! V^0S,          ^&S,          .R#R$7      pVP-                  V	! R%R6R7SP'                  R&4      3R'R6R7R(SP'                  R)4      3R*R6R7R+SP'                  R)4      3R8R9R,R6R7SP'                  R4      3R:R;R<R=R>.4      4       VP/                  VV! ^^S,          4      .4       S R-,           Uu. uF  pS! VR ,          V4      NK  	  up.pVP/                  VVV 3R. lS R/,           4       4       S^ ,          VP0                  ,
          VP2                  ,
          pV! VV\5        S R-,          4      ,          .\5        S R-,          4      ,          ^R07      pVP-                  V	! R%R6R?SP'                  R4      3R1R6R7R2SP'                  R)4      3R3R@R7SP(                  SP'                  R44      .3R:RARBR=R>.4      4       VP7                  V4       VP9                  VVVR57       V
P;                  4       # u upi u upi )Cr   )Úcolors)Ú	TA_CENTER)ÚA4r;  )ÚParagraphStyleÚgetSampleStyleSheet)Úmm)Ú	ParagraphÚSimpleDocTemplateÚSpacerÚTableÚ
TableStyle)ÚpagesizeÚ
leftMarginÚrightMarginÚ	topMarginÚbottomMarginÚReportTitleÚHeading2úHelvetica-Boldú#163B63)ÚparentÚfontNameÚfontSizeÚleadingÚ	textColorrI  Ú
spaceAfterÚMetaÚNormalúHelvetica-Obliqueg      !@z#475569ÚBodyÚ	Helveticag      @g      #@)r„  r…  r†  r‡  ÚHeader)r„  r…  rˆ  rI  c           
     ó   <€ Sw  r#\        4       pVP                  4       '       dE   V P                  \        V4      ^S,          V^S,          ,
          ^S,          ^S,          RRR7       V P	                  R^4       V P                  SP                  R4      4       V P                  V^,          V^S,          ,
          SR,          4       V P                  SP                  R4      4       V P                  ^S,          V^S,          ,
          V^S,          ,
          V^S,          ,
          4       V P                  ^S,          ^S,          V^S,          ,
          ^S,          4       V P	                  R^4       V P                  SP                  R	4      4       V P                  ^S,          ^S,          SR
,          ^ ,          4       V P                  V^S,          ,
          ^S,          SR
,          ^,          4       R# )é   TÚauto)rE  rD  ÚpreserveAspectRatioÚmaskr‚  rƒ  rŸ   ú#CBD5E1rŒ  z#64748Br¥   N)re   rÕ  Ú	drawImagern   ÚsetFontÚsetFillColorÚHexColorÚdrawCentredStringÚsetStrokeColorri  Ú
drawStringÚdrawRightString)	ÚcanvasÚ_docrE  rD  ra  rp  ru  Ú	page_sizer,  s	   &&   €€€€rZ   Ú	draw_pageÚ_pdf_bytes.<locals>.draw_pageX  s‡  ø€ Ø!‰ˆÜ‹|ˆØ�;‰;�=Š=Ø×ÑœS ›Y¨¨R­°¸"¸r½'Õ1AÈÈbÍÐY[Ð^`ÕY`Ðvzð  BHÐô  IØ�‰Ð'¨Ô,Ø×Ñ˜FŸO™O¨IÓ6Ô7Ø× Ñ  ¨¥¨F°R¸"µWÕ,<¸fÀ^Õ>TÔUØ×Ñ˜fŸo™o¨iÓ8Ô9Ø�‰�B˜•G˜V b¨2¥gÕ-¨u°r¸Bµw­ÀÈÈbÍÕ@PÔQØ�‰�B˜•G˜R "�W e¨b°2­g¥o°r¸BµwÔ?Ø�‰Ð*¨AÔ.Ø×Ñ˜FŸO™O¨IÓ6Ô7Ø×Ñ˜"˜r�' 1 r¥6¨6°.Õ+AÀ!Õ+DÔEØ×Ñ˜u r¨B¥w�°°Bµ¸¸~Õ8NÈqÕ8QÖRr\   r<   r'  rœ   r(  r¡   r2   ro   rg   rp   ÚLEFT)Ú	colWidthsÚhAlignÚ
BACKGROUNDz#E8F1F8ÚBOXg      à?r•  Ú	INNERGRIDg333333Ó?Ú	TEXTCOLORru   c              3  ó¼   <"  € T FL  pSR ,           Uu. uF3  pS! \        VP                  VR,          4      VR,          4      S4      NK5  	  upx € KN  	  R# u upi 5i)ru   rm   rp   N)r  r?  )r¿   rý   r,  rv  Ú
body_styler,  s   &  €€€rZ   rÁ   Ú_pdf_bytes.<locals>.<genexpr>�  sW   øé € ð á!ˆCð bhÐhqÖarÓsÑarÐW]‰”:˜cŸg™g f¨U¥mÓ4°f¸VµnÓEÀzÖ	RÑarÖsÛ!ùò 	tùs   ƒA“9AÁArÆ   )r¤  Ú
repeatRowsÚGRIDr<  ÚROWBACKGROUNDSz#F8FAFC)ÚonFirstPageÚonLaterPages©r   r   ©éÿÿÿÿr´  )ÚFONTNAMEr²  )r   r´  r‚  )ÚFONTSIZEr²  r³  é   )ÚVALIGNr²  r³  ÚMIDDLE)ÚLEFTPADDINGr²  r³  é   )ÚRIGHTPADDINGr²  r³  r»  )Ú
TOPPADDINGr²  r³  é   )ÚBOTTOMPADDINGr²  r³  r¾  )r´  r   )r   é   )rº  r²  r³  r¾  )r¼  r²  r³  r¾  )Úreportlab.librp  Úreportlab.lib.enumsrq  Úreportlab.lib.pagesizesrr  r;  Úreportlab.lib.stylesrs  rt  Úreportlab.lib.unitsru  Úreportlab.platypusrv  rw  rx  ry  rz  r	   r™  Úwhiter  ÚsetStylerÜ  r|  r}  rû   rÍ   Úbuildr[  )r,  rq  rr  r;  rs  rt  rw  rx  ry  rz  rl  ÚdocumentÚstylesÚtitle_styleÚ
meta_styleÚheader_styler¡  ÚstoryrÀ   Úsummary_dataÚsummary_tabler,  Ú
table_dataÚavailable_widthÚtablerv  r«  rp  ru  r   s   f                        @@@@@rZ   Ú
_pdf_bytesrÕ  :  s¿  ý€ Ý$Ý-ß5ßHÝ&ßZÕZä‹Y€FÙ˜"“€IÙ ØØØ˜•7Ø˜•GØ�r•'Ø˜"•Wô€Hñ !Ó"€FÙ Ø˜f ZÕ0Ð;KÐVXØ˜fŸo™o¨iÓ8ÀIÐZ[Ð^`ÕZ`ô€Kñ  Ø�v˜hÕ'Ð2EÐPSØ˜fŸo™o¨iÓ8ÀIÐZ[Ð^`ÕZ`ô€Jñ   ¨v°hÕ/?È+Ð`cÐmpÔq€JÙ! (°:ÐHXÐdj×dpÑdpð  }Fô  G€L÷Sð Sñ" 	�&˜•/ ;Ó/ÙÐ& v¨nÕ'=Ð&>¸nÈVÐTbÕMcÐLdÐeÐgqÓrð€Eð HNð  OXö  HYó  Zñ  HYð  @D‘Y˜t G�}¨jÓ9¹9ÄZÐPTÐU\ÕP]Ð_cÐdjÕ_kÓElÐnxÓ;yÓzñ  HY€Lð  ZÙ˜,°2¸µ7¸BÀ½GÐ2DÈVÔT€MØ×ÑÙà˜v x°·±ÀÓ1KÐLØ˜ ¨#¨v¯©¸yÓ/IÐJØ˜f h°°V·_±_ÀYÓ5OÐPØ?Ø1Ø˜f h°·±À	Ó0JÐKØ6Ø4Ø5Ø3Ø6ðó	
ôð" 
‡L�L�-¡¨¨1¨r­6Ó!2Ð3Ô4ØJPÐQZÖJ[Ó\ÑJ[À‘9˜V G�_¨lÖ;ÑJ[Ñ\Ð]€JØ×Ñö à˜&–>óô ð   •l X×%8Ñ%8Õ8¸8×;OÑ;OÕO€OÙ�*¨¼3¸vÀiÕ?PÓ;QÕ)QÐ(RÔUXÐY_Ð`iÕYjÓUkÕ(kÐxyÔz€EØ	‡N�NÙà˜v w°·±À	Ó0JÐKØ˜ ¨4°·±ÀÓ1KÐLØ! 6¨8°f·l±lÀFÇOÁOÐT]ÓD^Ð5_Ð`Ø6Ø4Ø5Ø3Ø6ð	ó	
ôð 
‡L�L�ÔØ‡N�N�5 i¸i€NÔHØ�?‰?ÓÐùòW Zùò( ]s   Å :M3È3M8z/formal/{report_key}rˆ   )Údefault)rÖ  ÚgeÚlerõ  i4  c               ó4   € V ^8„  d   QhRRRRRRRRRRR	R
RR
/# )rV   rƒ   rn   r¯   ú#Annotated[Session, Depends(get_db)]r„   r…   r†   r‡   rˆ   r‰   rŠ   rX   )rY   s   "rZ   r[   r[   ›  sW   € ÷ 	Wñ 	WØð	Wà+ð	Wð ð	Wð ð		Wð
 ð	Wð ð	Wð ñ	Wr\   c           	     ó   € \        WW#WEV4      # r_  )r  )rƒ   r¯   r„   r…   r‡   rˆ   rŠ   s   &&&&&&&rZ   Úformal_reportrÜ  š  s   € ô ˜J¨FÀÐQUÓVÐVr\   z/formal/{report_key}/exportÚpdfc               ó8   € V ^8„  d   QhRRRRRRRRRRR	RR
RRR/# )rV   rƒ   rn   r¯   rÚ  rY   r„   r…   r†   r‡   rˆ   r‰   rŠ   rX   )rY   s   "rZ   r[   r[   ¨  sb   € ÷ Vñ VØðVà+ðVð ðVð ð	Vð
 ðVð ðVð ðVð ñVr\   c           	     óþ   € \        WW4WVV4      pV  R \        P                  ! 4       R 2p	VR8X  d   \        \	        V4      RRRV	 R2/R7      # VR8X  d   \        \        V4      R	RRV	 R
2/R7      # \        RRR7      h)ú-report-ú%Y%m%dÚxlsxúAapplication/vnd.openxmlformats-officedocument.spreadsheetml.sheetúContent-Dispositionúattachment; filename="ú.xlsx"©ÚcontentÚ
media_typeÚheadersrÝ  úapplication/pdfú.pdf"rŽ   ú"Export format must be pdf or xlsx.r�   )r  r   r–   r   rm  rÕ  r   )
rƒ   r¯   rY   r„   r…   r‡   rˆ   rŠ   r,  Úfilenames
   &&&&&&&&  rZ   Úexport_formal_reportrï  §  s£   € ô ˜j¨fÀ(ÐSWÓX€FØ�˜X¤d§j¢j£l°6Ð%:Ð;€HØ�ÔÜÜ Ó'ØZØ*Ð.DÀXÀJÈfÐ,UÐVô
ð 	
ð
 �„ÜÜ˜vÓ&Ø(Ø*Ð.DÀXÀJÈeÐ,TÐUô
ð 	
ô
  CÐ0TÔ
UÐUr\   z/custom/metadatac                 óì   € R \         P                  4        U UUUUu. uF<  w  rRT RVR,          RVR,           UUUu. uF  w  r#p\        W#V4      NK  	  uppp/NK>  	  uppppp /# u upppi u uppppp i )Úsourcesrm   r<   rA   )rT   r  rs   )rm   rü  Ú	field_keyro   rp   s        rZ   Úcustom_report_metadataró  Ã  s‚   € ð 	ô  5×:Ñ:Ô<÷
ñ  =‘�ð	 �sØ˜ �ØÐY_Ð`hÖYiÕjÑYiÑ?U¸yÐQUœ7 9°TÖ:ÑYiÓjóñ
  =õ
ð	ð 	ùô
 kùö	
s   œ A-¼A&"Á
A-Á&A-z/custom.c          
     ó,   € V ^8„  d   QhRRRRRRRRR	R/# )
rV   r¯   rÚ  rü  rn   rA   rï  r…   r†   r‡   rX   )rY   s   "rZ   r[   r[   Ò  sA   € ÷ Rñ RØ+ðRàðRð ðRð ð	Rð
 ñRr\   c                ój   € \        V'       g	   V'       d   R MRW4RR4      ^,          p\        WWWE4      # )rá   rô   N)r   rþ  )r¯   rü  rA   r…   r‡   rœ   s   &&&&& rZ   Úcustom_reportrö  Ñ  s2   € ô %·
¿h¡WÈEÐS]ÐimÐosÓtÐuvÕw€LÜ˜&¨"¸(ÓQÐQr\   z/custom/exportc               ó0   € V ^8„  d   QhRRRRRRRRRR	R
R	/# )rV   r¯   rÚ  rü  rn   rA   rï  rY   r…   r†   r‡   rX   )rY   s   "rZ   r[   r[   Þ  sL   € ÷ Vñ VØ+ðVàðVð ðVð ð	Vð
 ðVð ñVr\   c                óL  € \        V'       g	   V'       d   R MRWERR4      ^,          p\        WWWV4      pRV R\        P                  ! 4       R 2pVR8X  d   \	        \        V4      RRR	V R
2/R7      # VR8X  d   \	        \        V4      RRR	V R2/R7      # \        RRR7      h)rá   rô   Nzcustom-rà  rá  râ  rã  rä  rå  ræ  rç  rÝ  rë  rì  rŽ   rí  r�   )r   rþ  r   r–   r   rm  rÕ  r   )	r¯   rü  rA   rY   r…   r‡   rœ   r,  rî  s	   &&&&&&   rZ   Úexport_custom_reportrù  Ý  sÁ   € ô %·
¿h¡WÈEÐS]ÐimÐosÓtÐuvÕw€LÜ˜F¨B¸HÓS€FØ˜˜ ¬¯ª«°fÐ(=Ð>€HØ�ÔÜÜ Ó'ØZØ*Ð.DÀXÀJÈfÐ,UÐVô
ð 	
ð
 �„ÜÜ˜vÓ&Ø(Ø*Ð.DÀXÀJÈeÐ,TÐUô
ð 	
ô
  CÐ0TÔ
UÐUr\   z/status-summaryc               ó   € V ^8„  d   QhRR/# ©rV   r¯   rÚ  rX   )rY   s   "rZ   r[   r[   ù  s   € ÷ ñ Ð:ñ r\   c                ó�  € V P                  \        P                  \        P                  ! \        P
                  4      4      P                  \        P                  4      P                  4       pV P                  \        P                  \        P                  ! \        P
                  4      4      P                  \        P                  4      P                  4       pV P                  \        P                  \        P                  ! \        P
                  4      4      P                  \        P                  4      P                  4       pR V UUu. uF  w  rERVP                  RV/NK  	  uppRV UUu. uF  w  rERVP                  RV/NK  	  uppRV UUu. uF  w  rERVP                  RV/NK  	  upp/# u uppi u uppi u uppi )r;   r¼   r³   rD   r  )rÔ   r,   rø   r   r³   r  r  rô   r/   r¼   r+   rg   )r¯   Úrequisition_statusÚtender_statusÚ	po_statusr¼   r³   s   &     rZ   Ústatus_summaryr   ø  sP  € àŸ™¤+×"=Ñ"=¼t¿zºzÌ+Ï.É.Ó?YÓZ×cÑcÔdo×dÑdó  A÷  Eñ  Eó  GÐØ—H‘HœY×-Ñ-¬t¯zªz¼)¿,¹,Ó/GÓH×QÑQÔR[×RbÑRbÓc×gÑgÓi€MØ—‘œ×-Ñ-¬t¯zªz¼-×:JÑ:JÓ/KÓL×UÑUÔVc×VjÑVjÓk×oÑoÓq€IàÑWiÔjÑWiÁmÀf˜( F§L¡L°'¸5ÓAÑWiÒjØÑR_Ô`ÑR_ÁÀ�X˜vŸ|™|¨W°eÓ<ÑR_Ò`ØÑZcÔdÑZcÉÈ˜X v§|¡|°W¸eÓDÑZcÒdðð ùÛjùÛ`ùÛds   ÅF6Å2F<ÆGz/payment-agingc               ó   € V ^8„  d   QhRR/# rû  rX   )rY   s   "rZ   r[   r[     s   € ÷ ñ Ð9ñ r\   c                ó´  € V P                  \        4      P                  \        P                  P	                  4       4      P                  4       pV Uu. uFy  pR VP                  RVP                  R\        VP                  4      R\        VP                  4      R\        VP                  VP                  ,
          4      RVP                  /NK{  	  up# u upi )r›  rS   rœ  r  Úoutstandingrž  )rÔ   r(   rñ   rS   rh  rô   r›  rh   rœ  r  rž  )r¯   rÆ   rý   s   &  rZ   Úpayment_agingr    s¶   € à�8‰8”OÓ$×-Ñ-¬o×.JÑ.J×.OÑ.OÓ.QÓR×VÑVÓX€Dñ ó
ñ ˆCð ˜#Ÿ.™.Ø˜C×,Ñ,Øœe C×$6Ñ$6Ó7Øœ5 §¡Ó1Øœ5 ×!3Ñ!3°c·o±oÕ!EÓFØ˜c×0Ñ0ó	
ñ ñ
ð 
ùò 
s   ÁA?C)©Úrequisition_nozRequisition NorY  )r@   zRequisition DaterY  )rò   zReceived FromrY  ©rö   rè   rY  ©r÷   ré   rY  ©Úitem_descriptionzItem DescriptionrY  ©ÚquantityÚQuantityrÅ   ©rË   rë   rµ   ©rf  zProcurement ModerY  ©Úprocurement_mode_otherzOther Procurement ModerY  ©r�  zBudget HeadrY  )rø   zApproval StatusrY  )
)rT  zProcurement Case NorY  r  r  ©rC   zMode Selection DaterY  )Úapproved_quantityzApproved QuantityrÅ   )Úapproved_estimated_costzApproved Estimated Costrµ   )Úcase_statusúCase StatusrY  )Úsanction_nozSanction NorY  ©Úsanction_datezSanction DaterY  ©Úapproving_authorityzApproving AuthorityrY  ))Ú	tender_noú	Tender NorY  )rE   zTender DaterY  ©Ú	item_namez	Item NamerY  r  r  r  )Úbid_published_datezBid Published DaterY  )Úbid_closed_datezBid Closed DaterY  )Úl1_bidder_namez	L1 BidderrY  ©ÚamountÚAmountrµ   ©r¼   ÚStatusrY  )©Úemd_unique_idzEMD IDrY  )rG   z
Entry DaterY  ©Útender_numberr  rY  ©Úbidder_nameÚBidderrY  )Úemd_nozEMD NorY  r$  ©rH   zExpiry DaterY  ©rI   zRefund StatusrY  )r+  r  r  r-  )rK   zReceipt DaterY  )Úrecipient_nameÚ	RecipientrY  )Úevaluation_statuszEvaluation StatusrY  )	©rš  r   rY  ©rN   r¡  rY  ©r™  rŸ  rY  r	  r  ©r  r5  rµ   r  ©rO   zDelivery Due DaterY  r'  )©Úcontract_numberúContract NorY  r8  ©Úsecurity_numberzSecurity NorY  )Úsecurity_datezSecurity DaterY  r$  r1  ©rÛ  zRelease StatusrY  )©r¬  zPO IDrÅ   )rP   zDelivery DaterY  )Úaccepted_quantityzAccepted QuantityrÅ   )rÖ  zAcceptance StatusrY  ©ÚremarksÚRemarksrY  )rB  )r›  r¢  rY  )rS   r£  rY  )rœ  r¤  rµ   )r  r6  rµ   ©rž  r¥  rY  )rY  zProcurement CaserY  )rY  ))r  ÚIDrÅ   )rv   zCase IDrÅ   )Úgem_procurement_typezGeM TyperY  )Ú
gem_bid_noz
GeM Bid NorY  )rt   zBid DaterY  ©Úgem_contract_nor=  rY  ©Úgem_order_valuezOrder Valuerµ   r'  )rK  )rw   zContract DaterY  rM  )Údelivery_statuszDelivery StatusrY  rG  r'  )©Útender_ref_nozTender Ref NorY  )rx   zPublication DaterY  )Úbid_submission_end_datezSubmission End DaterY  r  ©Úl1_vendor_idzL1 Vendor IDrÅ   ©Úcontract_nor=  rY  r'  )rP  )ry   zTechnical OpeningrY  )Útechnical_evaluation_statuszTechnical StatusrY  ©r¼   r  rY  )rP  )rz   zFinancial OpeningrY  )Úfinancial_evaluation_statuszFinancial StatusrY  rS  rX  ))Úglobal_tender_ref_nozGlobal Tender Ref NorY  )Úcountry_of_vendorzVendor CountryrY  ©Úforeign_vendor_namezForeign VendorrY  ©Úforeign_currencyÚCurrencyrY  )Úbid_value_inrzBid Value INRrµ   rU  r'  )r\  )r[  ÚCountryrY  r^  )Úbid_value_foreign_currencyzForeign ValuerÅ   )Úexchange_ratezExchange RaterÅ   )ra  z	INR Valuerµ   )©Úlpc_meeting_noz
Meeting NorY  )r|   zMeeting DaterY  ©Úquotation_countÚ
QuotationsrÅ   )Úlowest_vendor_idzLowest Vendor IDrÅ   ©r{   zApproval DaterY  r'  )re  )Úcommittee_memberszCommittee MembersrY  rg  ©Úcomparative_statement_pathzComparative StatementrY  )r}   zRecommendation DaterY  r'  )©r~   zMarket Survey DaterY  rg  )Úselected_vendor_idzSelected Vendor IDrÅ   rk  r'  ))Úprocurement_justificationÚJustificationrY  ro  rg  rm  r'  ))Úother_procurement_typezProcurement TyperY  )Úprocurement_reference_nozReference NorY  )Úprocurement_descriptionÚDescriptionrY  )Ú	vendor_idz	Vendor IDrÅ   rk  r'  )r)  r+  r-  r$  r1  r2  >   ÚHeldÚPendingúPending Return)r)  r+  r-  r$  rD  )r;  r8  r>  r$  r1  rA  )r6  r8  )r
  ÚItemrY  r9  r:  r'  )r  r6  r8  r9  r'  )©rT  zCase NorY  ©rf  ÚModerY  ©r  zApproved Costrµ   ©r  r(  rY  )r8  r6  r}  r9  r'  )r7  r6  r  r9  r'  )r  r  r}  r  ©rø   r(  rY  ))rò   zCircle / EstablishmentrY  r  r}  r  r�  )r  r  r}  r  r�  )r|  r}  r  r  r€  )r|  r  r  r}  r€  )r|  r  r}  r€  ))r
  zAsset / ItemrY  r  )ÚunitÚUnitrY  r8  r9  r'  r_  )fÚ__conditional_annotations__Ú
__future__r   Úcalendarr   r   r   r   r   Úior	   Úpathlibr
   Útypingr   r   Úfastapir   r   r   r   r   Ú
sqlalchemyr   r   Úsqlalchemy.ormr   Úapp.api.dashboardr   r   r   r   r   r   Úapp.api.depsr   Úapp.db.sessionr   Úapp.models.enumsr   Úapp.models.master_datar   Úapp.models.procurementr   r    r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   Úrouterr¨   rT   Ú__annotations__ÚCUSTOM_CASE_REFERENCE_MODELSrú   Úcustom_sourceÚinsertre   rk   rs   r�   ÚREPORT_CASE_REFERENCE_MODELSÚreport_specrš   r¬   rÜ   rÿ   r  r-  rK  rO  rV  rZ  ro  ru  r–  r¯  rë  rþ  r  r  rm  rÕ  r?  rÜ  rï  ró  rö  rù  r   r  )r,  r„  s   0@rZ   Ú<module>rš     sß
  øðß "Ð "å ß 4Ó 4Ý Ý ß !ç FÕ Fß  Ý "ç × Ý 'Ý !Ý .Ý 9÷÷ ÷ ÷ õ ñ( 
¡©¸	Ó)BÓ!CÐ DÔ	E€ð(ØÐð(àÐ.ð(ð Ð<ð(ð Ð+ð	(ð
 Ð;ð(ð Ð5ð(ð Ð9ð(ð Ð7ð(ð Ð)ð(ð Ð.ð(ð Ð1ð(ð Ð,ð(ð "Ð#Gð(ð "Ð#Gð(ð Ð6ð(ð  !Ð"Eð!(ð" �Nñ#(ð$ Ð5ð%(ð& Ð>ð'(ð(  Ð!Cð)(ð* !Ð">ð+(ð, �Nð-(ð. Ð.ð/(ð0 Ð8ð1(ð2 $Ð%Dð3(ð4 Ð*ð5(ð6 Ð4ð7(ð8 Ð=ð9(ð: !Ð">ð;(ð< Ð ?ð=(ð> ÐGð?(ð@ #Ð$GðA(ðB !Ð"CðC(ðD  Ð!AñE(ðF Ð@ØÐ<Ø Ð">ØÐ'Ø$Ð&OñO(€ðX Ø�Ø�ØÐ'Øò 
ð	ð& ØÐ$Ø�ØÐ*Øò 
ð	ð" ØÐ(Ø�Ø�]Øò 
ð	ð$ Ø�Ø�Ø�\Øò 	
ð	ð ØÐ"Ø�Ø�^Øò 
ð	ð ØÐ"Ø�Ø�YØò 

ð	ð  ØÐ)ØÐ$Ø�\Øò 
ð	ð ØÐ(ØÐ#Ø�_Øò 
ð	ð Ø�Ø�Ø�^Øò 
ð	ð}K4Ð Ð0ó Kð\ ØØØØØØð Ð ð +×1Ñ1Ö3€MØ�WÕÐ!=Ö=Ø�hÕ×&Ñ& qÐ*dÖeñ 4õ
`õ÷6ðU+ØØÐ#Ø�^Øò 	
ððU+ð ØÐ#ØÐ(Øò 
ððU+ð6 Ø�ØÐ.Øò 
ðð7U+ðP "Ø�ØÐ1Øò 
ð	$ðQU+ðd "Ø�ØÐ1Øò 
ð
$ðeU+ðz ØÐ!Ø�_Øò 
ðð{U+ðT !ØÐ!Ø�_Øò 
ð#ðUU+ðl ØÐ#ØÐ'Øò 
ððmU+ðD ØÐ#ØÐ*Øò 
ððEU+ð\ Ø�ØÐ)Øò 
ð
ð]U+ðr  Ø�Ø�_Øò 
ð
"ðsU+ðH !ØÐ%Ø�_Øò 
ð#ðIU+ð` Ø�Ø�\Øò 
ððaU+ðx Ø�Ø�\Ø�_Ò&KÐLÐMØò 
ð	ðyU+ðR Ø�Ø�\Ø�_ { mÐ4Ð5Øò 
ð	 ðSU+ðj $ØÐ$Ø�\Øò 
ð&ðkU+ðB ØÐ$Ø�]Øò 
ððCU+ðZ Ø�ØÐ(Øò 
ðð Ø�Ø�YØò  ð ð
 !Ø�ØÐ*Øò  Cð#ð
 Ø�Ø�YØò  }ð!ð
 Ø�Ø�YØò  |ðð
 #Ø�ØÐ'Øò  qð%ð
 !Ø�ØÐ'Øò  vð#ð
  Ø�ØÐ'Øò  kð"ð
 Ø�ØÐ*Øò  {ðð
 Ø�ØÐ*Øò  mðð
 !Ø�ØÐ*Øò  Að#ð
 Ø�Ø�YØò  }ðð
 %Ø�Ø�YØó  gð'ñaU+€Ð'ó Uðp ØØØØØØØØØØØØØØð Ð ð"  ×&Ñ&Ö(€KØ�7ÕÐ;Ö;à!,¨YÖ!7ó"
Ù!7�vÀ!½9ÐH]Ñ;]�FˆFÑ!7ñ"
ˆ�IÑð 	�IÕ×%Ñ% aÐ)cÖdñ )õHõ,õ+õ\*õZõ(Y÷x+ð +õ\õRõ3õ-õ`6÷
;ð ;õ|1õh@õF+õ\/õ>:õZõz]ð@ ‡�Ð"Ó#ñ  Ô(Ù#¨DÔ1Ù!¨$Ô/Ù d¨q°RÔ8Ù T¨d°tÔ<ö	Wó $ð	Wð ‡�Ð)Ó*ñ  Ô&Ù Ô(Ù#¨DÔ1Ù!¨$Ô/Ù d¨q°RÔ8Ù T¨d°tÔ<öVó +ðVð6 ‡�ÐÓñ
ó  ð
ð ‡�ˆIÓñ ˜“*Ù bÔ)Ù#¨DÔ1Ù!¨$Ô/öRó ðRð ‡�ÐÓñ ˜“*Ù bÔ)Ù Ô&Ù#¨DÔ1Ù!¨$Ô/öVó ðVð4 ‡�ÐÓôó ðð ‡�ÐÓôó òùòC"
s   Î
V(ÎV(