Files
cdtestplant_v1/apps/createDocument/controllers/__pycache__/dg.cpython-313.pyc

294 lines
56 KiB
Plaintext
Raw Normal View History

2025-04-29 18:09:00 +08:00
<EFBFBD>
2026-05-29 16:20:30 +08:00
<00><><EFBFBD>iq<69><00><00><><00>SSKrSSKrSSKJr SSKJr SSKJr SSKJr SSK J
r
2026-02-05 18:27:04 +08:00
SSK J r SSK Jr SS KJrJrJr SS
2026-04-24 16:45:18 +08:00
KJr SS KJr SS KJrJr SS KJr SSKJr SSKJrJ r J!r!J"r"J#r#J$r$J%r%J&r&J'r'J(r(J)r)J*r*J+r+ SSK,J-r- SSK.J/r/J0r0J1r1J2r2J3r3 SSK4J5r5 SSK6J7r7 SSK8J9r9 SSK:J;r; SSK<J=r= SSK>J?r? SSK@JArA SSKBJCrC SSKDJErE SSKFJGrGJHrH SSKIJJrJJKrKJLrL \"SS/S9"S S!\\E55rMS"rNg)#<23>N)<01>Any)<01>datetime)<01>Mm)<01>WD_ALIGN_PARAGRAPH)<01>WD_ALIGN_VERTICAL)<01>qn)<01> HttpError)<03>ControllerBase<73>api_controller<65>route)<01> transaction)<01>Q)<02> DocxTemplate<74> InlineImage)<01>Path)<01> ChenResponse) <0A>Project<63>Contact<63> Abbreviation<6F>ProjectSoftSummary<72> StuctSortData<74>StaticSoftItem<65>StaticSoftHardware<72>DynamicSoftTable<6C>DynamicHardwareTable<6C>ProjectDynamicDescription<6F> EvaluateData<74> EnvAnalysis<69>Design)<01>Dict)<05> get_str_dict<63> get_list_dict<63> get_testType<70> get_ident<6E> get_str_abbr)<01>create_csx_chapter_dict)<01>get_object_or_404)<01> model_to_dict)<01>create_dg_docx)<01>
RichParser)<01>DocTime)<01> project_path)<01>GenerateLogger)<01>FragementToolsMixin)<02>demand_sort_by_designKey<65>!set_table_border_by_cell_position)<03>create_table_context<78> RoundType<70>uniform_static_dynamic_responsez /generateu生成大纲文档)<01>tagsc
<00>`<00>\rSrSr\"S5r\R"SSS9\RS\
2025-04-29 18:09:00 +08:00
4Sj55r \R"SS S9\RS\
4S
j55r \R"S S S9\RS\
4S j55r \R"SSS9\RS\
4Sj55r\R"SSS9\RS\
4Sj55rS\S\\4Sjr\R"SSS9\RS\
2026-02-07 17:26:34 +08:00
4Sj55r\S\4Sj5r\S\
S\S\S\S-4S j5r\R"S!S"S9\RS\
4S#j55r\R"S$S%S9S\
4S&j5r\R"S'S(S9S\
4S)j5r\R"S*S+S9S\
2026-04-24 16:45:18 +08:00
4S,j5r\R"S-S.S9SeS\
S/\4S0jj5r\R"S1S2S9SeS\
S/\4S3jj5r \R"S4S5S9S\
4S6j5r!\R"S7S8S9SeS\
S/\4S9jj5r"\R"S:S;S9SeS\
S/\4S<jj5r#\R"S=S>S9SeS\
S/\4S?jj5r$\R"S@SAS9S\
4SBj5r%\R"SCSDS9S\
4SEj5r&\R"SFSGS9S\
4SHj5r'\R"SISJS9S\
4SKj5r(\R"SLSMS9S\
4SNj5r)\R"SOSPS9S\
4SQj5r*\R"SRSSS9S\
4STj5r+\R"SUSVS9S\
4SWj5r,\R"SXSYS9S\
4SZj5r-\R"S[S\S9S\
4S]j5r.\R"S^S_S9S\
4S`j5r/\R"SaSbS9S\
4Scj5r0Sdr1g)f<>GenerateControllerDG<44>&u 测评大纲z/create/testdemandzcreate-testdemand)<01>url_name<6D>idc<00> ^&<26>[R"5S- [U5- S- S- S- n[U5n[ [
2025-04-29 18:09:00 +08:00
US9n[ RRSS9RR5n[SUS-5Vs/sHofPM nn[SUS-5Vs/sHn/PM n nURRS S
9R5n
U
2026-01-28 16:50:40 +08:00
RR!5R#S 5n [%U [&S
2026-04-22 18:28:32 +08:00
9n U GH<>n UR)[+U R,55n/n[/U R0R!55H<>unnUS-[3US-5R5S S 5UR6UR8[/UR:R!55VVs/sH#unnUS-UR<UR>S.PM% snnS.nURAU5 M<> Sn[ RRSS9RR!5H:nU RBH'nUURD:XdMUURFS-- nM) M< U RHRJS:XaOU RHRLS-U RHRN-nURPRSSSU35 [UU RHRJ5nURWU5nU RXRNU RHRZU RHRNU RXR\S./nU R^R!5HWnURXRNURZURNURXR\S.nURAU5 MY S SS SSSS.m&URaU&4SjS
9 U RNU RD[cU 5[eU RfS5UUUURi5U RjRmSS5U RnRmSS5[qU R,S5S. nX<>RAU5 GM<> /n[/U 5Huunn[ RRSS9RR[3US-5S
9n U RFn!U R`n"U!UU"S .n#URAU#5 Mw [%US!S
2026-04-24 16:45:18 +08:00
9nURNURrS":XaS#OS$US%URt;S&.n$URwU$S#S'9 URy[R"5S- [U5- S(- S- 5 [{S)S)S*S+9$s snfs snfs snnf![|a$n%[{S,S,S-RU%5S+9sS.n%A%$S.n%A%ff=f)/u目前生成第一轮测试项<E8AF95>media<69> form_template<74>dgu测试项及方法.docx<63>r9<00>testType)<01>code<64>r<00><01>key<65>design<67><00>0)<03>index<65> operation<6F>expect)rG<00>rindex<65>subName<6D>subDescription<6F>subStep<65><00>
testMethod<EFBFBD> <20>-u 测试项u.设计需求中的描述为空,请检查 -> )<04>dut_name<6D>design_chapter<65> design_name<6D>dut_type<70><00>c<00><>)<06>YZ<59>XQ<58>XY<58>SJNrNc<00>F><01>TRURS5S5$)NrUrX)<01>get)<02>x<>
TYPE_ORDERs <20><>GE:\pycharmProjects\cdtestplant_v1\apps\createDocument\controllers\dg.py<70><lambda><3E>8GenerateControllerDG.create_testdemand.<locals>.<lambda>os<00><><00>
2026-04-22 18:28:32 +08:00
<EFBFBD><0E><0E>q<EFBFBD>u<EFBFBD>u<EFBFBD>Z<EFBFBD>7H<37>#<23>(N<><00>priority<74>
2026-04-24 16:45:18 +08:00
<EFBFBD>) <0B>namerC<00>identre<00>doc_list<73>design_description<6F>test_demand_contentrO<00>adequacy<63>testDesciptionr?)<03>type<70>item<65>sortc<00> <00>US$)Nrq<00>)r_s rarbrc<00>s<00><00><11>6<EFBFBD>rd<00>9TF<54>1)<04> project_name<6D>is_JD<4A>data<74>isFPGA<47><01>
autoescape<EFBFBD>
2026-04-24 16:45:18 +08:00
output_dir<EFBFBD><EFBFBD><00>文档生成成功<E58A9F><03>statusr@<00>message<67><65><00>0模版文件已打开,请关闭后再试,{0}N)@r<00>cwdr,rr'rr <00>objectsr^<00>dictItem<65>count<6E>range<67>pField<6C>filter<65>first<73>rtField<6C>all<6C>select_related<65>sortedr/rG<00>intr?<00> enumerate<74>
testQField<EFBFBD>str<74>rjustrKrL<00> testStepFieldrHrI<00>appendrOrC<00>titlerD<00> descriptionrirh<00>logger<65>write_warning_logr*<00>get_final_list<73>dut<75>chapterro<00> otherDesignrqr$r!re<00>striprm<00>replacernr#<00> report_type<70>
plant_type<EFBFBD>render<65>saver<00>PermissionError<6F>format)'<27>selfr9<00>tplTestDemandGenerate_path<74>doc<6F>
2026-01-28 16:50:40 +08:00
project_qs<EFBFBD> test_type_len<65>i<>type_number_list<73>_<> list_list<73>project_round_one<6E> testDemand_qs<71>sorted_demand_qs<71> single_qs<71>
2026-04-24 16:45:18 +08:00
type_index<EFBFBD> content_listrG<00>content<6E>step_obj<62> content_dict<63>testmethod_str<74> dict_item_qs<71>tm_item<65> design_info<66> html_parser<65> desc_listrj<00> relate_design<67>ddict<63>testdemand_dict<63> output_list<73>li<6C>qs<71> context_strrq<00>table<6C>context<78>er`s' @ra<00>create_testdemand<6E>&GenerateControllerDG.create_testdemand*s<><00><><00>&*<2A>X<EFBFBD>X<EFBFBD>Z<EFBFBD>'<27>%9<>L<EFBFBD> <0E>=<10>&<10>!<21>&"<22>$(<28>&)<29>+D<>&E<01>"<22><1A>5<>6<><03>&<26>w<EFBFBD>2<EFBFBD>6<>
2026-01-28 16:50:40 +08:00
<EFBFBD><1C> <0C> <0C>(<28>(<28>j<EFBFBD>(<28>9<>B<>B<>H<>H<>J<> <0A>',<2C>Q<EFBFBD> <0A><01>0A<30>'B<>C<>'B<>!<21>A<EFBFBD>'B<><18>C<>!&<26>q<EFBFBD>-<2D>!<21>*;<3B>!<<3C>=<3D>!<<3C>A<EFBFBD>R<EFBFBD>!<<3C> <09>=<3D>'<27>-<2D>-<2D>4<>4<><11>4<>;<3B>A<>A<>C<><19>)<29>1<>1<>5<>5<>7<>F<>F<>x<EFBFBD>P<> <0A>!<21>-<2D>5M<35>N<><18>*<2A>I<EFBFBD>)<29>/<2F>/<2F><03>I<EFBFBD>4F<34>4F<34>0G<30>H<>J<EFBFBD><1D>L<EFBFBD>$-<2D>i<EFBFBD>.B<>.B<>.F<>.F<>.H<>$I<> <20><15><07>"<22>Q<EFBFBD>Y<EFBFBD>!<21>%<25>!<21>)<29>n<EFBFBD>2<>2<>1<EFBFBD>c<EFBFBD>:<3A>&<26><EFBFBD><EFBFBD>&-<2D>&<<3C>&<<3C>2;<3B>7<EFBFBD>;P<>;P<>;T<>;T<>;V<>1W<31> <16>1W<31>-<2D>U<EFBFBD>H<EFBFBD>#(<28>!<21>)<29>(<28>:L<>:L<>X`<60>Xg<58>Xg<58>h<>1W<31> <16>
<12> <0C><1D>#<23>#<23>L<EFBFBD>1<>%J<01> <20>N<EFBFBD> $<24> <0C> <0C> 0<> 0<>l<EFBFBD> 0<> C<> L<> L<> P<> P<> R<> <0C>(<28>3<>3<>G<EFBFBD><1E>,<2C>"2<>"2<>2<>&<26>,<2C>*<<3C>*<<3C>s<EFBFBD>*B<>B<><0E> 4<>!S<01>
2026-04-22 18:28:32 +08:00
<19><1F><1F>+<2B>+<2B>r<EFBFBD>1<>'<27>.<2E>.<2E>4<>4<>s<EFBFBD>:<3A>Y<EFBFBD>=M<>=M<>=R<>=R<>R<> <0B><14> <0B> <0B>-<2D>-<2D>k<EFBFBD>=k<>lw<6C>kx<6B>;y<>z<>%<25>Y<EFBFBD>%5<>%5<>%A<>%A<>B<>K<EFBFBD>#<23>2<>2<>3<EFBFBD>7<>I<EFBFBD>&<26>M<EFBFBD>M<EFBFBD>.<2E>.<2E>"+<2B>"2<>"2<>":<3A>":<3A>(<28>/<2F>/<2F>4<>4<>%<25>M<EFBFBD>M<EFBFBD>.<2E>.<2E> <0E><0F>H<EFBFBD> "+<2B>!6<>!6<>!:<3A>!:<3A>!<<3C> <0A> -<2D> 1<> 1<> 6<> 6<>&3<>&;<3B>&;<3B>#0<>#5<>#5<> -<2D> 1<> 1<> 6<> 6<> <12><05> <19><0F><0F><05>&<26>"=<3D>!"<22><11>!<21>1<EFBFBD>B<EFBFBD>C<EFBFBD>P<>J<EFBFBD> <14>M<EFBFBD>M<EFBFBD>N<>M<EFBFBD> O<>
"<22><0E><0E> <20>}<7D>}<7D>"<22>9<EFBFBD>-<2D>(<28><19>);<3B>);<3B>Z<EFBFBD>H<>$<24>&/<2F>'3<>,<2C>2<>2<>4<>%<25>.<2E>.<2E>6<>6<>t<EFBFBD>T<EFBFBD>B<>"+<2B>":<3A>":<3A>"B<>"B<>4<EFBFBD><14>"N<>(<28><19>);<3B>);<3B>Z<EFBFBD>H<> <0E>O<EFBFBD> <16> !<21> (<28> (<28><1F> 9<>E*<2A>H<19> <0B>$<24>Y<EFBFBD>/<2F>K<EFBFBD>U<EFBFBD>B<EFBFBD><15><1C><1C>!<21>!<21>z<EFBFBD>!<21>2<>;<3B>;<3B>?<3F>?<3F>C<EFBFBD><05>PQ<50> <09>N<EFBFBD>?<3F>S<>B<EFBFBD><1C>(<28>(<28>K<EFBFBD><15>7<EFBFBD>7<EFBFBD>D<EFBFBD>#<23><1A><1C><0E>E<EFBFBD>
<18> <1E> <1E>u<EFBFBD> %<25>0<><1D>[<5B>/B<>D<> <0B>'<27>O<EFBFBD>O<EFBFBD>'<27>3<>3<>s<EFBFBD>:<3A>T<EFBFBD><05><1F><19>Z<EFBFBD>2<>2<>2<> 
<EFBFBD><07> <0C>
2025-04-29 18:09:00 +08:00
<EFBFBD>
<EFBFBD>7<EFBFBD>t<EFBFBD>
2026-04-22 18:28:32 +08:00
<EFBFBD>,<2C> |<01> <0F>H<EFBFBD>H<EFBFBD>T<EFBFBD>X<EFBFBD>X<EFBFBD>Z<EFBFBD>'<27>)<29>L<EFBFBD><12>,<<3C><<3C>|<7C>K<>Ng<4E>g<> h<><1F>s<EFBFBD><13>>U<>V<> V<><56>SD<01><>=<3D><>( <16><>j<1F> |<01><1F>s<EFBFBD><13>>p<>>w<>>w<>xy<78>>z<>{<7B> {<7B><> |<01>s1<00> W <04>, W<04>
*W<12>AW<00>
2026-04-24 16:45:18 +08:00
X<03>#X<03><X<03>Xz /create/yijuz create-yijuc<00>j<00>[[US9n[SUR5nSU0n[ SXA5$)Nr><00>standard<72> std_documentsu标准依据文件.docx)r'rr"r<>r))r<>r9r<><00> yiju_listr<74>s ra<00> create_yiju<6A> GenerateControllerDG.create_yiju<6A>s><00><00>'<27>w<EFBFBD>2<EFBFBD>6<>
2025-04-29 18:09:00 +08:00
<EFBFBD>!<21>*<2A>j<EFBFBD>.A<>.A<>B<> <09> <1B>Y<EFBFBD>
2026-04-24 16:45:18 +08:00
<EFBFBD><07><1E>7<><17>E<>Erdz/create/techyijuzcreate-techyijuc<00><><00>[[US9nURR[ SS9[ SS9-[ SS9-[ SS9-5RSS9n/nUHSnUR
2025-04-29 18:09:00 +08:00
UR S -UR-URURS
2026-04-24 16:45:18 +08:00
.nURU5 MU S U0n[S Xq5$) Nr>rZ<00>ror\r[rYrF<00><01>
round__keyrQ)<04>doc_name<6D> ident_version<6F> publish_date<74>sourcer<65>u技术依据文件.docx) r'r<00>pdFieldr<64>rrh<00>ref<65>version<6F> release_date<74> release_unionr<6E>r))r<>r9r<><00> duties_qsr<73><00>duty<74>one_dutyr<79>s ra<00>create_techyiju<6A>$GenerateControllerDG.create_techyiju<6A>s<><00><00>'<27>w<EFBFBD>2<EFBFBD>6<>
<EFBFBD><1E>&<26>&<26>-<2D>-<2D> <0A>4<EFBFBD>L<EFBFBD>1<EFBFBD>$<24><<3C> '<27>!<21><14>,<2C> 6<><11><04><1C> E<>G<01>GM<47>v<EFBFBD><1A>HN<01>H<1C> <12><1B> <0A><1D>D<EFBFBD>$(<28>I<EFBFBD>I<EFBFBD><04><08><08>3<EFBFBD><0E>QU<51>Q]<5D>Q]<5D>@]<5D>(,<2C>(9<>(9<>T<EFBFBD>EW<45>EW<45>Y<01>H<EFBFBD> <19> <20> <20><18> *<2A><1E> <1C>]<5D>
2026-04-24 16:45:18 +08:00
<EFBFBD><07><1E>7<><17>E<>Erdz/create/contactzcreate-contactc<00>j<00>[[US9n[U/SQS9n[RR USS9R n[RR USS9R n[RR USS9R nXCS'XSS 'XcS
'S U0n[S Xq5$) Nr>) <09> entrust_unit<69>entrust_contact<63>entrust_contact_phone<6E>dev_unit<69> dev_contact<63>dev_contact_phone<6E> test_unit<69> test_contact<63>test_contact_phone)<01>fieldsr<73>)rhr<>r<><00> entrust_addr<64>dev_addr<64> test_addr<64>datasu联系人和方式.docx)r'rr(rr<>r^<00>addrr))r<>r9r<><00> contact_dictr<74>r<>r<>r<>s ra<00>create_contact<63>#GenerateControllerDG.create_contact<63>s<><00><00>'<27>w<EFBFBD>2<EFBFBD>6<>
<EFBFBD>$<24>Z<EFBFBD>-C<01>D<01> <0C> <1F><EFBFBD><EFBFBD>*<2A>*<2A> <0C>^<5E>0L<30>*<2A>M<>R<>R<> <0C><1A>?<3F>?<3F>&<26>&<26>L<EFBFBD><1A>,D<>&<26>E<>J<>J<><08><1B>O<EFBFBD>O<EFBFBD>'<27>'<27>\<5C>+<2B>-F<>'<27>G<>L<>L<> <09>'3<>^<5E>$<24>#+<2B>Z<EFBFBD> <20>$-<2D>[<5B>!<21> <13>\<5C>
2026-05-29 16:20:30 +08:00
<EFBFBD><07><1E>7<><17>E<>Erdz/create/timeaddresszcreate-timeaddressc<00>x<00>[U5nUR5nURU/SQ5n[SX15$)N)<05>beginTime_strf<72>dgCompileStart<72> dgCompileEnd<6E> designStart<72> designEndu测评时间和地点.docx)r+<00>dg_address_time<6D>change_time_to_anotherr))r<>r9<00> doc_timerr<72>s ra<00>create_timeaddress<73>'GenerateControllerDG.create_timeaddress<73>sB<00><00><1C>B<EFBFBD>K<EFBFBD> <09><1B>+<2B>+<2B>-<2D><07><16>-<2D>-<2D>g<EFBFBD>8T<01>U<01><07><1D>:<3A>G<EFBFBD>H<>Hrdr<><00>key_listc<00><><00>UHEnURU5nU(dM[R"US5RS5X'MG U$)Nz%Y%m%du%Y年%m月%d日)r^r<00>strptime<6D>strftime)r<>r<>rrC<00>time_vals rar<><00>+GenerateControllerDG.change_time_to_another<65>sF<00><00><1B>C<EFBFBD><1E>{<7B>{<7B>3<EFBFBD>'<27>H<EFBFBD><17>x<EFBFBD>'<27>0<>0<><18>8<EFBFBD>D<>M<>M<>N_<4E>`<60><07> <0C><1C><17>rdz/create/indicatorszcreate-indicatorsc
<00><><00>[R"5S- [U5- S- S- S- n[U5n[ [
2025-04-29 18:09:00 +08:00
US9n[ SS9[ SS9-nURRUS S
9RS 5n/n/nUGH:n [U R5R5n
U RR5n /n U H?n U RR5HnU R!UR"5 M MA S R%U 5nS U R&R(SU R*SU R(3SR%U
5SU R(SUS3S.n[-U R.S5nSU;aUR!U5 GM SU;dGM)UR!U5 GM= Sn/nUR0RS S
2026-04-24 16:45:18 +08:00
9nUHhn[-UR2S5nSU;dM!SnUR!SUR4UR(SR%SUR6/5S.5 Mj UR(UUUUS .nUR9USS!9 UR;[R"5S- [U5- S"- S- 5 [=S#S#S$S%9$![>a$n[=S&S&S'RAU5S%9sSnA$SnAff=f)(Nr;r<r=u 主要功能和性能指标.docxr>rZ)<01> dut__typerYrFr<>r<><00>、u《u》rQrgu对u进行全覆盖测试包含u<,验证所描述内容是否满足需求等文档的要求)<03> chapter_info<66> indicator<6F>coverage<67>
demandTypeu功能u性能Fr?u摸底Tu 隐含需求rN<00>XQ_MD_)<04> xq_source<63>desc<73> demand_name<6D> demand_ident)rv<00>func_design_list<73>performance_design_list<73>md_demand_list<73> is_has_modirzr|r}r~rr<>r<>)!rr<>r,rr'rr<00>psFieldr<64>r<>r*r<><00>get_final_p_list<73>dtFieldr<64>r<>r<>rK<00>joinr<6E>rhr<>r!r <00>ptFieldr?rnrir<>r<>rr<>r<>)r<>r9<00>
input_pathr<EFBFBD><00> project_obj<62>q_ex<65> design_qsrr<00>
design_objr<EFBFBD><00> demand_qs<71>str_list<73>demand<6E> subDemand<6E> coverage_str<74>design_context_obj<62>demandType_strrr<00>round1_demand_qs<71>
one_demand<EFBFBD> testType_strr<72>r<>s ra<00>create_indicators<72>&GenerateControllerDG.create_indicators<72>s<><00><00><1A>X<EFBFBD>X<EFBFBD>Z<EFBFBD>'<27>)<29>L<EFBFBD><12>,<<3C><<3C><EFBFBD>N<>QU<51>U<>Xz<58>z<>
2025-04-29 18:09:00 +08:00
<EFBFBD><1A>:<3A>&<26><03>0<><17>R<EFBFBD>@<40> <0B><11>4<EFBFBD> <20>1<EFBFBD>t<EFBFBD>#4<>4<><04><1F>'<27>'<27>.<2E>.<2E>t<EFBFBD><03>.<2E>D<>S<>S<>TY<54>Z<> <09><1E><18>"$<24><1F>#<23>J<EFBFBD>$<24>Z<EFBFBD>%;<3B>%;<3B><<3C>M<>M<>O<>K<EFBFBD>"<22>*<2A>*<2A>.<2E>.<2E>0<>I<EFBFBD><19>H<EFBFBD>#<23><06>!'<27>!2<>!2<>!6<>!6<>!8<>I<EFBFBD><1C>O<EFBFBD>O<EFBFBD>I<EFBFBD>$5<>$5<>6<>"9<>$<24>!<21>:<3A>:<3A>h<EFBFBD>/<2F>L<EFBFBD>"%<25>j<EFBFBD>n<EFBFBD>n<EFBFBD>&9<>&9<>%:<3A>#<23>j<EFBFBD>>P<>>P<>=Q<>QR<51>S]<5D>Sb<53>Sb<53>Rc<52> d<>!<21>Y<EFBFBD>Y<EFBFBD>{<7B>3<>!<21>*<2A>/<2F>/<2F>!2<>2P<32>Q]<5D>P^<5E>_[<02>\<02>"<0E> <1E>
*<2A>*<2A>*?<3F>*?<3F><1C>N<>N<EFBFBD><17>><3E>)<29> <20>'<27>'<27>(:<3A>;<3B><19>^<5E>+<2B>'<27>.<2E>.<2E>/A<>B<>+$<24>0<1C> <0B><1B><0E>&<26>.<2E>.<2E>5<>5<><13>5<>E<><18>*<2A>J<EFBFBD>'<27>
<EFBFBD>(;<3B>(;<3B>Z<EFBFBD>H<>L<EFBFBD><17><<3C>'<27>"<22> <0B><1E>%<25>%<25>!/<2F>&<26>5<>5<>#-<2D>?<3F>?<3F>$&<26>G<EFBFBD>G<EFBFBD>X<EFBFBD>z<EFBFBD>7G<37>7G<37>,H<>$I<> '<12><13> +<2B>(<28>,<2C>,<2C> 0<>'><3E>,<2C>&<26> 
<EFBFBD><07> <0C>
<EFBFBD>
<EFBFBD>7<EFBFBD>t<EFBFBD>
<EFBFBD>,<2C> |<01> <0F>H<EFBFBD>H<EFBFBD>T<EFBFBD>X<EFBFBD>X<EFBFBD>Z<EFBFBD>'<27>)<29>L<EFBFBD><12>,<<3C><<3C>|<7C>K<>Np<4E>p<> q<><1F>s<EFBFBD><13>>U<>V<> V<><56><1E> |<01><1F>s<EFBFBD><13>>p<>>w<>>w<>xy<78>>z<>{<7B> {<7B><> |<01>s<00>6AJ:<00>:
2026-04-24 16:45:18 +08:00
K(<03>K#<03>K(<03>#K(r<>c <00><00>UR5(Gat/nUR5GHWnURURS.nURS:XaURUS'GOURS:XGa<>UR 5n[ UR5n[ URS5nURXxS9n [U5GH n
2026-02-07 17:26:34 +08:00
[U5H<>n U RX<>5n URU
U U l
U
S:XdM3SU l
U RSn U R[URU
U 55nSURlUR R"R$R'[)S 5S5 S
2026-04-24 16:45:18 +08:00
URl[,R.U l[2R.U lM<> GM [,R.U l[7U 5 XeS'OkURS :Xa[[8R:"URR=S S55n[?U[@RB"U5[ES 5S9US'URGU5 GMZ SU0nU$g)N)<02>fontnotero<00>textr<74>r<>r)<02>rows<77>colsrNu黑体z
w:eastAsiaF<61>image<67>data:image/png;base64,<2C>x<00><01>widthr<68>)$<24>existsr<73>r.ror<><00>
new_subdoc<EFBFBD>len<65> add_tabler<65><00>cellr/<00>
paragraphs<EFBFBD>add_runr<6E><00>fontrh<00>_element<6E>rPr<50>rFonts<74>setr<00>boldr<00>CENTER<45> alignmentr<00>vertical_alignmentr0<00>base64<36> b64decoder<65>r<00>io<69>BytesIOrr<>)<11>cls<6C>data_qsr<73><00> data_list<73>data_obj<62> item_context<78>subdocr0r1r<><00>row<6F>colr;<00>pa<70>run<75> base64_bytesr<73>s ra<00>create_data_schema_list_context<78>4GenerateControllerDG.create_data_schema_list_context3s<00><00> <12>><3E>><3E> <1B> <1B><1A>I<EFBFBD>#<23>K<EFBFBD>K<EFBFBD>M<EFBFBD><08><D<><M<><M<>W_<57>Wd<57>Wd<57>/e<> <0C><1B>=<3D>=<3D>F<EFBFBD>*<2A>.6<EFBFBD>.><3E>.><3E>L<EFBFBD><19>+<2B><1D>]<5D>]<5D>g<EFBFBD>-<2D> <20>^<5E>^<5E>-<2D>F<EFBFBD><1E>x<EFBFBD>/<2F>/<2F>0<>D<EFBFBD><1E>x<EFBFBD>/<2F>/<2F><01>2<>3<>D<EFBFBD>"<22>,<2C>,<2C>$<24>,<2C>B<>E<EFBFBD>$<24>T<EFBFBD>{<7B><03>#(<28><14>;<3B>C<EFBFBD>#(<28>:<3A>:<3A>c<EFBFBD>#7<>D<EFBFBD>(0<>(8<>(8<><13>(=<3D>c<EFBFBD>(B<>D<EFBFBD>I<EFBFBD>"<22>a<EFBFBD>x<EFBFBD>,.<2E><04> <09>%)<29>_<EFBFBD>_<EFBFBD>Q<EFBFBD>%7<><02>&(<28>j<EFBFBD>j<EFBFBD><13>X<EFBFBD>5E<35>5E<35>c<EFBFBD>5J<35>3<EFBFBD>5O<35>1P<31>&Q<><03>08<30><03><08><08> <0A> #<23> <0C> <0C> 0<> 0<> 7<> 7<> ;<3B> ;<3B>B<EFBFBD>|<7C><L<>h<EFBFBD> W<>05<30><03><08><08> <0A>/A<>/H<>/H<><02> <0C>:K<>:R<>:R<><04> 7<>$/<2F> +<2B>"'9<>&?<3F>&?<3F>E<EFBFBD>O<EFBFBD>5<>e<EFBFBD><<3C>.4<EFBFBD><19>+<2B><1D>]<5D>]<5D>g<EFBFBD>-<2D>#)<29>#3<>#3<>H<EFBFBD>4D<34>4D<34>4L<34>4L<34>Me<4D>gi<67>4j<34>#k<>L<EFBFBD>.9<EFBFBD>#<23>r<EFBFBD>z<EFBFBD>z<EFBFBD>,<2C>?W<>_a<5F>be<62>_f<5F>.g<>L<EFBFBD><19>+<2B><19> <20> <20><1C>.<2E>I*<2A>L<18><19><0E>G<EFBFBD><1B>N<EFBFBD>rd<00>filename<6D>
2026-05-29 16:20:30 +08:00
r_filename<EFBFBD>returnNc<00>b<00>[[US9n[R"5S- [ U5- S- S- U- n[ U5nUR RUS9nUR5(a<>UR5Rn URX<>5n
2026-02-07 17:26:34 +08:00
URU
2026-05-29 16:20:30 +08:00
=(d 05 UR[R"5S- [ U5- S- U- 5 [SSSS 9$g![a$n [S
2026-02-07 17:26:34 +08:00
S
2026-05-29 16:20:30 +08:00
S R!U 5S 9sSn A $Sn A ff=f) Nr>r;r<r=<00><01>projectr|r}r~rr<>r<>)r'rrr<>r,rr<>r<>r7r<><00> data_schemasrVr<>r<>rr<>r<>) rKr9rXrY<00>modelrrr<>r<>rLr<>r<>s ra<00>!uniform_res_from_mul_data_schemas<61>6GenerateControllerDG.uniform_res_from_mul_data_schemascs <00><00>'<27><07>B<EFBFBD>7<> <0B><19>X<EFBFBD>X<EFBFBD>Z<EFBFBD>'<27>)<29>L<EFBFBD><12>,<<3C><<3C><EFBFBD>N<>QU<51>U<>X`<60>`<60>
<EFBFBD><1A>:<3A>&<26><03> <12>]<5D>]<5D> !<21> !<21>+<2B> !<21> 6<><02> <0A>9<EFBFBD>9<EFBFBD>;<3B>;<3B><18>h<EFBFBD>h<EFBFBD>j<EFBFBD>-<2D>-<2D>G<EFBFBD><19>9<>9<>'<27>G<>G<EFBFBD> <0F>J<EFBFBD>J<EFBFBD>w<EFBFBD>}<7D>"<22> %<25> @<02><13><08><08><14><18><18><1A>g<EFBFBD>-<2D> <0C>R<EFBFBD>0@<40>@<40><<3C>O<>R\<5C>\<5C>]<5D>#<23>3<EFBFBD>S<EFBFBD>BY<42>Z<>Z<><14><>#<23> @<02>#<23>3<EFBFBD>S<EFBFBD>Bt<42>B{<7B>B{<7B>|}<7D>B~<7E><><><7F> @<02>s<00>;AD<00>
D.<03>
D)<03>#D.<03>)D.z/create/softCompositionzcreate-softCompositionc<00><><00>URUSS[5nUbU$[R"5S- [ U5- S- S- S- n[ U5nUR XS5upVnUU=(a US.nURUSS 9 UR[R"5S- [ U5- S
2026-04-24 16:45:18 +08:00
- S- 5 [S S S S 9$![a$n [SSSRU 5S 9sSn A $Sn A ff=f)Nu测评对象_2.docxu测评对象.docxr;r<r=u 测评对象<E5AFB9>r<><00> user_contentTrzr|r}r~rr<>r<>) r`rrr<>r,r<00>_generate_fragr<67>r<>rr<>r<>)
r<EFBFBD>r9<00>resrr<>r<><00>frag<61>rich_text_listr<74>r<>s
ra<00>create_softComposition<6F>+GenerateControllerDG.create_softCompositionus<00><00><13>4<>4<>R<EFBFBD>9N<39>Pc<50>ew<65>x<><03> <0E>?<3F><16>J<EFBFBD><19>X<EFBFBD>X<EFBFBD>Z<EFBFBD>'<27>)<29>L<EFBFBD><12>,<<3C><<3C><EFBFBD>N<>QU<51>U<>Xk<58>k<>
2026-02-07 17:26:34 +08:00
<EFBFBD><1A>:<3A>&<26><03>(,<2C>(;<3B>(;<3B>B<EFBFBD>^<5E>(T<>%<25><07>~<7E><1E> <20>3<>^<5E>
2025-04-29 18:09:00 +08:00
<EFBFBD><07> <0C>
<EFBFBD>
<EFBFBD>7<EFBFBD>t<EFBFBD>
2026-02-07 17:26:34 +08:00
<EFBFBD>,<2C> |<01> <0F>H<EFBFBD>H<EFBFBD>T<EFBFBD>X<EFBFBD>X<EFBFBD>Z<EFBFBD>'<27>)<29>L<EFBFBD><12>,<<3C><<3C>|<7C>K<>Na<4E>a<> b<><1F>s<EFBFBD><13>>U<>V<> V<><56><1E> |<01><1F>s<EFBFBD><13>>p<>>w<>>w<>xy<78>>z<>{<7B> {<7B><> |<01>s<00>
AC<00>
2026-04-22 18:28:32 +08:00
C<<03>C7<03>1C<<03>7C<z/create/interfacezcreate-interfacec <00>~<00>[R"5S- [U5- S- S- S- n[U5n[ [
2026-02-04 17:08:46 +08:00
US9nUR n/nURRSS9n[U5nSn UH;n
URU
R 5 U S - n X<>:dM*URS
2026-04-24 16:45:18 +08:00
5 M= /n UH<>n U R U RU RU RU RR5V s/sH'n U R U R"U R$S .PM) sn S .nU RU5 M<> [&R(RUS 9nSnSnUR+5(a<>[,R."UR15R2R5SS55n[7U[8R:"U5[=S5S9nUR15R>nUUU U(aUOSU(aUOSRAUS/5S.nURCUSS9 URE[R"5S- [U5- S- S- 5 [GSSSS9$s sn f![Ha$n[GSSSRKU5S9sSnA$SnAff=f)Nr;r<r=u被测软件接口.docxr>rV)r rrAr )r<><00> destinationr<6E>)rhriro<00>is_bidirectional<61> jk_info_listr\r3rNr4r5u接口示意图)rv<00>iters<72> iter_list<73> image_renderr.Trzr|r}r~rr<>r<>)&rr<>r,rr'rrhrr<>r9r<>rirorm<00>jkFieldr<64>r<>rlr<>rr<>r7rGrHr<>r<>r<>rrIrJrr.rr<>r<>rr<>r<>)r<>r9rr<>r<>rv<00>interfaceNameListro<00> iters_lengthrG<00>inter<65>interface_list<73> interfacerp<00>interface_dict<63> image_objrqr.rUr<>r<>s ra<00>create_interface<63>%GenerateControllerDG.create_interface<63>s<><00><00><19>X<EFBFBD>X<EFBFBD>Z<EFBFBD>'<27>)<29>L<EFBFBD><12>,<<3C><<3C><EFBFBD>N<>QU<51>U<>Xq<58>q<>
2026-02-04 17:08:46 +08:00
<EFBFBD><1A>:<3A>&<26><03>&<26>w<EFBFBD>2<EFBFBD>6<>
2026-04-22 18:28:32 +08:00
<EFBFBD>!<21><EFBFBD><EFBFBD> <0C><1E><19><1A>"<22>"<22>)<29>)<29>Q<EFBFBD>)<29>7<><05><1A>5<EFBFBD>z<EFBFBD> <0C><11><05><1A>E<EFBFBD> <1D> $<24> $<24>U<EFBFBD>Z<EFBFBD>Z<EFBFBD> 0<> <11>Q<EFBFBD>J<EFBFBD>E<EFBFBD><14>#<23>!<21>(<28>(<28><15>/<2F> <1B> <1C><0E><1E>I<EFBFBD>!<21><0E><0E>"<22><1F><1F>!<21><0E><0E>$-<2D>$><3E>$><3E>
(<28>/<2F>/<2F>3<>3<>5<> !7<>6<>d<EFBFBD>#<23>k<EFBFBD>k<EFBFBD>#'<27>#3<>#3<>#'<27>#3<>#3<>"<12>6<> !7<>
<0E>N<EFBFBD> <1B> !<21> !<21>.<2E> 1<><1F>"<22>)<29>)<29>0<>0<><1A>0<>D<> <09><1B> <0C><17><08> <14> <1B> <1B> <1D> <1D>!<21>+<2B>+<2B>I<EFBFBD>O<EFBFBD>O<EFBFBD>,=<3D>,E<>,E<>,M<>,M<>Nf<4E>hj<68>,k<>l<>L<EFBFBD>&<26>s<EFBFBD>B<EFBFBD>J<EFBFBD>J<EFBFBD>|<7C>,D<>B<EFBFBD>s<EFBFBD>G<EFBFBD>T<>L<EFBFBD> <20><EFBFBD><EFBFBD>(<28>1<>1<>H<EFBFBD>(<28>&<26>'<27>,8<>L<EFBFBD>b<EFBFBD>$,<2C><08>"<22>'<27>'<27><<3C>IZ<49>:[<5B>2\<5C> 
2026-02-04 17:08:46 +08:00
<EFBFBD><07> <0C>
<EFBFBD>
<EFBFBD>7<EFBFBD>t<EFBFBD>
2026-04-22 18:28:32 +08:00
<EFBFBD>,<2C> |<01> <0F>H<EFBFBD>H<EFBFBD>T<EFBFBD>X<EFBFBD>X<EFBFBD>Z<EFBFBD>'<27>)<29>L<EFBFBD><12>,<<3C><<3C>|<7C>K<>Ng<4E>g<> h<><1F>s<EFBFBD><13>>U<>V<> V<><56>5!7<><37>6<1F> |<01><1F>s<EFBFBD><13>>p<>>w<>>w<>xy<78>>z<>{<7B> {<7B><> |<01>s%<00> .J <0E>AJ<00>
J<<03>J7<03>1J<<03>7J<z/create/top_filezcreate-performancec
2025-04-29 18:09:00 +08:00
<00><><00>[[US9nURS:XaSOSnURR SS9n[ U5VVs/sH_upVU(aUS-OUS-UR S RURUR/5URURS
2026-04-24 16:45:18 +08:00
.PMa nnnUR UUS .n[S X<>5$s snnf) Nr>rtTFrYr<>rErArQ)rGrh<00>ident_and_versionr<6E>r<>)rvrw<00>dut_listu顶层技术文件.docx) r'rr<>r<>r<>r<>rhrr<>r<>r<>r<>r)) r<>r9rrw<00>dut_qsrG<00>dut_objr~r<>s ra<00>create_top_file<6C>$GenerateControllerDG.create_top_file<6C>s<><00><00>0<><17>R<EFBFBD>@<40> <0B>#<23>/<2F>/<2F>3<EFBFBD>6<><04>E<EFBFBD><05><1C>$<24>$<24>+<2B>+<2B><14>+<2B>6<><06>!*<2A>&<26> 1<> 3<> !2<>n<EFBFBD>e<EFBFBD> #(<28>U<EFBFBD>Q<EFBFBD>Y<EFBFBD>U<EFBFBD>Q<EFBFBD>Y<EFBFBD><1B>L<EFBFBD>L<EFBFBD>!$<24><18><18>7<EFBFBD>;<3B>;<3B><07><0F><0F>*H<>!I<>#<23>0<>0<><1D>+<2B>+<2B> 
2025-04-29 18:09:00 +08:00
<EFBFBD> !2<> <11>3<>(<28>,<2C>,<2C><1A> <20>
<EFBFBD><07>
<1E>7<><17>E<>E<><45>3s<00>
A&Cz/create/static_envzcreate-static_envc<00><><00>[R"5S- [U5- S- S- S- n[U5nUR XS5upEnUU=(a US.nUR USS9 UR [R"5S- [U5- S - S- 5 [S
S
2026-04-24 16:45:18 +08:00
S S 9$![a$n[S S SRU5S 9sSnA$SnAff=f)Nr;r<r=u静态测试环境说明.docxu静态测试环境说明rcTrzr|r}r~rr<>r<>)
rr<>r,rrer<>r<>rr<>r<>) r<>r9rr<>r<>rgrhr<>r<>s ra<00>create_static_env<6E>&GenerateControllerDG.create_static_env<6E>s<><00><00><19>X<EFBFBD>X<EFBFBD>Z<EFBFBD>'<27>)<29>L<EFBFBD><12>,<<3C><<3C><EFBFBD>N<>QU<51>U<>Xw<58>w<>
2025-04-29 18:09:00 +08:00
<EFBFBD><1A>:<3A>&<26><03>(,<2C>(;<3B>(;<3B>B<EFBFBD>E_<45>(`<60>%<25><07>~<7E><1E> <20>3<>^<5E>
<EFBFBD><07> <0C>
<EFBFBD>
<EFBFBD>7<EFBFBD>t<EFBFBD>
<EFBFBD>,<2C> |<01> <0F>H<EFBFBD>H<EFBFBD>T<EFBFBD>X<EFBFBD>X<EFBFBD>Z<EFBFBD>'<27>)<29>L<EFBFBD><12>,<<3C><<3C>|<7C>K<>Nm<4E>m<> n<><1F>s<EFBFBD><13>>U<>V<> V<><56><1E> |<01><1F>s<EFBFBD><13>>p<>>w<>>w<>xy<78>>z<>{<7B> {<7B><> |<01>s<00>-AB1<00>1
2026-04-24 16:45:18 +08:00
C<03>;C<03>C<03>Cz/create/static_softzcreate-static_soft<66> current_roundc<00><00>[USS[U5nUbU$[R"5S- [ U5- S- S- S- n[ U5nUR XS5upgnUU=(a US.n [SX<>5$)Nu静态软件项_2.docxu静态软件项.docxr;r<r=u静态软件项rc)r3rrr<>r,rrer)<00>
r<EFBFBD>r9r<>rfrr<>r<>rgrhr<>s
ra<00>create_static_soft<66>'GenerateControllerDG.create_static_soft<66>s<><00><00>-<2D>b<EFBFBD>2J<32>Lb<4C>dr<64>uB<02>C<02><03> <0E>?<3F><16>J<EFBFBD><19>X<EFBFBD>X<EFBFBD>Z<EFBFBD>'<27>)<29>L<EFBFBD><12>,<<3C><<3C><EFBFBD>N<>QU<51>U<>Xn<58>n<>
2025-04-29 18:09:00 +08:00
<EFBFBD><1A>:<3A>&<26><03>(,<2C>(;<3B>(;<3B>B<EFBFBD>EV<45>(W<>%<25><07>~<7E><1E> <20>3<>^<5E>
2026-04-24 16:45:18 +08:00
<EFBFBD><07><1E>4<>g<EFBFBD>B<>Brdz/create/static_hardzcreate-static_hardc<00><00>[USS[U5nUbU$[R"5S- [ U5- S- S- S- n[ U5nUR XS5upgnUU=(a US.n [SX<>5$)Nu静态硬件和固件项_2.docxu静态硬件和固件项.docxr;r<r=u静态硬件和固件项rc)r3rrr<>r,rrer)r<>s
ra<00>create_static_hard<72>'GenerateControllerDG.create_static_hard<72>s<><00><00>-<2D>b<EFBFBD>2S<32>.M<>.@<40>.;<3B>=<3D><03> <0F>?<3F><16>J<EFBFBD><19>X<EFBFBD>X<EFBFBD>Z<EFBFBD>'<27>)<29>L<EFBFBD><12>,<<3C><<3C><EFBFBD>N<>QU<51>U<>Xw<58>w<>
2025-04-29 18:09:00 +08:00
<EFBFBD><1A>:<3A>&<26><03>(,<2C>(;<3B>(;<3B>B<EFBFBD>E_<45>(`<60>%<25><07>~<7E><1E> <20>3<>^<5E>
2026-04-24 16:45:18 +08:00
<EFBFBD><07><1E>=<3D>w<EFBFBD>K<>Krdz/create/dynamic_envzcreate-dynamic_envc<00>0<00>URUSS[5nUbU$[[US9n[R
2026-02-07 17:26:34 +08:00
"5S- [ U5- S- S- S- n[U5nURXS5upgnURUU=(a US.n URU S S
9 UR[R
"5S- [ U5- S - S- 5 [S S S S9$![a$n
[SSSRU
5S9sSn
A
$Sn
A
2026-04-24 16:45:18 +08:00
ff=f)Nu动态测试环境说明_2.docxu动态测试环境说明.docxr>r;r<r=u动态测试环境说明<E8AFB4>rvr<>rdTrzr|r}r~rr<>r<>)r`rr'rrr<>r,rrerhr<>r<>rr<>r<>) r<>r9rfrrr<>r<>rgrhr<>r<>s ra<00>create_dynamic_env<6E>'GenerateControllerDG.create_dynamic_env s<00><00><12>4<>4<>R<EFBFBD>9Z<39>5T<35>Vo<56>q<01><03> <0E>?<3F><16>J<EFBFBD>0<><17>R<EFBFBD>@<40> <0B><19>X<EFBFBD>X<EFBFBD>Z<EFBFBD>'<27>)<29>L<EFBFBD><12>,<<3C><<3C><EFBFBD>N<>QU<51>U<>Xw<58>w<>
<EFBFBD><1A>:<3A>&<26><03>(,<2C>(;<3B>(;<3B>B<EFBFBD>E_<45>(`<60>%<25><07>~<7E>'<27>,<2C>,<2C><1E> <20>3<>^<5E>
<EFBFBD><07>
<0C>
<EFBFBD>
<EFBFBD>7<EFBFBD>t<EFBFBD>
2026-02-07 17:26:34 +08:00
<EFBFBD>,<2C> |<01> <0F>H<EFBFBD>H<EFBFBD>T<EFBFBD>X<EFBFBD>X<EFBFBD>Z<EFBFBD>'<27>)<29>L<EFBFBD><12>,<<3C><<3C>|<7C>K<>Nm<4E>m<> n<><1F>s<EFBFBD><13>>U<>V<> V<><56><1E> |<01><1F>s<EFBFBD><13>>p<>>w<>>w<>xy<78>>z<>{<7B> {<7B><> |<01>s<00>#AC'<00>'
D<03>1D<03>
2026-04-24 16:45:18 +08:00
D<03>Dz/create/dynamic_softzcreate-dynamic_softc<00>2<00>[USS[U5nUbU$[[US9n[R
"5S- [ U5- S- S- S- n[U5nURXS5upxn URUU=(a U S.n
[SX<>5$) Nu动态软件项_2.docxu动态软件项.docxr>r;r<r=u动态软件项r<E9A1B9>) r3rr'rrr<>r,rrerhr)) r<>r9r<>rfrrr<>r<>rgrhr<>s ra<00>create_dynamic_soft<66>(GenerateControllerDG.create_dynamic_soft#s<><00><00>-<2D>b<EFBFBD>2J<32>Lb<4C>dt<64>wD<02>E<02><03> <0E>?<3F><16>J<EFBFBD>0<><17>R<EFBFBD>@<40> <0B><19>X<EFBFBD>X<EFBFBD>Z<EFBFBD>'<27>)<29>L<EFBFBD><12>,<<3C><<3C><EFBFBD>N<>QU<51>U<>Xn<58>n<>
<EFBFBD><1A>:<3A>&<26><03>(,<2C>(;<3B>(;<3B>B<EFBFBD>EV<45>(W<>%<25><07>~<7E>'<27>,<2C>,<2C><1E> <20>3<>^<5E>
<EFBFBD><07>
2026-04-24 16:45:18 +08:00
<1E>4<>g<EFBFBD>B<>Brdz/create/dynamic_hardzcreate-dynamic_hardc<00><00>[USS[U5nUbU$[R"5S- [ U5- S- S- S- n[ U5nUR XS5upgnUU=(a US.n [SX<>5$)Nu动态硬件和固件项_2.docxu动态硬件和固件项.docxr;r<r=u动态硬件和固件项rc)r3rrr<>r,rrer)r<>s
ra<00>create_dynamic_hard<72>(GenerateControllerDG.create_dynamic_hard5s<><00><00>-<2D>b<EFBFBD>2S<32>.M<>Oc<4F>er<65>t<01><03> <0E>?<3F><16>J<EFBFBD><19>X<EFBFBD>X<EFBFBD>Z<EFBFBD>'<27>)<29>L<EFBFBD><12>,<<3C><<3C><EFBFBD>N<>QU<51>U<>Xw<58>w<>
2026-02-05 18:27:04 +08:00
<EFBFBD><1A>:<3A>&<26><03>(,<2C>(;<3B>(;<3B>B<EFBFBD>E_<45>(`<60>%<25><07>~<7E><1E> <20>3<>^<5E>
2026-04-24 16:45:18 +08:00
<EFBFBD><07><1E>=<3D>w<EFBFBD>K<>Krdz/create/test_datazcreate-test_datac<00><00>[USS[U5nUbU$[R"5S- [ U5- S- S- S- n[ U5nUR XS5upgnUU=(a US.n [SX<>5$)Nu测评数据_2.docxu测评数据.docxr;r<r=u 测评数据rc)r3rrr<>r,rrer)r<>s
ra<00>create_test_data<74>%GenerateControllerDG.create_test_dataFs<><00><00>-<2D>b<EFBFBD>2G<32>.A<><<3C>Q^<5E>`<01><03> <0E>?<3F><16>J<EFBFBD><19>X<EFBFBD>X<EFBFBD>Z<EFBFBD>'<27>)<29>L<EFBFBD><12>,<<3C><<3C><EFBFBD>N<>QU<51>U<>Xk<58>k<>
2025-04-29 18:09:00 +08:00
<EFBFBD><1A>:<3A>&<26><03>(,<2C>(;<3B>(;<3B>B<EFBFBD>^<5E>(T<>%<25><07>~<7E><1E> <20>3<>^<5E>
2026-04-24 16:45:18 +08:00
<EFBFBD><07><1E>1<>7<EFBFBD>?<3F>?rdz/create/env_diffzcreate-env_diffc<00>N<00>[[US9n[R"5S- [ U5- S- S- S- n[ U5n[ RRUS9nUR5(a<>UR5nURn[Xt5nURUURS.n URU SS 9 UR![R"5S- [ U5- S
2026-02-07 17:26:34 +08:00
- S - 5 [#S S S S9$[R"5S- [ U5- S- S- S - n[ U5nUR)XS5up<>n U U =(a U S.n [+S X<>5$![$a$n
[#SSSR'U
5S9sSn
A
$Sn
A
2026-04-24 16:45:18 +08:00
ff=f)Nr>r;r<r=u环境差异性分析_2.docxr\)r<>r<>r.Trzr|u环境差异性分析.docxr}r~rr<>r<>u环境差异性分析rc)r'rrr<>r,rrr<>r<>r7r<>r<>r1r<>r.r<>r<>rr<>r<>rer))r<>r9rrr<>r<><00>obj<62>
table_datarPr<>r<>r<>rgrhs ra<00>create_env_diff<66>$GenerateControllerDG.create_env_diffWs<><00><00>0<><17>R<EFBFBD>@<40> <0B><19>X<EFBFBD>X<EFBFBD>Z<EFBFBD>'<27>)<29>L<EFBFBD><12>,<<3C><<3C><EFBFBD>N<>QU<51>U<>Xv<58>v<>
<EFBFBD><1A>:<3A>&<26><03> <18> <20> <20> '<27> '<27> <0B> '<27> <<3C><02> <0A>9<EFBFBD>9<EFBFBD>;<3B>;<3B><14>(<28>(<28>*<2A>C<EFBFBD><1C><19><19>J<EFBFBD>)<29>*<2A>:<3A>F<EFBFBD>"<22><EFBFBD><EFBFBD><1F><1F>L<EFBFBD>L<EFBFBD><0E>G<EFBFBD>
2026-02-07 17:26:34 +08:00
<10>J<EFBFBD>J<EFBFBD>w<EFBFBD>4<EFBFBD>J<EFBFBD> 0<> @<02><13><08><08><14><18><18><1A>g<EFBFBD>-<2D> <0C>R<EFBFBD>0@<40>@<40><<3C>O<>Rn<52>n<>o<>#<23>3<EFBFBD>S<EFBFBD>BY<42>Z<>Z<>
<1A>X<EFBFBD>X<EFBFBD>Z<EFBFBD>'<27>)<29>L<EFBFBD><12>,<<3C><<3C><EFBFBD>N<>QU<51>U<>Xt<58>t<>
2025-04-29 18:09:00 +08:00
<EFBFBD><1A>:<3A>&<26><03>(,<2C>(;<3B>(;<3B>B<EFBFBD>E\<5C>(]<5D>%<25><07>~<7E><1E> <20>3<>^<5E>
2026-04-24 16:45:18 +08:00
<EFBFBD><07><1E>:<3A>G<EFBFBD>H<>H<><48>#<23> @<02>#<23>3<EFBFBD>S<EFBFBD>Bt<42>B{<7B>B{<7B>|}<7D>B~<7E><><><7F> @<02>s<00> AE6<00>6
F$<03>F<03>F$<03>F$z/create/baseInformationzcreate-baseInformationc<00><><00>[[US9n[URS5n[ SUR
2026-04-20 18:00:55 +08:00
5n/nUH#nUR URS55 M% [ SUR5nUVs/sHo<>SPM n n[ SUR5n
2025-04-29 18:09:00 +08:00
U
2026-04-20 18:00:55 +08:00
Vs/sHo<>SPM n nURRSS9R5n U RRS S
2026-04-24 16:45:18 +08:00
9R5n U (d [S S S S 9$U Rn[!U R"5nUR$nUR&UR(S:XaSOSUSR+U5UU[!U R,5UR.R1S5UUR35SR+U 5SR+U 5S. n[5SUU5$s snfs snf)Nr><00>security_level<65>languager<65><00>runtime<6D>devplantrrB<00>SOr<4F>r<>u0您还未创建轮次,请进入工作区创建)r@r<>r<>rtTFrgz%Y-%m-%d) rvrwr<>r<>r<><00>
line_count<EFBFBD>effective_line<6E> recv_dater<65><00> soft_typer<65>r<>u被测软件基本信息.docx)r'rr!r<>r"r<>r<>r^r<>r<>r<>r<>r<><00>rdFieldrr<>r<><00> total_linesr<73>rhr<>r<00>effective_lines<65> beginTimer<00>get_soft_type_displayr))r<>r9r<><00>security<74> languages<65> language_listr<74><00>runtimesrp<00> runtime_list<73> devplants<74> devplant_list<73> project_round<6E>first_round_SOr<4F>r<>r<>r<>s ra<00>create_information<6F>'GenerateControllerDG.create_informationxs<><00><00>&<26>w<EFBFBD>2<EFBFBD>6<>
2025-04-29 18:09:00 +08:00
<EFBFBD><1F>
2026-04-20 18:00:55 +08:00
<EFBFBD> 9<> 9<>;K<>L<><08>!<21>*<2A>j<EFBFBD>.A<>.A<>B<> <09><1A> <0A>!<21>H<EFBFBD> <19> <20> <20><18><1C><1C>o<EFBFBD>!><3E> ?<3F>"<22> <20><19>J<EFBFBD>,><3E>,><3E>?<3F><08>:B<>C<>(<28>$<24>_<EFBFBD>-<2D>(<28> <0C>C<>!<21>*<2A>j<EFBFBD>.A<>.A<>B<> <09>;D<>E<>9<EFBFBD>4<EFBFBD>o<EFBFBD>.<2E>9<EFBFBD> <0A>E<>"<22>)<29>)<29>0<>0<>Q<EFBFBD>0<>7<>=<3D>=<3D>?<3F> <0A>&<26>.<2E>.<2E>5<>5<>4<EFBFBD>5<>@<40>F<>F<>H<><0E><1D><1F>S<EFBFBD><13>>p<>q<> q<> <20>(<28>(<28><07><18><1E>3<>3<>4<>
<EFBFBD><1D>&<26>&<26><08>'<27>O<EFBFBD>O<EFBFBD>'<27>3<>3<>s<EFBFBD>:<3A>T<EFBFBD><05>&<26><1C> <09> <09>-<2D>0<><1E>$<24>!<21>.<2E>"@<40>"@<40>A<>#<23>-<2D>-<2D>6<>6<>z<EFBFBD>B<> <20>#<23>9<>9<>;<3B><1B>y<EFBFBD>y<EFBFBD><1C>.<2E><1C> <09> <09>-<2D>0<> 
<EFBFBD><07><1E>=<3D>w<EFBFBD><02>K<>K<><4B>5D<01><>Es <00>G&<04>*G+z/create/levelAndTypezcreate-levelAndTypec<00>j<00>[R"5S- [U5- S- S- S- n[U5nUR XS5upEnU(aUU=(a US.nO<>[ [ US9nURRS5R5n [[S U 55n
2025-04-29 18:09:00 +08:00
/S
Qn /n [U 5H/up<>U
H$nX<>:XdM
U R[U 55 M& M1 [UR S 5S R#U
2026-04-24 16:45:18 +08:00
5UR$U S .n['SXq5$)Nr;r<r=u 测试级别和测试类型.docxu测试级别和测试类型rcr>r?c<00> <00>[USS5$<00>Nr?<00>r!<00><01>qs_items rarb<00>:GenerateControllerDG.create_levelAndType.<locals>.<lambda><3E><00><00><00>L<EFBFBD><17><1A>1D<31>j<EFBFBD>$Qrd)<0F> 文档审查<E5AEA1> 静态分析<E58886> 代码审查u 逻辑测试u 功能测试u 性能测试u 边界测试u恢复性测试u安装性测试u数据处理测试u 余量测试u 强度测试u 接口测试u人机交互界面测试u兼容性测试r<E8AF95>r )r<><00> testTypesrvr<>)rr<>r,rrer'rr<00>values<65>distinct<63>list<73>mapr<70>r<>r<>r!r<>rrhr))r<>r9rr<>r<>rgrhr<>r<><00>
2025-04-29 18:09:00 +08:00
test_types<EFBFBD>type_name_list<73>
2026-04-24 16:45:18 +08:00
word_typesr<EFBFBD>rG<00> test_type<70>
exist_types ra<00>create_levelAndType<70>(GenerateControllerDG.create_levelAndType<70>s+<00><00><19>X<EFBFBD>X<EFBFBD>Z<EFBFBD>'<27>)<29>L<EFBFBD><12>,<<3C><<3C><EFBFBD>N<>QU<51>U<>Xz<58>z<>
<EFBFBD><1A>:<3A>&<26><03>(,<2C>(;<3B>(;<3B>B<EFBFBD>Eb<45>(c<>%<25><07>~<7E> <12>"<22> $<24> 7<><1E><0E>G<EFBFBD> +<2B>7<EFBFBD>r<EFBFBD>:<3A>J<EFBFBD>#<23>+<2B>+<2B>2<>2<>:<3A>><3E>G<>G<>I<>J<EFBFBD>!<21><13>Q<>S]<5D>^<5E>`<01>N<EFBFBD>I<01>J<EFBFBD><1C>J<EFBFBD>$-<2D>j<EFBFBD>$9<> <20><05>"0<>J<EFBFBD>!<21>.<2E>"<22>)<29>)<29>#<23>e<EFBFBD>*<2A>5<>#1<>%:<3A>
2026-04-24 16:45:18 +08:00
#/<2F>z<EFBFBD>/H<>/H<>JZ<4A>"[<5B>"<22>Z<EFBFBD>Z<EFBFBD><0E>7<> *<2A><0F><0F>(<28> <0E>G<EFBFBD> <1E>@<40>'<27>N<>Nrdz/create/strategyzcreate-strategyc<00><><00>[R"5S- [U5- S- S- S- n[U5nUR XS5upEnU(aUU=(a US.nGO [ [ US9nURn [U 5S::aS OS
2025-04-29 18:09:00 +08:00
n
URRS S 9R5n U RR5n 0n U HBnU R[UR S 5/5R#UR$5 MD U R'S 5R)5n[+[-SU55nUR$[/U S5U
2026-04-24 16:45:18 +08:00
UU S.n[1SXq5$)Nr;r<r=u测试策略.docxu 测试策略rcr>rETFrrBr?c<00> <00>[USS5$r<>r<>r<>s rarb<00>6GenerateControllerDG.create_strategy.<locals>.<lambda><3E>r<>rdr<>)rv<00>security_level_str<74>isDmscr<63><00> grouped_data)rr<>r,rrer'rr<>r<>r<>r<>r<>r<>r<><00>
setdefaultr!r?r<>rhr<>r<>r<>r<>r%r))r<>r9rr<>r<>rgrhr<>r<>r<>r<>r<>r<>r<>rpr<>r<>s ra<00>create_strategy<67>$GenerateControllerDG.create_strategy<67>sh<00><00><19>X<EFBFBD>X<EFBFBD>Z<EFBFBD>'<27>)<29>L<EFBFBD><12>,<<3C><<3C><EFBFBD>N<>QU<51>U<>Xk<58>k<>
<EFBFBD><1A>:<3A>&<26><03>(,<2C>(;<3B>(;<3B>B<EFBFBD>^<5E>(T<>%<25><07>~<7E> <12>"<22> $<24> 7<><1E><0E>G<EFBFBD> +<2B>7<EFBFBD>r<EFBFBD>:<3A>J<EFBFBD>!<21>0<>0<>H<EFBFBD> <20><18>]<5D>a<EFBFBD>/<2F>T<EFBFBD>U<EFBFBD>F<EFBFBD> *<2A> 1<> 1<> 8<> 8<>Q<EFBFBD> 8<> ?<3F> E<> E<> G<> <1D>-<2D>5<>5<>9<>9<>;<3B>M<EFBFBD><1D>L<EFBFBD>%<25><04><1C>'<27>'<27> <0C>T<EFBFBD>]<5D>]<5D>J<EFBFBD>(O<>QS<51>T<>[<5B>[<5B>\`<60>\e<>\e<>f<>&<26>'<27>-<2D>-<2D>j<EFBFBD>9<>B<>B<>D<>J<EFBFBD>!<21><13>Q<>S]<5D>^<5E>`<01>N<EFBFBD>!+<2B><0F><0F>&2<>8<EFBFBD>=M<>&N<> <20>,<2C> ,<2C> <0E>G<EFBFBD><1E>1<>7<EFBFBD>?<3F>?rdz/create/adequacy_effectivenesszcreate-adequacy_effectivenessc<00>F<00>[[US9nURRSS9R 5nU(d [ SSSS9$0nUR R5nUHCn[SUR/5SRS5nXt;aS XG'M7XG==S - ss'ME [U5n/n UR5Hup<>U RU
2025-04-29 18:09:00 +08:00
U S
2026-04-24 16:45:18 +08:00
35 M URUR5US R!U 5S .n [#S X<>5$)Nr>rrBr<>u未找到首轮测试信息!rr?r<>rAu项r )rv<00>test_item_count<6E>length<74>type_stru8测试内容充分性及测试方法有效性分析.docx)r'rr<>r<>r<>rr<>r<>r"r?r^r9<00>itemsr<73>rhr<>rr)) r<>r9r<>r<><00> type_dict<63> testDemands<64>
testDemandr<EFBFBD>r<><00> type_str_listrC<00>valuer<65>s ra<00>create_adequacy_effectiveness<73>2GenerateControllerDG.create_adequacy_effectiveness<73>s!<00><00>&<26>w<EFBFBD>2<EFBFBD>6<>
<EFBFBD>&<26>-<2D>-<2D>4<>4<><11>4<>;<3B>A<>A<>C<><19> <20><1F>s<EFBFBD><13>>\<5C>]<5D> ]<5D><16> <09>'<27>/<2F>/<2F>3<>3<>5<> <0B>%<25>J<EFBFBD>%<25>j<EFBFBD>:<3A>3F<33>3F<33>2G<32>H<><11>K<>O<>O<>P_<50>`<60>I<EFBFBD><1C>)<29>'(<28> <09>$<24><19>$<24><01>)<29>$<24>&<26><15>Y<EFBFBD><1E><06><1A> <0A>#<23>/<2F>/<2F>+<2B>J<EFBFBD>C<EFBFBD> <19> <20> <20>C<EFBFBD>5<EFBFBD><15><07>s<EFBFBD>!3<> 4<>,<2C>'<27>O<EFBFBD>O<EFBFBD>*<2A>0<>0<>2<><1C><1D>
2025-04-29 18:09:00 +08:00
<EFBFBD>
<EFBFBD>=<3D>1<> 
2026-04-24 16:45:18 +08:00
<EFBFBD><07> <1E>X<>Za<5A>f<>frdz /create/group<75> create_groupc<00><><00>[[US9nURSRUR5UR
UR URURS.n[SX15$)Nr>r )<06> duty_person<6F>
member_str<EFBFBD>quality_person<6F> vise_person<6F> config_personr<6E>u 测评组织及任务分工.docx)
r'rr<>r<00>memberr<72>r<>r<>r<>r)<00>r<>r9r<>r<>s rar<><00>!GenerateControllerDG.create_groupsd<00><00>&<26>w<EFBFBD>2<EFBFBD>6<>
2025-04-29 18:09:00 +08:00
<EFBFBD>%<25>1<>1<><1F>*<2A>*<2A>Z<EFBFBD>%6<>%6<>7<>(<28>7<>7<>%<25>1<>1<>'<27>5<>5<>"<22>+<2B>+<2B> 
2026-04-24 16:45:18 +08:00
<EFBFBD><07><1E>@<40>'<27>N<>Nrdz/create/guaranteezcreate-guaranteec<00>><00>[[US9nSU0n[SX15$)Nr>r]u测评条件保障.docx)r'rr)r<>s ra<00>create_guarantee<65>%GenerateControllerDG.create_guarantees*<00><00>&<26>w<EFBFBD>2<EFBFBD>6<>
2025-04-29 18:09:00 +08:00
<EFBFBD> <15>z<EFBFBD>
2026-04-24 16:45:18 +08:00
<EFBFBD><07><1E>7<><17>E<>Erdz/create/abbreviationzcreate-abbreviationc<00><><00>[[US9n/nURHLnU[RR US9R 5RS.nURU5 MN SU0n[SXa5$)Nr>)r<>)r<><00>des<65> abbreviationsu缩略语.docx)
r'r<00> abbreviationrr<>r<>r<>r<>r<>r))r<>r9r<>r<><00>abbr<62> abbr_dictr<74>s ra<00>create_abbreviation<6F>(GenerateControllerDG.create_abbreviations}<00><00>&<26>w<EFBFBD>2<EFBFBD>6<>
2025-04-29 18:09:00 +08:00
<EFBFBD><1A> <0A><1E>+<2B>+<2B>D<EFBFBD>"&<26>|<7C>/C<>/C<>/J<>/J<>QU<51>/J<>/V<>/\<5C>/\<5C>/^<5E>/b<>/b<>c<>I<EFBFBD> <19> <20> <20><19> +<2B>,<2C> <1C>]<5D>
2026-04-24 16:45:18 +08:00
<EFBFBD><07><1E>.<2E><07><<3C><rdz/create/yzComparisonzcreate-yzComparisonc
2026-01-28 16:50:40 +08:00
<00>.<00>Sn[[US9n/nURRSS9R 5n[ U5upgUR RSS9R 5nU(Ga^URR5n U GH=n
2025-04-29 18:09:00 +08:00
U
RU
R/S.n U
RR5n U RU
2026-01-28 16:50:40 +08:00
RR55n U H<>n SRS [U R S
2026-04-24 16:45:18 +08:00
5U R"/5nX}R R%U R&5S -nS RU[)UR%U R 5S -5[)U5/5nU RUUS .nU SR+U5 M<> UR+U 5 GM@ [-U[.S9nSU0n[5SUU5$![0an[3SU5 SnAN,SnAff=f)u\目前追踪需求项的章节号是硬编码按6.2章节起步6.2.1~x.x.x依次排序<E68E92>6.2r>rrBrYr<><00>rhr<><00> test_demandr<64>rZr?rA<00>.<2E>rhr<>rir<>u-研总的追踪排序报错错误原因N<EFBC9A> design_listu研制总要求追踪表.docx)r'rr<>r<>r<>r&r<><00>rsFieldr<64>rhr<>r<00>union<6F>odFieldrr#r?rirGrCr<>r<>r<><00> chapter_key<65> Exception<6F>printr))r<>r9<00>test_item_prefixr<78>rr<><00> testType_list<73>last_chapter_items<6D>yz_dut<75>
yz_designsrD<00> design_dict<63>
test_items<EFBFBD> test_item<65> reveal_ident<6E>test_item_last_chapter<65> test_chapter<65>test_item_dictr<74>r<>s ra<00>create_yzComparison<6F>(GenerateControllerDG.create_yzComparison+s<><00><00>!<21><18>'<27>w<EFBFBD>2<EFBFBD>6<>
<EFBFBD><18> <0B>&<26>-<2D>-<2D>4<>4<><11>4<>;<3B>A<>A<>C<><19>,C<>DU<44>,V<>)<29> <0A>"<22>*<2A>*<2A>1<>1<>t<EFBFBD>1<><<3C>B<>B<>D<><06> <11><1F><1E><1E>+<2B>+<2B>-<2D>J<EFBFBD>$<24><06>'-<2D>{<7B>{<7B>v<EFBFBD>~<7E>~<7E>^`<60>a<> <0B>#<23>^<5E>^<5E>/<2F>/<2F>1<>
<EFBFBD>'<27>-<2D>-<2D>f<EFBFBD>n<EFBFBD>n<EFBFBD>.@<40>.@<40>.B<>C<>
2026-01-28 16:50:40 +08:00
<EFBFBD>!+<2B>I<EFBFBD>#&<26>8<EFBFBD>8<EFBFBD><1D>|<7C>I<EFBFBD>,><3E>,><3E>
<EFBFBD>K<>Y<EFBFBD>_<EFBFBD>_<EFBFBD>]<5D>$_<01>L<EFBFBD>.@<01>@R<>@R<>-S<>-Y<>-Y<>!<21> <0A> <0A>.'<27>)*<2A>.+<2B>*<2A>#&<26>8<EFBFBD>8<EFBFBD>)<29>3<EFBFBD>}<7D>/B<>/B<>9<EFBFBD>CU<43>CU<43>/V<>YZ<59>/Z<>+[<5B><1C>3<>4<>6<>$7<>L<EFBFBD>/8<>n<EFBFBD>n<EFBFBD><1C>/;<3B>&=<3D>N<EFBFBD><1F> <0A>.<2E>5<>5<>n<EFBFBD>E<>",<2C><1C>"<22>"<22>;<3B>/<2F>%%<25>& F<01> <20><1B>+<2B>><3E>K<EFBFBD> <1A>;<3B>
<EFBFBD><07><1E>=<3D>w<EFBFBD><02>K<>K<><4B> <19> F<01> <11>A<>1<EFBFBD> E<> E<><45> F<01>s<00>G4<00>4
H<03>> H<03>Hz/create/xqComparisonzcreate-xqComparisonc
<00><><00>[[US9nSn/nURRSS9R 5nU(Gag[ U5upgUR RSS9R 5nUR RSS9R 5n U (GamU RR5n
2025-04-29 18:09:00 +08:00
U
GHLn SS/S .n /n U RU RR55 U RU RR55 U H<>nURS
2026-04-24 16:45:18 +08:00
;dMS RS[URS 5UR/5nX~RR!UR"5S -nSRU[%UR!UR5S -5[%U5/5nUR&UUS.nU SR)U5 M<> UR)U 5 GMO U(GaoURR5nUGHNn U R&U R*/S .n /n U RU RR55 U RU RR55 U H<>nS RS[URS 5UR/5nX~RR!UR"5S -nSRU[%UR!UR5S -5[%U5/5nUR&UUS.nU SR)U5 M<> UR)U 5 GMQ [-U[.S9nSU0n[5SUU5$[7SS5e![0an[3SU5 SnAN8SnAff=f)Nr>r<>rrBrZr<>r<><00>/r<><00><04>8<>15<31>3<>2r<32>r?rAr<>rr<>u$追踪排序报错错误原因ru 需求规格说明追踪表.docxr<78>u生成需求追踪表出错)r'rr<>r<>r<>r&r<>rr<><00>extendrrr?rr#rirGrCr<>rhr<>r<>r<>rrrr)r )r<>r9r<>rrr<>r r
<00>xq_dut<75>so_dut<75>
so_designsrDr rrrrrr<00>
xq_designsr<EFBFBD>r<>s ra<00>create_xqComparison<6F>(GenerateControllerDG.create_xqComparisonZs<><00><00>&<26>w<EFBFBD>2<EFBFBD>6<>
2025-04-29 18:09:00 +08:00
<EFBFBD> <20><18><18> <0B>&<26>-<2D>-<2D>4<>4<><11>4<>;<3B>A<>A<>C<><19> <1C>0G<30>HY<48>0Z<30> -<2D>M<EFBFBD>&<26>.<2E>.<2E>5<>5<>4<EFBFBD>5<>@<40>F<>F<>H<>F<EFBFBD>&<26>.<2E>.<2E>5<>5<>4<EFBFBD>5<>@<40>F<>F<>H<>F<EFBFBD><15>#<23>^<5E>^<5E>/<2F>/<2F>1<>
<EFBFBD>(<28>F<EFBFBD>+.<2E>3<EFBFBD>r<EFBFBD>"R<>K<EFBFBD>!#<23>J<EFBFBD><1E>%<25>%<25>f<EFBFBD>n<EFBFBD>n<EFBFBD>&8<>&8<>&:<3A>;<3B><1E>%<25>%<25>f<EFBFBD>n<EFBFBD>n<EFBFBD>&8<>&8<>&:<3A>;<3B>%/<2F> <09>$<24>-<2D>-<2D>1F<31>F<>+.<2E>8<EFBFBD>8<EFBFBD>!%<25>|<7C>I<EFBFBD>4F<34>4F<34>
<EFBFBD>'S<>U^<5E>Ud<55>Ud<55> e<>,g<01>L<EFBFBD>6H<01>HZ<48>HZ<48>5[<5B>5a<35>5a<35> )<29> <0A> <0A>6/<2F>12<31>63<36>2<>+.<2E>8<EFBFBD>8<EFBFBD>!1<>3<EFBFBD>}<7D>7J<37>7J<37>9<EFBFBD>K]<5D>K]<5D>7^<5E>ab<61>7b<37>3c<33>!$<24>%;<3B>!<<3C>!><3E>,?<3F>L<EFBFBD>7@<01>n<EFBFBD>n<EFBFBD>Q]<5D>7C<37>.E<01>N<EFBFBD>'<27> <0A>6<>=<3D>=<3D>n<EFBFBD>M<>&0<> <20>&<26>&<26>{<7B>3<>+)<29>.<16>#<23>^<5E>^<5E>/<2F>/<2F>1<>
<EFBFBD>(<28>F<EFBFBD>+1<>;<3B>;<3B>6<EFBFBD>><3E>><3E>bd<62>"e<>K<EFBFBD>!#<23>J<EFBFBD><1E>%<25>%<25>f<EFBFBD>n<EFBFBD>n<EFBFBD>&8<>&8<>&:<3A>;<3B><1E>%<25>%<25>f<EFBFBD>n<EFBFBD>n<EFBFBD>&8<>&8<>&:<3A>;<3B>%/<2F> <09>'*<2A>x<EFBFBD>x<EFBFBD>!<21><<3C> <09>0B<30>0B<30>J<EFBFBD>#O<>QZ<51>Q`<60>Q`<60>a<>(c<01> <0C>2D<01>DV<44>DV<44>1W<31>1]<5D>1]<5D>%<25>M<EFBFBD>M<EFBFBD>2+<2B>-.<2E>2/<2F>.<2E>'*<2A>x<EFBFBD>x<EFBFBD>-<2D>s<EFBFBD>=<3D>3F<33>3F<33>y<EFBFBD>GY<47>GY<47>3Z<33>]^<5E>3^<5E>/_<> <20>!7<>8<>:<3A>(;<3B> <0C>3<<3C>.<2E>.<2E>\<5C>3?<3F>*A<01><0E>#<23>M<EFBFBD>2<>9<>9<>.<2E>I<>&0<> <20>&<26>&<26>{<7B>3<>))<29>, A<01>$<24>[<5B>k<EFBFBD>B<> <0B><1E>{<7B><0E>G<EFBFBD>"<22>"D<>g<EFBFBD>r<EFBFBD>R<> R<><17><03>:<3A>;<3B>;<3B><> <1D> A<01><15><<3C>a<EFBFBD>@<40>@<40><> A<01>s<00>
N5<00>5
O<03>? O<03>Oz/create/fanXqComparisonzcreate-fanXqComparisonc <00><><00>[[US9nSnURRSS9R 5n[ U5upV/nUR URR55 /nUGHtn U RRS:Xd.U RRS:XdM:U RS;dMLSRS[U RS 5U R/5n
2025-04-29 18:09:00 +08:00
XiRRU R 5S
-n S RU[#URU R5S
2026-04-24 16:45:18 +08:00
-5[#U 5/5n U RS;a.U RRS:XaU R$X<>S S S .S.n O;U R$X<>U R&R$U R&R(S .S.n UR+U 5 GMw SU0n[-SX<>5$)Nr>r<>rrBrZr<>rr<>r?rAr<>r)rhr<>)rhr<>rirD<00>
items_listu 反向需求规格追踪表.docx)r'rr<>r<>r<>r&rr<>r<>r<>ror?rr#rirGrCr<>rhrDr<>r<>r))r<>r9r<>rr<>r r
rr%rrrrrr<>s ra<00>create_fanXqComparison<6F>+GenerateControllerDG.create_fanXqComparison<6F>s<><00><00>&<26>w<EFBFBD>2<EFBFBD>6<>
2025-04-29 18:09:00 +08:00
<EFBFBD> <20><18>&<26>-<2D>-<2D>4<>4<><11>4<>;<3B>A<>A<>C<><19>,C<>DU<44>,V<>)<29> <0A><17>
<EFBFBD><12><19><19>+<2B>3<>3<>7<>7<>9<>:<3A><17>
<EFBFBD>#<23>I<EFBFBD><18>}<7D>}<7D>!<21>!<21>T<EFBFBD>)<29><1D>M<EFBFBD>M<EFBFBD>&<26>&<26>$<24>.<2E>9<EFBFBD>3E<33>3E<33>JO<01>4O<01>"<22>x<EFBFBD>x<EFBFBD><19><<3C> <09>(:<3A>(:<3A>J<EFBFBD>G<><19><1F><1F>Y<> [<01> <0C>*<<3C><N<><N<>)O<>)U<>)U<>V_<56>Vc<56>Vc<56>)d<>gh<67>)h<>&<26>"<22>x<EFBFBD>x<EFBFBD>)9<>3<EFBFBD>}<7D>?R<>?R<>S\<5C>Se<53>Se<53>?f<>ij<69>?j<>;k<>),<2C>-C<>)D<>)F<01> G<01> <0C><1D>%<25>%<25>)><3E>><3E>9<EFBFBD>=<3D>=<3D>CU<43>CU<43>Y]<5D>C]<5D>.7<EFBFBD>n<EFBFBD>n<EFBFBD><1C>25<32>#<23>1(<28>&)<29>N<EFBFBD>
/8<>n<EFBFBD>n<EFBFBD><1C>2;<3B>2B<32>2B<32>2G<32>2G<32>T]<5D>Td<54>Td<54>Tl<54>Tl<54>1(<28>&)<29>N<EFBFBD><1B>!<21>!<21>.<2E>1<>-$<24>0 <19>*<2A>
2026-04-24 16:45:18 +08:00
<EFBFBD><07><1E>@<40>'<27>N<>Nrdz/create/codeQualityzcreate-codeQualityc<00><><00>[[US9nURRSS9R 5n0nUR SUR 05 U(Ga_URRSS9R 5nU(Ga&UR SUR05 UR S[UR505 UR S [UR505 UR S
2025-04-29 18:09:00 +08:00
[UR505 [UR5[UR5- nUR US -S S 3US:<3A>aSOSS.5 [US5(Ga6UR URRURR URR"URR"S::aSOSURR$URR$S::aSOSURR&URR&S::aSOSURR(URR(S::aSOSURR*URR*S::aSOSS. 5 O
2026-04-24 16:45:18 +08:00
[-SSS9$[/SXA5$)Nr>rrBrvr<>r<>r<><00>size<7A>total_code_line<6E> comment_line<6E>dz.2f<EFBFBD>%g<><67><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>?u满足u 不满足)<02> comment_ratio<69>comment_ratio_right<68>metricsr}<00><00>
2025-04-29 18:09:00 +08:00
<00>P) <0C>
2026-04-24 16:45:18 +08:00
black_line<EFBFBD>function_count<6E>avg_function_lines<65>avg_function_lines_right<68> avg_fan_out<75>avg_fan_out_right<68>avg_cyclomatic<69>avg_cyclomatic_right<68>max_cyclomatic<69>max_cyclomatic_right<68>high_cyclomatic_ratio<69>high_cyclomatic_ratio_rightu未找到源代码被测件r<E4BBB6>)r<>r@u 代码质量度量分析表.docx)r'rr<>r<>r<><00>updaterhr<>r<>r<>r<>r<><00> comment_lines<65>hasattrr0<00> total_blanksr5r6r8r:r<r>rr))r<>r9r<>r<>r<><00>
source_dutr.s ra<00>create_codeQuality<74>'GenerateControllerDG.create_codeQuality<74>s^<00><00>&<26>w<EFBFBD>2<EFBFBD>6<>
2025-04-29 18:09:00 +08:00
<EFBFBD>&<26>-<2D>-<2D>4<>4<><11>4<>;<3B>A<>A<>C<><19><14><07><0F><0E><0E><0E>
<EFBFBD><0F><0F>8<>9<> <1C>/<2F>7<>7<>><3E>><3E>D<EFBFBD>><3E>I<>O<>O<>Q<>J<EFBFBD><19><17><0E><0E> <09>:<3A>+=<3D>+=<3D>><3E>?<3F><17><0E><0E><06><03>J<EFBFBD>,B<>,B<>(C<>D<>E<><17><0E><0E> 1<>3<EFBFBD>z<EFBFBD>7Q<37>7Q<37>3R<33>S<>T<><17><0E><0E><0E><03>J<EFBFBD>4L<34>4L<34>0M<30>N<>O<> #<23>J<EFBFBD>$<<3C>$<<3C> =<3D><03>J<EFBFBD>DZ<44>DZ<44>@[<5B> [<5B> <0A><17><0E><0E>(5<><03>(;<3B>C<EFBFBD>'@<40><01>%B<>7D<37><03>7K<37>8<EFBFBD>Q\<5C> <12><13>
2026-04-24 16:45:18 +08:00
<1B>:<3A>y<EFBFBD>1<>1<><1B>N<EFBFBD>N<EFBFBD>&0<>&8<>&8<>&E<>&E<>*4<>*<<3C>*<<3C>*K<>*K<>.8<EFBFBD>.@<40>.@<40>.S<>.S<>@J<>@R<>@R<>@e<>@e<>il<69>@l<>H<EFBFBD>r}<7D>'1<>'9<>'9<>'E<>'E<>9C<39>9K<39>9K<39>9W<39>9W<39>[\<5C>9\<5C>X<EFBFBD>bm<62>*4<>*<<3C>*<<3C>*K<>*K<><F<><N<><N<><]<5D><]<5D>ac<61><c<><08>it<69>*4<>*<<3C>*<<3C>*K<>*K<><F<><N<><N<><]<5D><]<5D>ac<61><c<><08>it<69>1;<3B>1C<31>1C<31>1Y<31>1Y<31>CM<43>CU<43>CU<43>Ck<43>Ck<43>or<6F>Cr<43>x<EFBFBD>yD<02> $<16> <17><>$<24>,I<>PS<50>T<>T<><1D>@<40>'<27>N<>Nrdrs)rF)2<>__name__<5F>
__module__<EFBFBD> __qualname__<5F>__firstlineno__r-r<>r r^r <00>atomicr<63>r<>r<>r<>r<>r<><00>dictr<74>r<>r<>r+<00> classmethodrrVrr`rirzr<>r<>r2r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>rr"r&rE<00>__static_attributes__rsrdrar6r6&s<><00><00> <1B>N<EFBFBD> +<2B>F<EFBFBD>
<EFBFBD>Y<EFBFBD>Y<EFBFBD>#<23>.A<>B<><10><17><17>t|<01>C<EFBFBD>t|<01><18>C<01>t|<01>l <0B>Y<EFBFBD>Y<EFBFBD>~<7E> <0A>6<><10><17><17>F<01>c<EFBFBD>F<01><18>7<>F<01> <0B>Y<EFBFBD>Y<EFBFBD>!<21>,=<3D>><3E><10><17><17>F<01>#<23>F<01><18>?<3F>F<01>( <0B>Y<EFBFBD>Y<EFBFBD> <20>+;<3B><<3C><10><17><17>F<01><13>F<01><18>=<3D>F<01>* <0B>Y<EFBFBD>Y<EFBFBD>$<24>/C<>D<><10><17><17>I<01>S<EFBFBD>I<01><18>E<01>I<01><17>d<EFBFBD><17>d<EFBFBD>3<EFBFBD>i<EFBFBD><17> <0B>Y<EFBFBD>Y<EFBFBD>#<23>.A<>B<><10><17><17>A|<01>C<EFBFBD>A|<01><18>C<01>A|<01>H<11>,<14><<3C>,<14><11>,<14>^<11><14>3<EFBFBD><14>#<23><14>SV<53><14>bn<62>qu<71>bu<62><14><11><14>" <0B>Y<EFBFBD>Y<EFBFBD>(<28>3K<33>L<><10><17><17>|<01><13>|<01><18>M<01>|<01>* <0B>Y<EFBFBD>Y<EFBFBD>"<22>-?<3F>@<40>3|<01>3<EFBFBD>3|<01>A<01>3|<01>l <0B>Y<EFBFBD>Y<EFBFBD>!<21>,@<40>A<>F<01>#<23>F<01>B<01>F<01>& <0B>Y<EFBFBD>Y<EFBFBD>#<23>.A<>B<> |<01>C<EFBFBD> |<01>C<01> |<01>  <0B>Y<EFBFBD>Y<EFBFBD>$<24>/C<>D<> C<01>S<EFBFBD> C<01><19> C<01>E<01> C<01> <0B>Y<EFBFBD>Y<EFBFBD>$<24>/C<>D<>L<01>S<EFBFBD>L<01><19>L<01>E<01>L<01>$ <0B>Y<EFBFBD>Y<EFBFBD>$<24>/C<>D<>|<01>S<EFBFBD>|<01>E<01>|<01>. <0B>Y<EFBFBD>Y<EFBFBD>%<25>0E<30>F<>C<01>c<EFBFBD>C<01>)<29>C<01>G<01>C<01>" <0B>Y<EFBFBD>Y<EFBFBD>%<25>0E<30>F<> L<01>c<EFBFBD> L<01>)<29> L<01>G<01> L<01>  <0B>Y<EFBFBD>Y<EFBFBD>"<22>-?<3F>@<40> @<01>3<EFBFBD> @<01>y<EFBFBD> @<01>A<01> @<01>  <0B>Y<EFBFBD>Y<EFBFBD>!<21>,=<3D>><3E>I<01>#<23>I<01>?<3F>I<01>@ <0B>Y<EFBFBD>Y<EFBFBD>(<28>3K<33>L<>"L<01>S<EFBFBD>"L<01>M<01>"L<01>J <0B>Y<EFBFBD>Y<EFBFBD>%<25>0E<30>F<> O<01>c<EFBFBD> O<01>G<01> O<01>F <0B>Y<EFBFBD>Y<EFBFBD>!<21>,=<3D>><3E>"@<01>#<23>"@<01>?<3F>"@<01>J <0B>Y<EFBFBD>Y<EFBFBD>/<2F>:Y<>Z<>g<01><03>g<01>[<01>g<01>< <0B>Y<EFBFBD>Y<EFBFBD><EFBFBD><1E>8<>
2025-04-29 18:09:00 +08:00
O<01>s<EFBFBD>
O<01>9<>
2026-04-24 16:45:18 +08:00
O<01> <0B>Y<EFBFBD>Y<EFBFBD>"<22>-?<3F>@<40>F<01>3<EFBFBD>F<01>A<01>F<01> <0B>Y<EFBFBD>Y<EFBFBD>%<25>0E<30>F<> =<3D>c<EFBFBD> =<3D>G<01> =<3D> <0B>Y<EFBFBD>Y<EFBFBD>%<25>0E<30>F<>+L<01>c<EFBFBD>+L<01>G<01>+L<01>\ <0B>Y<EFBFBD>Y<EFBFBD>%<25>0E<30>F<>D<<3C>c<EFBFBD>D<<3C>G<01>D<<3C>N <0B>Y<EFBFBD>Y<EFBFBD>(<28>3K<33>L<>%O<01><13>%O<01>M<01>%O<01>P <0B>Y<EFBFBD>Y<EFBFBD>$<24>/C<>D<>#O<01>S<EFBFBD>#O<01>E<01>#Ordr6c<00><><00>/SQnSUS;a.USRS5Vs/sHn[U5PM sn$USSSS;a/SQ$U$s snf) N)<04><>rPrPrPr<>r<>r<>rrh)r<>r<>r<>u 代码走查)rrrr)<02>splitr<74>)rp<00>big_num<75>parts rarr<00>sf<00><00>&<26>G<EFBFBD>
<EFBFBD>d<EFBFBD>9<EFBFBD>o<EFBFBD><1D>&*<2A>9<EFBFBD>o<EFBFBD>&;<3B>&;<3B>C<EFBFBD>&@<40>A<>&@<40>d<EFBFBD><03>D<EFBFBD> <09>&@<40>A<>A<> <0B>M<EFBFBD><1A>1<EFBFBD><1D>f<EFBFBD>%<25>)i<>i<><1B><1B> <12>N<EFBFBD><4E>Bs<00>A)OrGrI<00>typingrr<00> docx.sharedr<00>docx.enum.textr<00>docx.enum.tabler<00> docx.oxml.nsr<00> ninja.errorsr <00> ninja_extrar
2026-04-22 18:28:32 +08:00
r r <00> django.dbr <00>django.db.modelsr<00>docxtplrr<00>pathlibr<00>utils.chen_responser<00>apps.project.modelsrrrrrrrrrrrrr<00>apps.dict.modelsr <00>
2026-04-24 16:45:18 +08:00
utils.utilr!r"r#r$r%<00>utils.chapter_tools.csx_chapterr&<00>django.shortcutsr'<00>django.forms.modelsr(<00>#apps.createDocument.extensions.utilr)<00>.apps.createDocument.extensions.parse_rich_textr*<00>+apps.createDocument.extensions.documentTimer+<00>utils.path_utilsr,<00>+apps.createSeiTaiDocument.extensions.loggerr-<00>%apps.createDocument.extensions.mixinsr.<00>$apps.createDocument.extensions.toolsr/r0<00>,apps.createDocument.extensions.table_creatorr1r2r3r6rrsrdra<00><module>rns<><00><01> <0A> <09><16><1D><1A>-<2D>-<2D><1B>"<22>=<3D>=<3D>!<21><1E>-<2D><18>,<2C>i<01>i<01>i<01>i<01>!<21>Y<>Y<>C<>.<2E>-<2D>><3E>E<>?<3F>)<29>F<>E<>l<>y<>y<><10> <0B>#7<>"8<>9<>HO<01>><3E>+><3E>HO<01>:<3A>HO<01>Vrd