|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
: |3 x, I5 P, Q& W7 h' Z& ^$ _5 N) o) V1 ?; k3 a/ H
Teamcenter二次开发 判断当前对象是否被check out
% G( f) g9 v% A3 i[mw_shl_code=cpp,true]#include <iostream>! w! ~0 G0 t9 G) s. R" L' S! H
#include <res/res_ITK.h>
! H, R) T l4 Q0 z7 e#include <sa/user.h>
4 G+ z! k9 O/ f1 u+ X* v( R' q#include <base_utils/IFail.hxx>
8 N/ X% p# M% R2 @- [. L6 @#include <base_utils/TCResultStatus.hxx>
5 g3 s3 Z& g2 {#include <base_utils/ScopedSmPtr.hxx>6 c4 Z/ a; F, T+ x% X
. O T; m% q, F
using namespace std;
% [1 ^/ a$ o0 ?5 p( i/ _/ v& _using namespace Teamcenter;
! H& m8 d7 ~! a- `* k! ^: I% S4 U H! [
static logical is_instance_checked_out(tag_t object_tag); B, S- w; R$ `1 z+ E0 s) P5 c9 q
{
7 }9 @" e8 X9 I. B3 r int ifail = ITK_ok;$ e5 i, A1 y; A: X, h: Q7 |5 A
ResultStatus rstat;- I9 p! v% M4 z% C- E! W2 ]
logical is_checked_out = false;
?# ~; ~ d# x% h try6 @* Y/ y1 z9 O7 \7 p% L0 B* E3 n
{* n$ i5 A( z, ^0 j
rstat = RES_is_checked_out(object_tag, &is_checked_out);& ~, g0 E! i) ]) t
if (is_checked_out == true)
' j0 M$ a$ w- X9 v' c' k {8 J( E( h+ p, y y h1 @6 D( u
tag_t user_tag = NULLTAG;
$ k! ]4 h6 o( m tag_t group_tag = NULLTAG;
/ c3 v$ M9 n+ j. } rstat = RES_who_checked_object_out(object_tag, &user_tag, &group_tag);
0 a9 c% G, |/ I. H
/ K( Q; _, ?( ?7 }+ S- R2 P# Z scoped_smptr<char> user_id;
1 X7 O2 }2 _8 R% X3 m rstat = SA_ask_user_identifier2(user_tag, &user_id);
) v1 M: G" h/ F8 P# E/ O
- s% W' G; W" g/ W+ T char msg[] = " Checked out by: ";
/ C1 k- z# {" n! `8 h- Y: I# o cout << endl << msg << user_id.get() << endl;
j/ O3 D" v0 ~7 r; o, Z% t0 o is_checked_out = true;
! W2 C0 { R; e6 H }
5 S2 k0 @* U6 o }+ Y( T+ X. \/ }5 Z1 w$ m) K6 v
catch( const IFail &e )# C% R! O; {- R+ E: i
{
8 S; k& U' e M3 p- n" s cout << "error " << e.ifail() << endl;7 P# ?6 ]( F5 D2 j
cout << e.getMessage() << endl;
7 y W) X% | r- M }: `6 f) R, z. w, b8 D
return is_checked_out;1 f3 S% c; N+ O) V) s$ ~1 w
}[/mw_shl_code]* V0 P/ |) S* A$ N
|
|