From 7e7bbe64baf562168b843fb7edf8baffa4b17bfa Mon Sep 17 00:00:00 2001 From: baoge <751575283@qq.com> Date: Thu, 20 Jul 2023 15:03:45 +0800 Subject: [PATCH] =?UTF-8?q?add:=E5=A2=9E=E5=8A=A0aps=E7=9A=84Bom=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E7=9B=B8=E5=85=B3=E5=8A=9F=E8=83=BD=EF=BC=9Brev:?= =?UTF-8?q?=E4=BF=AE=E6=94=B9=E4=B8=80=E4=BA=9Buuid=E6=94=B9=E4=B8=BAid,op?= =?UTF-8?q?tid,optName=E6=94=B9=E4=B8=BAid,name;?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../org/nl/common/domain/entity/BaseDto.java | 2 +- .../org/nl/wms/masterdata_manage/mdme.xls | Bin 79360 -> 79360 bytes .../impl/MdMeMaterialbaseServiceImpl.java | 52 ++- .../impl/SemirealrawmaterialServiceImpl.java | 32 +- .../service/impl/MpsSaleOrderServiceImpl.java | 2 - .../processroute/dao/PdmBiProcessroute.java | 4 +- .../impl/PdmBiProcessrouteServiceImpl.java | 16 +- .../dao/PdmBiProductprocessroute.java | 8 +- .../PdmBiProductprocessrouteServiceImpl.java | 8 +- .../备份pdm/rest/BomController.java | 12 + .../备份pdm/service/BomService.java | 14 +- .../备份pdm/service/dto/BomDto.java | 6 +- .../service/dto/ProcessrouteDto.java | 4 +- .../service/dto/ProductprocessrouteDto.java | 4 +- .../service/impl/BomServiceImpl.java | 331 +++++++++++++++--- .../impl/FactoryCalendarServiceImpl.java | 4 +- .../备份pdm/wql/PDM_BI_BOM01.wql | 12 +- .../wms/product_manage/备份pdm/wql/pdm.xls | Bin 218624 -> 223232 bytes mes/qd/src/api/wms/pdm/bom.js | 10 +- .../master/semirealrawmaterial/index.vue | 56 +-- .../views/wms/pdm/base/bom/UploadDialog.vue | 115 ++++++ mes/qd/src/views/wms/pdm/base/bom/index.vue | 42 ++- 22 files changed, 572 insertions(+), 162 deletions(-) create mode 100644 mes/qd/src/views/wms/pdm/base/bom/UploadDialog.vue diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/common/domain/entity/BaseDto.java b/mes/hd/nladmin-system/src/main/java/org/nl/common/domain/entity/BaseDto.java index e2484a5c..9a96533f 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/common/domain/entity/BaseDto.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/common/domain/entity/BaseDto.java @@ -22,7 +22,7 @@ public class BaseDto implements Serializable { private String update_name; - private String update_optid; + private String update_id; @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @JSONField(format = "yyyy-MM-dd HH:mm:ss") diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/masterdata_manage/mdme.xls b/mes/hd/nladmin-system/src/main/java/org/nl/wms/masterdata_manage/mdme.xls index c66039cf753c77ec4aa91343d2bcf4f44b13a727..6eff23b42cc0777d7da33ba08cd78dd7fc90709f 100644 GIT binary patch delta 26160 zcmcJ234D~*)%U%b$z(!8G6~t&Nr3ERXA2<-81`LMP^dzpNL_HLt%%A51r@b5a+Prx ztyXD$-B59R0k=xkD!jE?`}x+TzSh2Kg%;att9<8w?tSje^JL)r_4n(S;hAU7x%Zy` zIp=QY-uuij@R@($GykG}Z)ClH*CRzA2+v=a@QH5^r;0!vKZ!m|hYkq=8rQdn4Z_4F}9*8p8x>*QIf+unU))mu-$ zBYn~D*U4W6{lq5;hgH^^Q2`JmzmBe}m-B=T*^UbaP2WLHXs=Dpl%hdFDz#s2=>bFgo5ZGoxL88T3(}8yCs^8&}96T^Y=bc1f9aW0NePD{D(q{jindRB^WW zu2>_~l%yqUVN$xfDd}wg_ASTs?nw2GO_F}qo&3WjDb(x9$D|z~ndxGX94%F6O0Bv# zkfUTuk@{Imp4uNMQ0LKgB3&1yl&H@s?RrWprfVAU#-`+`r|AA%N`YEQ>0{_~F6CL~ z&)M;LN>1`HA?n4Khr>erU45ESrKV&Ss6S>Gs6|;NzC(wFYR=BZeM@>#+s(cE9hg9gIgEl zuN0!o8c^@>AEOWW^VhMQ2Kq=2iU?s7#&E(Ioe;;bXMW=lei!qbhVaXez;8$(r<6+j z%Mv7jU#PAn4-ExqIzs-^Bk=Q?KU9wP#87@(yqtIsxf0?$H0lTdjYs7V^{AHP<`cf~ zw;VxG@e%mC3fzJqCs7rEuRS-^6V%Bf)XRn@v@!5dfOfY+BwPRK-el!CY}3n*#{Uj? zOOqrv~n(qt24##-(FFU?8rQFMbz&fn2}pG?{I`_)4u@{0ER!$Qn7 z#gcR}Oth5z9w*Z{i_sB(fmE((lbo4jN(XhSu%%m2x;rOt&VE0QRco_CJz)_R0o_26 z+wik`!juxw4KyfFjPhTS<>4cLr5eb~O(L;(GAa#NYn^ObsZ7B773Q^aWjLmo);ElGph|N1rjm?_kv!BPsXifFyU!%2 zYY#lc$?&es>Jez1y3wZSH-^qTFKQ$5pxp_sDD^9EUCZX;ug5$Cs z$GxG+EycQ}GZi9ASCM0Y@unFl7L=H-?(`~?Y@FIu41_|}T&x=%-IJ(EM@md*b2@}6 zmBG#&t{yJYZIer9JLE$p5Eg>Ebgyyx{TIdD2j62&P(h(A!J~(+piK6ZqFm&Pun;Ru zMZ`5Vc#4G3EwgmF`f*u-IORSS)FPr zU!gWrnkqjzC5u3$C{pj2pQ4&70;;qkTXl!0s@jSIwIRHM?;nIIB(7Mcsz+w4rz+N} zi6bYe&dO$WT;<#9nvo}{cScvLPe(SWzm3k`ku_?s+>u(9A=TT}*($4gkNRWv+@g0d z#CTdSTJ=|cwV{9aGodfA{3G<2(F zV=~l(Q!`jrqdL^m#GjhfxeeX2S^4R`h0C<^dz&Lq6*pz5$&DG1t!6Zps6oP_~Q9c3b)9v^2;m%$tgLbt}=m z{ORQujW(TAXYl(hexJ?nbMUUNY-^D7`O|xC0riuqRVuArmphhoE#~**ILA(tassFw zBgeib>j3`o>Hk^?Ji*@e@aR=%b&68 z58z$>xTh6$As?dr#oTHiwvdn5Pmj{4ZuRh#Vd|$-E7iMGTGf~1s^k+~4b%tJimBeQ)uqz=1Oy*9Ok+xyd~x*ZdaDUfP#78U9Bt5EMkb#3oVwXioNpI0k; z>*WjTgBkVmMKy0mw|q(6HR~AUl|QFXi{;Dem(#oDUc9Tsz&^w@iiR{IA+IrA!sfT?JZx z#I8IrH-ot)^Jc2Sc_I0Um9uT$8I$}XG~hd|lKdiTz|Z&Wfn>gq7zpq^XCQ^|xdTDI z=MALNJyqnZ#Y<~^!$pC5X-Ts$RTQemB{jZG8a-b-zMc5RYUA>OKkg zGIjC^$X~8%7S_-`tWG>0_X>5=VwA5`l~g`cj8vgzt;s+drS=_HN5j+n<3{;XM3wpn z-BU%i+DrL!MUC3DxW`u^YSn`a%al5y1oh5Rl$pq7GLOwsqmM(G z4lV;a?fUBR7Hl19^n^q!pSdg4vTR@ zC1r^zA`oMQ#aL!ejWJs(gxAbtV$5;GY^9vTMQ=>rL@qkbovWRh(=}6_K0hNeBbH%; z5tBtL5vxVJWzLE*Ct59LyO~=495=I#LFc-e(6>;`YZSvAd)pWZmN?eTk6DB46=H!( zT~ry#qNR}44@zr?EOIloD#yl{j@&G(V1VJO!3u$azuk7aNt~QH9jWA z**m^IW0_Bd*MuVFLLP`nK^{ywa3S4&zQdc(UoG$d^QjwdKO9{Cx9eve7K@2b|Lot2 zisA!vh~dpynPjtw-&2HnnCJ;RL*k}!eo+Vk->$vw?CU4bf1xL|>AlaYe%>N`BO5}Y zk=yRt5Ipa)cat7`Kj~ogd1Bau8|M5rxL;oCzx#vW71=8{XM|q8HTUGRd(ZmeH>>_| z>F@V1-6ubLR-~T)$*=pC&f5R+#lQVz^G_fA#d*W#Jbra;*X|Q*um13j-Sh6abg=r< z``@{;cK+QXR=(B$*5K<;_00b0(~GkEKWcg0|7gRjJ-6)LIW=r~D#~;7p zvFp!yN3~8bYn>bZ^y!RK>;F7v|LJQFKh*Hyz%!4IxbXhj*Z%dmUq^p(M(@3A{`l%8 z6LtsQt-E-G99MQn*(vAU(elfO`**Hd|K#)Ed@#K6?Z3VrSo!o5U%Ywnls9)jb?d!1 z9TWYvzxMQ#_I&b}br)PX_L7U&?~dGjZ~w8YADTDpyw|@jTrVFVHf_6l^Sn{=nH^u9 zR~DAbb`)%>^XDfEdFSGVr{8>9UPP|V67qbpQd}rbQQNi@hYpKu@u(MBln0XDZd?g9;VS_SNxbrP3OOTOvT!&-~C&*Wk zARh(!P;f`}%@ZYs)GKe9Qc*48!f$9`DyGAX8i{_kiz=v?4nS%oz0?c0j4!R0aH>oS zh*Hjl9Hll#{;kM?wE=RJ+Z^RK$C;c1OIGBlusJGhj@`E|i@2@F&bPOEMl;WyuPQ;l z>IC^}66C9m=Q-7lEp9JxeF7e~w!QhVtL?2u>|Vy_gA1_VKU%`=BWZxDme`TW*9oWv z_;;lBP1Ei0FBZPYG1_`>w9Rq(?c*cW5{(==s%?&HCx;x(uOQWJfq*A!WgWljrSsBh z@QA~S-E|rq({O}x_1Hg-6>vTUSs{3;o~>;lYsX0Ryj`^4+dzso%Gj%(8W9wP7aa-p zvQ{?9W_oE^@MgV)nT;$9avDj_@R*oJS-<0@JBnq}>v!7$`q6|pmbN?ML+QJ(DET?{}2hNR&Q?9qnC%8gM^B^y*gmy!kZf#4_+Q^ znTiyWaNZCJw8euImlYW1ygZC@knr3P33&-}=O^INCKV*?$olbcS$c@-MGq{=B8`sC zaxIlE4yj4^v{4QSK_3Wk4iwiEa$IvyTh<|*J5h@mMq(l3kb2{u7UE)11vhB8S@(jA zVHMm|&E2v1-aWp+f77wkDNpKVu;YyF$IHn3E>B>*^LhdkjhBZw#LGkb@bb_;ygalI z%X3B<42G6zCKWUnFAvSd%R_VV^3bQeJTx9JuNbYz%lx;t9?!J>FSZ_6?O>Mm>WU`e z<)J}X-fZJdva|!BYv79(JrA`vP5nS&yrpN>AX@*9t5HSi6F$xed3J~KB1O_4)QNjqRj4;8- zOeKU!hMZ_gKy+9N5V15s#3(>aqMWD-jB9`hGX#24rtCCQ&`UycvZZ`3iZ+8Haf!*U zMAUYdfxs{ch)RY?BZzd_ZG@%~M4Ife6ne!JOQBc9($Fhn6c8d)DJ!hNs0)Zu43W+d z#}E(AGMyoMEd_{amI6d94G=L35Ys6q5HN-Vp^6b`=}rA^1_CQU3}=X$mIA~qO95iG zr2rA505ONs0D&n15H$>u!A8tAWVU?Wa3 z$c%Mgy`xh@~&a!tq5;(e6MZE3ZE$fG-qXlH~x zM)J^qz3#6}~uj3G8z3J_OV3J|e0 zK*Xqch;jolnT??BTr%QHBL$mCx$-Jdtz;8+lJewcn+OO_k zZ;+4R+shl7fHx`uZ*&4)RXh*tJao)3G2zHAwld6CUPC-oRhX^3)>1I?hn9kou{0PN zqu|FMQBEMhG$3>{LIopS=QLaFwdKk|BNY2>dGdNo`CVzrE(#D^3As7F{ag{>Gx5c%?UQ*abR++is|+-WHovCUF2B1Qq>E=mIe zS_Ox1W_RGHU+V9S15mMDW52k_gKo0W6Ec0CqlugtY8(FzR%>S;?nn93Z=JO z3Z)yLeLLypXY7vGi8~(o&k`w1cf7vqUKz;$IkokdP2wwiKBo<@C!d?-=_G!V=j{;5 z33!17JgkMhWrGQLsqs8#GXx6+Z{f5Ayz~UT;R$$%a=r2pmU?+92qcO5@7Xr0953{3}hw04n{+$~iqh6dB`J8$WhN&b1`4gU1Hh9{P}3k{0q&?0Zv0}hEUOis1>^yU$O-3U>p?BQv&4qS>6joL7typjywu{{Vsv% z3J@4%f!MUr0LwikFDmMa#lulJPfwX{FG0AS1*wuq&ZuU`OJhpiat4 z1t23LUN%CYeY_C#H3-RJA=r1&La^s>Q0z5AQdp5+7#S%Z8R(mkQNS{=v7lvOQ{kX^ zg;IC~4YH6|jgX*62s$%_l&}!&9sHg3$G*Wq@fxMT#i=agmqtdaM+W*nWQ17;HV3{U z&xQ2H*Fkb+yyX}akh!u4dvI9he@#H{JQyU9XB6kbIvsibO!bPFt_BPm$Wz66u+koy zCxTG~nQAx_*2+UOWtu#7oCk~De+&V`AOkrKY#~;w+Cr>Uy^3MoiM)+HyCP&E)}2E^ zv2sMFW(LK|acG_qCQl3J!P0MN9<1LWrI$JQxzcK>r`dnXsIJW^O?kBOz!!D~9#RKLr{N)*=U~ z;n8`49SbmaBJTv2hn2;*L-JrOMV^VAr&!R#1<2$EMR1Qy9h?cl{m?v!&XH#l=RtHn zG!Noy+tlDgP_SduE&p%4=r>v*TUq;bD{u6AyB`ST17H zp$bA4@^o_^M3r&arWaK@-ss^>hzk$LJf;r4vOjwvi5N}e)uP|gm(UIf@x8C&0+bD} z4NAFCWxrnSF$6PCk>|_`bA-bikW1_%0S-?XgE2~bc^GxQJPe|i=L8}c6)n>U#31MJ z2INu(#-Qc!9AJ!1ULM9GFArmnm&ap`mzkL$BgT>u9?xLR@bWN3czGBSygUp6#LJO% zr|lj6qy@S>G1V(?R4v~?pD&{e-xl0R_f2$NLD!XZZKmsobX`r?HFRA|7gi;R@UNq5 zkS;7Xu#8Z2(XxQ$Am)d>oy%+FJyIQb<2297D|(PuQ}h@w4>1W8-LmgKxk7d9KPR%1 zI68_*qSn|a{twYQhDj3r;$2Jm=u3$ht#q27a>7sq3Q06)pJw<0v5I$Ac2V9W>RP9Z zyTsjO_K*2>HEoJI(F<_tyabzdIFjiT|80aLdg&L``dK)lm(?uXN7G=xILY!IP#^WJ z7^sgy`@}usUhxxt-AABM+DG37ykER$Q9?w$k5wNI(0w#<+&|=1Xu~3CtB+m~7WIh_ zj2MJQ{o+HT6hb4dEW)CgvWSYbhx{&O{URkoF6#5R2-^Bd+wJ1_7A8d0M?^tcdeD<7 z?@KF-&J1PsAr3;WKJhl4Z* zv$B7%Fi`drE`|NEBP&azOoX-7=RpYW`otfN7&NSY@xMetTLgI8wTSIv%EAuqTI5;9 zr{+*La71MTtn8--h30H%`bRW`*@Ho~q=Iij{HtS#mhI68%urCEX7LCR5-#kdS*^&u6a)jpbNv=l_F z{S@DUqL>{K>uR#mNsRB?L921l(U_|v$O=QHAier{34j1INU`hC_7P+w4p{_v{7a&! zF-NG#kzJ0N1Xk#CFoetBrSL*4ijesXigg{zNBgIa5eS*TYX_)QGU6=uAHJV{Hn$P9 zsZ=r|vc@C?sQ?x-yXa}3RC@hX{7gK+um2DaCVc5ufr$+&R`$Rfh{pRUrq@bgCD>2V zpKcWxf^@4u_wLg}S%maJ2RetGe}gs8vZLRr(n*LSJ~MkIt}~Mylw9G*ab!>#8(T<$GKpjVi340!QtsG*5jW zO+8HQP){G$VVTi~!y2t0&I9`?Vsa=8fpzoMBU@lxk)1Q)qG4hsDyM< z@gWMVw2J9RRWagdtX+su13K!{J}h(kNV--E=ZXD7S}MNR3}-JoDh{_Q4rdiHf*-r;q+U+>n)Wb-&%LCa~k!(`rRO^B4L~dtH zgtr|3>ElQ&dHd*CMuXzCv!5PG(4ZqM=m-}m4mx#b#35%4bi@%s5kIe_OP^2XLp zJqMvdaR$1Mo^^02AN~G@24ikDr)w+-^5s&qe)18-13E zwfZ`GVnV}Xy}phPZnXz+T6!@H#z|?c;pJLIa7ucyb$c!=vMxcxLlg~6KHQ8@Z0Hm|26MXf>}fkvzc@(6gq&T0tAHn2j7b~bR>4G-iI@MVS{Bw1Lg?4tEk9(iDc zcvw8buSdlWenoar(?bKqE(5gE=b_kTxRiG7wHi2bT~GV_+7tP#6#7LzDRen~HNxRL z3gugcc8M~|1%=ip04HqS|1pLGe0&eYV)x=wIwa8GIE-CSrve%Tp}IccLmWIHCKzx8 zn%Wx$798Fvu-+)3Zn&PmoB(eW7;i+}?r^+;MhAuT!78>&Hq!BdRtVcA8%43De6+-K z8Yzx$uOLOVvW2A7My`rNQfiZ(O$$k>D>WbS&qh%~!k|@Q!a8!4!k)}Zy7W;j_GC8l z!WKTmVedv!Msi>^4tqB-K#{A8imXCKMj>kdsG}m*Xk+3!;`V{f9)RmZTATxK6y*d5 zaGV2g6k!97bKt8CAML}bqGAhPY`sByc4br??l>AawoL%8k8iPwv{_UbaGVft7L^7Z zC&X7XI8KK*TX38XUt{ z`|C&a6ufpnPM0^+L+~23%qmmnQl`u*Qx>NT#s6jG0iz8mQ|3~pETJ;xMj3rXi*2^e z^nAQl1_#lbMV(Ow=g`_S^g}r`YC3UdxueWD+OrFgWlo4x&eZ`Ym9rxCBnVz9cPpa0 zK0KaIsJWGoES8nVf*vm4Mgn;bD>q6K^G5 z`s6)K4X2O4!h`z8*?vEL*8#1VR^?%8IXcVU z2lxt7Mi20auPaCyjA)PB*Apu6aa-;6qJ`C}vcbT}j5NF7!yi!<^;(Pk-(`_4AqXwvm^tLtd1>uA;$b1rlpZFC(v0HVhL z*KE__czvU2H&8fU9~5JWg7>Saw)BKkMW8p>eqLokt6ZQ}M+8Ne1Za>)-D<`hCuy2O z)!>UdgJQf<0bkaMO}*7FYpX4AwXGQ_TFt;(7G~ZFBn#t9b;4$Xu>i`1BCJgfYctWn z*RV3q4rz@`nHrZeHCCA#>jfxNW0k3)HoH-D7-g^n;jWGddJje+Xrp(_YFQb4p$^v6 zvNF!DX|1h}T2{mvc5AI7wJt?!ts=FoNT*Sx)=?zl+P}rn2SxNwSRE@e*(g%Sia0x> zbykr&R-~Uw!SXt*NS#ZOI;%(>E7D~YiPSloxD>%~3q^D{u4hHMjUx4|$j1h--YQb> zQl#E0Qg7P{dPO}eveBsq*zfFKV>}0_-ju=@v~Hvmb6pMig4R|sg(z6rK%h~so(2NF ziE7y4CsP?zTLXdK%y9ug8{D9Am=R1E0IlSPIEF2qYCy-ZrNG@W#9WYCcY6kj156ukzt(SkNIs1pG-TF^!UjjDfsS{&Ibrco($ zy2gZ++7yE&)FwiWEsvTAHMTrzBGlOOsELqc%cCYj)(e6rLXItunj&PcULQ446N{~n znn;mw)jZZ=Bk&8ucs%2^&Yvr^9TsF{^QnjX zDbz{|#g;;?+z6bRvXzvIErnWbLx{B6=7&B)-$plUp;qqk&QhrLs7kdNrSvXU8!Lrx z?7{7Atdz49YGb7|pI56im2l^5vl_Kog|HNAGyUPnZK2(O>)on$26vW1?F=3^-J+eq z^-`#v+XAX60;}6Cc)JU{{r?F*)`08%ld%LITL_FL@Yq6NEP>z59vMsEx6&NVhKJ|} z5t7ZYG?u`lYTFmZE4Pa2rc;h3$3IDrD?QDxXDDET!sAHva`P!bpWsl0ptp$`T&|KR zNz@Tvs^kD7n%)D5Xs$jGAJI%?56(2zH<6GA#Vkw3M>G@JiyO2dVxo28M0TPR(M&W> zbWfp}K@s?3L^Bah2Ln5yR0jh)p;U*fF?YCtJ1lUA1%{J4Y+LT&wmh3%lTCc@e7-)3 z7G4Osp^Xl8CXq6?3;fsud^?GhxkJn)3W6t*GItujUu?4z$s|(bcEb-)4#xwNj_3hI z^uRO`O(%O`o&oJ-4>%D`r^^GKE)R5C4|KXb&}lu;$sTYbn$95};D`om3237un#rt; zGk;HJWt{nYGAjemOlC!#Kw`30WHKw_tm`Kq(F0hk5N5pd84pab-9y~|HvI_9`?U3amOB5?EYC7?3ZZ0r9+jAyfOkv+UT*^4v;@5A@jPdl zIU}BFmYFjX@Mb08%}&6ZlYobM^BNbKmw-7x0dIkahq0uGc&JVt2KI1m9%pK^himhA zQ=2`uHt~Z#u_n}mC|Gyj9#FEyjL#c#wr zc%3DFYZlR{UnoPPDfP=~q|A%rBm+N)pR0*X{5}{R+(v}%w7h?uMz#i zDl?6gc}1Q4_lk&vhqePeJzh>{1_OWh=L*0$>Yzn%;_$y>DF-k$kFq57jQZo z{uVv_@-97xg4geijnp(F45}Zfn8BbY8_*dHdWr#^VL@lOKxbG`{F+h>bcO+aPrOgh zli>BC0Y%$~p?X-1%p}lP#R>yDlR#e;D-GyO0)34wok^g-v|gP_psyN!fO0tF;!Fa4 zot`WCh@J}hm|uS|py*rx)r-1Wg!zU(l|aBai$M3;V~JS=8mrD(1iaq@&m!ReVqp9t z)PLFPoJGLDGW;OP(#I0nBsrCGeL@#re>BRVS3?<$l{8b%W^J5!dp0ZM#M`r38MMIJ z>~`lkVzyOewp9d+tl6x{z678cHUO%7^c=>d&|4oj%wbR`_MT%w=dkro>^;YV;#aO> z*3Yrl&!GW&pE-ue7IP9>kFg4h=*3=SE@`sY9zV<_MfTd`hq=t)}F`8II;FTRt8lu z&s7!ktRnNQBB+XatjOL3Re?bmm{@L6{m*AmC&r%7pkdPk<`d|z*&6&H*voduf4&8s z?*g5FL{NGtg z=-{%Q{BSM3F5nmLS1}d5Ky)Q#izfo=Pj}R2Or|O$EDD3@Q&4q%^Zd?%QF4{MF)XXi zeDHJVCrnj%898UiMM0qqTD8td( zfUJh}7Mra)`mj&dY)vABaegZKJEDM<9o^%XqoQX4wZt!TqO0-t07(O2L9`;7#1Tvw zWPUV6|A#`fCRrA0Xi_4d1xHsTlXh1oQ;F-6Da)N8zm@c9SF#+o6{WTX`y} z;syh9CM+&M`5DpsQb^+mQz+l-DRN3QKPb2F+>83(^C`Lp{233r`ljPZzqyWpv@$)o6OVoDke%sGW0b9{iy!Wd9RyB->8~Q8u04(54FL4l75|9eT{9 zJ6gtax~I^6HQmV>;sUzE`fYSa5HzTrV#BN zBb$>IF|JT@O}pCmO+L2{v=ID7pDUFYxH#(iZ<=>LSwT%Npz9(!ZlqjOfr@RVEv&Kh jK87}oT50dDg|244j}$#}-HS39*?zLwBUF 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 diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/masterdata_manage/service/material/impl/MdMeMaterialbaseServiceImpl.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/masterdata_manage/service/material/impl/MdMeMaterialbaseServiceImpl.java index 65b4daa5..c8fe0aa7 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/masterdata_manage/service/material/impl/MdMeMaterialbaseServiceImpl.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/masterdata_manage/service/material/impl/MdMeMaterialbaseServiceImpl.java @@ -71,7 +71,7 @@ public class MdMeMaterialbaseServiceImpl extends ServiceImpl().eq("class_name", product_series).eq("is_delete", false)); +// if (ObjectUtil.isEmpty(class_jo)) { +// errorMap.put("第" + (i + 1) + "行:", "系列分类编码对应的分类不存在!"); +// continue; +// } +// material_jo.setProduct_series(class_jo.getClass_id()); +// } + String material_type = list.get(4).toString(); + if (StrUtil.isEmpty(material_type)&&!"1".equals(material_spec)) { errorMap.put("第" + (i + 1) + "行:", "物料分类编码为空!"); - }else { + }else{ //查询对应的系列名称 MdPbClassstandard class_jo = classstandardService.getOne(new QueryWrapper().eq("class_name", material_type).eq("is_delete", false)); if (ObjectUtil.isEmpty(class_jo)) { @@ -110,20 +114,12 @@ public class MdMeMaterialbaseServiceImpl extends ServiceImpl().eq("class_name", product_series).eq("is_delete", false)); - if (ObjectUtil.isEmpty(class_jo)) { - errorMap.put("第" + (i + 1) + "行:", "系列分类编码对应的分类不存在!"); - continue; - } - material_jo.setProduct_series(class_jo.getClass_id()); + String material_model = list.get(5).toString(); + if (StrUtil.isNotEmpty(material_model)&&!"1".equals(material_spec)) { + material_jo.setMaterial_model(material_model); } - - String unit_name = (String) list.get(6); - if (StrUtil.isEmpty(unit_name)) { + String unit_name = list.get(6).toString(); + if (StrUtil.isEmpty(unit_name)&&!"1".equals(material_spec)) { errorMap.put("第" + (i + 1) + "行:", "单位为空!"); }else { MdPbMeasureunit unit_jo = measureunitService.getOne(new QueryWrapper().eq("unit_name", unit_name)); @@ -134,8 +130,8 @@ public class MdMeMaterialbaseServiceImpl extends ServiceImpl().eq("workprocedure_code", workprocedure_code)); - if (ObjectUtil.isEmpty(workprocedure)) { - errorMap.put("第" + (i + 1) + "行:", "为查询到该工序编号对应的工序!"); - continue; - } - - String semi_material_code = (String) list.get(1); + String semi_material_code = (String) list.get(0); if (StrUtil.isEmpty(semi_material_code)){ errorMap.put("第" + (i + 1) + "行:", "半成品物料编码为空!"); continue; @@ -193,7 +182,7 @@ public class SemirealrawmaterialServiceImpl implements SemirealrawmaterialServic continue; } - String raw_material_code = String.valueOf(list.get(2)); + String raw_material_code = String.valueOf(list.get(1)); if (StrUtil.isEmpty(raw_material_code)){ errorMap.put("第" + (i + 1) + "行:", "原材料物料编码为空!"); continue; @@ -206,7 +195,7 @@ public class SemirealrawmaterialServiceImpl implements SemirealrawmaterialServic continue; } - String rate_qty = String.valueOf(list.get(3)); + String rate_qty = String.valueOf(list.get(2)); if (StrUtil.isEmpty(rate_qty)){ errorMap.put("第" + (i + 1) + "行:", "原材料消耗重量为空!"); continue; @@ -217,7 +206,6 @@ public class SemirealrawmaterialServiceImpl implements SemirealrawmaterialServic if (ObjectUtil.isNotEmpty(jo)){ jo.put("rate_qty",rate_qty); - jo.put("workprocedure_id",workprocedure.getWorkprocedure_id()); WQLObject.getWQLObject("md_me_semirealrawmaterial").update(jo); }else { jo = new JSONObject(); @@ -225,12 +213,12 @@ public class SemirealrawmaterialServiceImpl implements SemirealrawmaterialServic String nickName = SecurityUtils.getCurrentNickName(); jo.put("relation_id",IdUtil.getSnowflake(1, 1).nextId()); jo.put("semi_material_id",semi_jo.getMaterial_id()); - jo.put("raw_material_id",semi_jo.getMaterial_id()); + jo.put("raw_material_id",raw_jo.getMaterial_id()); + jo.put("raw_material_code",raw_jo.getMaterial_code()); jo.put("create_id",currentUserId); jo.put("create_name",nickName); jo.put("create_time",DateUtil.now()); jo.put("rate_qty",rate_qty); - jo.put("workprocedure_id",workprocedure.getWorkprocedure_id()); WQLObject wo = WQLObject.getWQLObject("md_me_semirealrawmaterial"); wo.insert(jo); } diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/mps_manage/saleorder/service/impl/MpsSaleOrderServiceImpl.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/mps_manage/saleorder/service/impl/MpsSaleOrderServiceImpl.java index 9376a8d4..056b9f5c 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/mps_manage/saleorder/service/impl/MpsSaleOrderServiceImpl.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/mps_manage/saleorder/service/impl/MpsSaleOrderServiceImpl.java @@ -144,7 +144,6 @@ public class MpsSaleOrderServiceImpl extends ServiceImpl meMaterialBases = materialbaseService.list(new QueryWrapper().like("material_spec", col)); if(CollectionUtils.isEmpty(meMaterialBases)) { errorMap.put("第" + i + "行" + col, "物料规格对应物料信息不存在"); - error_message = error_message + col + "物料规格对应物料信息不存在,"; } else{ Optional first = meMaterialBases.stream().findFirst(); diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/product_manage/service/processroute/dao/PdmBiProcessroute.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/product_manage/service/processroute/dao/PdmBiProcessroute.java index 7fc48650..4329b6a4 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/product_manage/service/processroute/dao/PdmBiProcessroute.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/product_manage/service/processroute/dao/PdmBiProcessroute.java @@ -72,12 +72,12 @@ public class PdmBiProcessroute implements Serializable { /** * 修改人 */ - private String update_optid; + private String update_id; /** * 修改人姓名 */ - private String update_optname; + private String update_name; /** * 修改时间 diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/product_manage/service/processroute/impl/PdmBiProcessrouteServiceImpl.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/product_manage/service/processroute/impl/PdmBiProcessrouteServiceImpl.java index baa39482..9fdcb26f 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/product_manage/service/processroute/impl/PdmBiProcessrouteServiceImpl.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/product_manage/service/processroute/impl/PdmBiProcessrouteServiceImpl.java @@ -114,9 +114,9 @@ public class PdmBiProcessrouteServiceImpl extends ServiceImpl dtlArr = pdmBiProcessroutedtlService.list(new QueryWrapper().eq("processroute_id", processroute_id)); @@ -154,8 +154,8 @@ public class PdmBiProcessrouteServiceImpl extends ServiceImpl() .set("is_delete","1") - .set("update_optid",SecurityUtils.getCurrentUserId()) - .set("update_optname",SecurityUtils.getCurrentNickName()) + .set("update_id",SecurityUtils.getCurrentUserId()) + .set("update_name",SecurityUtils.getCurrentNickName()) .set("update_time",DateUtil.now()) .in("processroute_id",ids)); } @@ -178,8 +178,8 @@ public class PdmBiProcessrouteServiceImpl extends ServiceImpl() .set("processroute_status","10") - .set("update_optid",SecurityUtils.getCurrentUserId()) - .set("update_optname",SecurityUtils.getCurrentNickName()) + .set("update_id",SecurityUtils.getCurrentUserId()) + .set("update_name",SecurityUtils.getCurrentNickName()) .set("update_time",DateUtil.now()) .set("audit_id"," ") .set("audit_name"," ") @@ -191,8 +191,8 @@ public class PdmBiProcessrouteServiceImpl extends ServiceImpl() .set("processroute_status","20") - .set("update_optid",SecurityUtils.getCurrentUserId()) - .set("update_optname",SecurityUtils.getCurrentNickName()) + .set("update_id",SecurityUtils.getCurrentUserId()) + .set("update_name",SecurityUtils.getCurrentNickName()) .set("update_time",DateUtil.now()) .set("audit_id",SecurityUtils.getCurrentUserId()) .set("audit_name",SecurityUtils.getCurrentNickName()) diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/product_manage/service/productProcessRoute/dao/PdmBiProductprocessroute.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/product_manage/service/productProcessRoute/dao/PdmBiProductprocessroute.java index 1a9a2091..d39e27ea 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/product_manage/service/productProcessRoute/dao/PdmBiProductprocessroute.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/product_manage/service/productProcessRoute/dao/PdmBiProductprocessroute.java @@ -69,12 +69,12 @@ public class PdmBiProductprocessroute implements Serializable { /** * 修改人 */ - private String update_optid; + private String update_id; /** * 修改人姓名 */ - private String update_optname; + private String update_name; /** * 修改时间 @@ -84,12 +84,12 @@ public class PdmBiProductprocessroute implements Serializable { /** * 审核人 */ - private String audit_optid; + private String audit_id; /** * 审核人姓名 */ - private String audit_optname; + private String audit_name; /** * 审核时间 diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/product_manage/service/productProcessRoute/impl/PdmBiProductprocessrouteServiceImpl.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/product_manage/service/productProcessRoute/impl/PdmBiProductprocessrouteServiceImpl.java index c4af9047..91b04f0e 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/product_manage/service/productProcessRoute/impl/PdmBiProductprocessrouteServiceImpl.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/product_manage/service/productProcessRoute/impl/PdmBiProductprocessrouteServiceImpl.java @@ -151,7 +151,7 @@ public class PdmBiProductprocessrouteServiceImpl extends ServiceImpl().set("remark", jo.getString("remark")).set("class_id", jo.getString("class_id")).set("detail_count", rows.size()).set("update_optid", SecurityUtils.getCurrentUserId()).set("update_optname", SecurityUtils.getCurrentNickName()).set("update_time", DateUtil.now()).eq("productprocess_id", jo.getString("productprocess_id"))); + this.update(new UpdateWrapper().set("remark", jo.getString("remark")).set("class_id", jo.getString("class_id")).set("detail_count", rows.size()).set("update_id", SecurityUtils.getCurrentUserId()).set("update_name", SecurityUtils.getCurrentNickName()).set("update_time", DateUtil.now()).eq("productprocess_id", jo.getString("productprocess_id"))); productprocessroutedtlService.remove(new QueryWrapper().eq("productprocess_id", jo.getString("productprocess_id"))); for (int i = 0; i < rows.size(); i++) { JSONObject row = rows.getJSONObject(i); @@ -164,7 +164,7 @@ public class PdmBiProductprocessrouteServiceImpl extends ServiceImpl().set("is_delete", "1").set("update_optid", SecurityUtils.getCurrentUserId()).set("update_optname", SecurityUtils.getCurrentNickName()).set("update_time", DateUtil.now()).in("productprocess_id", ids)); + this.update(new UpdateWrapper().set("is_delete", "1").set("update_id", SecurityUtils.getCurrentUserId()).set("update_name", SecurityUtils.getCurrentNickName()).set("update_time", DateUtil.now()).in("productprocess_id", ids)); } @Override @@ -185,12 +185,12 @@ public class PdmBiProductprocessrouteServiceImpl extends ServiceImpl().set("productprocess_status", "20").set("update_optid", SecurityUtils.getCurrentUserId()).set("update_optname", SecurityUtils.getCurrentNickName()).set("update_time", DateUtil.now()).set("audit_optid", SecurityUtils.getCurrentUserId()).set("audit_optname", SecurityUtils.getCurrentNickName()).set("audit_time", DateUtil.now()).eq("processroute_id", whereJson.getString("processroute_id"))); + this.update(new UpdateWrapper().set("productprocess_status", "20").set("update_id", SecurityUtils.getCurrentUserId()).set("update_name", SecurityUtils.getCurrentNickName()).set("update_time", DateUtil.now()).set("audit_id", SecurityUtils.getCurrentUserId()).set("audit_name", SecurityUtils.getCurrentNickName()).set("audit_time", DateUtil.now()).eq("processroute_id", whereJson.getString("processroute_id"))); } @Override public void unSubmit(JSONObject whereJson) { - this.update(new UpdateWrapper().set("productprocess_status", "10").set("update_optid", SecurityUtils.getCurrentUserId()).set("update_optname", SecurityUtils.getCurrentNickName()).set("update_time", DateUtil.now()).set("audit_optid", " ").set("audit_optname", " ").set("audit_time", " ").eq("processroute_id", whereJson.getString("processroute_id"))); + this.update(new UpdateWrapper().set("productprocess_status", "10").set("update_id", SecurityUtils.getCurrentUserId()).set("update_name", SecurityUtils.getCurrentNickName()).set("update_time", DateUtil.now()).set("audit_id", " ").set("audit_name", " ").set("audit_time", " ").eq("processroute_id", whereJson.getString("processroute_id"))); } @Override diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/product_manage/备份pdm/rest/BomController.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/product_manage/备份pdm/rest/BomController.java index 557d0f67..ffdefe46 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/product_manage/备份pdm/rest/BomController.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/product_manage/备份pdm/rest/BomController.java @@ -13,7 +13,9 @@ import org.springframework.data.domain.Pageable; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; +import javax.servlet.http.HttpServletRequest; import java.util.Map; /** @@ -106,4 +108,14 @@ public class BomController { return new ResponseEntity<>(HttpStatus.OK); } + /** + *导入bom数据 + */ + @Log("导入bom数据") + @PostMapping("/excelImport") + public ResponseEntity excelImport(@RequestParam("file") MultipartFile file, HttpServletRequest request) { + bomService.excelImport(file,request); + return new ResponseEntity<>(HttpStatus.OK); + } + } diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/product_manage/备份pdm/service/BomService.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/product_manage/备份pdm/service/BomService.java index b4c241fb..f58e932a 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/product_manage/备份pdm/service/BomService.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/product_manage/备份pdm/service/BomService.java @@ -5,7 +5,9 @@ import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import org.nl.wms.product_manage.备份pdm.service.dto.BomDto; import org.springframework.data.domain.Pageable; +import org.springframework.web.multipart.MultipartFile; +import javax.servlet.http.HttpServletRequest; import java.util.List; import java.util.Map; @@ -33,10 +35,10 @@ public interface BomService { /** * 根据ID查询 - * @param bom_uuid ID + * @param bom_id ID * @return Bom */ - BomDto findById(String bom_uuid); + BomDto findById(String bom_id); /** * 根据编码查询 @@ -73,4 +75,12 @@ public interface BomService { void submits(JSONObject param); void cancelSubmit(JSONObject param); + + + /** + * excel导入 + * @param file + * @param request + */ + void excelImport(MultipartFile file, HttpServletRequest request); } diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/product_manage/备份pdm/service/dto/BomDto.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/product_manage/备份pdm/service/dto/BomDto.java index aee66c63..205931c4 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/product_manage/备份pdm/service/dto/BomDto.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/product_manage/备份pdm/service/dto/BomDto.java @@ -15,7 +15,7 @@ import java.math.BigDecimal; public class BomDto implements Serializable { /** BOM单标识 */ - private String bom_uuid; + private String bom_id; /** BOM单编码 */ private String bom_code; @@ -24,10 +24,10 @@ public class BomDto implements Serializable { private String bom_name; /** 物料标识 */ - private String material_uuid; + private String material_id; /** 产品工艺路线标识 */ - private String processroute_uuid; + private String processroute_id; /** 成材率百分比 */ private BigDecimal yield_rate; diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/product_manage/备份pdm/service/dto/ProcessrouteDto.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/product_manage/备份pdm/service/dto/ProcessrouteDto.java index b1da83f4..84932d5e 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/product_manage/备份pdm/service/dto/ProcessrouteDto.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/product_manage/备份pdm/service/dto/ProcessrouteDto.java @@ -55,10 +55,10 @@ public class ProcessrouteDto implements Serializable { private String update_time; /** 审核人 */ - private Long audit_optid; + private Long audit_id; /** 审核人姓名 */ - private String audit_optname; + private String audit_name; /** 审核时间 */ private String audit_time; diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/product_manage/备份pdm/service/dto/ProductprocessrouteDto.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/product_manage/备份pdm/service/dto/ProductprocessrouteDto.java index e3cd2c2f..b5bbd4d5 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/product_manage/备份pdm/service/dto/ProductprocessrouteDto.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/product_manage/备份pdm/service/dto/ProductprocessrouteDto.java @@ -57,10 +57,10 @@ public class ProductprocessrouteDto implements Serializable { private String update_time; /** 审核人 */ - private Long audit_optid; + private Long audit_id; /** 审核人姓名 */ - private String audit_optname; + private String audit_name; /** 审核时间 */ private String audit_time; diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/product_manage/备份pdm/service/impl/BomServiceImpl.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/product_manage/备份pdm/service/impl/BomServiceImpl.java index 8cd30c24..edea866a 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/product_manage/备份pdm/service/impl/BomServiceImpl.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/product_manage/备份pdm/service/impl/BomServiceImpl.java @@ -7,24 +7,34 @@ import cn.hutool.core.map.MapUtil; import cn.hutool.core.util.IdUtil; import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; +import cn.hutool.poi.excel.ExcelReader; +import cn.hutool.poi.excel.ExcelUtil; +import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; - import lombok.RequiredArgsConstructor; +import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; import org.nl.modules.common.exception.BadRequestException; import org.nl.common.utils.SecurityUtils; +import org.nl.modules.system.util.CodeUtil; import org.nl.modules.wql.WQL; import org.nl.modules.wql.core.bean.WQLObject; import org.nl.modules.wql.util.WqlUtil; import org.nl.wms.product_manage.备份pdm.service.BomService; import org.nl.wms.product_manage.备份pdm.service.dto.BomDto; - +import org.nl.wms.system_manage.service.user.ISysUserService; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.domain.Pageable; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import org.springframework.util.CollectionUtils; +import org.springframework.web.multipart.MultipartFile; -import java.util.List; -import java.util.Map; +import javax.servlet.http.HttpServletRequest; +import java.io.InputStream; +import java.math.BigDecimal; +import java.util.*; /** * @description 服务实现 @@ -36,14 +46,18 @@ import java.util.Map; @Slf4j public class BomServiceImpl implements BomService { + @Autowired + ISysUserService userService; + @Override public Map queryAll(Map whereJson, Pageable page){ String material = MapUtil.getStr(whereJson, "material"); String bom = MapUtil.getStr(whereJson, "bom"); JSONObject map = new JSONObject(); map.put("flag", "1"); - if (StrUtil.isNotEmpty(material)) map.put("material", "%" + material + "%"); - if (StrUtil.isNotEmpty(bom)) map.put("bom", "%" + bom + "%"); + if (StrUtil.isNotEmpty(material)) + {map.put("material", "%" + material + "%");} + if (StrUtil.isNotEmpty(bom)) {map.put("bom", "%" + bom + "%");} JSONObject json = WQL.getWO("PDM_BI_BOM01").addParamMap(map).pageQuery(WqlUtil.getHttpContext(page), "bom.update_time desc"); return json; } @@ -52,14 +66,14 @@ public class BomServiceImpl implements BomService { public List queryAll(Map whereJson){ WQLObject wo = WQLObject.getWQLObject("pdm_bi_bom"); JSONArray arr = wo.query().getResultJSONArray(0); - if (ObjectUtil.isNotEmpty(arr)) return arr.toJavaList(BomDto.class); + if (ObjectUtil.isNotEmpty(arr)) {return arr.toJavaList(BomDto.class);} return null; } @Override - public BomDto findById(String bom_uuid) { + public BomDto findById(String bom_id) { WQLObject wo = WQLObject.getWQLObject("pdm_bi_bom"); - JSONObject json = wo.query("bom_uuid = '" + bom_uuid + "'").uniqueResult(0); + JSONObject json = wo.query("bom_id = '" + bom_id + "'").uniqueResult(0); if (ObjectUtil.isNotEmpty(json)){ return json.toJavaObject( BomDto.class); } @@ -82,33 +96,33 @@ public class BomServiceImpl implements BomService { WQLObject wo_bom = WQLObject.getWQLObject("pdm_bi_bom"); WQLObject wo_bomdtl = WQLObject.getWQLObject("PDM_BI_BOMDtl"); final JSONArray jsonArray = param.getJSONArray("tableData"); - final String material_uuid = param.getString("material_uuid"); - final JSONObject jsonObject1 = wo_bom.query("material_uuid = '" + material_uuid + "'").uniqueResult(0); + final String material_id = param.getString("material_id"); + final JSONObject jsonObject1 = wo_bom.query("material_id = '" + material_id + "'").uniqueResult(0); if (ObjectUtil.isNotEmpty(jsonObject1)){ throw new BadRequestException("物料已经存在,请重新选择"); } String currentUserId = SecurityUtils.getCurrentUserId(); String nickName = SecurityUtils.getCurrentNickName(); - String bom_uuid = IdUtil.getSnowflake(1, 1).nextId() + ""; - param.put("bom_uuid",bom_uuid); + String bom_id = IdUtil.getSnowflake(1, 1).nextId() + ""; + param.put("bom_id",bom_id); param.put("bom_status","01"); param.put("detail_count",jsonArray.size()); param.put("create_id",currentUserId); param.put("create_name",nickName); param.put("create_time",DateUtil.now()); - param.put("update_optid",currentUserId); - param.put("update_optname",nickName); + param.put("update_id",currentUserId); + param.put("update_name",nickName); param.put("update_time",DateUtil.now()); wo_bom.insert(param); if (jsonArray.size() > 0) { for (int i = 0; i < jsonArray.size(); i++) { JSONObject map = new JSONObject(); final JSONObject jsonObject = jsonArray.getJSONObject(i); - map.put("bomdtl_uuid",IdUtil.getSnowflake(1, 1).nextId() + ""); - map.put("bom_uuid",bom_uuid); - map.put("workprocedure_uuid",jsonObject.getString("workprocedure_uuid")); - map.put("material_uuid",jsonObject.getString("material_uuid")); + map.put("bomdtl_id",IdUtil.getSnowflake(1, 1).nextId() + ""); + map.put("bom_id",bom_id); + map.put("workprocedure_id",jsonObject.getString("workprocedure_id")); + map.put("material_id",jsonObject.getString("material_id")); map.put("yield_rate",jsonObject.getString("yield_rate")); map.put("endproduct_rate",jsonObject.getString("endproduct_rate")); map.put("piece_weight",jsonObject.getString("piece_weight")); @@ -129,15 +143,15 @@ public class BomServiceImpl implements BomService { String nickName = SecurityUtils.getCurrentNickName(); param.put("detail_count",jsonArray.size()); - param.put("update_optid",currentUserId); - param.put("update_optname",nickName); + param.put("update_id",currentUserId); + param.put("update_name",nickName); param.put("update_time",DateUtil.now()); wo_bom.update(param); if (jsonArray.size() > 0) { for (int i = 0; i < jsonArray.size(); i++) { JSONObject map = new JSONObject(); final JSONObject jsonObject = jsonArray.getJSONObject(i); - map.put("bomdtl_uuid",jsonObject.getString("bomdtl_uuid")); + map.put("bomdtl_id",jsonObject.getString("bomdtl_id")); map.put("yield_rate",jsonObject.getString("yield_rate")); map.put("endproduct_rate",jsonObject.getString("endproduct_rate")); map.put("piece_weight",jsonObject.getString("piece_weight")); @@ -151,30 +165,30 @@ public class BomServiceImpl implements BomService { public void deleteAll(String[] ids) { WQLObject wo = WQLObject.getWQLObject("pdm_bi_bom"); WQLObject wo_dtl = WQLObject.getWQLObject("PDM_BI_BOMDtl"); - for (String bom_uuid: ids) { - wo.delete("bom_uuid = '"+bom_uuid+"'"); - wo_dtl.delete("bom_uuid = '"+bom_uuid+"'"); + for (String bom_id: ids) { + wo.delete("bom_id = '"+bom_id+"'"); + wo_dtl.delete("bom_id = '"+bom_id+"'"); } } @Override public JSONObject getProduceProcessRouteByMaterialId(JSONObject param) { WQLObject wo = WQLObject.getWQLObject("PDM_BI_ProductProcessRoute"); - final JSONObject jsonObject = wo.query("is_delete = '0' and productprocess_status = '20' and material_id = '" + param.getString("material_uuid") + "'").uniqueResult(0); + final JSONObject jsonObject = wo.query("is_delete = '0' and productprocess_status = '20' and material_id = '" + param.getString("material_id") + "'").uniqueResult(0); return jsonObject; } @Override public JSONObject getworkprocedureListByProduceProcessRouteId(JSONObject param) { JSONObject json = new JSONObject(); - final String material_uuid = param.getString("material_uuid"); + final String material_id = param.getString("material_id"); WQLObject wo_endrealsemimaterial = WQLObject.getWQLObject("md_me_endrealsemimaterial"); WQLObject wo_material = WQLObject.getWQLObject("md_me_materialbase"); - final JSONObject jsonEndrealsemimaterial = wo_endrealsemimaterial.query("end_material_id = '" + material_uuid + "'").uniqueResult(0); + final JSONObject jsonEndrealsemimaterial = wo_endrealsemimaterial.query("end_material_id = '" + material_id + "'").uniqueResult(0); final JSONObject semi_material = wo_material.query("is_delete = '0' and material_id = '" + jsonEndrealsemimaterial.getString("semi_material_id") + "'").uniqueResult(0); WQLObject wo = WQLObject.getWQLObject("PDM_BI_ProductProcessRouteDtl"); WQLObject wo_workprocedure = WQLObject.getWQLObject("pdm_bi_workprocedure"); - final JSONArray resultJSONArray = wo.query("productprocess_id = '" + param.getString("processroute_uuid") + "'","workprocedure_no").getResultJSONArray(0); + final JSONArray resultJSONArray = wo.query("productprocess_id = '" + param.getString("processroute_id") + "'","workprocedure_no").getResultJSONArray(0); JSONArray newJ = new JSONArray(); for (int i = 0; i < resultJSONArray.size(); i++) { JSONObject jsonObject = resultJSONArray.getJSONObject(i); @@ -190,10 +204,10 @@ public class BomServiceImpl implements BomService { @Override public JSONArray getDtl(JSONObject param) { - final String bom_uuid = param.getString("bom_uuid"); + final String bom_id = param.getString("bom_id"); JSONObject map = new JSONObject(); map.put("flag","2"); - map.put("bom_uuid",bom_uuid); + map.put("bom_id",bom_id); JSONArray json = WQL.getWO("PDM_BI_BOM01").addParamMap(map).process().getResultJSONArray(0); return json; } @@ -205,12 +219,12 @@ public class BomServiceImpl implements BomService { String currentUserId = SecurityUtils.getCurrentUserId(); String nickName = SecurityUtils.getCurrentNickName(); - final String bom_uuid = param.getString("bom_uuid"); + final String bom_id = param.getString("bom_id"); JSONObject map = new JSONObject(); - map.put("bom_uuid",bom_uuid); + map.put("bom_id",bom_id); map.put("bom_status","02"); - map.put("update_optid",currentUserId); - map.put("update_optname",nickName); + map.put("update_id",currentUserId); + map.put("update_name",nickName); map.put("update_time",DateUtil.now()); wo_bom.update(map); } @@ -222,14 +236,253 @@ public class BomServiceImpl implements BomService { String currentUserId = SecurityUtils.getCurrentUserId(); String nickName = SecurityUtils.getCurrentNickName(); - final String bom_uuid = param.getString("bom_uuid"); + final String bom_id = param.getString("bom_id"); JSONObject map = new JSONObject(); - map.put("bom_uuid",bom_uuid); + map.put("bom_id",bom_id); map.put("bom_status","01"); - map.put("update_optid",currentUserId); - map.put("update_optname",nickName); + map.put("update_id",currentUserId); + map.put("update_name",nickName); map.put("update_time",DateUtil.now()); wo_bom.update(map); } + @Override + @Transactional(rollbackFor = Exception.class) + public void excelImport(MultipartFile file, HttpServletRequest request) { + if(file.isEmpty()) { + throw new BadRequestException("文件为空,请添加数据后重新导入"); + } + try(InputStream inputStream = file.getInputStream()) { + String currentUserId = SecurityUtils.getCurrentUserId(); + String nickName = SecurityUtils.getCurrentNickName(); + //Bom主表 + WQLObject wo_pdm_bi_bom = WQLObject.getWQLObject("pdm_bi_bom"); + //Bom明细表 + WQLObject wo_pdm_bomdtl_aps = WQLObject.getWQLObject("pdm_bi_bomdtl_aps"); + //物料表 + WQLObject wo_material = WQLObject.getWQLObject("md_me_materialbase"); + //原材料对应半成品 + WQLObject wo_semirealrawmaterial = WQLObject.getWQLObject("md_me_semirealrawmaterial"); + //设备表 + WQLObject wo_device = WQLObject.getWQLObject("pdm_bi_device"); + //工序表 + WQLObject wo_workprocedure = WQLObject.getWQLObject("pdm_bi_workprocedure"); + //工艺路线 + WQLObject wo_processroute = WQLObject.getWQLObject("pdm_bi_processroute"); + ExcelReader excelReader = ExcelUtil.getReader(inputStream, 0); + List> read = excelReader.read(0, excelReader.getRowCount()); + Map errorMap = new HashMap(); + boolean isCreateBom = true; + // 循环获取的数据 + row: + for(int i = 1; i < read.size(); i++) { + List list = read.get(i); + if(ObjectUtil.isEmpty(list)) { + continue; + } + JSONObject param = new JSONObject(); + //循环每一行 + col: + for(int j = 0; j < list.size(); j++) { + String col = null == list.get(j) ? "" : String.valueOf(list.get(j)); + if(j == 0) { + if(StringUtils.isBlank(col)) { + throw new BadRequestException("物料编号不能为空!"); + } + JSONObject jsonMaterial = wo_material.query("is_delete = '0' and material_code = '" + col + "'").uniqueResult(0); + if(ObjectUtil.isEmpty(jsonMaterial)) { + errorMap.put("第" + i + "行" + col, "物料规格对应物料信息不存在"); + } + else{ + JSONObject jsonBom = wo_pdm_bi_bom.query("material_id = '" + jsonMaterial.getString("material_id") + "'").uniqueResult(0); + if(!ObjectUtil.isEmpty(jsonBom)) { + param.put("bom_id", jsonBom.getString("bom_id")); + isCreateBom = false; + } + else{ + param.put("bom_id", IdUtil.getSnowflake(1, 1).nextId()); + param.put("bom_code", "BOM" + jsonMaterial.getString("material_spec")); + isCreateBom = true; + } + param.put("material_code", col); + param.put("material_id", jsonMaterial.getString("material_id")); + param.put("material_spec", jsonMaterial.getString("material_spec")); + param.put("bom_name", jsonMaterial.getString("material_spec")); + } + } + if(j == 3) { + //数量计量单位名称 + param.put("qty_unit_name", col); + } + if(j == 4) { + //工艺路线代码 + if(StringUtils.isBlank(col)) { + throw new BadRequestException("工艺路线代码不能为空"); + } + JSONObject jsonProcessroute = wo_processroute.query("is_delete = '0' and processroute_code = '" + col + "'").uniqueResult(0); + if(ObjectUtil.isEmpty(jsonProcessroute)) { + errorMap.put("第" + i + "行" + col, "工艺路线信息不存在"); + } + else{ + param.put("processroute_id", jsonProcessroute.getString("processroute_id")); + param.put("processroute_name", jsonProcessroute.getString("processroute_name")); + } + param.put("processroute_code", col); + } + // if(j == 6) { + // //成材率 + // if(StringUtils.isBlank(col)) { + // throw new BadRequestException("成材率不能为空"); + // } + // param.put("yield_rate", col); + // } + // if(j == 7) { + // //合格率 + // if(StringUtils.isBlank(col)) { + // throw new BadRequestException("合格率不能为空"); + // } + // param.put("endproduct_rate", col); + // } + if(j == 8) { + //产能 + if(StringUtils.isBlank(col)) { + param.put("manufacture", "0"); + } + else{ + param.put("manufacture", col + "ph"); + } + } + if(j == 9) { + //产品单重 + param.put("piece_weight", col); + } + if(j == 10) { + //工序编号 + if(StringUtils.isBlank(col)) { + throw new BadRequestException("工序编号不能为空"); + } + //绕过仓储工序 + if(col.contains("A1_CC")) { + break; + } + //判断是否前段工序 + if(col.contains("A1_SKQX") || col.contains("A1_KZ") || col.contains("A1_BZ") || col.contains("A1_MP")) { + param.put("is_front", "0"); + } + else{ + param.put("is_front", "1"); + } + JSONObject jsonWorkprocedure = wo_workprocedure.query("is_used = '1' and workprocedure_code = '" + col + "'").uniqueResult(0); + if(ObjectUtil.isEmpty(jsonWorkprocedure)) { + errorMap.put("请检查第" + i + "行" + col , "所匹配的工序信息不存在!"); + } + else{ + param.put("workprocedure_id", jsonWorkprocedure.getString("workprocedure_id")); + param.put("workprocedure_name", jsonWorkprocedure.getString("workprocedure_name")); + } + } + if(j == 12) { + if(!StringUtils.isBlank(col)) { + //工序顺序号 + param.put("workprocedure_no", col); + JSONObject bomDtlParam = new JSONObject(); + param.put("yield_rate", "0"); + param.put("endproduct_rate", "1"); + bomDtlParam.put("bomdtl_id", IdUtil.getSnowflake(1, 1).nextId()); + bomDtlParam.put("bom_id", param.getString("bom_id")); + bomDtlParam.put("material_id", param.getString("material_id")); + bomDtlParam.put("material_code", param.getString("material_code")); + bomDtlParam.put("material_spec", param.getString("material_spec")); + bomDtlParam.put("piece_weight", param.getString("piece_weight")); + bomDtlParam.put("qty_unit_name", param.getString("qty_unit_name")); + bomDtlParam.put("processroute_id", param.getString("processroute_id")); + bomDtlParam.put("workprocedure_id", param.getString("workprocedure_id")); + bomDtlParam.put("workprocedure_no", param.getString("workprocedure_no")); + bomDtlParam.put("workprocedure_name", param.getString("workprocedure_name")); + bomDtlParam.put("connection_method", "ES"); + bomDtlParam.put("is_front", param.getString("is_front")); + bomDtlParam.put("bom_status", "01"); + bomDtlParam.put("create_id", currentUserId); + bomDtlParam.put("create_name", nickName); + bomDtlParam.put("create_time", DateUtil.now()); + bomDtlParam.put("manufacture", param.getString("manufacture")); + bomDtlParam.put("instruction_type", "I"); + bomDtlParam.put("instruction_code", "In0"); + bomDtlParam.put("yield_rate", param.getString("yield_rate")); + bomDtlParam.put("endproduct_rate", param.getString("endproduct_rate")); + if("10".equals(col)) { + bomDtlParam.put("instruction_code", "In"); + JSONObject rawmaterialJson = wo_semirealrawmaterial.query("semi_material_id = '" + param.getString("material_id") + "'").uniqueResult(0); + if(!ObjectUtil.isEmpty(rawmaterialJson)) { + bomDtlParam.put("resources", rawmaterialJson.getString("raw_material_code")); + bomDtlParam.put("manufacture", rawmaterialJson.getString("rate_qty")); + } + else{ + bomDtlParam.put("resources", "0"); + bomDtlParam.put("manufacture", "0"); + } + } + else{ + //后段暂无产能 + int no = Integer.parseInt(col) - 10; + bomDtlParam.put("resources", param.getString("material_code") + "-" + no); + bomDtlParam.put("manufacture", ""); + } + //插入原材料明细 + wo_pdm_bomdtl_aps.insert(bomDtlParam); + } + } + if(j == 13) { + //插入设备明细 + JSONArray deviceList = wo_device.query("is_delete = '0' and product_area = 'A1' and workprocedure_id = '" + param.getString("workprocedure_id") + "'").getResultJSONArray(0); + JSONObject bomDtlParam = new JSONObject(); + for(int d = 0; d < deviceList.size(); d++) { + JSONObject device = deviceList.getJSONObject(d); + bomDtlParam.put("resources", device.getString("device_code")); + bomDtlParam.put("bomdtl_id", IdUtil.getSnowflake(1, 1).nextId()); + bomDtlParam.put("bom_id", param.getString("bom_id")); + bomDtlParam.put("material_id", param.getString("material_id")); + bomDtlParam.put("material_code", param.getString("material_code")); + bomDtlParam.put("material_spec", param.getString("material_spec")); + bomDtlParam.put("qty_unit_name", param.getString("qty_unit_name")); + bomDtlParam.put("processroute_id", param.getString("processroute_id")); + bomDtlParam.put("workprocedure_id", param.getString("workprocedure_id")); + bomDtlParam.put("workprocedure_no", param.getString("workprocedure_no")); + bomDtlParam.put("workprocedure_name", param.getString("workprocedure_name")); + bomDtlParam.put("is_front", param.getString("is_front")); + bomDtlParam.put("piece_weight", param.getString("piece_weight")); + bomDtlParam.put("connection_method", "ES"); + bomDtlParam.put("bom_status", "01"); + bomDtlParam.put("create_id", currentUserId); + bomDtlParam.put("create_name", nickName); + bomDtlParam.put("create_time", DateUtil.now()); + bomDtlParam.put("manufacture", param.getString("manufacture")); + bomDtlParam.put("instruction_type", "U"); + bomDtlParam.put("instruction_code", "M"); + //插入明细表 + wo_pdm_bomdtl_aps.insert(bomDtlParam); + } + } + } + param.put("bom_status", "01"); + param.put("create_mode", "03"); + param.put("create_id", currentUserId); + param.put("create_name", nickName); + param.put("create_time", DateUtil.now()); + if(isCreateBom) { + //插入主表 + wo_pdm_bi_bom.insert(param); + } + if(!CollectionUtils.isEmpty(errorMap)) { + throw new BadRequestException(JSON.toJSONString(errorMap)); + } + } + } + catch(Exception e) { + e.printStackTrace(); + throw new BadRequestException(e.getMessage()); + } + } + + } diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/product_manage/备份pdm/service/impl/FactoryCalendarServiceImpl.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/product_manage/备份pdm/service/impl/FactoryCalendarServiceImpl.java index 7f0ae7ee..bf878e81 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/product_manage/备份pdm/service/impl/FactoryCalendarServiceImpl.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/product_manage/备份pdm/service/impl/FactoryCalendarServiceImpl.java @@ -224,8 +224,8 @@ public class FactoryCalendarServiceImpl implements FactoryCalendarService{ JSONObject param = new JSONObject(); param.put("factorycalendar_id", String.valueOf(factorycalendar_id)); param.put("is_delete", "1"); - param.put("update_optid", currentUserId); - param.put("update_optname", nickName); + param.put("update_id", currentUserId); + param.put("update_name", nickName); param.put("update_time", DateUtil.now()); wo.update(param); } diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/product_manage/备份pdm/wql/PDM_BI_BOM01.wql b/mes/hd/nladmin-system/src/main/java/org/nl/wms/product_manage/备份pdm/wql/PDM_BI_BOM01.wql index 72b56cfb..a80256a1 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/product_manage/备份pdm/wql/PDM_BI_BOM01.wql +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/product_manage/备份pdm/wql/PDM_BI_BOM01.wql @@ -16,7 +16,7 @@ 输入.flag TYPEAS s_string 输入.bom TYPEAS s_string 输入.material TYPEAS s_string - 输入.bom_uuid TYPEAS s_string + 输入.bom_id TYPEAS s_string [临时表] @@ -50,8 +50,8 @@ material.material_spec FROM PDM_BI_BOM bom - left join md_me_materialbase material on bom.material_uuid = material.material_id - left join PDM_BI_ProductProcessRoute productProcessRoute on bom.processroute_uuid = productProcessRoute.productprocess_id + left join md_me_materialbase material on bom.material_id = material.material_id + left join PDM_BI_ProductProcessRoute productProcessRoute on bom.processroute_id = productProcessRoute.productprocess_id WHERE 1 = 1 OPTION 输入.material <> "" @@ -77,10 +77,10 @@ material.material_name FROM PDM_BI_BOMDtl dtl - LEFT JOIN pdm_bi_workprocedure workprocedure ON dtl.workprocedure_uuid = workprocedure.workprocedure_id - LEFT JOIN md_me_materialbase material ON dtl.material_uuid = material.material_id + LEFT JOIN pdm_bi_workprocedure workprocedure ON dtl.workprocedure_id = workprocedure.workprocedure_id + LEFT JOIN md_me_materialbase material ON dtl.material_id = material.material_id where - dtl.bom_uuid = 输入.bom_uuid + dtl.bom_id = 输入.bom_id order by dtl.seq_no ENDSELECT diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/product_manage/备份pdm/wql/pdm.xls b/mes/hd/nladmin-system/src/main/java/org/nl/wms/product_manage/备份pdm/wql/pdm.xls index d00588e9ee0833a0ae3444b5b3b192d74bc5edd8..66f68e16d2ca5e6331895c0fc824aa05cbe4ba28 100644 GIT binary patch delta 14782 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 - - + + - + @@ -80,16 +87,16 @@ :header-cell-style="{'text-align':'center'}" @selection-change="crud.selectionChangeHandler" > - - - - - - - - - - + + + + + + + + + + + diff --git a/mes/qd/src/views/wms/pdm/base/bom/index.vue b/mes/qd/src/views/wms/pdm/base/bom/index.vue index 9776b6d2..e28c3726 100644 --- a/mes/qd/src/views/wms/pdm/base/bom/index.vue +++ b/mes/qd/src/views/wms/pdm/base/bom/index.vue @@ -12,6 +12,16 @@ + + 导入 + {{ scope.row.bom_code }} - - - - - - - - + + + + + + + + - + - + @@ -87,12 +102,13 @@ import crudOperation from '@crud/CRUD.operation' import udOperation from '@crud/UD.operation' import pagination from '@crud/Pagination' import AddDialog from '@/views/wms/pdm/base/bom/AddDialog' +import UploadDialog from '@/views/wms/pdm/base/bom/UploadDialog' const defaultForm = { bom_uuid: null, bom_code: null, bom_name: null, material_uuid: null, processroute_uuid: null, yield_rate: null, endproduct_rate: null, bom_status: null, detail_count: null, remark: null, create_id: null, create_name: null, create_time: null, update_optid: null, update_optname: null, update_time: null } export default { name: 'Bom', dicts: ['BOM_STATUS'], - components: { pagination, crudOperation, rrOperation, udOperation, AddDialog }, + components: { pagination, crudOperation, rrOperation, udOperation, AddDialog, UploadDialog }, mixins: [presenter(), header(), form(defaultForm), crud()], cruds() { return CRUD({ title: 'BOM单管理', url: 'api/bom', idField: 'bom_uuid', sort: 'bom_uuid,desc', @@ -107,6 +123,7 @@ export default { }, data() { return { + uploadShow: false, permission: { }, rules: { @@ -149,6 +166,9 @@ export default { return true } }, + tableChanged3() { + this.crud.toQuery() + }, // 取消提交 cancelSubmit(row) { crudBom.cancelSubmit({ bom_uuid: row.bom_uuid }).then(res => {