查看: 3681|回复: 0

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

[复制链接]

6

主题

4

回帖

60

积分

管理员

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

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

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

×
8 l% w: }2 R7 T
Teamenter SOA开发源码:通过user ID 找 User
* o1 C( _/ x; |1 Y/ m/ ^$ U
' H# O. B8 u% w" O[mw_shl_code=applescript,true]import com.Teamcenter.services.strong.query.SavedQueryService;
" V" m" F! K# ~# ]import com.teamcenter.services.strong.query._2006_03.SavedQuery.GetSavedQueriesResponse;
5 v5 z! p7 o, J/ Pimport com.teamcenter.services.strong.query._2007_09.SavedQuery.SavedQueriesResponse;
+ D( L) P* i) B) ]0 R& K' z: rimport com.teamcenter.services.strong.query._2008_06.SavedQuery.QueryInput;) g) o" q7 Y$ @
import com.teamcenter.services.strong.query._2007_09.SavedQuery.QueryResults;4 x9 y" c6 d! G  W& y4 i# i
import com.teamcenter.services.strong.core.DataManagementService;
! U- u) J0 c5 p( @import com.teamcenter.soa.client.model.ModelObject;
# N5 K7 Z7 S6 v6 j' r# J$ `import com.teamcenter.soa.client.model.ServiceData;0 S' n; ]* `' H# o; g& c
import com.teamcenter.soa.client.model.strong.ImanQuery;
: Y- G/ V9 A9 |! y3 a5 |5 h
' ?4 x4 |5 j: u  n5 R5 @7 uimport com.teamcenter.soa.client.model.strong.User;
0 R5 b& a0 L( j% s
$ b; `- l0 K4 s- ]
" v( b2 T" K$ @0 X& Y: W    public User findUser(String userId)
) C4 x3 R( B% _9 ~% i2 K. C    {0 l- R7 V$ k  s) n; E4 c0 B% p
        ImanQuery query = null;
8 \/ y- k; B5 E* e        User user = null;3 f7 |! e( e1 j( u' v" g7 g7 d
        " Q% h! h9 Q4 h

9 f! _5 e6 L8 {* X; a        SavedQueryService queryService = SavedQueryService.getService(AppXSession.geTConnection());! V" R, d& E# |) V9 N, J% |% G
        DataManagementService dmService= DataManagementService.getService(AppXSession.getConnection());
' }0 X3 _2 ?1 e( K. P        
+ V- Y7 I  r0 y- y9 L* X& ?        try
( y" @1 n, M. e( R        {
; W' T4 F5 N0 s6 j7 [. t            GetSavedQueriesResponse savedQueries = queryService.getSavedQueries();4 R6 n! R" |: E
            if (savedQueries.queries.length == 0)
+ S  m" F/ \1 F: ]- n; H            {' x' L0 v, Z* H3 g8 z
                System.out.println("There are no saved queries in the system.");
( S+ Y. i" \" ?# h  n. J                return user;
% N" r: ~% `- q0 o# O            }5 d6 z& B* V! V6 c0 D
            
  _; Y; U9 a3 Z) {1 L2 W            for (int i = 0; i < savedQueries.queries.length; i++)
3 ~9 y2 A# W5 _/ L' E            {5 g! A/ {- w6 p7 w# P1 r) o3 ~# R

9 M" L& _# y9 C                if (savedQueries.queries.name.equals("__WEB_find_user"))$ q2 O" `: A# Y! M" v2 c
                {) Z, B  s! ]8 E& Y( W7 g  E
                    query = savedQueries.queries.query;( i, ?- f& b$ l" }4 x
                    break;0 G" a: }" M+ c6 o
                }
# {% [- k! A7 I/ }            }
+ J+ \8 Z' A" r: e$ e  c9 }* v        }, T8 V3 d; A+ Z6 B8 C7 r
        catch (ServiceException e)
& A( v0 W) m. U$ f        {' G2 c3 \  j" z0 m& o, J+ |& ^# k* P
            System.out.println("GetSavedQueries service request failed.");- t5 t% U% i) j, Y8 `/ t
            System.out.println(e.getMessage());
0 m. j  F+ z7 I  A2 Y            return user;3 F+ T! r; G5 c
        }2 {3 s, M% y$ A( J
6 ^  [5 @. E& X
        if (query == null)6 X. |7 t2 Q& K8 O
        {& E  C, q' e. ^$ n" f
            System.out.println("There is not an '__WEB_find_user' query.");
. f  y4 _% Y3 ?4 W5 \4 R# I            return user;
# P' Q" m" S/ h        }
4 X: d& P& ?0 I& `5 O5 ?& g  h7 c2 i
$ p6 ?- J2 c2 O0 |        try
0 H% `& |8 F1 P% w6 c        {2 l, |& o# Y3 [7 h/ u" e
            QueryInput savedQueryInput[] = new QueryInput[1];. j  m- o( c$ P) y0 Z) u
            savedQueryInput[0] = new QueryInput();
: r6 _1 M: D" V0 r6 s            savedQueryInput[0].query = query;
3 C# ?$ i2 L  \8 d1 w, h! G( S8 t            savedQueryInput[0].entries = new String[1];; R) I% E* ~3 N. `* ?1 a% l, W
            savedQueryInput[0].values = new String[1];
+ Z6 }3 v: u9 u3 v4 `            savedQueryInput[0].entries[0] = "User ID" ;  k$ C$ C2 I3 V9 {. l" Z
            savedQueryInput[0].values[0] = userId;" j& v! ?# A# j1 I& I$ j
            savedQueryInput[0].maxNumToReturn = 25;: A# V" }) T0 |% r7 W+ z) i2 r
            ; N: [! p% {3 f! L' B% h) j
            SavedQueriesResponse savedQueryResult = queryService.executeSavedQueries(savedQueryInput);6 p3 ~: n' f& a: v6 Z. F' K
            QueryResults found = savedQueryResult.arrayOfResults[0];; F0 V, p7 \/ Q+ q2 r# q9 E5 G
/ Y: C2 m7 I, c- c# B; f
            int length = found.objectUIDS.length;, l2 b; V& t$ J+ e/ x% a& b
            
) y5 P* ]) U) g/ o            String[] uids = new String[length];
/ s1 m0 ]( t* y4 w/ r            for( int ii = 0; ii < length; ii++)
3 S( c# U9 O% i- m0 h' g- N            {
( p  Y' H6 t# I  c- Z4 E0 M                uids[ii]= found.objectUIDS[ii];- E# i/ V" Z4 K$ ?
            }
7 v! v' _, P: k  E1 S' Z8 H4 \            ServiceData sd = dmService.loadObjects(uids);
0 f4 r- A! ~& P3 U# S/ }6 m0 t. q* z4 C            ModelObject[] foundObjs = new ModelObject[ sd.sizeOfPlainObjects()];
7 `, i) M" x5 Y+ f, ]: `$ c4 K            for( int k =0; k< sd.sizeOfPlainObjects(); k++)& g0 S+ X3 O( t% S/ `8 B0 m
            {+ z9 T" w* l* q$ s. J, E, C  p& z# v% B
                foundObjs[k] = sd.getPlainObject(k);5 t+ }; ~% G- u( }
            }
- x8 i! A; c8 q7 r* f: Q- L            user = (User) foundObjs[0];   ' L1 [5 V6 o% t3 u# y; @6 C
        }3 `+ x, K, A+ @# t, ?' {1 g
        catch (Exception e)
* P+ F  V% U( s1 c1 t2 M1 v        {3 U5 d9 q/ ^) c9 P1 |9 d7 u
            System.out.println("ExecuteSavedQuery service request failed.");! C( }- i9 D1 I; B% m7 F2 y, N- V0 O, W3 E
            System.out.println(e.getMessage());6 C4 Q. ~, L1 \; A1 K
        }            6 m% k7 a1 c: F: v1 b9 I
        return user;
% u8 d' d& T  l% |. L# R, @    }
  C, p  E7 c  U# }( P3 J[/mw_shl_code], i3 d  P& q  U/ H4 V
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.doteam.tech
回复

使用道具 举报

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

本版积分规则

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