|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
' N' B8 X l& {8 d1 \" Q2 w* @% Y6 t; E e' D
Teamcenter二次开发 判断当前对象是否被check out
8 U! J0 ]- O+ a5 ]* j[mw_shl_code=cpp,true]#include <iostream>! t% t0 \3 m6 a+ A1 M
#include <res/res_ITK.h>4 s: c# C5 k2 X3 [
#include <sa/user.h>
3 x5 c( I/ e; C#include <base_utils/IFail.hxx>
5 E7 L# z* p5 O( z( }#include <base_utils/TCResultStatus.hxx>
; ?- ^2 I, \( t#include <base_utils/ScopedSmPtr.hxx>* |- z4 M- k; u# d
! ?6 }6 h1 [& z% d1 i
using namespace std;
: X( L9 W3 V$ R7 r+ g) [using namespace Teamcenter;: G- L* D# S1 l1 ^7 k9 J: X% n
" w4 }- K3 W, E( g2 J. U6 a! K
static logical is_instance_checked_out(tag_t object_tag)
+ Y- ] m* j' z% s1 G& U{( @2 ~% q1 {; y: W
int ifail = ITK_ok;2 M7 y6 q1 D& U/ Z. K, w
ResultStatus rstat;
0 }3 T- H R" g7 Q. }( n, E8 | logical is_checked_out = false;
7 c! U: f% g/ j( T/ t% F try: R4 N8 b& F0 L. M
{
9 m2 }$ {5 I! Y/ ^8 |/ t. | rstat = RES_is_checked_out(object_tag, &is_checked_out);
5 ~/ C( P1 t+ z/ c' { if (is_checked_out == true)% M1 D3 t/ d& [- f" Y- K
{- X3 E/ t+ {" R2 z, C8 g* `
tag_t user_tag = NULLTAG;
+ a5 P/ X5 z/ A! _+ Y tag_t group_tag = NULLTAG;9 _6 b, ]; d' A4 s( J
rstat = RES_who_checked_object_out(object_tag, &user_tag, &group_tag); 4 z4 \/ {: ?! P4 D6 Q% C) Z
1 u$ i8 I0 N6 {1 x/ F
scoped_smptr<char> user_id; - S; ?( e3 h) h% d
rstat = SA_ask_user_identifier2(user_tag, &user_id);
7 _% x, t5 J: f, W8 {# h4 @8 E8 o" {$ U D& ^+ O" |2 O9 w
char msg[] = " Checked out by: ";
- j# r' Y/ l+ z cout << endl << msg << user_id.get() << endl;
7 N+ d: q( \4 G: N2 y6 c6 L$ ] is_checked_out = true;
2 h9 H, d' R/ m) a; i }
6 o. Y1 A- N8 B; c5 O/ P }8 H8 a& y. ^$ k+ I# d3 _4 h
catch( const IFail &e )
0 m) o) A- X4 J7 V. g T) C& O {. d5 p- Z: E" f' F' Q
cout << "error " << e.ifail() << endl;) r2 _1 b/ ?5 ^ V0 c
cout << e.getMessage() << endl;
4 u/ t5 J' S* L }
3 n7 [' w' H, e4 d i: k9 N return is_checked_out;* f. J3 U3 _$ ]
}[/mw_shl_code]2 A: O* |7 F) w2 u) e0 `5 p% O* ?
|
|