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

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

[复制链接]

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

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

admin 楼主

2018-10-9 01:46:46

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

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

x
, T& j# N7 Z% x5 R) K9 I2 {4 p" G
Teamenter SOA开发源码:通过user ID 找 User# F4 \) ?2 }: k0 J0 \1 p

* W7 `( j, R2 ?[mw_shl_code=applescript,true]import com.Teamcenter.services.strong.query.SavedQueryService;
+ C; ^9 a' ?! m# Simport com.teamcenter.services.strong.query._2006_03.SavedQuery.GetSavedQueriesResponse;
1 _4 X0 _# \" z+ E+ {/ Y9 B: y' Q8 dimport com.teamcenter.services.strong.query._2007_09.SavedQuery.SavedQueriesResponse;/ E6 j9 ?% a5 [) k
import com.teamcenter.services.strong.query._2008_06.SavedQuery.QueryInput;; o$ d% M% j- ]8 _& a5 B* |
import com.teamcenter.services.strong.query._2007_09.SavedQuery.QueryResults;* g: j3 L- a6 v6 _
import com.teamcenter.services.strong.core.DataManagementService;& S# \5 A: G1 A5 o2 [
import com.teamcenter.soa.client.model.ModelObject;" ?% F) u# s: g/ ?
import com.teamcenter.soa.client.model.ServiceData;
- J4 ~1 T; j( c9 zimport com.teamcenter.soa.client.model.strong.ImanQuery;3 q9 {4 Y+ s4 e/ P3 a

5 O* J) \' y* ^  u, f& {6 Mimport com.teamcenter.soa.client.model.strong.User;
! f. ?- s( Q- G! Z$ ^) Q/ S
% \1 R7 n/ j* T& l: o, Q9 o- _: H6 K1 t
    public User findUser(String userId)+ J. O7 O) ~! S' P7 B' r
    {4 w" N+ j( a( V; @" b. D- G( v5 N4 ?, w
        ImanQuery query = null;+ L) u. D) m0 H: v; F. s! F: E( Z
        User user = null;
3 e6 l0 r' L4 h1 o$ C# S  a        
8 @9 l& m/ @! H
0 Q0 G3 q( s$ }# K. ?        SavedQueryService queryService = SavedQueryService.getService(AppXSession.geTConnection());
& Z" q8 ?5 S2 a* O        DataManagementService dmService= DataManagementService.getService(AppXSession.getConnection());
+ H! C  {! o: @# b        
/ X# d$ H1 o, o9 \2 l7 n        try/ ]% s9 v  h2 w2 ~" t8 n! p
        {
8 c2 j, M5 N  B4 ~; v2 H1 Q            GetSavedQueriesResponse savedQueries = queryService.getSavedQueries();3 O" ]2 s  k# P4 [: J+ m" _  E
            if (savedQueries.queries.length == 0)
4 n9 E* l3 n9 R7 x            {  g! i/ O* N) \) M+ P9 \
                System.out.println("There are no saved queries in the system.");
5 M  t5 Q4 |1 F5 L2 C. E                return user;2 q- W. S. S" o; R
            }% y# F% v( y/ h  F
            # v# {7 P2 y5 F: Y
            for (int i = 0; i < savedQueries.queries.length; i++)3 j4 e2 [3 w  Q5 O0 [6 W1 ~% n5 ?
            {6 _, s0 n  o: \8 ~  V
9 f9 J; f, Z% ?6 E5 L$ @7 B' V
                if (savedQueries.queries.name.equals("__WEB_find_user")); |5 h& o3 {( z) O- j
                {
$ ?7 c. `7 ~$ `. z+ c- l3 s                    query = savedQueries.queries.query;: \0 ]/ @, a' r+ S0 M; R
                    break;
" M3 b$ i9 k1 p9 g                }, J, q" M4 `& O4 }# |
            }0 K  C9 |1 c# i+ O" w
        }7 z# L. n! c* b5 j
        catch (ServiceException e)
1 R- r% s) U- D# l* e        {
( N( ]6 J; \- ]4 i, v  S. g            System.out.println("GetSavedQueries service request failed.");: O+ Y! h) S, q0 F
            System.out.println(e.getMessage());7 P2 q- [7 T# h& x, Z1 h: i
            return user;, e& U# }. R" E5 p4 _2 g
        }  `6 a- h6 b, a0 t
( ?; G4 S, p6 e/ v3 m
        if (query == null)0 h: n' L2 S: L" t+ _
        {
, X' R" L! `) ~            System.out.println("There is not an '__WEB_find_user' query.");2 \  k/ ~# y$ e: \
            return user;; K5 G. D8 i4 h" I
        }
: I6 {" s; @; P5 H4 @7 S9 D+ W) x0 g7 u9 q
        try, V' P. h( y3 z7 ]: D: ^8 t2 z
        {
) \' \$ @: ^$ i( Q$ d! U            QueryInput savedQueryInput[] = new QueryInput[1];8 o& I0 \) J# c
            savedQueryInput[0] = new QueryInput();0 u( W7 _  O' @0 R4 H- p: l" P
            savedQueryInput[0].query = query;+ ?' N1 T7 M9 H$ T/ r
            savedQueryInput[0].entries = new String[1];
- E" c5 c8 ]' _4 V- R! z            savedQueryInput[0].values = new String[1];
0 J) r. l8 {( t3 `            savedQueryInput[0].entries[0] = "User ID" ;* [6 P. m7 m0 o+ g4 A9 O" \8 D( Q
            savedQueryInput[0].values[0] = userId;
& o4 h  [. @0 {1 {4 A3 a3 g; ^6 N            savedQueryInput[0].maxNumToReturn = 25;
' z7 E0 ^, q- N4 y9 ?- F            8 M, t  Q  I8 [5 x
            SavedQueriesResponse savedQueryResult = queryService.executeSavedQueries(savedQueryInput);
6 z) x, F& }, Q5 i2 X1 {            QueryResults found = savedQueryResult.arrayOfResults[0];) Z3 N9 `9 Z9 n8 q

5 O$ V; M4 I/ S) ]7 t            int length = found.objectUIDS.length;. i" s, r. u6 M" U: U1 b* d
            
5 i6 t5 d+ }# Z, H2 v5 K            String[] uids = new String[length];
8 [2 U7 Q$ V7 p5 o: `; K            for( int ii = 0; ii < length; ii++)
" Z. c2 L; i6 O) @$ e5 r            {
, R5 u% y& K  D                uids[ii]= found.objectUIDS[ii];
  _- H* e+ q, }, J            }& e, s- {( `' M* y# W6 N
            ServiceData sd = dmService.loadObjects(uids);& r9 L& Y2 x2 I; w) A" Z. V
            ModelObject[] foundObjs = new ModelObject[ sd.sizeOfPlainObjects()];/ I% N5 J" _) v: T3 t8 e5 K
            for( int k =0; k< sd.sizeOfPlainObjects(); k++)1 u$ e, O4 N7 \& R0 E
            {9 f  u' |2 ]( Y9 f5 O
                foundObjs[k] = sd.getPlainObject(k);
2 _' v/ R! q1 V            }) ?/ ^) |+ h% x- L! j2 H
            user = (User) foundObjs[0];   
0 H8 {$ ~; k0 x) w        }/ z0 h! h% r; G+ O  L, g8 w
        catch (Exception e)
- c# W, f' W0 n% I) j        {: `  r+ S7 o7 d- }
            System.out.println("ExecuteSavedQuery service request failed.");
$ q4 m/ V& c$ a! K* E' s# F            System.out.println(e.getMessage());
$ l+ U8 A( f- ]: ?        }            
: K# ^% J) R/ D* }        return user;6 {% [# b$ y0 h2 L
    }
$ ]8 ]  ~  N5 _6 L[/mw_shl_code]& ?" M7 j$ J* v$ t# {1 O+ O8 j
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了