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

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

[复制链接]

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

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

admin 楼主

2018-10-9 01:46:46

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

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

x
$ C  K9 Z; P5 q& ?( h5 S
Teamenter SOA开发源码:通过user ID 找 User
( Z5 d; G7 F# @( q' ]+ ]! x/ p; p5 j: I$ S
[mw_shl_code=applescript,true]import com.Teamcenter.services.strong.query.SavedQueryService;" C& f2 @$ q' g' \5 F7 c! b
import com.teamcenter.services.strong.query._2006_03.SavedQuery.GetSavedQueriesResponse;
+ g& s$ q; A8 i3 c- s4 g7 B% gimport com.teamcenter.services.strong.query._2007_09.SavedQuery.SavedQueriesResponse;  s! \+ A+ |. U# _7 v
import com.teamcenter.services.strong.query._2008_06.SavedQuery.QueryInput;
, z2 e# M- e) J% n7 ]import com.teamcenter.services.strong.query._2007_09.SavedQuery.QueryResults;3 Z) E3 S0 z. Y
import com.teamcenter.services.strong.core.DataManagementService;
! d. V$ w8 D  `# F3 U. t- @import com.teamcenter.soa.client.model.ModelObject;& K+ B3 r& s5 E' ^2 c" k
import com.teamcenter.soa.client.model.ServiceData;7 C! ^6 Q4 e9 f7 J0 Z
import com.teamcenter.soa.client.model.strong.ImanQuery;' `  }# {$ h! o" p& Z$ x

2 s& c$ r5 u. N* rimport com.teamcenter.soa.client.model.strong.User;
% L& G; F: r' J! ?/ k% I
9 @& L- G# k, b) x. b2 [
& b8 p! C# k0 |1 K' A    public User findUser(String userId)/ N6 e* p9 {# x) H5 ^' f
    {" o6 N/ k  a& ^+ T; }
        ImanQuery query = null;
# i% T4 V- h: t& A& K        User user = null;
2 x# X/ Q9 B; y$ n3 P        5 i0 A0 F6 ^( b% r4 B+ h6 \

% n; s$ g# q6 M0 a( b6 ]0 E4 i        SavedQueryService queryService = SavedQueryService.getService(AppXSession.geTConnection());! {1 h$ K0 u+ Q- b9 e: C, Q% w
        DataManagementService dmService= DataManagementService.getService(AppXSession.getConnection());- F$ m5 @. K" w  h
        6 }0 S% Y4 R5 u/ ^5 ]2 H
        try! }( l; t% B: l" O; y. b
        {9 g& {8 f7 d/ ~
            GetSavedQueriesResponse savedQueries = queryService.getSavedQueries();" x2 o; O" i( a+ h" d3 z$ T
            if (savedQueries.queries.length == 0)
' Z& C. M2 j' A2 {, f. {! E            {) e1 V, S; r9 V6 w) E( G! A
                System.out.println("There are no saved queries in the system.");' X- @/ V, d5 O/ V
                return user;
2 f, W9 A* M( t# v3 l8 G; a            }2 Q) N: K; P- n( G0 {
            
, }/ S* f8 k/ Y0 L& X' A            for (int i = 0; i < savedQueries.queries.length; i++)
" h* e8 ~% m" n6 f' s            {) y& E/ z" f, ~' Q& U( V
% t& i: h7 T5 t" c" n0 W
                if (savedQueries.queries.name.equals("__WEB_find_user"))
7 r3 {! ?; l6 z2 L3 k& u" I                {5 y" j$ s& ]8 U# T+ |
                    query = savedQueries.queries.query;  c4 b4 g) H! b* I
                    break;
% r7 ^; q: g1 O2 K                }
1 d8 @8 S  N' A5 I            }
# D$ k5 m4 l: ?& r- w% B7 g        }
0 B; t' d8 b9 o        catch (ServiceException e)
9 ^/ n, [$ @! e* S4 ^        {
) s# J. o7 z" O9 t            System.out.println("GetSavedQueries service request failed.");, ^- ~1 i1 U9 a% m9 V8 x+ p6 K- W
            System.out.println(e.getMessage());4 G$ C. g/ P4 M8 K% t. ?
            return user;, ^+ @$ ~9 J* h3 R3 g- R
        }# s7 [/ Z5 e7 |% a3 {3 ^
8 h' e" `3 C) ]
        if (query == null)
! A; y6 m7 H! a# K1 A! V8 B        {
8 |7 k) o3 f6 i7 _            System.out.println("There is not an '__WEB_find_user' query.");
' K( E& R; L) ~7 c# l# l$ J/ M( W; y            return user;3 U" x6 W: M1 b: b
        }
9 Q* C9 Q3 r; w
( V% C3 ~; u2 \, V2 `+ \1 x' v        try
3 J% e$ o4 r: G/ [4 H( G7 |        {2 X; N; i" [" d- b
            QueryInput savedQueryInput[] = new QueryInput[1];$ a1 P2 p* N( d2 f' p
            savedQueryInput[0] = new QueryInput();3 _$ c: `0 [& O. U! H0 I& U, ~
            savedQueryInput[0].query = query;! E. i; u) L, y
            savedQueryInput[0].entries = new String[1];7 m; E# R; e8 Z* @( z, N
            savedQueryInput[0].values = new String[1];
; [: ^5 z! h3 d7 x$ h- }( w            savedQueryInput[0].entries[0] = "User ID" ;- S' p' F7 x' ?1 h4 e+ A/ ]! e
            savedQueryInput[0].values[0] = userId;
  t: K& f/ Y9 |* i, Q' v( Q  ~$ |            savedQueryInput[0].maxNumToReturn = 25;
% P* ^' a* G: }; Y. W' v3 [8 u* F            
, x  Y0 N6 ]9 I  m2 h9 ]6 f            SavedQueriesResponse savedQueryResult = queryService.executeSavedQueries(savedQueryInput);- i% U" D* T6 s' m! {
            QueryResults found = savedQueryResult.arrayOfResults[0];9 Y1 @0 ?; [$ s" `' O. m
; l! P( ^" \- }; K8 X
            int length = found.objectUIDS.length;* @0 m. r6 y' z( M4 G% l
            2 a+ b7 n" K; ?6 D3 }# P% p8 I. T
            String[] uids = new String[length];( r3 B& I, c/ V& ?7 n9 t  S, M5 T
            for( int ii = 0; ii < length; ii++)# h4 `7 y- o; s5 y
            {
* S4 Q) b* U; B- S                uids[ii]= found.objectUIDS[ii];
- S5 e* t0 m0 t            }# w" I9 c9 k' o3 ]1 c! ?
            ServiceData sd = dmService.loadObjects(uids);
- _0 l5 q* J6 I' k$ {            ModelObject[] foundObjs = new ModelObject[ sd.sizeOfPlainObjects()];
+ H' Q0 P5 W/ ?% X- g            for( int k =0; k< sd.sizeOfPlainObjects(); k++)
5 _% Q; w+ H3 [+ D7 \& A: g9 U            {
5 d/ H$ A4 u6 b" e                foundObjs[k] = sd.getPlainObject(k);
6 }7 e4 D- Y4 Y, w6 f            }/ n5 a- B# E3 r  f# E, ?  R
            user = (User) foundObjs[0];   
3 Q" ]& \6 T9 m9 B% l( b+ B        }
5 |( N5 r1 z/ i4 v& N) F  x        catch (Exception e)4 k* r, N9 `+ b' L. [
        {
/ e$ z: l1 b7 `: K, u. F: S7 k' u            System.out.println("ExecuteSavedQuery service request failed.");8 t% E, X. d; c" z; k
            System.out.println(e.getMessage());
7 b  C2 R' I" D' {5 s  h        }            
0 t' B3 U4 @. a: R        return user;& H' G' B0 ^' F) `
    }
$ \6 Y, [8 u. [; U  u[/mw_shl_code]2 o7 H" g' }, m1 b; C
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了