PLM之家PLMHome-工业软件与AI结合践行者

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

[复制链接]

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

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

admin 楼主

2018-10-9 01:46:46

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

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

x

& s5 C# \2 D1 M0 uTeamenter SOA开发源码:通过user ID 找 User& w, v+ c- k+ B2 B
2 |! D' l$ o/ |7 w% j) E
[mw_shl_code=applescript,true]import com.Teamcenter.services.strong.query.SavedQueryService;
6 D# d. m! Q1 eimport com.teamcenter.services.strong.query._2006_03.SavedQuery.GetSavedQueriesResponse;
) V! H5 J; M' T' Himport com.teamcenter.services.strong.query._2007_09.SavedQuery.SavedQueriesResponse;, W3 [! o4 G! z5 T7 Y2 ^% @6 i
import com.teamcenter.services.strong.query._2008_06.SavedQuery.QueryInput;3 B% [! l4 c) o" Q& u. G
import com.teamcenter.services.strong.query._2007_09.SavedQuery.QueryResults;
. o/ k8 Z, R, i/ ?; o& z. Bimport com.teamcenter.services.strong.core.DataManagementService;3 ?6 c$ t) p) x( ~
import com.teamcenter.soa.client.model.ModelObject;
! `1 m' `$ F$ Q1 ?import com.teamcenter.soa.client.model.ServiceData;5 x3 O0 a0 k; q; T0 \) |- Z
import com.teamcenter.soa.client.model.strong.ImanQuery;
! Z# {6 L: c: V' D7 }/ b- \, Q) |+ F; L9 S- V- {% D1 _% R! r
import com.teamcenter.soa.client.model.strong.User;1 e( g7 I& I% W8 S" I  f4 q
, H. [# _) F; l0 M% @% B# r4 Q
$ Q4 D, D) B0 A/ D
    public User findUser(String userId)
) {; I7 T. _; `6 A* |& ^    {
" x9 R+ q% V/ H7 l  i- M        ImanQuery query = null;
* k4 ]; l  C  Y6 |2 [4 |) Z1 b- l- N        User user = null;
- m5 I; S# C8 O  V3 c" k* b2 v        
5 s* z9 u/ Y" \+ h5 n. |9 z) H/ m2 _
        SavedQueryService queryService = SavedQueryService.getService(AppXSession.geTConnection());1 n, }# t$ u' h! m, I7 L
        DataManagementService dmService= DataManagementService.getService(AppXSession.getConnection());
! M7 L+ H& F6 P        
' w: \1 K6 T" H) M        try7 g2 V& w+ I- C
        {0 Q/ d' A' \7 j- H# G
            GetSavedQueriesResponse savedQueries = queryService.getSavedQueries();+ Z: E! Q- i9 N
            if (savedQueries.queries.length == 0)* x9 v; X* A1 M& u/ a4 \
            {8 ^- Q+ \2 s8 h
                System.out.println("There are no saved queries in the system.");
; T6 `9 Q- D1 u! d7 j/ C                return user;4 P- S6 d1 I, z) S& f, n, m: Q
            }
0 p1 R+ G6 l! y% b            
4 t  _! B% _7 c- o1 E( l2 x            for (int i = 0; i < savedQueries.queries.length; i++)  ?" q' k" Q) @6 H0 W
            {+ h  H  |, A3 h" R. Y

; F" z% Z/ M) Z) o" _9 ^8 k5 J                if (savedQueries.queries.name.equals("__WEB_find_user"))
  z9 P1 Q7 ~$ _8 a8 X                {! H$ H% k' {+ @# y# S5 A- P
                    query = savedQueries.queries.query;6 r# c2 r; d$ M
                    break;+ d  g9 I; `/ {
                }
! a9 U" @8 K  r4 a2 a            }
7 Y4 W9 U6 j2 T: z9 a( J. S- Y# ~        }
* [0 R" |3 a- D4 }( l6 \/ y        catch (ServiceException e)1 M, m- ?0 p7 M  G& F7 m) A
        {2 O/ I: s. M+ \3 F8 N) q% p5 q
            System.out.println("GetSavedQueries service request failed.");0 O& a6 m$ g% c2 O/ z
            System.out.println(e.getMessage());* M3 {# g1 j. ~6 q+ Z: c, I! [
            return user;6 i9 G' E# }9 o
        }
% v6 [5 G0 _5 X& \6 Z  i2 D/ _# z7 v  [* F$ [8 @- V3 X
        if (query == null)
$ ~8 J) j1 m: `0 a4 x3 c$ |        {
" W( y$ [) K' }, o9 H1 ?2 u( {            System.out.println("There is not an '__WEB_find_user' query.");
  d/ u/ |+ m& W2 S( F7 e8 o            return user;
- |5 A! Q) X2 g7 A0 [" `        }
" x' T0 `* p+ B# _& x( H# @* R- _( J. l7 S
        try
% P$ b2 c! T8 W' s        {9 L* I, E3 J& A- `6 s0 Q! A! u( i* n
            QueryInput savedQueryInput[] = new QueryInput[1];3 r, g. X# O2 `- x6 L# Q
            savedQueryInput[0] = new QueryInput();
9 [( i3 j, Z  V: {" l            savedQueryInput[0].query = query;! o1 B- }5 l6 \: v
            savedQueryInput[0].entries = new String[1];* G" J: M0 N: ]. X
            savedQueryInput[0].values = new String[1];
% B  |% Y+ t, I/ O" V- `            savedQueryInput[0].entries[0] = "User ID" ;5 V1 l$ q6 V0 x# e
            savedQueryInput[0].values[0] = userId;- n& J2 M8 ]4 R' I& r  e
            savedQueryInput[0].maxNumToReturn = 25;
; q, Z4 i/ @( r            
) i0 y% i' t  d6 v            SavedQueriesResponse savedQueryResult = queryService.executeSavedQueries(savedQueryInput);0 @9 @' P8 O! Y  _% ^0 M4 x' c
            QueryResults found = savedQueryResult.arrayOfResults[0];! }# O' a, m4 s' S3 O- I
6 i8 k% s  a0 `. s* D
            int length = found.objectUIDS.length;
  E/ b2 J# Y" n6 {0 y            $ |. t1 l) H& g8 D6 H. h
            String[] uids = new String[length];
5 Z3 ], J& y3 t5 g+ p& i3 q8 U            for( int ii = 0; ii < length; ii++)
6 k3 E( ?  o- N# I            {
) x  K0 N& `# i                uids[ii]= found.objectUIDS[ii];
- j5 I7 Q1 B+ v5 b, v            }! d# Z5 q& A3 R5 R5 X
            ServiceData sd = dmService.loadObjects(uids);
, B0 Y  M* F0 J, c) }            ModelObject[] foundObjs = new ModelObject[ sd.sizeOfPlainObjects()];
3 A6 l: j* ^4 S% J* h            for( int k =0; k< sd.sizeOfPlainObjects(); k++)
8 w4 C# |7 }: X' P            {8 U+ W; x1 Q( G: M  e4 v
                foundObjs[k] = sd.getPlainObject(k);+ W  {" w4 R5 d/ z
            }1 M4 a; p' ?2 n. {: A( {$ w
            user = (User) foundObjs[0];   
1 j4 t& D" t) ?( \' _9 _        }6 c0 U$ u% q2 n2 L" U
        catch (Exception e)6 k, O- M7 |; o  M" U2 Q8 Y
        {" ]& U" f" t& k8 i; a
            System.out.println("ExecuteSavedQuery service request failed.");
7 z4 [" a+ ~+ l0 H; c0 l+ J! |            System.out.println(e.getMessage());  G% U+ |  x* B7 X) v' h& c/ l/ M9 _
        }            
$ I0 r& d2 D/ ?' j: O9 Q: S& _4 C- ?3 {4 h        return user;
3 f, B3 A  I' k) d+ ]  D% y3 c    }
  r3 E/ C7 I/ P* C" K4 I[/mw_shl_code]
  I4 h7 S4 e9 a
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了