查看: 3508|回复: 0

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

[复制链接]

4

主题

3

回帖

40

积分

管理员

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

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

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

×

/ M! c+ M3 C  D* ^/ YTeamenter SOA开发源码:通过user ID 找 User- M; _9 [2 t( Z
0 X+ i  B" H5 ?4 k+ B  l
[mw_shl_code=applescript,true]import com.Teamcenter.services.strong.query.SavedQueryService;; \; E: Q, H: K$ N* Z% d
import com.teamcenter.services.strong.query._2006_03.SavedQuery.GetSavedQueriesResponse;
$ S+ [+ D0 n' F1 W& T( s! zimport com.teamcenter.services.strong.query._2007_09.SavedQuery.SavedQueriesResponse;
; j  W" o( [  c: g; V* e) nimport com.teamcenter.services.strong.query._2008_06.SavedQuery.QueryInput;" E/ P  T) j- G) D
import com.teamcenter.services.strong.query._2007_09.SavedQuery.QueryResults;  `. S2 ~5 I; m: Y" U+ U. A) \7 G& E6 l
import com.teamcenter.services.strong.core.DataManagementService;
5 a- y+ B& m4 i, N4 g( ]" Yimport com.teamcenter.soa.client.model.ModelObject;
2 T! ]$ `' [3 b" {8 u& ^* U3 {import com.teamcenter.soa.client.model.ServiceData;5 |6 }3 _7 u, n) A6 X3 ]  V
import com.teamcenter.soa.client.model.strong.ImanQuery;
* M+ c3 v- S. @! H* D/ B% V( Y/ R2 b5 s2 t" n- c) d% M! z
import com.teamcenter.soa.client.model.strong.User;7 y# K+ N7 G4 [
# Y5 V/ t* D% s4 X

* u" s* b8 d. a( W  s* x    public User findUser(String userId)# g  y" x, M  s$ b" J- S8 A
    {
- }+ }% f( k# y! P  `        ImanQuery query = null;
' O- I/ V) e9 n3 p& i        User user = null;
! Z! p+ D+ s# R' p+ p( Y        
$ H5 H9 `6 d( }( X( B% C1 `
$ S! _# [5 x3 D0 L        SavedQueryService queryService = SavedQueryService.getService(AppXSession.geTConnection());
9 O) R, n3 ^) Z+ k9 }  Q        DataManagementService dmService= DataManagementService.getService(AppXSession.getConnection());
+ C' [1 @+ h5 ?+ G        
: i9 K& J$ S/ g1 n1 W0 Q1 b1 o        try
* x* q4 B" X* D/ N3 v  N3 C. t        {
+ V/ R/ X/ {9 F( j: X# p            GetSavedQueriesResponse savedQueries = queryService.getSavedQueries();
: J1 O6 c8 n7 D- B8 E            if (savedQueries.queries.length == 0)) K$ K/ o  q( s2 a# Q4 S
            {
+ d; l) k% ~3 f2 o                System.out.println("There are no saved queries in the system.");
# z& X6 P) s( j/ I0 O" C, b- H                return user;& J6 ?; F" q  l. y7 s
            }
  q( X9 r" a' M            . ~/ w- ^1 `. K6 I4 h* B
            for (int i = 0; i < savedQueries.queries.length; i++)
% A$ N; V9 q& p" H3 n" a2 v            {1 y6 u4 g6 L2 U- m
. d! d3 e: E% [8 P* s, V* C
                if (savedQueries.queries.name.equals("__WEB_find_user"))# K- @% T! J( G) Q, c$ ~* n2 A
                {
1 a6 }4 X1 o8 D1 |" M' }' n: ~                    query = savedQueries.queries.query;* g5 V3 f# V2 I( C6 @
                    break;
7 B4 c: h0 p" ~) y- J                }. m; \9 f# K7 y3 S4 X- y
            }
8 ^0 D0 C; c( N' C5 S        }
' H: w2 X2 g! q" a# n% }" A& L        catch (ServiceException e)2 i# n- k9 r; v
        {
2 p; j3 A4 t! B0 p1 x2 L6 _" M% ?            System.out.println("GetSavedQueries service request failed.");
& A8 ~9 L6 `2 n. \& H% ]            System.out.println(e.getMessage());% c. X0 f& w# u9 E4 k) n# p
            return user;
( a0 g1 n# D1 L7 A        }8 l4 \  t' N; ~+ `7 L

! T; y# p7 Y/ e5 |9 l5 k        if (query == null)4 n; i% W- x" _+ A/ ^
        {
  x# W- Z( [& s$ V- y            System.out.println("There is not an '__WEB_find_user' query.");5 ?' D  r$ n& y4 s4 q
            return user;( j) b) D& w& S- C
        }
; w# X1 b& P7 t% v9 Q! O; v( i. r
        try$ w" G- X  z& r3 U+ H3 i
        {
0 C" t2 S2 t- S  A2 f1 p* w1 O: E5 `            QueryInput savedQueryInput[] = new QueryInput[1];
* x4 q9 G" Y, n9 y            savedQueryInput[0] = new QueryInput();. s& j7 W% X/ w( Q
            savedQueryInput[0].query = query;
9 p  Y, b) d& n( O& c6 \8 x4 P            savedQueryInput[0].entries = new String[1];; ~4 l4 x0 j9 n0 I9 ]
            savedQueryInput[0].values = new String[1];
' R: t1 [' v/ X- q( F8 b            savedQueryInput[0].entries[0] = "User ID" ;3 A. g, f' n( G$ w1 t7 k
            savedQueryInput[0].values[0] = userId;& q; Z2 a* ]+ p8 G+ f% O
            savedQueryInput[0].maxNumToReturn = 25;
/ D( Y, H7 }/ S, I4 G  u$ @            
: k  x8 P* T1 ~- h$ \5 c            SavedQueriesResponse savedQueryResult = queryService.executeSavedQueries(savedQueryInput);
+ j2 d! k4 o5 V$ P- \            QueryResults found = savedQueryResult.arrayOfResults[0];1 `4 H4 c* r5 f0 C
8 @  @. J8 S- t; d6 {8 E7 ]
            int length = found.objectUIDS.length;! c/ I' A3 h" |7 Q+ p3 g
            
2 L) ~% @& @2 ]3 |            String[] uids = new String[length];' x1 h! d, S8 h$ z9 {6 [" v
            for( int ii = 0; ii < length; ii++)7 l; |; g  y# C# G! O( G
            {/ _1 J4 {6 `* q. S& l5 E: Q0 p: W0 |
                uids[ii]= found.objectUIDS[ii];( D2 b0 L3 a% I" e0 @7 O1 O/ ?
            }
9 d6 `. @) ]2 O8 \( x+ ^            ServiceData sd = dmService.loadObjects(uids);; V- ^& H9 B4 b- k
            ModelObject[] foundObjs = new ModelObject[ sd.sizeOfPlainObjects()];
; C0 d# w5 B, A1 G$ U% t! O            for( int k =0; k< sd.sizeOfPlainObjects(); k++)
* `; N% R8 r4 D2 r  y            {
! B( D& k0 C  ^. L# _) i9 ]* p                foundObjs[k] = sd.getPlainObject(k);
! N! J; K  I) _1 R% K. @            }0 P! S1 {! `7 @
            user = (User) foundObjs[0];   : \! Z1 B0 s- E; |' l: X
        }2 N: \7 t+ `5 ]& m" }0 m
        catch (Exception e)
4 E0 n! x3 }7 p        {: R# i) n$ g" S2 c8 G1 L
            System.out.println("ExecuteSavedQuery service request failed.");8 g+ u2 |% [+ ]2 q+ w+ r% ~9 l9 y
            System.out.println(e.getMessage());
6 Q2 X! z  u, f- r# L/ I, b. f        }            
7 w8 l, {  n6 I: x) V& w2 N* ?2 E        return user;& _( J# y4 L* x; p
    }9 _: ~9 c* F; W# \  e3 v
[/mw_shl_code]) t; i1 _7 I* a, o# \9 Y- y% Y% e
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 www.doteam.tech
回复

使用道具 举报

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

本版积分规则

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