|
|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
& A" P0 P: a2 A
' Z6 }. P9 \' `8 z4 g- q* i$ m1 l y
Teamcenter二次开发 判断当前对象是否被check out% I1 t7 U0 K6 r1 d6 H0 I- U
[mw_shl_code=cpp,true]#include <iostream>
: @7 m' [4 Y1 y# Z* J$ b#include <res/res_ITK.h>4 J9 K, ~9 _; r/ X. }
#include <sa/user.h>" O/ ~9 o8 A, @3 o/ W) T
#include <base_utils/IFail.hxx>
2 Z, X0 s# J2 ]/ o( w: x4 N#include <base_utils/TCResultStatus.hxx>7 v9 b! [, c$ [6 r" t
#include <base_utils/ScopedSmPtr.hxx>8 G# `) P. R0 l3 Z H4 {- v! X
1 U8 a$ ?4 f6 Y. J i! k. husing namespace std;
. o2 o+ M% a4 P8 Xusing namespace Teamcenter;: ~' W, W5 j/ w- m5 L" k
4 ?1 F7 [. f5 m
static logical is_instance_checked_out(tag_t object_tag)& H+ a' S, X; s
{
1 ^6 C# x) C0 V1 Y8 V! [# T: r/ ~# e int ifail = ITK_ok;
/ ]+ P# T& }5 D& X, g" `& g( K0 ? ResultStatus rstat;
5 T) a$ I; O& O; E3 d# R logical is_checked_out = false;/ g3 @& I5 L* [% c" h& L* [( u
try7 L; Z/ j L0 ^+ h+ O6 I7 U
{; t6 F: ]7 t& n- z$ c
rstat = RES_is_checked_out(object_tag, &is_checked_out);$ W% W2 e1 K! j" g3 p6 B u
if (is_checked_out == true); G5 Z3 o |+ y; U% O
{
2 {( ^+ T* w8 C o" ]/ k tag_t user_tag = NULLTAG;5 Y; h1 E; L, d1 r: m M
tag_t group_tag = NULLTAG;; K- d/ N) C0 p
rstat = RES_who_checked_object_out(object_tag, &user_tag, &group_tag); 0 Z2 O* x5 v/ P6 P3 s" n
+ d, H9 `9 p/ J
scoped_smptr<char> user_id; 6 ? y. k! l) b$ C
rstat = SA_ask_user_identifier2(user_tag, &user_id);$ ]2 e j }2 g" U
9 S% X" E3 }) E9 b$ } char msg[] = " Checked out by: ";
( E5 ^& D* J; m, y* k/ ] cout << endl << msg << user_id.get() << endl;
; _ G6 [( ?* E) @ is_checked_out = true;: n! R2 v2 h4 s+ m# C
}
% U, { [: {5 B0 |2 } }
$ G$ i6 [- n1 f9 l catch( const IFail &e )- z* U0 _/ e9 j
{
& \) g, |9 Y' T- \3 I0 W* ? cout << "error " << e.ifail() << endl;) y) K. g, l, b- n, k
cout << e.getMessage() << endl;
# m# D s" N% i3 U9 D) n4 H. i }
5 h, P5 q6 }0 I6 c0 Q return is_checked_out;
& G n- R7 c. T3 \) N4 ^7 N" o' s, V}[/mw_shl_code]4 P q; _, I/ [: N8 A7 N
|
|