|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
6 L; A6 Y- G8 g* G+ O/ @& g6 m8 e/ S; L) v8 S
Teamcenter二次开发 判断当前对象是否被check out
3 |& i/ W, F5 \6 w[mw_shl_code=cpp,true]#include <iostream># j; I/ S( T! }" u4 h5 J$ t
#include <res/res_ITK.h>3 C g0 r2 M& P: }
#include <sa/user.h>
5 G, @) G3 G- W. j0 L ^$ i#include <base_utils/IFail.hxx>
6 G8 ~$ ~1 t& J6 ]) x#include <base_utils/TCResultStatus.hxx>
7 s- @/ V3 s8 ?#include <base_utils/ScopedSmPtr.hxx>
) T! [! O7 c5 \; @9 i s# ^
* q2 r% \: A2 M; Z, Dusing namespace std;& N4 q6 c8 ?/ r$ c
using namespace Teamcenter;
4 I; U% E# [- v; ?9 s$ t
5 H; R1 Q; s" b4 r2 v4 _static logical is_instance_checked_out(tag_t object_tag). ~6 u2 {0 i' D! ^ W3 \
{
$ p9 v. X; D1 v# g int ifail = ITK_ok;( y$ K* v C( s) v: [, m
ResultStatus rstat;
; P) Y$ ?0 p6 B9 y( r logical is_checked_out = false;3 l. @6 i* D6 ~. ?
try
# @0 K7 T' G: b: c {
- q+ \7 w! n/ O. W- C& n- B rstat = RES_is_checked_out(object_tag, &is_checked_out);9 ^$ ~0 \, b3 n2 ]( Y
if (is_checked_out == true)
8 J" k, ^/ D6 x* | {
7 w& ]+ _" V. o; z Q) F/ f! R tag_t user_tag = NULLTAG;0 G2 Z/ r% _: ~, o! e# Z
tag_t group_tag = NULLTAG;
% }1 ? S# q& b8 z; t rstat = RES_who_checked_object_out(object_tag, &user_tag, &group_tag); & }# M8 `- q* G' _* _
. V% f V/ j" g; C
scoped_smptr<char> user_id; " S, V5 B$ s& k* R0 \1 j
rstat = SA_ask_user_identifier2(user_tag, &user_id);
3 k) h1 z1 W' I9 a/ v
L! l: o& p. }5 V$ j( f( Z' ?& @ char msg[] = " Checked out by: ";
$ j" Y0 |% _2 k0 U: T cout << endl << msg << user_id.get() << endl;
- m/ Q8 C) a0 u# P* q is_checked_out = true;6 A! B* Y" x; s3 x1 k4 p/ i$ _
}
! o9 V- ?& f7 R8 |5 a- P }
9 w9 ~! K) c- r; l7 s2 T. J catch( const IFail &e )! Y; B8 k, U" t2 N1 w- ]* \! J
{' ?6 a* b2 o3 f# r- Y5 y4 Y3 T
cout << "error " << e.ifail() << endl;
: y. F. J$ t: e R0 k! U/ H cout << e.getMessage() << endl;4 M6 L) D) X# y
}
) `0 j4 X' O- v! J1 x `- ?6 G return is_checked_out;: v; s# T8 U2 j9 [6 W+ E7 ?8 P+ g
}[/mw_shl_code]
- n" r. \5 f! W& Q! s |
|