|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
( `+ {9 Y( @2 [ Y$ I- O; G' k K
; o5 R8 S9 W# \6 A, I/ N) t `1 OTeamcenter二次开发 判断当前对象是否被check out
9 @% m- ^* `' Y! U$ A2 A6 A/ O+ l[mw_shl_code=cpp,true]#include <iostream>
) O, W! ^$ f8 }- b$ F#include <res/res_ITK.h>9 b* h1 ^5 W+ P; v+ G
#include <sa/user.h>
. G0 q5 b+ x: m" p2 o#include <base_utils/IFail.hxx>
: F9 a( R! l0 d7 S' {. o$ w#include <base_utils/TCResultStatus.hxx>
. ^6 ~2 B% R6 i: g#include <base_utils/ScopedSmPtr.hxx>
6 T3 s1 P9 n* y' @
3 @, d7 O6 G* [: j+ ?+ ^using namespace std;. B8 Y' B8 m: ^1 O2 ]
using namespace Teamcenter;" W6 Z: i4 E" m6 w* }2 K2 }
2 d: ?+ c$ Y& a9 N$ a: L
static logical is_instance_checked_out(tag_t object_tag)
G# l+ @. v& \. ?) w8 l{' i0 j/ W, n8 |9 w! A
int ifail = ITK_ok;, L1 R5 N9 p Z0 f7 w2 G
ResultStatus rstat;9 y7 h0 C1 r% a2 ~0 u1 W& ~3 [
logical is_checked_out = false;3 u W3 h5 k& a$ E" D4 X+ U( v" @3 q
try" F5 _; q, S0 Y g6 l/ |
{
0 g* I, f+ W c& w8 c' i) Q rstat = RES_is_checked_out(object_tag, &is_checked_out);
5 c Z* ~, o& s1 o6 ?( `% Z if (is_checked_out == true); y- S) Z! P+ F$ i
{4 z2 Y# I" B% X& Y% y
tag_t user_tag = NULLTAG;
, ~) I/ \! a1 u tag_t group_tag = NULLTAG;
- P5 p% g/ e# J+ j* s* Z; ?' r rstat = RES_who_checked_object_out(object_tag, &user_tag, &group_tag);
2 C9 u7 V& \: I8 L
8 D2 X- M _* J) s scoped_smptr<char> user_id;
& _+ V s+ ?" I% s2 ]' I1 h$ U rstat = SA_ask_user_identifier2(user_tag, &user_id);; ?5 l( a9 @: K% q5 P0 ~) M- _
( ~ G' x9 u4 P3 v
char msg[] = " Checked out by: ";3 z: v9 F. P. Y L0 E
cout << endl << msg << user_id.get() << endl;1 S; a3 A+ |, E
is_checked_out = true;5 }/ [1 R7 `4 |9 F: ^
}+ |; e, R/ o; ^ q( k
}
& K; R* Q$ X: q% ^+ x3 L0 J+ \ catch( const IFail &e ). n$ _7 n. R1 C& S
{- l5 g* N/ w: M' M$ ^% G5 p
cout << "error " << e.ifail() << endl;
8 D# L7 P. ] N9 u, J. r cout << e.getMessage() << endl;4 {6 w. T( B3 G! f
}, |/ { h- a3 |6 K
return is_checked_out;
" p2 @ T7 B9 Z: g7 G# S$ Q1 p}[/mw_shl_code]
+ O" R; U$ ~6 p1 B( Z |
|