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

66 lines
10 KiB
Plaintext
Raw Normal View History

2026-04-15 10:32:46 +05:30
<EFBFBD>
N<>h<><00><00><00>ddlmZmZmZmZmZmZmZddlm Z ddl
m Z ddl m Z ddlmZmZmZmZmZddlZddlZede<16><00>ZddlZe<17>dd g<01>
<EFBFBD><00>d <0B><00><00>Ze<17>d <0C><00>d <0A><00><00>ZdS)<0E>)<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>reportsz /report_excel<65>GET)<01>methodsc <00>p<00>d}tj<00>dd<03><00><00><00><00>}tj<00>dd<03><00><00><00><00>}|sdS|sdSt d|<01><00><02><00>t d|<02><00><02><00>t
j<00>||<02> <09><00><00><00><00>}t d
t|<03><00><00>d <0B><03><00>|s d |<02>d |<01>d<0E>dfSi}d<10>}|D]}|j
}t d|<07><00><02><00><00>t
j<00> t
j |kt
j |k<00><00><00><00><00>}t d
t|<08><00><00>d|<02>d<13><05><00>|D<00>]V} | j<00><00><00>}
d} |
|vr)dg| z||
<| j||
d<| j||
d<|| j<00><00>} || j<00><00>} || | z
<00><00>}|| j<00><00>|| j<00><00>z}|| j<00><00>|| j<00><00>||| j<00><00>| |g}d| j<00><00><00>vrdnXd| j<00><00><00>vrdn;d| j<00><00><00>vrdnd| j<00><00><00>vrdnd\}}|<11>|<12> |||
||<12><<00><01>Xt d t|<04><00><00><00><02><00>|s d!|<01>d"|<02>d<0E>dfSt/j|d|<02><00>}|<13>d#<23>}t2j<00>t8jd$|<14><00>}t=<00><00>}|j}d%|_ tCtEd&<26>'<27><00>tEd&<26>'<27><00>tEd&<26>'<27><00>tEd&<26>'<27><00><00>(<28><00>}tGd)d)d*<2A>+<2B><00>}tGd,d,d*<2A>+<2B><00>}tGd-d-d*<2A>+<2B><00>}tGd.d.d*<2A>+<2B><00>}tGd/d/d*<2A>+<2B><00>}|<17>$dd0dd1<64>2<EFBFBD><00>d3|d4<d5|d6<d7|d8<|<17>$dd9dd:<3A>2<EFBFBD><00>d;|d<<|<17>$dd=dd><3E>2<EFBFBD><00>d?|d@<|<17>$ddAdd<14>2<EFBFBD><00>dB|dC<dDD]<5D>}dE|<17>%dF|<1E>G<EFBFBD><00>_&dH|<17>%dF|dz<00>G<EFBFBD><00>_&dI|<17>%dF|dFz<00>G<EFBFBD><00>_&dJ|<17>%dF|d0z<00>G<EFBFBD><00>_&dK|<17>%dF|dLz<00>G<EFBFBD><00>_&dM|<17>%dF|dNz<00>G<EFBFBD><00>_&<00><>tOddO<64><00>D]<5D>}|<17>%dF|<1F>G<EFBFBD><00>j(} tSdPdQ<64>R<EFBFBD><00>|| <20>dS<64>_*tWdTdT<64>U<EFBFBD><00>|| <20>dS<64>_,||| <20>dS<64>_-||| <20>dS<64>_.tSdPdV<64>R<EFBFBD><00>|| <20>dW<64>_*tWdTdT<64>U<EFBFBD><00>|| <20>dW<64>_,||| <20>dW<64>_-||| <20>dW<64>_.<00><>d0}!dXdgdgdYzz}"gdZ<64>}#|<04>/<00><00>D]<5D>}$|<17>0|$<24><00>|!dFzdkr|n|}%tOddO<64><00>D]:}|%|<17>%|!|<1F>G<EFBFBD><00>_-||<17>%|!|<1F>G<EFBFBD><00>_.<00>;|#D]!}&|"|&xx||$|&<00><00>z cc<<00>"|!dz }!<21><>|<17>0|"<22><00>tOddO<64><00>D]<5D>}tSdP<64>[<5B><00>|<17>%|!|<1F>G<EFBFBD><00>_*||<17>%|!|<1F>G<EFBFBD><00>_-tWdT<64>\<5C><00>|<17>%|!|<1F>G<EFBFBD><00>_,||<17>%|!|<1F>G<EFBFBD><00>_.<00><>tOddO<64><00>D].}&d>|j1|<17>%dF|&<26>G<EFBFBD><00>j(_2<00>/|<16>3|<15><00>t d]|<14><00><02><00>titkd^|<14>_<EFBFBD><00><00><00>S)`Nz [\\/*?:"<>|]<5D>block<63><00> main_task)zPlease select a Block.<2E><>)zPlease select a Main Task.rzBlock selected: zMain task selected: )<02>
block_name<EFBFBD> task_namezFound z main task recordsz Main Task 'z#' not found in the selected block 'z'.i<>c<00>n<00> tt|<00><00>d<01><00>S#ttf$rYdSwxYw)N<>g)<04>round<6E>float<61>
ValueError<EFBFBD> TypeError)<01>values <20>BE:\Desktop\excel_upload_app\excel_upload_app\app\routes\reports.py<70>
safe_floatz#generate_report.<locals>.safe_float'sD<00><00> <17><18><15>u<EFBFBD><1C><1C>q<EFBFBD>)<29>)<29> )<29><><1A>I<EFBFBD>&<26> <17> <17> <17><16>3<EFBFBD>3<EFBFBD> <17><><EFBFBD>s <00><00>4<03>4zMain task serial number: z subtasks for main task '<27>'<27>r<00><00>supply)r<00><00>erection)r)<00><00>testing)r+<00><00> commissioning)r-r&)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>r))<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)r?rGrIrKz
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>) rO<00><00><00>
rR<00> <00><00><00><00>r\<00>)rS)rWzReport generated: zreports.download_report<72><01>filename)6r<00>args<67>get<65>strip<69>printr
<00>query<72> filter_by<62>all<6C>len<65> serial_number<65>filter<65>parent_task_namer<00> village_name<6D>id<69>
boq_amount<EFBFBD>previous_billing_amount<6E>qty<74>rate<74>previous_billed_qtyr<00>lower<65>re<72>sub<75>os<6F>path<74>joinr <00>configr <00>active<76>titlerrr<00> merge_cells<6C>cellr"<00>range<67> column_letterr <00>fontr<00> alignment<6E>fill<6C>border<65>values<65>append<6E>column_dimensions<6E>width<74>saverr)'<27>main_task_rexprr<00>main_task_records<64> report_datar$<00>main_task_record<72>main_task_serial_number<65>subtasks_query<72>task<73>key<65> totalElemListrurv<00>remaining_amount<6E> tender_amountr<74><00>start<72>end<6E>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><00>is' r#<00>generate_reportr<74>sH <00><00>$<24>N<EFBFBD> <13>L<EFBFBD> <1C> <1C>W<EFBFBD>b<EFBFBD> )<29> )<29> /<2F> /<2F> 1<> 1<>E<EFBFBD><17> <0C> <20> <20><1B>b<EFBFBD>1<>1<>7<>7<>9<>9<>I<EFBFBD> <10>-<2D>,<2C>,<2C> <14>1<>0<>0<> <09>
$<24>U<EFBFBD>
$<24>
$<24>%<25>%<25>%<25> <09>
,<2C><19>
,<2C>
,<2C>-<2D>-<2D>-<2D><1D>
<EFBFBD>,<2C>,<2C><05><19>,<2C>S<>S<>W<>W<>Y<>Y<><15> <09>
=<3D>3<EFBFBD>(<28>)<29>)<29>
=<3D>
=<3D>
=<3D>><3E>><3E>><3E> <1C>Z<01>T<>Y<EFBFBD>T<>T<>5<EFBFBD>T<>T<>T<>VY<56>Y<>Y<><14>K<EFBFBD><17><17><17>.<2E>E<01>E<01><18>"2<>"@<40><1F> <0A>C<>*A<>C<>C<>D<>D<>D<>D<><19>Z<EFBFBD>&<26>&<26> <0C><1D><19>*<2A> <0C><0F>5<EFBFBD> <20><06><06>
<EFBFBD>c<EFBFBD>e<EFBFBD>e<EFBFBD><13>

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