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

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

[复制链接]

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

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

admin 楼主

2018-10-9 01:46:46

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

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

x
: z8 o6 @' _2 x/ f, n
Teamenter SOA开发源码:通过user ID 找 User$ R& D; i0 s& ~  Y4 K" T

. O' f+ i+ V; X8 F8 y[mw_shl_code=applescript,true]import com.Teamcenter.services.strong.query.SavedQueryService;6 R% |; m1 l. ]% M8 x; I, }7 ]( a- q
import com.teamcenter.services.strong.query._2006_03.SavedQuery.GetSavedQueriesResponse;+ q5 K- ]1 h7 M- W. O
import com.teamcenter.services.strong.query._2007_09.SavedQuery.SavedQueriesResponse;
  |" f- X" H# ]; M; y( B9 ximport com.teamcenter.services.strong.query._2008_06.SavedQuery.QueryInput;
1 ~0 l9 L) s! @1 X. Vimport com.teamcenter.services.strong.query._2007_09.SavedQuery.QueryResults;
* b5 Y" h# K2 S$ n4 a: Q/ P. ~import com.teamcenter.services.strong.core.DataManagementService;
; V7 j# z. X* M9 t* i: ?7 ?import com.teamcenter.soa.client.model.ModelObject;
% [- K5 D1 ]4 r# r, a  r' b; j) z& J( fimport com.teamcenter.soa.client.model.ServiceData;
6 P! V7 e5 t6 C+ y; b) H# p; cimport com.teamcenter.soa.client.model.strong.ImanQuery;
, \. Q4 I8 A) _! G: N; M* D; x7 p; e+ N, [- g! y. n- p" b9 g
import com.teamcenter.soa.client.model.strong.User;
2 l% L" T) z  Y1 S+ U+ r( t" y2 y* x6 D
% T5 z) \9 l& u: P1 E6 A5 @
    public User findUser(String userId)
: p8 p3 M. B6 u8 w8 J    {
, _7 S6 J! [% x  w/ ~        ImanQuery query = null;
8 `* q1 O. Y+ J  ?/ y6 F        User user = null;2 i. v# B2 s/ \- x9 _* m" ^
        
* b( T! Y4 h. S2 d0 O; \
3 T- G7 Y( s8 L        SavedQueryService queryService = SavedQueryService.getService(AppXSession.geTConnection());+ u# l  N! `) r1 O
        DataManagementService dmService= DataManagementService.getService(AppXSession.getConnection());
- H: i- L+ L% w& j* d  {" B0 C        : s8 o! Z/ T3 a  m' {
        try
. D/ O) `2 |( X% t6 k: P        {
, U$ ~+ f' I  d. ~' |9 D            GetSavedQueriesResponse savedQueries = queryService.getSavedQueries();. y+ M. s7 s/ ^$ y3 i' Z# ~: X6 c
            if (savedQueries.queries.length == 0)+ o9 |( ?9 u' y/ L
            {
/ U2 H- O! Y% J. \$ a/ w                System.out.println("There are no saved queries in the system.");
" O& G3 F6 W  V# a3 [2 `+ v                return user;1 Z* q5 h, g  a3 O: R
            }
* S+ K+ O) x4 V: f; @            8 G5 C/ u3 x6 l+ B/ Z9 d
            for (int i = 0; i < savedQueries.queries.length; i++)
1 c- p1 a- E* k& G5 R3 z            {8 d( V/ K% F; `

4 M/ ?8 O" \  i: e" |                if (savedQueries.queries.name.equals("__WEB_find_user"))
8 ]5 s6 v3 O2 s- G2 ?+ l: @8 y                {
/ [% `5 c% @7 ]3 s                    query = savedQueries.queries.query;
, l) l& C" ], a2 P+ s                    break;
2 D: d8 M& e% c9 A2 K( k, O: q  c, _                }( ]2 U$ F. p5 Z6 j
            }2 q9 X/ ?- G" W1 G2 O
        }
: X& J" j" N, T+ n. K        catch (ServiceException e)( a9 u" \5 }2 Z5 l( h. ]9 m
        {
3 Q; z5 i0 B* y$ `            System.out.println("GetSavedQueries service request failed.");0 K' R1 K& [, q4 o
            System.out.println(e.getMessage());
1 [7 y, C: X& I  R5 g; E* f            return user;
2 j8 I" e# V7 ?/ V' w        }+ W- a1 Y  j2 X( ~- X

& @# o8 X/ e2 F+ p        if (query == null)! U$ w7 z; ^' L: m
        {( B  M8 Q3 r2 J# D; N; B8 t) ?. I' K- |
            System.out.println("There is not an '__WEB_find_user' query.");6 Q/ Y) v# l7 z; P  C4 A6 v4 m$ c
            return user;; U3 ^$ X9 m, b" ?
        }
' G' u: K, u2 c+ ?
: }2 a9 D" {6 @: I        try
% C4 }" O! |& b8 Z' {4 A1 A        {
1 W. U9 l3 }$ [2 F& ?6 |, d% `            QueryInput savedQueryInput[] = new QueryInput[1];/ G7 H' n7 k. P3 U6 {4 W
            savedQueryInput[0] = new QueryInput();
. {( E. a. T+ L$ x& B4 V            savedQueryInput[0].query = query;& _- c" W8 X0 A5 J
            savedQueryInput[0].entries = new String[1];1 ?! o1 N7 C3 {
            savedQueryInput[0].values = new String[1];
: M: S! t2 B5 v6 h1 k1 Z! s( E2 K            savedQueryInput[0].entries[0] = "User ID" ;! V! T+ p7 j" e. x) I( ]0 V8 E
            savedQueryInput[0].values[0] = userId;2 P5 y3 a% h7 k  ?
            savedQueryInput[0].maxNumToReturn = 25;
0 P' x( B# Y3 L8 G4 M. J! u            * W: A8 `3 L: |
            SavedQueriesResponse savedQueryResult = queryService.executeSavedQueries(savedQueryInput);
9 ]/ l. @( B+ g8 Z            QueryResults found = savedQueryResult.arrayOfResults[0];
: ^' i" _9 b& S7 B1 s: W
( I* t) f8 F1 V& H5 K% B            int length = found.objectUIDS.length;
2 I/ {: Q: P. }% H" B, d            : U+ G6 G/ }; w1 e
            String[] uids = new String[length];
1 V% O" u3 f: f$ S            for( int ii = 0; ii < length; ii++)
  G4 y- e( K! h8 B. Q9 J            {9 ?5 L9 p* g; n8 y  N0 D4 |
                uids[ii]= found.objectUIDS[ii];
" T$ r( g4 s1 p            }. o) u& ]) U# f3 ~% o
            ServiceData sd = dmService.loadObjects(uids);& [. Y  m/ ], t3 e2 f
            ModelObject[] foundObjs = new ModelObject[ sd.sizeOfPlainObjects()];$ E6 Z" N. J, F2 I5 @
            for( int k =0; k< sd.sizeOfPlainObjects(); k++); J# y* o$ Y$ r
            {) {- B9 M6 r$ g) c' a' h
                foundObjs[k] = sd.getPlainObject(k);  Q' B8 q3 M, c2 Z% `
            }: o$ O# S8 z9 ]/ V
            user = (User) foundObjs[0];   % H6 r% E6 }/ P' J
        }
' J$ ?6 `7 p% h, U/ R. i8 ?) D1 ^        catch (Exception e)  ~% m, q0 {5 K# J
        {
6 ?0 @9 S: U+ R2 z8 T            System.out.println("ExecuteSavedQuery service request failed.");) o5 D& X: ?& K/ h5 z$ T
            System.out.println(e.getMessage());
) b& @6 e& A% {" I0 B* L: H        }            
& s2 s& c" U* ^6 r! ?        return user;# d8 b' d9 |: r! _" p  I2 D. G
    }
/ }9 ~/ H, `6 ~4 `3 \$ O[/mw_shl_code]+ L: `0 D( D: Z! [$ U9 n1 B
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了