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

44 lines
9.9 KiB
Plaintext
Raw Normal View History

2026-04-15 10:32:46 +05:30
<EFBFBD>
s7<73>h<EFBFBD><00><00><><00>SSKJrJrJrJrJrJrJr SSKJ r SSK
J r SSK J r SSKJrJrJrJrJr SSKrSSKr\"S\5rSSKrSr\R5S S
/S 9S 5r\R5S 5S5rg)<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>[U[5(dgUR5RSS5RSS5RSS5RSS5RSS5RSS5R 5$)N<><00>,<2C>(<28>)<29>.<2E>&<26>
)<05>
isinstance<EFBFBD>str<74>strip<69>replace<63>lower)<01>texts <20>3C:\Users\admin\client-billing\app\routes\reports.py<70>
clean_textr"sp<00><00> <15>d<EFBFBD>C<EFBFBD> <20> <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>Sn[RRSS5n[RRSS5n[U5n[U5nU(dgU(dg[ SU35 [ SU35 [
R RUS 9R5Vs/sH n[UR5U:XdMUPM" nn[ S
[U5S 35 U(d S US US3S4$0nSnUHn U Rn
M [
R R[
RU:H5R5Vs/sH n[UR5U:XdMUPM" n n[ S
[U 5SUS35 U GH<>nUR(aURR!5OSn Sn X<>;a*S/U -X|'UR"X|S'URX|S'U"UR$5nU"UR&5nU"X<>-
5nU"UR(5U"UR*5-nU"UR(5U"UR*5UU"UR,5UU/nUR(aURR/5OSnSU;aSOSU;aSOSU;aSO SU;aSOSunnUcGMEUcGMK[1UU5H*nX|Ub U"X|U5OSnUUUU-
-X|U'M, GM<> [ S[U535 U(d S US!US3S4$[2R4"USU5nUS"3n[6R8R;[<R>S#U5n[A5nURBnS$Ul"[G[IS%S&9[IS%S&9[IS%S&9[IS%S&9S'9n[KS(S(S)S*9n[KS+S+S)S*9n[KS,S,S)S*9n [KS-S-S)S*9n![KS.S.S)S*9n"URMSS/SS0S19 S2US3'S4US5'S6US7'URMSS8SS9S19 S:US;'URMSS<SS=S19 S>US?'URMSS@SSS19 SAUSB'SCH<>n#SDUROSEU#SF9l(SGUROSEU#S-SF9l(SHUROSEU#SE-SF9l(SIUROSEU#S/-SF9l(SJUROSEU#SK-SF9l(SLUROSEU#SM-SF9l(M<> [1SSN5H<>n$UROSEU$SF9RRn%[USOSPSQ9UU%SR3l+[YSSSSST9UU%SR3l-UUU%SR3l.UUU%SR3l/[USOSUSQ9UU%SV3l+[YSSSSST9UU%SV3l-UUU%SV3l.UUU%SV3l/M<> S/n&SWS/S/SX--n'/SYQn(URa5H<>n)URcU)5 U&SE-S:waU OU!n*[1SSN5H-n$U*UROU&U$SF9l.UUROU&U$SF9l/M/ U(HnU'U==U"U)U5- ss'M U&S- n&M<> URcU'5 [1SSN5Hen$[USOSZ9UROU&U$SF9l+U"UROU&U$SF9l.[YSSS[9UROU&U$SF9l-UUROU&U$SF9l/Mg [1SSN5H/nS=URdUROSEUSF9RRl3M1 URiU5 [ S\U35 [k[mS]US^95$s snfs snf)_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>Z<00>[[U5S5$![[4a gf=f)N<>g)<04>round<6E>float<61>
ValueError<EFBFBD> TypeError)<01>values r!<00>
safe_float<EFBFBD>#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)r8<00><00>testing)r:<00><00> commissioning)r<r5)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>r8)<04> start_row<6F> start_column<6D>end_row<6F>
end_columnzTask ID<49>A1z Village Name<6D>B1z Supply (70%)<29>C1<43> r:zErection (20%)<29>I1<49>r<z Testing (5%)<29>O1<4F>zCommissioning (5%)<29>U1)rNrVrXrZz
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>
ra<00> <00><00><00><00>rk<00>)rb)rfzReport 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>*V<>$<24>&<26>t<EFBFBD>~<7E>~<7E>6<>/<2F>I<><1E>*V<><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><18>"2<>"@<40>"@<40><1F>.<2E> <1E><1A><1A>*<2A>*<2A>4<EFBFBD>?<3F>?<3F>e<EFBFBD>+C<>D<>H<>H<>J<><06>J<><14> <15>d<EFBFBD>+<2B>+<2B> ,<2C><0F> ?<3F> <0A>J<><13><06>

<EFBFBD>F<EFBFBD>3<EFBFBD>~<7E>&<26>'<27>'@<40><19> <0B>1<EFBFBD>
M<EFBFBD>N<><1E><04>+/<2F>+<<3C>+<<3C>d<EFBFBD><1F><1F>%<25>%<25>'<27>"<22><03><1A> <0A> <0E> !<21> $<24>v<EFBFBD> <0A>5<>K<EFBFBD> <1C>"&<26>'<27>'<27>K<EFBFBD> <1C>Q<EFBFBD> <1F>"&<26>"3<>"3<>K<EFBFBD> <1C>Q<EFBFBD> <1F><1F><04><0F><0F>0<>
<EFBFBD>",<2C>T<EFBFBD>-I<>-I<>"J<><1F>%<25>j<EFBFBD>&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><01>CN<43>CS<43>TU<54>CV<43>Cb<43>
<EFBFBD>;<3B>+;<3B>A<EFBFBD>+><3E> ?<3F>hi<68> <0A>&3<>f<EFBFBD>Q<EFBFBD><15>Y<EFBFBD>6G<36>&G<> <0B> <20><11>#<23>'<27>A<1F>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> <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<> $<24><15>Q<EFBFBD><02>|<7C><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><1C><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><08>
<EFBFBD> <09> <09>(<28><1B>!*<2A>Q<EFBFBD><1D>!<21>!3<>~<7E><1E><04><18><11>B<EFBFBD><<3C>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<> <20><1D>A<EFBFBD> <12>1<EFBFBD>I<EFBFBD><1A>H<EFBFBD>Q<EFBFBD>K<EFBFBD>0<> 0<>I<EFBFBD><1D><11>Q<EFBFBD><0E> <09>)<29><07>I<EFBFBD>I<EFBFBD>f<EFBFBD><15><14>Q<EFBFBD><02>|<7C><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<> <1C> <13>1<EFBFBD>b<EFBFBD>\<5C><01>MO<4D><02><1C><1C>R<EFBFBD>W<EFBFBD>W<EFBFBD><11>1<EFBFBD>W<EFBFBD>5<>C<>C<>D<>J<><1A><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>2]1<04>]1<04>]6<04>]6z/download/<filename>c<00>:<00>[[RSUSS9$)Nr>T)<01> as_attachment)rr r<>rus 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#