Files
Client-Billing-software/app/routes/__pycache__/reports.cpython-39.pyc

50 lines
5.6 KiB
Plaintext
Raw Normal View History

2026-04-15 10:32:46 +05:30
a
<00>?<3F>h<EFBFBD><00>@s<>ddlmZmZmZmZmZmZmZddlm Z ddl
m Z ddl m Z ddlmZmZmZmZmZddlZddlZede<16>ZddlZdd <09>Zejd
d gd <0C>d d<0E><00>Ze<17>d<0F>dd<11><00>ZdS)<12>)<07> Blueprint<6E>request<73>render_template<74>send_from_directory<72>redirect<63>url_for<6F> current_app)<01>Task)<01>db)<01>Workbook)<05>Font<6E> Alignment<6E> PatternFill<6C>Border<65>SideN<65>reportscCsJt|t<01>sdS|<00><02><00>dd<01><02>dd<01><02>dd<01><02>dd<01><02>dd<01><02>dd<01><02><04>S)N<><00>,<2C>(<28>)<29>.<2E>&<26>
)<05>
isinstance<EFBFBD>str<74>strip<69>replace<63>lower)<01>text<78>r<00>/app/app/routes/reports.py<70>
clean_texts
 <04><04><04>r!z /report_excel<65>GET)<01>methodsc*sjd}tj<01>dd<03>}tj<01>dd<03>}t|<01>}t|<02><01>|s8dS<00>s@dStd|<01><00><02>td|<02><00><02><00>fd d
<EFBFBD>tjj|d <0B><01><08>D<00>}td t |<04><01>d <0A><03>|s<>d|<02>d|<01>d<10>dfSi}dd<13>}|D]
}|j
}q<><71>fdd
<EFBFBD>tj<06> tj |k<02><01><08>D<00>} td t | <09><01>d|<02>d<16><05>| D<00>]d}
|
j <0A>r |
j <0A><0E>nd} d} | |v<01>r\dg| || <|
j|| d<|
j || d<||
j<10>} ||
j<11>}|| |<00>}||
j<12>||
j<13>}||
j<12>||
j<13>|||
j<14>||g}|
j<15>r<>|
j<15><16>nd}d|v<00>r<>dn,d|v<00>r<>dnd|v<00>r<>dnd |v<00>rd!nd"\}}|du<01>r|du<01>rt||<14>D]D}|| |du<01>rL||| |<00>nd}|||||| |<<00>q&<26>qtd#t |<05><01><00><02>|<05>s<>d$|<01>d%|<02>d<10>dfSt<18>|d|<02>}|<17>d&<26>}tj<1B>tjd'|<18>}t<1F>}|j }d(|_!t"t#d)d*<2A>t#d)d*<2A>t#d)d*<2A>t#d)d*<2A>d+<2B>}t$d,d,d-d.<2E>}t$d/d/d-d.<2E>}t$d0d0d-d.<2E>}t$d1d1d-d.<2E>} t$d2d2d-d.<2E>}!|j%dd3dd4d5<64>d6|d7<d8|d9<d:|d;<|j%dd<dd=d5<64>d>|d?<|j%dd@ddAd5<64>dB|dC<|j%ddDddd5<64>dE|dF<dGD]z}"dH|j&dI|"dJ<64>_'dK|j&dI|"ddJ<64>_'dL|j&dI|"dIdJ<64>_'dM|j&dI|"d3dJ<64>_'dN|j&dI|"dOdJ<64>_'dP|j&dI|"dQdJ<64>_'<27>q<>tddR<64>D]<5D>}#|j&dI|#dJ<64>j(}$t)dSdTdU<64>||$<24>dV<64>_*t+dWdWdX<64>||$<24>dV<64>_,|||$<24>dV<64>_-|||$<24>dV<64>_.t)dSdYdU<64>||$<24>dZ<64>_*t+dWdWdX<64>||$<24>dZ<64>_,|||$<24>dZ<64>_-|||$<24>dZ<64>_.<2E>qLd3}%d[dgdgd\}&gd]<5D>}'|<05>/<2F>D]<5D>}(|<1B>0|(<28>|%dIdk<03>rJ|n| })tddR<64>D]&}#|)|j&|%|#dJ<64>_-||j&|%|#dJ<64>_.<2E>qX|'D]}|&|||(|<00>7<<00>q<>|%d7}%<25>q*|<1B>0|&<26>tddR<64>D]R}#t)dSd^<5E>|j&|%|#dJ<64>_*|!|j&|%|#dJ<64>_-t+dWd_<64>|j&|%|#dJ<64>_,||j&|%|#dJ<64>_.<2E>q<>tddR<64>D]}dA|j1|j&dI|dJ<64>j(_2<5F>q"|<1A>3|<19>td`|<18><00><02>t4t5da|db<64><02>S)cNz [\\/*?:"<>|]<5D>blockr<00> main_task)zPlease select a Block.<2E><>)zPlease select a Main Task.r&zBlock selected: zMain task selected: csg|]}t|j<01><01>kr|<01>qSr)r!<00> task_name<6D><02>.0<EFBFBD>task<73>Zmain_task_cleanrr <00>
<listcomp>'s<0E>z#generate_report.<locals>.<listcomp>)<01>
block_namezFound z main task recordsz Main Task 'z#' not found in the selected block 'z'.i<>c Ss.ztt|<00>d<01>WSttfy(YdS0dS)N<>g)<04>round<6E>float<61>
ValueError<EFBFBD> TypeError)<01>valuerrr <00>
safe_float1sz#generate_report.<locals>.safe_floatcsg|]}t|j<01><01>kr|<01>qSr)r!<00>parent_task_namer(r+rr r,=s<0E>z subtasks for main task '<27>'<27>r<00>Zsupply)r.<00>Zerection)r9<00><00>testing)r:<00>Z commissioning)r<r7)NNz#Number of villages in report data: z/No matching data found for the selected block 'z' and main task 'z _Report.xlsx<73> UPLOAD_FOLDERzSubtask Report<72>thin)<01>style)<04>left<66>right<68>top<6F>bottomZFFC000Zsolid)<03> start_color<6F> end_color<6F> fill_typeZ92D050ZFFFFFFZD9EAD3ZFFF2CC<43>r9)<04> start_row<6F> start_column<6D>end_row<6F>
end_columnzTask ID<49>A1z Village NameZB1z Supply (70%)ZC1<43> r:zErection (20%)ZI1<49>r<z Testing (5%)ZO1<4F>zCommissioning (5%)<29>U1)rGrMrNrOz
Tender Qtyr.)<02>row<6F>columnz Tender Ratez Tender AmountzPrevious Bill QTYzPrevious Bill Amount<6E>zRemaining Amount<6E><00>T<> )<02>bold<6C>size<7A>1<>center)<02>
horizontal<EFBFBD>vertical<61> <00>2ZTotal<61>) rS<00><00><00>
rV<00> <00><00><00><00>r_<00>)rW)r[zReport generated: zreports.download_report<72><01>filename)6r<00>args<67>getr!<00>printr <00>query<72> filter_by<62>all<6C>len<65> serial_number<65>filterr-<00> village_namer<00>id<69>
boq_amount<EFBFBD>previous_billing_amount<6E>qty<74>rate<74>previous_billed_qtyr'r<00>range<67>re<72>sub<75>os<6F>path<74>joinr<00>configr <00>active<76>titlerrr<00> merge_cells<6C>cellr3Z column_letterr <00>fontr <00> alignment<6E>fill<6C>border<65>values<65>appendZcolumn_dimensions<6E>width<74>saverr)*Zmain_task_rexpr$r%Z block_cleanZmain_task_recordsZ report_datar4Zmain_task_recordZmain_task_serial_numberZsubtasks_queryr*<00>keyZ totalElemListrvrw<00>remaining_amountZ tender_amountr<74>Ztask_name_clean<61>start<72>end<6E>i<> current_valueZsanitized_main_task<73> file_name<6D> file_path<74>wb<77>wsZ thin_borderZ header_fillZsubheader_fillZdata_row_fill1Zdata_row_fill2Ztotal_row_fillZ start_col<6F>colZ
col_letter<EFBFBD> row_indexZtotalsZ sum_columnsZrow_datar<61>rr+r <00>generate_reports<> 
<14>



 <02>
<02>& 
<10> 
 

r<>z/download/<filename>cCsttjd|dd<03>S)Nr=T)<01> as_attachment)rrr<>rirrr <00>download_report<72>sr<>)<1D>flaskrrrrrrr<00>
app.modelsr Z app.__init__r
<00>openpyxlr <00>openpyxl.stylesr r rrrr~r|<00>__name__r<00>loggingr!<00>router<65>r<>rrrr <00><module>s$   

)