PLM之家PLMHome-国产软件践行者

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

[复制链接]

2018-10-9 01:46:46 3252 0

admin 发表于 2018-10-9 01:46:46 |阅读模式

admin 楼主

2018-10-9 01:46:46

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

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

x

- v1 P1 i  |( s' B1 I# |4 @Teamenter SOA开发源码:通过user ID 找 User
6 W/ O9 k& F/ m# y2 Y+ y' z# a. @# C0 \4 `7 U+ H
[mw_shl_code=applescript,true]import com.Teamcenter.services.strong.query.SavedQueryService;* _* i7 N1 o6 k% D
import com.teamcenter.services.strong.query._2006_03.SavedQuery.GetSavedQueriesResponse;
3 f- y# W& z7 a0 ?9 ~8 Zimport com.teamcenter.services.strong.query._2007_09.SavedQuery.SavedQueriesResponse;( ]1 s/ Z9 V/ A1 e1 T
import com.teamcenter.services.strong.query._2008_06.SavedQuery.QueryInput;' G7 ^+ d! B. i- v" J5 C0 D& i
import com.teamcenter.services.strong.query._2007_09.SavedQuery.QueryResults;' S  l- ]' C6 z! K, v( O
import com.teamcenter.services.strong.core.DataManagementService;) _  T4 l1 u0 Q8 j
import com.teamcenter.soa.client.model.ModelObject;
( |) L) K4 Q: Timport com.teamcenter.soa.client.model.ServiceData;
# u4 Z) i% E* i% }1 G: ^import com.teamcenter.soa.client.model.strong.ImanQuery;) ~) b# t4 b7 M, T! j* K# b0 A
/ r' j& w$ q+ y5 }$ T
import com.teamcenter.soa.client.model.strong.User;
) i! e& |$ s$ W9 w
* t1 ^& V9 n( V5 G. F' Y
7 ^& R- }1 q( G; K) W4 A    public User findUser(String userId)
7 Y& Q/ J, U- a! W, x    {
; k* F; G* c8 _2 P        ImanQuery query = null;0 S0 X& X7 K5 g2 D, R
        User user = null;% L% e7 Q+ s8 F9 \6 f
        
1 q6 w9 U( ~; j) x
' T- Z; K; V& P+ e- H. G6 p# r        SavedQueryService queryService = SavedQueryService.getService(AppXSession.geTConnection());
# q. W+ W1 S3 y9 b9 k5 p, t& t; t9 Q5 \7 S        DataManagementService dmService= DataManagementService.getService(AppXSession.getConnection());% a; o1 @! T, u6 p( @" b/ G4 q6 E
        & Z3 k( h. W4 G
        try9 _4 D) J. s, M! P* h
        {
, @9 B/ X4 t5 t/ o5 S0 H0 ]- I* d            GetSavedQueriesResponse savedQueries = queryService.getSavedQueries();' p! @' n$ {0 D& H) q
            if (savedQueries.queries.length == 0); v3 |4 M5 c3 ?3 B
            {- R/ W' [; G6 r4 H7 Z7 ]* M
                System.out.println("There are no saved queries in the system.");
3 d7 M: V& R& p0 B) d                return user;) G5 j' ~& u& i8 P1 P9 b
            }
; k0 V# h! V% l  [/ A$ D9 H            + U0 q6 g, f* t* U. Z  u
            for (int i = 0; i < savedQueries.queries.length; i++)( j* z, z0 B9 I
            {
& G' {' q# y/ L- Q' ]& w6 b
! ?$ F* i: {. C2 o  `3 m2 l                if (savedQueries.queries.name.equals("__WEB_find_user")), j7 r; L* t: C( ^
                {! \9 \$ S! M9 q0 N/ u$ k
                    query = savedQueries.queries.query;
" U; l1 ]+ C1 s  I) F% S2 b# e                    break;4 s8 X  S7 K& H1 j# c
                }
* q- F6 W$ E# T# l            }
1 l1 i) C# r7 }5 H        }6 Z$ \5 _/ s# N. j, p) f+ Q$ U& f$ F* K
        catch (ServiceException e), T; |7 U# M/ O' p7 i
        {
! j. G' ]% _. Q* _2 V, U* Y3 R; Y) @            System.out.println("GetSavedQueries service request failed.");+ J( e) B) z1 u3 d$ c1 w$ H  y
            System.out.println(e.getMessage());! ]3 J) x3 S8 S* j
            return user;8 x0 Y* s; a9 o% k
        }, m3 T2 n2 ], V" @* r/ l  x( ?
! O3 A0 K& ]0 W6 Y, F; s
        if (query == null)9 ^# s+ x% `. O: T4 u
        {
4 y* h3 w( k: ~: b4 b            System.out.println("There is not an '__WEB_find_user' query.");- g9 r  z( Z, ?) z& Y& F
            return user;
' c. R  v. }, B& B& `        }" F5 W( A5 [. [- Z% I4 b3 }' b( V
9 b# i4 k" u  e# |7 m2 B" L- `
        try( k: R, S- k) N& c7 }' M6 s
        {
, m3 f- `0 T  s1 @* l$ [) z; R$ \            QueryInput savedQueryInput[] = new QueryInput[1];( U6 V/ H. `" L5 D# ^" k
            savedQueryInput[0] = new QueryInput();* @5 I! e7 B5 w1 W: _2 {
            savedQueryInput[0].query = query;* d* H, k  d- S! A- }4 q
            savedQueryInput[0].entries = new String[1];% h3 v% P4 o/ F2 w6 |! N
            savedQueryInput[0].values = new String[1];- l- `) P* Z& V$ x1 a5 ^. I
            savedQueryInput[0].entries[0] = "User ID" ;
1 m  s! i+ [* o6 W. T8 R9 ?5 R            savedQueryInput[0].values[0] = userId;
( K! d: {" e; u! I3 d8 ?3 N            savedQueryInput[0].maxNumToReturn = 25;
8 M( `% X2 ], n3 O; A            7 o5 T" G- r/ n$ T
            SavedQueriesResponse savedQueryResult = queryService.executeSavedQueries(savedQueryInput);
9 F0 R& E+ L+ p& l7 Y6 [; k/ C            QueryResults found = savedQueryResult.arrayOfResults[0];& m  O& x3 y7 J' A2 \
' _  H/ p0 ~3 X2 l% c
            int length = found.objectUIDS.length;; _; o9 A4 L( u* l8 L4 R$ v
            % n0 q7 K4 i, i. o
            String[] uids = new String[length];
& g% m0 }0 ^  v/ l2 d            for( int ii = 0; ii < length; ii++)" y& }2 j0 N: D. n
            {
9 Y2 G+ x6 [/ V. K6 }                uids[ii]= found.objectUIDS[ii];
0 x5 D9 \% A- ?" R" }9 _; s5 Y) E            }; n6 @/ ]3 K# X- @! Z" l
            ServiceData sd = dmService.loadObjects(uids);
  _5 _% v2 q+ Q3 I) w            ModelObject[] foundObjs = new ModelObject[ sd.sizeOfPlainObjects()];7 t' D) C' B; ]1 U% [# l; F: ^
            for( int k =0; k< sd.sizeOfPlainObjects(); k++)
! f. c& f8 k& J& S            {6 [* W  i$ M: i$ b
                foundObjs[k] = sd.getPlainObject(k);* h: G) q4 b1 ]8 C; `2 Y
            }
% \, }. l5 ?- P; x            user = (User) foundObjs[0];   # w# \3 D3 C9 n6 X2 t6 l1 T, R
        }
8 Y7 u% ^- G- d# ~' J. w9 M        catch (Exception e)/ s5 z2 {# ~- c% g$ g, N
        {4 ], F- j& G* J0 E! X& z
            System.out.println("ExecuteSavedQuery service request failed.");
7 V% G' X- }9 ^; \" Y. Q% n7 A* T2 T            System.out.println(e.getMessage());. i$ p6 k5 t5 y' Q/ y* ]
        }            
4 b5 L" _" v3 j( J        return user;# `- K% A" k$ e# b, T' F# N, g
    }4 [4 t6 M7 B% P+ c7 M( z
[/mw_shl_code]. |; t$ G( n* c7 t3 ~* M6 R
上海点团信息科技有限公司,承接UG NX,CATIA,CREO,Solidworks 等CAx软件,Teamcenter,3D Experience等PLM软件,工业4.0数字化软件的实施\二次开发\培训相关业务,详情QQ 939801026 Tel 18301858168 网址 doTeam.tech
回复

使用道具 举报

发表回复

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

返回列表 本版积分规则

  • 发布新帖

  • 在线客服

  • 微信

  • 客户端

  • 返回顶部

  • x
    温馨提示

    本网站(plmhome.com)为PLM之家工业软件学习官网站

    展示的视频材料全部免费,需要高清和特殊技术支持请联系 QQ: 939801026

    PLM之家NX CAM二次开发专题模块培训报名开始啦

    我知道了