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

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

[复制链接]

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

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

admin 楼主

2018-10-9 01:46:46

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

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

x
7 W7 y5 G; s  L& ~: P7 {
Teamenter SOA开发源码:通过user ID 找 User! C0 c/ }$ S! J$ p9 }3 `$ R$ G' F

% r, x  b; _% q[mw_shl_code=applescript,true]import com.Teamcenter.services.strong.query.SavedQueryService;
/ x& |' |5 i/ {" d$ \import com.teamcenter.services.strong.query._2006_03.SavedQuery.GetSavedQueriesResponse;( j  z9 x, B( [/ `* ]9 l  S
import com.teamcenter.services.strong.query._2007_09.SavedQuery.SavedQueriesResponse;
4 v) j$ V; P, e2 T- _! aimport com.teamcenter.services.strong.query._2008_06.SavedQuery.QueryInput;
$ N9 c" x  N7 h  Bimport com.teamcenter.services.strong.query._2007_09.SavedQuery.QueryResults;: G( C- \7 E* [) `# L8 c& i
import com.teamcenter.services.strong.core.DataManagementService;
% q4 a. }! y/ Z% h8 |1 a5 b3 Timport com.teamcenter.soa.client.model.ModelObject;7 {/ k; d* k0 s4 G6 R; I  v
import com.teamcenter.soa.client.model.ServiceData;6 @! K" O7 G) h+ t
import com.teamcenter.soa.client.model.strong.ImanQuery;
, p* ]9 k4 e5 p$ U5 |/ c9 H; P: |
, E' L" }* u2 \1 G, d, R1 x6 Oimport com.teamcenter.soa.client.model.strong.User;
4 f3 A  W% I, H( s. B+ k% u3 h1 m1 c* \6 M' z2 N, D

! A2 S. a. x( w& s: r- p* \    public User findUser(String userId)
; O! J: Y2 l/ ?" K  p/ E6 |9 D    {1 q$ a) q8 ]( R- i3 P
        ImanQuery query = null;+ ~* I$ f2 M0 g: H
        User user = null;
& I" m% ]& Q) g% [        , n) C; ^7 U* u  w
0 ^+ n6 m; w, G0 e/ z+ y" s
        SavedQueryService queryService = SavedQueryService.getService(AppXSession.geTConnection());; f6 T7 C7 I) r# V& A9 u
        DataManagementService dmService= DataManagementService.getService(AppXSession.getConnection());) w7 v' G$ u; e. n" l- Y
        
2 x) q. ?6 L7 h" ?# R0 h        try' _2 Z) p; P* m! @3 W- o; ?
        {
# D6 Z( V  B1 Q& m% O. n  a; t+ z            GetSavedQueriesResponse savedQueries = queryService.getSavedQueries();
# q& a5 v& n0 C; `            if (savedQueries.queries.length == 0)
, _( Q+ x6 \0 Q8 T            {* M2 ~/ @. T4 y" H
                System.out.println("There are no saved queries in the system.");' I  v/ E& T0 k7 v% s$ S
                return user;
) a3 M3 b6 n5 C  f: a            }
/ `# U9 \% ~* X; \            
5 T& ?' Y2 Z5 q6 c            for (int i = 0; i < savedQueries.queries.length; i++)  [9 a# b1 h- j9 v+ B1 k/ q
            {
( ~+ J5 P  ?) T  a/ X
+ V* Y# }& F2 V1 _6 _                if (savedQueries.queries.name.equals("__WEB_find_user"))0 g+ O# b8 v$ f/ R7 C
                {( g1 s$ U5 V' |) e. u! |
                    query = savedQueries.queries.query;- j/ x+ I/ P+ u1 f* F8 x7 u
                    break;
3 ^% F- a; V7 v% g# ?1 c, S- m/ N                }
9 P/ a, p( l2 ]3 m            }
# D2 ?% g0 [, V; M: {3 e5 Q        }* o3 n, b. Y  ]. z/ A% s! n
        catch (ServiceException e)
. P9 q$ l( y# C+ j( c; n, m        {' T( d2 V( {5 B. x
            System.out.println("GetSavedQueries service request failed.");
+ J* V" X) n& X9 Y0 H& s8 f            System.out.println(e.getMessage());
. F/ w, b9 g+ V# Z/ W# L            return user;+ c% a1 S4 |+ T8 L
        }; \- O# I5 R! F6 l0 F; s# H" r+ A2 A' j- K
8 D! x4 h$ N2 x3 M% P. t
        if (query == null)
1 |! D7 b( [; f( R        {
3 z8 v' \/ c! ~  t# U3 \7 L            System.out.println("There is not an '__WEB_find_user' query.");+ t  W+ }4 s; A3 R- _5 _5 U
            return user;
! T- |$ v9 y8 x9 l: N        }' ?, B& s* e, Q/ Q( m  A. z% h

7 K" m: h! c' r  s! F+ o, K        try
2 {: b4 h; I3 e- _: F        {
( O/ z  f9 j; B. b/ b+ C            QueryInput savedQueryInput[] = new QueryInput[1];. N" n- B: b0 A* b9 s7 @
            savedQueryInput[0] = new QueryInput();
% D; \, f- X! u0 `. u; `            savedQueryInput[0].query = query;8 R7 U' s& i5 F: `$ g
            savedQueryInput[0].entries = new String[1];
, R+ Q: F/ _) Y3 q% v1 G9 a/ v            savedQueryInput[0].values = new String[1];) ]* R' _$ R# D3 K4 A) S
            savedQueryInput[0].entries[0] = "User ID" ;8 `! a0 P4 n5 w! h0 O% m' l0 [
            savedQueryInput[0].values[0] = userId;1 V2 w5 n" @2 h0 U3 ^- G7 h
            savedQueryInput[0].maxNumToReturn = 25;
3 h7 J! M% \. ?( a+ |9 k, y2 r            0 _9 @9 Q4 W3 ]4 s, I
            SavedQueriesResponse savedQueryResult = queryService.executeSavedQueries(savedQueryInput);
+ U% _) E4 U  a, \7 a* e9 W! f/ M            QueryResults found = savedQueryResult.arrayOfResults[0];
/ b% U' F, C) V' P! K1 s( y& m/ C! a9 X( c" s. X
            int length = found.objectUIDS.length;: ~" H" Q  T! W9 W, |
            
; T, X( N7 g9 k  T            String[] uids = new String[length];
! t+ K: \( r6 F: G& r/ v            for( int ii = 0; ii < length; ii++)
. E! u" c. _4 h5 {            {
. N* ^8 \' y6 J7 k: Y                uids[ii]= found.objectUIDS[ii];1 j" \% m; _* Z% A
            }! V2 s; V, H+ f6 P5 {* I
            ServiceData sd = dmService.loadObjects(uids);
2 r; O5 h- j; C7 @' V2 S' T9 J            ModelObject[] foundObjs = new ModelObject[ sd.sizeOfPlainObjects()];* O# I" O$ `+ b
            for( int k =0; k< sd.sizeOfPlainObjects(); k++)
, `- P) }  F1 U" F7 Y            {" e6 c9 m& m* a# V
                foundObjs[k] = sd.getPlainObject(k);  T: P7 C4 ]' V6 g, C, h& H
            }! _- a+ [8 p( J" h
            user = (User) foundObjs[0];   / o1 c/ M8 _6 J& w* p
        }" T) {' y, G. i: ^: ?& F% W) Z
        catch (Exception e)
! [" E- M; d. d0 K4 Q: c2 z# S        {/ @* F# ~0 b, y" H
            System.out.println("ExecuteSavedQuery service request failed.");
7 g1 a' g3 q$ D5 d            System.out.println(e.getMessage());" b$ {, U  c7 j& F) D# k" y
        }            
! _6 u- S9 k% U& M7 a# T/ q( O# D        return user;# {  X7 r2 T" _; _' B! ^5 z
    }
$ ~3 f/ q* r4 W. p4 I[/mw_shl_code]' n7 q* a6 e, q0 O
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了