田源
2025-01-09 8a166a60cfd1a2e593ffa103d10c0dc224fc8628
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
// **********************************************************************
//
// Copyright (c) 2008-2023 VCI-Tech, Inc. All rights reserved.
//
// This copy of Ice is licensed to you under the terms described the
// ICE_LICENSE file included this distribution.
//
// **********************************************************************
 
#pragma once
 
#include "02-framework.ice"
#include "05-omd.ice"
 
[["java:package:com.vci.corba"]]
["cs:namespace:com.vci.corba"]
 
// module com {
// module vci {
// module corba {
module bofactory {
    interface BOFactoryService{
        void test();
        /**初始化一个业务对象**/
        omd::data::BusinessObject initBusinessObject(string btmName) throws common::VCIError;
        /**业务对象升版本**/
        omd::data::BusinessObject revisionBusinessObject(omd::data::BusinessObject bo, omd::data::LinkObjectList los, bool isRev, bool isSave, bool isFromLinkCopy, bool isToLinkCopy)  throws common::VCIError;
        
            /**业务对象升版本,并复制指定的link**/
        omd::data::BusinessObject revisionBusinessObjectWithLink(omd::data::BusinessObject bo, common::data::StringArray linkTypes, bool isRev, bool isSave, bool isFromLinkCopy, bool isToLinkCopy)  throws common::VCIError;
        
        /**根据ID读取对象**/
        omd::data::BusinessObject readBusinessObject(string oid, string btmName) throws common::VCIError;
        /**根据nameoid获取其最新发布有效版本**/
        omd::data::BusinessObjectList getLastRevisionBusinessObject(string nameoid, string btmName) throws common::VCIError;
        /**根据id数组获取对象数组**/
        omd::data::BusinessObjectList getBatchBusinessObject(common::data::StringArray oids, string btmName) throws common::VCIError;
        /**分页批量获取指定类型的业务对象**/
        omd::data::BusinessObjectList batchGetBusinessObjects(string btName, int page, int pageSize) throws common::VCIError;
        /**批量升版本**/
        bool batchRevisonBusinessObject(common::data::StringArray oids, string btmName) throws common::VCIError;
        /**创建新对象**/
        omd::data::BusinessObject createBusinessObject(omd::data::BusinessObject bo, bool isRevision, bool isNewVersion) throws common::VCIError;
        /**创建新对象及链接**/
        bool createBusinessObjectWithLink(omd::data::BusinessObjectList bos, omd::data::LinkObject lo) throws common::VCIError;
        /**创建新对象及链接,并返回ts**/
        bool createBusinessObjectWithLinkTS(omd::data::BusinessObjectList bos, omd::data::LinkObject lo, out long ts) throws common::VCIError;
        /**更改对象**/
        bool updateBusinessObject(omd::data::BusinessObject bo, out long ts) throws common::VCIError;
        /**删除对象**/
        bool deleteBusinessObject(omd::data::BusinessObject bo, long type) throws common::VCIError;
        /**检入对象**/
        bool checkInBusinessObject(omd::data::BusinessObject bo) throws common::VCIError;
        /**检出对象**/
        bool checkoutBusinessObject(omd::data::BusinessObject bo) throws common::VCIError;
        /**撤销检出对象**/
        bool unCheckOutBusinessObject(omd::data::BusinessObject bo) throws common::VCIError;
        /**变更对象所有者**/
        bool changeBusinessObjectOwner(omd::data::BusinessObject bo, framework::data::UserInfo user) throws common::VCIError;
        /**跃迁对象**/
        bool transferBusinessObject(omd::data::BusinessObject bo, omd::lcm::TransitionVO trVo) throws common::VCIError;
        /**跃迁对象并根据发布状态更新最新发布版本的状态**/
        bool transferBusinessObjectAndRelease(omd::data::BusinessObject bo, omd::lcm::TransitionVO trVo, string releaseStatus) throws common::VCIError;
        /**获取下一个版本号**/
        omd::data::RevisionDataInfo getNextRevisionValueObject(string boName, string nameOid, string revisionRule, bool revInput, string revisionVal) throws common::VCIError;
        /**不通过数据库查询直接计算得到下一个版本值**/
        omd::data::RevisionDataInfo getNextRevisionValue(string revisionValue, short revisionSeq, string revisionRule) throws common::VCIError;
        /**获取下一个版次号**/
        omd::data::VersionDataInfo getNextVersionValue(string boName, string revisionOid, string nameOid, long versionType) throws common::VCIError;
        
        /**批量处理BO操作**/
        /**批量存储对象**/
        omd::data::BusinessObjectList batchCreateBusinessObject(omd::data::BusinessObjectList bo, bool isRevision, bool isNewVersion) throws common::VCIError;
        /**批量创建对象及链接**/
        bool batchCreateBusinessObjectWithLink(omd::data::BusinessObjectList bos, omd::data::LinkObjectList los) throws common::VCIError;
        /**批量创建对象及链接,不进行检查,不记录log**/
        bool batchCreateBOWithLinkNoCheckNoLog(omd::data::BusinessObjectList bos, omd::data::LinkObjectList los) throws common::VCIError;
        /**批量增加、删除业务对象以及链接对象**/
        bool batchCreateDeleteBOLO(omd::data::BusinessObjectList createBOs, omd::data::LinkObjectList createLOs, omd::data::BusinessObjectList deleteBOs, omd::data::LinkObjectList deleteLOs) throws common::VCIError;
            /**批量增加、修改、删除业务对象以及链接对象**/
        bool batchCUDBOLO(omd::data::BusinessObjectList createBOs, omd::data::LinkObjectList createLOs, omd::data::BusinessObjectList updateBOs, omd::data::LinkObjectList updateLOs, omd::data::BusinessObjectList deleteBOs, omd::data::LinkObjectList deleteLOs) throws common::VCIError;
        /**批量创建对象和链接,并返回ts**/
        bool batchCreateBusinessObjectWithLinkTS(omd::data::BusinessObjectList bos, omd::data::LinkObjectList los, out long ts) throws common::VCIError;
        /**批量更改对象**/
        bool batchUpdateBusinessObject(omd::data::BusinessObjectList bos) throws common::VCIError;
        /**批量删除对象**/
        bool batchDeleteBusinessObject(omd::data::BusinessObjectList bos, long type) throws common::VCIError;
        /**批量检入对象**/
        bool batchCheckInBusinessObject(omd::data::BusinessObjectList bos) throws common::VCIError;
        /**批量检出对象**/
        bool batchCheckoutBusinessObject(omd::data::BusinessObjectList bos) throws common::VCIError;
        /**批量撤销检出对象**/
        bool batchUnCheckOutBusinessObject(omd::data::BusinessObjectList bo) throws common::VCIError;
        /**变更对象所有者**/
        bool batchChangeBusinessObjectOwner(omd::data::BusinessObjectList bos, framework::data::UserInfoList userList) throws common::VCIError;
        /**批量跃迁对象并根据发布状态更新最新发布版本的状态**/
        bool batchTransferBusinessObjectAndRelease(omd::data::BusinessObjectList bo, omd::lcm::TransitionVOArray trVos, common::data::StringArray releaseStatus) throws common::VCIError;
                            
 
        // 初始化链接对象
        omd::data::LinkObject initLinkObject(string ltName) throws common::VCIError;
        /**根据From端对象读取链接**/
        omd::data::LinkObjectList readLinkObjectByFromBO(omd::data::BusinessObject fromBO, string linkTypeName) throws common::VCIError;
        /**根据To端对象读取链接**/
        omd::data::LinkObjectList readLinkObjectByToBO(omd::data::BusinessObject toBO, string linkTypeName) throws common::VCIError;
        /**根据ID和类型读取链接对象**/
        omd::data::LinkObject readLinkObjectById(string oid, string linkTypeName) throws common::VCIError;
        /**创建新链接**/
        omd::data::LinkObject createLinkObject(omd::data::LinkObject lo) throws common::VCIError;
        /**更改链接内容**/
        bool updateLinkObject(omd::data::LinkObject lo) throws common::VCIError;
        /**删除链接**/
        bool deleteLinkObject(omd::data::LinkObject lo) throws common::VCIError;
        
        /**批量处理LO操作**/
        /**创建新链接**/
        omd::data::LinkObjectList batchCreateLinkObject(omd::data::LinkObjectList los) throws common::VCIError;
        /**更改链接内容**/
        bool batchUpdateLinkObject(omd::data::LinkObjectList los) throws common::VCIError;
        /**删除链接**/
        bool batchDeleteLinkObject(omd::data::LinkObjectList los) throws common::VCIError;
        /**更改对象:带返回值**/
        bool updateBusinessObjectOut(omd::data::BusinessObject bo) throws common::VCIError;
        
        /**根据查询条件获取分类信息,只返回一列信息**/
        common::data::StringArray getClssficationValue(string sql, omd::data::AttributeValueList attrVals) throws common::VCIError;
        /**根据自定义语句查询符合条件的值,值已key/value的方式返回**/
        common::data::StringArray2D getCustomSqlValue(common::data::StringArray sqls) throws common::VCIError;
        /**根据查询语句获取符合要求的多列查询结果**/
        common::data::StringArray2D getSqlQueryResult(string sql, omd::data::AttributeValueList attrVals) throws common::VCIError;
        /**执行自定义的更新sql语句**/
        bool executeUpdateSql(string sql) throws common::VCIError;
        
        bool executeUpdateSqls(common::data::StringArray sqls) throws common::VCIError;
        /**增加sql语句的处理,可以传递参数**/
        bool executeUpdateSqlByParams(string sql,omd::data::AttributeValueList attrVals)  throws common::VCIError;        
 
        
        // 开启事务(对象数据传输的事务)
        // 返回客户端与服务器端的会话信息
        string beginTransaction();
        
        // 批量增加、修改、删除业务对象以及链接对象
        bool batchCUDBOLOByTransaction(string sessionKey,
                                        omd::data::BusinessObjectList createBOs, 
                                        omd::data::LinkObjectList createLOs, 
                                        omd::data::BusinessObjectList updateBOs, 
                                        omd::data::LinkObjectList updateLOs, 
                                        omd::data::BusinessObjectList deleteBOs, 
                                        omd::data::LinkObjectList deleteLOs) throws common::VCIError;
        
        // 提交事务,必须指定客记端与服务器端之间的会话信息
        bool commitTransaction(string sessionKey, out long ts) throws common::VCIError;
        
    };
    
}//bofactor
// }}}