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

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

[复制链接]

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

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

admin 楼主

2018-10-9 01:46:46

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

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

x

- V: \/ t: e1 j0 K8 cTeamenter SOA开发源码:通过user ID 找 User; O$ P$ G: Y: Z& L# {* k

1 ]3 x* a% t: w* e[mw_shl_code=applescript,true]import com.Teamcenter.services.strong.query.SavedQueryService;( Q! R! Z2 ]5 i
import com.teamcenter.services.strong.query._2006_03.SavedQuery.GetSavedQueriesResponse;
& x  g# F; b2 N, n6 J# P9 p+ @6 ximport com.teamcenter.services.strong.query._2007_09.SavedQuery.SavedQueriesResponse;& |/ W4 [2 l) I8 n* u* _
import com.teamcenter.services.strong.query._2008_06.SavedQuery.QueryInput;" F9 b3 ^$ m8 ]# }4 h
import com.teamcenter.services.strong.query._2007_09.SavedQuery.QueryResults;
: X6 ]* \; X9 dimport com.teamcenter.services.strong.core.DataManagementService;5 Z4 f8 R: ^- ?0 _) @
import com.teamcenter.soa.client.model.ModelObject;$ Y- g3 ~, ?, E  M
import com.teamcenter.soa.client.model.ServiceData;$ z0 D: x" x* F% G% g
import com.teamcenter.soa.client.model.strong.ImanQuery;
+ ?! B/ W2 E  F* x# z: R( L
0 P0 E/ s, [: Limport com.teamcenter.soa.client.model.strong.User;5 W; G. z6 ^. Y

+ F$ {( C; g" E& n6 z
( Z% _& _; D9 r, C$ `    public User findUser(String userId)
$ \! X: L4 d! Z& s& m* C" b, ~    {
& \- A+ M) ?$ w0 q: v, m7 B        ImanQuery query = null;
. P& \6 n& N' _! Z( ~% m8 ^        User user = null;
, l/ V' j+ t- z$ F        3 G- d  H( O' N  p$ o- S
" j6 v. O% D! ^- u& v2 K5 @
        SavedQueryService queryService = SavedQueryService.getService(AppXSession.geTConnection());: u5 h6 b0 \1 @9 S* o  C& i* J# A
        DataManagementService dmService= DataManagementService.getService(AppXSession.getConnection());. f( t# o! p% u6 j5 }, `8 m. Z* O
        + D5 ]  z" V- U9 }# @1 j0 r
        try
+ _! l: M9 d1 G, B, s( Q        {
% E- |4 x0 H5 N% n' P5 d( o            GetSavedQueriesResponse savedQueries = queryService.getSavedQueries();1 L' r& ]1 p* l0 V  R9 }" Q
            if (savedQueries.queries.length == 0)# P% V8 D5 K9 ^
            {( W3 i0 K& Z' X/ O
                System.out.println("There are no saved queries in the system.");" b7 E# g$ u! B( e7 ?+ H+ R
                return user;
8 L8 Q8 c: R3 q6 {1 S" x            }3 B* D9 B1 y# }" @4 M; g
            ) ?: b. M! h. D# @: v
            for (int i = 0; i < savedQueries.queries.length; i++)5 U5 L# s$ O" A! A
            {3 {$ W1 S2 V: o9 J; G. R

  y/ T- Y! K6 V                if (savedQueries.queries.name.equals("__WEB_find_user"))
# h6 i7 D+ b0 U/ l3 F& f                {% O2 G/ C& ~, [' b1 ^
                    query = savedQueries.queries.query;
- a9 {8 X" H/ r" j                    break;
' a, ]  x* w' E$ {6 F8 D, g- ~                }
' v+ m4 i9 H5 n$ {: _            }
  t" H7 u) O4 R! W& Z2 u% a        }) W# S5 f- h- @+ b/ U5 ~
        catch (ServiceException e)
$ S0 P$ m& Q6 s5 l4 J9 }: W" N        {
6 b* Q2 N, }' ?& s8 {+ V            System.out.println("GetSavedQueries service request failed.");8 d# X4 }9 O3 Z
            System.out.println(e.getMessage());4 Y" o' b/ j3 f0 s8 T- N
            return user;7 m/ N" M2 Z# z0 n! C# B
        }
& T* c$ g) E0 o8 S+ c% l1 B  {
9 Q& _% ]  }: c; T' J        if (query == null)
! O4 H3 N6 u% U) z- \  v% s6 ^4 I7 m        {) ?$ M' n: g( y9 I
            System.out.println("There is not an '__WEB_find_user' query.");1 K/ }; h: C* F/ M, e
            return user;2 |7 U, k1 e: P3 J  t
        }9 ^9 @7 R7 e8 N& }: i; R% U4 ]8 a
  ~" M1 ^& V* d) b. B2 t3 l
        try
$ a5 W- Z2 O6 U" i( c        {% W: W7 L; |3 ?+ B$ }/ q  t
            QueryInput savedQueryInput[] = new QueryInput[1];4 Y1 u+ W- l3 w& v$ T) s! x
            savedQueryInput[0] = new QueryInput();
. |, O4 t) C+ O1 O& p/ a            savedQueryInput[0].query = query;
) d5 Z4 c! H& f* r& j& t7 C            savedQueryInput[0].entries = new String[1];$ ~  b) @6 ?, |1 T0 w( c
            savedQueryInput[0].values = new String[1];
: }% p. B* n9 T- o            savedQueryInput[0].entries[0] = "User ID" ;. g1 C2 ?  Q- ^. D1 |: u6 H
            savedQueryInput[0].values[0] = userId;1 }: R2 S: ^7 h4 ^, ~  N
            savedQueryInput[0].maxNumToReturn = 25;1 v$ V% D' l% t' b/ P
            / ~4 Y6 H! K. X3 x2 U
            SavedQueriesResponse savedQueryResult = queryService.executeSavedQueries(savedQueryInput);
' P7 F! m7 ?* ^! ]            QueryResults found = savedQueryResult.arrayOfResults[0];! t% t: I7 h3 E& I9 o( l: o( [
0 G; O3 u6 i+ Q3 _. r% S
            int length = found.objectUIDS.length;* s2 z( r: v+ s
            8 c5 q3 ~) W8 N: m: C, f0 h  Y
            String[] uids = new String[length];) z2 E7 g* z4 R+ ~- M
            for( int ii = 0; ii < length; ii++)
( D; ~- H8 j) b! @# K" p# f            {" Z& w  E; a! r
                uids[ii]= found.objectUIDS[ii];
% q6 R- T" M$ L/ e, H7 Y            }
; }4 Z4 ~5 c2 U# U1 `            ServiceData sd = dmService.loadObjects(uids);0 V  R2 ?9 J4 K1 Y8 ^
            ModelObject[] foundObjs = new ModelObject[ sd.sizeOfPlainObjects()];/ d0 a( o! U  X& Q6 H" d
            for( int k =0; k< sd.sizeOfPlainObjects(); k++)
; U# }% F% V5 W            {' f& t5 d5 \6 C
                foundObjs[k] = sd.getPlainObject(k);
/ E4 [2 f3 a- {  w/ ~            }
/ v9 M$ E+ \$ ?: L0 e% K+ m            user = (User) foundObjs[0];   
% [- ?( h  I- n        }
; P$ N) A4 ^& [) v4 }( u& l- u        catch (Exception e)
7 ^# q" p% b" V# f: V) U, v" Q        {
5 r  p8 }. f( z5 L            System.out.println("ExecuteSavedQuery service request failed.");3 v* S2 q: k: G% Y+ k, f
            System.out.println(e.getMessage());" k: [4 ?0 ~4 o1 A. ^
        }            
7 E' r9 |8 A* G4 W4 j7 o        return user;! E6 K: u4 e& A0 `3 u2 B! v
    }8 N9 q& @4 T" p1 E
[/mw_shl_code]4 \; Y) ^8 ^2 z
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了