From a287625880ade1d6d39b2f440aeae14afe705b02 Mon Sep 17 00:00:00 2001 From: xusc Date: Tue, 3 Sep 2024 09:09:33 +0800 Subject: [PATCH] =?UTF-8?q?=E9=94=90=E8=85=BE=E7=89=A9=E6=96=99=E5=88=86?= =?UTF-8?q?=E7=B1=BB=E5=90=8C=E6=AD=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .vs/ICSSoft.FromERP/v16/.suo | Bin 308736 -> 373248 bytes ICSSoft.FromERP/App.config | 4 +- ICSSoft.FromERP/ICSSoft.FromERP.csproj | 1 + ICSSoft.FromERP/IcsMainCategoryCode_Rhtyon.cs | 159 ++++++++++++++++++ ICSSoft.Test/Program.cs | 2 +- 5 files changed, 163 insertions(+), 3 deletions(-) create mode 100644 ICSSoft.FromERP/IcsMainCategoryCode_Rhtyon.cs diff --git a/.vs/ICSSoft.FromERP/v16/.suo b/.vs/ICSSoft.FromERP/v16/.suo index e1d64cb249421305b024c1f1efbbcfb5f4deb774..ea1bc335c108cfa718e8b1b3de0352bd9a6dd35d 100644 GIT binary patch delta 30953 zcmeHw30zfW-v52hb3sJZ%c3BnTm%&tkj*VOM9K{j6?4f{WD!jT5zU?JPKF8`i_?9{d_skdCs%`w&(XO z=V}_ zLA;3v)z{Re%2M&F`kgY`!-$AkfSPvHw``keMb(+Ys4kXC9w_=oTbCyyO#MyUF#xULR1`WEB~gCPxfJAnrP6$kkH4?GXd16l*wKoQUi=nU)tasV?L+XC08 zfaO3pUSPg6dnA_8jp8unr+ZK)6$~d9^O-cR<>@HxEqLtc@d%{0=+;K0s;rttp z`+ETn``E4==3gyg!2JR|XCdhT3>^~U=lW@gc5shfx*TsPUmTW~!BsPP}Hbvw$D>gyl0jeZuP=YZ!q z23b$y`XW#boB~b*F99zDuK?Fe=Km$J6Y5?G!~$WE%~e1l!p{O{fIER;;6b1Zuo)N$ zECS{N+-5bg+T4Z%{5yomEkILX6JS<1RR@DZrdH_c?;pUfvjHlcZ z#bh-dGkOU%uS;0F7r%YhuxnlT(4mW3Bu@>!k{D@7H?WSU0PgClrRf!6N~tNofil&l z-s{zbyzW)q!{2LJ+9BV)14wm`+qNG>xVm>;P}Ru}38LbT7Nwrq=C*he1hfNKEbBro z^!zI91(%0u2+y$HXW*I%6awn@X4w@Zl+s~C)R&q^yBC972b8L%!#f;_a%xCp8hxV0u{^_($`%iZ&FMr38t5b=4Dt9=BvEg5G{X_EcwH8(ER6l%|9Q zal;-&L3JC*_iB7fYS@!__&D%{Ezv$)pR$Dy*sfJ4QjEfM6?fNwZ)~yZTVp0yb(*-d zV^hI4*^dRvHd+U~f}5QH{}iO>_DWpI%iS2)+#4Yuz!&hNQSL_n7;caK*ACI`fnXpN z1%%+*0SE=w;JzcS^9@wyZrs;#48mi9aX>0C9=IEr089iX0T91ON>6sG>SVd#=Ejv2 zm!$P8*or6i8u@w-_hkS9+kuCGhk-|c9l%at7qA;B2lfCJz@xxk;4z>QuoIIBYbWM@ zgqfHJfkVJy#ZX{4g1}Lr3OEKl4IBrozzN_P;91}~;CbK$;3V)OPz{^{P6ICiF9WXt zuL7?DXMop%H-I;Rw}7{Sv%ovR^&7!@-_PUbUEn<+3AFtHSJo60dub(>R5f&gFI8vD zfU0hV?>8&0(8aVIDSSFrEv;BDDy|6QR2F38=fjMeRHb|#VC2HpIiGJWn<(Pdqt}wv z#f!UHpP49ziZZisuX2C*hbCgBI{50{WLhST>ZQ|W_3Nj+Y0SN%GfkVRG?OEStfaw4 zV>X?6N48d2dp(bSnJ-H6`>Till0tb;$gWjg4}Ty_lM74oqXK%M@lk-Q zFljBRN$#WijWnqNqlbCv{nr1gb4Ht+IwI6kKKyuvtxzu5qEuaf zT5&He%XfbVWC++?wX|%hA`YtGZ7&e}tqbQ0DHIp7LVp16ymSy!b1hEI-xuB*_Xg?70l^sU>ru1 zSP@i`cK@UOw+i*xwj|Xj+=q4?mVK&5oIfs)FBabl_sz)ZXHb{E7^!w>6`;lk89gL2 zHv{at?>-&UP-RQw7ob+Rk8@8))SG%#g)Qm@P-e{D)EVpNn z>iw#}f80bVTPw~~o%w2_s4{SpDgC-b zRfqrn)UEXQ---_EcfVgFuBuBu+2A6r|5PpQ!Itko5*1%6N0YY-<6Lx3-9FkJkc+@_ zrV)?_EC7}PkcX&>>&DW*r3kY+=5M{dSRNScWmj$e+Z<756xGe&h9}q(F-;AghItep zDq<_$1PgwG=iuDj$n>0fS+izR$xsna!EqwVT5T5bqS8Yc%Q^@PZ5}GRHII(%+dVF7 z`CVyq7G&N}Tg)Pwu0~5EneJ7*DR`)Ol7@te7>f9#^dYZdqSetK5`|(E4rZ(Q|JZLe zo5UqSA;UyFv5=e5lWHa^O{lz^(u^J(BHGgap`tk*3>8gjvsrYtR>z?o#}kA_(C%p2 zfgbK4+N<+Jg6ZNA5mI)SIODZqc~o~>tCs2|n!c3&)FMf2elli_|W=L5#B7O zXZKjW2TL5a`#CCZW{n>vszqg>FdjcBUJ~j{D+iPv7G|s29j&hTN~sJJo`e4#Pp%j& z@K*8B&PR^wJAP7aVcEg`)DBLs^TvC zv`CmspD%)HdLI**Aq08EqUCXbTJwDWm_!8b1nvTc0>gmezzAR@kOYhZl7Z1cickl> z(8-%c6-AY&!-DTVpl`lp;bjnh)8j;C+dH}8JFC@0#hO%5Lovg8qq%6OP>@B0d)z>~JY2eB&9{gm zK}UOuJ}mrJ2>(H$TJ8sRQ$T?G@$wn`7$u>#)3oQFj!MQv0}RI@|CL4t_5N(c0DVy(mtE9MDLVN=X*T#k!z zx($jzm%7oJ9iq>Fo+6@%$EG1GV7-NbAcY5#sL z5^mor!o+$yit$15Qw~J3i*=kX3s=K&En0j;-O|1V|jREyPJ@B(DaGL|a^~NJ& znQ&+42428968>b`Dm<*acZxlNOcxb*iZ6yUXJL+R0Q)~jajgQ50jVhTIIdRU1h5A8 z&*F+jp)V`M$)UqEk@7snXDjiPS16;bQJWN#@Ww-zkqI|6<};-S#qSmq z)o8OX&EKN5k{rGBiZYB(I_ z>G@J=6l8 z6z?yp1EMq1AD=mDu$HR2{OlKpM#bwnECFJo#_+!eh!ENuAi8_8UE>~*Aamt)I-ypC2)~9-jmJO5k_SngdD`3Zu<`VBlmu>2vnm-(y*vguv)sI25HR}3Hrduuxd{>H?vuft?LFt+u;CglMuVfZ zYhgmBta0I9Gelg%Mt&=MZg39`&w+r$f~pr!hqQF1Dmte280zn+oXh)Hg$rYR5OK{S zLmer=DSB?6baKBrBKGW*ZQS)5D_aP~EonG+%QRDQb_?{Nw3E``yM6}{?UV#AZqstv z#!(?Ne(-4*CNjGa(T--Xk$ya_*Q8#j60<19FuD$vob2OgW1$rpby9Gz3d(BtO3k^; z*$SqEX}S!Ju-E75;O{t?lH@w&fr-q0>kV%ql#b)js!VVo16!hVVIyYMlNM%rj}tQ3 z(Q7jz#%#q{xzQp`j#$>-bK4ZB_G-yI#2`lsR@PHzrBhjgZe`m_4SKG1kF-w%6Y0 zeQD!j+1e4wD&bwO1k=~$ic?V9>ajf?$+XeoSr>t087-M4dehoyF-$_RVc3KF+119W zrff-T+X4)2n#puEP>rM8El0$EXLK8H=ZVuiYNMOxI@IRO|969#L%jcA9ml%Zng65X z7!7*HWnB7=3{*~E?N=~nbv!e>TUc9V*iS#V(Zx@P4ylK_I6ZN8wMvR*2yZ}W9t=Dm zo5wgB6Ovr~n}fMT?NZ_1+0u-MKL_u=&U2KZrtEXNE$mITThrWhu{w;2oHYnmYn|Dx-(>t^X0ZZKi}bam%7Jm}S@U^Hkr&5!^F469SFmcF1K$@L6( zHjtrVN=4r$i=uJ9w!R1kj{~nqVV2gA46@{hJZ%i7L)nVE!;tboUNg$!@@aBWN9moHU?|UNIdr)09xsj=uch~1!AZ+wWji3BCe&~!5*c%*L1m;=tx(R zMckNN#H3>zGYvC+UPhV%waP&_4i0%H7L_8k9!B9BZRo8%<*ED>+tWClL#>m;dijhf z5tSFPc4_G?;;4J72%wYkB1q)X=n*(Va6L;z7EA$Gvr%atD#<_*JWCj1EE-@~g$$11aHcamgC_7N*Ly?_F__%I_8dO_H=m z%-6Y;JVJabMrf@VQlDAlU<0||nP^EQY#-0WPzGy=c#P;VY3)Z_0SB z;JH6mFq4xBI1GRD(Pd{PaSc_1xY`Y?m7mV_7M-!}!h{|5V>OQjyP34J(7{ZXdT-vj z=C!iuMC?9NJnuFE1VD% z7VXigm+#Ens=>^9vNg_RKO!`|(#E2k521FnK<~ojM2H7Bv#nFI>dBp6-v(!W{ce#M zJ-ZVsri*R@YGiYjfx&eFgbMxD3tQ^W>y40C9x{Rb zB^3l>M%ijv?yRNb&1y-tHI2>2OueSX&TQ=xwGO92#MpjB!g{+1ot}J=GkKe#sGJRL z8m_Zot{lA5lg@P}t)ak}{K^E3V-Keqr*jm5P z**$-IVqQ&}uQiLUlr5pF+Kfg^XCo1djbnbLw|jx3yg2%-m*^mzEb~!wBg~G$6JvOz z?^xHztm~LG?C3;kBZbS7LZk0k*C}oE9reZ8y1rv;I(8AqUNp^I=TOyw{=>1iHWV5? z4`8$9YEHyjN5ZM}RWA`JoWn~mTKlFnQT&~vlS^!z?@jH^YDZZeBG|{{;W-_Z@{rAT z$2E={KM!ChH%~J!EtbJu9%8ryz6#esSK~$dU&b5$yJ&QM8(m+`b^euHUon9OPY`?9 zeKa?BacwXW!rrK_u5%WLI+?rGN~5_4JjLMM1>;$YbVzm&hy1OZW~%*n;GgwJmBoi zfZH$PHtdwS$L$w45na=LJ$=5Z&rw3T6Z%Yq{V!es)9dB=$t-XOozpwv>K4~#nZwOO z=0uQ?=hQe;%-LGW+EXNdZHlB(jMudI$1yIBJ=Qv0#lf{~7m0UijCZ{Z4r({fz!rd* z4bQ;VkR?*V!PZFSBT45+h_2dPuyIDFk>MAck%cUR#5Wc{aj}uQJ#?L0^NG2| zFrT~t!iJOi>asMjiY?N*U)sGLPDe*#c~M)^xoLxLGD5facjjPMcP7mE9GK}m*VP1V zy;UDJyi>8-%1c*iwR`HEQMYebFA2z#iVO>|KwukNHNxm6_PAwoWNk=rU1sn%t509& z(_M7e1rw^dM|fbVR__82ITN&TU-L`qaac?3JrToOjwT80B{){?Tt+V~T^ntvwfQwp z_W*Tpxgm5tNqi%E@p9!59Ii9b`B9=h4)rQf1~W<8DLpr47~jP$7&sb$j~L0VY)2Q8g_rBDK^xX1cFk-vKQJ`|QZ~on&4`mH4YZLEn>RnQ zN6|ochU*&^LvONSQHwUUwlcUZCu=zQuZO~I5gc!FppoVz7$?E;9susX%3t0mjpka>crp~ytMUiI>L z(O)6_#XDCMaGE@DGLG_Nhh;S-#ET3zy1&@Mf{VM}IN5^!H%_+fPGg;wRQVfoK#pO=@e)gY!_=%@0@o z_C)OxW_RCY$RJ92LH1IU`h{5+T@f4Q@h`*=3cnNmr6}_y=D04C@))Co?N1CN3g2Ix0FME~`&kM4y<9UJ>cN($Ztn zqO$sAM9l~{?4muN%F)!-OG%*_e#-q+9Htmsq|KU_o|d0EGbe9JdQJviTBXF&Y(;re zRFU@zWr=BS?F55yQJCM9gNOJg+ zY+{|>R4G^VC#cqq%0HJe^yw4I-DJ*HA}L~@(#vt%nXbmj0oDyhd{vd67bxQQ2bA74 z$RDBjt8$?Aljh1%Pce@_7Wkik1DekHC}!*KBxSh~YwZq_;vB;}W0aSvWHDNKGs>FV z4NqS%3KSh;Bl(b=jLd0cv-6ka%!^E4AR@^7eZ@EEM^m({lY&;QR+7E>y6}ytuZYd;G$pa1{y<`Q}MpHrHeFj7T0Fp;z>wPWo%QHXny%9QJ0Rx6P2Cb5%%U7 zBCD@)m`qF2BJ)0Fh}CkBk}s`2`Y7{+HEO!jPf&RtUY<8uZ*)`Qgh-<4%o5snStKV|rb!n;x?*W}8!UFFj8n>~{8QP~I(NKskFb6+NI9%f zi@!=u&@{4Bpn;x4M(X(f-xW3U@F;UTdGsE$M!L8U$Zv>+?(58jfJ!_P7HyT4AZl9}4p|VTR z=^|*z^kSvCl!o@ISkj)ZZc)b2i<_11{NDa}iZ4;Bo7i76cD}P8U#e8Q!)*|T0QJ;M z0nPbquhcznu_Pv3*A;NTJZKTj)#H&rFJ7SGb@>$W5f2{=vN3x$m0QZzHAh3sZ3mbO2t zyh_D?$5XaYnhaTS`-4J7R;ADiAzh!_L28n`6lDqM8&X6n8tN*3Kz-2)m@cNm>v&bIj0t|qhg(|QJh z)!t20d)g8#=Tpr-rL7gTY%7}AQheI^tt_(^ca#qq>Esvk1Nyd=F^04+?)|luF_uF) zv^f)^b?Ki<27Npo-}PJ3UA}HN2s=KN8`vPE1j%BDLGZ=52%?igME-W5OL(^Ru_*b1 zp#ERU3wlMK0~LSLDncmBW;;+;k(2LiJDTgo)!08RXfM+qk#0>5l2&0o@wL2LS|9sX z-qVtCKg9;I}Xw>Db8fq`r>jDY?#Rr49Uk^ff?WQ2ii z7sX6c+R{_&VU(MO7;6OW?5>pkDudfofpn^!986aW6+iyG(q=lfQ_fOn?+vqFnI{7U zjqz0GS`YnB@s(tmD=m(%>jY8kbUBKY9ej9XstgdvI~!s5E$K2|5rVS!8V5EGXZ44( zX8dJZeK@=MIKdurQ`)~@dE!?Z&u%e>{WeCq`nI5Pl>4LnRYtj21FexE#x25Q;yb+h z0dIa!cYHm^;)de~CqKdfT0KLC)8&t3E18?F4p#FBge1bS6gzP|Pwpoj)+_N7HlA%o+3LUe1#(7HO4GZXO)oip_G4df)F% zC}SqItdNtmPmXm{KOhJ-o!x#|^J^qwn+2%5?Hv z0+uDNkSY2(5PYB_h)!=nS6eJbb2N%tmdY^7KPEGDwk)KGC2|ezT`D(=Y_5Jdl_%p9 zx1T;PO=39pSO$urpR=iaJHCj1;DHv_%H=Xh2sGebTLZ{kAdPf-g?xh&R)A-pzJUIh zs0y>8hQ^$e3u(DUhGBD4%i=740EHCDSyXP3OSx@}#8#byQBzy<$7%v8b+s&`npJYG zI84{}%ZJFEi2>)sxKY@d`oMI$6kc z$fdXqax-N-W0%Ym4?wbBErc}26v|Sv6yd4m6rY1JBND0Hg73zMJ+ zC2}1;$jGu|m+7H&2x=&70 z&3nR-Vu$rWnQSRUA(gxbN$CC%1TlWQTtsn)z=cZ>f%l0I$@LHacmzC*5J^PpLa*5VP`y;;tslp63XkHa}?w?b|_ z25`eZU5+eI!mLE@gov-@YSRcuw!$gDTrOr-LK=3F+6Cdj0Dg2P<8SB@N%V2(EPA2rm%e=oz3vs z2u1DpNq1OECbtTM`ijaH3rJ=V$=YL^_YC5%3KN^U_(nz^*eDKGik z=#4K;ds1!zOx1Fle;Ry(ZDjqvlXf4F51=-!?*pF$F`^E!)EN9wVyFz-|3gJkwLgPXBv3vs0iw-_3!}+_ZSx_$6 zvZcV%;c2P3?q&XVak!6k&N8qXhbCR?QKqHWhA11+U5ymWCD3D zBY&W%H|1I$=9WW*Fgh%t9dE!syj-FiXne2SQ*^h^>1<4`Jws8WvjbUY-KoVJkc7Om za4J^54nE+7CY#livoO$wq$yLtLJ@^lR??sqvQ63BP|RLD5eV0t>w)rWFM%7K;a`Ag| zm*x$VfXBNTto zIEI$&HBRT%u>^{L()gg&vd9G_BkN>PV=96p7;N}&+|U*`moks zd+)V>YyB?kx7X2eA;59PFRy2-91jl!O+~X8r~qur&f%i}4W*MJ2e4fFvYfmjd$=79mA6Nm$Oc-<)x79^i-g!4e=;n5f6A#f6C zUaBouUTlWB8ia-)z^_2IMWY-CX5yi_D1Uahk4M=Pyak>B6F@BPkdB7BVY!Q*BZD>S(itBo%h1ESwKD;j&d;A z3;u-#JawN5B;)2<6ELAJO<)>m4Fr%TPz~gZYfWH2&VSPcw3DK>Ro-2z{7JYw3qbin zxl&FGPFjL7ZX?)_`Z0M9YK`Dww-Fpc+oPb?2xQ0gjX?I7itDod&nTY((g@`F0hH1R zR)bamMliwST~wq8Z$Q}}ECc&MItT!hfmBWt5D5Z-G?7Q$CL%lThjVEn9|L*rHWBUa zpeb7RV5^r6{v8Iwfwp|`m58TMNdof4$tWj+6p-p}lkM8NA(Ndx{k8s1?Y{q72 zHyYnHSusiLW@)!9Ijp%h+c%emXg8YXvS!-s;9Qoe-3ZP#eE>1UNG+$?GUwnV2w(|n zj(%IX`+iUu-~T3z=Iie-->x~Dgja@J!;}YQsKD6WGT^CP<^K47tT;mHI|tG(1hc_#JmH4{+E8x_J_9SjN^k{K z00-CxUz)~37;qfl{jDC6qhCBCrco0$(7X!I3}B`|)A-PVeTr>-i|<{A8-elXZ~4iAY@PhGG(R~=Tk748t>uC<*?R0~oKieWkronipM_}q<5!9mkhN|sT6Xuov!D9~9m?Z7z@f|Cp9H-UdVT#tbq+MmZ zCyR_468j1`x7I*&_V@3bZRIAhne*&pP3Cg6H>GP;Ad z$`x_Hwu-Av1%ugYCC)91&FsXDa(3y&VAeBM)&`=3k!T%+axfSI9s#4!HWcM!U>I0} zb62yTuk)v2K69Sj&rmT&Ou8Ywk5BY%fWm)E+t=!#- zJpU{|+28jQT$Ii$!}LAp)y8>wwUJIM?~_h@8Z-pbX=R&qT3K#E*+yI7)nbNpP1z!k z`mX6}as6$JyL$s2ya~<#c}0f$KLY8a2i$FPy5u3lyIdb!XRg1G=O?!|7OD?%AqDgU zAA@y3hA$g92;`__*!mQF0nP#$w!Q~n0@>YHC@+Ao!8hO{_!e9O-+{~E@8BG`3Z!7y zWY%;YCoOyMpi!ZVHJ0J+H7)m9ni#2w~N13if<{U;SlJotX?{+8qT(1mg7p{T&QB6BGHcqa*WKo!%h0_Ryb@OV8 zamxWo^cNL2owP@i_X`h?#&}yp4^NMUlxt$0OI5~7ZA>XOGf`@1O4T?PqUa$Oc7au` zW7XX2G|UA58#xY{H?W8XW`20z-l1Ko^#<0rK`&+Ur8Zx5p_C1*OM~NihsMhjZ3BCw zppXTTeIu(b*u)$ZRLI8B=|UDojzVUoGoP^bjikn9&p7DhC#(xOaA#>S6NWMajW48p zhwu%?97^rVV<>K3JOG{=q^DMPb|esjHYlRKY)6U4I9jMDvB3(7XJ zp|aO*EK5#&bG_OR7EpGrP*F*sSzpRaWL;bZ|EhBJUuKYx80? zjD~d*e%{dtHM2b4`}m{&%VsB*T`N|Uf&g~JGbScx!Ti{`nD(8h!i)V#i%l$+`s4~f zy6lbb#*RVE*Jr`}ZZYk<&wn_1`mD6Hblo1rsv$v%VrnAic4@tNmgi$Dk~gt@$I!BC zuPY|!I(u`O=G1ATlLXESZlma{%fx zhSo)sEj8~jETK2{4{ONeE1T56$Tn2YKERpcUPhhO7R_?Jvs_2D?BfaA0Bej^bKJqM z%JtOrER=RRNxSvKEhAVAH~#@$dDrhwl}=-XkUDG9=Uh-$GK863pVYWRv0Gf%)DGR^CdGD$OP$oYL;R$;ln&kFyG@Gg93MBSOIk{#2W<`$bLo6T(TAEh z<8!HTC*Fs4hVnG?A`Em1AoEJLwZ|K%$>28=@7#&{Wv~lWg5BUvPz7|b2kZrJfwvib zx03BQ;xlbu#YSniM};N|Zo4A3jPAFT0)-{~cBK860d{rOc4kv_+g5g-m+oMSpR_Z1 zWZ>m8+wpQIL85~<&U`>)U;%zW-WlR9WnCUIa%z$BJQ?=D1$i-|URx{FBSC8r1=@hN zpdDxrI)G@<5yXH_U;;3*z5JP5a-YJ9?DT1rNgx?a1SudDq=8A`888`40aL*=FdfVQ z=|Czb6QxWTvrx_g*}gT0Ss&9SsNYnK-P z`b$gwMWvm4QTep!{Q><>J>Kz<*HH7p&8UAgHQ}$5)`n-xdc5Uk+Vcs0{-+k6)%xxA zN)1!edQg}{45Rl0V6RDycuz|Aan%}7`9j`Vo+2V{P^_hAnBt0Hbi%Ccr154Y3W3X9 z`Yj@|+i9;Txz_qFM{v0(=z3G$jx0^Eo@C_mE_#c`TvcdQL;f1uL)R1d5^`jVuKHPD z?yb<}2|TjuIjj`_k)Iw!(r5T-_im|OyLIZ^xkHyusqr1+x}~Iai0_izsY938)b8Dq zljGy#Vq@T^VZZRo2L`HRpfeQmeUj(sm%rxAyy@UwKEx1{*d0s>+*+j%y74$#=f~$Z zNO7&5)Yl=RrH{|0TyNf+Fp33~5W*WgFsLH^vOh22WiwlHrEF0kS7=uN57Jk(;{NPj z*kEm`S8M(*D<>Ap=SY3HwUF7JZ>NrCUPO0Gc_V6T5>3e`j!$P^#M<#=&bC-dqLtH} zd^hqIbfq1i5}?91U5B;WhKdCYD5pga@nCP zUv=RrWs90Z$df+Y>Ka&vLwM6)y7DL;e=aey4dxB?kRIGB^l(Ky#8?=Wm+)?7i<;rF z{9rzePFO_){e(qqB~NrSztr6+Dpgd_ zxt`()*9>DurZUn?_!zPU@(?zPHV2)lL%=*f6BPSazJ|*?E-5`s4bWX<4;nF;kJh2$m}c}?N1mZ)#0m?i;xE}4BdeqI?aCT0 zT(Q=dxXJmeu3b(k5~8GWJVV#hu;6x;;$zc)Ez;%l{V}M_NAYKSe-=U2YgrR*M6W<< zpUSOODz9eBW`&eg-dj5u6+sJ!vq*a61@@x_+o>7Y9Uh2pzyuG~BUHPd7)t4>d;x!s zrO@9Jn14YU^qWS$CCr~aq_Isc=yEC_T`-BamG_PCPC*ChNH?>wBkH<7bu9}hc!r0v zOSEY%jC}Z11heu~j#L}sFT2-o6xq{wwLKeKwUgX}q@m12Pg9H(HrXQ;|H-~nv5%jD zYtyi+nt=_!thy&=c#wS(ujXkUvnYQm@1@(HK~_f}OodlZoXrCo_Q6Y^_2}l&iE^j# zg9X!I7hdU*-Z70k$T^co(l;~s`l{)eB)T?(4<>U4pGWCg+)rMOX7jYZiG9eC!X0If z40x(Ni`&UQn^)_OEMBb?%;D9Z(a9bj{&?%?Ng$%Tbey zhHhKP_i-8g#?a0MJeDjuJeD1${1yB~BM?%HwYW8NrRYzuHpNZX-sD~B&Jun}M&X8Z zewf%w%@^_Idd5;7;YA64e6apqZ@!07-?e-yoxjfQdM_s*gHMD`e4u{O&YL!)UeO|4 z?;R};u{sm<JB01tp%6qEx~Ad1O%T&&nb#?EjZhM*P2xQv63o zX*Ue-%mapJl7=_0&Ytbfr^CpksZD@6W#hk0lxg@a%V?EmG{i7Xe~<3?bs`SGa-_i? zI~zZI(Wx1{gJE(oC3_jH4JI*-2T*thw>@BN_uJSRib>~YXpI*$v4p45#!VP>Z7TIJ>rdCWB3#JL2JgCs5Q}KNcB)$p zT{C7x9%Lgw83WJ}Q!wwl9>q7meGXs9I#6x~UqnhKGL@}eMGzzVTwX0d09#Ott|D2l z?j}kYU8oWv3MT!!HxJf&w`{H@gf}pc`@j>fCBM?j)OfO2iKw89n;jQdEWhyfmWxG; zCe&N^$x$U75CLo{<+fHwQ>In5 z(7v~Xg)O5_HL!>D{UVrlUlvxwee`kf;9e>WQv=jykYW;r4PYZ=55Y9x8@w|qn+?z& zKNW!9b$a?e@q(7u%Zd|~$`6W{$$C%}((x`LmWuu;;tRr6lNPhaNgS6kc=xDB5*vqu`h}gtR zq~OSFQaK|05z&uoTC3CP^q+)$k-WE#@f<^pjfs?fh6I(XNAVQDgox|0?33 z7$~_3<((D_**3Z>R+A} z3ZqeH#Tqt`Hh&{GkOUtE_Q>px>$RJ0c8pJHL z`75!2c6|*QYVG+Zn@@d@i4+RGC_<%f=1{-yFagyT)k_@&N#@HDEnx3Z<0f#9I~PS; zL!nw;8xw^{r@-wP*CjZbF&k5~*Yc!FCgNGco~LM2`$RyJ8G6NK(U?)z4Jf5fp*t?a zq%x`Rry`kl{vF*_U%_0Bx+<2@yMLEM`Ce?76XwM3rlEstSH(oiy9PzPZrFwvGssM# zKh&Cb8)MXynt()!!aL30RQZ>>H~hF$pGgoEZuTbNCGKM5N-e}wP2H4|e|gRv{S z=oPgk*}hdWOvb-fSm{!#aj~P+%PKgZ;mC%1W=fGpljAE9L~T5oj2U~Sfo_CsxN9Vx zxGf^|q+g_8EOWiM{dd9-``^BI#0zrH0tkNf2<=?KY~*tXo`TtPx?N;GX5l$kB!t

Pynf7Sb*+)yayal+#=nqlj%(pQWURYB(EB*FDt*RJ;-K9QJCF zip(NRZz!D95EmX&Ti4n~1yM|6)kM2KhvY_#s@iMJ^6PZKTb=2e!1E?`7H$_z7jA|kP(|Xx z2x_6IDFr8l^`-Nwnf0Z{LF(LkVfAXD8X-g#lv4m`%6$U{P?ahef(ANY0Dyct!PN6j7+I zkruF+#74D{oEu;ey9(8G8B0?Oiqx$X+d@skk4>-!Y=m3Y{&eO~B9g|JA!bZ3SFN<6 zO2pH=3biR!mZ|+pb%7m(616p*=*O(u&`oiaQKFut;ak-<6uMOnB*&|&gJw2DqUzeN z`u7svWQsTQLA5!pj-0lP-IuW1pa;vpov=<;U1{yPuE-`bb3`LHj1hG-$h;?#11|Fv;J;HLrzn-nEp z!8YEPhNocr?qGMGNY$s1&5s?2J*etA*eUqrFqROc$Lk)*j_Jb-qNhH;n-Gf3j{8-K z$mYM50vp*fEv*s{xl-jG6Ed?hrlzH2&zcb1xx=@s)_%KuuS}VZELrBucJ+TRKPKeI zA+%X;XAUV>TO!@Jl6RTfMR#mPG^Ffz#I65<QDLTy4Z`1w}uEz-y` zB;d8Fw*PM>*yUCDmw+-2SH|_%Wsc40%`)}R6y?X-)#a2jU$HCqB{B_N$;O85YJ`?K z+G4yhze4RO(~cDi9j#EiAqk=Ca&=(EoR#<&PBSa*;USFvyhDv>^574B@?WhEq~srz KcA8_0 - + - + diff --git a/ICSSoft.FromERP/ICSSoft.FromERP.csproj b/ICSSoft.FromERP/ICSSoft.FromERP.csproj index a43f290..e5d9a36 100644 --- a/ICSSoft.FromERP/ICSSoft.FromERP.csproj +++ b/ICSSoft.FromERP/ICSSoft.FromERP.csproj @@ -102,6 +102,7 @@ + diff --git a/ICSSoft.FromERP/IcsMainCategoryCode_Rhtyon.cs b/ICSSoft.FromERP/IcsMainCategoryCode_Rhtyon.cs new file mode 100644 index 0000000..e49e0d3 --- /dev/null +++ b/ICSSoft.FromERP/IcsMainCategoryCode_Rhtyon.cs @@ -0,0 +1,159 @@ +using Quartz; +using System; +using System.Collections.Generic; +using System.Data; +using System.Linq; +using System.Text; + +namespace ICSSoft.FromERP +{ + ///

+ /// 物料分类(锐腾) + /// + public class IcsMainCategoryCode_Rhtyon : IJob + { + private static object key = new object(); + private static log4net.ILog log = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); + public void Execute(IJobExecutionContext context) + { + try + { + lock (key) + { + log.Info("开始……………………………………………………………………"); + Execute(); + log.Info("结束……………………………………………………………………"); + } + } + catch (Exception ex) + { + log.Error(ex.ToString()); + } + } + + public void Execute() + { + try + { + //string conERPStr = ICSHelper.GetERPConnectString(); + string conStr = ICSHelper.GetConnectString(); + string Namespace = this.GetType().Namespace; + //string Class = this.GetType().Name; + + DataTable dt = ICSHelper.GetERPDB(conStr); + foreach (DataRow dr in dt.Rows) + { + string erpName = ICSHelper.GetConfigString()["ERPDB"]; + string TenantId = dr["TenantId"].ToString();//mes 组织 + string TenantCode = dr["TenantCode"].ToString(); + string ErpId = dr["ErpID"].ToString(); //erpID + string Class = this.GetType().Name + TenantCode; + erpName = string.Format(erpName, TenantId); + + #region SQL + string sql = @" select a.code as ItemMainCategoryCode +,b.Name as ItemMainCategoryName +,b.Description as ItemMainCategoryDesc +,a.ModifiedOn MTime +,I.id as Org +,p.parentCode +,a.DescFlexField_PrivateDescSeg1 +,a.DescFlexField_PrivateDescSeg2 +,a.DescFlexField_PrivateDescSeg3 +,a.DescFlexField_PrivateDescSeg4 + INTO #TempItemCategory +from {1}.dbo.[CBO_Category] a +left join {1}.dbo.CBO_CategoryType catt on catt.id=a.CategorySystem +left join {1}.dbo.[CBO_Category_Trl] b on a.id=b.id AND b.SysMLFlag='zh-CN' +left join {1}.dbo.[Base_Organization] AS I ON ( A.[Org] = I.[ID] ) +left join {1}.dbo.[Base_Organization_Trl] AS J ON ( I.[ID] = J.[ID] AND J.SysMLFlag='zh-CN') +left join +( + SELECT + a2.code parentCode + ,a3.name parentName + , A .code + , A1.[Name] + , a.level+1 层级 +FROM {1}.dbo.Base_DefineValue AS A +LEFT JOIN {1}.dbo.[Base_DefineValue_Trl] AS A1 ON(A1.SysMlFlag = 'zh-CN') AND(A.[ID] = A1.[ID]) +left join {1}.dbo.Base_DefineValue a2 on a2.id=a.ParentNode + and a2.Effective_IsEffective=1 + and a2.Effective_DisableDate>= CAST ( CAST ( GETDATE( ) AS DATE ) AS VARCHAR ( 10 ) ) + ' 00:00:00' + AND a2.Effective_EffectiveDate< CAST ( CAST ( dateadd( DAY, 1, GETDATE( ) ) AS DATE ) AS VARCHAR ( 10 ) ) + ' 00:00:00' +LEFT JOIN {1}.dbo.[Base_DefineValue_Trl] AS A3 ON(A3.SysMlFlag = 'zh-CN') AND(A2.[ID] = A3.[ID]) +WHERE 1=1 + and A.[ValueSetDef] = (SELECT ID FROM {1}.dbo.Base_ValueSetDef_trl DD WHERE name = '库存分类' ) + and a.Effective_IsEffective=1 + and a.Effective_DisableDate>= CAST ( CAST ( GETDATE( ) AS DATE ) AS VARCHAR ( 10 ) ) + ' 00:00:00' + AND a.Effective_EffectiveDate< CAST ( CAST ( dateadd( DAY, 1, GETDATE( ) ) AS DATE ) AS VARCHAR ( 10 ) ) + ' 00:00:00' + --order by a.level+1, a2.code,A .code +) p ON a.code=p.code +where 1=1 + and A.ModifiedOn>=@LastTime AND I.id={0} + and catt.IsStock='1' + ORDER BY A.Code + + IF NOT EXISTS(SELECT * FROM #TempItemCategory) +RETURN"; + sql = string.Format(sql, ErpId, erpName); + sql = ICSHelper.Time(Namespace, Class, TenantId, sql, "#TempItemCategory"); + + + + sql += @"--删除数据 + -- DELETE ICSINVENTORY WHERE ItemCode NOT IN (SELECT cInvCode FROM {1}.dbo.[CBO_ItemMaster]) + SELECT a.ItemMainCategoryCode INTO #tableItemCategory + FROM IcsMainCategoryCode a With(NoLock) + LEFT JOIN {1}.dbo.[CBO_Category] b With(NoLock) ON a.ItemMainCategoryCode=b.Code + WHERE b.code is null + and a.TenantId='{0}' + AND b.Org={2} + + DELETE IcsMainCategoryCode + WHERE TenantId='{0}' and ItemMainCategoryCode IN ( SELECT ItemMainCategoryCode from #tableItemCategory) "; + Dictionary values = new Dictionary(); + values.Add("ItemMainCategoryCode", "a.ItemMainCategoryCode");//物料编号 + values.Add("ItemMainCategoryName", "a.ItemMainCategoryNAME");//物料名称 + values.Add("ItemMainCategoryDesc", "a.ItemMainCategoryDesc");//物料描述 + values.Add("LastModificationTime", "a.MTime");//操作时间 + values.Add("PCode", "a.parentCode");//操作人 + values.Add("Default1", "a.DescFlexField_PrivateDescSeg1");//操作人 + values.Add("Default2", "a.DescFlexField_PrivateDescSeg2");//操作人 + values.Add("Default3", "a.DescFlexField_PrivateDescSeg3");//操作人 + values.Add("Default4", "a.DescFlexField_PrivateDescSeg4");//操作人 + + //更新存在数据 + sql += ICSHelper.UpdateSQL("b", values) + + @" #TempItemCategory a + INNER JOIN IcsMainCategoryCode b ON a.ItemMainCategoryCode=b.ItemMainCategoryCode + WHERE b.TenantId='" + TenantId + "' and a.Org={2}"; + + + + values.Add("CreationTime", "a.MTime");//操作人 + values.Add("CreatorUserId", "'" + ConstWorkPoint.Muser + "'");//操作人 + values.Add("CreatorUserName", "'" + ConstWorkPoint.Musername + "'");//操作人名称 + values.Add("TenantId", "'" + TenantId + "'");//站点 + //插入新增数据 + sql += ICSHelper.InsertSQL("IcsMainCategoryCode", values) + + @" #TempItemCategory a + LEFT JOIN IcsMainCategoryCode b ON a.ItemMainCategoryCode=b.ItemMainCategoryCode and b.TenantId='{0}' + WHERE 1=1 and b.ItemMainCategoryCode is null + and a.Org={2} + "; + sql += " DROP TABLE #TempItemCategory " + + " DROP TABLE #tableItemCategory "; + sql = string.Format(sql, TenantId, erpName, ErpId); + // return; + ICSHelper.ExecuteDate(conStr, sql); + #endregion + } + } + catch (Exception ex) + { + log.Error(ex.ToString()); + } + } + } +} diff --git a/ICSSoft.Test/Program.cs b/ICSSoft.Test/Program.cs index 0dba83b..1913a4a 100644 --- a/ICSSoft.Test/Program.cs +++ b/ICSSoft.Test/Program.cs @@ -13,7 +13,7 @@ namespace ICSSoft.Test //ICSVendor test = new ICSVendor(); //test.Execute(); - SyncCas_Jinyang test = new SyncCas_Jinyang(); + IcsMainCategoryCode_Rhtyon test = new IcsMainCategoryCode_Rhtyon(); test.Execute(); // var ss= ICSHelper.ApiSign("sj_w_id", "70FF7F01C5899A5ACAAD4ECB7FA5B3C5", 1724650261);