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

Teamcenter二次开发源码分享: 报告用户登录信息

[复制链接]

2017-11-20 13:49:47 3155 0

admin 发表于 2017-11-20 13:49:47 |阅读模式

admin 楼主

2017-11-20 13:49:47

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

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

x
Teamcenter二次开发源码分享: 报告用户登录信息( c; L- Z& Z6 n, X

" K. i4 Z# Q$ M

) I3 ?, i; g" i" l1 t+ oTeamcenter c++ 方式:- U4 j4 s, W  u1 z6 g- M
8 d) T9 Y( p# b$ _
8 {+ X' S7 {( y
#include <iostream>
+ A+ r# g9 G$ {* A* W3 ]#include <sa/group.h>
5 O* R1 C! ?, h' p: ?, ]1 J#include <sa/user.h>
2 n# D) B. V; Z6 s0 f) }- h#include <TC/LoggedInUser.hxx>
+ g1 `0 A1 [6 i: [; W
8 i, y4 F% R/ l3 Z

  I1 S) c; X9 p% K( W7 b% gusing namespace Teamcenter;
7 `4 z+ q% W/ L3 s( N$ h9 Ousing namespace Core;
2 @, q, f  N- a$ y& c# \9 t$ Kusing namespace std;
+ [3 {% L) S' ^+ B& d2 S: n
. E5 j: N, D6 P! C! C$ k

6 B4 k, P+ |( ]8 i3 \6 astatic void reportCurrentLoginInfomation()7 N4 F' s$ W2 Q; T1 Z0 ]+ Y
{3 U. b' Z+ B( L4 Q+ m8 t" u* O" ~
    int ifail = ITK_ok;
: d: ^* {* E! j    LoggedInUser* loggedInUser = LoggedInUser::getInstance();
3 n( s7 w# h/ T- N3 X/ A    " o5 w+ }+ \; ^' R% ^
    tag_t currentUserTag = loggedInUser->getCurrentUserTag();
6 G5 q- j' b7 M) o% Q& W  Q2 ^    cout << "    currentUserTag: " << currentUserTag << endl;: e# o2 q0 s3 ~/ N: r
    . {* x, }$ Q& g) n& B; {5 M
    char *personName = NULL;' B& ~! t* \7 w" ?: }+ e
    IFERR_ABORT(SA_ask_user_person_name2(currentUserTag, &personName));6 d( L/ C# n. |" B& f
    cout << "    personName: " << personName << endl;
% l) ^0 e/ e, [9 `# T* E    if(personName) MEM_free(personName);
9 q- N$ Q& @: H) u" B+ g    6 g+ V2 H/ A  a6 L$ \7 X) w
    const char* userID = loggedInUser->getCurrentUserID();
& d$ U" @- m! k* e3 c( {9 O: C    cout << "    userID: " << userID << endl;
$ D# w/ y7 E! o6 t( m- C9 L, T' r! H$ H- a4 g2 c
8 I$ L4 Y& c; i+ X) N9 [' x
    tag_t currentGroupTag = loggedInUser->getCurrentGroupTag();
" L5 ]& T% [9 \. {3 c. D' R7 M    ! d0 _1 Y! {- N
    char *groupName = NULL;
% u# q  S' k& M% T) B  @    IFERR_ABORT(SA_ask_group_name2(currentGroupTag, &groupName));/ A. T0 Y/ ?3 ?/ d
    cout << "    groupName: " << groupName << endl;; A8 L3 U: N  I4 p
    if(groupName) MEM_free(groupName);
/ b& ]1 D, j2 A9 J( Z% C. C
/ e5 K3 ?7 `- u5 l
' K# J3 |8 A- H) Z+ E. D* w$ {4 @+ [
    tag_t currentRoleTag = loggedInUser->getCurrentRoleTag();) E' C4 B+ p$ n6 O) S/ Y
    char *roleName = NULL;
& j# H4 l: C8 a  U# P, z9 w- J. u2 E0 e    IFERR_REPORT(SA_ask_role_name2(currentRoleTag, &roleName));
1 V9 S8 Q+ f7 o1 r4 z0 b    cout << "    roleName: " << roleName << endl;/ V" Q8 I+ q9 Q7 j+ j. F
    if(roleName) MEM_free(roleName);
/ h  H) t# l1 d0 j+ r6 P/ v1 u   
" i, G/ d& q0 G4 h) x    logical isDba = loggedInUser->isUserSystemAdministrator();  ?# o# J1 q9 m) C% r' o+ {
    if(isDba == TRUE) cout << "    User is dba member "<< endl;
8 D  e. Q1 A3 j' Y( t$ q    if(isDba == FALSE) cout << "    User is not dba member "<< endl;       8 ?! S3 f! g* M/ Z( I( b; Y
}' S1 ^3 q" R6 D# I- ~0 M

/ K. S  t8 D7 O' P: c4 b$ m, V7 W. l& _, c$ o

0 z$ {: i3 d' b4 }6 N
7 y8 F3 Z3 g! [  J, t( v  S
2 U5 z+ ]9 m$ {- C: z# ?
Teamcenter ITK 方式:
) r' r; ?0 F2 r, b3 D- C* T1 z& {) p# X/ ^

# C( q8 u8 A' I! D9 e, {/*HEAD REPORT_CURRENT_LOGIN_INFOMATION CCC ITK */( |7 Z) q1 e: z
static void report_current_login_infomation()/ {/ H5 T6 B& z  y
{" u1 N. _; x" F! U+ v
    tag_t
! ^4 `8 ]  g2 J' A- T! D; k' o        current_member = NULLTAG,
' i5 C: W: C! s1 Z        current_user = NULLTAG,
) d4 ~7 X, J- P7 q# h* |5 H        current_group = NULLTAG,  / u- }" V  e0 R& N8 V3 V5 {, o
        current_role = NULLTAG;
7 z5 J4 |# Q& q; @# Z' a: J    char
- N3 D, F9 o; c) q5 \. `        person_name[SA_person_name_size_c+1] = "",
# ^% P$ j3 n- u: c0 d4 |: U        user_id[SA_user_size_c+1] = "",  
4 w! P  y5 r: Q        group_name[SA_name_size_c+1] = "",% s: r# t: l2 [- o. @: i
        role_name[SA_name_size_c+1] = "";  $ v$ `# [0 H; P

' G" l5 U  @4 y% W4 _
& {, d) `' d! a
    IFERR_ABORT(SA_ask_current_groupmember(&current_member));+ ^6 _9 [1 W3 k0 X
    IFERR_REPORT(SA_ask_groupmember_user(current_member, &current_user));3 f0 P' ?: ~( V! A* M1 `, j: D
   IFERR_REPORT(SA_ask_groupmember_group(current_member, &current_group));
0 K5 v4 _+ b& s1 s% `    IFERR_REPORT(SA_ask_groupmember_role(current_member, &current_role));
1 P/ m6 l( q1 P* J
; M8 e/ C: h& U& ]' n/ t0 O8 W
' h( ^; g- V- U8 H+ n% x  V
    IFERR_REPORT(SA_ask_user_person_name(current_user, person_name));
5 |, `* C; b- X/ Q0 w; r7 z5 s    IFERR_REPORT(SA_ask_user_identifier(current_user, user_id));
" ]  _& @3 m6 \$ i: @2 ^; t    IFERR_REPORT(SA_ask_group_name(current_group, group_name));
5 Z: Q9 Y+ v  ]3 i% Z    IFERR_REPORT(SA_ask_role_name(current_role, role_name));" T: `" G2 @4 a
, e* `# A2 ]+ p; a4 K% e  T

. O, s! ~+ k( \" N5 m2 B- t    ECHO("\n        Person: %s\n", person_name);) z4 K+ Y% u2 u2 d! P5 R" _
    ECHO("       User ID: %s\n", user_id);
4 A; u8 ]. P: _. B" |    ECHO("         Group: %s\n", group_name);
. e5 c2 O7 u# H3 C. K% e    ECHO("          Role: %s\n", role_name);; r  V  M) Q& B9 w2 T0 U' L7 D
}: ]; A* [: \7 u

4 u3 q7 U1 G# k6 e2 s
上海点团信息科技有限公司,承接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二次开发专题模块培训报名开始啦

    我知道了