|
请使用QQ关联注册PLM之家,学习更多关于内容,更多精彩原创视频供你学习!
您需要 登录 才可以下载或查看,没有账号?注册
x
4 Z3 f. ^: _# l- |" g c
0 `, w( a+ ^# J& }. c! L
Teamcenter二次开发 判断当前对象是否被check out4 g9 Z5 m# K; |
[mw_shl_code=cpp,true]#include <iostream>
4 l2 P9 f% C! B4 D+ D4 S#include <res/res_ITK.h>
! ~' _$ U" D9 y; q0 m) K- y+ F% ^#include <sa/user.h>
- }8 Z& S) \5 L) o4 p2 C/ J#include <base_utils/IFail.hxx>
5 P" U+ Z. O' f#include <base_utils/TCResultStatus.hxx>. I1 M! x$ S+ D) e
#include <base_utils/ScopedSmPtr.hxx>' d6 G: O% Z/ q$ X7 x
2 h2 u5 Q0 j5 Q, [* ^9 Q' d+ jusing namespace std;- X. {% r; P9 K( N5 v: k @. F: s
using namespace Teamcenter;. @$ o5 i" x* ^- c
6 o7 K, b" k" a8 q, }" ^: Q+ |static logical is_instance_checked_out(tag_t object_tag)
5 k+ t' B& R* O( @{
& P9 f2 K; ^6 o int ifail = ITK_ok;. ^. u4 y: }$ r. J* |5 q3 G+ \
ResultStatus rstat;
1 B9 S* K2 U# A2 Y! |/ w& S logical is_checked_out = false;: U0 B$ d) I M- |# h$ |; b
try+ t8 [" A6 i2 @' V: J
{
- x6 i& z' ^& S$ U+ d; I rstat = RES_is_checked_out(object_tag, &is_checked_out);" }1 O2 Q( e3 M4 `. ]3 W6 L
if (is_checked_out == true)
* k; U# R6 r4 ]$ T+ @& s! r) e {% E0 @: J5 n' K1 u: ]) K
tag_t user_tag = NULLTAG;
) L% ]# M m" [" @ tag_t group_tag = NULLTAG;5 U/ k- U" _6 i0 y4 R1 n, v- r
rstat = RES_who_checked_object_out(object_tag, &user_tag, &group_tag); ; k0 Z, h2 {& E
& t' `6 }# g% G" p% U* U scoped_smptr<char> user_id; + D8 g- g- l1 p% K! }& ]" J4 q3 d
rstat = SA_ask_user_identifier2(user_tag, &user_id);' h# e; @) d6 Y H, O8 A% O# E2 p
2 ^$ n0 ~3 l) @, I& q5 @; b. u
char msg[] = " Checked out by: ";
" W% B) U) u, S7 h a) C0 \ cout << endl << msg << user_id.get() << endl;& D/ J* q& M' r3 M) p5 s8 F5 Q
is_checked_out = true;
8 {' d2 v5 P8 _( h' I( ]+ ? }
" B6 [7 { p0 F+ C' z }! H, v! E+ H, a5 V9 i
catch( const IFail &e )
G% s" s* G6 W {
) ]9 `% u/ @( E5 T9 ?. a5 A cout << "error " << e.ifail() << endl;, N9 U4 N2 U6 i
cout << e.getMessage() << endl;) T& k% \1 O# R' `0 I( S/ I' H
}
9 v1 x4 T% }- U. d return is_checked_out;2 X% T" S6 u) R c1 y
}[/mw_shl_code]
/ k" B" D: N( J% O1 `% x |
|