|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
: k* l3 w- `+ ?2 r' {9 J
' P. f7 D+ R5 ^# dTeamcenter二次开发 判断当前对象是否被check out
8 u7 Q$ V' M( L, `[mw_shl_code=cpp,true]#include <iostream>
; x9 p9 Q# H3 j+ T2 i# J4 F#include <res/res_ITK.h>) T5 q7 H8 K( w( v* }
#include <sa/user.h>! ? }+ E% a4 S: T8 N
#include <base_utils/IFail.hxx>5 B" z, N& I/ D, x
#include <base_utils/TCResultStatus.hxx>
1 s0 Q4 P9 e- n% r' Q#include <base_utils/ScopedSmPtr.hxx>/ C+ ~3 y9 E4 N1 k% {# ~0 ]
. ]/ `0 j0 V! Z& e6 u' J9 h
using namespace std;
) q- b0 x) n; f$ F2 e" s; M5 i7 [6 Jusing namespace Teamcenter;( z1 k5 J3 ~* J# i; S1 t! T
0 D0 n1 S/ U) r
static logical is_instance_checked_out(tag_t object_tag)
/ m) Z. K3 T0 Q* D$ n{; `0 v+ K* v! m7 v
int ifail = ITK_ok;
j$ t# I0 I' N! s+ P ResultStatus rstat;
3 [9 Y, `% L' {# H) \ logical is_checked_out = false;5 m1 w6 A: w: ?0 k& {5 D
try1 n1 f# P1 v5 S- O' O
{
: N7 O% R+ ~5 G0 q# @- b rstat = RES_is_checked_out(object_tag, &is_checked_out);
! L* W0 U+ e2 g S# { if (is_checked_out == true)
5 A/ N; t! @; K( u6 g {
* a6 O; ?) F. z, s tag_t user_tag = NULLTAG;
$ Z% ~5 H3 b% H8 ~- a tag_t group_tag = NULLTAG;
4 M9 r; [- J2 u' c2 Z! s rstat = RES_who_checked_object_out(object_tag, &user_tag, &group_tag); 2 y, [& f* u9 W0 i z* {
1 H/ M& Q+ T* B+ {7 K
scoped_smptr<char> user_id; 9 m2 S: n7 B; U1 O6 K8 o l* l
rstat = SA_ask_user_identifier2(user_tag, &user_id);( ^; x2 Y# K( I0 M4 C
4 _8 ]% v! k/ O/ R2 U) R char msg[] = " Checked out by: ";9 L$ `4 j7 }" r, ]7 x" f
cout << endl << msg << user_id.get() << endl;! j, G" o+ p. `
is_checked_out = true;6 Y6 A+ m5 Z) v% C$ o
}; t, m* t ]/ B
}
2 b2 p- Q5 H( C; P% c" V+ M; _ catch( const IFail &e )
+ v0 W+ S6 w' R {+ [' R0 t2 Q! [( ~9 o" Y
cout << "error " << e.ifail() << endl;
4 R, |0 A c% D q cout << e.getMessage() << endl;. C i: v8 c, a2 z
}
6 v/ T' p/ J4 w% s return is_checked_out;( V8 k3 O+ {" u# M {+ g! x. w
}[/mw_shl_code]0 x! G2 |, K0 [ f% e C9 s1 L
|
|