|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
9 d( b9 F7 H1 z/ S1 N( g- f( `
4 h+ `9 ^) T( [5 D/ ?* o
Teamcenter二次开发 判断当前对象是否被check out% I+ H4 A8 N( G d C' T3 ?
[mw_shl_code=cpp,true]#include <iostream>
4 G! {, [9 I' J! _% F9 b# u& m#include <res/res_ITK.h>
! r! g& ]0 L0 |6 {#include <sa/user.h>
6 O2 g* K) f3 N2 Q& V4 L#include <base_utils/IFail.hxx>
* E: [8 g8 s+ x0 g6 n' N4 \) e#include <base_utils/TCResultStatus.hxx>
; W! ]& M# D1 J B#include <base_utils/ScopedSmPtr.hxx>
$ c2 Q: Z5 v' A. |
; f% I2 J) L$ e$ y7 Qusing namespace std;
9 y$ `8 R# M) |: S1 y2 v' j9 wusing namespace Teamcenter;
. w k5 T) u% L" n! {# d- q$ ?/ X( U
static logical is_instance_checked_out(tag_t object_tag)+ d! u) X H. Q0 S
{0 x) g; Z) M- {" \( [4 W, {2 e
int ifail = ITK_ok;
6 J |! s$ h9 ? ResultStatus rstat;
. k* q/ n' y6 P h logical is_checked_out = false;+ K! m, X; j ^: W
try1 C" Y2 {) Q# L, z4 H4 g0 x+ c: @
{
& e8 r: N* }. ~" ` rstat = RES_is_checked_out(object_tag, &is_checked_out);
8 S6 _5 {( H; x1 B" M" t if (is_checked_out == true)" Q" p4 a) I/ f1 m4 o; M
{: K% Q( f" L2 y5 E' p
tag_t user_tag = NULLTAG;
- q" R# v$ a; T9 d$ e tag_t group_tag = NULLTAG;6 ~; ~0 [# E& h: d3 I3 P
rstat = RES_who_checked_object_out(object_tag, &user_tag, &group_tag); H4 g# D5 E6 y
# }, |6 u+ ^ x( p3 C( J$ o scoped_smptr<char> user_id; & ]1 C- v* C' }% H
rstat = SA_ask_user_identifier2(user_tag, &user_id);1 {( b7 d7 F1 Y6 f2 E. V. y* L# m
1 P# U* P: l' Y# @1 p+ [/ S8 z3 A9 J char msg[] = " Checked out by: ";
: k: ^% L. j4 I" m9 q& m cout << endl << msg << user_id.get() << endl;0 ?- B3 a- R' ~3 `6 B
is_checked_out = true;4 j; e& h+ i! V& v" I+ k' q+ j
}9 Y: h1 `# c* E; w
}
3 r I4 M1 K% s catch( const IFail &e )
0 C" {4 R/ P" V6 W) `4 O1 G {
4 s: |7 z& v0 ^1 v6 [( l cout << "error " << e.ifail() << endl;
2 m, x. c) q/ y' m cout << e.getMessage() << endl;3 T1 \7 k. I' S* n
}' n4 \- n/ X7 Z, o5 `$ ~/ Z
return is_checked_out;# m/ D8 T7 q& {4 H2 D b
}[/mw_shl_code]
+ r: y; Q1 q9 C( {" K1 ]1 @1 b |
|