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

46 lines
10 KiB
Plaintext
Raw Normal View History

2026-04-15 10:32:46 +05:30
<EFBFBD>
<03>1h<31><00><00><><00>ddlmZmZmZmZmZmZmZddlm Z ddl
m Z ddl m Z ddlmZmZmZmZmZddlZddlZede<16>ZddlZd<08>Zej5d d
g<01> <0B>d <0C><00>Zej5d <0A>d<0E><00>Zy)<0F>)<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>reportsc<00> <00>t|t<00>sy|j<00>jdd<01>jdd<01>jdd<01>jdd<01>jdd<01>jdd<01>j <00>S)N<><00>,<2C>(<28>)<29>.<2E>&<26>
)<05>
isinstance<EFBFBD>str<74>strip<69>replace<63>lower)<01>texts <20><>C:\Users\ADMIN\Desktop\Swapnil Dahiphale\new_app\client-billing-app-new - 22-05-2025\client-billing-app-new - 22-05-2025\app\routes\reports.py<70>
clean_textr"sm<00><00> <15>d<EFBFBD>C<EFBFBD> <20><11> <0F>:<3A>:<3A><<3C> <1F> <1F><03>R<EFBFBD> (<28> 0<> 0<><13>b<EFBFBD> 9<> A<> A<>#<23>r<EFBFBD> J<><17><07><03>R<EFBFBD> <20><17><17><13>b<EFBFBD>!1<>'<27>'<27>$<24><02>2C<32>E<EFBFBD>E<EFBFBD>G<EFBFBD>L<01>z /report_excel<65>GET)<01>methodsc <00>@<00>d}tjjdd<03>}tjjdd<03>}t|<01>}t|<02>}|sy|syt d|<01><00><02>t d|<02><00><02>t
j j|<01> <09>j<00>D<00>cgc]}t|j<00>|k(r|<05><02>}}t d
t|<06><00>d <0B><03>|s d |<02>d |<01>d<0E>dfSi}d<10>}|D]} | j}
<EFBFBD>t
j jt
j|k(<00>j<00>D<00>cgc]}t|j<00>|k(r|<05><02>} }t d
t| <0B><00>d|<02>d<12><05>| D<00>]q}|jr|jj!<00>nd} d} | |vr-dg| z|| <|j"|| d<|j|| d<||j$<00>}||j&<00>}|||z
<00>}||j(<00>||j*<00>z}||j(<00>||j*<00>|||j,<00>||g}|jr|jj/<00>nd}d|vrdnd|vrdn d|vrdnd|vrdnd\}}|<14><02><01>4|<15><02><01>8t1||<15>D]+}|| |<00>||| |<00>nd}||||z
z|| |<<00>-<00><01>tt dt|<07><00><00><02>|s d |<01>d!|<02>d<0E>dfSt3j4|d|<02>}|<18>d"<22>}t6j8j;t<j>d#|<19>}tA<00>}|jB}d$|_"tGtId%<25>&<26>tId%<25>&<26>tId%<25>&<26>tId%<25>&<26><00>'<27>}tKd(d(d)<29>*<2A>}tKd+d+d)<29>*<2A>}tKd,d,d)<29>*<2A>} tKd-d-d)<29>*<2A>}!tKd.d.d)<29>*<2A>}"|jMdd/dd0<64>1<EFBFBD>d2|d3<d4|d5<d6|d7<|jMdd8dd9<64>1<EFBFBD>d:|d;<|jMdd<dd=<3D>1<EFBFBD>d>|d?<|jMdd@dd<13>1<EFBFBD>dA|dB<dCD]<5D>}#dD|jOdE|#<23>F<EFBFBD>_(dG|jOdE|#dz<00>F<EFBFBD>_(dH|jOdE|#dEz<00>F<EFBFBD>_(dI|jOdE|#d/z<00>F<EFBFBD>_(dJ|jOdE|#dKz<00>F<EFBFBD>_(dL|jOdE|#dMz<00>F<EFBFBD>_(<00><>t1ddN<64>D]<5D>}$|jOdE|$<24>F<EFBFBD>jR}%tUdOdP<64>Q<EFBFBD>||%<25>dR<64>_+tYdSdS<64>T<EFBFBD>||%<25>dR<64>_-|||%<25>dR<64>_.|||%<25>dR<64>_/tUdOdU<64>Q<EFBFBD>||%<25>dV<64>_+tYdSdS<64>T<EFBFBD>||%<25>dV<64>_-|||%<25>dV<64>_.|||%<25>dV<64>_/<00><>d/}&dWdgdgdXzz}'gdY<64>}(|ja<00>D]<5D>})|jc|)<29>|&dEzdk7r| n|!}*t1ddN<64>D]2}$|*|jO|&|$<24>F<EFBFBD>_.||jO|&|$<24>F<EFBFBD>_/<00>4|(D]}|'|xx||)|<00>z cc<<00>|&dz }&<26><>|jc|'<27>t1ddN<64>D]v}$tUdO<64>Z<EFBFBD>|jO|&|$<24>F<EFBFBD>_+|"|jO|&|$<24>F<EFBFBD>_.tYdS<64>[<5B>|jO|&|$<24>F<EFBFBD>_-||jO|&|$<24>F<EFBFBD>_/<00>xt1ddN<64>D]1}d=|jd|jOdE|<16>F<EFBFBD>jR_3<00>3|ji|<1A>t d\|<19><00><02>tktmd]|<19>^<5E><00>Scc}wcc}w)_Nz [\\/*?:"<>|]<5D>blockr<00> main_task)zPlease select a Block.<2E><>)zPlease select a Main Task.r)zBlock selected: zMain task selected: )<01>
block_namezFound z main task recordsz Main Task 'z#' not found in the selected block 'z'.i<>c<00>X<00> tt|<00>d<01>S#ttf$rYywxYw)N<>g)<04>round<6E>float<61>
ValueError<EFBFBD> TypeError)<01>values r!<00>
safe_floatz#generate_report.<locals>.safe_float1s/<00><00> <17><18><15>u<EFBFBD><1C>q<EFBFBD>)<29> )<29><><1A>I<EFBFBD>&<26> <17><16> <17>s <00><00>)<03>)z subtasks for main task '<27>'<27>r<00><00>supply)r,<00><00>erection)r7<00><00>testing)r9<00><00> commissioning)r;r4)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>bottom<6F>FFC000<30>solid)<03> start_color<6F> end_color<6F> fill_type<70>92D050<35>FFFFFF<46>D9EAD3<44>FFF2CC<43>r7)<04> start_row<6F> start_column<6D>end_row<6F>
end_columnzTask ID<49>A1z Village Name<6D>B1z Supply (70%)<29>C1<43> r9zErection (20%)<29>I1<49>r;z Testing (5%)<29>O1<4F>zCommissioning (5%)<29>U1)rMrUrWrYz
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>2<>Total<61>) r]<00><00><00>
r`<00> <00><00><00><00>rj<00>)ra)rezReport generated: zreports.download_report<72><01>filename)7r<00>args<67>getr"<00>printr
<00>query<72> filter_by<62>all<6C> task_name<6D>len<65> serial_number<65>filterr*<00>parent_task_name<6D> village_namer<00>id<69>
boq_amount<EFBFBD>previous_billing_amount<6E>qty<74>rate<74>previous_billed_qtyr<00>range<67>re<72>sub<75>os<6F>path<74>joinr <00>configr <00>active<76>titlerrr<00> merge_cells<6C>cellr1<00> column_letterr <00>fontr<00> alignment<6E>fill<6C>border<65>values<65>append<6E>column_dimensions<6E>width<74>saverr)+<2B>main_task_rexpr'r(<00> block_clean<61>main_task_clean<61>task<73>main_task_records<64> report_datar2<00>main_task_record<72>main_task_serial_number<65>subtasks_query<72>key<65> totalElemListr<74>r<><00>remaining_amount<6E> tender_amountr<74><00>task_name_clean<61>start<72>end<6E>i<> current_value<75>sanitized_main_task<73> file_name<6D> file_path<74>wb<77>ws<77> thin_border<65> header_fill<6C>subheader_fill<6C>data_row_fill1<6C>data_row_fill2<6C>total_row_fill<6C> start_col<6F>col<6F>
col_letter<EFBFBD> row_index<65>totals<6C> sum_columns<6E>row_datar<61>s+ r!<00>generate_reportr<74>s-<00><00>$<24>N<EFBFBD> <13>L<EFBFBD>L<EFBFBD> <1C> <1C>W<EFBFBD>b<EFBFBD> )<29>E<EFBFBD><17> <0C> <0C> <20> <20><1B>b<EFBFBD>1<>I<EFBFBD><1C>U<EFBFBD>#<23>K<EFBFBD> <20><19>+<2B>O<EFBFBD> <16>,<2C> <1A>0<> <09> <1C>U<EFBFBD>G<EFBFBD>
$<24>%<25> <09> <20><19> <0B>
,<2C>-<2D>+/<2F>*<2A>*<2A>*><3E>*><3E>%<25>*><3E>*P<>*T<>*T<>*V<>K<01>$<24>&<26>t<EFBFBD>~<7E>~<7E>6<>/<2F>I<><1E>K<01><15>K<01>
<EFBFBD>F<EFBFBD>3<EFBFBD>(<28>)<29>*<2A>*<<3C>
=<3D>><3E> <1C><1C>Y<EFBFBD>K<EFBFBD>'J<>5<EFBFBD>'<27>QS<51>T<>VY<56>Y<>Y<><14>K<EFBFBD><17>.<2E>A<01><18>"2<>"@<40>"@<40><1F>A<01> <1E><1A><1A>*<2A>*<2A>4<EFBFBD>?<3F>?<3F>e<EFBFBD>+C<>D<>H<>H<>J<><06><15> <15>d<EFBFBD>+<2B>+<2B> ,<2C><0F> ?<3F> <0A><06>N<EFBFBD><06>

<EFBFBD>F<EFBFBD>3<EFBFBD>~<7E>&<26>'<27>'@<40><19> <0B>1<EFBFBD>
M<EFBFBD>N<><1E>"H<01><04>+/<2F>+<<3C>+<<3C>d<EFBFBD><1F><1F>%<25>%<25>'<27>"<22><03><1A> <0A> <0E>k<EFBFBD> !<21> $<24>v<EFBFBD> <0A>5<>K<EFBFBD><03> <1C>"&<26>'<27>'<27>K<EFBFBD><03> <1C>Q<EFBFBD> <1F>"&<26>"3<>"3<>K<EFBFBD><03> <1C>Q<EFBFBD> <1F><1F><04><0F><0F>0<>
<EFBFBD>",<2C>T<EFBFBD>-I<>-I<>"J<><1F>%<25>j<EFBFBD>3J<33>&J<>K<><18>"<22>4<EFBFBD>8<EFBFBD>8<EFBFBD>,<2C>z<EFBFBD>$<24>)<29>)<29>/D<>D<> <0A> <16>t<EFBFBD>x<EFBFBD>x<EFBFBD> <20> <16>t<EFBFBD>y<EFBFBD>y<EFBFBD> !<21> <19> <16>t<EFBFBD>/<2F>/<2F> 0<> #<23> <1C> 
<EFBFBD><06>59<35>N<EFBFBD>N<EFBFBD>$<24>.<2E>.<2E>.<2E>.<2E>0<><02><0F><1E>/<2F>1<>F<EFBFBD>!<21>_<EFBFBD>4<>G<EFBFBD>!<21>_<EFBFBD>4<>H<EFBFBD>'<27>?<3F>:<3A>H<EFBFBD> <18> <13><05>s<EFBFBD> <11> <1C><13><1F><1A>5<EFBFBD>#<23>&<26> H<01><01>CN<43>s<EFBFBD>CS<43>TU<54>CV<43>Cb<43>
<EFBFBD>;<3B>s<EFBFBD>+;<3B>A<EFBFBD>+><3E> ?<3F>hi<68> <0A>&3<>f<EFBFBD>Q<EFBFBD><15>Y<EFBFBD>6G<36>&G<> <0B>C<EFBFBD> <20><11>#<23> H<01>A"H<01>H
<EFBFBD> /<2F><03>K<EFBFBD>0@<40>/A<>
B<EFBFBD>C<> <16>@<40><15><07>GX<47>Yb<59>Xc<58>ce<63>f<>hk<68>k<>k<><1D>&<26>&<26><1E><12>Y<EFBFBD>?<3F><17>&<26>'<27>|<7C>4<>I<EFBFBD><12><07><07> <0C> <0C>[<5B>/<2F>/<2F><0F>@<40>)<29>L<>I<EFBFBD> <11><1A>B<EFBFBD> <0B><19><19>B<EFBFBD><1F>B<EFBFBD>H<EFBFBD><19>d<EFBFBD><16>0<><04>6<EFBFBD>8J<38>!<21><06>/<2F><04>6<EFBFBD>8J<38>L<01>K<EFBFBD><1D>(<28>h<EFBFBD>RY<52>Z<>K<EFBFBD> <20>X<EFBFBD><18>U\<5C>]<5D>N<EFBFBD> <20>X<EFBFBD><18>U\<5C>]<5D>N<EFBFBD> <20>X<EFBFBD><18>U\<5C>]<5D>N<EFBFBD> <20>X<EFBFBD><18>U\<5C>]<5D>N<EFBFBD><06>N<EFBFBD>N<EFBFBD>Q<EFBFBD>Q<EFBFBD><01>a<EFBFBD>N<EFBFBD>H<><18>B<EFBFBD>t<EFBFBD>H<EFBFBD><1D>B<EFBFBD>t<EFBFBD>H<EFBFBD><1D>B<EFBFBD>t<EFBFBD>H<EFBFBD><06>N<EFBFBD>N<EFBFBD>Q<EFBFBD>Q<EFBFBD><01>b<EFBFBD>N<EFBFBD>I<><1F>B<EFBFBD>t<EFBFBD>H<EFBFBD><06>N<EFBFBD>N<EFBFBD>Q<EFBFBD>R<EFBFBD><11>r<EFBFBD>N<EFBFBD>J<><1D>B<EFBFBD>t<EFBFBD>H<EFBFBD><06>N<EFBFBD>N<EFBFBD>Q<EFBFBD>R<EFBFBD><11>r<EFBFBD>N<EFBFBD>J<>#<23>B<EFBFBD>t<EFBFBD>H<EFBFBD>#<23>H<01> <09>1=<3D><02><07><07>A<EFBFBD>i<EFBFBD><07>(<28>.<2E>5B<35><02><07><07>A<EFBFBD>i<EFBFBD>!<21>m<EFBFBD><07>,<2C>2<>5D<35><02><07><07>A<EFBFBD>i<EFBFBD>!<21>m<EFBFBD><07>,<2C>2<>5H<35><02><07><07>A<EFBFBD>i<EFBFBD>!<21>m<EFBFBD><07>,<2C>2<>5K<35><02><07><07>A<EFBFBD>i<EFBFBD>!<21>m<EFBFBD><07>,<2C>2<>5G<35><02><07><07>A<EFBFBD>i<EFBFBD>!<21>m<EFBFBD><07>,<2C>2<> H<01><15>Q<EFBFBD><02>|<7C>
2<><03><17>W<EFBFBD>W<EFBFBD><11>3<EFBFBD>W<EFBFBD>/<2F>=<3D>=<3D>
<EFBFBD>$(<28>d<EFBFBD><12>$<<3C><02>j<EFBFBD>\<5C><11> <1B><1C>!<21>)2<>h<EFBFBD>QY<51>)Z<><02>j<EFBFBD>\<5C><11> <1B><1C>&<26>$/<2F><02>j<EFBFBD>\<5C><11> <1B><1C>!<21>&1<><02>j<EFBFBD>\<5C><11> <1B><1C>#<23>$(<28>d<EFBFBD><12>$<<3C><02>j<EFBFBD>\<5C><11> <1B><1C>!<21>)2<>h<EFBFBD>QY<51>)Z<><02>j<EFBFBD>\<5C><11> <1B><1C>&<26>$2<><02>j<EFBFBD>\<5C><11> <1B><1C>!<21>&1<><02>j<EFBFBD>\<5C><11> <1B><1C>#<23>
2<><12>I<EFBFBD><15>r<EFBFBD>]<5D>a<EFBFBD>S<EFBFBD>2<EFBFBD>X<EFBFBD> %<25>F<EFBFBD>?<3F>K<EFBFBD><1F>&<26>&<26>(<28><17><08>
<EFBFBD> <09> <09>(<28><1B>!*<2A>Q<EFBFBD><1D>!<21>!3<>~<7E><1E><04><18><11>B<EFBFBD><<3C> D<01>C<EFBFBD>6:<3A>B<EFBFBD>G<EFBFBD>G<EFBFBD> <09>#<23>G<EFBFBD> .<2E> 3<>8C<38>B<EFBFBD>G<EFBFBD>G<EFBFBD> <09>#<23>G<EFBFBD> .<2E> 5<> D<01><1D> 1<>A<EFBFBD> <12>1<EFBFBD>I<EFBFBD><1A>H<EFBFBD>Q<EFBFBD>K<EFBFBD>0<> 0<>I<EFBFBD> 1<><11>Q<EFBFBD><0E> <09><17><07>I<EFBFBD>I<EFBFBD>f<EFBFBD><15><14>Q<EFBFBD><02>|<7C>@<01><03>26<32>D<EFBFBD>/<2F><02><07><07>I<EFBFBD>c<EFBFBD><07>*<2A>/<2F>2@<40><02><07><07>I<EFBFBD>c<EFBFBD><07>*<2A>/<2F>7@<40>H<EFBFBD>7U<37><02><07><07>I<EFBFBD>c<EFBFBD><07>*<2A>4<>4?<3F><02><07><07>I<EFBFBD>c<EFBFBD><07>*<2A>1<> @<01> <13>1<EFBFBD>b<EFBFBD>\<5C>P<01><01>MO<4D><02><1C><1C>R<EFBFBD>W<EFBFBD>W<EFBFBD><11>1<EFBFBD>W<EFBFBD>5<>C<>C<>D<>J<>P<01><07>G<EFBFBD>G<EFBFBD>I<EFBFBD><16> <09> <1E>y<EFBFBD>k<EFBFBD>
*<2A>+<2B> <13>G<EFBFBD>5<> <09>J<> K<>K<><4B>iK<01><>,s <00>+!^<04> !^z/download/<filename>c<00>@<00>ttjd|d<02><03>S)Nr=T)<01> as_attachment)rr r<>rts r!<00>download_reportr<74><00>s<00><00> <1E>{<7B>1<>1<>/<2F>B<>H<EFBFBD>\`<60> a<>ar#)<1D>flaskrrrrrrr <00>
app.modelsr
<00> app.__init__r <00>openpyxlr <00>openpyxl.stylesr rrrrr<>r<><00>__name__r<00>loggingr"<00>router<65>r<><00>r#r!<00><module>r<>s<><00><01>j<>j<>j<><1B><1B><1D>F<>F<> <09> <09>
<13>I<EFBFBD>x<EFBFBD>
(<28><07><0F>L<01>  <09><1D><1D><EFBFBD><15><07><1D>0<>eL<01>1<>eL<01>P <09><1D><1D>%<25>&<26>b<01>'<27>br#