|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
* ?1 w; N' _: ^) O+ d3 |6 N& J' q. J2 [, h8 ~0 U; u
Teamcenter二次开发 判断当前对象是否被check out6 V7 `: I# u& V8 ]" @" n
[mw_shl_code=cpp,true]#include <iostream>
I. j; _7 K& X/ y* K#include <res/res_ITK.h>
3 I5 @# X$ C" G+ E" H& ~#include <sa/user.h>* {; M* W9 c1 y& M% G. G% y2 W$ N
#include <base_utils/IFail.hxx> a# k O; v: ?8 n9 _" X
#include <base_utils/TCResultStatus.hxx>
5 g5 e$ g y2 H, l#include <base_utils/ScopedSmPtr.hxx>. o4 u2 r+ X5 b' j* F7 ] O0 d$ o/ O
5 F2 ?4 b o' T U' k7 k/ C) R9 }, [using namespace std;
& k9 b v0 n0 F, t. @! gusing namespace Teamcenter;9 D- V- V* M% i9 D, Q
$ C( s1 z' T9 }+ y6 \# [
static logical is_instance_checked_out(tag_t object_tag)
8 G+ Q( { |# g v{: \/ G4 T, h/ P
int ifail = ITK_ok;
! x1 B, |, |0 ?* t* n4 A0 x3 e$ i K1 { ResultStatus rstat;
! f$ E9 t( H" B. l logical is_checked_out = false;
% T* M' w8 w8 U6 r4 [6 J) a. t try! s, I- g6 e& d/ c/ {
{
* D: V. p( v9 m; @+ x5 J rstat = RES_is_checked_out(object_tag, &is_checked_out);6 f5 \! p! u+ [3 Q, c# K+ v' U
if (is_checked_out == true)) v0 y% Z7 P3 P7 I1 _
{
$ g; X4 d( W% W; x% A tag_t user_tag = NULLTAG;
; V5 J. @$ F" L* X3 f& u tag_t group_tag = NULLTAG;. U+ R, J+ r I2 b* f, b
rstat = RES_who_checked_object_out(object_tag, &user_tag, &group_tag);
5 D L9 J: b; V0 y
. s/ J3 _5 k, L" ~ e scoped_smptr<char> user_id;
, K! Q# }. c1 q( U) q( g rstat = SA_ask_user_identifier2(user_tag, &user_id);7 l; _6 w4 l0 W
y1 l) J/ A3 J; Z char msg[] = " Checked out by: ";) B, L5 W. ? k F
cout << endl << msg << user_id.get() << endl;
* h' ^) m( R- a! } is_checked_out = true;0 K) G- G$ h) h2 C
}
) p4 y7 B3 y! T/ J! ? }
9 A h1 a7 L7 Z: k) z8 A, P catch( const IFail &e )
! d0 A- m9 c ~. E% k: `6 Z {+ n* U% J) `8 k; t
cout << "error " << e.ifail() << endl;
$ k* b4 P( m# }8 W+ s cout << e.getMessage() << endl;7 @/ s# ^6 V& {( E2 X- ]2 h4 U
}
6 p: b, J3 K, t |3 n( v1 X" H return is_checked_out;
" O. o& T6 Y2 c2 R) m}[/mw_shl_code]' }5 T2 L8 ^# |
|
|