|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
9 u3 m, B) A( _2 N$ A
5 D/ }% J1 @' ]- \2 c7 kTeamcenter二次开发 判断当前对象是否被check out
0 A! L) _9 Z0 J2 I o5 k[mw_shl_code=cpp,true]#include <iostream>
3 H. }2 J& N0 _1 n#include <res/res_ITK.h>' b4 l9 Y' A+ T9 k$ ~ o
#include <sa/user.h>/ n. L& d; x# l& v4 @$ a
#include <base_utils/IFail.hxx>
5 D! g3 T9 w; ^2 n4 a% F: v#include <base_utils/TCResultStatus.hxx>, I) h$ {2 e I
#include <base_utils/ScopedSmPtr.hxx>
% i: S, C* p0 M- ?! R; _: j: l7 V
: U* M, M( {+ T8 i; J8 @& I; Yusing namespace std;3 n$ M3 r2 n( I
using namespace Teamcenter;
/ y* V6 z/ b9 ~% o! ~5 x/ q ^% }" F' K: s3 O7 U# s
static logical is_instance_checked_out(tag_t object_tag), L& ]! @5 ]$ l5 l8 I" B
{
, b9 i* b! t8 H int ifail = ITK_ok;
a3 V3 w- Q( b ResultStatus rstat;2 h: ?- w% }2 |3 z: X* c2 ]
logical is_checked_out = false;6 e+ \* [9 s% y" T
try
( \9 b4 c1 ^& D2 |" f+ J {
' C& U: s* ^6 m4 ~; p/ y rstat = RES_is_checked_out(object_tag, &is_checked_out);( Q( u/ Z" e2 X" z
if (is_checked_out == true)' q1 i K9 Q5 Z$ k; }1 L) I
{
+ r! F# d5 V2 t1 K+ E- ?; U tag_t user_tag = NULLTAG;
7 L, N7 U( w+ Y7 ~+ X8 a tag_t group_tag = NULLTAG;6 L+ W7 {8 S8 E6 j7 O8 t9 {
rstat = RES_who_checked_object_out(object_tag, &user_tag, &group_tag);
$ n. v9 W) f ~9 p8 |8 g( N
/ T0 u W7 n% I O1 C8 c; E$ \, [' _ scoped_smptr<char> user_id; 7 X3 y7 Q# @/ V; O9 A7 S
rstat = SA_ask_user_identifier2(user_tag, &user_id);
' y& R: O. {# K" p- z+ D% `8 S4 U7 F* A2 p
char msg[] = " Checked out by: ";
2 d( {& |/ P1 H cout << endl << msg << user_id.get() << endl; e! n7 p" v& _" m9 w$ o5 \! D+ t
is_checked_out = true;& c( E1 D+ T. A
}
' A; p1 T- o! l4 z7 i } L# S; q7 e @/ I
catch( const IFail &e ); P3 x2 a( y, R; h
{6 S/ r2 e- m2 v+ r/ u8 r& B
cout << "error " << e.ifail() << endl;
7 c) v6 O/ s% n4 r# Z% J W% j cout << e.getMessage() << endl;
: `' l9 y) s, L# m }( D) k# f! u1 y( l* H& I. l' z
return is_checked_out;6 W8 v! X- z6 K% ~; U+ @% g8 x6 N" Q
}[/mw_shl_code]
0 t" r) N. q$ [: P |
|