From bec9050a5ffb20e89ac5c8ce05d006e87540d48c Mon Sep 17 00:00:00 2001 From: liuliang <401809302@qq.com> Date: Mon, 4 Sep 2023 15:15:00 +0800 Subject: [PATCH] liuliang --- .../hrm_attendance/hrm-attendance.jar | Bin 17743 -> 26717 bytes .../service/PersonGroupService.java | 2 + .../service/impl/PersonGroupServiceImpl.java | 34 +++++++++++++ .../persongroup/web/PersonGroupAction.java | 21 ++++++++ src/com/engine/common/cmd/QueryCommonCmd.java | 45 ++++++++---------- .../service/impl/CommonServiceImpl.java | 4 -- src/com/engine/common/util/DbTools.java | 18 +++++++ src/com/engine/common/web/CommonAction.java | 26 +++++----- .../attendance/common/CommonActionApi.class | Bin 0 -> 432 bytes .../service/PersonGroupService.class | Bin 385 -> 576 bytes .../service/impl/PersonGroupServiceImpl.class | Bin 5929 -> 8138 bytes .../persongroup/web/PersonGroupAction.class | Bin 2521 -> 2949 bytes .../attendance/util/ApiReturnTools.class | Bin 1407 -> 0 bytes .../com/engine/attendance/util/DbTools.class | Bin 3506 -> 0 bytes .../com/engine/attendance/util/Utils$1.class | Bin 547 -> 0 bytes .../com/engine/attendance/util/Utils$2.class | Bin 529 -> 0 bytes .../engine/common/cmd/QueryCommonCmd.class | Bin 0 -> 3545 bytes .../engine/common/service/CommonService.class | Bin 0 -> 383 bytes .../service/impl/CommonServiceImpl.class | Bin 0 -> 2759 bytes .../engine/common/util/ApiReturnTools.class | Bin 0 -> 1399 bytes .../com/engine/common/util/CommonUtil.class | Bin 0 -> 3113 bytes .../util/DateUtil.class | Bin 3017 -> 3009 bytes .../com/engine/common/util/DbTools.class | Bin 0 -> 3949 bytes .../HttpRequestUtil$OkhttpInterceptor.class | Bin 1854 -> 1842 bytes .../util/HttpRequestUtil.class | Bin 4750 -> 4738 bytes .../util/PropBean.class | Bin 2366 -> 2358 bytes .../com/engine/common/util/Utils$1.class | Bin 0 -> 535 bytes .../com/engine/common/util/Utils$2.class | Bin 0 -> 517 bytes .../{attendance => common}/util/Utils.class | Bin 1608 -> 1592 bytes .../com/engine/common/web/CommonAction.class | Bin 0 -> 2558 bytes 30 files changed, 109 insertions(+), 41 deletions(-) create mode 100644 target/classes/com/api/attendance/common/CommonActionApi.class delete mode 100644 target/classes/com/engine/attendance/util/ApiReturnTools.class delete mode 100644 target/classes/com/engine/attendance/util/DbTools.class delete mode 100644 target/classes/com/engine/attendance/util/Utils$1.class delete mode 100644 target/classes/com/engine/attendance/util/Utils$2.class create mode 100644 target/classes/com/engine/common/cmd/QueryCommonCmd.class create mode 100644 target/classes/com/engine/common/service/CommonService.class create mode 100644 target/classes/com/engine/common/service/impl/CommonServiceImpl.class create mode 100644 target/classes/com/engine/common/util/ApiReturnTools.class create mode 100644 target/classes/com/engine/common/util/CommonUtil.class rename target/classes/com/engine/{attendance => common}/util/DateUtil.class (67%) create mode 100644 target/classes/com/engine/common/util/DbTools.class rename target/classes/com/engine/{attendance => common}/util/HttpRequestUtil$OkhttpInterceptor.class (55%) rename target/classes/com/engine/{attendance => common}/util/HttpRequestUtil.class (65%) rename target/classes/com/engine/{attendance => common}/util/PropBean.class (57%) create mode 100644 target/classes/com/engine/common/util/Utils$1.class create mode 100644 target/classes/com/engine/common/util/Utils$2.class rename target/classes/com/engine/{attendance => common}/util/Utils.class (52%) create mode 100644 target/classes/com/engine/common/web/CommonAction.class diff --git a/out/artifacts/hrm_attendance/hrm-attendance.jar b/out/artifacts/hrm_attendance/hrm-attendance.jar index 7dcf6976759a2abf96c22ab2583b3dce777bdaea..55276299c61c876cc3b6bac916824f8dcc6177b7 100644 GIT binary patch literal 26717 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

+oGe1iEg7;L1MA9Mtd@t(%*=@ zjUUHe?NLe1r}ys9aL*pjx{^(xu(yuC?w533u!Bn)C985B$ILA<2#Ml@M79(D%#i+b?Ad=E3XXpd#jy1WZxEUr2S?kKn8I_L=MhVvlsbos{FC&J}x=$0^Nge1*LqU zL+hR(p>jAj?!bJ zYUBI)sD`C{jrKO3qwEjH?G+~HpK<4-{=?w;YOrZK7u@Wao6>>Jj5mU2+J7R^uh8vy z_{`kI$33UTUorB2_gm8aq*fk%`{G?vG|g4z?e(f$KL5hv>z3%sFA~BlSIfh+qJZx@@sul*o42-z@S;(3b}GX0 zf-^PdNUGURzMx1(;!#mE(r3`^MGUgDu^UHGEv%*!ufACIEU+_`V3Xru@nL9@vHpyt zFJ@3m+^W%Wy_o`yR=mQFFmm;dgkIo@gtE<24mBHtK;Wj23~tFv?7d~&?oa6h3yMZj z|0p}#e~ctGos7}P@YQO1;8OLzNv#3wx_0{!!;}Kr<}l@yja#e*R=}>fCZZauOx3is zBUU70mg!z;%4bTqCwP3T1RU;xA+zkV07cU$1^}vIPD#ZFW5?Hu(u+-Bn~o!y$(*1< zx1bmV#=LaMeCLHcQk)+d{^vB_v!o2ar}5JLah*Wx{D_!^=U-^n)YBr>z&k}jz-_pR zEyp-$?ItEpM;bmLciIxSAf zKd?Dwnh@nOpRlNX zHyL}*lMzEa+BObQlF{Z|qu$0=bKms-67ZRS^<8`U4Mby^1!m>?Sl|}74sBf$o8KZo zk~4Q}lTABUcT;ll(vCMJ7e*J@dUBMl)FX-;*Uca>RahQa!K8h6Iws*()U6~}$&qdC zqF$aso5uE4t9s^J(p$5s^?DQKgl-~IbV-Z?Ivm1a>jU`Q{3>_y3@3I28n?c zSEbKgt_7(RQ4>Q+*u3tgqsH@%&vTDD0&=pSk_%e-nNk+_C`6KFK4G>pPI%hZ_!Nkr zm2xk80WGIalc^Ul<~#qsp%$m&!~T=Cj7%rxmx;Pc9oMsBm`MQ24gOafS#VetGZA+` z@5IWVYLrfN$0;mDdP)>9zaq401mwsMVG=ANv)6<1V>jM_GCIw01UNAL2ADbs36Bc6 z@CZLdxr7+l;N7_WIc0^)s;o(o+opZ6RBQMX7qJYGr-zY9u;O{Hcz@nTHeXcMp?)Kw z_G^AVvs>0++&c_4gIkvjtqw`BG_XBTGQ7iq!77b9$!S|tr6w)Ia!TAwDh+Z5_qz+$ zb22EqJVG5dcKS!x%BF=tkwbL_QZ~YzyfRkq+w%kQB0`T&O%E1}GgYGp>~XPVg_wrI zSZk(TPY+QmQld%qBn^E0oRMwb`MG4(8kW~*Zw@4}P-<;Iyz^9Ra5LQoY*4hsH!n79 zSZiEJ1v++PFyTafF0gQL*k(nMT!V-u>7&{AO70eZlSic_E`iR$V$9iw!D)yw zaS%{a;UUqtww(KRUrn@nW%|9h#PO(>F<6-a(CX{D}c(HF+UEZFbm7$KGyQ>Z{J^I zg7z=pbB6>uoqoR(Uq-;V^k+5$D5>~aG5HV0`1!S=MBCH3`)lh6SMyg_TvCM+jV#*XDF`_Ofvow@OO%#|8TWmq&p5 zx$yocYyGRuADhMM2qx{ z`jC0{Yd<@06F<9P0{&S42SLr*A%jo$KRdxI&&Bu?Va-K-JG*CxK-MMP!ui=Z_=WOo zNqE7Jb@+_!bBMo z@$qkSe%J0t&!HX$*b0XSg%8xGfgwUlvK;4vp3Pu^*Ap7y4IjJ)85%gTe;ESzdt2~tNYFqUm^4Fn+`nt<&!&d=pq@4L0^|@m2l?!a z)bGl|djijzT2$p+$nWl^Uyj({5#gO#XAwJ9{|n+zf8y_m@U8;LjshpT>K7xz%y`}+ zJ-aC@LH;Ywzs>mj83a8?;cxCxhXYK!&&2@3T~dE(h756kT)IR9`S}95iK*#BfBQdV CL-WJ{ delta 14700 zcmaKTWmKF?vo7ug4<6jz-Q5}7-5rA41ef6M!QI{6-95NNa3_RIvcGfA&bjN}nIE<0 zT~GJ)TV35%UG?<$Y0#-~P((!;a0oaM5Eu}UK2`i!L=y1dg5@8fN&ov-JR2A{%DYqt z`PYXez6XpV{u~1qyj};pt`6)B^ba%_g8YvhgJAk2-yrz@NC8N(KQaVT`j4E4)CH=; zdZVjjzjc|^v8>2SYD_{(hvb=n`%MUOvV+q337(LvfTM?FP_)HQ#H^$;@}$Qo&6hT8 zG-eIdEmD6{%~^;+*S=cRx~N;!KK0SAdY*gkNL}&DNqCmIpYYmznS6WcbmP6;^tynq z{`B_2fJBKnf}1u7yBjMiv|2PDyc!sb!bEQ*+z&vBC$2==!m>kl)akwfvk(mDn8LgQ z`_)nNG1EOK6mwyFpjoP02CNyI0pqHcyB)6zCay*s+?`HOJ!EMY5p08UM~>JI-hX?M zuylQ-Db$_D9H@=I5#@Gy;EJ*auJHvI+@0clYoZOT8SUc379S^7ZnD>_9t!XRZH8gz zm6)H@t2PT_aHGRn zHFKpXb7P^zb7D>9a$sphnVLzzwAg*zV&wrURB(57;R)>bJI5%V3L0_dS@Y#m+{Tno zOcYQF322&GhSQC#BvLmERHhMqilwUpg&NY~M)#(}?0sj-*eU77*qL}5}e3%G>X;gc! zaFU!~!N6H1|0QrC*hIhTrIEehoLMe!TYZZ z|FVR|d}(w!ZXUr5Fc%}YO)t@#thcS5!eW2wZEX&&iy)oIWTk6~scp;`TIY*=S@eP@#? zYi4i!rDKNiGGSZK2f2^jX;X2+MxgAd{C*13%Mp|q^qIy^w_7#4OR$d#feO1U&eVx^ zvS9o)+n*nKfqe&Y4WC1H!?OS#{Q5(@IP`LPH&ORmu=?HL`M&9vtCnj@gU_m7{j&ME zKOc=q3Xg6KNP@|{Vf8;=V!-MTEJ1kd_Htaxtqy!`0^E!d_u5y)m5xbzRX>r7SsPZNvmbxae8 z>JiyBx7dOY%8~ch!G&;*)DTh^f%}P{dti-Trh%X4_F$yyWdkH``3l<-aA_>Ihj#~o@M14t#p!I|8Utt`;!W7%Nk>XcO zSKv)aKcQ6%YKDHGO(ScV1QuWx`~G#XpH8$-@n0}?s|SBxPp#0EsXo`6A5 z)e+M6Bpqt(GxjK5xS*HH-?BL7?Q#HtU8YCcbiz;g zjX5FBlFiT3x$LON%V`D+2&H95E_=8zi=sY4Z>v-=6v!~)fK934p4BtX?xDyYZZ}$p zf?|7|yP34D^5QpIoDUg7#=`5281O19g(Us!k;M!Wu?u z2oV6#mom5?o7U)-QX9d^bOeFEte1;6a?$B(Or#;oU6DQkHV`apoLR9h1HN(?cG0mX zF^7Apk}-e=D_2P}t%o`oEoG~N{GfU<+F{8)zRk|=+&)qskNYep2UD%Xn?P*QIDrCJ5 zyd^;Rwh4xrXeNTpV!*WiS;lfEY371s zoF|N}I|TlC$eqn6?iDy210afx36qTx4m%6J?ir=!zNHf`PN+FjqcOA@iaEpU57M+~ zXJXjvbdNlY`Z!o63P4p5BmKyz8)qfQ63 zlPA*NtzP<^7h%x@;js_<@%Qkww=Wx8x3kTaLY^5hWtf+Epdk>vO9k9MRv3qGijDYS zpZXm8Gvj1fp&kd17WSZWFXQ6Xptb9`97^+9wc(|eh2wT0jT7v5O=SU}hXU{v)ogzn=lgL+vc^{}K0}XQqt3^!o9Lqov`DD(UpOb@;vf= zg2+B-!m`4k`08JRQBX5Ua7eRZz(#gJ#?0z%OfIx`8%mn7AfdMuVR$TKs0>OU#4jG6 z?tX!8p@v`|V1EoGp*WT=JH=Y$f5L*nEGmmUMrayI_O?IqzN0Qg+sCYUEJ2x=5(n#T zzobu@FGb!E|Fs{LM9xVc_q+wXCioU|7`dFF|GIKLh1HuITA|f)Wh!v62dEF*Rx{Sd z%*||a;%|nL!KF#s@w2s*9UK=ib8h5D5##QDi>3MLRXIFHH@X)f#H!Ny-R zx|WXn5$eyo&yPf|yocd_p#Qx4e@E{B6`aR+VsL?zyzAl_LlJnYjw^=#W_z=Y{LycE z7A#y*%frnQQU+ED#Y06o9OBY%L7rWtws|G8u1+v|=&hu|Gs5@saYdj{pno@0t~;G>Otm^v(U^yUml$_F{-fxD7qDD!*n2;gMOht)j=}f(&6!y z;AaU#hX+g6CzwB=4NRO7x>J!12_Y&-WW^&NYnr=0FqUee`8zGGQQJ z6>kS9>~3Ue@wRsH>2w&oI;O~yk%L8K-{-uvv{pK>*7ZT3y(0=791^_*eG-#U*9o5z zUnWbtVoU3>&AD)lW?rs)&Dh1IeTQ+gDA-;QrQz$7*O6|SwP(1(UB^jwK+$|lUntbNdS5G$J25YN4i;K9`b&;ld`yE*b>X@ll`j}ud zPu8L0#j&peU~|@Tue~6Nr1|tGyo3lbEh8eDF$2CjkJvVT*;Rs?{o>EDAnSxAdL6!t zUYxpoisBEe#UJE5T31T@)3VGF=1w<61R#^At6J%J0Zp@?{0hxrD_(D1z8&HG_>Lw3 z6iS!WEhW6h%@rWN=T*VZW|QK9A(lR=dJjOTw-6C#D*;_dD8*ne0r$<%XsH>cgq>WP zex1mfkDxW3N4HawqSeT!Usb2?ZEn2kix6^ML}NVZ7Bq#H>X20p$wuO8d0;XZ4Tam~ z*(HX15qCC7N3~OWEsn;ZM*728WSLQb#XZczN`TycscR^s{$rviz)q<^e(BT+Yw*?d z4lOyO6pH*zOY%MS;4StbtKmAa9^NV%KDpTuub@SfWtRwy{R;$B(TA65@AiPU{v$=H zOr*NJMTqlEGH=d$xcY)t8p#g9mm5W!Y%Bl8v3mNz5rsF%-@DX>NA{i_1PCF>3he)5 zoBESUz>QZ#$3}H=wzOgRpMCs2oe&=aNf94uf(^`6wpN%IMCYq(n|5t#hbw1LObB_2 zBlgd=k&FndqD_P8d8|n&Oh|B@`;qo2_ZDkG3_t~b5g2vn)+HJ{hh~*K@A&L_xbb;v z{O9xQF2xs&`5P>8F(I~S1Zrw4$n~CFIORU%q-)Bp%5YPR2lR4Mn!-xzW`>y0+J=OR zHp{^6oa5k}Qyw$0)G3QaNT^f2tpQxH6(x_5V})Km34{D?$jP$%?MgIT?KXatJe1X> zE@Lsh+Vd|h?wi)IDyEJU4lN_~JIk>5<=w91u4hjNyM+&fVQYYD{9xa&_|O@Ya3p>W zO1s^j_Nkp1%?E0D9)4{bUlY8DK;@DoOK^a%sLrX?$MsrCV|a9N2<#PR%xUAv>oDaM ztIm=4IZtlw3+MCCVvly!*|Sz_>|XHWNs}(8JW;jg14*P03i$dLpEzAj}l}YNGS$)6fc_8V+Xe3$lI3XL2aQk**RI56Kh2U3HcQ944*ojADep8IjJ6!_| z4#{|6 zSC>MV{1w0 zTJ6ykIhXnzMbsTZ{2+zLB+E3?La4LJlw_ilf|1%e+gv~H;`)`I3`URK;!}DlTs{s7 zM?o2r^b2D&mN$kalWjF_UF#S4Zxd%#Z&--~0|5a-{$t_)1R?Ln`(KXukA+kHws7Dd z3l}wXHdTE$b$VkP!_S{9RIQb9IneobOuag=7^{$BK!s7kiR9M;3sVYNk>UEGlx`?( zrP~@IX=~gJHA80AS2yQe$)(IG3NDHxqYz0%?2WNBQ8HyX%j3Zge9mj!IJMpCR}M$Ng~ zEal+`pJ%*L`jrv&jp#zF{2#etNWRE|Xa;ZbzbcjJMCAyynDTP$RBCQrxvWuP*?G@8 zJP}70?M?5?`x80U8+o=WE`K+j?)VVgIvW$gG{^iM8eyTv&onp!LQR<9s z(bOWFvF|3$C^Q9e9OaSjt1hzEButl$GH1dguu%M;?>vM~B|(EfMDt2rpbrFJ4_213 zBWc}dF_Yk~XHs&1XwpF$2Tr5j6rf}`&yx2Qu{?ZlrdL=Etyo52l5Z2g*Bo6|!(m50 z6FIMRu#;O83)!=|3;0I%tF3aI60S#QhDm3xF|^YBP-u%wyA)R3$j%uSXj znX)7|Ndf1j{<(0<3YZ1T4IFTyO;_J9D4=Sg{l+Xdc_$&}s10&-1Qe=@l6QuTnd_;k zGzL!xP2q05lpRuaJ|51??n4#P9=APpN8;hG3~jNSao_|!J8=NaU*UOiclP*#Y{E^s zad%?Q2pEJEhprOH7X*K90r8!`0ux|jRnOp?o68I8EpBFur07VAIBz#c1q6J%hvTcUGr_k5*YWP3>SqB>W>S7<>c%de+0O!L;|L>+&$ zrXE2})c2jQl>h;LH;3_}PK#BSM(uZH5_u&!LI(d!q+#*LsY7CHD+;)4Vv-?9KwNAT(K_)oa_|%+ z(sMu)vg|3>R@2y4G?ln0n^(`P9|MYL2y}A`0v;{+kfQ|X!w8m^S17U&4etTU9o#@y zfSc-1Trm^dOOREKLk6QCwY(C9f^R}2;LQ|wX#J4j2EdHarNq##@;$EztpkkP&UH#*ZJ#dyDhn`UICpu_rV?7%N07)63)JNqeFX!c zC?xxN5716|Sq}9@BLstfx%%2~H?D$~i3G?kTi3lro9b zUBNOH40DlF^R|=PqqO*(pMG;wqPFlzG>%YUb2b)L#a+MKvM^& zC$J>nnflT*&4UtF?kD{34YCpR)7b(92*?OL(*N2aD2Tqz+oC|nuNXd{ItBG;d-Wo|G(wg#as0UOqatH?k@6Edt_ zvlem6Ey$nlPW^7bFp!CAUACv@$2b$fVckg2eFf;-I`k~NcKeJW$~`-TAqt&I3{E$d z+K6>Ome-5VBu=NL6(Bi;xRfxZYCMn2LIbz@8L}t?#WhSGyYD7Ym-Wnl_%X}U^gb$z zGfH(^%~Q(#iDfY~o`ojMA0MA><$!OgUS=hpt&k+INUUe9P(&G7hI=#vK59SNHg!H1 z1`ar%yNw+Z39C8KPJ`$~e`_*Hqp)}rsWPbnheLrlhUr#bQka+BQz6NJA~L$C1Gu7F zT&m@~T7VbI$V!2{J`PH~r<=5OB#-NObvv7B%I9QO`nRN#8hZh2d6An z1m_ z!oMexY>HxDR;P0_tLW?b5(S$9s5aX08ZM4Np~0u8=H`8z508?P1@LlD_Np;e>;mQ5 z3wCYW^LBL+7$3jvx?@bSk$-@Nt)!QBF$KH(LA?G=nEB#uRyXCc0%&=~m71hXj3JFbf zn1=1a$mty%SsTMN>!Oeyi0;F78VPhkPptH^k$YUXFwd+%FTDvW5Q`wzXO5O>mWfiX zgU};7J#$O87!_bQ0dR>YWuffxOKMc-cQ5=b!Vy^C zT}7Ge@|{PRZ#b8fM(u|vgTPZQEoM9q(j3P*HcIsXGTZh+Fk`g7FZ!xIVC8+DQQva# zaht;@M_Ie_SywxMenMmk{po+Sjceh3jAPW7*<~blIB}8PRGP^WsxK(BR5&~(IWEZK z2&=VJDDSbv7ElO})d`v@KhXi;XE?Q$WxF3#s!8Xw%BRSRpjh~7Ap;zUyRz*FQ(;X! zl4csd{x*%;6L#acKl?+VO?l>9buK6c{rApQpP(nv036Snh$W2i>cpMueB5S@g-UA8C?z0xWiy*BrwfU z)?JK0gFJBgw+6v9Tnhp>!fivhs3xll$s%epnR;7_xR&}_Dnh>tw}sCM3e`gh0#naCrQPQh_8Y#%@5E7B2nK?!KRx z&q_&dklskQl&Qq-G}5hTheczBtf~&LcyB8jXPtwE51E9{fKUdgO;B@e{=My~KBNoO zHwNh%k@E}OJ*38ivLi)Uct7_f#u`{)UTq3j;44?)P#Fw^NZ4{g8H`M3aMBM|ojQy5 zphl4X^8P!bertyc&^vZA{EE!n&!Lxg#I$H1+V+j1q8!e$B-~M2C+dzWTk!O3KOof`ONmH!}4W*Nhbh^MjU8m|cF9 zZIm8lN6$~>cI4Sp6L(%-1|%9wC6Yfw*#xq;Pl%&oEMpfghA{Eiv;_LpZ6eV1s=!{M zmawqIwgrAWA{2yJN>L~fkXpq5?T3WXDdM+GX@Lc*YfiXg$b5CJ5d}6zJmIK;h=W^S zXme}`x5=@=m5gXL)`VPbdJDo6c}?w!FTxk7KOpgfsOl&sc5Q(RV^Cr!4M1N4x>pkO zu%ui80|A9aUh-~J$LE@_PfHg-kmiV~_!LnpKUiAQmUbU77L5dViZCo`zw63=FVuZf zR3K$!4(c#Xj}x0l64>$!s%jV#DL=a8nWmf7=v7A*gs3WErvXo67bWt9+93xO^?4&I z7Kg1wh3oyv=vwuOoR)mLU7wYmRu=vd^k8w9brU4{lHHGI-?Ed(QS0KQ3r{f51;+$+ zORXP`#3nN~&0fJyu2@Ue-uhf?Npp(gL%^o=LFP>Bld&kPm!*;^#2}ihoqJ=|Ui45^ zSGqM6#@a&MTn6lr%g@`EmYqN~^%&p-IDAtj#(0o%>K70n)8$cVZm(4|>b?%` zmqp1^Y82Od%(dEL%Z;rtJ;#Ep87{-&5)*dl!D>v27z(4s8gB^oS7Y>P)_dv_8UxR1 zP8+Wy@CSCZk#KZuC`ZA&?93gY9hDH|ZHEN{z@)@z|vHFyb%oS8?o&8u;EqqWM?2LK*{ z1!+9u{ki_a%JSX%>&9BRNx(zO=wvh&)XMdGu+kdXVV%ejNeH7|gI4)hK_cr9NtvG{ zoO4;fTqGW9{7kvHm(BQg#>gmm=G9mwn;d#uyk(O4a)CHN+Z7(aRko!7e-H=!HUaZs znX&H~wTk)!$CUX2gqY(Fw_d;4(mni?$_Nw*Q2*3&Mkw;b1}U=W3IX}tzu0@&J!z$$ z(JagtRQljLmY(?G1#~wMRG$Ej^u>=fYY3kA+b+MfM^>DDv720M0iDp8+ApG9u(Dh% zpTOlv=uk}Kr(O|B!~qL(&n_(BRR1TUo`Ah$G~J_AcT9>l&V>Q@b9IY30b}CiZ&AKI z))-`0eq&ge!3u_HZ&=1Tpl{<5B-}Y&(POzC}KYY zna^h*^dvv04r}TNe!R(70Q2e9h7JtSjbfV*Z69P992-yQhl9I?vvYwof}+3vc7j1{ zj`EaVvV&SBt%Hi1Or{s_j=$b%m_W8+lG4=ciRnRCeT5@ofUR7KkmMMfmSuY^v@&#$$z2b|g)UGIsZJ;q= ztT3|WyCVm6S%8n1X&Jq`eB=oV4JsS-2lAuC41XmBJxRnV170UZAs<8LLo|K78IVND0%z*7GjufJ9U#vg&YZUgznlbr0FS2NVmVc?_Ppz-#m6@#NcEZi&-m+!v zs}Kr3Iqlb|>a;hoES6C)oYIjkQj}28ed*wmUR=uf%4Qw*4$&B{t4lLytFsGpIz>C^ zb(;kEwQ>}h`DktQSkabR^tcTLrsc`1^W32;v`fI-U+!t>8|aBx3z5ddPMX$RI5w=) zVf2tUgSe-%62>TB&mNG8ZK33i=eu{YST4!DQ_ZJD3gtj8y6}V$c>O3aoMpc?%aE%O zfU6q^a6Tu5S7AL;cbaXTJ_h^Q?`XrBrG|;p;;=(b^zhw^56nSzMzT<6F$ifEHU4k2T@nupX&= z3wI8o^uE?X=>_N)KNk4u8%F5uTej&uVp}-pJqXw6z{qfY701@XaYw=BVxwoTs7SIt zTB7zf-fH5MF{|RZMAcKf;sHOrgcGvddUyl|_zCPNc&ruFGhUjfrm^v_)w?A6bq#0K z&UfqY%L4m05fS`<{RDp_t#?ZF)0;}qpQo`%^R3jZnB>7S>Xmz_y<#rVDa>}!N|_>4 z%)aQqF)x8npcwjPGGEiWJ70_>yO*US*J}HNA=?;bBBAdt?k3$6j7W2lF)__Q)r=IV z{e%^WSAU6)*gJ#{8U`^!gYS3L)hg=}X_v$z0&>3yIKt#k<67KQkv<7q{S?D5hPn`FJThTZ;nLsQh%u?c=7u0BWc+&Y~V`leHr z#nRM`iKOE~&sWxOxbfQQXeo>|NRVK_y0M4>(iybEDF$Q=E8GEN`o<3$+x4QImHqD9 zL`>H0<36Q9(y?*h#!Pc6Gct1I_9d4Etz?CkRw0I>UIwuw(+sV3P;W9adV3?{p2g`4 zb2;WB%%pNolO;yayzw0pDXDe$Pb_AHk5jdCvlygMe;TqZSmQga7oY9PH}X&d=~%d; zvHgg~R*aa?ad_4yG}7cfjA_Fs8EfLCkq$^$IgqK*h&>V!!_03ez;Zy)Xb*Nf0^W3} zv&Rrevgk3nx>VbvJgVxx_s>}QV#Km%`d_ECZE2~u_}jAaV)dBaN0g%qH%}(o3%M-{ z4$z()weQdmW_4;*ZTFLte~`JMA?ESf?&UGumt1CV_}bD^^N0GD0;!w zF{kLJ`Y{A>b#%7Q72DrD@=X*mHC0$4+!Xtu$i4VrzO;;a>jzZP2S8%e+T1igTRy}A zXqBc5pIdr%Xjq?g(t1p77sT{vbD;0Eppq3X?WxRvEn#D zu>}amdXlhFS&dpX;h9S=?m%vIj6H73^fp6d)>Q-$+-VE|m8`iw81j2ge*vZKrl%Ff zN;Y8lNHmgx-(S!SnY@imKg3t>!~oVz5Q!y*mLTnZ=9o;#@POeCNrMse zrbs3S`%4V3`+NPS43g^=aLSaRky*%aeUxIDo%|AcBh>fA-4cjfIpkWrZVInYh1)F< zX`>&4FMBC-Yezw+B5n2bydrcu>jm!RGjPAS#G z92#i#<1xxryYU_?hp~CCyC~ABOJ1lINCRk^SThI9qUXS)(_?~o>8qpoD-S`d$i>(h zr7}f5Fax?q5O;__wStd%c*{gZuU!wBUx*`IJ@%bV?Zeh-&15V_*5@~aGLaHSQs4i= z)nyB9DaUc#H8R&^&dbOV*coY&(%hYED^7%!dLiG zDh0d6_b%{2+v6c+2y}NSlyE~QFhqB8i0d+!&xq+cP*RC^mjFi%C>4ZU}T&b~$ zU-awZZ3_Kp+j{#Gx|EhYwB;l9U(1Wzz(d!JRa z&=JbTP=+vPuRI}=_eU^}pT}T2nJ*iHD~$jmylyfYYrP7IK{VcFaibdA#3ZzC!Xizk z(36eR$YZ)qjTI^bPGcqBTR0;Ye8Ux|X z_cmop)!q`F96_Gd+cuV*adjON2@Yed(wahq>v8+5#H#Qa(pDo6r4y1HR9_A5($LY% zr6cbpLN*bOHHs+Py!GnZ67zqw*jZ^VXX%fA{W6qOk&c0g!}p=nC==LW`_*d8{o1O- zQ)GPxnToxI@#@5tBozOtyVibOTQw1##%hbY#v03=Pp1?zO74J`j8ASgk-WuXqwJ|M zhVBeWE`mB4o)1xs39vML1&a-?jx zZp9(61QK$1-9qF#riEg)lHv8vwWh>^ase}x3R--oX%T(m+bI%dm z7pzntSbno5F2NCe zVZBU99G6HaLKX1SGPo-VF6jm+hTykjDW-juq55>%5*huCWAcj78T|qKW(Xs}HI0HD zjHX?@B1_L`fled}Ih$f`v_CIVS{Hl`Sk3y0U2b{B>Z3M*L)Q+!uw_dxG(tP#7vmju z-@tuNb7Hw&4^G|P=rkqH=ut<^kBSyS_!gM3)&>fqzPq$bDBL_a8u)p7eKNFHrn~3I zpj<6V2p;^zJcw>iyEP>uxu4J@UkN^L6=UH_G#KBp+~*x!oZ8JPB!|4f%T$3pBX@v1 zT`Lafmhw6UoKN5_Ou6Hn<&-Z&rsMAmsh=)sLL%6PFeUYm#yErV-HF~7!uZ-If=Z$TFWW3h3zYBZt0b^sQL2?ml02hzM~MReqqQiZ5YI-!i6}n z4Y`h2xMrIk=!yFTp0F$ye=j&6%!{9ZJKs8L_O8J^D7}q5)Ql0nuZj+AldL zNWE$isa{+2X^lzxMneYSr`utZf@Af7L_~j2Sn%ZxRg}rtcR5({^Rel;-ZW^`()PqK@Okr5ETgGyp9bn4W5ZMqd>=$=bQ-i$0;6?GWoKW%-o6^bNU$pyd*p?)3BMKJ_{)~*r)#W5 z42v8exPCO~3WF;}kT_j3;{2sOM2rw}n(yF;>Z5EJk#Sz6lNYW`A9J#TyG(;Y27zw< z$tL$ak0RR-QDF79T+Zfcy|+=qjWT!xJ11zN3-tF1bsh9EjQ^djMe<%O{+s3SR~h7Y zY4|fK^M4!{fKQ>15t;9S##WLlAsSl<+MpYzrr|`%FEF8ZdNyo8E_!~TrmSCR$DE0X z=@R@A5c+k^uOegL%}v2=%I*4L>JSq|r!NP|)WWO!u!lcDOTo(W1!1(v91SYbFO?`j zjgoESa0LBb_0&ed)ts=vv{03gPif`LE#p`aZd%6Nio|0vv+`J}fq79<0r1v|n+?cF%O zxzP?05D$!)*s_R6*AWimFJKf;-k{LW3yo(;IeCJvc7v1NLRrLH3FJ1crv3tD)3VsD z%4WFs^zn?-HF?@C8AV&;74x_5o7Xu&h2M3L^1pTe@9aQ)F9z;ErKmr1@Sj4Iimd{g z5VCJ0UB`WMqhbyrB_YGAzthJa4l5rbX+~86MX7nDJ*}jh;k&4HU8$eyaImCtSOPD3 z5p`=&el%2Rc{Xw_O@l2utAz+@&Odsv zV2o|sr$^#El!{M~D>UvbB6{^*(i%2p)@%Xm#Ky_V$j(y|@^OW_GwJ$DK6hYiH2%s8 zR7k;&eyQvjqVeCyHBL6<28M5YZfQof=vcIv6o%&aFGrp6;C?8y&ovM3bWl5|)jw&N z@VL{lIZlwPmo`kPE|L`p-fK1G7N5Q?J}Hv9y?&Fl@^W>uQP$0-l#Jln(|pE!bZY?O zuVTV>F5+LzHlP-?e&675`EKj!@@o_o7*5?}qPJ&(HK>ZH&X{e8%!O#mYbyB-zaW@s z&tiY7+5qdwnax6=t>Vxb(8t2tCA$aKC)z})HGK13`E)I7&7JNkfk*Z>cT5WgDNcyV zLosp5ja0vx5{=_%;JAo`Dm)*HA~OzXl&gd!g%6H4N6sajB%c<0p2`RIA|3)GE;U%7 zJir#GMFXARszzUR6XWkA8;K>nK?8gHb-^5@!B%75gf4*&mkql+LOUzarg zI|f3$mp;NDG^idfXzQPQUUr7?1i!g0i(SNOf$s~d`u%_S{&gD+1mxu%Cm3I;_fN|X zJ={+x?-*lyTLx1*b4xqZcZS#BLuxn21w#Xm2cToc)BNZExb<SzC=+6w;#Zv5~L7LCU?L?Ha%*W$?k0=^-=14-j!^dRHkHAwhQ%T@mmHSP~H?r#l> zApZx95kG5)`hWF|`&Z9+81G;#CYOJ>bN};}zbEP6)TF;Pqxz@SJGG9C@Hg;(O7!n! z>c6@d#roZSJdY{CAK<@BD3pHz9q|7Eqf9^j0scE3`?t>ENdEx0OgaAm|9!G!{HsT5 z%Krd=Cu>pvfd3t;{5?(p(;sl5*+1j_x3B$soK5V1fKO)sjPu`);cuV}=O3Vq`9Hva nFRH)ic9-inko?aK{L67D%0RxaKM)Y?_piqL(RG{m_pkp01xA$1 diff --git a/src/com/engine/attendance/persongroup/service/PersonGroupService.java b/src/com/engine/attendance/persongroup/service/PersonGroupService.java index a9b3af6..3bebf76 100644 --- a/src/com/engine/attendance/persongroup/service/PersonGroupService.java +++ b/src/com/engine/attendance/persongroup/service/PersonGroupService.java @@ -7,4 +7,6 @@ import java.util.Map; public interface PersonGroupService { Map getHrmCondition(Map params, User user); + + Map saveApplicableOrganization(Map params); } diff --git a/src/com/engine/attendance/persongroup/service/impl/PersonGroupServiceImpl.java b/src/com/engine/attendance/persongroup/service/impl/PersonGroupServiceImpl.java index 61df061..dea4fc5 100644 --- a/src/com/engine/attendance/persongroup/service/impl/PersonGroupServiceImpl.java +++ b/src/com/engine/attendance/persongroup/service/impl/PersonGroupServiceImpl.java @@ -3,13 +3,16 @@ package com.engine.attendance.persongroup.service.impl; import com.engine.attendance.persongroup.service.PersonGroupService; import com.engine.common.util.DbTools; +import com.engine.common.util.Utils; import com.engine.core.impl.Service; import com.google.common.collect.Maps; import lombok.extern.slf4j.Slf4j; +import weaver.conn.RecordSet; import weaver.general.Util; import weaver.hrm.User; import weaver.systeminfo.SystemEnv; +import java.util.ArrayList; import java.util.List; import java.util.Map; import java.util.stream.Collectors; @@ -62,4 +65,35 @@ public class PersonGroupServiceImpl extends Service implements PersonGroupServic } + @Override + public Map saveApplicableOrganization(Map params) { + String billId = Util.null2String(params.get("billid")); + String tableName = Util.null2String(params.get("tableName")); + String modeId = Util.null2String(params.get("modeId")); + String data = Util.null2String(params.get("data")); + Map resultMap = Maps.newHashMap(); + + List> dataList = Utils.resolveList_Map(data); + //清空原有数据 + String sql = "delete from "+tableName+" where modeid=? and dataid =?"; + RecordSet rs = new RecordSet(); + boolean updateResult = DbTools.update(rs,sql,modeId,billId); + List addLists = new ArrayList<>(); + log.info("updateResult : {}",updateResult); + String insertSql = "insert into "+tableName+" (dxlx,dx,aqjb,modeid,dataid) values (?,?,?,?,?)"; + if (updateResult){ + dataList.forEach(e->{ + ArrayList list = new ArrayList<>(); + list.add(e.get("dxlx")); + list.add(e.get("dx")); + list.add(e.get("aqjb")); + list.add(modeId); + list.add(billId); + addLists.add(list); + }); + } + log.info("insert data : [{}]",addLists); + resultMap.put("result",rs.executeBatchSql(insertSql,addLists)); + return resultMap; + } } diff --git a/src/com/engine/attendance/persongroup/web/PersonGroupAction.java b/src/com/engine/attendance/persongroup/web/PersonGroupAction.java index 812188c..7e57352 100644 --- a/src/com/engine/attendance/persongroup/web/PersonGroupAction.java +++ b/src/com/engine/attendance/persongroup/web/PersonGroupAction.java @@ -12,6 +12,7 @@ import weaver.hrm.User; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.ws.rs.GET; +import javax.ws.rs.POST; import javax.ws.rs.Path; import javax.ws.rs.Produces; import javax.ws.rs.core.Context; @@ -40,4 +41,24 @@ public class PersonGroupAction { } } + + /** + * 适用组织存储 + * @return + */ + @POST + @Path("/saveApplicableOrganization") + @Produces({"text/plain"}) + public String saveApplicableOrganization(@Context HttpServletRequest request, @Context HttpServletResponse response) { + try { + Map paramMap = ParamUtil.request2Map(request); + Map dataMap = basicsetService.saveApplicableOrganization(paramMap); + return ApiReturnTools.success(dataMap); + }catch (Exception e){ + log.error("execute fail,catch error: [{}]",e); + return ApiReturnTools.error("500","saveApplicableOrganization error"); + } + } + + } diff --git a/src/com/engine/common/cmd/QueryCommonCmd.java b/src/com/engine/common/cmd/QueryCommonCmd.java index 6f8b273..0392b6c 100644 --- a/src/com/engine/common/cmd/QueryCommonCmd.java +++ b/src/com/engine/common/cmd/QueryCommonCmd.java @@ -4,6 +4,7 @@ import com.engine.common.biz.AbstractCommonCommand; import com.engine.common.entity.BizLogContext; import com.engine.common.util.DbTools; import com.engine.core.interceptor.CommandContext; +import com.google.common.collect.Lists; import lombok.extern.slf4j.Slf4j; import weaver.general.Util; @@ -25,33 +26,29 @@ public class QueryCommonCmd extends AbstractCommonCommand> { @Override public Map execute(CommandContext commandContext) { Map resultMap = new HashMap<>(); - String tableName = Util.null2String(params.get("tableName")); - String columns = Util.null2String(params.get("columns")); - String conditions = Util.null2String(params.get("conditions")); - String orderby = Util.null2String(params.get("orderby")); - String limit = Util.null2String(params.get("limit")); - - tableName = tableName.replace("join","join"); - conditions = conditions.replace("in","in"); - String sql = "select "+columns +" from "+tableName; - if (!"".equals(conditions) ){ - conditions = conditions.replace(":","="); - if (conditions.indexOf("in")<0){ - conditions = conditions.replace(","," and "); - } - sql = sql + " where "+ conditions; - } - if (!"".equals(orderby)){ - sql = sql + orderby; + String action = Util.null2String(params.get("action")); + String mark = Util.null2String(params.get("mark")); + String condition = Util.null2String(params.get("condition")); + String sql = "select sentence from uf_sqltool where action =? and mark =?"; + String sentenceSql = DbTools.getSql(sql,action,mark); + String conditionSql = ""; + String[] conditions = condition.split(","); + Object[] objs = new Object[conditions.length]; + int i = 0; + for (String str :conditions){ + conditionSql = conditionSql +" "+ str.split(":")[0]+"=? and"; + objs[i] = str.split(":")[1]; + i++; } - if (!"".equals(limit)){ - sql = sql + limit; + if (!"".equals(conditionSql)){ + conditionSql = conditionSql.substring(0,conditionSql.length()-3); + sentenceSql = sentenceSql +" where "+ conditionSql; } - log.info("QueryCommonCmd sql :[{}]",sql); - - List> resultList = DbTools.getSqlToList(sql); + log.info("sql : [{}]",sentenceSql); + log.info("objs : [{}]",objs); + List> lists = DbTools.getSqlToList(sentenceSql,objs); - resultMap.put("data",resultList); + resultMap.put("data",lists); return resultMap; } } diff --git a/src/com/engine/common/service/impl/CommonServiceImpl.java b/src/com/engine/common/service/impl/CommonServiceImpl.java index 07849a2..0336f53 100644 --- a/src/com/engine/common/service/impl/CommonServiceImpl.java +++ b/src/com/engine/common/service/impl/CommonServiceImpl.java @@ -6,14 +6,10 @@ import com.engine.common.util.CommonUtil; import com.engine.common.util.DbTools; import com.engine.common.util.Utils; import com.engine.core.impl.Service; -import com.google.common.collect.Sets; import lombok.extern.slf4j.Slf4j; import weaver.general.Util; - import java.util.HashMap; -import java.util.List; import java.util.Map; -import java.util.Set; @Slf4j public class CommonServiceImpl extends Service implements CommonService { diff --git a/src/com/engine/common/util/DbTools.java b/src/com/engine/common/util/DbTools.java index 4562792..8569c30 100644 --- a/src/com/engine/common/util/DbTools.java +++ b/src/com/engine/common/util/DbTools.java @@ -74,6 +74,7 @@ public class DbTools { RecordSet rs = thread.get(); if (value == null || value.length <=0 || "".equals(value)){ return rs.executeUpdate(sql); + }else { return rs.executeUpdate(sql,value); } @@ -82,9 +83,26 @@ public class DbTools { public static boolean update(RecordSet rs,String sql,Object...value){ if (value == null || value.length <=0 || "".equals(value)){ return rs.executeUpdate(sql); + }else { return rs.executeUpdate(sql,value); } } + /** + * 获取sql语句 + * @param sql + * @param value + * @return + */ + public static String getSql(String sql,Object...value){ + RecordSet rs = thread.get(); + rs.executeQuery(sql,value); + String sentenceSql = ""; + if (rs.next()){ + sentenceSql = rs.getString("sentence"); + } + return sentenceSql; + } + } diff --git a/src/com/engine/common/web/CommonAction.java b/src/com/engine/common/web/CommonAction.java index 82c38db..39caab3 100644 --- a/src/com/engine/common/web/CommonAction.java +++ b/src/com/engine/common/web/CommonAction.java @@ -30,19 +30,19 @@ public class CommonAction { * orderby 排序及limit * @return */ -// @GET -// @Path("/queryCommon") -// @Produces({"text/plain"}) -// public String getBasicSetInformation(@Context HttpServletRequest request, @Context HttpServletResponse response) { -// try { -// Map paramMap = ParamUtil.request2Map(request); -// Map dataMap = basicsetService.queryCommon(paramMap); -// return ApiReturnTools.success(dataMap); -// }catch (Exception e){ -// log.error("sync fund status fail,catch error: [{}]",e); -// return ApiReturnTools.error("200","查询失败"); -// } -// } + @GET + @Path("/queryCommon") + @Produces({"text/plain"}) + public String getBasicSetInformation(@Context HttpServletRequest request, @Context HttpServletResponse response) { + try { + Map paramMap = ParamUtil.request2Map(request); + Map dataMap = basicsetService.queryCommon(paramMap); + return ApiReturnTools.success(dataMap); + }catch (Exception e){ + log.error("sync fund status fail,catch error: [{}]",e); + return ApiReturnTools.error("200","查询失败"); + } + } // /** // * @return diff --git a/target/classes/com/api/attendance/common/CommonActionApi.class b/target/classes/com/api/attendance/common/CommonActionApi.class new file mode 100644 index 0000000000000000000000000000000000000000..0a45332890a55b7881fdb7d3f9a8b3c9940cf634 GIT binary patch literal 432 zcma)2Jx{|h5Pfd*0coHRx-h~-LBb0g2q~(>6d?pCyOUbfD6y-=Y57}BNDTY{eiY&y z(E%oW@_oEJ-MhQbulElC7nnpCVn0L@;(#HzQd-$-hT+LHXYgibE*Zv|((<;e3)wu1 zq9P>8Oev~dG|I(4pl27VWjM=9Q**IYTv#jhTm`pZxi=SP6#1`%YU`%UrdJ=u)kX6|M!bC7G*v;p>(+Ex!|XK~4RYs5&<|H%r+F zyWx-F!DpEMdq9R`S1a`sU0}1sS{A<+!4U>@ME4j8QIHNO;(ZMGr*B}d1Pl<84hROe aNPxKaeQYD@^P^tJ*daTj+%Elbi@k5(S8PfE literal 0 HcmV?d00001 diff --git a/target/classes/com/engine/attendance/persongroup/service/PersonGroupService.class b/target/classes/com/engine/attendance/persongroup/service/PersonGroupService.class index c744e1d8ae18d6addb882bc9b2647b8b8f0b1b82..dfc460df35fb073d30820efb40dd61c9a20b1326 100644 GIT binary patch delta 141 zcmZoff$?3=9k=41DYiJnRg-69uj~NfjrSr8*WAX(*e=IHw-7FcVd@fjI%G$yV!ow#O~HWLdY12Y2)10w?~&<-XB SHXxs!fdkIx1hTlmGTZ>1;vpXZ delta 56 zcmX@W(#R}u>ff$?3=9k=4BYGtoa_u-69ukJp3K-J&B(&Yz|6qHz{tP~lxAXJ1G3n` GEDiuLh_?(Uhb$njO7YrQ4 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 delta 592 zcmX|;%Tg0z6okK-WaghtCX0|5G$;~6L;G)6?C5pYzXr?)_a@+W-6QJ21&cNP%g?<&Y~}HC)S( zrx7y4^^hCf%#!9-$Zci~bBQ(|a3{-M76R@CEGE)@!-J5AJTg4qZSJ_voc-hO+gy4g zb&x~0k)HRTL_Fo0-AOm9C3+3dBbIn!SdMtftB9k#HoS>gq3KYtdAHz26ggmXUe$ja z(PGt3c>}2yvHj#t`)d*FyxaTXeQ`=7tq1)5qxosqg2ifH z7X+7blGj1nKs|+n)>AFpU%}vLpSVyy*>G7H;@zaOJo z!Dmq3s%8wyQ4@2FF@`%Cv-0>-D)OY{D#|yc31zW0Ax}y{{$Z)fAL-6Y&~ZjO^CvmM zs5TpuUQ+L5Y%~5pWLzO9CHgokhB~K&`xG~!ep(S{HkEcZ0n0d>OmR*^&J}T9pj!hj ibU%iein!#-^yI(NvqyGUFODKRBUFnx0T%^aF8u=?Q$->G diff --git a/target/classes/com/engine/attendance/util/ApiReturnTools.class b/target/classes/com/engine/attendance/util/ApiReturnTools.class deleted file mode 100644 index 1f7cb7d3f50c5042a06c1b87d25baf04371c027e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1407 zcmb7@dr#9)7{;Ho4c2bsR$yKbMY+f>QbbUcg~XV6%g{s!#y?AGO37%Kt~2pJ{YG9A ziIVsM{7}Z{oYoE4Vl++8TmJ6WvC9ZlD=xGRuxTY)c7tlPnn=>~z@a7-zgPdID{4Awl~i#7$)i=|zf zKMM98fswlBJ1^Qtdrr7x?KP+v^}x0oyH@DQeIjO}1Ft1eQO+IT@6fTM4H;42_FUg$m6`0bb20yp-Eq>FOsmf7_IH*JolUx^K0~B$AI~^BsiHf}Z z9%+8S+zC=|j*;G~8kzDp45ab8Y7AE5)n{a@U!i@ZU0V4zh#*+OGE`CF6k}(YWoYnpT0sZ}(LI~%oXrtzp1TwlXnnI&;aTMe$e$q3A{D+ME9=ab O;~3Xj=WbD5E&T?2IYyWO diff --git a/target/classes/com/engine/attendance/util/DbTools.class b/target/classes/com/engine/attendance/util/DbTools.class deleted file mode 100644 index 86aebd1b399ffebad7da7205d0fc9bf6822ae050..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3506 zcmbVOTX)n{6#mkgPG-^+N@2k9MumzkZ5co;(5V$#)Ph63Ordh|ayk>Hp_!y)l9qbE zBZ`+-UwrU|7aqKQr(_&uaEn!#llYy-0l!aALkSUo} zTX?=}DA<1EQ^UmtL(Cg)zU3-Ip$PoXm!!F zjS0UtZMc(S+M=X0@OMI`Zw$vEW!OJ-6uRI1AGf zwdsoJu6x2W%iY@*Slmeixx+9s=9$33`LM-F$YIIUwA ztmEtr+n#mZY>WM_D;C3k1nJgM1N*9@*;Zk(>2NTrV-9B&tZ8bGi~0;f*5RVA!-LOS z(J_w&6;&N)VXIiw@e*Fv@d{qm@ft>HeAIEgy61|y!-hBGRO+i!c)bG_Z*O$qfQU>(V59%wXv$~fZ-i_M>n zGaYUBl2+X~Ym|M@c-lAIMb1*&I7@3BtlVp-<*{IFO^6!F%l7o%Z~|py(Fem&!Irq6 zXhy{&i$ruW=hM-i`0*&L>+^^kXrz`96~1Kdm2g)br)n8|Rn%&Z&6{O$3g?L$6W45G zA>us9AU1s>F(*lz=Mcfg~dKD?22X7yF$gz83XXJfm4|>fngPG6f&3i`Tvy_>%D?(ZzKLtGKRVgq{4YW!&qq1M9Je&^$s= z#tF*=VVNN)XL)~(pqyh~A5dH7JuU||Iw~9S_>KeUgRP0qT z6pB=^Hir49kci*0`418kviUIS7-3)`9Yq?Jocm2WzC-8#qM{Hmkjy0|3s(nIi9t21 zW>a5aQ?50u?i@-FKr z;~Q`kbvzbeJ;I7RK~yBxX`a{_Ae@xRG!XV12+u|cuR@jB^+pKGIt?YeB3uh-{R>?I zhy{u39Z1J;je&ZNC7q0K(Q%0IJ|Zjw4!h+&8cuL;po#Exh2Fkg=<6;8Rle>L6%s@N z%ui-?h{!y_nkzEfi6Hx~&}bvmfkvjAqfBL$WYF>_?q)Wb4owczD5fs5FR%0!B-uq- z*#Ju5E^Oj<0{Up9-@CadFa0tr65nCNH)xS9t1n=mlvE%jUoXiR8kEPY0%*bxp@6Wj+J(I` RwqUJBLAVf2Ocp(WoV=7}T#BV7-L8p0%ae%*e}F&A zI9<5YWF{XvI?FW4@fC z9gC?VrX8C^sEM%B;|&?Oxy%?e9<)X~P$J8aU?)z@lA}&ZgA30M#|p>h4RtSGh(?Lolca=sCkHPZe}4IH6VZrgVXIpFgWu? zTb|9}WSbORLy11cFGfc9Q>;?PDSD=I`33Bgk`jdEs|DGF8s&|30n}lKP(avMHDR}i RE!ZpAeezLZj86Tk{R0{phQ0s* diff --git a/target/classes/com/engine/common/cmd/QueryCommonCmd.class b/target/classes/com/engine/common/cmd/QueryCommonCmd.class new file mode 100644 index 0000000000000000000000000000000000000000..dc041012ac428771774c187d9d3445545cf8f69a GIT binary patch literal 3545 zcmbtW%X<^o75`n0tQn2QmLo9k+RsVu6y6vW47p1?e8QEjuHZ=8T-Fxo6=XKBd zopa}p|9ay#fZh11j%_%f#TI-(#Y;LAoY!zLhnMj|9TsLZ9MW)DLsdmhhmBbcbq#Ym z9L%e@pkol{<=|>)Xz(=na@CaQ7v&Jhp`{^|CfXV<N*!-u53S9EfG zSj9(ld=%GJd`v)b{klM5+7IfbmOHz9zBKLE>vk|HklE*WPI!Q)Bh&NNC9Bj99k+DC zYEF)x5lBz@HCrG*?RfUdc4Nj4PFpiBcc`msxo51vk?VLf9nLu|fo;=OzfrQiI)zFk z8@^YnHfp73+jg)p)mcw9YSMPo3akbt@;#;nHmuga(CpfHd^PL7Xz5yBy;KPU$E!~! zc23RA+tqOL0BvO}PTjM@c0lK!?78YaDv<%{uiGJGH|2YweI*na8yQ{Wwzd~K;X>(% zb9IH6KB)E;yV?%v!TyoeQh{A^s4=M8&Cm}@GDwzJi>*wKuD&xhDXlP&N$6xOd3k{W z8Sxcif${&v6ay95t+pEy0Zfop4ISSj4jNW)foE0Ut2xn@(z@shE6{oTb;(N@j1W11+ zw5k_)?GBh(J}N%0;)aS(s5q+Pm_YUaN!mSnB5>%PSm{7uId0m%svB3eG9po1TMdCu zMb0=^ONVEOBjz|R$_O~`JcN41Zxg~t9oZq)tuFV+BvcKI;spac@os_pR=UkGt2M{K zGuj3|iBGBcw1LmyvjUSX+hqY4yC5sh27aU1o_(3v3w_@$UY@f9yBMLgxc^|0xGzem zk|tbMsv`=Giq9GNJiZ_R0&AS9HSj9FC@{Rj88wk3ZO5(Ifq^gK%VaI`S7tdx77Tm^ zUp4SGeBHn|@J$2X!nax6u`>o9#fX4T7mMZMxofZRJ$TK)cko?Si$r_8E4RL9;QROi z%d2LE49*YnBLh!jufP@-@!NJ#6|WokF@7Sj{ciUEm|pg*Rowrz^{^~f($r}QiJ(TI zVl!e-WY>?IY7&ZZ<4SH37?*A9k{y)lwr2;HTY8QU4nyO$U3a3Z^6ivGe5~4ytM1YP zcBl5AnmJ8;uxDiGT&EfBP5KwhCtFfnJxQ0Bt@O2;uERS%x`vL?q>^QcjMZ$~UQJ-f zS|WFK!WeJ7kQVxp5`p!6TY7;>j*NY=ZON+*B~^Fbe~}C>-`;SJi5VGX_sq81vdsB3 z@>v}@etb=(gT0>y1f}E6`fJ}g;a1l!yUa+^pEwf9;3Qa$C@ZIZ*~SH)xJSvJX3tN?cJ+ zwoYoCAZ>7tc6O24O*)0gN$tTC9Hq5!&XOl3e$hFVRx+KP;g0r5Ln_wJC}J;lP%?Fm zeh=~*o8N?T_9oIN#(slTp>GM96mCI1*;#7cWjWnhXP4J~1-+axGktF%cUIX^Ih!`q zm0K{%YN5ZZnSF(UMdZs_Gkcp1WnI~mGqYvGG;Z(dSN04H4Gi_aj$@`VG%!)lzllLQ zaG$9yqEJ}J!OR!dQ(T#l8$%oxv4KkUpaXxX;XzYf!b1uqz0uT{ut|Zbn))pi%f@(NvuP~hVFk~R z%fO~P>3a#oq#uNahe&N?`ZqBVMMzMb!o#TG5u7JHYS@Z8L2{iOKPN;M36CYNf5*W8 zftvop)cl?4zJr}2$9Hl)c8N_)uY|*^1j%)#sZ6bTnVv2%NbSRZrdAUs4iF+K3=16x z$*0iHKXHgun*RI^he`GE_g5U@n4xcf#uO=)9{veWk<#er@9`cSB@AnL3s2)1fmg>H zIF9!sN00jP45kS{2}23d$m%WvEjl~Fvy(jA4do76$g4P|;(aQfRq_72{wpd@3tAV1 z>Ob(zE=ox#KR0-oH$B5UNht5+jx3za*!D#{(hKK&0?wH@CK{e+xkb{OIm^FnVaqLS b{WTttRmTrwj!`}2sXQ`!7B6x)g>(M~?H!V< literal 0 HcmV?d00001 diff --git a/target/classes/com/engine/common/service/CommonService.class b/target/classes/com/engine/common/service/CommonService.class new file mode 100644 index 0000000000000000000000000000000000000000..6efaf33323515c0d27a62dc81f2a9c8f94066410 GIT binary patch literal 383 zcma)&J#NB45QX3H=Kw}RoFHA2Cfm?CN`sUth{7jWoRPK2UXx`PDOXFu0XP(5u!RJ! z==K|ZJ9=-9r~d-V|!7x5-l>!C!9Xo%;QCbC;@s}wi*{qqS z?Di((_e&|lOIDSNZEh?pc}im?3oe4X(+Si13U!Yr^?*R=$mxJ?kI+R=xG&VfKsajg L(=CfRtj*CG)k|pX literal 0 HcmV?d00001 diff --git a/target/classes/com/engine/common/service/impl/CommonServiceImpl.class b/target/classes/com/engine/common/service/impl/CommonServiceImpl.class new file mode 100644 index 0000000000000000000000000000000000000000..405849a0f2a34945df73d5154da907fa627263a0 GIT binary patch literal 2759 zcma)8ZC4vr5Pog~>?SOw4Hl$D1WH>Vz*YpM1W^mcVtEk)RKTiBatTW}yJ53Qi?#MI z`F0M$9zA~cZ}>kv&fQ&--GE5W$>!de3$Bdr znYT=}$nCP8;i{f580xGmOM9XPl91!(!xFcTyc33=fyD!@tf?hOH`FDqkQ%JpGc*=7 zTg!{s!kP^2;n&Bm;q$s6wEYYzqvE!LKHO696kjv+XU@=?$!FEo8gaAvthn%vgl`pS*kx!5k;8DU zwtu7*_la5sJ?LfV2movYh`Y$Ic{=WGt>>5EHrh@l3|Q_&Hw+#{2@`#sY{wWsf1B# z!Z>xQWt2HpH^Z%9guaEkX+YHUhFGXs^lHEhwk5AU;~VZgNFP%0bLUtNPdI;`xv>SN zXfU}9-T&cwZg<_X1e_+XH5mrZakz61JKLvy?mBuvR=8$T?UXg6#8>uc*bHn3N%A!) z4bei0NSzG&@ku?$%~=t}YV*8Rrt)-?wcrj(H(3)wo1tlcadtZDOLbn$Pivy%03gnr19L`)Q}rFB8(CW3ZoS5y5SG zHo3x9+@ZDNDc~*!XvZ*!A<`0;chEp9;QG+7h`d2`D|w8D6EsHfCz^hwgJ{55n`^Ay zyWkt6t4Ly)jE<1D=SWCKNurV@f_t=juj;TufkjEa_6E|{G32G65lh6ACuojhIH4pH zEho4VK?SYJ#MRSf1=o^^L||7zTl9ClRl)TN+E36C#gpM$v2$e~ z_jsPGk+1oY%k*wEMi?S41`nS&6BxX+Q97%kdB2M0Z}QYgzS2Q7Z+mExiOxX8%Of>p zQw{FsMuehHD4h)>72Lc4PB*>Zfryuh^fscskC;=5mPrD&N?-)T<6an5Xz41n$3C<^ zB4M0BM(J)pCh!4;E-3SoBJ@4DLSMl3^haHNk470ER*SBeQX@XGL{|mx{DPP$JSu8> OdWCm|c9XP=;Qqg;j=!q_ literal 0 HcmV?d00001 diff --git a/target/classes/com/engine/common/util/ApiReturnTools.class b/target/classes/com/engine/common/util/ApiReturnTools.class new file mode 100644 index 0000000000000000000000000000000000000000..aab7e64aeeb8429a066ca201e8b436b904fa5056 GIT binary patch literal 1399 zcmb7DZBNrs7(I6zwB3e4f%$?c%KJ7cA}Gp2VoZF?&_oEvk7YEaWNVkMGx3}LBVQ7U zlK2DsQO0v`>jrGmm?rn-+~=Nio~O_K`Rn@+0BfjZaREgQr7Th?>L}-M3(Gnz14CHJ zB8S^LR(0IbuqJm5UDt3|Amg?IU!YK}1r5s$0=Mp160)9f*c2G7c)k~H38WX7_89&s zIB*1ptDf(?XgBtqaM#|i6EUkn&93j+p(pnVn28R(mcW7{cYK$ZEb25!-;TVx^|0x^ za-w$V?*>7=MYRDZ41-W$W3hT)cU5Q9oUhr z%>9?*%l#v#7HvvJW5;uSn^k7A&(3N7-FAnhuQR<;t0%pY-3i)Z&3Wv}P8d7;SC?f; z^B9FGFxoBeQ@eGj(#q7>Q5x>$v4Q)nPb2;@c?@GDj|X4|>D84Lww|nnz<9q#6_}Io zKU+*-q}x|p zLD?z9WSF5ecsiv_2xX#sHrqLyrLj5gQkZA-LZ`wriU-J@Ajcx*zd)09X1j5W>uhkh IsID&k2IDhBbN~PV literal 0 HcmV?d00001 diff --git a/target/classes/com/engine/common/util/CommonUtil.class b/target/classes/com/engine/common/util/CommonUtil.class new file mode 100644 index 0000000000000000000000000000000000000000..ed279180aa67df597229afa75ee7429f668611c6 GIT binary patch literal 3113 zcmbVO+jA3T6#so`lHH~YZ9{1(D5e6v(Kdh-u`LBD7b_*GrBy({ZL*}>rkj#%xQKX1 zQBd*rpbz@U=#!VRSREaod{F-aADr>Q8Q&de9K6)ux4UVYq+=Opns3i{_S}Exob7l2 zeDO7at#~_xX2cX63c-h%iU;KLL3uo+Vz>&2F;az5JY0oGa6}$Q6&$OAhDQ|~S8+nc zNqKurYUm*>$Cy0gDiSJ;O035z70D`$!&EV$Vp2s)3QVc6q-Q!wtC&`CT17@dHUt|v z1!n{*Qt6~XcqpAoMzg6?TPLDJ>15K#^a=#~Ov|+UDbw0ED&QYTCk%n=A=5Hqxv4QD zb66iskwfLUo*LCNro4Mhzdded1=bD4(^FByN>V9Gaw=^_bGDg^4mk7(NqSl~rB51z zR@TVa!>3aM-K|3t`WZc%(ye54*v^<%ve)G}x(D^?-nMcH0l{bjdo4S2UO*ePEF&|J z(z98EfvhanU++lKb)_wXj_FfQB4u8g{FFW|vvyw1yQiXAh__+= zpU&5$BnLN!zVbvCa1M=47;(F|pOJPKhj7b!%Z6<|KFOLn$grIhoKB%6QsJn6{a=m`tu<{@Rk}Z!wwwRq;hD zp!UU6-ZX`V)45FC*k{VwsV>Yxm+UYNZD<#0C~d^uIWv_oGHh$N?INaSrz0B9<8cia z@C19mmAGoSh$j_1rQvBjLy$E*i{~^vk4pk8iaOYBJ`FF(S2d;XXs(0577Z`rlJs&} z!%KKs!xda5zfC}mINhFQ3@vD-^`a4u^c=fzk&X6>hF9^Lfa0PP;gCeKhRr9J*)_Z_ z;M>u{qlMl=k+b7Q#)xd*u~~}gR)S)6((HWaM0z69u0Ye0TSdVe8s5ZPMaj9-#C=m# z3U08%eb6>Cx}9dFgZlKeVI>4Q7ip(*kUfMrsH&ZIcNW8MEfuD5(7`k4FjaJt)?5K}Q5dMiCTyk@mBm*GKq2qqlZuVOSuB(6<-CNe zT~jenpi!C+*LY&J0y79Z*Suhl|N7kfd21E4x5A&8L7miES!$|6S}S|s2}yZ?IxrKSZ?QLgn*`c{>h^cBEsu??DftDY*LoaB@($@P z;<>v%_g-GB7||wAfN;z=SRtPM3**Tfkaq9n@gKh3hLU++pZiS0y{^-NyR!gy7phpe zW`fy5AX+iPak|WTxWZ=mfWZEME+G&Veryue1UCA;oIw==)$-9s6 z`{>~h3_74osM`s-Yonhaxi%yv<+nqE?rQF&<}S*wM&NHWyMX@*{U&^Wp`GC0#6b`G w`=PS^@~fc9nR8Bfc>U+t@F^PPIuHxifkMMWpeo%aaBBQXPPjY^)erjHNW?rg3keQpGx7mX60h5qCrnnxoeo}mcBBQvfPjY^)erjHNW?rg(Vo6DAUP@wKa_VLi#s^Gd%Gl-9SZ1>W0OmUu A=>Px# diff --git a/target/classes/com/engine/common/util/DbTools.class b/target/classes/com/engine/common/util/DbTools.class new file mode 100644 index 0000000000000000000000000000000000000000..bfbb820126a531ad5bc9f93e9422e697805f06b2 GIT binary patch literal 3949 zcmbVO+j8616q(~!n|8hKPSoWpliJg?#f4Lz7op{ij4=T%(Lkieq2yr|+O z4LatbvoKpwj8t4ZZ4VLg0We+*=i{mEZ5v-(R3O# zVvJ_fb&74@vWrhIEx4}TVi>()`qeA;f?Kv)zJe!*BS@>hXE}}1#mLgRrORf`FO39C z(w8t4cx$fRZaM-`myyte0<~`V#=NmAGLYNSlnb;}154uF7Y)_1jkm6l@t!rqZZqF) zXF@m%Vjj&8+=EVn^UPM;W`6yV=ppd^+X>uQ-6HWsNKMu3aB65(x9!!;XDl%z^swKLiq_NdFdory2wzdLs^bbg1-ZM< zAvRmLSI>B!u@MXjum*LsAo{7>>p=(TXk$jl8rBu;?OM+otz{~&<0>|Eyow*PfOY%` zKUUGy@fv&;uj}{;eyZbV__>ZZFvE1Vs9>D4uIsma&sd!|{bje_+LOdD`r+~RW@cn0=g1#=SAfHGQfxzs%?ipF=xo)13DbL|d$rTJxlkS1eP)eFt+J?=+ zl#A9wxIMyx(ao!7t?ir7w@q(@Gu|<;(i;ap_j>7hMvl~q(WHjC;gP#e$FwLqIj9vp z9*q;$Y7|+x#1N}(209r%9>Ut0N7O+lwYX8|%TH3>aNUO8dA)F!+k8V5$r=;a9CJOC zUS<$@myWw!iyq(oW)SlJwo#Ts&ohQ?S1sQpQ-4zM*baW~mJdtl{^#&0MNad# z7i&q3EZ!gDQw(24ir+cOcpcT^t<9{Ze1k(p5(Z}mvBFyr$kLU;R1oq=34&pTF znI$n5QnO5IuJZmGX?cspyu;i?-m{$7%jn0~Fia|EX)}UR`mW#<#!%p|WM+wPk3(ebIIX*-7OG#0Z3MBFgp~9_+WPC!+ zsk!8bIGpdvsmCW%J)QNjZ`(xd_`8%(v;j%sx6NvmXqcb}}9BWO^jbR8&bCvH#*BW|Nkfo(?g!LQF>rY`H?va#WEm z*E>2EwA{dr(J?MXko3uj3uOE}k-Qi|5kzD-_PeNUmK?u{+K$OuO(2#P0KP@#0#e?k zFOk>QtQcnjjc8p!W$%T@t3-Z1gFe?F(4EvM=<1iS#ZyF=HZY` xm_zRi8~{GU!A}qqV{yAhoC1nzTE@G)Yux=U{(#?csF-{fg?Ndu8XOYKS3<(b56u*z??X5P&x MriEROgH?+O09=|O4gdfE diff --git a/target/classes/com/engine/attendance/util/HttpRequestUtil.class b/target/classes/com/engine/common/util/HttpRequestUtil.class similarity index 65% rename from target/classes/com/engine/attendance/util/HttpRequestUtil.class rename to target/classes/com/engine/common/util/HttpRequestUtil.class index cee903aca1bc9ed448912c60b4c8251ef01316b1..4672e64532c1c2ec2b4235167134bdb749d7cedf 100644 GIT binary patch delta 88 zcmeBEZBpH^icwg@CpkY?KQ%8sGcQ#i$jr^p+kB95F|&{bhWO-zjG~+SSr0M_sbQC^ IW*6oL0GtvZ-T(jq delta 92 zcmZot?Ni;bicwt0CpkY?KQ%8sGcQ#?v7{t5FC{TAId$`1#>LEHHrVBgSg$dPXU@Q@oRTD=PpQW)o@v delta 64 zcmdlcv`=V*D5JQlPjY^)erjHNW?rg(Vo6DAUP@wKa_VLcMt3GLW$bc|%v)Ij$<7vv diff --git a/target/classes/com/engine/common/util/Utils$1.class b/target/classes/com/engine/common/util/Utils$1.class new file mode 100644 index 0000000000000000000000000000000000000000..bbc4eb6efb7a74a0830f479c3529b776cdc737b6 GIT binary patch literal 535 zcmah`O-}+b6r94s!iu8!aWck459-0y#2bVQ(Zpo&0&*`)U8G~}U;6#?`32wx2LZ}x`PlWb$58D^Ep3;fe0Dx!@Oow<7@CpP;vt`n zMLOhTMNBI)F;^p=N{5%EXQwh_XxwWp(w^d3CI}u!v6+QJC*%=QIWs!UtyJM7h3xdY z%}^i6M01;`e9JW+qXJaCZpqhVW(!|W4{3p6^5hrEis%p!9Ptf z9Ims$6-x9qZZKMOFXbv#A!Wx@E#@!G$L=%%i7a%J)WvD~3v}7J8ewHf}7k+>r zWxO4TOKj77?>Rj^?M=UbKED85W8Xs=Z5KN(b{VQ2sb$t>D4(8<7@VG&2!>WDwYbmc zW04H`SP|0>O~loRC(_~->10!xGBobA7D-R>G!+Do!pO{hp=0v!shk__=b2RgBZc(j zDqyG&WUP6XC*=H8$YWz-^(Rlnvl3C}58oDIXkLWwgfsrimo|OASV6^g><_X;>Nr>m z3g%%vqr*X$CWALHc@l|RX}j=>CtO%BYVt-$%A|C-FS4nbxY%pJL51OPeFF@~R`Ac0 z84lLj;1VVJ2s;=px|ed5Dxb1tD(4?y?^KlFQmhta6E&(EO9ATGAmk9XswOsz+`?AD NZd3G%#c0=#+AooLf(QTr literal 0 HcmV?d00001 diff --git a/target/classes/com/engine/attendance/util/Utils.class b/target/classes/com/engine/common/util/Utils.class similarity index 52% rename from target/classes/com/engine/attendance/util/Utils.class rename to target/classes/com/engine/common/util/Utils.class index e9acba9706f4d4bd11e5e2ceb310ac8a7571564b..49e51d35c305ef663c2fb80bf5fcc668524e3e1a 100644 GIT binary patch delta 126 zcmX@Xvx8^CA7MG4PQ=}Y*xPEC#W{!R+kSJC$KA6#g0(W?6HoGuq?1`){a~!lBz1hyRIVz`YKLPx1?WleQA-b z2fh_0LTfZWrdO%mKIHnY8m5Qdz8QhsXfQ_$+bUEYZ`NmJIBm~*T}A> zsRcI@IJAMkdvZ4QHR32Y@abw-O{xnTYgMW-e?AE7ww4Guy_H4#u6;iS=}BcRDAlm8 zaM3u)n37*NWu(emUW*!mAIWlGe9`i3zh+fc==wFf&o}JQu3xtsIy~*qYAV;W$e_@e zvy~mo1cTkVM*re{M>f(3j4%NraAZp;31YepWr9jz>o8ON%vCnsOO2J3pUy%bT7xu= zbPZ=>c2PR2Jj?*Qs>*imFv7TW>_CA%Q%zsFbvffkE^9jC`+Gc5)jE+y@y@h25c^e4k$uIb2#_X|qiS60KbT^9a87Qv)0 zkW@0vK-rrymW{4HSR7ednrHUcxlrYszEb!DS{LzlpurCot%2I!nfM$x*(aN;Cf?FXH1Rt282G}(EqrO>E8I3f z_p@*Wdg5k{n|ZYvP3*#Mnva%zr!?R6=SmT4*NjT@w(A{rY~?JJWEckFxzf#VzP)8& z&Vr=%u8O zj{9*C1F`#I%G*%n`4HW8^K_V$2G>KaBjgc43QkkK)YlOX(8d5mIZApL_r%7rRU5}> z<2YsQ5d4#1VUYAbN>6Y