GbS^wT&qAIfSOHYo}W4lUIW
z#^(x^CuPT>vq`UN2~{Z9ng>MJYI1F451wjgEKiq828!oBFIGvh_bptJnyTOj^iAGA
zl}mS@N*q+5_(XZdU`)#mLHG(z##zgJvDJ;p(&rG9nkmL0(}Zv23|zS_xoD(OyB*~0
zUipAIhXKoHV?11}uNco-sE{nx_GuVhnhJDZ
zQPm{TA?RbT;bGNSnT(p@?D>uTRUC83Oztl_QF7Dxnz7tSmPQW3X3sm=W}Go7w*lIv
zS(BEf;T<>twuj+2i?hnxM{FY|*2UFknY%PJaW=tXA#b%=KXV%}K`=bGzJ(01ffZDs
zTTPX_|1RxF=q?iuS0+rlS8omJ3b`V0wZRR;zI_^w6%Y!3%{G>bFHk^0*VUhk#TIPMw3a@3ME(kEe
z49%5aC&i>Mqaj`wC!Zj-TP`*TVi5SsOyNiYq`b-O0A;*K3@O5c*Uy}10k(co`(`@hr1I&BLQJvl*CZ9#1y-|<)@C%h(4uNyP9;jkzeP(
zXHDRKcog`4#Q_8a9E5v;@$dlggyLok?{Q21a0~wc|8UCoa08+3y}s(TztP9$vcs$U%!xeQ0jae55Jpx734(Qn-zNAAm!mCoI4DOzEL_q<`j$9%CPl
zKyM0VVGhO&j)Zvl;-^#yKpO(`lBxxw!h~nxQQ%O0itTq-B&&W{9<9~YwgxPVZjarT$>S0${gq&e|RAPzeY|h#RQ15-Ft>9sK0vXU1;NKQ{&_2@e4l3|r8{Dx6L
z-}`syPxXsb}lxfr>=H
zj3OEw3!UO#mw{1|T03Q)=BaYue8C>Aa(JLQN!4>xY9O#@)giZPe@gqN#1L+;Y+9cV
zK4o_wHpa-w&YX6G0DVD{`M@@v{?xo2@=ABlWw@z)ZxWO=Ci~@ZT(@zzO9I(hgc*RQ
zhdK{6I?E(NcG6u9KS4_iuA*6Nvn)R^HZE&YzJ&hE&DWT_X~U$GOY3^+ht7UKDNH8$
zI2`Yink9O65SN{2cJ5O3)L0AB0{;}6o-$#08J3CLO88s}iv$)I#R48_ewDMOtSXT1
zh@xZN<@c?4j?hLf?E6#GvWs2X(m~{F)XhC~yIF0V`U&%x7J6U+RmQP9CB!Aananh$notEAybQ<^?Yu=mwS1DqHn*wN(I@&CMLBcU
zgbDI`!;kF;kv(bUqbIYv%oxQ?!89{PH9Te1q7!OsOD71iL!6ue_U(W#RlSH%`g;0B
z^GXJ+C_7P7yu6H`*s09SeAJxD6^+(3KcU=x$qlV3S5@4bFx<|@o_4WB19h^zBcck(
z=oTrU)(Egg05!KI7|1W4x^8Z#9iy-47Gxzs8&)psXL+1mtTq@LXzt}a6a}W4Qg0Y~
zkBAud`Ml*w#!T30bX!_cA}5>}6O3@7JJ?%|ESlo{4YqH0Ksmelm}tEErC$u=t~KS^
zZ8fMXW~T$b{Ln7>;lt)&H?8=fgc2^;YQkq#5PApY??{p)oRW`K(Gk`7ZHL>2;S6;E
zfqL@&YDD>K^LDZGvHWCGrTpH+YijJWR@gShMCY9&Z`-vHn)0|+(;|8&hi1}Y>CG^I
zY`jRLoasskcZX_$E&g4LyVF+gN>Y;CffZzMjE>$!@b6L;r#6_}_*gdM)8UvSsO0hq
z(Wea-VCqN&Lb`^6oG|;gdJ9D7P_W#5BRw#w*pd>4QhZyGuCALbi@Lar&~^US%*`^h
z*;+01O{okz@d7gb{+k4?aqrpoHBow5qS>VHdP~Gd(1lKtP^iY|N@OL>M(`Ny`p~6O
z)@@j_^&q#SB!v+&&Tg26$nr8m7ES^rXbOz+%~){#(@e$Uc5&xL@Q+ELZ2UP=a}$I>
z2`$1CH1kLj%43ERcc?VapH~s2Y*l+<&2*sLnsOchsMnkR9g`6*LhCLV<@s!Q8PJaA
zH~Q3Qn10>bIF8Fk=~?A2ll(FaVC;)KbC!hrJuZMO;hOV1?Bc2~bxns#&DxB$NMYhS
zr5i1FDH*LbpTXBY(n^aqYOl
z6&$4+FQb_zK)U#7qEe3h9AEk2Bv_MiCca&IC|EN>dPptPK%KvC9*r*r^^ScS5JQR)
zk2(+l$PLW13(#dg<5>+$k75p8m~}d$q-%xvLf6>^q&e%kyq+!!U(t1d@r3oXBQS3$
z5D8*XD*poRZsoyuVWLTaRr)bX46C}1j#&gP8du+=-WL$aR2fVzg1ABqx4E8o-qD}`
zVMX&~;=Nf!MH({i^ZZ`2Tu}{)d5$ZK$K8|ko@XVWkhEh5eueJyxK$U$2K)^s7*H_?
z#|BeK1EnhvLH1OOoh55WC=y&BK}h6#4|o^Pb_Qp}G4=Zm{R%6?`A%iD_2!nu
z!Xrz&fD~SlOW(wGFGzU;4^V<&PjK}!qYu7jMK51DHpT?pbcIOc^PncczIp=bU@0j5`^k0K=tGnx@#cPWC
z`86>AbDH`Zl>d~bx~od7FN>jlhY&CbgNl3$0w(n#s~-$)I&L~Dw=NubVGlXAktjE>
zn)Yo`w3`7}`28~?UqNWOi(LH>1m_qRZOcI<^|RPs{FZ%Ia+CV~xZAp8g_!5d^**v!
z3uDefk2^SGwsGur52edR9cz2Eun@u!l#=2oN!drD5K&suDetfwH(WtA@*OnV5ofZH
zH)`mm(Dt8ZaJ7P0woLhJ+G}YiQ(enDChI~h&yB$+>Q2(RAoB29_73aSXK4V+Z(I@-
zkPbBEco$RT3$Ad@j1~U8e;lS_>7X%M+>>&zFlat@
zDbgF(#}}?Z11!Yc1+yHSzGL&=Oxrv$`Btt*6JM8N(wJYcYxYflqIed{vbPq#LGc#F
z!FlaQy=2+nCD=P-_X`MzUaI8hS?Mv)V`Hk4X0v9y?Nmwcs4UzT-V#}yuIjTxFpCFZ
zkY~DUFyaKAGFPtH7Ra<_3dSXsG22>$9v0N{5)QRv0)5J?qH`v)6LTv}nE;qj7YyFj
z2NTVTZzAYnRrIBF{<0mcqs6^C$`=wFrcFbXiyC%in9W9?#sWG!sd5~LcV>ds7o9Uo$=A!rdj!JLE3$_EK`dpw+5SkT%U2
zV%6F+^2z%sHKQ6Qt72n%WA8McEO(NhM96O~`4xQi0xuC6pC>=@vV+!lQMn33v`xDq
z);z)W(sujT%=&AOG$PTT0y6q!idGdu{G}7Nawm!kZ~i)Awe8sEM#J($D4iGweDJ
zEo+F^tcB9&RdOq(T)hrOXTx1{`Wz^a9M;4PF>ms
za{&%ZpqMB0OTKP$r?{g?)j3=qZzK0U$i1cX0J`i)#NNfaOXqut%2|Tjh$gg)81C0a
zi|qqxgK^io%z?C;s<-j#l=?`Hl?07=4>{67LR3KDEilQ0e2!>a7dhEBNnL*RKT`7M-iD!Hw;7{RxIEy)S1F!ErBK)uaQg~E^5*@
zpn)@Pg9_jj9lx_T&LD|SC&j+KNTL_*vH+hE>campHKh;ZI5kAJI#Alff
zyLya_KEwXiRh3Rx_^E;e0pY^|0TKS={z2J-`G>3eZ9|=>W}=R&j^z>1M`VL0Q-ZEt
zBn|qG0$P*CR1!`CItnE-yY6OuR2EC-)4`};iez4l=RfAkkM7tAZqiWC~P5y4FA{>3hT9b^7L8CF!;t;u*vR)fu=A
z-sd3=3~K(wF4CK|@g2L7zN)6G!zVY7a#G#Gk38tAHOC2SlgY=bO~cwW#r%VXKJ|lm
zYTE>kDPw2xSm$|D?Kw<)HmCd9GzjY>7taH389F`Cm8?TUya)
z;;pkYm)YXW3d=tg(l6kj73IA%?_w#*y{zmSDSdx?m0;E87rMC`0AE*AH*00wMFvX4?gTKiAxHC#
zlsVN5Sqj9LtmW*$Z3PX8N*1de>Kx6FiBwqqqZbWl;5G9w47EnIF11FVJGkmBDcH(8
zbGihHa&bcq81qspPTv}|fX4`8><^UI8`KvH>Xi`;{&$ct5SM4~ZQlpfyu@44Y$}qD
z4-eV%Vh`mKo5*sY$Vlg+3mNYV#eBk%z6?VS4kH~w
z!)cC|%oC5f^dktp_IocUu74>)io#(}5YCbgmJd(Yrz}Hb6l3C>x3w$siIf{9)GWDH
z@G>*gyTZV&Yy;PghJAg=sc_@fo4R?B>fXp^s0fMkQ*4Wa3v3z@U0^~R-3>|z-j(>Z
zV>0oTl-aJj9vV}OlBJmgH_BBukKqC{ktLcpYi4&aY#O(;Hj!+u9G4Oy?%|rDg?M8`
z(zn*nuo|tXn
zkWJL{`^(sMKVPjx*(KDo2Z#<9(rJPkXtvHb7B(}_cCXM((gFaa&_OQStvycQp-7%)
zc9W|U?DS{;Au=4qhrj{rWHG})p!02*F<`x5*5uG!wUt{$0nvf;sKA%E>k!<59Fuk4
zXR>%sGKuMQAQiPxC*pA@AbK}L2b>yFOg;qPvOGR5>FXV3I+KwKh)$q_)gx;!z5R#^
z`K)+3Agsmt1lG2EV7BHjwCcVn+j@&;6)2ro5Rc+VA81ERUKPO|5`+Y{=~~J
z&%b(P*vp8j@>g#>MgRna^;eIqY+^c%ew%X>)dlf-?gGH)JB}
ztPF+rA$p?)5)BjrI2;)z!A=|PO@?MWtDi3;CT{dnu@<#J2g3)cvIKl6acC%kk>F_g
z(nr7a;$CAA14laf&HeO#*LB2wKh5>5sl)CpnW4h1`Cbwz*0A22rBZc32jZ-s59f?+
zquc$+wj+WKqJ9$?9udcSn+RY1sIfB~$1MkFy|)L4fTi5bO6}a{r@VkAfIPLnGBF--fwhtD&gFL3+ BoO&;1K2(glaDD0mU
z1|ny-BLS^u8x#*k5vlRh6ZTIloeUS!025V`*4DuL_!CI(d6O?jnLjw{I0qfX>N{S^yB@vPKPwxi^S)ZmlKVMV@2;gc2l;M0Q9xS7-z_=;Z
zHY}@em92U^sb$EP0KLNI-5iB(7V^bM^0Y%vz7?WOA-#bd1KRIsm|2Xv$L+Hqth<=T
zR3Uyacz4#p$=lgt_$3eTG_t|Z1W@35ES%1Ym$u#|#3v2$h~80cg+*EO5wxn^Ao7M^
zjKCAMqP<+?5t{XGy$ds~@)%Y&>W(+mkrh1B-+EBGORYWPb>_r_w#
z&S$EZaPHPWp$UbJkpyrsH_7bUOAHVzMn`vqBb`$zjZ51m9m^1!*WMSn_JAZHs4(dR;XHltttLr(dg$yTdu{+G`p&c`u!{&?Hmy#VU
z8~t^K-V|JK%!eplhI)=`Ts^NafI3YQ43&Eb0td&Jig0NxT|p5yb7ya9mi}n?t24AD
zb<=o5Dg~(}D)y8HwGx|b9nSaRn9NNpxh>D^&2w6cG;-6xClN6PojA$pEuJHbT4FU{
z;^KFFarjgs%~$o@c)P?QEj3VN#cGPUcP!l`JVm5>pVN5okF;r&C^*}t&y!UXCXB>$
zU{CjOJ_Ur7@!%7~zaWj$4iBCU1GRBYlieQ~zn$!G-(%;|Ts+jF*A+_+@Pskt
zXo<>KaU6*vCS(-AalZyQUQBqrNPwN)bzTd0vT
zRLvpBrMsn_MnPF=Ubj$_k|;vAWwoX3Mo!6_E3cA6ggi7wy5L7gk8wtuHx|d6X0#m^E~{E1Zh;-y9CImw!wL)*uS3h>w^Rn*smu}(X3V{D`n#OU0mF=4nTS>^ZC0mc
zk5-|Ct*2Gb3uj9W9%JooxCrKL)%Ho%?yck$NzB?1Nz6iGrp&`}sCg2xdTd?B%2Fz5
z=B2DQ?BmFA=5`IdfG=agBHhTJYS%+F^TVR6^21OosJ0D#f*CcsL-MJqYVB%#V;^
zFwDxO8LOl`Y|uD;ilcQ;KVpNG)$-SO6uN1ZaHB$w&ZK%(85oWk
zb}s-|g!eV|v9Uf?t1%YW)s;CEhbz01YfW5Jxhrv+N<;^%YJ+>4Q!Wl*+G@BG!M)}j
zaZtP?1IQUgK11R&V2siT?vtV0xjh3D}KvZ=weX6
za00z5h_Sz`RvCP~Cw>xeVagwNP)lSnJ3D!tiLV@P4g8!!sOJw)RY8Fcurz5tJAweD
zgt(T;^dDrGxZRzQ-Gt_i4((QHw%iHh!4$8C_$v=hHBg#eJQ~(W2(dm2Eia&LS06Rc
zS^$
z!UnE?=uK2KHbN|?+`}!mlPjl}Z{R_H&>D)phPULTW_;yl3fW{^u71ldlSFUJ@>N+z
zs|>~BQYxU@STNzdDcsaC-;im3Y}RpR-?_f;bSrqNEvA+iu)~>it!Z=|=kRhzNjktK
z`gLE7Hl@b4q7929x0s^dhhk5;uQ2~^FQLr^*ar;>Bik>A^{2uw3Ii5fJ*QZN38jM
zS~)mN#;KAEhF-RZ4AYM?Vq~y^
zTMXBi*3pO6vB6VMQBP`s6b5(goVPLkE{FG7bS#4zs^g;4b~lq}Jk`Lw$@>3z(qv^G|KFPos(xuU+V
z)%#d5#_6vVGx1>6jXXT=f4RXBW%OI1a!VbS$nfJ&3IJY7LZ;k>kli1oq8xyu?Um`)
z5Ck$}IkU6I-rF)A?SU8_AbD!Wjdy}jb%GAPBrm=skQ?Zz6miKEgV5zN(xw)!k`bE>
zS-L8j^tF@e2fulf$PzAw#$@?4SNp|p&Hw=Vxx)|kaL&?pIV=>alSKv++;5x`fd)k2Uyb4Zl3Z@|{*L1T|G__Yf8~x5clI
z!$yq=V&7zYRB_siH%+Ik!&&UWHNg3)eq)w%
zxQID)QKNiTTat|~zL2V@db(9jrBs1-bR~Q-@2h{g5HlBrB!li~ruszYJ*#NNnpnl&
z`NAgBoYfIM@NI(sCZpDc!vM5q`Ejwxr3T^
zh@OtUO#u~xE@Q>Mb;pF^AYB43;Yjx9oh1VsvZ5lACXX0(c_k21J#-GLpk>KUjQJRg
z+)W#l2l64;#Mw6SHH0nVp@F`%T@OJ6ZbUX%GA3+E->8Mj5lBM6uRE6>^#NlG0k(;HX9IGIvCFx
zTKZUhi=G5DbiqJQZLp?|B`>GaJL
zynm*}YbqXid(N#TfT$xQYUM4~0#ZLN^!B@MCsbW+Va|D*87p$mV=4e_S5rKrB`Lcj
zQqq{84Xn+g6xKO8?LAVzE7yp7@2*Gp0}zo@6eIr)SC7*Oa;KA7@tifQm2}3kh11#^
z@Px>RnyD^(<$JTen3vF$uN|Q#pT<_kEtb2Y&WZUWQI!LH_bu3-wY%8T$L`;qkRgiiEyQzh-8GQunXt!lDr)-lQZ!_zlFBm7yfoFhM
zwQkRmn^@~R{9pGt3jM>blfXbgQ?Fc(Uk=EB4KD2Ip_|_y`FX
zKhE?r*cK%YT2X?64WGe?)xsQeL?zt5$elgi*2sXBz|D+OL6MUof#A%5hJy#m%exgk
z`>0u+8Nh64Z13Z=bD5QR_iasNi1GGri&B+WiK?#B!Pj~|xAXDYFKb1Wm(#g#06Q|c
z1QlP;Q9%E
zVSUA+pTS_#u>@MZ;8GU4PUiBc28CqbJ~-`)o$)BoMSkH;RH=CX3P%1O^VpfNuVI%s
zOkP-U-HBB`)MYqo`}lCfWd)9ONJ9L40t9Z=&?rT%5#!T)LvV>U#Hxv!Qm{dx{b
z{ns7uZ`L4TZ*MJZZenO@uWVvzWNv8xN+tRazb9QqOCD7a?R&nKMzc7sz`BdjA9r
z4e9t$Q5jmMY*AEc2{)!idf}GJ)iT$q&pRcFxhMpz(U7Q~F--j|(!${=wFa?vpT;fP
z&(jva-d$gydTD7WBMsbQk*-8By~agU81iT|J*glQaH?GN(KjR_YW=jnO4rX~Q_M}L
zEIU#WT5~r6ma~oIcqy7z8Y#%lb=kX4+7%j4o03xAS*~-nvYz3BQWNGZBBA35Mh7&>
z?4BsIG%KqpRB)hV1CwPIt89JkhGE~>X7rQjvE_7T%u>`Br$E+gdCT0z7Hdl|?(tI*
zLe-l(bY0smapThEC(=NzD@Hy*tXzjiw3(@4?|m9B@2F0a-
zYB;J$I3l-!^W;rs9G>Rm;UVvtSJLRkk527^9rMzo+20BS56gT-J@!x^B1)7{NvkjF
zbT&v?sL`jRi>D_Mq|YkdP_i^LOu%7W>}xTjHU@Z4*ucLGY?e}u?9{Go6m<@nU)Q4p
z0qCi3(yFze*kF2jn
zKQ4x1@SVqIp-$jFR;w?N(HVK(hH3C!R@mp3`iMntdhDi-Nc$35)GpyDQmR~d115Px
z4h$FBn_i&m$Nvp{FeXzcgOy}8{wvfSz5RWxiUep+kRBLltx}{fV^CL8+vi}({y`y4e1o-bd&!UC;z
zX91Hrsd*Fg78rKGoigJwGCoaWWbmNbbbr)$8tSk%OM#joo3S%Pq%x#{L*aPa=ECmf?Li9?eS>YBe#Ygy^``ah>5>B2*+7w1%M^A4
zUt)}KpzA&_ihTxG=#WS+Txk~SH;m63RqjO2ddDH+D-Ci^TQXuEZnk_1NCi9n#iw%3
z4YatMtP3UYKaA0INW<!&$Ym_dXkICJg&8;6}~XX&Qhj0*5kRACjoj0
zaZR(FqFnkR1-YV^mHVp&PL4GW*O{x}_0m{J$U>Zn540+(J!R_0P92Df@5kJiqB`?0
z1|OQ`KG=wpc2LEJ1HR*s{}v;cJexAS33DPElkx^F#Rc}
zR=Ks7WEv#lGiJU~yeI?w3Y(%Lutq3CyYS|5HmD9a;r=8|w8hQon-CPPc+eiV(Zh
zV_Bl>a7D8!im=A+5N#rJ3kr@l_fS+C5USES^>&cYU>V~vk0n9xz7;no&9s0==S%wE
z8^|61!Q}jnCMKiEh0^sJa1%j+fXM#c>|QPIPlo0nE&IdJ0@mwd8`
zC~ShRylqq2LgUZPl)|%EkZQPstj0%pqK+!0zMUlOj1+2ZaX^j3A(CdP*-m!MNPoV4
zJi_Uu!Q(X6Ul4;ujCVHBo#@tweFRA-g*Cu~z9HZLuD%}nY`-TvqMcu}0HT(ZXBd}I
z>Pn)lNdTSHGZp;yn3Km)*^zkW;F%XX`ze-Cg<11pfWm`*u1T(bm_-u`j$Ajv>3gy|
zSixFroXw{DrJcZKzT~AMc-n)xQ|h*Z7}1xSLO1oE`@kG>w-${Ab9N{i>_FxLjt2XX
z4#XMrjKC?a)pn1b2ce=yYwH1je>P0^d9b?|I~MQo-5bO%XEfWl9|{ciWJ$_t64qzy
z88=|-y25)l29Vu^gk`hN87GEn>E#&?!QEZmpf80J%VxN5-hO6IZ5$aa3z_VLXhUgK
zhjsguC%LW)vb~SV*dK_=n5e`T0;E;DO!_5jr96SRaLH5>ok}i?MAVe=Y}13UU(5Qt
z-=#az+SE{+SU>+_$sS1?gqm6VoEE~DYY`gW!eR`GbR5YGdDNgLn5$Z3gA(jsZE)-=
zqbEe97Kp`pJ|53s$g`7Oz%4|tuIKL628jR329)h>U&HI4c?mJU8$ek)r$bsTJXM|o
z$Yu^FeVO3aJj^9}ZYB~nipyJx`0aPWS_2U$@PwZJpz8E^?}*TQy-6gVD0{zDDUqPi
zv$WLIOpLa+ba;3^B5WX7(nKjLT0ko@y#8K2
z9Y?a3$zx7uH6ahOE79EjCwqDS5Ffu382n>uOFds;xMaT5xzrRtS#$`?B84a;jpxrW
zz5J)!n)jXc4pmxt9N
z6dPF;iBeknB2rIEa43$d7R{R}C<2c%uPnpWht^3tecdh6W|}4>nK!C#ARx>gk;i{Z
zFYmyncDwZl7xnMl_8-jeKUn-0x(Kd-ss2y;)~_RRvM`TV9JXA6dg5JI;dIgxQNGD6KuUSiaPSQe3ZMk)=LG=d^)
z{D`uJ7R%;Kt(CQq2%geOga^T9S3lRPn`j6@t4LS>*l=?*+uJ%VKta+&jq{u@AFnT-s!qiPg6wxN_KEiYPPSclN
z&hvxORvLu_X31ny3Nw?74~TqHBYPbJ{;SR>C)7i^Qw4`?QVf++M2&e3J71te_FVEA
z@gAeu(Pp_1=EM@H8{mBEkV{9Nr1dc0dBHzJ7f3l=B6Tl6Mj*6q!2=zyP?7;P(&H2B
z(w)SKt%8KscN~olp+#)u=Aa`k5o&ZSq?NkAfc`bXGHq=PGk#rIlh=#!|GdD~wpP}L
zw)Q55cFGR&W72d|w34!l62&SPvb54;+q+5#khZHzv1nnVXmGM+aB!tEaOi2i!f0V|
zVKUB5!%CqcEZ5iO@V9VIP1B)Q(y+YB=CRjyw-R;Oo!dDp>w~sILsS-`fw3qu(|DQ_=G8N&EgY?h)lb;Qs%&nZI`M>lWf?2f8%>
z+QDBp6u(0Lnvwp5G^G0n$iL;MKk@$V%6=puzcnPFmzVz6inKqR;eXSSfAcom.ahsbd
sms-util
1.0
+ system
+ ${project.basedir}/lib/sms-util-1.0.jar
From a22d10e8f9be3372c3e5f23a5f149e063ceb6132 Mon Sep 17 00:00:00 2001
From: haozq <1611483981@qq.com>
Date: Sun, 14 Sep 2025 15:56:37 +0800
Subject: [PATCH 3/3] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=8C=85?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../controller/DevChangeController.java | 46 +++++++
.../devchange/domain/DevChangeVo.java | 112 ++++++++++++++++++
.../devchange/mapper/DevChangeMapper.java | 21 ++++
.../devchange/service/DevChangeService.java | 22 ++++
.../service/DevChangeServiceImpl.java | 52 ++++++++
.../material/devchange/DevChangeMapper.xml | 37 ++++++
6 files changed, 290 insertions(+)
create mode 100644 bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/devchange/controller/DevChangeController.java
create mode 100644 bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/devchange/domain/DevChangeVo.java
create mode 100644 bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/devchange/mapper/DevChangeMapper.java
create mode 100644 bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/devchange/service/DevChangeService.java
create mode 100644 bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/devchange/service/DevChangeServiceImpl.java
create mode 100644 bonus-modules/bonus-material-mall/src/main/resources/mapper/material/devchange/DevChangeMapper.xml
diff --git a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/devchange/controller/DevChangeController.java b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/devchange/controller/DevChangeController.java
new file mode 100644
index 0000000..e1aa543
--- /dev/null
+++ b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/devchange/controller/DevChangeController.java
@@ -0,0 +1,46 @@
+package com.bonus.material.devchange.controller;
+
+import cn.hutool.core.convert.Convert;
+import com.bonus.common.biz.config.ListPagingUtil;
+import com.bonus.common.core.web.domain.AjaxResult;
+import com.bonus.material.devchange.domain.DevChangeVo;
+import com.bonus.material.devchange.service.DevChangeService;
+import com.bonus.material.device.domain.vo.DevInfoVo;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.List;
+
+@RestController
+@RequestMapping("/decChange")
+@Api(value = "设备台账",tags = "设备台账")
+public class DevChangeController {
+
+ @Autowired
+ private DevChangeService service;
+
+ @ApiOperation(value = "查询系统最大的特征值")
+ @PostMapping("/getMaxFeature")
+ public AjaxResult getMaxFeature() {
+ return service.getMaxFeature();
+ }
+
+
+ @ApiOperation(value = "设备列表")
+ @PostMapping("/list")
+ public AjaxResult list(@RequestBody DevChangeVo devInfo) {
+ List list = service.selectDevInfoList(devInfo);
+ Integer pageIndex = Convert.toInt(devInfo.getPageNum(), 1);
+ Integer pageSize = Convert.toInt(devInfo.getPageSize(), 10);
+ return AjaxResult.success(ListPagingUtil.paging(pageIndex, pageSize, list));
+ }
+
+
+
+}
diff --git a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/devchange/domain/DevChangeVo.java b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/devchange/domain/DevChangeVo.java
new file mode 100644
index 0000000..5c6b641
--- /dev/null
+++ b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/devchange/domain/DevChangeVo.java
@@ -0,0 +1,112 @@
+package com.bonus.material.devchange.domain;
+
+import com.bonus.material.device.domain.vo.DevInfoPropertyVo;
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class DevChangeVo {
+
+ private Integer pageNum;
+
+ private Integer pageSize;
+
+ private String typeId;
+ /**
+ * 公司名称
+ */
+ private String compName;
+ /**
+ * 工程类型
+ */
+ private String proType;
+ /**
+ * 主工序名称
+ */
+ private String mainGx;
+ /**
+ * 子工序名称
+ */
+ private String childGx;
+
+ /**
+ * 装备大类
+ */
+ private String devCategory;
+
+ /**
+ * 装备小类
+ */
+ private String devSubcategory;
+ /**
+ * 设备型号
+ */
+ private String devModel;
+ /**
+ * 设备名称
+ */
+ private String devName;
+ /**
+ * 等级
+ */
+ private String level;
+ /**
+ * 工程编码
+ */
+ private String proId;
+ /**
+ * 工程名称
+ */
+ private String proName;
+ /**
+ * 单位
+ */
+ private String unit;
+ /**
+ * 设备编码
+ */
+ private String devCode;
+ /**
+ * 产权单位
+ */
+ private String unitName;
+ /**
+ * 组织机构
+ */
+ private String orgName;
+ /**
+ * 采购日期
+ */
+ private String purchaseDate;
+ /**
+ * 出厂日期
+ */
+ private String productDate;
+ /**
+ * 下次检验日期
+ */
+ private String nextDate;
+ /**
+ * 生产厂商
+ */
+ private String brand;
+ /**
+ * 设备id
+ */
+ private String devId;
+ /**
+ * 采购原值
+ */
+ private String buyPrice;
+ /**
+ * 设备状态
+ */
+ private String status;
+
+ private List propertyVoList;
+
+
+
+
+}
diff --git a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/devchange/mapper/DevChangeMapper.java b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/devchange/mapper/DevChangeMapper.java
new file mode 100644
index 0000000..d8b6637
--- /dev/null
+++ b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/devchange/mapper/DevChangeMapper.java
@@ -0,0 +1,21 @@
+package com.bonus.material.devchange.mapper;
+
+import com.bonus.material.devchange.domain.DevChangeVo;
+import com.bonus.material.device.domain.vo.DevInfoVo;
+import org.apache.ibatis.annotations.Mapper;
+
+import java.util.List;
+
+@Mapper
+public interface DevChangeMapper {
+
+
+ Integer getMaxFeature();
+
+ /**
+ * 查询设备列表集合
+ * @param devInfo
+ * @return
+ */
+ List selectDevInfoList(DevChangeVo devInfo);
+}
diff --git a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/devchange/service/DevChangeService.java b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/devchange/service/DevChangeService.java
new file mode 100644
index 0000000..be6c61a
--- /dev/null
+++ b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/devchange/service/DevChangeService.java
@@ -0,0 +1,22 @@
+package com.bonus.material.devchange.service;
+
+import com.bonus.common.core.web.domain.AjaxResult;
+import com.bonus.material.devchange.domain.DevChangeVo;
+import com.bonus.material.device.domain.vo.DevInfoVo;
+
+import java.util.List;
+
+public interface DevChangeService {
+ /**
+ * 查询系统最大的特征值
+ * @return
+ */
+ AjaxResult getMaxFeature();
+
+ /**
+ * 查询数据列表集合
+ * @param devInfo
+ * @return
+ */
+ List selectDevInfoList(DevChangeVo devInfo);
+}
diff --git a/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/devchange/service/DevChangeServiceImpl.java b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/devchange/service/DevChangeServiceImpl.java
new file mode 100644
index 0000000..8618d63
--- /dev/null
+++ b/bonus-modules/bonus-material-mall/src/main/java/com/bonus/material/devchange/service/DevChangeServiceImpl.java
@@ -0,0 +1,52 @@
+package com.bonus.material.devchange.service;
+
+import com.bonus.common.core.web.domain.AjaxResult;
+import com.bonus.material.devchange.domain.DevChangeVo;
+import com.bonus.material.devchange.mapper.DevChangeMapper;
+import com.bonus.material.device.domain.vo.DevInfoVo;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.ArrayList;
+import java.util.List;
+
+@Service
+@Slf4j
+public class DevChangeServiceImpl implements DevChangeService {
+
+ @Autowired
+ private DevChangeMapper mapper;
+
+ /**
+ * 查询设备 最大的数据
+ * @return
+ */
+ @Override
+ public AjaxResult getMaxFeature() {
+ try{
+ Integer num=mapper.getMaxFeature();
+ if(num==null ||num ==0){
+ return AjaxResult.success(8);
+ }else {
+ return AjaxResult.success(num);
+ }
+ }catch (Exception e){
+ log.error(e.getMessage());
+ }
+ return AjaxResult.success(8);
+ }
+
+ @Override
+ public List selectDevInfoList(DevChangeVo devInfo) {
+ try{
+ List list=mapper.selectDevInfoList(devInfo);
+ for (DevChangeVo vo:list){
+
+ }
+ }catch (Exception e){
+ log.error(e.getMessage());
+ }
+ return new ArrayList<>();
+ }
+}
diff --git a/bonus-modules/bonus-material-mall/src/main/resources/mapper/material/devchange/DevChangeMapper.xml b/bonus-modules/bonus-material-mall/src/main/resources/mapper/material/devchange/DevChangeMapper.xml
new file mode 100644
index 0000000..a53fb80
--- /dev/null
+++ b/bonus-modules/bonus-material-mall/src/main/resources/mapper/material/devchange/DevChangeMapper.xml
@@ -0,0 +1,37 @@
+
+
+
+
+
+
+
\ No newline at end of file