查看: 3708|回复: 0

Teamenter SOA开发源码:通过user ID 找 User

[复制链接]

6

主题

4

回帖

60

积分

管理员

积分
60
发表于 2018-10-9 01:46:46 | 显示全部楼层 |阅读模式

请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!

您需要 登录 才可以下载或查看,没有账号?注册

×

% h! d6 H: A2 K' C* u, Y1 \Teamenter SOA开发源码:通过user ID 找 User& ?6 F" H/ r$ Y$ z: \! F

* Q' J6 p4 E* V; n8 @2 c0 v, y( I, b[mw_shl_code=applescript,true]import com.Teamcenter.services.strong.query.SavedQueryService;
( G( z0 O4 X% }/ S6 R  k3 Fimport com.teamcenter.services.strong.query._2006_03.SavedQuery.GetSavedQueriesResponse;
/ z9 `. t& s* ?. q! Timport com.teamcenter.services.strong.query._2007_09.SavedQuery.SavedQueriesResponse;/ M" ?' ~& H$ r/ X: Z9 [' @& ?  u
import com.teamcenter.services.strong.query._2008_06.SavedQuery.QueryInput;
/ N. ?& R% D5 r% @import com.teamcenter.services.strong.query._2007_09.SavedQuery.QueryResults;
$ o5 m4 `! c, c- P! Q  n2 U( |import com.teamcenter.services.strong.core.DataManagementService;
) R: i* c9 j2 R) t% Simport com.teamcenter.soa.client.model.ModelObject;
4 x: W/ d+ j, W, j9 `7 ]import com.teamcenter.soa.client.model.ServiceData;, M& H) v, ~0 }- G
import com.teamcenter.soa.client.model.strong.ImanQuery;& t% U$ m  k3 h
1 K+ U% _# ~/ ^$ e' M7 M
import com.teamcenter.soa.client.model.strong.User;
1 T: ~  r8 g* ~! Z
' M* I4 b% V, t( @/ h! o4 r- o2 k5 T& ?* y
    public User findUser(String userId)
7 M! j$ r. g) T/ |. g    {
( A* V  `2 l# ]/ X        ImanQuery query = null;
/ i, m4 t+ r! x* d        User user = null;
2 g* _; h- s; S6 Q. i9 e        - l, }, Z1 X4 Y4 b. x: D
, ~9 Y, X. X  U* |3 Q) ^
        SavedQueryService queryService = SavedQueryService.getService(AppXSession.geTConnection());
! Y) y, [3 A' |7 [* o% z: H        DataManagementService dmService= DataManagementService.getService(AppXSession.getConnection());
, w8 j7 j. F( n3 _! h0 t        
. y5 W. O$ U. K7 T# r5 y        try
9 ^' Q2 s3 T$ I, m; k        {3 ]; r" `! i$ ]* f
            GetSavedQueriesResponse savedQueries = queryService.getSavedQueries();
5 T% T) W0 s# z            if (savedQueries.queries.length == 0)
& C  P+ a7 m/ {- Y# ]$ ?            {& b+ m% p! }% l
                System.out.println("There are no saved queries in the system.");
5 M. l. D' U' ?3 u1 d. @* y: n- ]8 F                return user;0 y6 ~- P6 N+ @6 u  l
            }
& _. }( K8 l9 ~" t0 N2 n+ C            4 Q9 N6 X/ s2 B
            for (int i = 0; i < savedQueries.queries.length; i++)
' _8 z. b* J" L& H2 w/ z            {
$ s6 }1 W" B8 \1 W% q# h/ s
, E& F# W8 W& {- R) D3 g                if (savedQueries.queries.name.equals("__WEB_find_user"))
4 v% S' c: j3 a                {
# n" @- e$ i/ p8 v. V4 R+ y                    query = savedQueries.queries.query;6 g; x) n, [* z
                    break;; f! e. w6 H2 H
                }: n5 v( q  e. j4 ]2 p, X, v% j" h5 j3 u
            }
2 d- ]! C  E. z        }
+ i8 G( m& v) d; {9 s; X        catch (ServiceException e)
* S0 H. l2 ^0 T        {
& m7 ~7 x1 O, x' `            System.out.println("GetSavedQueries service request failed.");
' H& b$ h7 d5 L" Z& t            System.out.println(e.getMessage());
, Y; N5 k) [6 Z: A. c# f            return user;
! k3 h% b% Y3 c& B% Z        }( y/ ~( d  {% |0 {7 I
( D$ w; s+ D4 ^, y' I* K
        if (query == null)
0 T. F. D# J6 H. T3 P        {, X  [2 H' ]8 `; a
            System.out.println("There is not an '__WEB_find_user' query.");$ F2 m) a# M7 ~6 n: g& @' x4 N
            return user;, _+ c3 [3 m5 r  Y# y9 X7 c
        }
7 {4 h% p, A7 P! u# F
& ?7 {8 d- ^9 J, t0 K        try
$ @" z/ V* }7 L% V; {$ x1 F6 W2 }        {) V( o% X2 e3 Q) V  V8 c
            QueryInput savedQueryInput[] = new QueryInput[1];0 F. \( t  O! m5 J) c
            savedQueryInput[0] = new QueryInput();% A0 E4 M8 X% U1 `1 @3 m
            savedQueryInput[0].query = query;$ b5 M9 |, ?) B) {7 j+ o
            savedQueryInput[0].entries = new String[1];
0 H- F0 ]; g0 T1 a& p8 I* c            savedQueryInput[0].values = new String[1];8 [- z" [+ @6 {: k4 d8 Q, D& }$ J
            savedQueryInput[0].entries[0] = "User ID" ;% F  _0 ?, R+ _2 C; @2 r, d
            savedQueryInput[0].values[0] = userId;
! T$ j/ q0 q, B8 k2 R( M            savedQueryInput[0].maxNumToReturn = 25;* h* w) X, Z; k1 x; K2 Q, j
            
3 E. }# L1 k; [+ m            SavedQueriesResponse savedQueryResult = queryService.executeSavedQueries(savedQueryInput);1 R+ U* ^# Q: ]: U9 d0 ~
            QueryResults found = savedQueryResult.arrayOfResults[0];
5 T# o. p5 N0 H! p' k3 b' ~4 j6 ^4 ^. V/ l
            int length = found.objectUIDS.length;
/ o4 M3 H/ h7 n7 N1 }% w1 k/ ^" Z% {& D            . ?$ I' h: v* Y+ n4 b4 F2 N
            String[] uids = new String[length];6 q# [- W4 p9 x; o9 G( ~
            for( int ii = 0; ii < length; ii++)
' q. k+ s0 k5 J4 X6 A" F; V' ]3 y) j            {0 U- h4 ^4 f' m
                uids[ii]= found.objectUIDS[ii];# b6 U- q9 \  o" ^$ J5 Z+ n0 i; B
            }
3 S0 B- A/ x/ y( d7 \            ServiceData sd = dmService.loadObjects(uids);' H9 v0 ~, F8 z2 ?5 S
            ModelObject[] foundObjs = new ModelObject[ sd.sizeOfPlainObjects()];+ w1 l$ D! k3 m3 a+ K4 [- y
            for( int k =0; k< sd.sizeOfPlainObjects(); k++)
8 N2 u  C2 F/ a/ s! I            {
( e7 `) ]3 n& m                foundObjs[k] = sd.getPlainObject(k);
" p# Y' g$ P6 K" a* M( h7 y7 @            }
; E2 D- g, P0 @3 w$ E( d2 f' w# d            user = (User) foundObjs[0];   8 Z# j7 B; `6 h' l- m# P
        }
8 }* P1 n. e6 P  g        catch (Exception e)
, e8 h4 t1 y  ]- v" A% q        {
  A% i/ k- D% y$ E; p' X            System.out.println("ExecuteSavedQuery service request failed.");( L9 v$ i4 b9 Z' V8 ~( T
            System.out.println(e.getMessage());
& @) S1 B# h% N) v& h        }            
, k3 B: u" W8 L; `- R        return user;+ P. c7 l4 {2 r8 i8 g) F
    }; M% ^) i" j: `- ~# Y
[/mw_shl_code]
! {9 i' }6 u7 Y0 O
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.doteam.tech
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

在本版发帖
关注公众号
QQ客服返回顶部