PLM之家PLMHome-工业软件践行者

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

[复制链接]

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

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

admin 楼主

2018-10-9 01:46:46

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

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

x

0 O" j* z6 M* ?& y$ d8 K, I6 C  B/ MTeamenter SOA开发源码:通过user ID 找 User! ]7 `! V/ m4 I. Y

1 n- d& Z! ?0 {9 p+ h$ @$ y5 L[mw_shl_code=applescript,true]import com.Teamcenter.services.strong.query.SavedQueryService;) K- I- c$ C) w
import com.teamcenter.services.strong.query._2006_03.SavedQuery.GetSavedQueriesResponse;1 Z* j' \7 L( E: R) z9 `% @2 O& P
import com.teamcenter.services.strong.query._2007_09.SavedQuery.SavedQueriesResponse;
! E3 B. r+ I1 X9 bimport com.teamcenter.services.strong.query._2008_06.SavedQuery.QueryInput;
- g1 A" F: ~3 v3 aimport com.teamcenter.services.strong.query._2007_09.SavedQuery.QueryResults;, P5 v  N. Q, {8 \/ C, \2 _- c/ L0 _# X
import com.teamcenter.services.strong.core.DataManagementService;
5 g" A, d3 k0 ^import com.teamcenter.soa.client.model.ModelObject;! \: v$ a, j2 Z* r" Q$ U1 A# [$ j
import com.teamcenter.soa.client.model.ServiceData;3 J( W' u* ]% j8 b$ d. Z. v5 i: H
import com.teamcenter.soa.client.model.strong.ImanQuery;9 g, Z6 S# R7 n; u# v2 w  g
: O: z& z2 a, S" W$ @2 V) C& u
import com.teamcenter.soa.client.model.strong.User;
4 C: _" [/ v  j6 x6 c9 ]9 r
; t9 g5 \8 c& U" v3 R. N% n/ _5 Z4 z5 ?! L9 j
    public User findUser(String userId)$ Z3 Y& F8 S* c( S
    {; L1 x1 T2 J& B
        ImanQuery query = null;
3 `! r4 F2 u+ t/ S% _        User user = null;
" w. q2 p; Y  N) A        
1 d, [1 Y1 f( e8 j) ^$ }: l" W' j
( X& ]! s2 }: k        SavedQueryService queryService = SavedQueryService.getService(AppXSession.geTConnection());
' p- u" d+ Y$ Y* t. B        DataManagementService dmService= DataManagementService.getService(AppXSession.getConnection());2 u" q% e& u5 b- @+ j4 F# n4 o8 d$ ]
        1 I) ]8 K( ~2 v4 @& q  F
        try
5 |% w: S' a. D; E- X5 d' |, M& T        {
: P6 u9 B% b& c! _% Y5 I            GetSavedQueriesResponse savedQueries = queryService.getSavedQueries();
4 Z1 b! C* l# H9 M) V            if (savedQueries.queries.length == 0)
5 W3 k8 d6 E5 }/ |6 K            {
* q8 M  c* p  ?1 f2 C- z2 E" x  ~                System.out.println("There are no saved queries in the system.");
& s/ |1 J2 r$ @. O& H- {  X                return user;) N+ K. C1 S  C5 c0 u6 i
            }4 e$ q! B- _  o  s1 E  t
            1 @0 u5 |& L7 K9 ~! O' J2 S+ h
            for (int i = 0; i < savedQueries.queries.length; i++)
! t: B$ g, D& g+ |: a/ F6 a0 T            {$ x- X" N/ C- _5 k* w! I

) B7 [' a  k0 Z# q( b4 R$ Q                if (savedQueries.queries.name.equals("__WEB_find_user"))
7 s/ V! U' _0 m4 U- Y                {3 o2 x* O. U$ C  A" {
                    query = savedQueries.queries.query;
- Z& d: M' Z6 [                    break;1 o* V- i3 a) W; z
                }! D9 o, S% z: C$ W& x# [; ?0 ]- a
            }
$ q$ ?$ p! d( I; j& `9 N3 ]3 x        }  ~0 T% }" V: a" J8 Z! T
        catch (ServiceException e)& b+ z% c3 z$ k# L& h: i
        {
6 N5 X% j7 Z6 b  S! s; B$ Q# V            System.out.println("GetSavedQueries service request failed.");
3 Y& ~! j, |( B/ h+ Y7 t9 \            System.out.println(e.getMessage());
9 ?% \/ X( d8 R, W1 a% P. I$ V2 o            return user;
  c. R/ Q/ b  a        }
5 Q  G7 _  |# m* |; Q1 R! L7 h9 R4 l; M) F& M' b
        if (query == null)
4 M7 \4 _7 L, @2 S" J        {
. ~. g4 [$ f1 E! r' n            System.out.println("There is not an '__WEB_find_user' query.");
9 f" o$ T! P; |+ t+ x! Z- A9 @            return user;+ D# Q( H7 z3 B6 x& \9 N, o
        }
' t5 d8 L0 v% S5 R3 s' t) m  h! s/ y
        try+ Z& a$ o( x' f# m8 r- j6 W5 M
        {" W0 I3 e) j# S+ L- i7 V. G
            QueryInput savedQueryInput[] = new QueryInput[1];
6 E- R& N" S1 `7 Z            savedQueryInput[0] = new QueryInput();
: P8 b- \: D8 j9 z' N" e5 z            savedQueryInput[0].query = query;- r3 |0 ^$ }7 y  w) P- H# [  v
            savedQueryInput[0].entries = new String[1];
1 `8 M  J: \* r$ w0 a            savedQueryInput[0].values = new String[1];1 s, V( A3 T9 x
            savedQueryInput[0].entries[0] = "User ID" ;+ z+ }4 n/ R" [+ r6 I, L3 o
            savedQueryInput[0].values[0] = userId;5 P. R$ q( g" `$ A- A0 z9 \& G" n( F7 C
            savedQueryInput[0].maxNumToReturn = 25;! H: {( Z9 G' `6 r* u
            
* \# P& A: t* H' c  W; W6 t            SavedQueriesResponse savedQueryResult = queryService.executeSavedQueries(savedQueryInput);
- i" R8 {1 A$ O+ ?            QueryResults found = savedQueryResult.arrayOfResults[0];3 e/ w! j0 J: y2 }: ~5 U. a

( t5 O) h# m/ h9 M% f            int length = found.objectUIDS.length;
: j( A& e" A2 K8 B6 w# \            
5 X! O  L( x/ Z$ ^/ w* W* N7 q2 c# J3 [            String[] uids = new String[length];
' D# M' L7 Y7 ~/ A) N8 ?6 x            for( int ii = 0; ii < length; ii++)5 d3 v9 z9 Y& z9 p  P8 r4 O1 c
            {3 ^; z) J. f2 l  R8 d5 j7 g5 V& f
                uids[ii]= found.objectUIDS[ii];- J, u% D, ~3 o/ K7 ?
            }  n% B) ]# }! O
            ServiceData sd = dmService.loadObjects(uids);
: k- L# B5 y  V8 o            ModelObject[] foundObjs = new ModelObject[ sd.sizeOfPlainObjects()];
1 X& B; E% @# I& W0 y            for( int k =0; k< sd.sizeOfPlainObjects(); k++)
9 G& r0 Q0 w0 u- |, Q. l* i! _6 X            {
' k( U% M: c' ^; V2 [                foundObjs[k] = sd.getPlainObject(k);
) Y1 O2 d& S1 k( @. h* z            }9 ~$ \7 X% l, k/ N
            user = (User) foundObjs[0];   
) |% T5 h8 ]* I6 R' z        }
; m; n/ U4 c" \  z" r0 @& m6 O. N1 x        catch (Exception e)9 I, l/ T7 b- L! L- s* P
        {3 {! x% O/ f) u: m9 X# `8 M
            System.out.println("ExecuteSavedQuery service request failed.");
; j6 ]: y: G# o2 N8 ^            System.out.println(e.getMessage());
1 M: G8 ~/ h/ }        }            
# M. ~. }1 @+ ]4 K' a        return user;8 N! V$ A# ]& m- p5 G/ A
    }+ K6 W$ ]' w( d
[/mw_shl_code]- E9 r* k) M, @0 g' D4 f
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了