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

43 lines
7.3 KiB
Plaintext
Raw Normal View History

2026-04-15 10:32:46 +05:30
+
2026-04-27 10:18:10 +05:30
<00>><3E>i<EFBFBD><00><00><><00>^RIHtHtHtHtHtHtHt^RIH t ^RI
H t H t H t HtHt^RIt^RIt^RIHt^RIHt]!R]4tRtR t]P3R
R .R 7R 4t]P3R4R4tR#)<10>)<07> Blueprint<6E>request<73>send_from_directory<72>redirect<63>url_for<6F> current_app<70>flash)<01>Workbook)<05>Font<6E> Alignment<6E> PatternFill<6C>Border<65>SideN)<01>datetime)<01>Task<73>reportsc<00>.<00>\V\4'gR#VP4PRR4PRR4PRR4PRR4PRR4PRR4P 4#)<07><00>,<2C>(<28>)<29>.<2E>&<26>
2026-04-15 10:32:46 +05:30
)<05>
isinstance<EFBFBD>str<74>strip<69>replace<63>lower)<01>texts&<26>SC:\Users\Admin\Downloads\Software (3)\Software\client-billing\app\routes\reports.py<70>
2026-04-27 10:18:10 +05:30
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<> <10><17><13>b<EFBFBD> <19>'<27>'<27>#<23>r<EFBFBD>*<2A>7<EFBFBD>7<EFBFBD>4<EFBFBD><12>+<<3C>U<EFBFBD>U<EFBFBD>W<EFBFBD>E<01>c<00>^<00>\\V4^4# \\3dR#i;i)<02>g)<04>round<6E>float<61>
ValueError<EFBFBD> TypeError)<01>values&r!<00>
safe_floatr+s/<00><00><13><14>U<EFBFBD>5<EFBFBD>\<5C>1<EFBFBD>%<25>%<25><> <16> <09> "<22><13><12><13>s <00><00>,<03>,z /report_excel<65>GET)<01>methodsc <00><>
a<1A>Rp\PPRR4p\PPRR4p\V4p\V4oV'gR#S'gR#\P
P \PV8H4P4p\V3RlV4R4pVUu.uF5pVP'gK\VP4S8XgK3VNK7 ppV'g)V'g!\RR4\\R44#.pV'EdVEFp\VP4p \VP 4p
W<EFBFBD>,
p \VP"4\VP$4,p TP'VP(VP*;'gRP-4VP.;'gRP-4\VP"4\VP$4V \VP04V
V . 4EK EM V'EdTp\VP4p \VP 4p
W<EFBFBD>,
p \VP"4\VP$4,p TP'VP(VP*;'gRP-4VP.;'gRP-4\VP"4\VP$4V \VP04V
V . 4\2P4!VRV4p \7V 4^8<>d
V R ,p \8P:!4P=R
4pV R V R 2p\>P@PC\DPFR ,V4p\I4pVPJpRVn&\O\QRR7\QRR7\QRR7\QRR7R7p\SRRRR7p.ROpVP'V4\U^\7V4^,4FFpVPW^VR7p\YRR7Vn-\]RR7Vn/VVn0VVn1KH VFpVP'V4K \U^\7V4^,4F6p^VPdVPW^VR7Pf,n4K8 VPkV4\\RVR74#uupi)z [\\/*?:"<>|]<5D>blockr<00> main_taskc3<00>`<"<00>TF#p\VP4S8XgKVx<00>K% R#5i)N)r"<00> task_name)<03>.0<EFBFBD>task<73>main_task_cleans& <20>r!<00> <genexpr><3E>"generate_report.<locals>.<genexpr>0s)<00><><00><00> ;<3B>)<29>$<24> <16>t<EFBFBD>~<7E>~<7E> &<26>/<2F> 9<>
<0E><14>)<29>s<00>.<01>
.NzNo Task Data Found<6E>errorzmain.generate_report_page:N<>Nz %Y%m%d_%H%M%S<>_z.xlsx<73> UPLOAD_FOLDER<45>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)<02>row<6F>columnT)<01>bold<6C>center)<01>
horizontalzreports.download_report<72><01>filename)zPlease select a Block.<2E><>)zPlease select a Main Task.rO) zTask ID<49>Villagez Task Namez
Tender Qtyz Tender Ratez Tender AmountzPrevious Bill QtyzPrevious Bill AmountzRemaining Amount)6r<00>args<67>getr"r<00>query<72>filter<65>
block_name<EFBFBD>all<6C>next<78>parent_task_namer rrr+<00>
boq_amount<EFBFBD>previous_billing_amount<6E>qty<74>rate<74>append<6E>id<69> village_namerr2<00>previous_billed_qty<74>re<72>sub<75>lenr<00>now<6F>strftime<6D>os<6F>path<74>joinr<00>configr
<00>active<76>titlerrr <00>range<67>cellr <00>fontr <00> alignment<6E>fill<6C>border<65>column_dimensions<6E> column_letter<65>width<74>save)<1B>main_task_rexpr/r0<00> block_clean<61> all_tasks<6B>main_task_recordr4<00>subtasks_query<72> report_datarYrZ<00>remaining_amount<6E> tender_amount<6E>sanitized_main_task<73> timestamp<6D> file_name<6D> file_path<74>wb<77>ws<77> thin_border<65> header_fill<6C>headers<72>colrmrH<00>ir5s @r!<00>generate_reportr<74>s]<00><><00>%<25>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>,<2C> <1A>0<>0<><15>
<EFBFBD>
<EFBFBD>!<21>!<21>$<24>/<2F>/<2F>U<EFBFBD>":<3A>;<3B>?<3F>?<3F>A<>I<EFBFBD><1C> ;<3B>)<29> ;<3B> <0C><06><14>#<23><06>"<22><14> <0F> <20> <20> <0A> <16>t<EFBFBD>,<2C>,<2C> -<2D><1F> @<40> <0A><04><19><13><06> <1A>"2<> <0A>"<22>G<EFBFBD>,<2C><17><07> ;<3B><<3C>=<3D>=<3D><15>K<EFBFBD><16>~<7E>"<22>D<EFBFBD>#<23>D<EFBFBD>O<EFBFBD>O<EFBFBD>4<>J<EFBFBD>&0<><14>1M<31>1M<31>&N<> #<23>)<29>C<> <1C>&<26>t<EFBFBD>x<EFBFBD>x<EFBFBD>0<>:<3A>d<EFBFBD>i<EFBFBD>i<EFBFBD>3H<33>H<>M<EFBFBD> <17> <1E> <1E><14><07><07><15>"<22>"<22>(<28>(<28>b<EFBFBD>/<2F>/<2F>1<><15><1E><1E>%<25>%<25>2<EFBFBD>,<2C>,<2C>.<2E><1A>4<EFBFBD>8<EFBFBD>8<EFBFBD>$<24><1A>4<EFBFBD>9<EFBFBD>9<EFBFBD>%<25><1D><1A>4<EFBFBD>3<>3<>4<>'<27> <20>
<0E>
<0F>#<23>(
<1A> <19><1F><04><1F><04><0F><0F>0<>
<EFBFBD>",<2C>T<EFBFBD>-I<>-I<>"J<><1F>%<25>?<3F><18>"<22>4<EFBFBD>8<EFBFBD>8<EFBFBD>,<2C>z<EFBFBD>$<24>)<29>)<29>/D<>D<> <0A><13><1A><1A> <10>G<EFBFBD>G<EFBFBD> <11> <1E> <1E> $<24> $<24>"<22> +<2B> +<2B> -<2D> <11>^<5E>^<5E> !<21> !<21>r<EFBFBD> (<28> (<28> *<2A> <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>
<0B><1D>&<26>&<26><1E><12>Y<EFBFBD>?<3F><17>
<EFBFBD> <1E><1F>"<22>$<24>1<>#<23>6<><1B><18> <0C> <0C><0E>'<27>'<27><0F>8<>I<EFBFBD>&<26>'<27>q<EFBFBD><19> <0B>5<EFBFBD>9<>I<EFBFBD><12><07><07> <0C> <0C>[<5B>/<2F>/<2F><0F>@<40>)<29>L<>I<EFBFBD>
<12><1A>B<EFBFBD> <0B><19><19>B<EFBFBD><17>B<EFBFBD>H<EFBFBD><18> <11><06> <1F><12><16> <20> <10>v<EFBFBD> <1E><13>&<26>!<21> <06>K<EFBFBD><1E>(<28>h<EFBFBD>RY<52>Z<>K<EFBFBD>
<06>G<EFBFBD><07>I<EFBFBD>I<EFBFBD>g<EFBFBD><16><15>Q<EFBFBD><03>G<EFBFBD> <0C>q<EFBFBD>(<28>)<29><03><11>w<EFBFBD>w<EFBFBD>1<EFBFBD>S<EFBFBD>w<EFBFBD>)<29><04><18>d<EFBFBD>O<EFBFBD><04> <09>"<22>h<EFBFBD>7<><04><0E><1F><04> <09>!<21><04> <0B> *<2A><1B><03>
<EFBFBD> <09> <09>#<23><0E><1B><13>1<EFBFBD>c<EFBFBD>'<27>l<EFBFBD>Q<EFBFBD>&<26> '<27><01>MO<4D><02><1C><1C>R<EFBFBD>W<EFBFBD>W<EFBFBD><11>1<EFBFBD>W<EFBFBD>5<>C<>C<>D<>J<>(<28><07>G<EFBFBD>G<EFBFBD>I<EFBFBD><16> <13>G<EFBFBD>5<> <09>J<> K<>K<><4B>gs<00>U <04>U <04>;U z/download/<filename>c<00>H<00>\\PR,VRR7#)r;T)<01> as_attachment)rrrirMs&r!<00>download_reportr<74><00>s#<00><00> <1E><13><1A><1A>?<3F>+<2B><10><1A> <06>r#)<1C>flaskrrrrrrr <00>openpyxlr
<00>openpyxl.stylesr r r rrrfrar<00>
app.modelsr<00>__name__rr"r+<00>router<65>r<><00>r#r!<00><module>r<>s<><00><01>`<60>`<60>`<60><1D>F<>F<> <09> <09><1D><1B>
2026-04-15 10:32:46 +05:30
<13>I<EFBFBD>x<EFBFBD>
2026-04-27 10:18:10 +05:30
(<28><07>E<01><13> <09><1D><1D><EFBFBD><15><07><1D>0<>NL<01>1<>NL<01>b <09><1D><1D>%<25>&<26><06>'<27>r#