From 13d22cca14287a117a03050dedb7d16bd349db60 Mon Sep 17 00:00:00 2001 From: cyh Date: Fri, 26 Jan 2024 10:40:40 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B2=A1=E6=9C=89BOM=E5=BC=82=E6=AD=A5?= =?UTF-8?q?=E9=80=BB=E8=BE=91=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../plm/createEcn/AssignIdController.class | Bin 9726 -> 9726 bytes .../plm/createEcn/CreateEcnController$1.class | Bin 2249 -> 2249 bytes .../plm/createEcn/CreateEcnController.class | Bin 42896 -> 42857 bytes .../chint/plm/createEcn/RefTableBean.class | Bin 4509 -> 4543 bytes .../plm/createEcn/RelateEcnController.class | Bin 9742 -> 9742 bytes .../createbomdifference/ExtractDiffComd.class | Bin 14828 -> 14644 bytes .../Message_zh_CN.properties | 3 +- .../connor/chint/sap2/util/BomUtilWh$1.class | Bin 618 -> 618 bytes .../connor/chint/sap2/util/BomUtilWh$2.class | Bin 1138 -> 1138 bytes .../connor/chint/sap2/util/BomUtilWh.class | Bin 64478 -> 62318 bytes .../chint/yunpi/command/BomSapWhBjOp.class | Bin 14882 -> 12573 bytes .../yunpi/command/BomSendSapController.class | Bin 22150 -> 20927 bytes .../chint/yunpi/command/BomSendSapOp.class | Bin 8326 -> 9747 bytes com.connor.chint.wuhan/plugin.xml | 698 ++++++++-------- .../plm/createEcn/AssignIdController.java | 4 - .../plm/createEcn/CreateEcnController.java | 8 - .../com/chint/plm/createEcn/RefTableBean.java | 4 +- .../plm/createEcn/RelateEcnController.java | 5 - .../createbomdifference/ExtractDiffComd.java | 7 +- .../Message_zh_CN.properties | 3 +- .../com/connor/chint/sap2/util/BomUtilWh.java | 50 +- .../chint/yunpi/command/BomSapWhBjOp.java | 435 +++++----- .../yunpi/command/BomSendSapController.java | 743 +++++++++--------- .../chint/yunpi/command/BomSendSapOp.java | 44 +- 24 files changed, 939 insertions(+), 1065 deletions(-) diff --git a/com.connor.chint.wuhan/bin/com/chint/plm/createEcn/AssignIdController.class b/com.connor.chint.wuhan/bin/com/chint/plm/createEcn/AssignIdController.class index 55e0d9d6b8af08847217a1b5482e32299c5e9368..d485546dc326bf844edf88594d449d6f2233a411 100644 GIT binary patch delta 583 zcmWNOSxD4j6vcl>igF@@pq!9@WF%wuQXmloW7z^VWlAY(N~PswmX)Q5Mq|-NU{FI3 z*+Lpd%YfCN7F$dbGSg@o%9e-9EGdP`pr?>7AKc5i_xtX5&bcFjk-)V~Z>+;8d6<9` z&hr*JenyjqhXqzy$RyH9U=fKdCW$3()Vn<Mn1<`%Xtd8Lm}-H(M2&mY^0Y>e5QmUf{J0Y97>hO7Nt|Bb!=6s<#KlF z0J~JrZk-6~bKQ6cH|3 zzD^4d>`f;(c#X>^ZZgaxjip2JJeH5Y@*7G9b}$Z1+)Ppo#c7VRmE(?|R->d_c)5+w z+)1U?%)iSj?%AjJskHIcv{6U98%gxVggS}miSg`WHcxF=-DZA|8U4)6ea?Db5acCg zyrP^a6~?NWH^#iz7{9fl@2vWs4}7HG*bbQa!}RfwFB(I?+5c7Z_@?;`D2wmP=ZA_I YRFENC!%x+E_@z32>mYyJf*DQv50Uwp82|tP delta 583 zcmWNOX-Je&6o#KyiqdL=pq!A2Mv^J}QxFjZ8qieQ;VGnDqj7LcK! zew0cJ!IZ`amX%8jN!iL|(MtPNw$VZmAssHnJJo#o7 z*sYL8irCL;nkc53HJoQHy_9f+Qf{${66^y{17ib~}Sf)rxP##U947H(cV$Q&YId zlcj^Udz|T$)+>0#!beR`GZSecnO3H9jM*GFNhiqVq&0ks3L-eTp WzS|gnYFh%o6ymoU_~R5#Y1Mz_Cz>Gu diff --git a/com.connor.chint.wuhan/bin/com/chint/plm/createEcn/CreateEcnController$1.class b/com.connor.chint.wuhan/bin/com/chint/plm/createEcn/CreateEcnController$1.class index a0b85dfa61626ac7d5249b1d1c388866d19e8e4e..75678510abb3693725a16c49f97eac584ab98988 100644 GIT binary patch delta 69 zcmX>pcv5f!J3Ax$WDa%7z|j%8SGgk82nfy8Dd$aCjVsj XVN?LBk)NE(q0FcTWXVom#-R)V%=HbF delta 69 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�mC4T7IT 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 Q)rNwXJc(z>% diff --git a/com.connor.chint.wuhan/bin/com/chint/plm/createEcn/RefTableBean.class b/com.connor.chint.wuhan/bin/com/chint/plm/createEcn/RefTableBean.class index b775ba1e6c4a505808d87934e73cbced9d092fe3..6946eea46e0fd7a0ade860193a12988663843e93 100644 GIT binary patch delta 817 zcmZuuOHUI~6#gzV!*qtBJQPS#0u-!eR2qy4XjCGy^0m-d0tqBlYf%cNP!R=rC;}=z z>h*<+R#6cvDnd&X194~E`6DFJor#G%^$eq7!(E)mcfRkQbM74}m@iO2|9(FQU=yY% z)hfae0)|EnDip$6O^iWw))cu_1koy^g(1gK@(D@J z2qD0bWbnLx@8OX52m`C(-=)%mQyP+>nZ=!f#^y>-$ZNLQ>uG5)+MMB)iG8KL8n)vs zgWxnf^s1-;nSKn)7+^>{?rHP5{GKMCt0EBadp%7WF5n{nlV}rrWnAW~$styR8? z{Fj!T>6@gtPCzzUl{{!7301sK&C0dF*q)&QN6BVU&9#^Vl0FSTueUmcCIoocxwrje0w47m^ysq)R?pyE48En%Phkb2eKE8zg`N7k7;5$PF&x?u$N6FGo`suOm$ryY zq;d*}s?)E`;93lJn;1u!7A}8>oBI<`^*^^$PN{AaV{neaN+O+Zx<{GuJfvzS?~CL9 zEF#r3=i@k@8kI#PY9JGY@K33O$*=Gl0(N05lJSPure!<&&Hpfe=Pjma*L3=y2zlc~ GP4^eu4#|-K delta 848 zcmZuuOHUI~6#i~I?X<(Rr7UQG7;M3&3@V9|i1;Aw#zcuRLQ2}iMbTOVScI)+N_G*`~nHXAI0Cs^f|prT#GA^zFmS|3A{p`at&*%Vg8dppDX7+8=&j1Y5R zXUq(S4jB^6#A#K;ahq`iJIc2io$NS2XdGznm$4P681$Z;dA|f7=o-Y3h_ej#XsA0> zqlVfeHNIF(4Tsug4C5Sw+?s>_klGc_>Vp#e=oc}@z2eG}aR%ek*wE7aqJ&Xw(Q=n$ zTn6X8Vx9Rau8X+F;N;_?(;(vpCipkeRX~4Maa+bD?r^Kg%kJ`BrfSO+rnNTjGgNsR zwSibSY27}=jEF}JtN1UWn13?a^^fs{e>ZJpPf6x6u9J|&^jxF)hv4=?M+Yz~^N5tC z(Kbs!hf=zwY{Cx{TKHG1quhkUG&zPN*iW~EDr&MAFpxOTN38C$PDKCa{x^c>9VY#S*!qGs{`2}1^ z!BrxpagoN-@CH|Q>(KHKy9g6hN`w?VGq93KA*Y*!v>}qJP1{5ow=$RtP@nhGc%Wsn wOj2W>5yO8L4qKk%1@zdC&9LAl@3WV>2Xk9{mEGYiUejAdTb!a-`;xim57aotV*mgE diff --git a/com.connor.chint.wuhan/bin/com/chint/plm/createEcn/RelateEcnController.class b/com.connor.chint.wuhan/bin/com/chint/plm/createEcn/RelateEcnController.class index b4c70dae5618b066ffd68959e73f319290d305fc..29870c9f7d0fe8ba3d303d4cad1ced06b4354acf 100644 GIT binary patch delta 623 zcmWNOYfKGb7{`DAbGo2)l~!pMb=C}{F}F2snX$8cGUl7h2dqAlp>o`D~ zRGP%2Cb5bbV?4)5>Hm&aTCgm)J1drJ7g0X|wFpG@3m{B#oF3vGP0$#3-Xoqm2W%ukECTM_(H z0zDc}uO{d)hW~^sasC<%b}og pP$3$U(;t delta 623 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 literal 14828 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 delta 13 UcmaFG@``1HHWOp=WF00u03z}P9RL6T diff --git a/com.connor.chint.wuhan/bin/com/connor/chint/sap2/util/BomUtilWh$2.class b/com.connor.chint.wuhan/bin/com/connor/chint/sap2/util/BomUtilWh$2.class index ce2c9867cd558547279c66697e671592e71cc80c..77c14af029f154ceed1aa714cc1358f169e39910 100644 GIT binary patch delta 19 bcmeyw@rh%@0%pd5$qSjC8AB#NW$pz4PHG2m delta 19 bcmeyw@rh%@0%pdP$qSjC88aq7W$pz4PpSu) diff --git a/com.connor.chint.wuhan/bin/com/connor/chint/sap2/util/BomUtilWh.class b/com.connor.chint.wuhan/bin/com/connor/chint/sap2/util/BomUtilWh.class index 94f7f418e0f62c5d4ffb7e586eb60f13cf87358f..4adb4a23c357fcc9ea8de696c2e391f81dbe2dd5 100644 GIT binary patch literal 62318 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 diff --git a/com.connor.chint.wuhan/bin/com/connor/chint/yunpi/command/BomSapWhBjOp.class b/com.connor.chint.wuhan/bin/com/connor/chint/yunpi/command/BomSapWhBjOp.class index 1087a64580f87ac522bc9229cbc1bba0b2f8cda0..02769b30deef070192b3d0befff6128cad5f63f3 100644 GIT binary patch delta 3141 zcmYjT3tUuH8vp+<19uoMuNht!K?TtOQ4BS6QVYoP0g8$uzG#qH9t$%B_^LM4v<)qH z>Dt45o2`}QBW)N$(;iz}W-lvyyFEbB(sJG1+AR0GgI2$}bIy0ZbH4BVzt=fuThqpJ z+v~qP_dI}M{BEzUC^F!yBDw9msHv5sWla9aGYx ziP%%S+q##wbgh1(bN%xtpYxw=xuc(oXXY}aN zV{Gh?6)Fc9yJF(w(lurvnNaH+sy$7$9+d-$I3qhPF3QGCB-uEaLsVuHX{O&I^1OAX z=Sr$HUd|n2_vk-d9B8gbQ+fu8be2MjLOl(U?W!_ zES|ZZHyFG03p4WwO(Z*4KHjAs- zccy6Qg3HEfoUXE%NbojPW>=$*fy&h2R$=dP`HH)x!}5~IA=$dFRbRyoVq z+ABV24(A#jy#{8K37kA{#gZ_(IA3MCVE;|e*jl%#Mq>rtMr6`8iIs$-u(+%+w|MN- z@wo+Md6SFErjDIrWwlY36r1egA2rs}P1sx&6_=%L^sru~*Jw@33c8gI#^Izn{qqrP zMrDDqONHHN0F>HnyBw(FtCIuAY6)v~nf-sPRU+fVJ?>a<}oAJedme;9#5TUX#Fbp#ii8*1@k>3OOiF+Sy1f} z%pVZpzon(5q{f7K)#Pw}+MZnN61wk3rXHFzZno0e!iv#&ng$&4IW zFc8rgjNTZ6Gz>!qhD&=5Zo;*gfsvSn>o5;v_8rTJP@3~#MLwc%BVsTXePvNPZpPIZ zCyU3+%mn#OL^%pji$bhG5e!VhdO13_V;Xj%7%yQuj*8+=l;R?0QN?UVU=HIkmsyy{ zQ7B_RZZR#S3+1fAd@e=>m&yEU8!EXLReTUN`)aZdD$~7CQ4a@hMIsu|4~^)L1sH^d z$iX53zE}_}kt6sv+=1J%T*mieso+_LZ8GxVE*ue*$FUNh$@nDh!C9=@cSm+OxyD#E zB&#|21R{_CDD5oB%-oM0KfZky1B4pj$G;vyq)FL-^x>yi1Kel+{kVRN&n{RIEc-*5PK%owNh#m)Yf4 z*a5Cc$NpZrgYl*IGzaxI_A1C6Y=*Dhuyk`GQQ4f6ZH<} zn#!188r8RrW1V5ftf76H$MtOE)O5|yiOz68i~OAGjL;+6Ig@Zk>X8o4Yv(NroKbp| zgMa9uqxEP9tJ+y3e7kP*v(D+b0yM_lq>YWvSlyx9bc^Y0Jw)0Z`8)L(JxsTY0l|8> z-W=;^)33HKHf@)UZ@Ur|0j#S&{%I4&>){SA^>cZNND1ri9@4=-n?wg|k(Tx}{b zSM*rc#`}C+qlfy~x&tX4Tw7`axx9v;kWiTA<8CvRb|A_bZxVX^p+IU$aVp4H zHsg#G#KKET+bYzXw`f}QfTF&CJ zuwU5EO6x-h{P+OvI3d(&9K?AXBIWJ~#S7H&5>xRq2jLY?$E%!!*I0qqS%)KBf;YGl zN7;%u`7qw%R=mw8@ecRkUA`gxTR6sV@E$MVeg52x4-_koE7AB+$-zg;2z;zK@rg1G zpDHu)xiSYQ6c@fwJor+%8(%4_@U_y4PGtkSlr1=^Y)7~F`ATk)pJ55BGv7QVRGC_lf7+O7jTr$BPKUemRDp70QARenB5zMleqBAlrlr z!D$ijvmGkQ^?Z&Uuribe5AYyDsq-#*-#iZ+2hqzzJd7|-mzT>65*UqhcmrP)DqNlg z*YYL4j0o1r>+0`(1(D5MBJZ_Vg^c1#x%n!Die{@^e$_(R<&L!QAEMA9Zv2U_378mh z=6Sv@yjbzdU>*^t#)&U1n9QSM(=oAij6m)&(TqRc>o3!^POK6 zzl&J85Fkksei8jt#;09GqDsd_#H*Ma8*z#25T}ANBV1txKA#Go%1o8RRgO}5Oy&D3 z+~&tpm9F1?!k3lr1IgA)NE{8NN0%tXnTaZoTZ81aCht6B=g8z)9~BPt@w1XF2T%C; zg^wrqn4vTaKo0#NX}=W%&%%atfspqN@M15A9AZhR%*jJU-1`l`6-n}}se$MI55JKp AuK)l5 delta 5314 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 Ndg1q>Un&d0{$HrxvhM%@ delta 8258 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 diff --git a/com.connor.chint.wuhan/bin/com/connor/chint/yunpi/command/BomSendSapOp.class b/com.connor.chint.wuhan/bin/com/connor/chint/yunpi/command/BomSendSapOp.class index 209afb227936b617fb8e7245304f56184ec983d8..1cd54c544b0577a39e3f299f4d0a01a5b220b405 100644 GIT binary patch delta 4674 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 S%5nbYdmOKybHwrzoc{+YY-xi4 delta 3484 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 W83$Purv$(GI_G}^`zbpK+kXM0TOHm2 diff --git a/com.connor.chint.wuhan/plugin.xml b/com.connor.chint.wuhan/plugin.xml index 21f830c..aa402a2 100644 --- a/com.connor.chint.wuhan/plugin.xml +++ b/com.connor.chint.wuhan/plugin.xml @@ -3,8 +3,8 @@ - - + + @@ -18,19 +18,19 @@ - - - - - - - - - - - + + + + + + + + + + + - + @@ -44,33 +44,33 @@ - - - - - - - - - - - + + + + + + + + + + + - - - - - - + + + + + + - - - - - + @@ -133,310 +133,310 @@ - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + - - + + @@ -521,30 +521,30 @@ - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + - - + + - + diff --git a/com.connor.chint.wuhan/src/com/chint/plm/createEcn/AssignIdController.java b/com.connor.chint.wuhan/src/com/chint/plm/createEcn/AssignIdController.java index 753106b..1542fac 100644 --- a/com.connor.chint.wuhan/src/com/chint/plm/createEcn/AssignIdController.java +++ b/com.connor.chint.wuhan/src/com/chint/plm/createEcn/AssignIdController.java @@ -26,10 +26,6 @@ import javafx.scene.control.ComboBox; import javafx.scene.control.TextField; import javafx.stage.Stage; -/** - * @author cyh - * 指派变更单ID的页面 - */ public class AssignIdController { private String groupID; private TCSession session; diff --git a/com.connor.chint.wuhan/src/com/chint/plm/createEcn/CreateEcnController.java b/com.connor.chint.wuhan/src/com/chint/plm/createEcn/CreateEcnController.java index bf3b0fd..d121efa 100644 --- a/com.connor.chint.wuhan/src/com/chint/plm/createEcn/CreateEcnController.java +++ b/com.connor.chint.wuhan/src/com/chint/plm/createEcn/CreateEcnController.java @@ -84,12 +84,6 @@ import javafx.scene.layout.GridPane; import javafx.scene.layout.StackPane; import javafx.stage.Stage; -/** - * @author cyh - * - * 创建更改ECN页面 - * - */ public class CreateEcnController extends KFXPanelController { @FXML private TextField ecnId; @@ -680,8 +674,6 @@ public class CreateEcnController extends KFXPanelController { String result = read.getString("result"); if (result.equals("否")) { refTableBean.setShNo(true); - }else { - refTableBean.setShYes(true); } i = i + 1; } diff --git a/com.connor.chint.wuhan/src/com/chint/plm/createEcn/RefTableBean.java b/com.connor.chint.wuhan/src/com/chint/plm/createEcn/RefTableBean.java index 8d961f1..5656019 100644 --- a/com.connor.chint.wuhan/src/com/chint/plm/createEcn/RefTableBean.java +++ b/com.connor.chint.wuhan/src/com/chint/plm/createEcn/RefTableBean.java @@ -82,8 +82,8 @@ public class RefTableBean { return shYes; } - public void setShYes(boolean shYes) { - this.shYes.setSelected(shYes); + public void setShYes(CheckBox shYes) { + this.shYes = shYes; } public CheckBox getShNo() { diff --git a/com.connor.chint.wuhan/src/com/chint/plm/createEcn/RelateEcnController.java b/com.connor.chint.wuhan/src/com/chint/plm/createEcn/RelateEcnController.java index feff2ef..454aea8 100644 --- a/com.connor.chint.wuhan/src/com/chint/plm/createEcn/RelateEcnController.java +++ b/com.connor.chint.wuhan/src/com/chint/plm/createEcn/RelateEcnController.java @@ -33,11 +33,6 @@ import javafx.scene.layout.GridPane; import javafx.scene.layout.StackPane; import javafx.stage.Stage; -/** - * @author cyh - * 关联影响分析的页面 - * - */ public class RelateEcnController { @FXML diff --git a/com.connor.chint.wuhan/src/com/chint/plm/createbomdifference/ExtractDiffComd.java b/com.connor.chint.wuhan/src/com/chint/plm/createbomdifference/ExtractDiffComd.java index 96aa7ff..1dcbb27 100644 --- a/com.connor.chint.wuhan/src/com/chint/plm/createbomdifference/ExtractDiffComd.java +++ b/com.connor.chint.wuhan/src/com/chint/plm/createbomdifference/ExtractDiffComd.java @@ -74,7 +74,7 @@ public class ExtractDiffComd extends KCommand { return; } readChangeDesign(oldComponents, newComponents, tar); - MessageBox.post(resource.getString("SUCC_CHANGE"), "", 2); + } catch (TCException e) { // TODO Auto-generated catch block e.printStackTrace(); @@ -150,10 +150,9 @@ public class ExtractDiffComd extends KCommand { ChangeDesignBean changeDesignBean = itemChangeMap.get(keyItem); TCComponentItemRevision oldDesgin = changeDesignBean.getOldDesgin(); Map materialOld = getMaterialByDesign(oldDesgin); - System.out.println("materialOld===>" + materialOld.toString()); TCComponentItemRevision newDesgin = changeDesignBean.getNewDesgin(); Map materialNew = getMaterialByDesign(newDesgin); - + System.out.println("materialOld===>" + materialOld.toString()); System.out.println("materialNew===>" + materialNew.toString()); // 比较变更前后物料BOM for (String materialNo : materialOld.keySet()) { @@ -317,8 +316,6 @@ public class ExtractDiffComd extends KCommand { if (pbomMap.containsKey(materialNo)) { PBomBean pBomBean = pbomMap.get(materialNo); // 是否PBOM - System.out.println("matnrProps[1]===>" + matnrProps[1]); - System.out.println("matnrProps[2]===>" + matnrProps[2] + "pBomBean.getpRevision()"+pBomBean.getpRevision()); if (matnrProps[1].equals(Util.ZT_VAL_PBOM) && matnrProps[2].compareTo(pBomBean.getpRevision()) > 0) { pBomBean.setpMaterial(represent); pBomBean.setpRevision(matnrProps[2]); diff --git a/com.connor.chint.wuhan/src/com/chint/plm/createbomdifference/Message_zh_CN.properties b/com.connor.chint.wuhan/src/com/chint/plm/createbomdifference/Message_zh_CN.properties index b97fb23..7193d01 100644 --- a/com.connor.chint.wuhan/src/com/chint/plm/createbomdifference/Message_zh_CN.properties +++ b/com.connor.chint.wuhan/src/com/chint/plm/createbomdifference/Message_zh_CN.properties @@ -1,3 +1,2 @@ ERROR_NOT_CHANGE=\u8BF7\u9009\u62E9\u66F4\u6539\u901A\u77E5\u5355\u5BF9\u8C61 -ERROR_NO_CHANGE=\u672A\u627E\u5230\u53D8\u66F4\u524D\u540E\u5BF9\u8C61,\u65E0\u6CD5\u63D0\u53D6\u5DEE\u5F02\u9879\uFF01 -SUCC_CHANGE=\u63D0\u53D6\u5B8C\u6210 \ No newline at end of file +ERROR_NO_CHANGE=\u672A\u627E\u5230\u53D8\u66F4\u524D\u540E\u5BF9\u8C61,\u65E0\u6CD5\u63D0\u53D6\u5DEE\u5F02\u9879\uFF01 \ No newline at end of file diff --git a/com.connor.chint.wuhan/src/com/connor/chint/sap2/util/BomUtilWh.java b/com.connor.chint.wuhan/src/com/connor/chint/sap2/util/BomUtilWh.java index 753939e..aa13846 100644 --- a/com.connor.chint.wuhan/src/com/connor/chint/sap2/util/BomUtilWh.java +++ b/com.connor.chint.wuhan/src/com/connor/chint/sap2/util/BomUtilWh.java @@ -1,7 +1,5 @@ package com.connor.chint.sap2.util; -import java.sql.ResultSet; -import java.sql.SQLException; import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; @@ -42,26 +40,8 @@ public class BomUtilWh { public static final String WH_FACOTRY = "M060"; public static final String PARENTTCID = "PARENTTCID"; public static final String PARENTWLBM = "PARENTWLBM"; - public static final String ZT2_WBSNO = "zt2_WBSNo"; - public static final String ZT2_MATERIALNO = "zt2_MaterialNo"; public static final String SPLIT_MSG = "/"; public static final String UID = "UID"; - public static final String detailsSql = "insert into CHINT_BOM_TO_SAP_SUM (code,factory,\"USER\",starttime,wbsno,projectno,taskstauts" - + ",plmresult,transfer,keymsg,sapresult,PROJECTUID,SERVERHOST,USERID) values " - + "(?,?,?,to_date(?,'yyyy-mm-ddhh24:mi:ss')" + ",?,?,'组织完成','未处理',?,?,'未返回',?,?,?)"; - // 获取传递BOM中最大的序列 - public static Integer getCode() throws SQLException { - String sql = "select Tab_SendBom_Sequence.nextval as sid from dual"; - ResultSet rs = SqlUtil.read(sql); - Object objs[] = new Object[1]; - int code = 0; - if (rs.next()) { - code = rs.getInt(1); - System.out.println("code:" + code); - } - SqlUtil.free(); - return code; - } /** * 写入BOM头信息到DETAILS表 @@ -71,21 +51,21 @@ public class BomUtilWh { * @param productNos 产成品物料编码 * @function */ - public static void logXmlMsg(Element interGrationList, String code, String productNos, String batchNo, + public static void logXmlMsg(Document interGrationList, String code, String productNos, String batchNo, String wbsNo, TCSession session) { String strs[] = session.getPreferenceService().getStringValues(DATABASE_TC); SqlUtil.getTCDataConnection(strs); try { + Element rootElement = interGrationList.getRootElement(); // 物料信息 - Element element = interGrationList.element(WLLIST); + Element element = rootElement.element(WLLIST); List elements = element.elements(WLCONTENTS); for (Element content : elements) { // 记录TCid UID 物料编码 - Element bomContents = content.element("BOMCONTENTS"); - String tcId = bomContents.elementText(PARENTTCID); + String tcId = content.elementText(PARENTTCID); String[] split = tcId.split(SPLIT_MSG); - String parentMantrNo = bomContents.elementText(PARENTWLBM); - String uid = bomContents.elementText(UID); + String parentMantrNo = content.elementText(PARENTWLBM); + String uid = content.elementText(UID); SqlUtil.write(logSql, new String[] { code, batchNo, WH_FACOTRY, productNos, split[0], uid, parentMantrNo, wbsNo }); } @@ -1196,7 +1176,7 @@ public class BomUtilWh { TCComponentItemRevision pRev, String groupName, List wbsList, TCSession session, String now, List needTCM_meops, Map gy_meops, Element INTERGRATIONLIST, StringBuffer errMessage, List cppRevision, String txtPath, - Map material_revs, String batchNum) { + Map material_revs) { try { String uid = pBomLine.getUid(); @@ -1294,8 +1274,6 @@ public class BomUtilWh { BOMCONTENTS.addElement("QUANTITY").setText(properties[3]); BOMCONTENTS.addElement("QUIT") .setText(pRev.getItem().getTCProperty("zt2_unit").getStringValue().toUpperCase()); - BOMCONTENTS.addElement("UID").setText(pRev.getUid()); - BOMCONTENTS.addElement("BATCHNUMBER").setText(batchNum); Element SONLIST = BOMCONTENTS.addElement("SONLIST"); // 获取工艺信息 BOPLIST BOPCONTENTS ()二级工序下的辅料放到子件 String maxSeq = "10"; @@ -1332,7 +1310,11 @@ public class BomUtilWh { material_revs.put(properties2[2], rev2); } expandAllBomPart(expands, line2, rev2, groupName, wbsList, session, now, needTCM_meops, gy_meops, - INTERGRATIONLIST, errMessage, txtPath, material_revs, batchNum); + INTERGRATIONLIST, errMessage, txtPath, material_revs); + +// if (!KUtil.isEmpty(zt2_materialNo)) { +// material_revs.put(zt2_materialNo, part2Rev); +// } } AIFComponentContext[] meops = pRev.whereReferencedByTypeRelation(new String[] { "MEProcessRevision" }, new String[] { "IMAN_METarget" }); @@ -1548,7 +1530,7 @@ public class BomUtilWh { TCComponentItemRevision pRev, String groupName, List wbsList, TCSession session, String now, List needTCM_meops, Map gy_meops, Element INTERGRATIONLIST, StringBuffer errMessage, String txtPath, - Map material_revs, String batchNum) { + Map material_revs) { try { String uid = pBomLine.getUid(); @@ -1639,10 +1621,6 @@ public class BomUtilWh { BOMCONTENTS.addElement("QUANTITY").setText(properties[3]); BOMCONTENTS.addElement("QUIT") .setText(pRev.getItem().getTCProperty("zt2_unit").getStringValue().toUpperCase()); - //新增字段UID和批次号 - BOMCONTENTS.addElement("UID").setText(pRev.getUid()); - BOMCONTENTS.addElement("BATCHNUMBER").setText(batchNum); - Element SONLIST = BOMCONTENTS.addElement("SONLIST"); // 获取工艺信息 BOPLIST BOPCONTENTS ()二级工序下的辅料放到子件 String maxSeq = "10"; @@ -1687,7 +1665,7 @@ public class BomUtilWh { material_revs.put(properties2[2], rev2); } expandAllBomPart(expands, line2, rev2, groupName, wbsList, session, now, needTCM_meops, gy_meops, - INTERGRATIONLIST, errMessage, txtPath, material_revs, batchNum); + INTERGRATIONLIST, errMessage, txtPath, material_revs); } AIFComponentContext[] meops = pRev.whereReferencedByTypeRelation(new String[] { "MEProcessRevision" }, diff --git a/com.connor.chint.wuhan/src/com/connor/chint/yunpi/command/BomSapWhBjOp.java b/com.connor.chint.wuhan/src/com/connor/chint/yunpi/command/BomSapWhBjOp.java index 7f0c948..1f27f13 100644 --- a/com.connor.chint.wuhan/src/com/connor/chint/yunpi/command/BomSapWhBjOp.java +++ b/com.connor.chint.wuhan/src/com/connor/chint/yunpi/command/BomSapWhBjOp.java @@ -18,7 +18,6 @@ import com.connor.chint.sap2.util.MyProgressBarCompent; import com.connor.chint.sap2.util.SAPMessageUtil; import com.connor.chint.sap2.util.SAPMessageUtilFram; import com.connor.chint.sap2.util.SAPUtil; -import com.connor.chint.sap2.util.SqlUtil; import com.connor.chint.sap2.util.TXTUtil; import com.teamcenter.rac.aif.AbstractAIFApplication; import com.teamcenter.rac.aif.AbstractAIFOperation; @@ -41,246 +40,202 @@ import com.teamcenter.rac.util.MessageBox; import com.teamcenter.services.rac.cad._2007_01.StructureManagement.ExpandPSData; public class BomSapWhBjOp extends AbstractAIFOperation { - private SimpleDateFormat format2 = new SimpleDateFormat("yyyy-MM-dd-HH:mm:ss"); - private AbstractAIFApplication app; - private TCSession session; - private SimpleDateFormat format = new SimpleDateFormat("yyyyMMdd"); - private String now; - private String groupName = ""; - private TCComponentItemType ccomponentitemtype; - - public BomSapWhBjOp(AbstractAIFApplication app) { - // TODO Auto-generated constructor stub - this.app = app; - this.session = (TCSession) app.getSession(); - now = format.format(new Date()); - try { - ccomponentitemtype = (TCComponentItemType) session.getTypeComponent("ZT2_Design3D"); - } catch (TCException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - - } - - public List getCPPPRevision(TCComponentItemRevision rev2) throws TCException { - - List itemList = new ArrayList<>(); - List itemPList = new ArrayList<>(); - String id = "1ZDB300000P-"; - if (rev2.getType().equals("Part Revision")) { - String desc = rev2.getStringProperty("object_desc"); - String[] split = desc.split(" "); - if (split.length >= 2) { - String[] split2 = split[1].split("-"); - if (split2.length == 2) { - id = id + split2[1]; - } else if (split2.length == 3) { - id = id + split2[2]; - } - } - } else if (rev2.getType().equals("ZT2_Design3DRevision")) { - String desc = rev2.getStringProperty("item_id"); - String[] split2 = desc.split("-"); - if (split2.length == 2) { - id = id + split2[1]; - } else if (split2.length == 3) { - id = id + split2[2]; - } - } - System.out.print("id===>" + id); - TCComponentItem find = ccomponentitemtype.find(id); - TCComponentItemRevision zztRev = find.getLatestItemRevision(); - TCComponent[] matnrs = zztRev.getRelatedComponents("representation_for"); - for (TCComponent matnr : matnrs) { - String[] properties = matnr.getProperties(new String[] { "zt2_ifpbom" }); - TCComponentItemRevision revItem = (TCComponentItemRevision) matnr; - TCComponentItem item = revItem.getItem(); - if (properties[0].equals("P") && !itemPList.contains(item)) { - itemPList.add(item); - } else if (!itemList.contains(item)) { - itemList.add(item); - } - } - if (itemPList.size() > 0) { - return itemPList; - } - return itemList; - - } - - public TCComponentItemRevision getPRevision(TCComponentItemRevision rev2) throws TCException { - - String zt2_MaterialNo = rev2.getStringProperty("zt2_MaterialNo"); - if (rev2.getType().equals("Part Revision")) { - String zt2_ifpbom = rev2.getProperty("zt2_ifpbom"); - if (zt2_ifpbom.equals("P")) { - return rev2; - } else { - TCComponent designRev = rev2.getRelatedComponent("TC_Is_Represented_By"); - if (designRev != null) { - TCComponent[] matnrs = designRev.getRelatedComponents("representation_for"); - for (TCComponent matnr : matnrs) { - String[] properties = matnr.getProperties(new String[] { "zt2_ifpbom", "zt2_MaterialNo" }); - if (properties[1].equals(zt2_MaterialNo) && properties[0].equals("P")) { - return (TCComponentItemRevision) matnr; - } - } - } - } - } else if (rev2.getType().equals("ZT2_Design3DRevision")) { - TCComponent[] matnrs = rev2.getRelatedComponents("representation_for"); - for (TCComponent matnr : matnrs) { - String[] properties = matnr.getProperties(new String[] { "zt2_ifpbom", "zt2_MaterialNo" }); - if (properties[0].equals("P")) { - return (TCComponentItemRevision) matnr; - } - } - return (TCComponentItemRevision) matnrs[0]; - } - return rev2; - - } - - public static String getXML() { + private SimpleDateFormat format2 = new SimpleDateFormat("yyyy-MM-dd-HH:mm:ss"); + private AbstractAIFApplication app; + private TCSession session; + private SimpleDateFormat format = new SimpleDateFormat("yyyyMMdd"); + private String now; + private String groupName = ""; + private TCComponentItemType ccomponentitemtype; + public BomSapWhBjOp(AbstractAIFApplication app) { + // TODO Auto-generated constructor stub + this.app = app; + this.session = (TCSession) app.getSession(); + now = format.format(new Date()); + try { + ccomponentitemtype = (TCComponentItemType)session.getTypeComponent("ZT2_Design3D"); + } catch (TCException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + + } + + public List getCPPPRevision(TCComponentItemRevision rev2) throws TCException { + + List itemList = new ArrayList<>(); + List itemPList = new ArrayList<>(); + String id = "1ZDB300000P-"; + if(rev2.getType().equals("Part Revision")) { + String desc = rev2.getStringProperty("object_desc"); + String[] split = desc.split(" "); + if(split.length>=2) { + String[] split2 = split[1].split("-"); + if(split2.length==2) { + id = id + split2[1]; + }else if(split2.length==3) { + id = id + split2[2]; + } + } + }else if(rev2.getType().equals("ZT2_Design3DRevision")) { + String desc = rev2.getStringProperty("item_id"); + String[] split2 = desc.split("-"); + if(split2.length==2) { + id = id + split2[1]; + }else if(split2.length==3) { + id = id + split2[2]; + } + } + System.out.print("id===>"+id); + TCComponentItem find = ccomponentitemtype.find(id); + TCComponentItemRevision zztRev = find.getLatestItemRevision(); + TCComponent[] matnrs = zztRev.getRelatedComponents("representation_for"); + for(TCComponent matnr:matnrs) { + String[] properties = matnr.getProperties(new String[]{"zt2_ifpbom"}); + TCComponentItemRevision revItem = (TCComponentItemRevision)matnr; + TCComponentItem item = revItem.getItem(); + if(properties[0].equals("P") && !itemPList.contains(item)) { + itemPList.add(item); + }else if(!itemList.contains(item)){ + itemList.add(item); + } + } + if(itemPList.size()>0) { + return itemPList; + } + return itemList; + + } + public TCComponentItemRevision getPRevision(TCComponentItemRevision rev2) throws TCException { + + String zt2_MaterialNo = rev2.getStringProperty("zt2_MaterialNo"); + if(rev2.getType().equals("Part Revision")) { + String zt2_ifpbom = rev2.getProperty("zt2_ifpbom"); + if(zt2_ifpbom.equals("P")) { + return rev2; + }else { + TCComponent designRev = rev2.getRelatedComponent("TC_Is_Represented_By"); + if(designRev!=null) { + TCComponent[] matnrs = designRev.getRelatedComponents("representation_for"); + for(TCComponent matnr:matnrs) { + String[] properties = matnr.getProperties(new String[]{"zt2_ifpbom","zt2_MaterialNo"}); + if(properties[1].equals(zt2_MaterialNo) && properties[0].equals("P")) { + return (TCComponentItemRevision)matnr; + } + } + } + } + }else if(rev2.getType().equals("ZT2_Design3DRevision")) { + TCComponent[] matnrs = rev2.getRelatedComponents("representation_for"); + for(TCComponent matnr:matnrs) { + String[] properties = matnr.getProperties(new String[]{"zt2_ifpbom","zt2_MaterialNo"}); + if(properties[0].equals("P")) { + return (TCComponentItemRevision)matnr; + } + } + return (TCComponentItemRevision)matnrs[0]; + } + return rev2; + + } + public static String getXML(){ String soapXML = "\r\n" - + " \r\n" + " \r\n" + " \r\n" - + " \r\n" + " \r\n" + ""; + + " \r\n" + + " \r\n" + + " \r\n" + + " \r\n" + + " \r\n" + + ""; return soapXML; } - - @Override - public void executeOperation() throws Exception { - // TODO Auto-generated method stub - MyProgressBarCompent comp = null; - try { - - String strs[] = session.getPreferenceService().getStringValues("database_tc"); - if (SqlUtil.getTCDataConnection(strs) == null) { - MessageBox.post("数据库连接失败,请检查首选项", "", 2); - return; - } - String code = BomUtilWh.getCode().toString(); - - - String batchNum = code + "-00001"; - - groupName = SAPUtil.getGroupID(session); - if (KUtil.isEmpty(groupName) || groupName.equalsIgnoreCase("dba")) { - MessageBox.post("当前登录组[" + groupName + "]不可使用该功能", "", MessageBox.INFORMATION); - return; - } - - InterfaceAIFComponent target = app.getTargetComponent(); - if (target == null) { - MessageBox.post("请选择图纸版本", "", MessageBox.INFORMATION); - return; - } - TCComponentItemRevision degignRev = null; - // String bmeng = "1"; - if (target.getType().equals("ZT2_Design3DRevision")) { - degignRev = (TCComponentItemRevision) target; - - } else if (target.getType().equals("Part Revision")) { - degignRev = (TCComponentItemRevision) target; - // bmeng = SAPUtil.getSAPBMENG(degignRev); - } else { - MessageBox.post("请选择图纸/物料版本", "", MessageBox.INFORMATION); - return; - } - - comp = new MyProgressBarCompent("", "正在进行部件BOM传递SAP...."); - TCComponentItemRevision pRevision = getPRevision(degignRev); // 获取PBOM - List cppRevision = getCPPPRevision(degignRev); - // 获取产成品 - System.out.println("cppRevision===>" + cppRevision.toString()); - - //记录SUM表信息 - String userName = session.getUser().getProperty("user_name"); - String dataTime = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); -// String zt2_WBSNo = project.getStringProperty("zt2_WBSNo"); -// String object_name = project.getStringProperty("object_name"); - String userId = session.getUser().getUserId(); -// String code = BomUtilWh.getCode().toString(); - StringBuilder productNosBuild = new StringBuilder(""); - StringBuilder productUidsBuild = new StringBuilder(""); - for(TCComponentItem cppItem:cppRevision) { - TCComponentItemRevision latestItemRevision = cppItem.getLatestItemRevision(); - String property = latestItemRevision.getProperty(BomUtilWh.ZT2_MATERIALNO); - productNosBuild.append(property).append(";"); - productUidsBuild.append(latestItemRevision.getUid()).append(";"); - } - String substring = productUidsBuild.toString().substring(0, productUidsBuild.length() - 1); - String serverHostname = session.getServerHostname(); - String wbsNo = cppRevision.get(0).getLatestItemRevision().getProperty(BomUtilWh.ZT2_WBSNO); - SqlUtil.write(BomUtilWh.detailsSql, new String[] { code, "M060", userName, dataTime, wbsNo, - "", "部件传递", substring, "", serverHostname, userId }); - - SqlUtil.freeAll(); - List wbsList = new ArrayList(); - - StringBuffer errMessage = new StringBuffer(""); - - BomUtilWh.checkMatnr(errMessage, pRevision); - - TCComponentBOMWindowType bomWinType = (TCComponentBOMWindowType) session.getTypeComponent("BOMWindow"); - TCComponentBOMWindow win = bomWinType.create(null); - TCComponentBOMLine setWindowTopLine = win.setWindowTopLine(pRevision.getItem(), pRevision, null, null); - // 优化项:BOM全展开 - System.out.println("BOM全展开"); - Map gy_meops = new HashMap<>(32); - - String txtName = format2.format(new Date()) + getUserName(session); - String txtPath = TXTUtil.createTxt(txtName); - - Document document = DocumentHelper.parseText(getXML()); - Element rootElement = document.getRootElement(); - Element body = rootElement.element("Body"); - Element element = body.element("MT_MATERIAL_BOP_REQ"); - Element INTERGRATIONLIST = element.addElement("INTERGRATIONLIST"); - Map bomLineTree = BomToSapUtil.getBomLineTreeNodeSOA(setWindowTopLine); - List needTCM_meops = new ArrayList(); - Map material_revs = new HashMap<>(); - BomUtilWh.expandAllBomPartBj(bomLineTree, setWindowTopLine, pRevision, groupName, wbsList, session, now, - needTCM_meops, gy_meops, INTERGRATIONLIST, errMessage, cppRevision, txtPath, material_revs, batchNum); - System.out.println("BOM全document===>" + document.asXML()); - if (errMessage.length() > 0) { - TXTUtil.writeTXT(txtPath, "----------------BOM异常--------------"); - TXTUtil.writeTXT(txtPath, errMessage.toString()); - TXTUtil.writeTXT(txtPath, "----------BOM信息-----------"); -// BomUtilWh.logXmlMsg(INTERGRATIONLIST, code, productNosBuild.toString(), batchNum, pRevision.getProperty(BomUtilWh.ZT2_WBSNO), session); - new SAPMessageUtilFram("", "BOM传递SAP异常:\n" + errMessage.toString()).show(); - win.close(); - } else { - //记录产成品的物料编码 -// StringBuilder productNosBuild = new StringBuilder(""); -// for(TCComponentItem cppItem:cppRevision) { -// String property = cppItem.getLatestItemRevision().getProperty(BomUtilWh.ZT2_MATERIALNO); -// productNosBuild.append(property).append(";"); -// } - BomUtilWh.logXmlMsg(INTERGRATIONLIST, code, productNosBuild.toString(), batchNum, wbsNo, session); - new BomSendSapOp(session, document.asXML(), txtPath, gy_meops).executeOperation(); - win.close(); - } - if (comp != null) { - comp.setVisible(false); - } - TCComponentDataset dataset = TXTUtil.createDataset(txtPath, txtName, session); - System.out.println("日志所挂对象:" + pRevision); - KUtil.setByPass(true); - TXTUtil.addTxttoTarget(pRevision, dataset); - MessageBox.post("BOM数据推送完成..", "提示", 2); - } catch (Exception e) { - e.printStackTrace(); - } finally { - KUtil.setByPass(false); - SqlUtil.freeAll(); - } - } - - public String getUserName(TCSession session) throws TCException { - TCComponentUser user = session.getUser(); - session.getUserName(); - return user.getTCProperty("user_name").getDisplayValue(); - } + @Override + public void executeOperation() throws Exception { + // TODO Auto-generated method stub + MyProgressBarCompent comp = null; + try { + groupName = SAPUtil.getGroupID(session); + if (KUtil.isEmpty(groupName) || groupName.equalsIgnoreCase("dba")) { + MessageBox.post("当前登录组[" + groupName + "]不可使用该功能", "", MessageBox.INFORMATION); + return; + } + + InterfaceAIFComponent target = app.getTargetComponent(); + if (target == null) { + MessageBox.post("请选择图纸版本", "", MessageBox.INFORMATION); + return; + } + TCComponentItemRevision degignRev = null; + // String bmeng = "1"; + if (target.getType().equals("ZT2_Design3DRevision")) { + degignRev = (TCComponentItemRevision) target; + + } else if (target.getType().equals("Part Revision")) { + degignRev = (TCComponentItemRevision) target; + // bmeng = SAPUtil.getSAPBMENG(degignRev); + } else { + MessageBox.post("请选择图纸/物料版本", "", MessageBox.INFORMATION); + return; + } + + comp = new MyProgressBarCompent("", "正在进行部件BOM传递SAP...."); + TCComponentItemRevision pRevision = getPRevision(degignRev); //获取PBOM + List cppRevision = getCPPPRevision(degignRev); + //获取产成品 + System.out.println("cppRevision===>"+cppRevision.toString()); + List wbsList = new ArrayList(); + + StringBuffer errMessage = new StringBuffer(""); + + BomUtilWh.checkMatnr(errMessage, pRevision); + + TCComponentBOMWindowType bomWinType = (TCComponentBOMWindowType) session.getTypeComponent("BOMWindow"); + TCComponentBOMWindow win = bomWinType.create(null); + TCComponentBOMLine setWindowTopLine = win.setWindowTopLine(pRevision.getItem(), pRevision, null, null); + //优化项:BOM全展开 + System.out.println("BOM全展开"); + Map gy_meops = new HashMap<>(32); + + String txtName = format2.format(new Date()) + getUserName(session); + String txtPath = TXTUtil.createTxt(txtName); + + Document document = DocumentHelper.parseText(getXML()); + Element rootElement = document.getRootElement(); + Element body = rootElement.element("Body"); + Element element = body.element("MT_MATERIAL_BOP_REQ"); + Element INTERGRATIONLIST = element.addElement("INTERGRATIONLIST"); + Map bomLineTree = BomToSapUtil.getBomLineTreeNodeSOA(setWindowTopLine); + List needTCM_meops = new ArrayList(); + Map material_revs = new HashMap<>(); + BomUtilWh.expandAllBomPartBj(bomLineTree, setWindowTopLine, pRevision, + groupName,wbsList,session,now,needTCM_meops,gy_meops,INTERGRATIONLIST,errMessage,cppRevision,txtPath,material_revs); + System.out.println("BOM全document===>"+document.asXML()); + if(errMessage.length()>0) { + TXTUtil.writeTXT(txtPath, "----------------BOM异常--------------"); + TXTUtil.writeTXT(txtPath, errMessage.toString()); + TXTUtil.writeTXT(txtPath, "----------BOM信息-----------"); + new SAPMessageUtilFram("", "BOM传递SAP异常:\n" + errMessage.toString()).show(); + win.close(); + }else { + new BomSendSapOp(session,document.asXML(),txtPath,gy_meops).executeOperation(); + win.close(); + } + if (comp != null) { + comp.setVisible(false); + } + TCComponentDataset dataset = TXTUtil.createDataset(txtPath, txtName, session); + System.out.println("日志所挂对象:" + pRevision); + KUtil.setByPass(true); + TXTUtil.addTxttoTarget(pRevision, dataset); + MessageBox.post("BOM数据推送完成..","提示",2); + } catch (Exception e) { + e.printStackTrace(); + } finally { + KUtil.setByPass(false); + } + } + public String getUserName(TCSession session) throws TCException { + TCComponentUser user = session.getUser(); + session.getUserName(); + return user.getTCProperty("user_name").getDisplayValue(); + } } diff --git a/com.connor.chint.wuhan/src/com/connor/chint/yunpi/command/BomSendSapController.java b/com.connor.chint.wuhan/src/com/connor/chint/yunpi/command/BomSendSapController.java index 53c0d1a..07669a5 100644 --- a/com.connor.chint.wuhan/src/com/connor/chint/yunpi/command/BomSendSapController.java +++ b/com.connor.chint.wuhan/src/com/connor/chint/yunpi/command/BomSendSapController.java @@ -32,7 +32,6 @@ import com.connor.chint.sap2.util.KUtil; import com.connor.chint.sap2.util.MyProgressBarCompent; import com.connor.chint.sap2.util.SAPMessageUtil; import com.connor.chint.sap2.util.SAPUtil; -import com.connor.chint.sap2.util.SqlUtil; import com.connor.chint.sap2.util.TXTUtil; import com.squareup.okhttp.Credentials; import com.squareup.okhttp.MediaType; @@ -63,411 +62,375 @@ import com.teamcenter.rac.util.MessageBox; import com.teamcenter.services.rac.cad._2007_01.StructureManagement.ExpandPSData; public class BomSendSapController { - - public static final String TYPE_REV_PART = "Part Revision"; - public TCComponent project; // 项目信息 - public String groupName; - public String zt2_ProjectNo; - public String wbs; - public AbstractAIFApplication app; - private TCSession session; - public List partList = new ArrayList<>(); - public BomSendSapWhFram dialog; - private SimpleDateFormat format2 = new SimpleDateFormat("yyyy-MM-dd-HH:mm:ss"); - - public BomSendSapController(BomSendSapWhFram sapzyDialog, AbstractAIFApplication app) { - this.app = app; - this.session = (TCSession) app.getSession(); - } - - // 检查选定项目下是否存在产成品 - public boolean checkTargets() throws Exception { - InterfaceAIFComponent target = app.getTargetComponent(); - if (target == null || !(target instanceof TCComponent)) { - return false; - } - project = (TCComponent) target; - - zt2_ProjectNo = project.getProperty("zt2_ProjectNo"); - wbs = project.getProperty("zt2_WBSNo"); - System.out.println("检查对象:" + target); - List partRevList = KUtil.getCCPFromProject(project); - - for (TCComponentItemRevision rev : partRevList) { - String cType = rev.getType(); + + public static final String TYPE_REV_PART = "Part Revision"; + public TCComponent project; //项目信息 + public String groupName; + public String zt2_ProjectNo; + public String wbs; + public AbstractAIFApplication app; + private TCSession session; + public List partList = new ArrayList<>(); + public BomSendSapWhFram dialog; + private SimpleDateFormat format2 = new SimpleDateFormat("yyyy-MM-dd-HH:mm:ss"); + public BomSendSapController(BomSendSapWhFram sapzyDialog, AbstractAIFApplication app) { + this.app = app; + this.session = (TCSession) app.getSession(); + } + + // 检查选定项目下是否存在产成品 + public boolean checkTargets() throws Exception { + InterfaceAIFComponent target = app.getTargetComponent(); + if (target == null || !(target instanceof TCComponent)) { + return false; + } + project = (TCComponent) target; + + zt2_ProjectNo = project.getProperty("zt2_ProjectNo"); + wbs = project.getProperty("zt2_WBSNo"); + System.out.println("检查对象:" + target); + List partRevList = KUtil.getCCPFromProject(project); + + for(TCComponentItemRevision rev:partRevList) { + String cType = rev.getType(); // System.out.println(">> 找到子对象:" + cName + "|" + cType); - if (TYPE_REV_PART.equals(cType)) { - PartBean bean = new PartBean(rev, partList.size() + 1, ""); - SAPPushBOMBean.readUser(bean, rev, groupName, session); - bean.setPSPID(project.getProperty("zt2_ProjectNo")); - partList.add(bean); - } - } - if (partList.size() == 0) { - return false; - } - return true; - } - - public String sapState = ""; - private TCComponent released_Red; - private TCComponent released_Yellow; - private TCComponent released_Green; - - public void getSapState() throws TCException { - TCComponentListOfValues unitLov = KUtil.getLov(session, "zt2_SapState"); - if (unitLov != null) { - ListOfValuesInfo listOfValues = unitLov.getListOfValues(); - String[] realval = listOfValues.getStringListOfValues(); - for (int i = 0; i < realval.length; i++) { - String disval = listOfValues.getDisplayableValue(realval[i]); - System.out.println("显示值:" + disval + ";真实值:" + realval[i]); - if (disval.equals("已传")) { - sapState = realval[i]; - } - - } - - } - - TCComponentReleaseStatusType releaseType = (TCComponentReleaseStatusType) session - .getTypeComponent("ReleaseStatus"); - - released_Green = releaseType.create("ZT2_Green"); - released_Green.save(); - released_Green.unlock(); - released_Red = releaseType.create("ZT2_Red"); - released_Red.save(); - released_Red.unlock(); - released_Yellow = releaseType.create("ZT2_Yellow"); - released_Yellow.save(); - released_Yellow.unlock(); - } - - private SimpleDateFormat format = new SimpleDateFormat("yyyyMMdd"); - - public static String getXML() { + if (TYPE_REV_PART.equals(cType)) { + PartBean bean = new PartBean(rev, partList.size() + 1,""); + SAPPushBOMBean.readUser(bean, rev, groupName, session); + bean.setPSPID(project.getProperty("zt2_ProjectNo")); + partList.add(bean); + } + } + if (partList.size() == 0) { + return false; + } + return true; + } + + public String sapState = ""; + private TCComponent released_Red; + private TCComponent released_Yellow; + private TCComponent released_Green; + + public void getSapState() throws TCException { + TCComponentListOfValues unitLov = KUtil.getLov(session, "zt2_SapState"); + if (unitLov != null) { + ListOfValuesInfo listOfValues = unitLov.getListOfValues(); + String[] realval = listOfValues.getStringListOfValues(); + for (int i = 0; i < realval.length; i++) { + String disval = listOfValues.getDisplayableValue(realval[i]); + System.out.println("显示值:" + disval + ";真实值:" + realval[i]); + if (disval.equals("已传")) { + sapState = realval[i]; + } + + } + + } + + TCComponentReleaseStatusType releaseType = (TCComponentReleaseStatusType) session + .getTypeComponent("ReleaseStatus"); + + released_Green = releaseType.create("ZT2_Green"); + released_Green.save(); + released_Green.unlock(); + released_Red = releaseType.create("ZT2_Red"); + released_Red.save(); + released_Red.unlock(); + released_Yellow = releaseType.create("ZT2_Yellow"); + released_Yellow.save(); + released_Yellow.unlock(); + } + private SimpleDateFormat format = new SimpleDateFormat("yyyyMMdd"); + + public static String getXML(){ String soapXML = "\r\n" - + " \r\n" + " \r\n" + " \r\n" - + " \r\n" + " \r\n" + ""; + + " \r\n" + + " \r\n" + + " \r\n" + + " \r\n" + + " \r\n" + + ""; return soapXML; } - - public TCComponentItemRevision getPRevision(TCComponentItemRevision rev2) throws TCException { - - String zt2_MaterialNo = rev2.getStringProperty("zt2_MaterialNo"); - if (rev2.getType().equals("Part Revision")) { - String zt2_ifpbom = rev2.getProperty("zt2_ifpbom"); - if (zt2_ifpbom.equals("P")) { - return rev2; - } else { - TCComponent designRev = rev2.getRelatedComponent("TC_Is_Represented_By"); - if (designRev != null) { - TCComponent[] matnrs = designRev.getRelatedComponents("representation_for"); - for (TCComponent matnr : matnrs) { - String[] properties = matnr.getProperties(new String[] { "zt2_ifpbom", "zt2_MaterialNo" }); - if (properties[1].equals(zt2_MaterialNo) && properties[0].equals("P")) { - return (TCComponentItemRevision) matnr; - } - } - } - } - } - return rev2; - - } - - public String getUserName(TCSession session) throws TCException { - TCComponentUser user = session.getUser(); - session.getUserName(); - return user.getTCProperty("user_name").getDisplayValue(); - } - - public void sendSap() { - try { - - String strs[] = session.getPreferenceService().getStringValues("database_tc"); - if (SqlUtil.getTCDataConnection(strs) == null) { - MessageBox.post("数据库连接失败,请检查首选项", "", 2); - return; - } - List selectedParts = getSelectedParts(); - // 记录SUM表信息 - String userName = session.getUser().getProperty("user_name"); - String dataTime = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); - String zt2_WBSNo = project.getStringProperty("zt2_WBSNo"); - String object_name = project.getStringProperty("object_name"); - String userId = session.getUser().getUserId(); - String code = BomUtilWh.getCode().toString(); - StringBuilder productNosBuild = new StringBuilder(""); - StringBuilder productUidsBuild = new StringBuilder(""); - for (PartBean cppItem : selectedParts) { - String property = cppItem.part.getProperty(BomUtilWh.ZT2_MATERIALNO); - productNosBuild.append(property).append(";"); - productUidsBuild.append(cppItem.part.getUid()).append(";"); - } - String substring = productUidsBuild.toString().substring(0, productUidsBuild.length() - 1); - String serverHostname = session.getServerHostname(); - SqlUtil.write(BomUtilWh.detailsSql, new String[] { code, "M060", userName, dataTime, zt2_WBSNo, object_name, - "产成品传递", substring, project.getUid(), serverHostname, userId }); - SqlUtil.freeAll(); - // 存在多个产成品时 下面的PBOM是一样的,只需要记录一次日志新的 - boolean flag = true; - String batchNum = code + "-00001"; - - String now = format.format(new Date()); - MyProgressBarCompent comp = null; - - String txtName = format2.format(new Date()) + getUserName(session); - String txtPath = TXTUtil.createTxt(txtName); - comp = new MyProgressBarCompent("", "正在进行项目BOM传递......"); - StringBuffer errMessageAll = new StringBuffer(""); - StringBuffer sendMessageAll = new StringBuffer(""); - - // 2024 1 22新增逻辑往CHINT_BOM_TO_SAP_SUM -// project.getProperty("zt2_WBSNo"); - // 产成品BOM组织时除了产成品不同,其他相同 BOM结构是一样的 - // 记录产成品的物料编码 - - for (PartBean bean : selectedParts) { - - Document document = DocumentHelper.parseText(getXML()); - Element rootElement = document.getRootElement(); - Element body = rootElement.element("Body"); - Element element = body.element("MT_MATERIAL_BOP_REQ"); - Element INTERGRATIONLIST = element.addElement("INTERGRATIONLIST"); - - TCComponentItemRevision rev2 = getPRevision(bean.part); - - StringBuffer errMessage = new StringBuffer(""); - + public TCComponentItemRevision getPRevision(TCComponentItemRevision rev2) throws TCException { + + String zt2_MaterialNo = rev2.getStringProperty("zt2_MaterialNo"); + if(rev2.getType().equals("Part Revision")) { + String zt2_ifpbom = rev2.getProperty("zt2_ifpbom"); + if(zt2_ifpbom.equals("P")) { + return rev2; + }else { + TCComponent designRev = rev2.getRelatedComponent("TC_Is_Represented_By"); + if(designRev!=null) { + TCComponent[] matnrs = designRev.getRelatedComponents("representation_for"); + for(TCComponent matnr:matnrs) { + String[] properties = matnr.getProperties(new String[]{"zt2_ifpbom","zt2_MaterialNo"}); + if(properties[1].equals(zt2_MaterialNo) && properties[0].equals("P")) { + return (TCComponentItemRevision)matnr; + } + } + } + } + } + return rev2; + + } + public String getUserName(TCSession session) throws TCException { + TCComponentUser user = session.getUser(); + session.getUserName(); + return user.getTCProperty("user_name").getDisplayValue(); + } + public void sendSap() { + try { + List selectedParts = getSelectedParts(); + String now = format.format(new Date()); + MyProgressBarCompent comp = null; +// try { + String txtName = format2.format(new Date()) + getUserName(session); + String txtPath = TXTUtil.createTxt(txtName); + comp = new MyProgressBarCompent("", "正在进行项目BOM传递......"); + StringBuffer errMessageAll = new StringBuffer(""); + StringBuffer sendMessageAll = new StringBuffer(""); + + //2024 1 22新增逻辑往CHINT_BOM_TO_SAP_SUM + project.getProperty("zt2_WBSNo"); + //产成品BOM组织时除了产成品不同,其他相同 BOM结构是一样的 + for(PartBean bean : selectedParts) { + + Document document = DocumentHelper.parseText(getXML()); + Element rootElement = document.getRootElement(); + Element body = rootElement.element("Body"); + Element element = body.element("MT_MATERIAL_BOP_REQ"); + Element INTERGRATIONLIST = element.addElement("INTERGRATIONLIST"); + + TCComponentItemRevision rev2 = getPRevision(bean.part); + + StringBuffer errMessage = new StringBuffer(""); + // BomUtilWh.checkMatnr(errMessage, rev2); - - TCComponentBOMWindowType bomWinType = (TCComponentBOMWindowType) session.getTypeComponent("BOMWindow"); - TCComponentBOMWindow win = bomWinType.create(null); - TCComponentBOMLine setWindowTopLine = win.setWindowTopLine(rev2.getItem(), rev2, null, null); - // 优化项:BOM全展开 - System.out.println("BOM全展开"); - Map gy_meops = new HashMap<>(32); - List needTCM_meops = new ArrayList(); - // 三种情况有PBOM传PDBOM,没PBOM传EBOM,没EBOM传图纸BOM - Map bomLineTree = BomToSapUtil.getBomLineTreeNodeSOA(setWindowTopLine); - List wbsList = new ArrayList(); - // 记录物料图纸关系的集合 - Map material_revs = new HashMap<>(); - // 2024 1 24 新加字段 UID 和 BATCHNUMBER - BomUtilWh.expandAllBomPart(bomLineTree, setWindowTopLine, rev2, groupName, wbsList, session, now, - needTCM_meops, gy_meops, INTERGRATIONLIST, errMessage, txtPath, material_revs, batchNum); - System.out.println("BOM全document===>" + document.asXML()); - if (errMessage.length() > 0) { - TXTUtil.writeTXT(txtPath, "----------------BOM异常--------------"); - TXTUtil.writeTXT(txtPath, errMessage.toString()); - TXTUtil.writeTXT(txtPath, "----------BOM信息-----------"); - errMessageAll.append(errMessage); + + TCComponentBOMWindowType bomWinType = (TCComponentBOMWindowType) session.getTypeComponent("BOMWindow"); + TCComponentBOMWindow win = bomWinType.create(null); + TCComponentBOMLine setWindowTopLine = win.setWindowTopLine(rev2.getItem(), rev2, null, null); + //优化项:BOM全展开 + System.out.println("BOM全展开"); + Map gy_meops = new HashMap<>(32); + List needTCM_meops = new ArrayList(); + //三种情况有PBOM传PDBOM,没PBOM传EBOM,没EBOM传图纸BOM + Map bomLineTree = BomToSapUtil.getBomLineTreeNodeSOA(setWindowTopLine); + List wbsList = new ArrayList(); + // 记录物料图纸关系的集合 + Map material_revs = new HashMap<>(); + BomUtilWh.expandAllBomPart(bomLineTree, setWindowTopLine, rev2, + groupName,wbsList,session,now,needTCM_meops,gy_meops,INTERGRATIONLIST,errMessage,txtPath,material_revs); + System.out.println("BOM全document===>"+document.asXML()); + if(errMessage.length()>0) { + TXTUtil.writeTXT(txtPath, "----------------BOM异常--------------"); + TXTUtil.writeTXT(txtPath, errMessage.toString()); + TXTUtil.writeTXT(txtPath, "----------BOM信息-----------"); + errMessageAll.append(errMessage); // new SAPMessageUtil("", "BOM传递SAP异常:\n" + errMessage.toString()); - win.close(); - } else { + win.close(); + }else { // new BomSendSapOp(session,document.asXML(),txtPath,gy_meops).executeOperation(); - // 记录XML信息到CHINT_BOM_TO_SAP_DETIALS - if (flag) { - flag = false; - BomUtilWh.logXmlMsg(INTERGRATIONLIST, code, productNosBuild.toString(), batchNum, wbs, session); - } - sendMessageAll.append(SendToSap(txtPath, document.asXML())); - win.close(); - } - TCComponentDataset dataset = TXTUtil.createDataset(txtPath, txtName, session); - System.out.println("日志所挂对象:" + rev2); - KUtil.setByPass(true); - TXTUtil.addTxttoTarget(rev2, dataset); - KUtil.setByPass(false); - } - if (comp != null) { - comp.setVisible(false); - } - if (errMessageAll.length() > 0) { - new SAPMessageUtil("", "BOM传递SAP异常:\n" + errMessageAll.toString()); - } else if (sendMessageAll.length() > 0) { - new SAPMessageUtil("", "BOM推送异常:\n" + sendMessageAll.toString()); - } else { - MessageBox.post("BOM数据推送完成..", "提示", 2); - } - } catch (Exception e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } finally { - SqlUtil.freeAll(); - } - - } - - public List getSelectedParts() throws Exception { - List selectedParts = new ArrayList<>(); - int rowCnt = dialog.t_part.getRowCount(); - for (int i = 0; i < rowCnt; i++) { - System.out.println(dialog.t_part.getValueAt(i, 0)); - if ("true".equals(dialog.t_part.getValueAt(i, 0).toString())) { - PartBean bean = (PartBean) dialog.t_part.getValueAt(i, 5); - System.out.println("准备传递对象:" + bean); - if (bean != null) { - /* - * if(bean.factoryNo==null) { throw new Exception("对象<"+bean.part+">没有找到出厂编号"); - * } - */ - selectedParts.add(bean); - } - } - } - return selectedParts; - } - - public StringBuffer SendToSap(String txtPath, String wsdlString) throws IOException { + //记录XML信息到CHINT_BOM_TO_SAP_DETIALS + + sendMessageAll.append(SendToSap(txtPath,document.asXML())); + win.close(); + } + TCComponentDataset dataset = TXTUtil.createDataset(txtPath, txtName, session); + System.out.println("日志所挂对象:" + rev2); + KUtil.setByPass(true); + TXTUtil.addTxttoTarget(rev2, dataset); + KUtil.setByPass(false); + } + if(comp!=null) { + comp.setVisible(false); + } + if(errMessageAll.length()>0) { + new SAPMessageUtil("", "BOM传递SAP异常:\n" + errMessageAll.toString()); + }else if(sendMessageAll.length()>0) { + new SAPMessageUtil("", "BOM推送异常:\n" + sendMessageAll.toString()); + }else { + MessageBox.post("BOM数据推送完成..","提示",2); + } + } catch (Exception e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + + } + + public List getSelectedParts() throws Exception { + List selectedParts = new ArrayList<>(); + int rowCnt = dialog.t_part.getRowCount(); + for (int i = 0; i < rowCnt; i++) { + System.out.println(dialog.t_part.getValueAt(i, 0)); + if ("true".equals(dialog.t_part.getValueAt(i, 0).toString())) { + PartBean bean = (PartBean) dialog.t_part.getValueAt(i, 5); + System.out.println("准备传递对象:" + bean); + if (bean != null) { + /* + * if(bean.factoryNo==null) { throw new Exception("对象<"+bean.part+">没有找到出厂编号"); + * } + */ + selectedParts.add(bean); + } + } + } + return selectedParts; + } + + public StringBuffer SendToSap(String txtPath,String wsdlString) throws IOException { // new BomSendSapOp(session,document.asXML(),txtPath,gy_meops).executeOperation(); - TXTUtil.writeTXT(txtPath, "----------------BOM传递数据--------------"); - TXTUtil.writeTXT(txtPath, wsdlString); - TXTUtil.writeTXT(txtPath, "----------BOM传递数据-----------"); - - // 推送SAP - String[] stringValues = session.getPreferenceService().getStringValues("CHINT_WhBomUrl_YB"); - String sapUrl = ""; - String momUrl = ""; - for (String stringValue : stringValues) { - if (stringValue.startsWith("SAP:1=")) { - sapUrl = stringValue.replaceAll("SAP:1=", ""); - } else if (stringValue.startsWith("MOM:1=")) { - momUrl = stringValue.replaceAll("MOM:1=", ""); - } - } - StringBuffer sendSap = sendSap(sapUrl, wsdlString, txtPath); - StringBuffer sendMom = sendMom(momUrl, wsdlString, txtPath); - StringBuffer errBuffer = new StringBuffer(""); - if (sendSap.length() > 0) { - errBuffer.append("推送SAP异常:").append("\n"); - errBuffer.append(sendSap); - // new SAPMessageUtil("", "s:\n" + errBuffer.toString()); - } - if (sendMom.length() > 0) { - errBuffer.append("推送MOM异常:").append("\n"); - errBuffer.append(sendMom); - } + TXTUtil.writeTXT(txtPath, "----------------BOM传递数据--------------"); + TXTUtil.writeTXT(txtPath, wsdlString); + TXTUtil.writeTXT(txtPath, "----------BOM传递数据-----------"); + + //推送SAP + String[] stringValues = session.getPreferenceService().getStringValues("CHINT_WhBomUrl"); + String sapUrl = ""; + String momUrl = ""; + for(String stringValue:stringValues) { + if(stringValue.startsWith("SAP:1=")) { + sapUrl = stringValue.replaceAll("SAP:1=", ""); + }else if(stringValue.startsWith("MOM:1=")) { + momUrl = stringValue.replaceAll("MOM:1=", ""); + } + } + StringBuffer sendSap = sendSap(sapUrl,wsdlString,txtPath); + StringBuffer sendMom = sendMom(momUrl,wsdlString,txtPath); + StringBuffer errBuffer = new StringBuffer(""); + if(sendSap.length()>0) { + errBuffer.append("推送SAP异常:").append("\n"); + errBuffer.append(sendSap); + //new SAPMessageUtil("", "s:\n" + errBuffer.toString()); + } + if(sendMom.length()>0) { + errBuffer.append("推送MOM异常:").append("\n"); + errBuffer.append(sendMom); + } // if(errBuffer.length()>0) { // new SAPMessageUtil("", "推送结果异常:\n" + errBuffer.toString()); // } - return errBuffer; - } - - public StringBuffer sendSap(String url, String wsdlString, String txtPath) throws IOException { - - StringBuffer errBuffer = new StringBuffer(""); - if (!url.contains("http")) { - return errBuffer; - } - OkHttpClient client = new OkHttpClient(); - client.setConnectTimeout(100, TimeUnit.SECONDS); - client.setReadTimeout(100, TimeUnit.SECONDS); + return errBuffer; + } + public StringBuffer sendSap(String url,String wsdlString,String txtPath) throws IOException { + + StringBuffer errBuffer = new StringBuffer(""); + if(!url.contains("http")) { + return errBuffer; + } + OkHttpClient client = new OkHttpClient(); + client.setConnectTimeout(100, TimeUnit.SECONDS); + client.setReadTimeout(100, TimeUnit.SECONDS); // Authenticator authenticator = client.setAuthenticator(new Au); - String credential = "";// Credentials.basic("shpodev", "sap@2019"); - if (url.contains("192.168.0.184") || url.contains("gfpot01")) { - credential = Credentials.basic("po_rfc", "1qaz!QAZ"); - } else { - credential = Credentials.basic("shplm", "sap@2019"); - } - MediaType mediaType = MediaType.parse("application/xml"); - RequestBody body = RequestBody.create(mediaType, wsdlString); - // http://192.168.0.184:50100/XISOAPAdapter/MessageServlet?senderParty=&senderService=BC_CHINT_ELECTRIC&receiverParty=&receiverService=&interface=SIO_MATERIAL_BOP_PLM_SYN&interfaceNamespace=urn:chintelectric.com:xi:plm - Request request = new Request.Builder().url(url).method("POST", body).header("Authorization", credential) - .addHeader("Content-Type", "application/xml").build(); - Response response = client.newCall(request).execute(); - Document document = null; - - try { - String string = response.body().string(); + String credential = "";//Credentials.basic("shpodev", "sap@2019"); + if(url.contains("192.168.0.184")) { + credential = Credentials.basic("shpodev", "sap@2019"); + }else { + credential = Credentials.basic("shplm", "sap@2019"); + } + MediaType mediaType = MediaType.parse("application/xml"); + RequestBody body = RequestBody.create(mediaType,wsdlString); + //http://192.168.0.184:50100/XISOAPAdapter/MessageServlet?senderParty=&senderService=BC_CHINT_ELECTRIC&receiverParty=&receiverService=&interface=SIO_MATERIAL_BOP_PLM_SYN&interfaceNamespace=urn:chintelectric.com:xi:plm + Request request = new Request.Builder() + .url(url) + .method("POST", body) + .header("Authorization", credential) + .addHeader("Content-Type", "application/xml") + .build(); + Response response = client.newCall(request).execute(); + Document document = null; + + try { + String string = response.body().string(); // System.out.println("response.body().string()==>"+string); - TXTUtil.writeTXT(txtPath, "----------------BOM传递SAP结果--------------"); - TXTUtil.writeTXT(txtPath, string); - TXTUtil.writeTXT(txtPath, "----------BOM传递SAP结果-----------"); -// document = DocumentHelper.parseText(string); -// Element rootElement = document.getRootElement(); -// Element bodys = rootElement.element("Body"); -// Element elements = bodys.element("MT_MATERIAL_BOP_RSP"); -//// String attributeValue = elements.get(0).attributeValue("CODE"); -// List ztable = elements.elements("ZTABLE_RETURN"); -// for (Element zret : ztable) { -// String status = zret.elementText("TYPE"); -// if (status.equals("E")) { -// String attributeValue = zret.elementText("MESSAGE"); -// String MATNR = zret.elementText("MATNR"); -// if (MATNR != null) { -// attributeValue = attributeValue + ",在" + MATNR + "BOM中"; -// } -//// String gbk = new String(attributeValue.getBytes("GBK"), "UTF-8"); -// System.out.println(attributeValue); -// errBuffer.append(attributeValue).append("\n"); -// } -// } - } catch (Exception e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - - return errBuffer; + TXTUtil.writeTXT(txtPath, "----------------BOM传递SAP结果--------------"); + TXTUtil.writeTXT(txtPath, string); + TXTUtil.writeTXT(txtPath, "----------BOM传递SAP结果-----------"); + document = DocumentHelper.parseText(string); + Element rootElement = document.getRootElement(); + Element bodys = rootElement.element("Body"); + Element elements = bodys.element("MT_MATERIAL_BOP_RSP"); +// String attributeValue = elements.get(0).attributeValue("CODE"); + List ztable = elements.elements("ZTABLE_RETURN"); + for(Element zret:ztable) { + String status = zret.elementText("TYPE"); + if(status.equals("E")) { + String attributeValue = zret.elementText("MESSAGE"); + String MATNR = zret.elementText("MATNR"); + if(MATNR!=null) { + attributeValue = attributeValue+",在"+MATNR+"BOM中"; + } +// String gbk = new String(attributeValue.getBytes("GBK"), "UTF-8"); + System.out.println(attributeValue); + errBuffer.append(attributeValue).append("\n"); + } + } + } catch (DocumentException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + + return errBuffer; // if(errBuffer.length()>0) { // new SAPMessageUtil("", "BOM物料异常:\n" + errBuffer.toString()); // } - } - - public String sendJsonHttpPost(String url, String xmlContent, String txtPath) { - - CloseableHttpClient httpclient = HttpClients.createDefault(); - String responseInfo = null; - try { - HttpPost httpPost = new HttpPost(url); - // 设置请求头部 - httpPost.setHeader("Content-Type", "application/xml"); - - // 设置请求体 - StringEntity entityReq = new StringEntity(xmlContent, StandardCharsets.UTF_8); - - if (url.contains("10.128.11.12")) { - httpPost.addHeader("Authorization", "Basic MTQyODI0Mjg2NDU2ODMwNzcxNDpkREF3TWpveE1EQXg="); + } + public String sendJsonHttpPost(String url, String xmlContent,String txtPath) { + + CloseableHttpClient httpclient = HttpClients.createDefault(); + String responseInfo = null; + try { + HttpPost httpPost = new HttpPost(url); + // 设置请求头部 + httpPost.setHeader("Content-Type", "application/xml"); + + // 设置请求体 + StringEntity entityReq = new StringEntity(xmlContent, StandardCharsets.UTF_8); + + if(url.contains("10.128.11.12")) { + httpPost.addHeader("Authorization", "Basic MTQyODI0Mjg2NDU2ODMwNzcxNDpkREF3TWpveE1EQXg="); // http://10.128.11.12:7788/gateway/chint/bop-sync - } else { - httpPost.addHeader("Authorization", "Basic MTcxNDkwNTkyNTc2MjUzNTQyNjpkREF3TWpveE1EQXg="); - } + }else { + httpPost.addHeader("Authorization", "Basic MTcxNDkwNTkyNTc2MjUzNTQyNjpkREF3TWpveE1EQXg="); + } // - httpPost.setEntity(entityReq); - - CloseableHttpResponse response = httpclient.execute(httpPost); - HttpEntity entity = response.getEntity(); - int status = response.getStatusLine().getStatusCode(); - String string = EntityUtils.toString(entity); - System.out.println("MOM status:" + status + "responseInfo:" + string); - TXTUtil.writeTXT(txtPath, "----------------BOM传递MOM结果--------------"); - TXTUtil.writeTXT(txtPath, "MOM status:" + status); - TXTUtil.writeTXT(txtPath, "responseInfo:" + string); - TXTUtil.writeTXT(txtPath, "----------BOM传递MOM结果-----------"); - } catch (Exception e) { - e.printStackTrace(); - } finally { - try { - httpclient.close(); - } catch (IOException e) { - e.printStackTrace(); - } - } - return responseInfo; - } - - public StringBuffer sendMom(String url, String wsdlString, String txtPath) throws IOException { - - StringBuffer errBuffer = new StringBuffer(""); - if (!url.contains("http")) { - return errBuffer; - } - String string = sendJsonHttpPost(url, wsdlString, txtPath); // "http://10.128.11.12:7788/gateway/chint/bop-sync" - - return errBuffer; - - } - + httpPost.setEntity(entityReq); + + CloseableHttpResponse response = httpclient.execute(httpPost); + HttpEntity entity = response.getEntity(); + int status = response.getStatusLine().getStatusCode(); + String string = EntityUtils.toString(entity); + System.out.println("MOM status:" + status + "responseInfo:" + string); + TXTUtil.writeTXT(txtPath, "----------------BOM传递MOM结果--------------"); + TXTUtil.writeTXT(txtPath, "MOM status:" + status); + TXTUtil.writeTXT(txtPath, "responseInfo:" + string); + TXTUtil.writeTXT(txtPath, "----------BOM传递MOM结果-----------"); + } catch (Exception e) { + e.printStackTrace(); + } finally { + try { + httpclient.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + return responseInfo; + } + public StringBuffer sendMom(String url,String wsdlString,String txtPath) throws IOException { + + + StringBuffer errBuffer = new StringBuffer(""); + if(!url.contains("http")) { + return errBuffer; + } + String string = sendJsonHttpPost(url,wsdlString,txtPath); //"http://10.128.11.12:7788/gateway/chint/bop-sync" + + return errBuffer; + + } + } diff --git a/com.connor.chint.wuhan/src/com/connor/chint/yunpi/command/BomSendSapOp.java b/com.connor.chint.wuhan/src/com/connor/chint/yunpi/command/BomSendSapOp.java index 7f0873a..6ccff5d 100644 --- a/com.connor.chint.wuhan/src/com/connor/chint/yunpi/command/BomSendSapOp.java +++ b/com.connor.chint.wuhan/src/com/connor/chint/yunpi/command/BomSendSapOp.java @@ -77,8 +77,8 @@ public class BomSendSapOp extends AbstractAIFOperation { client.setReadTimeout(100, TimeUnit.SECONDS); // Authenticator authenticator = client.setAuthenticator(new Au); String credential = "";//Credentials.basic("shpodev", "sap@2019"); - if(url.contains("192.168.0.184") || url.contains("gfpot01")) { - credential = Credentials.basic("po_rfc", "1qaz!QAZ"); + if(url.contains("192.168.0.184")) { + credential = Credentials.basic("shpodev", "sap@2019"); }else { credential = Credentials.basic("shplm", "sap@2019"); } @@ -100,25 +100,25 @@ public class BomSendSapOp extends AbstractAIFOperation { TXTUtil.writeTXT(txtPath, "----------------BOM传递SAP结果--------------"); TXTUtil.writeTXT(txtPath, string); TXTUtil.writeTXT(txtPath, "----------BOM传递SAP结果-----------"); -// document = DocumentHelper.parseText(string); -// Element rootElement = document.getRootElement(); -// Element bodys = rootElement.element("Body"); -// Element elements = bodys.element("MT_MATERIAL_BOP_RSP"); -//// String attributeValue = elements.get(0).attributeValue("CODE"); -// List ztable = elements.elements("ZTABLE_RETURN"); -// for(Element zret:ztable) { -// String status = zret.elementText("TYPE"); -// if(status.equals("E")) { -// String attributeValue = zret.elementText("MESSAGE"); -// String MATNR = zret.elementText("MATNR"); -// if(MATNR!=null) { -// attributeValue = attributeValue+",在"+MATNR+"BOM中"; -// } -// System.out.println(attributeValue); -// errBuffer.append(attributeValue).append("\n"); -// } -// } - } catch (Exception e) { + document = DocumentHelper.parseText(string); + Element rootElement = document.getRootElement(); + Element bodys = rootElement.element("Body"); + Element elements = bodys.element("MT_MATERIAL_BOP_RSP"); +// String attributeValue = elements.get(0).attributeValue("CODE"); + List ztable = elements.elements("ZTABLE_RETURN"); + for(Element zret:ztable) { + String status = zret.elementText("TYPE"); + if(status.equals("E")) { + String attributeValue = zret.elementText("MESSAGE"); + String MATNR = zret.elementText("MATNR"); + if(MATNR!=null) { + attributeValue = attributeValue+",在"+MATNR+"BOM中"; + } + System.out.println(attributeValue); + errBuffer.append(attributeValue).append("\n"); + } + } + } catch (DocumentException e) { // TODO Auto-generated catch block e.printStackTrace(); } @@ -191,7 +191,7 @@ public class BomSendSapOp extends AbstractAIFOperation { TXTUtil.writeTXT(txtPath, "----------BOM传递数据-----------"); //推送SAP - String[] stringValues = session.getPreferenceService().getStringValues("CHINT_WhBomUrl_YB"); + String[] stringValues = session.getPreferenceService().getStringValues("CHINT_WhBomUrl"); String sapUrl = ""; String momUrl = ""; for(String stringValue:stringValues) {