From 8e64b1e6f5727e28029679bc922baabec4c76cb8 Mon Sep 17 00:00:00 2001 From: qinoy Date: Wed, 31 May 2023 18:04:20 +0800 Subject: [PATCH] =?UTF-8?q?=E7=AB=AF=E5=88=B0=E7=AB=AF=E5=8A=9F=E8=83=BD?= =?UTF-8?q?=20=E8=8A=82=E7=82=B9=E5=B1=95=E5=BC=80=E9=83=A8=E5=88=86?= =?UTF-8?q?=E4=BB=A3=E7=A0=81=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...oft.apps.coe.method.process.subprocess.jar | Bin 50572 -> 50564 bytes .../subprocess/constant/SubProcessConst.java | 3 + .../graph/GraphNodeExpandHandle.java | 68 ++++++++++-------- .../diagraming/designer.method.subprocess.js | 7 +- 4 files changed, 46 insertions(+), 32 deletions(-) diff --git a/com.actionsoft.apps.coe.method.process.subprocess/lib/com.actionsoft.apps.coe.method.process.subprocess.jar b/com.actionsoft.apps.coe.method.process.subprocess/lib/com.actionsoft.apps.coe.method.process.subprocess.jar index fd4535085f6868789a4c33155d1fdfcc162313ab..5fc23de8c61b1bc3e7d7b9a31d2e4b3faecedc50 100644 GIT binary patch delta 12872 zcmY*=19T=q({60r+1R#i+qSc@-`IX*+qP|cH`>_RIN9j#e)m83e*es=dZwnU>(rU4 zo<3969UB848Uv1?EC&t&2Lb{E0%Dt(gg_4Vm$TCS<3`N?coO?RKF;@-10g`g{(%gr z;y>^!5C<;6K>jZS&DWqD@P8YdDG*@@{vi|11Jpld3T7LCU&?Cg*ACy#43`XLLgq{& zZYlp5cIXHUb*i>rVx%Oqaj>v-W$uh0EI9CWe+C-@)E!eqgu&K;2uyH|vrQ0Ab4aey zz^?YXZM)XAdQ~t5q)u~d=jjI~vH5)O&WyPzC9JfzncRe*>viWzj_S4s%CbGt3i=}EoL0*w!>(2%)X+72|Bw$M_J%o0rcoWApw6Z05w5M z-H!?X^`(!ncHIj@Xo7N$IC|V{|F$EV>e7o9KjfB-ug%#jj($JulvetEZ*wsCmBqB^8poYfNeHF8UEEQ+j&(17DPrq47MV}ESs4O zR;lg4sQH#Zz%o0L;~j{LS!%cm@#8|yiGc5&tIdfZ4JSVuTm3ypB<`G~mKDQ_I)hiJ zfmwOYG?dIjZTR~EX?RVRvl+W_%LscoTSC@n7Ee4xQJe*bBt3yc&*{ZTa=UU2?ncp> z55GMi^pQHGw5~3g#7J+2ATpdX{MZQh+r9*XmLlT0f<;h4LG%Tpq)tI6k0I7dYZK*c zMtQ_kmYI)o%=q*^!=p?C3zl`BmZk)r(S`;A!(}}5qospw2aP>M=uDP(kfo|`N2ffw zK5+$d3J1jg*n0;NLwAv-?rO`QS6yZM<)>DFGrPTC?jVlH)Kj&gf1RKUWe95&_oSrS zuu5%JX{BMzEX;}&%t2NaG__L70tGha+bVM$4Ew0jmI{+|(w3@NBRoXF z;voT4b)nLaVFZ2g1X&WCR5893C!EAwT9BL#k?041nt%|mZigS!nm~>3I@s@&2*t+X*vZs#7W!a5Z z+v^BU6U1yVD0la-{bO^OoK-nS%2X`CWQH6s6t+IDb()`BN2Qm_DAVbC^4S+!t~5e` zF4<4CBpI_V|1M@r3pYxOyOn``8-|wY98`BqcTCsg*pzkqgqYrJB$*CNH!AKjbOO1$ z!qemwO_Pds^R#FPeYuE`!ud3%U{`an>6YA83pbu&T!AyMP9k`te05g7O3f4il!vPU zs3lcP6kfB$3L%4S5eyAf#8%M@m+B>pTt!BPDh&&oIO3l6Rz?!Sc#iZphm_o`oLs>Q z%tkzEg%aZ-s~@KfjRl-M^yc{|h3qC6_;?#}=F9N^Zb~Wi;c6o0*2&-`f$Ad7)Rmo5|rsS2>tr3A}IAis?`%VRr zcCn+Vvqp|cl+am2Nu!@GU*c0yk^LjY$VN)Q;_mAF~X%5nz(WMIxDc zJEqoP?ITRh?V>U05&7a0;0jp_j+(O%IAKmRFzAG^h=g%9HQ!o9a23$Mdt)td<9q{N zur&53uAx{*;e_hrM7F>HXunvO0x#DHu*W(KiBLc9?xiK}w=zuNsuRxOTPlo9TT`x< zpguc@Nc`o4Wwzrq>p8-UFf;==cD6VM$oREHUryi!4=6}R zL#li!1_un~6MEs_Fe6+Q%PtqTN{fdQ*9G&>L}G1&4O>_Hf)D)ZilS@V0ted)vtG zwD~GVZgtY-YyU_B96_(uaKCIFgLmg`_P1RPd?;N5oGpSK4~pI2h(Ao;vbr}tx0d=I z%Q~Ss>30CrwO4d)SDTGp{zrA-o(?3*{@t1cUhlX5e2zjLkAQ!$0zyX8M2pS*0 zX9avxCsDu_cf%k1l3~s0Dl#btfE_GWe*2{k2s`0$=RB-{pd?PmZmof zozzP1+Mq#TfR601o718L6xJ5!gB~A)l;=;NeQH$9*9|P$IHCs%8J^i7ZGE|}gJ1-$0YgT=O3V+b z*TTL|8b?RK{&_VW9piG*&9#Bj_sOvnhi%cg=!o9!Yx!PLwOFmmECKaw%!mv=? zyDrPHTH1;gcBCo@rP7=P5>mlJa?qRIj+Na0V$z(xOCe{um_^+50@Z;x32%sW$~_3j z0Be5E`q7aZp;#$r|DXVju@2HWL!2xg&Sw!(WXKI5lX&B%RNzUsC_kv~V<=NB5vq0S z?|kdgu%FEN+o1s?VFRkP!yLb6v~<&WleV+^)Emzp#1|Cqjfdb;f_t5bIkGo&d3`!V z@_w|8UVdETuKCos5*(Pg5G*HsYC>YqVJpv&a(|{~N5WvbgV^f9cd0R|G_2Z$u0wEu zG0hFA9+!o&m><3@u*jJ;d!$AlDvND~Eg9!6)29fu-bgfXd|vk?jWA)`Wc&s#=AFi5 zN9BUM)+_~)GX5L=Fx^UT?C7OwQ#lbOjVx4VB*P_Qnx_h}?$H_ZO+A0u?EcVR%7pH2 zIsE!gpXcs~*37T7Z%bfpA>-;GyhR4Zl4)ZVm4cD=;FS|l;jT9`t5jrnuE+PS$G zXU=dq^RgXhG$6ut9sh;)O@PtF$&}U?9{wjWiUnYV^ofez#L0}pHzKDGIibmefAHzR z+XIEE*|RadSL!+NxzhFvlDH8W$1DP%P4bqQJNlWO+Vs4x{iNl=@`j&1^O-(tO00q^ zG*f3r+^lhl{$%h(vpFJYrqoDwDX}(acwl_vI`%onaLHD;V9nJ2UBhyCx`agx)>65r z`?po}b2SUP;?gZ&M%elU2_kk8mh0}fkFw%;7mD;2`f)DUbg8cRQT_c{Du)QbzFr3u zq&;if!Dgsylfna0VlsAvuX4h-rb$*OQt@O5^YrwBB#hLWW@tn=)}JaPNQFu44bk#) z$J8SCC|EqQ3x2`emnmiN)*SF>Us~dkVj}2CypdBWSQIwACTXN6FwyGlY)>?V5K_)< z(T%iq8mMmwR+W+He-K0!R9NZ&;MfDDL&}S!fT)Pl3dl-=Sm1n^Dc%c&nqYWqh~UG| zE>^HmDuuJ*2=8EouGkiQh@W#f7Ptbxcx7<~3>iqMt3$sfZE*hJall~_)Cwkp%(&6$ z<+0=1HMn52tsS-dnDY7A+gaPt$wI4bQ0=7=HJP5F$~E<1?B2Kk*<$8bm#v-C)l{~=ZgI3$&8sz!+C5s< zZVz0ebsM&$7PFnECa+nL4W4V}yz$ttG?&$dBB8db9hhlJ;U%E31l9#mzRmMOAt(-1~xf7;o46O_%_x0`Lr2-z1QOHp}F1laKA z^zP2yR>e8yDA_!xY%Dwa!VLp)DEu8tQY|ol_A&dj@v%=PtGqfAT@7o&(!Q~Hr>J^L zk%qPVW%hK8+WLbYbad!zA08FqInw&_IJ-hedozyx=GPy-Zw$u_!^=YUy(GT zj+9xB$v!2r*qj930*UUxANVF(Nv{HG9>5J~hpydy`2bM>ba-9`z<`QU_^iPB!_@3S z)#suegzkdJP2HP@Xgr=~?otX>PA;E)u@6YmRRLa3m|%Y-XCrt6vR?FM9+f9jJiOn* zO{Yd{k(?VuA2Ni?_Iw|6|5V=*E43N8I42Z1%EQa-Bm6cbP|$jhX#C^Y-FP98^OsPH z9dw%q_-iBpEqCUV$-3OsJFw%2h+8{l_LRiQASkkbo1tfqf`x}vktf%XH(+3q~#8OU9P3F zSx+_o-FpH1{*WMP#nyIh@y+=(LY*Pl+DYB|QaT-AYg_+&tQ=8!;dW(!zi*Mz*E6vy z9h(0ez9M}I+F~=WSq>tf1-jV(j9M^}4e&`9msl3nuAyTg-b$XXQ>#WH}b~-}`X>nW1_I{PDkxXioxA-Y2 z{VK13#QKKd`j)i2%^KkA)f#W#R98xU+h_ESnZU?RE5qLNrsjQITlXt?(}h2Z#HAR2 z5N1)tY;FfQodohGE7~fWiyo(GAM7ocwoLFf3f+)H2P&h5YO)qAg?FucWOnmfsSM4U zSmnB^riDu+UhX-tUhZ-7N9mu#3swI+_ew#)Yj36CtHEEo`b&4}`F`J?sX^8Vqu1TF3Q&dmSu zTVMlrTtUgm_z{a)pP85KW;NIl!GuL8;*ovxIlVHixQOF`t0XP2XPM1?EZSu$6aYYw zf`3|C5}^dbdL2CkT!Q?5AoH4eN#??YM}{5mZ^Fu8Z*Pfayyt9d{fzS6ev zn19uHSl@tVmMXjUrV;5Zg*bY{0Lv8&+Z`GKOcG_D=4F4eY{cEJw#pj1)4?5bCrE;& z+h3(o>XPL_JW9BHnihFdFk{Qj03=rR?#6s0x$`rkBYCtQ)TCAEFtV&iQG$v)MS{n2 zx~1DJ8HsKt@r@2=Z?Rn(PelOJYeWc*%P~_xo)L^v#p=SRbz^N$}X~4s&29u z`gOuVsi^Bnaop^hyu~qaWM3~^8rj7REtktG@$`? zRITCak$W{S26TGd=o2(}IdGXP-=iH;|K~3dWjSb=Fs@6q+vac)RDpk4lFR@XfbqC@ zM#fLrJ2EU-<8R1ZBrFBuZDI(DGP)Dec$)_kcqDPE*-M_f1z~+&%UEC-OVAXs?V9oE}5xviXnEwA!gqa08~er!TQnFyM^TGYQ1?gR$p8l_bYn`X};&$`zVjgPOF-&W=nK*zAs7~bti z&##M{W=%(0LB)j5N&zu;mL|pP7K218i0hhWneOKAbQdKxDVX^!(ZA#uXGf6}65`@Z zEiYTj^~IlfdB*Y4PNP@L)VpsoQD6wk!GbtssH_swEY&>rQ0Y=jDYM*`H9dxCxm}Dj z!+UHZjHTY?m+}sdqpwS_0qu9Mruq2I9&ERMg9@9YrajuS3{h&3bV7v07AcqfBf>iyNUp+J4Z~vt?GF(duyIcyclKWZv2A`9adt&(1Ts zahHc;O|k&ny}Rxz1=ubkqte$r3-@l^jnIDCZ%Iw}-&;A+aV0rWWjcm*u=EZgB;g*%HO)oN{2gKmHOGh2tatP&7XR@`t;4 z8j(ktTKm3<4llrV-|D3^3i~!WD*YC&+H7B=$8z7jhos>M3NRu64%TmeloK0ew5NdX zw3ie0){x!epf82)bU>)<<{^7#P{hUlzA@tKwKL-VE;;O^@Q&2abqo4A@b?=W6NUU; zWOw50HeLsHbbJ(6ho|3sqKR~G9dgV zTpJbeeh>|g=(kdtQAIXMeX)qbT#aKwcSS(gWMeU?nW$3mRYs~AuQk8ux7h5R3$cy1 z*#3tz9$$#I9wKXfjULf$-TehkM5f-{g4bP-Nnn_4<^k zw?8UGLUqFHh*SvNVQjy@r;ZFX=PeB+=hMcexY>0ouqBQVc}2P`>50k0w#Gedu70K! zciJHZ1N;0#6C6Yb^Y~;S($W3}N1Cpl!PnVFf)F{5il$UxkRuw=(4bNB5(hj-Tr0b`MB?Rvn)Xsg`HaQCvLjja?`+$QCn8U!lp2BKe54 zVTUcJ?NW(yG)8`^f`NKcfm0?LN}t-Tzr)>k{f%y&U=SvVMsRMN*f8{k#QPCQ2wv!F zeSPynmW5>k;rwo|ob$C${DEzQtEyu!9;(x^0FWTM7zLi9{mm=)$)%`k_VQafZ_gu` z2ZW@)LruS)jQ|Q%37d;L^Rq%$Y9xQV{to9S@2YEj3CIlhz69mhW?YuBExEVulxMYL za3d<*g-#ulFsB(=)+mkERE^S<#bijAg+d~0@DOsc;tv()Q6>;2gr641rmOw!pRduU z0QeGKZyzurph@r9;MTW$w+A;PwoUFz3Rfg;Rm|(J1FD>lIkzAj7>(3VcF9o1Xj3E} z?q&xAZjscq8Gd84Cp<{~pf|p<2DF4FY?EX@##_6AUSNHf0||i}3s+91T-wBQjH54j ze8(ncVzZ=sgS{oqyhH06oj%2`H_rFM1eon}5Mb9IgnEgU3W%d@w|L=K)izXP5mxGEI_v-<-=XZ_(%wFhdajoXW(0LDAy zguh4$=S;f2@SpE^$bXG8yG#8YZ0bEmg=0|m!)DQVP*MT?Spt?i;U&#ZR4~fa&KD@E z;xExJ2($ZmUGqaRX!;#ysJWnRubiuTZQrXghVX|L z>mc2BunQX$;Cuk%b;iDjIK+h>fR7B?VT(}!v2%SawcrTechL6en4dI^x63DF1Q^6* zG>m5Y`X&)fyD1%2!o*}1xji-c%DvkPw0T7slmm|qiKb4#_j*%?~GN5D-yh5D?|RGc*JS2n-C& z-*N~rD%=vF3u~;tx++N3+%tI?Mh-3trMy0S9!M`L+}0qGi~`$4^KS#kN-N@9BZMMOy)ZB4Mj%x9YgzzpRUXW%%U?sLcvE>EqJFF)mp7eck=WbHX<* z@EphF|MDP0nl;w{T`lL=>gm^(y6_E_YV0TN=nkOdr91mmVh4;~g^O1(Y=1F4Y~GW4wVou`Pw!0) zi33DO)>8wOVaYfqG&JJHpEqT*OWw3j7(JT>21wG2jBhxkQswXkdZ z26s>`;3BlPkC1|r5gD1=!-XT3HBy!;H_YxFKReuwqh}u^HQa2iVb0QRaN-9+VC9*H zZfZ$jML^dRVj+tcNt!j#WhfW5L^}iIpOncP!YZdA3iwbFg6^FQ_^{Z9VDk~i{OJ%^ z%s!oqP!$rL=U~G_qB`ZR)CuA@_XJX_Mal%1kZdX9c1t_Et7ju?@7lutf<)As-uIdN${6hgld~Hl{<(CRKug4q zRQ0nPi>R}M%2*uJrp%?(ayc9TP1DuDP>CGJ#g>~ENgp{L$7sKnwJapdreYK1Is|0x z#)^n#R0drv4C%^#7qD}EfO38MIkp(8Mzp)VN?nQ+uzwyKB5 zy^E)U;DVgz@O$v#91B;4Sf?X2w}99?{YYKK9^rZv~7 zjiyL|x*pdIx1D8plcu_Qp1FJH@TsFUmssUy=z@JLjvH24uKSQl;{~%_iZdIBXC&Vg zD1Ei$cx>IonthFCsA|~_#Njlg(`?Pik-q%04admTxYhIFp^_QE+FhLBc4fl7EcI=( zxiyg_V3Y+C)ruab&2B%U*aar#R}Jamjji3Y61NX^F0%z3(vsP-0H+zEF+Hn9bn_im zJV-k)@;=YdcB5Jy+ueZ))^aSmsfqtDa?4|Z`^z4yxe4FnhaM}%Y2V|O9;>|6=NTIB z`Owu4J+ke_K$1*=(DFo1)KO*;Yi`@}W5c-Ly>+gjtk!u-fn#o)YWtWk7uLjxq}~l{?Froh`LJw^BPV!J&j*%KYHB@o@-BtPW#WltIRm&3QY;W zp%u(-zS73kuf5`ZX3PN zQ+nSF@I&EAo14ES$?d20N<)fYQnvcJ1L-cPlyLUW(I;_If6tY;Tz(KFyG0(e@Cw-% zX7ef|9}>Ff#F|=K$#6f;m&ASgfF7V?ikSE(4TI?x)0B{j%t5fS{eoUzzF3qpH&>8l zH9s`Q4NYBwhDVGl!oaAhajlMYXT-NZeVU_fHgW|6^nwTgQcaCl|)YhHPq(`qjBa98F}}1!;Q-~VN^r0XTMDsgOP#Q zE_&z6y_q=lvo~y3L^W_-XGj^i*W0w`fD{Xza(&S4cQ}A=VqWr7yJ24qK&lUjXSxA@ z*D-5x*;mO|GjP{B68mI4ke|p@Jf|?IEIOpR1e3u2IFUy!@1H&i`YzVc@JcnYidGF) zW^eFGy*!gcP+CUFz@C!?-b>(BWyI76{R}e9EYrznbyjTXKJ9J7x;m_`mgM^mfDsv6 zBhj6UhsJU*{P3qSOx@=oK|zpvgjRi5jwY75HKPe29aZ|?5S=aA^_{c!DWWTm?B$-+ z9_vc6goHmBl9-{+BIle^WS~XEy6z{rI<^HPE7gqRF-cWDNe=UhH&;&)iEG_z!lVx= zDQ8lwirC6YaV(Q0nvNFoA5tzF0P=w<@f8}TSMCb3qPIT}je-$9FyBAzyAZr5Hoz%0&8zBA{peRHnj+b4|{r3NI{>HL7{JqhphJh(e-0I60LTyeWOxZI?OPWY?6zA$CL0CT*3&?;^xs|2-vleiyu^``kfIbr@g)L}T_-^iM z8nSj{DP^GN{bJoKgkc*7NSa%FQP97+Pli5wTRd6Rj#knCkTm#aq@YZfh)i|vAN6=$ z=x`p#*W+X4*jumcl;GzwxG5*Uc}AO}RqRf-{##02uQk2n90apwQ?5lFtzl?uretaTZ3SV7QK% zyy(OCF3pcbgK7v94RjT_-=2g9323q3VV~TL>D3=GaJ-{)^7j4NOB#KIQkk#HRksFw zD=$&JvuyihMxm`wdFLB?-KJbMIC|OrkmCl>(&<|ZaTeu{W?SDTe6^|op|$CfYwNvF zhIp&`VU3Hvr|L=5fVx9oVDup%t$>7`aA7{s+zOarSyWSO!Je(TK(HZvq8xaoCfQ>xxTl%0FVLl8fQFoC7K0YN-x~^13x^4>b*X@-32?)Enb{=AKN1MQ~oX#0DcAdm@kV# zD9k-7P7tx=FDM}F0(M0%5miWDiGmwSbDu=+10LiV;&~A=^$Z!!6nfIKLK(MGImCRi zqoE`~@0GtR^v5zM=c(#-(e#UIS5AE~-HXQ`Y9V2*JF}MDd|?E1vk$P;=uVxn^L;7x zp5a+6wi}V!K*{@DHzr$7+kJ%xo|Vg=R=nF0Ss_GLeEvinR2@EX*HQ}LPQ4Ex9v(r% z-KQ}Xor5Q{4-~QIyH9w3SZzml-QgR$V#5Og2b>#0-W0pOgjeFV2suoJ5zM^mJc<;z zAP_4YKH9}nNMBaXnNIQwzF5n}4;e@23bdl6oa!1krBEY#uA_-QHm`N++(bp9mja3B zf)K|{R@|;Sw3lg%TIxR)(7Xu_x~<#2iGIIoU!--YQc$*~;~n+dGjRkNvgKhaMAkC^ zDss}B_K)#i=B9YxKy3|9T7P8RYpwG1#M>^*&)2*9-0C9cFFq~fL6sDjwxw0h9l1ww zVQPBAiRMJM=yIM zl`uBlen5*KN>BZb4Hgcg{syt49Em#$V3t@{0kc9&bin#%h;u_k-3P+QMW?aZ@TID} z16_bcN_z>7jTEb~4C({b{i|xOFBsG-Qm*n5DK1Y#m%n1s6_0S~v|9XT&z?RJxr=fH zvba%|{4M5N>3e&lZl{-6>)Gy;dI5Won7%G_#nS0j^8%mv1!%$YMRH}>FHtreKu52m zl0g^-nosiFwWNH5T;}3gCx{*6Whr8B%PpgB#F#|yLsA#1Q<63O;A9b(l5G(K1kGYv zw2Y>Hm9&bmSCgoEr@(rr+3tFYC3Y#tCc-qO4`%oi-pnnu@aOozEtPY6{=WGKZt%?f zcb`u%q))n>g!+&Wu7Y+W@DHvt0N(@tdvBQegF{L6%|d=sX>?gJcVm7y&|hH-wV7)9 zN8y=ijYDu8f5;-H^9ObcVNK~~>SmY7t%$Z_dsAe;HrC$QFXT!TRj3W7p;UN`h#k>c zBtavUHWSUb1u`MSGb55Pn(OYUy5 z{NC6tF29?5+ikE(O}7g&IlP%z=yv0+(V-!u9;p#_(M)aE))`!D!K4T66Tbnw=^twU z3P(7+VbA*nz4=3>0Lfdu3*fZg&vAshVwu@fxuO=1)rk)J2C?w>&N$;_2~%Wjws zYrtJ}VzJD(3b(jSQvS0FIhqoXuZ3r>yj{+20J71YTIR63OHyhB{o*A|2!_|ef*d4T zdha^H61aOP3+a-rkOCc7m7>t{F1T8hLw&y5R7L~YkDw_JSsy531310l5r#s$QHWdX zrXkd~Q}YpTvOW7=w?Z$#Yuk&2NmC$YrJF#(VR#a7PF=vk2UF#t{TLJiUEylrK5Ga! z70}&;Zb%f2UJudfP7`;?nl(#QbyC=p9I+@#q)4c*n7tmu=2HUZkLy(*A=Xo{Wx|=v z8Kk>3m3L@^(Ei>g3-Fgi_3IDO1x=oedoaM%r}#(>w9}Gl$Wc3fzbQQi5c{`Rsbe^D zF1n;{uJlXMk62|ze#PkDRNmjNraZqi^r~gZ_|AiFAb7R2m*y0At_8cvI>4#;wr;^u zuJ8m_ki}IPl2t@tMAxsF*Apc*c1_uhH+Gs802UmA$4R4b01++b{0hgg?C7wgs(IoJ z`XaUZQRWqJu*w{0`FN1m`o9H%QOf#IT zn-le}r1rsA0S-gTNg1*v%@PeufeDS3*(1yslq%o)t#wQK;@nNy*;IXOMZ@8LW-o#& zgxc9wYrv?~P9V`%HtV_9e{^pDtjuH0eN&yjGZlY$x|x77tI=Z zRF8Vr@lraGh@PhnJBd|SWER_-6K<0v(F@e(KrK(s09@9dqs6K9Ctu=DZV`^)eH6i{ z0WxRGPEA_O53*XUWir31vNNbQQrML|b#9;U;({(D2gd>rqSD0@C1IB2$vVOm#m0EB zZe)9^y)DKdyD2F`&k{&SxaA`C6jBk4UG-Q^yv1(~w9nI!d9ik4=&#Z>E0rCODc(-^ zrPQW8097%*%wm(J+$BtEZgSt%!TB#=DC2Ei$GtW0bji~fVbA^6Ijo!KVrQe(hZL*I zLI*6JRPtNb@h+D1t~&>|=3JJ#Wtwlkbzd!FxE;?C;_{`JdoZ@|qAC-pGyC1oxtb`KGgnN<0R|<;2X;NjLk7ppjDNqOj~R=7;=J#5 zuxJAi5I(*5accOWpa8rk2y4etpjaO|ERWcqn3Jf(@9+U302xC;#4EY)$bz}{{Ndww z+#1;vz!wCK>V4a~M#=IL$$8m0MTIy;rMNlixV&7v+)TXORJ_`Qtp8gZ{mA5`Q$WWA z0hwa|o0$EtW$Mk}b6_F&d zsKLZv>7@-d&g10dd)Or@?d*Y7`ZaOgEtOl`O}Tlm1_J6iuPTv^zzw;xyyHyI9ZxN` z{x5w4@Bz>sr-2x#9`b_BI{Xc+pfp!TM##9)my|!=ymEc2!`fF)VPidXgiZ4Pt!>>Wj4&LBB1tvRzVX(WRt(Em zcNs$kY4Pq9?XxVu8LiWOt~KXQl??NNWuLPJ%)9A$i3e)yp5RQmo}}ijz5Z!Vo?Z*| z7O{Q?KSq?7x`5!ie%cxoc=IjAu45d3l6O;>ZhDK*1yFr(c-Fp5vd0~ktI)?po-HT< zr7d-M^ow!$g636RL?luY8q(hHO`cu+b)K|qwifjtfc&5(73|9QdW9sjl=0ChY5vkxJ?L-?Px z-XZ=Eh&$!}fqkdiKN##Z{0AgmW`ChMylWBkpQzKb{twuDf5HBZ6V3lr-GTUh>0q%U zK$d=9V7>_y@Js|17}Z`;yeu`5Z4g_=s1Az z?Vqv#E+43X{Pz(X@ShG&%y7V81Ni?@{!dK*Pe`l%w=RfJ`2Vx6JxKb`Tfad9FzFm% zP>ulb#~?Lme)5pUzuP2T1Yl|fz`X($i~0kumcSm@qiwq LC{Rcp|GNAig+ahx delta 12842 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 diff --git a/com.actionsoft.apps.coe.method.process.subprocess/src/com/actionsoft/apps/coe/method/process/subprocess/constant/SubProcessConst.java b/com.actionsoft.apps.coe.method.process.subprocess/src/com/actionsoft/apps/coe/method/process/subprocess/constant/SubProcessConst.java index 04c50359..0c773c73 100644 --- a/com.actionsoft.apps.coe.method.process.subprocess/src/com/actionsoft/apps/coe/method/process/subprocess/constant/SubProcessConst.java +++ b/com.actionsoft.apps.coe.method.process.subprocess/src/com/actionsoft/apps/coe/method/process/subprocess/constant/SubProcessConst.java @@ -33,4 +33,7 @@ public interface SubProcessConst { double SHAPE_VERT_INTERVAL = 80.0; // 图形间水平间隔 double SHAPE_HORIZ_INTERVAL = 80.0; + + // 范围选择框内边距 + double SCOPE_SHAPE_PADDING = 300; } diff --git a/com.actionsoft.apps.coe.method.process.subprocess/src/com/actionsoft/apps/coe/method/process/subprocess/graph/GraphNodeExpandHandle.java b/com.actionsoft.apps.coe.method.process.subprocess/src/com/actionsoft/apps/coe/method/process/subprocess/graph/GraphNodeExpandHandle.java index b44c0f1f..3828cf58 100644 --- a/com.actionsoft.apps.coe.method.process.subprocess/src/com/actionsoft/apps/coe/method/process/subprocess/graph/GraphNodeExpandHandle.java +++ b/com.actionsoft.apps.coe.method.process.subprocess/src/com/actionsoft/apps/coe/method/process/subprocess/graph/GraphNodeExpandHandle.java @@ -15,9 +15,7 @@ import com.actionsoft.exception.AWSException; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; -import java.util.ArrayList; -import java.util.Comparator; -import java.util.List; +import java.util.*; import java.util.concurrent.locks.ReentrantLock; /** @@ -85,31 +83,31 @@ public class GraphNodeExpandHandle { JSONObject scopeLimitationShape = ShapeUtil.getProcessShapeDefinition(SubProcessConst.SUB_PROCESS_METHOD_ID, "展开范围标注"); JSONObject childProcessPage = childProcessDefine.getJSONObject("page"); JSONObject childProcessElements = childProcessDefine.getJSONObject("elements"); - Double childProcessEleMaxX = childProcessElements.keySet() + JSONObject childProcessEleMaxX = childProcessElements.keySet() .stream() .filter(key -> !"linker".equals(childProcessElements.getJSONObject(key).getString("name"))) - .map(key -> childProcessElements.getJSONObject(key).getJSONObject("props").getDoubleValue("x")) - .max(Comparator.comparing(Double::doubleValue)).get(); - Double childProcessEleMinX = childProcessElements.keySet() + .map(key -> childProcessElements.getJSONObject(key).getJSONObject("props")) + .max((o1, o2) -> Double.compare(o1.getDoubleValue("x"), o2.getDoubleValue("x"))).get(); + JSONObject childProcessEleMixX = childProcessElements.keySet() .stream() .filter(key -> !"linker".equals(childProcessElements.getJSONObject(key).getString("name"))) - .map(key -> childProcessElements.getJSONObject(key).getJSONObject("props").getDoubleValue("x")) - .min(Comparator.comparing(Double::doubleValue)).get(); - Double childProcessEleMaxY = childProcessElements.keySet() + .map(key -> childProcessElements.getJSONObject(key).getJSONObject("props")) + .min((o1, o2) -> Double.compare(o1.getDoubleValue("x"), o2.getDoubleValue("x"))).get(); + JSONObject childProcessEleMaxY = childProcessElements.keySet() .stream() .filter(key -> !"linker".equals(childProcessElements.getJSONObject(key).getString("name"))) - .map(key -> childProcessElements.getJSONObject(key).getJSONObject("props").getDoubleValue("y")) - .max(Comparator.comparing(Double::doubleValue)).get(); - Double childProcessEleMinY = childProcessElements.keySet() + .map(key -> childProcessElements.getJSONObject(key).getJSONObject("props")) + .max((o1, o2) -> Double.compare(o1.getDoubleValue("y"), o2.getDoubleValue("y"))).get(); + JSONObject childProcessEleMinY = childProcessElements.keySet() .stream() .filter(key -> !"linker".equals(childProcessElements.getJSONObject(key).getString("name"))) - .map(key -> childProcessElements.getJSONObject(key).getJSONObject("props").getDoubleValue("y")) - .min(Comparator.comparing(Double::doubleValue)).get(); + .map(key -> childProcessElements.getJSONObject(key).getJSONObject("props")) + .min((o1, o2) -> Double.compare(o1.getDoubleValue("y"), o2.getDoubleValue("y"))).get(); // 当前节点所标识的子流程文件的 画布宽度与高度 减去边距 // double childProcessPageWidth = childProcessPage.getDoubleValue("width") - childProcessPage.getDoubleValue("padding") * 2; // double childProcessPageHeight = childProcessPage.getDoubleValue("height") - childProcessPage.getDoubleValue("padding") * 2; - double scopeShapeW = childProcessEleMaxX.doubleValue() - childProcessEleMinX + childProcessPage.getDoubleValue("padding") * 2; - double scopeShapeH = childProcessEleMaxY.doubleValue() - childProcessEleMinY + childProcessPage.getDoubleValue("padding") * 2; + double scopeShapeW = childProcessEleMaxX.getDoubleValue("x") + childProcessEleMaxX.getDoubleValue("w") - childProcessEleMixX.getDoubleValue("x") + SubProcessConst.SCOPE_SHAPE_PADDING; + double scopeShapeH = childProcessEleMaxY.getDoubleValue("y") + childProcessEleMaxY.getDoubleValue("h") - childProcessEleMinY.getDoubleValue("y") + SubProcessConst.SCOPE_SHAPE_PADDING; JSONObject elements = endToEndProcessDefine.getJSONObject("elements"); // 找到当前要展开的子流程节点 @@ -138,20 +136,26 @@ public class GraphNodeExpandHandle { */ public String handleNodeExpand(String direction) throws Exception{ - Thread t1 = new Thread(() -> { - // 1、总图节点以及连线处理 - handleEndToEndGraphNodeAndLinker(direction); - }); - t1.start(); +// Thread t1 = new Thread(() -> { +// // 1、总图节点以及连线处理 +// handleEndToEndGraphNodeAndLinker(direction); +// }); +// t1.start(); +// +// Thread t2 = new Thread(() -> { +// // 2、子流程节点内部元素处理 +// handleRelationModelNodePosition(); +// }); +// t2.start(); +// +// t1.join(); +// t2.join(); - Thread t2 = new Thread(() -> { - // 2、子流程节点内部元素处理 - handleRelationModelNodePosition(); - }); - t2.start(); + // 1、总图节点以及连线处理 + handleEndToEndGraphNodeAndLinker(direction); - t1.join(); - t2.join(); + // 2、子流程节点内部元素处理 + handleRelationModelNodePosition(); // 6、保存总图模型信息 以及 子流程模型信息备份 // BaseModel baseModel = apiManager.getDefinition(repositoryId, 0); @@ -283,12 +287,16 @@ public class GraphNodeExpandHandle { */ private void removeEndToEndGraphOldLinker(){ JSONObject elements = endToEndProcessDefine.getJSONObject("elements"); + Set eleKeys = new HashSet<>(); for (String key : elements.keySet()) { JSONObject ele = elements.getJSONObject(key); if ("linker".equals(ele.getString("name"))){ - removeEndToEndGraphElements(key); + eleKeys.add(key); } } + for (String eleKey : eleKeys) { + removeEndToEndGraphElements(eleKey); + } } /** diff --git a/com.actionsoft.apps.coe.pal/web/com.actionsoft.apps.coe.pal/lib/designer/scripts/diagraming/designer.method.subprocess.js b/com.actionsoft.apps.coe.pal/web/com.actionsoft.apps.coe.pal/lib/designer/scripts/diagraming/designer.method.subprocess.js index 1b092267..c8878d59 100644 --- a/com.actionsoft.apps.coe.pal/web/com.actionsoft.apps.coe.pal/lib/designer/scripts/diagraming/designer.method.subprocess.js +++ b/com.actionsoft.apps.coe.pal/web/com.actionsoft.apps.coe.pal/lib/designer/scripts/diagraming/designer.method.subprocess.js @@ -7,6 +7,7 @@ $(function(){ const subProcess = new SubProcess(Model, ruuid, sid); subProcess.shapeIconRender(); + // 连线框 鼠标指针样式设置 防止因为连线z-index层级较高 会导致节点展开图标点击不到 $('.shape_box.linker_box').css({ 'pointer-events': 'none' }); @@ -43,7 +44,7 @@ class SubProcess { // 节点展开事件 shapeExpand(event){ let param = event.data; - alert('节点展开事件 ' + param.Model.define.elements[event.data.shapeId].text); + // alert('节点展开事件 ' + param.Model.define.elements[event.data.shapeId].text); // 1、同时只能支持一个子流程节点展开 let elements = param.Model.define.elements; for (let key in elements) { @@ -65,7 +66,9 @@ class SubProcess { shapeId: param.shapeId }, ok: function(r){ - console.log(r); + console.log(JSON.stringify(r.data)); + definition = JSON.stringify(r.data); + Designer.open(definition); }, err: function(r){ $.simpleAlert(r.msg);