Files
fzjg_local/fzjgact/huodong/__pycache__/views.cpython-311.pyc

123 lines
28 KiB
Plaintext
Raw Normal View History

<EFBFBD>
<00>.1i}[<00><00><00>ddlmZddlmZmZmZmZmZmZm Z m
Z
2025-12-03 17:17:17 +08:00
m Z m Z m Z ddlmZmZmZddlmZmZddlmZddlmZddlmZdd lmZdd
lmZmZmZdd lmZdd l m!Z!dd l"m#Z#ddl$Z$ddl%m&Z&ddl'm(Z(ddl)m*Z*m+Z+m,Z,m-Z-ddl.m/Z/m0Z0ddl1Z1e!j2d<13><00><00>Z3Gd<14>dej4<00><00>Z5Gd<16>dej4<00><00>Z6Gd<18>dej4<00><00>Z7d<1A>Z8d<1B>Z9d<1C>Z:d<1D>Z;d<1E>Z<d<1F>Z=d <20>Z>d!<21>Z?d"<22>Z@d#<23>ZAd$<24>ZBd%<25>ZCd&<26>ZDd'<27>ZEd(<28>ZFd)<29>ZGd*<2A>ZHdS)+<2B>)<01>viewsets<74>) <0B>Branch<63>Activity<74>
Evaluation<EFBFBD>Event<6E> VideoTerminal<61>Budget<65>EquipmentBudget<65>InfrastructureBudget<65>BudgetTemplate<74>TemplateEquipmentItem<65>TemplateInfrastructureItem)<03>BranchSerializer<65>ActivitySerializer<65>EvaluationSerializer)<02>render<65>redirect)<01> PublicScreen)<01> defaultdict)<01>datetime)<01>Q)<03> Paginator<6F> EmptyPage<67>PageNotAnInteger)<01>Contact)<01>register)<01> HttpResponseN)<01>colors)<01>letter)<04>SimpleDocTemplate<74>Table<6C>
TableStyle<EFBFBD> Paragraph)<02>getSampleStyleSheet<65>ParagraphStylec<00>,<00>|<00>|<01><00>S)N)<01>get)<02>
2025-12-03 17:17:17 +08:00
dictionary<EFBFBD>keys <20>BH:\学习资料\django\分支机构活动\fzjgact\huodong\views.py<70>get_itemr,s<00><00> <15>><3E>><3E>#<23> <1E> <1E><1E>c<00>D<00>eZdZej<00><00><00>ZeZdS)<02> BranchViewSetN) <09>__name__<5F>
__module__<EFBFBD> __qualname__r<00>objects<74>all<6C>querysetr<00>serializer_class<73>r-r+r/r/s)<00><00><00><00><00><00><15>~<7E>!<21>!<21>#<23>#<23>H<EFBFBD>'<27><14><14>r-r/c<00>D<00>eZdZej<00><00><00>ZeZdS)<02>ActivityViewSetN) r0r1r2rr3r4r5rr6r7r-r+r9r9s*<00><00><00><00><00><00><17><1F>#<23>#<23>%<25>%<25>H<EFBFBD>)<29><14><14>r-r9c<00>D<00>eZdZej<00><00><00>ZeZdS)<02>EvaluationViewSetN) r0r1r2rr3r4r5rr6r7r-r+r;r;$s*<00><00><00><00><00><00><19>!<21>%<25>%<25>'<27>'<27>H<EFBFBD>+<2B><14><14>r-r;c <00><><00>tj<00>|<01><01><00>}tj<00>|<02><02><00><00>d<03><00>}t t<00><00>}|D]"}||j<00> |<05><00><00>#t|<04><00>}|j <00> <00><00><00>d<04><00>}|j <00> <00><00>}|j<00> <00><00>}tj<00>|<02><02><00><00>dd<06><00><00>d<07><00>} t"j<00> <00><00>}
2025-12-03 17:17:17 +08:00
|||||| ||
d<08>} t%|d | <0B><00>S)
N<EFBFBD><01>pk<70><01>branch<63>
start_timez -start_time<6D>equipment_budgets<74>infrastructure_budgets<74> -created_at)r@<00>grouped_activities<65>events<74>equipment_images<65>public_screens<6E>budgets<74>
activities<EFBFBD>budget_templateszbranch_detail.html)rr3r(r<00>filter<65>order_byr<00>list<73>scope<70>append<6E>dictrFr4rGrHr
<00>prefetch_relatedr r) <0C>request<73> branch_idr@rJrE<00>activityrFrGrHrIrK<00>contexts r+<00> branch_detailrW*sp<00><00> <13>^<5E> <1F> <1F>9<EFBFBD> <1F> -<2D> -<2D>F<EFBFBD><1A>!<21>(<28>(<28><06>(<28>7<>7<>@<40>@<40><1C>N<>N<>J<EFBFBD>$<24>T<EFBFBD>*<2A>*<2A><16><1E><<3C><<3C><08><1A>8<EFBFBD>><3E>*<2A>1<>1<>(<28>;<3B>;<3B>;<3B>;<3B><1D>0<>1<>1<><16><14>]<5D> <1E> <1E> <20> <20> )<29> )<29>-<2D> 8<> 8<>F<EFBFBD><1D>.<2E>2<>2<>4<>4<><14><1B>*<2A>.<2E>.<2E>0<>0<>N<EFBFBD><15>n<EFBFBD>#<23>#<23>6<EFBFBD>#<23>2<>2<>C<>C<>DW<44>Yq<59>r<>r<>{<7B>{<7B>}J<02>K<02>K<02>G<EFBFBD>&<26>-<2D>1<>1<>3<>3<><14><19>0<><18>,<2C>(<28><1A> <20>,<2C> <06> <06>G<EFBFBD> <12>'<27>/<2F><17> 9<> 9<>9r-c
2025-12-03 17:17:17 +08:00
<00>L<00>|jdk<00>r<>|j<00>d<02><00>}|j<00>dd<04><00>}|<02>rP tj<00>|<02><05><00>}t
j<00>|<01><05><00>}t j<00>||<03><06><00>}|j<00> <00><00>D];}tj<00>||j |j |j |jd<07><08><00><00><|j<00> <00><00>D]A}t j<00>||j|j|j |j|jd<07> <09><00><00>B|<06><00><00>n)#t,$r} t/d
| <09><00><02><00>Yd } ~ nd } ~ wwxYwt1d |<01> <0A><00>S)u从模板导入预算<E9A284>POST<53>template<74> budget_nameu 导入预算r=)r@<00>namer<00><06>budget<65>project<63>model<65>
unit_price<EFBFBD>procurement_method<6F>quantity<74>r^r\<00>remarksra<00>unit<69> descriptionrcu导入预算模板失败: Nz branch-detail<69>rT)<19>methodrYr(r r3rr
<00>create<74>equipment_itemsr4r r_r`rarb<00>infrastructure_itemsr r\rerfrg<00>update_total_budget<65> Exception<6F>printr)
rSrT<00> template_idr[rZr@r^<00>equipment_item<65>infrastructure_item<65>es
r+<00>import_budget_templatertNs<><00><00><0E>~<7E><16><1F><1F><1D>l<EFBFBD>&<26>&<26>z<EFBFBD>2<>2<> <0B><1D>l<EFBFBD>&<26>&<26>}<7D>n<EFBFBD>E<>E<> <0B> <16>& 8<>% 8<>)<29>1<>5<>5<><1B>5<>E<>E<><08><1F><1E>+<2B>+<2B>y<EFBFBD>+<2B>9<>9<><06> <20><1E>.<2E>.<2E>!<21>$<24>/<2F><12><12><06> '/<2F>&><3E>&B<>&B<>&D<>&D<><16><16>N<EFBFBD>#<23>+<2B>2<>2<>%<25> .<2E> 6<>,<2C>2<>#1<>#<<3C>+9<>+L<>!"<22> 3<><16><16><16><16>,4<>+H<>+L<>+L<>+N<>+N<> <16> <16>'<27>(<28>0<>7<>7<>%<25>0<>5<> 3<> ;<3B>#6<>#A<>0<>5<>$7<>$C<>!"<22>8<><16><16><16><16><17>*<2A>*<2A>,<2C>,<2C>,<2C>,<2C><><1C> 8<> 8<> 8<><15>6<>1<EFBFBD>6<>6<>7<>7<>7<>7<>7<>7<>7<>7<><37><EFBFBD><EFBFBD><EFBFBD> 8<><38><EFBFBD><EFBFBD> <14>O<EFBFBD>y<EFBFBD> 9<> 9<> 9<>9s<00>D%E,<00>,
2025-12-03 17:17:17 +08:00
F<03>6F <03> Fc<00>"
2025-12-03 15:42:35 +08:00
<00>tj<00>d<01><02><00><00>d<03><00>}d<04>|D<00><00>}t |<02><00>}tj<00><00><00>}t j<00><00>}td|j <00>d|j
<00><00><04><00>|j dkra|j
dz
}tj<00> t|j
<00> <09><00>t|<06> <09><00>z<00><00><00>d
<EFBFBD><00>}n8tj<00> |j
<00> <09><00><00>d
<EFBFBD><00>}|<07>d <0B><00><00><00><00>}t|<08><00>|<07>d <0B><00><00><00><00>} t| <09><00>t!d <0C><00><00>}
|D](} |
| jd <00>| <0B><00><00>)|
<EFBFBD><00><00>D]n} d<0E>| d D<00><00>} tj<00> | <0A><0F><00><00>d
<EFBFBD><00><00><00><00><00><00><00>| d<<00>ot+|
<EFBFBD><00>}
tj<00> d<01><11><00><00>d
d <0B><00>}tj<00><00><00>}|<0E><00><00>}|<07>d
<EFBFBD><00><00><00><00><00><00><00>}t,j<00><00><00><00>d <0B><00>}g}i}tj<00>d <0B><00><00><00><00>}|<15>rl|jj
}t j<00><00>j
}t3|dz
|dz
d<12><00>D<00>]/}tj<00> |<18> <09><00><00>d
<EFBFBD><00>}|<19><00><00>r<>|<13>|<18><00>t!d<13><00><00>}|D](} || jd <00>| <0B><00><00>)|<1A><00><00>D]n} d<14>| d D<00><00>} tj<00> | <0A><0F><00><00>d
<EFBFBD><00><00><00><00><00><00><00>| d<<00>ot+|<1A><00>||<<00><01>1||
|| |||||||||d<15> }t7|d|<1B><00>S)NT)<01>activity__isnullr\c<00><><00>g|]i}|tj<00>|<01><00><00><00><00><00>tj<00>|d<01><02><00><00><00><00>d<03><03><02>jS)r?T)r@<00>end_time__isnull)r@<00> total_count<6E> onging_count)rr3rL<00>count)<02>.0r@s r+<00>
<listcomp>zBranchAll.<locals>.<listcomp><3E>s<00><00>4<>4<>4<>!'<27>(.<2E>,4<>,<<3C>,C<>,C<>6<EFBFBD>,C<>,R<>,R<>,X<>,X<>,Z<>,Z<>-5<>-=<3D>-D<>-D<>F<EFBFBD>ei<65>-D<>-j<>-j<>-p<>-p<>-r<>-r<>t<01>t<01>4<>4<>4r-u当前月份是u,年是<E5B9B4>r<00><01>start_time__yearr@rAc<00> <00>gdd<02>S<00>Nr)rJ<00> branch_countr7r7r-r+<00><lambda>zBranchAll.<locals>.<lambda><3E>s<00><00>B<EFBFBD>PQ<50>-R<>-R<>r-rJc<00><00>g|] }|j<00><02>
Sr7<00><01>id<69>r|<00>as r+r}zBranchAll.<locals>.<listcomp><3E>s<00><00>?<3F>?<3F>?<3F><11><01><04>?<3F>?<3F>?r-)<01>id__inr<6E><00>rx<00><><EFBFBD><EFBFBD><EFBFBD>c<00> <00>gdd<02>Sr<>r7r7r-r+r<>zBranchAll.<locals>.<lambda><3E>s<00><00>R<EFBFBD>ab<61>>c<>>c<>r-c<00><00>g|] }|j<00><02>
Sr7r<>r<>s r+r}zBranchAll.<locals>.<listcomp><3E>s<00><00>#K<>#K<>#K<>Q<EFBFBD>A<EFBFBD>D<EFBFBD>#K<>#K<>#Kr-) <0A>branchesrE<00> earliest_act<63>
latest_act<EFBFBD>total_branch_count<6E>all_branch_countr<74><00>ongoing_activities<65>total_activities<65>ongoing_activities_count<6E>ongoing_events<74>historical_years<72>historical_grouped_activitieszbranch_all.html)rr3<00>excluderM<00>lenr{r<00>nowro<00>month<74>yearrrLr<00>first<73>lastrrOrP<00>values<65>distinctrQrr4rA<00>range<67>existsr)rSr<><00>branches_with_countsr<73>r<>r<><00>two_months_ago_yearrJr<>r<>rErU<00>
scope_data<EFBFBD> activity_idsr<73>r<>r<>r<>r<>r<>r<><00>earliest_activity<74> earliest_year<61> current_yearr<72><00>year_activities<65>year_grouped_activitiesrVs r+<00> BranchAllr<6C><00>s<00><00><15>~<7E>%<25>%<25>t<EFBFBD>%<25><<3C><<3C>E<>E<>f<EFBFBD>M<>M<>H<EFBFBD>4<>4<>+3<>4<>4<>4<><18>
2025-12-03 15:42:35 +08:00
<1D>1<>2<>2<><16><1D>~<7E>+<2B>+<2B>-<2D>-<2D><14>
<12>,<2C>.<2E>.<2E>C<EFBFBD> <09>
8<EFBFBD>C<EFBFBD>I<EFBFBD>
8<EFBFBD>
8<EFBFBD>c<EFBFBD>h<EFBFBD>
8<EFBFBD>
8<EFBFBD>9<>9<>9<>
<EFBFBD>y<EFBFBD>A<EFBFBD>~<7E>~<7E>!<21>h<EFBFBD><11>l<EFBFBD><1B><1D>%<25>,<2C>,<2C> <0A>s<EFBFBD>x<EFBFBD> (<28> (<28> (<28>1<EFBFBD>>Q<>+R<>+R<>+R<> R<>T<01>T<01>T\<5C>T\<5C>]e<>Tf<54>Tf<54> <13>
<EFBFBD><1E>%<25>,<2C>,<2C>c<EFBFBD>h<EFBFBD>,<2C>G<>G<>P<>P<>QY<51>Z<>Z<>
<EFBFBD><1D>&<26>&<26>|<7C>4<>4<>:<3A>:<3A><<3C><<3C>L<EFBFBD> <09>,<2C><17><17><17><1B>$<24>$<24>\<5C>2<>2<>7<>7<>9<>9<>J<EFBFBD> <09>*<2A><15><15><15>%<25>%R<>%R<>S<>S<><16><1E>J<01>J<01><08><1A>8<EFBFBD>><3E>*<2A><<3C>8<>?<3F>?<3F><08>I<>I<>I<>I<>)<29>/<2F>/<2F>1<>1<>v<01>v<01>
<EFBFBD>?<3F>?<3F>j<EFBFBD><1C>&><3E>?<3F>?<3F>?<3F> <0C>%-<2D>%5<>%<<3C>%<<3C>L<EFBFBD>%<<3C>%Q<>%Q<>%X<>%X<>Ya<59>%b<>%b<>%k<>%k<>%m<>%m<>%s<>%s<>%u<>%u<>
<EFBFBD>><3E>"<22>"<22><1E>0<>1<>1<><16>!<21>)<29>0<>0<>$<24>0<>G<>G<>P<>P<>QY<51>Zf<5A>g<>g<><16><1F>'<27>-<2D>-<2D>/<2F>/<2F><14> 2<>7<>7<>9<>9<><1C><1D>$<24>$<24>X<EFBFBD>.<2E>.<2E>7<>7<>9<>9<>?<3F>?<3F>A<>A<>L<EFBFBD><1B>]<5D>&<26>&<26>(<28>(<28>1<>1<>,<2C>?<3F>?<3F>N<EFBFBD><1A><14>$&<26>!<21>!<21>(<28>1<>1<>,<2C>?<3F>?<3F>E<>E<>G<>G<><15><18>T<01>)<29>4<>9<> <0A><1F>|<7C>~<7E>~<7E>*<2A> <0C><1A>,<2C><11>*<2A>M<EFBFBD>A<EFBFBD>,=<3D>r<EFBFBD>B<>B<> T<01> T<01>D<EFBFBD>&<26>.<2E>5<>5<>t<EFBFBD>5<>L<>L<>U<>U<>V^<5E>_<>_<>O<EFBFBD><1F>%<25>%<25>'<27>'<27> T<01> <20>'<27>'<27><04>-<2D>-<2D>-<2D>+6<>6c<36>6c<36>*d<>*d<>'<27> /<2F>[<01>[<01>H<EFBFBD>+<2B>H<EFBFBD>N<EFBFBD>;<3B>L<EFBFBD>I<>P<>P<>QY<51>Z<>Z<>Z<>Z<>#:<3A>"@<40>"@<40>"B<>"B<>B<02>B<02>J<EFBFBD>#K<>#K<>*<2A>\<5C>2J<32>#K<>#K<>#K<>L<EFBFBD>19<31>1A<31>1H<31>1H<31>P\<5C>1H<31>1]<5D>1]<5D>1d<31>1d<31>em<65>1n<31>1n<31>1w<31>1w<31>1y<31>1y<31>1<31>1<31>2B<02>2B<02>J<EFBFBD>~<7E>.<2E>.<2E>7;<3B>;R<>6S<36>6S<36>-<2D>d<EFBFBD>3<><33>0<>%7<>+<2B>'<27>$6<>#3<>'<27>!3<>#3<>+C<>!/<2F>#3<>0M<30> <11> <11>G<EFBFBD> <12>'<27>,<2C>g<EFBFBD> 6<> 6<>6r-c<00>^<00>tj<00><00><00>}|<01>d<01><02><00><00><00><00>}|<01>d<03><02><00><00><00><00>}|<01>d<04><02><00><00><00><00>}||||d<05>}t |d|<05><00>S)NuA型)<01>categoryuB型uC型)r<><00> type_a_count<6E> type_b_count<6E> type_c_countzbranch_info.html)rr3r4rLr{r)rSr<>r<>r<>r<>rVs r+<00>
Branchinfor<EFBFBD><00>s<><00><00><15>~<7E>!<21>!<21>#<23>#<23>H<EFBFBD><1B>?<3F>?<3F>F<EFBFBD>?<3F>3<>3<>9<>9<>;<3B>;<3B>L<EFBFBD><1B>?<3F>?<3F>F<EFBFBD>?<3F>3<>3<>9<>9<>;<3B>;<3B>L<EFBFBD><1B>?<3F>?<3F>F<EFBFBD>?<3F>3<>3<>9<>9<>;<3B>;<3B>L<EFBFBD><1C>$<24>$<24>$<24> <06><06>G<EFBFBD> <12>'<27>-<2D>w<EFBFBD> 7<> 7<>7r-c<00>R<00>|j<00>dd<02><00>}|j<00>dd<04><00>}|j<00>dd<06><00>}t<00><00>}|dkr|t|<01><07><00>z}|dkr|t|<02><08><00>z}|dkr|td <09>
<EFBFBD><00>z}n|td <09>
<EFBFBD><00>z}tj<00>|<04><00><00>d <0B><00>}tj<00><00><00>}|||||d <0C>}t|d |<07><00>S)Nr<4E><00>2025r@r4<00>status<75> completedrrhTr<54>rA)rJr<><00> selected_year<61>selected_branch<63>selected_statuszstatistics.html)
<EFBFBD>GETr(rrr3rLrMrr4r)rSr<>r<>r<><00>filtersrJr<>rVs r+<00>
Statisticsr<EFBFBD><00>s3<00><00><1B>K<EFBFBD>O<EFBFBD>O<EFBFBD>F<EFBFBD>F<EFBFBD>3<>3<>M<EFBFBD><1D>k<EFBFBD>o<EFBFBD>o<EFBFBD>h<EFBFBD><05>6<>6<>O<EFBFBD><1D>k<EFBFBD>o<EFBFBD>o<EFBFBD>h<EFBFBD> <0B><<3C><<3C>O<EFBFBD><10>c<EFBFBD>c<EFBFBD>G<EFBFBD><14><05><1D><1D><0F>1<EFBFBD>m<EFBFBD>4<>4<>4<>4<><07><16>%<25><1F><1F><0F>1<EFBFBD><EFBFBD>/<2F>/<2F>/<2F>/<2F><07><16>+<2B>%<25>%<25><0F>A<EFBFBD>t<EFBFBD>,<2C>,<2C>,<2C>,<2C>,<2C><07><07><0F>1<EFBFBD>d<EFBFBD>+<2B>+<2B>+<2B>+<2B><07><1A>!<21>(<28>(<28><17>1<>1<>:<3A>:<3A><<3C>H<>H<>J<EFBFBD><16>~<7E>!<21>!<21>#<23>#<23>H<EFBFBD>!<21><1C>&<26>*<2A>*<2A> <06><06>G<EFBFBD> <12>'<27>,<2C>g<EFBFBD> 6<> 6<>6r-c<00><><00>tj<00><00>}|j}d|_ddg}t |d<04><00>D]\}}|<02>d||<05><05><00><00>t j<00><00><00>}t |d<06><00>D]?\}}|<02>|d|j <00><05><00>|<02>|d|j
<00><05><00><00>@td<07><08><00>} d | d
<|<01> | <09><00>| S) N<>分支机构信息<E4BFA1>分支机构名称<E5908D>信息系统类别r)<03>row<6F>column<6D>valuer~zapplication/vnd.ms-excel<65><01> content_typez(attachment; filename="branches_info.xls"<22>Content-Disposition) <0A>openpyxl<78>Workbook<6F>active<76>title<6C> enumerate<74>cellrr3r4r\r<>r<00>save)
rS<00>workbook<6F> worksheet<65>headers<72>col_num<75>headerr<72><00>row_numr@<00>responses
r+<00>export_branches_xlsr<73>s<00><00><17> <20>"<22>"<22>H<EFBFBD><18><0F>I<EFBFBD>*<2A>I<EFBFBD>O<EFBFBD>$<24>%9<>:<3A>G<EFBFBD>$<24>W<EFBFBD>a<EFBFBD>0<>0<><<3C><<3C><0F><07><16><11><0E><0E>1<EFBFBD>W<EFBFBD>F<EFBFBD><0E>;<3B>;<3B>;<3B>;<3B><16>~<7E>!<21>!<21>#<23>#<23>H<EFBFBD>%<25>X<EFBFBD>q<EFBFBD>1<>1<>E<01>E<01><0F><07><16><11><0E><0E>7<EFBFBD>1<EFBFBD>F<EFBFBD>K<EFBFBD><0E>@<40>@<40>@<40><11><0E><0E>7<EFBFBD>1<EFBFBD>F<EFBFBD>O<EFBFBD><0E>D<>D<>D<>D<><1C>)C<>D<>D<>D<>H<EFBFBD>&P<>H<EFBFBD> "<22>#<23> <0A>M<EFBFBD>M<EFBFBD>(<28><1B><1B><1B> <13>Or-c<00><><00>td<01><02><00>}d|d<ddlm}ddlm} |<02>|dd <09><00><00><00>d}n3# |<02>|d
d <0B><00><00><00>d
}n #d }YnxYwYnxYwt |t<00> <0A><00>}g}t<00><00>}td|d|ddd<12><13><00>}td|<08><00>} |<06> | <09><00>tj <00><00><00>}
ddgg} |
D]#} | <0B> | j| jg<02><00><00>$t#| <0B><00>} t%dddt&jfdddt&jfdddd|fddddd t&jfddd |fd!dd dt&jfg <09><00>}| <0A>|<0E><00>|<06> | <0A><00>|<05>|<06><00>|S)"Nzapplication/pdfr<66>z(attachment; filename="branches_info.pdf"r<>r)<01>
pdfmetrics)<01>TTFont<6E>MSYaHeizC:/Windows/Fonts/msyh.ttc<74>SimSunzC:/Windows/Fonts/simsun.ttc<74> Helvetica)<01>pagesize<7A> ChineseTitle<6C>Title<6C><00>r)<05>parent<6E>fontName<6D>fontSize<7A>
spaceAfter<EFBFBD> alignmentr<74>r<>r<><00>
BACKGROUND<EFBFBD>rr<00>r<>r<00> TEXTCOLOR)<04>ALIGNr<4E><00>r<>r<><00>CENTER<45>FONTNAME)<04>FONTSIZEr<45>r<><00>)<04> BOTTOMPADDINGr<47>r<><00> )rrr<><00>GRID)r<00>reportlab.pdfbaser<65><00>reportlab.pdfbase.ttfontsr<73><00> registerFontr!r r%r&r$rPrr3r4r\r<>r"r#r<00>grey<65>
whitesmoke<EFBFBD>beige<67>black<63>setStyle<6C>build)rSr<>r<>r<><00> chinese_font<6E>doc<6F>elements<74>styles<65> title_styler<65>r<><00>datar@<00>table<6C>styles r+<00>export_branches_pdfr7sA<00><00><1B>):<3A>;<3B>;<3B>;<3B>H<EFBFBD>&P<>H<EFBFBD> "<22>#<23>-<2D>,<2C>,<2C>,<2C>,<2C>,<2C>0<>0<>0<>0<>0<>0<> '<27><12><1F><1F><06><06>y<EFBFBD>2M<32> N<> N<>O<>O<>O<> <20> <0C> <0C><>'<27> '<27> <16> #<23> #<23>F<EFBFBD>F<EFBFBD>8<EFBFBD>5R<35>$S<>$S<> T<> T<> T<>#<23>L<EFBFBD>L<EFBFBD><4C> '<27>&<26>L<EFBFBD>L<EFBFBD>L<EFBFBD><4C><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <1C>H<EFBFBD>v<EFBFBD>
6<EFBFBD>
6<EFBFBD>
6<EFBFBD>C<EFBFBD><11>H<EFBFBD>!<21> "<22> "<22>F<EFBFBD> <20><16><15>g<EFBFBD><EFBFBD><1D><13><15><13> <06><06><06>K<EFBFBD> <16>*<2A>K<EFBFBD> 8<> 8<>E<EFBFBD> <0C>O<EFBFBD>O<EFBFBD>E<EFBFBD><1A><1A><1A><16>~<7E>!<21>!<21>#<23>#<23>H<EFBFBD>"<22>#7<> 8<> 9<>D<EFBFBD><1A>4<>4<><06> <0C> <0B> <0B>V<EFBFBD>[<5B>&<26>/<2F>2<>3<>3<>3<>3<> <12>$<24>K<EFBFBD>K<EFBFBD>E<EFBFBD> <17> <15>v<EFBFBD>w<EFBFBD><06> <0B>4<> <14>f<EFBFBD>g<EFBFBD>v<EFBFBD>'8<>9<>-<2D> <13>V<EFBFBD>W<EFBFBD>l<EFBFBD>3<>)<29>.<2E> <15>v<EFBFBD>x<EFBFBD><16><1C>6<> <13>V<EFBFBD>X<EFBFBD>|<7C>4<> <0F><16><18>1<EFBFBD>f<EFBFBD>l<EFBFBD>3<>
<06>
<07>
<07>E<EFBFBD>
<EFBFBD>N<EFBFBD>N<EFBFBD>5<EFBFBD><19><19><19> <0A>O<EFBFBD>O<EFBFBD>E<EFBFBD><1A><1A><1A><08>I<EFBFBD>I<EFBFBD>h<EFBFBD><17><17><17> <13>Os#<00>!A<00>A5<03>!A*<02>)A5<03>*A0<05>.A5c<00><><00>tj<00><00><00>}tj<00><00><00><00>d<01><00>}t |d||d<03><02><00>S)NrDzpublic_screens.html)r<>rH)rr3r4rrMr)rSr<>rHs r+rHrH<00>s^<00><00><15>~<7E>!<21>!<21>#<23>#<23>H<EFBFBD>!<21>)<29>-<2D>-<2D>/<2F>/<2F>8<>8<><1D>G<>G<>N<EFBFBD> <11>'<27>0<><1C>(<28>3<06>3<06> <07> <07>r-c<00>r<00>|j<00>dd<02><00>}|r5tj<00>dd<04><00><00>|<01><05><00>}n2tj<00>dd<04><00><00><00><00>}t|d<06><00>}|j<00>d<07><00>} |<03>|<04><00>}nJ#t$r|<03>d<08><00>}Yn)t$r|<03>|j <00><00>}YnwxYw||<02> <00><00>|d <09>}t|d
|<06><00>S) N<>search<63>rG<00>drawings<67><01>name__icontainsr<73><00>pager)r<>ry<00> search_queryzequipment_images.html)r<>r(rr3rRrLr4rrrr<00> num_pagesr{r)rSr<00>branches_with_images<65> paginatorrr<>rVs r+rGrG<00>sP<00><00><1A>;<3B>?<3F>?<3F>8<EFBFBD>R<EFBFBD>0<>0<>L<EFBFBD><14>e<01>%<25>~<7E>><3E>><3E>?Q<>S]<5D>^<5E>^<5E>e<>e<>wC<02>e<> D<02> D<02><1C><1C>%<25>~<7E>><3E>><3E>?Q<>S]<5D>^<5E>^<5E>b<>b<>d<>d<><1C><1A>.<2E><02>3<>3<>I<EFBFBD> <12>;<3B>?<3F>?<3F>6<EFBFBD> "<22> "<22>D<EFBFBD>7<><1C>><3E>><3E>$<24>'<27>'<27><08><08><> <1B>%<25>%<25>%<25><1C>><3E>><3E>!<21>$<24>$<24><08><08><08> <14>7<>7<>7<><1C>><3E>><3E>)<29>"5<>6<>6<><08><08><08>7<><37><EFBFBD><EFBFBD>
<1D>+<2B>1<>1<>3<>3<>$<24><06><06>G<EFBFBD>
<12>'<27>2<>G<EFBFBD> <<3C> <<3C><s<00>0C<00>D <03>'#D <03> D c<00>T<00>|j<00>d<01><00>}|j<00>d<02><00>}|j<00>d<03><00>}t<00><00>}|r4d<04>|<01>d<05><00>D<00><00>}|r|t|<05><06><00>z}|r|t|<02><07><00>z}|r|t|<03><08><00>z}tj<00>|<04><00>}tj<00><00><00>}d <09>tj D<00><00>}||||||d
<EFBFBD>} t|d | <09><00>S) Nr<4E>r<><00> contact_namec<00><><00>g|]<}|<01><00><00><00><00><00><00>(|<01><00><00><00><02>=Sr7)<02>strip<69>isdigit)r|<00>bids r+r}z contact_list.<locals>.<listcomp><3E>s9<00><00>`<60>`<60>`<60>c<EFBFBD>#<23>)<29>)<29>+<2B>+<2B>J]<5D>J]<5D>J_<4A>J_<4A>`<60>c<EFBFBD>i<EFBFBD>i<EFBFBD>k<EFBFBD>k<EFBFBD>`<60>`<60>`r-<00>,)<01> branch_id__in)<01>category__containsr c<00><00>g|]
}|d<00><02> S)rr7)r|<00>choices r+r}z contact_list.<locals>.<listcomp><3E>s<00><00>C<>C<>C<><06>&<26><11>)<29>C<>C<>Cr-)<06>contactsr<73><00>
categories<EFBFBD>selected_branches<65>selected_category<72>selected_contact_namezcontact_list.html) r<>r(r<00>splitrr3rLrr4<00>CATEGORY_CHOICESr)
rS<00>branches_paramr<6D>rr<><00>
branch_idsrr<>rrVs
r+<00> contact_listr'<00>sC<00><00><1C>[<5B>_<EFBFBD>_<EFBFBD>Z<EFBFBD>0<>0<>N<EFBFBD><16>{<7B><EFBFBD><EFBFBD>z<EFBFBD>*<2A>*<2A>H<EFBFBD><1A>;<3B>?<3F>?<3F>><3E>2<>2<>L<EFBFBD><10>c<EFBFBD>c<EFBFBD>G<EFBFBD><16>3<>`<60>`<60>^<5E>-A<>-A<>#<23>-F<>-F<>`<60>`<60>`<60>
2025-12-03 17:17:17 +08:00
<EFBFBD> <15> 3<> <13>q<EFBFBD>z<EFBFBD>2<>2<>2<> 2<>G<EFBFBD><10>2<><0F>1<EFBFBD><08>1<>1<>1<>1<><07><14>3<><0F>1<EFBFBD>\<5C>2<>2<>2<>2<><07><17><EFBFBD>%<25>%<25>g<EFBFBD>.<2E>.<2E>H<EFBFBD><16>~<7E>!<21>!<21>#<23>#<23>H<EFBFBD>C<>C<>'<27>*B<>C<>C<>C<>J<EFBFBD><1D><1C> <20>+<2B>%<25>!-<2D> <06><06>G<EFBFBD> <12>'<27>.<2E><07> 8<> 8<>8r-c<00>|<00>|j<00>dd<02><00>}|j<00>dd<02><00>}d}|r< tj<00>|<01><04><00>j}n#tj$rYnwxYwd}|rt jD]\}}||kr|}n<01>t j<00><00><00><00> dd<06><00>}|r|<07>
|<01><07><00>}|r|<07>
|<02><08><00>}tj<00><00><00>}t j } ||| ||||d <09>}
t|d
|
<EFBFBD><00>S) Nr@r
<00>typer<65><00> branch__name<6D> terminal_typerh)r+)<07> terminalsr<73><00>terminal_typesr<73><00> selected_type<70>selected_branch_name<6D>selected_type_namezvideo_terminals.html) r<>r(rr3r\<00> DoesNotExistr <00>TERMINAL_TYPE_CHOICESr4rMrL<00>TERMINAL_TYPESr) rSr<>r.r/r0<00>coder\r,r<>r-rVs r+<00>video_terminal_listr5<00>s<00><00><1D>k<EFBFBD>o<EFBFBD>o<EFBFBD>h<EFBFBD><02>3<>3<>O<EFBFBD><1B>K<EFBFBD>O<EFBFBD>O<EFBFBD>F<EFBFBD>B<EFBFBD>/<2F>/<2F>M<EFBFBD><1E><18><16><11> <11>#)<29>><3E>#5<>#5<><1F>#5<>#I<>#I<>#N<> <20> <20><><15>"<22> <11> <11> <11> <10>D<EFBFBD> <11><><EFBFBD><EFBFBD><1C><16><14><16>'<27>=<3D> <16> <16>J<EFBFBD>D<EFBFBD>$<24><13>}<7D>$<24>$<24>%)<29>"<22><15><05>%<25>
2025-12-03 17:17:17 +08:00
<1E>%<25>)<29>)<29>+<2B>+<2B>4<>4<>^<5E>_<EFBFBD>U<>U<>I<EFBFBD><17>@<01><1D>$<24>$<24><EFBFBD>$<24>?<3F>?<3F> <09><14>B<01><1D>$<24>$<24>=<3D>$<24>A<>A<> <09><16>~<7E>!<21>!<21>#<23>#<23>H<EFBFBD>"<22>1<>N<EFBFBD><1F><1C>(<28>*<2A>&<26> 4<>0<><06><06>G<EFBFBD> <12>'<27>1<>7<EFBFBD> ;<3B> ;<3B>;s<00>%A"<00>"A4<03>3A4c<00><><00>tj<00>|<01><01><00>}tj<00>|<02><02><00>}|jdkrt|j<00>d<04><00>}|rXtj<00>|<04><01><00>}tj<00>||<05><05><00>}td||j
<00><07><00>S||d<08>}t|d |<07><00>S)
Nr=r?rYrU)r@rU<00> budget_detail<69>rT<00> budget_id)r@rJzcreate_budget.html) rr3r(rrLrirYr
rjrr<>r)rSrTr@rJ<00> activity_idrUr^rVs r+<00> create_budgetr;s<><00><00> <13>^<5E> <1F> <1F>9<EFBFBD> <1F> -<2D> -<2D>F<EFBFBD><19>!<21>(<28>(<28><06>(<28>7<>7<>J<EFBFBD><0E>~<7E><16><1F><1F><1D>l<EFBFBD>&<26>&<26>z<EFBFBD>2<>2<> <0B> <16> W<01><1F>'<27>+<2B>+<2B>{<7B>+<2B>;<3B>;<3B>H<EFBFBD><1B>^<5E>*<2A>*<2A>&<26>8<EFBFBD>*<2A>L<>L<>F<EFBFBD><1B>O<EFBFBD>y<EFBFBD>F<EFBFBD>I<EFBFBD>V<>V<>V<> V<><19> <20><06><06>G<EFBFBD> <12>'<27>/<2F><17> 9<> 9<>9r-c<00><><00>tj<00>|<01><01><00>}tj<00>||<03><02><00>}||d<03>}t |d|<05><00>S)Nr=<00>r>r@)r@r^zbudget_detail.html)rr3r(r
r)rSrTr9r@r^rVs r+r7r7s]<00><00> <13>^<5E> <1F> <1F>9<EFBFBD> <1F> -<2D> -<2D>F<EFBFBD> <13>^<5E> <1F> <1F>9<EFBFBD>V<EFBFBD> <1F> <<3C> <<3C>F<EFBFBD><19><18><06><06>G<EFBFBD> <12>'<27>/<2F><17> 9<> 9<>9r-c<00><00>tj<00>|<01><01><00>}tj<00>||<03><02><00>}|jdkr<>|j<00>d<04><00>}|j<00>d<05><00>}|j<00>d<06><00>}|j<00>d<07><00>}|j<00>dd <09><00>} |r+|r)|r'|r%t j<00>|||||| <09>
<EFBFBD><00>td ||<02> <0C><00>S) Nr=r=rYr_r`rarbrcrr]r7r8) rr3r(r
rirYr rjr)
rSrTr9r@r^r_r`rarbrcs
r+<00>add_equipment_budgetr?!s<00><00> <13>^<5E> <1F> <1F>9<EFBFBD> <1F> -<2D> -<2D>F<EFBFBD> <13>^<5E> <1F> <1F>9<EFBFBD>V<EFBFBD> <1F> <<3C> <<3C>F<EFBFBD><0E>~<7E><16><1F><1F><19>,<2C>"<22>"<22>9<EFBFBD>-<2D>-<2D><07><17> <0C> <20> <20><17>)<29>)<29><05><1C>\<5C>%<25>%<25>l<EFBFBD>3<>3<>
2025-12-03 17:17:17 +08:00
<EFBFBD>$<24>\<5C>-<2D>-<2D>.B<>C<>C<><1A><1A><<3C>#<23>#<23>J<EFBFBD><01>2<>2<><08> <12> <0E>u<EFBFBD> <0E><1A> <0E>0B<30> <0E> <1B> #<23> *<2A> *<2A><1D><1F><1B>%<25>#5<>!<21> +<2B> <0E> <0E> <0E> <14>O<EFBFBD>y<EFBFBD>I<EFBFBD> N<> N<> N<>Nr-c <00>P<00>tj<00>|<01><01><00>}tj<00>||<03><02><00>}|jdkr<>|j<00>d<04><00>}|j<00>d<05><00>}|j<00>d<06><00>}|j<00>d<07><00>}|j<00>d<08><00>} |j<00>d d
<EFBFBD><00>}
|r*|r(|r&t j<00>|||||| |
<EFBFBD> <0B><00>td ||<02> <0A><00>S)Nr=r=rYr\rerarfrgrcrrdr7r8) rr3r(r
rirYr rjr) rSrTr9r@r^r\rerarfrgrcs r+<00>add_infrastructure_budgetrA9s#<00><00> <13>^<5E> <1F> <1F>9<EFBFBD> <1F> -<2D> -<2D>F<EFBFBD> <13>^<5E> <1F> <1F>9<EFBFBD>V<EFBFBD> <1F> <<3C> <<3C>F<EFBFBD><0E>~<7E><16><1F><1F><16>|<7C><1F><1F><06>'<27>'<27><04><19>,<2C>"<22>"<22>9<EFBFBD>-<2D>-<2D><07><1C>\<5C>%<25>%<25>l<EFBFBD>3<>3<>
<EFBFBD><16>|<7C><1F><1F><06>'<27>'<27><04><1D>l<EFBFBD>&<26>&<26>}<7D>5<>5<> <0B><1A><<3C>#<23>#<23>J<EFBFBD><01>2<>2<><08> <0F> <0E>J<EFBFBD> <0E>4<EFBFBD> <0E> <20> (<28> /<2F> /<2F><1D><19><1F>%<25><19>'<27>!<21> 0<> <0E> <0E> <0E> <14>O<EFBFBD>y<EFBFBD>I<EFBFBD> N<> N<> N<>Nr-c<00><00>tj<00>|<01><01><00>}tj<00>||<04><02><00>}tj<00>||<05><03><00>}|<06><00><00>t d||<02><05><00>S<00>Nr=r=)r>r^r7r8)rr3r(r
r <00>deleter)rSrTr9<00>equipment_budget_idr@r^<00>equipment_budgets r+<00>delete_equipment_budgetrGSsy<00><00> <13>^<5E> <1F> <1F>9<EFBFBD> <1F> -<2D> -<2D>F<EFBFBD> <13>^<5E> <1F> <1F>9<EFBFBD>V<EFBFBD> <1F> <<3C> <<3C>F<EFBFBD>&<26>.<2E>2<>2<>6I<36>RX<52>2<>Y<>Y<><14><14><1B><1B><1D><1D><1D> <13>O<EFBFBD>y<EFBFBD>I<EFBFBD> N<> N<> N<>Nr-c<00><00>tj<00>|<01><01><00>}tj<00>||<04><02><00>}tj<00>||<05><03><00>}|<06><00><00>t d||<02><05><00>SrC)rr3r(r
r rDr)rSrTr9<00>infrastructure_budget_idr@r^<00>infrastructure_budgets r+<00>delete_infrastructure_budgetrK[sy<00><00> <13>^<5E> <1F> <1F>9<EFBFBD> <1F> -<2D> -<2D>F<EFBFBD> <13>^<5E> <1F> <1F>9<EFBFBD>V<EFBFBD> <1F> <<3C> <<3C>F<EFBFBD>0<>8<><<3C><<3C>@X<>ag<61><<3C>h<>h<><19><19> <20> <20>"<22>"<22>"<22> <13>O<EFBFBD>y<EFBFBD>I<EFBFBD> N<> N<> N<>Nr-)I<>rest_frameworkr<00>modelsrrrrr r
r r r rr<00> serializersrrr<00>django.shortcutsrrr<00> collectionsrr<00>django.db.modelsr<00>django.core.paginatorrrrr<00>django.template.defaulttagsr<00> django.httprr<><00> reportlab.libr<00>reportlab.lib.pagesizesr <00>reportlab.platypusr!r"r#r$<00>reportlab.lib.stylesr%r&<00>osrLr,<00> ModelViewSetr/r9r;rWrtr<>r<>r<>r<>rrHrGr'r5r;r7r?rArGrKr7r-r+<00><module>r[s<><00><01>#<23>#<23>#<23>#<23>#<23>#<23>y<02>y<02>y<02>y<02>y<02>y<02>y<02>y<02>y<02>y<02>y<02>y<02>y<02>y<02>y<02>y<02>y<02>y<02>y<02>y<02>y<02>y<02>y<02>y<02>y<02>y<02>S<>S<>S<>S<>S<>S<>S<>S<>S<>S<>-<2D>-<2D>-<2D>-<2D>-<2D>-<2D>-<2D>-<2D> <20> <20> <20> <20> <20> <20>#<23>#<23>#<23>#<23>#<23>#<23><1D><1D><1D><1D><1D><1D><1E><1E><1E><1E><1E><1E>H<>H<>H<>H<>H<>H<>H<>H<>H<>H<><1B><1B><1B><1B><1B><1B>0<>0<>0<>0<>0<>0<>$<24>$<24>$<24>$<24>$<24>$<24><0F><0F><0F><0F> <20> <20> <20> <20> <20> <20>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>N<>N<>N<>N<>N<>N<>N<>N<>N<>N<>N<>N<>D<>D<>D<>D<>D<>D<>D<>D<> <09> <09> <09> <09> <09><1F><1F><1F><11><1F><1F>(<28>(<28>(<28>(<28>(<28>H<EFBFBD>)<29>(<28>(<28>(<28>
*<2A>*<2A>*<2A>*<2A>*<2A>h<EFBFBD>+<2B>*<2A>*<2A>*<2A>
,<2C>,<2C>,<2C>,<2C>,<2C><08>-<2D>,<2C>,<2C>,<2C> !:<3A>!:<3A>!:<3A>H.:<3A>.:<3A>.:<3A>db7<>b7<>b7<>L 8<> 8<> 8<>!7<>!7<>!7<>J<14><14><14>:H<14>H<14>H<14>V<07><07><07>=<3D>=<3D>=<3D><'9<>'9<>'9<>T*<<3C>*<<3C>*<<3C>^:<3A>:<3A>:<3A>$:<3A>:<3A>:<3A>O<01>O<01>O<01>0O<01>O<01>O<01>4O<01>O<01>O<01>O<01>O<01>O<01>O<01>Or-