田源
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
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
// **********************************************************************
//
// 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 "01-common.ice"
#include "02-framework.ice"
 
[["java:package:com.vci.corba"]]
["cs:namespace:com.vci.corba"]
 
 
// module com {
// module vci {
// module corba {
module workflow {
    module data {
    //流程分类对象
        struct ProcessCategoryInfo{
            string id; //id
            string parentId; //父id
            string name; //名称
            string desc; //描述
            string icon;  //图标路径
            long createTime; //创建时间
            string createUser; //创建者
            string createRole; //创建者角色
            string createOrg; //创建者所在组
            long modifyTime; //最后修改时间
            string modifyUser; //最后修改者
            string modifyRole; //修改角色
            string modifyOrg; //修改组
        };sequence<ProcessCategoryInfo> ProcessCategoryInfoList;
        
        //流程模板对象
        struct ProcessDefinitionInfo{
            string id;
            string name;//名称
            string key;//key
            long version;//版本
            string jbpmDeploymentId;//部署id
            string categroyId;//分类id
            string status;//状态
        };sequence<ProcessDefinitionInfo> ProcessDefinitionInfoList;
        
                            
        struct QueryParamInfo{
            long pageIndex;
            long pageSize;
            string customQueryString;
        };
 
        struct PropertyInfo{
            string property;//属性
            string value;//值
        };sequence<PropertyInfo> PropertyInfoList;
        
        struct TaskCCInfo{
            string id;
            string pljbpmdeploymentid;
            string taskname;
            string assigner;
            string cc;
        };sequence<TaskCCInfo> TaskCCInfoList;
        
        //自定义类
        struct CustomInfo{
            string className;//自定义类名称
            string value;//自定义类路径
        };sequence<CustomInfo> CustomInfoList;
        
        struct SubprocessTemInfo{
            string id;
            string parentTemName;
            string subProcessName;
        };sequence<SubprocessTemInfo> SubprocessTemInfoList;
        
        //撤销任务
        struct TaskRevokeInfo{
            string id;
            string deploymentId;//部署id
            string taskName;//任务名称
            string className;//类名称
            string revokeflag;//标记
        };sequence<TaskRevokeInfo> TaskRevokeInfoList;
        
        
        struct ProcessTaskInfo{
            string id;
            string deploymentId;//部署id
            string taskName;//任务名称
            string taskType;//任务类型
            string taskDesc;//任务描述
            long pltreatment;//策略
            string popUserDialog;//用户
            string revoke;//撤销策略
            PropertyInfoList taskTypeProperties;
            //TaskCCInfoList taskCCInfos;
            CustomInfoList customUserInfos;
            PropertyInfoList revokeInfos;
        };sequence<ProcessTaskInfo> ProcessTaskInfoList;
        
        //流程任务对象
        struct FlowTaskInfo{
            string id;
            string name;
            long createTime;                        
            long endTime;
            string executionId;
            string desc;
            string templateName;
            string create;
            string processType;
            string plclsfoid;
            string plAssgin;
            string flowState;
            string processName;
            string applyPerson;
            string applyDeparment;
        };sequence<FlowTaskInfo> FlowTaskInfoList;
        
        struct FlowApproveHistoryInfo{
            string taskId;
            string executionId;
            string taskName;
            string assignee;
            string opinion;
            string note;
            long createTime;
            long endTime;
            string parentTaskId;
        };sequence<FlowApproveHistoryInfo> FlowApproveHistoryInfoList;
        
        //流程数据对象
        struct FlowObjectInfo{
            string ploid;
            string plexecutionid;
            string plprocesstype;
            string plobjectid;
            string initStatus;
        };sequence<FlowObjectInfo> FlowObjectInfoList;
        
        //流程实例对象
        struct FlowInstanceInfo {
            string id;
            string executionid;//执行id
            string applicant;//候选人
            string creator;//创建者
            string templatePuid;//模板id
            string templateName;//模板名称
            string clsfOid;//分类id
            string tableName;//对象名称
            string desc;//描述
            string processType;//流程类型
            string processName;//流程名称
            string taskType;//任务类型
            string outcome;//路由
            string partList;
            //common::data::StringArray mapKey;
            //common::data::StringArray mapValue;
        };sequence<FlowInstanceInfo> FlowInstanceInfoList;
        
        struct NodeHideInfo{
            string id;
            string deploymentId;
            string hide;
        };sequence<NodeHideInfo> NodeHideInfoList;
        
        // 任务委托信息
        struct TasksAssignedInfo{
            string id;
            string userName;    //委托人
            //string TasksId;    //代理人id
            string TasksName;    //代理人用户名
            //string TasksTrueName;//代理人名字
            bool isTrue;//是否生效
            long startTime;
            long endTime;
            string fromUser;
        };sequence<TasksAssignedInfo> TasksAssignedInfoList;
        
        // 任务描述信息
        struct TaskDescInfo{
            string id;
            string pltaskdesc;
            string pljbpmdeploymentid;
            string pltask;
            long pltreatment;
            string popUserDialog;
            string customclassname;
            string customparam;
        };sequence<TaskDescInfo> TaskDescInfoList;
        
        //struct TasksAssignedInfo{
            //string id;
            //string userName;//委托人
            //string TasksId;//代理人id
            //string TasksName;//代理人用户名
            //string TasksTrueName;//代理人名字
            //long isTrue;//是否生效
        //};sequence<TasksAssignedInfo> TasksAssignedInfoList;
        
        // 事件信息
        struct EventInfo{
            string key;
            string value;
        };sequence<EventInfo> EventInfoList;
 
        /** FlowApproveContent 对象 **/
        struct FlowApproveContentInfo{
            string id;
            string userId;
            string approveContent;
            short seq;
            long createTime;
            string createUser;
            string createRole;
            string createOrg;
            long modifyTime;
            string modifyUser;
            string modifyRole;
            string modifyOrg;
            string licensors;
        };sequence<FlowApproveContentInfo> FlowApproveContentInfoList;
        
        //流程参数的属性和值
        struct MapTransfersInfo{
            string key;
            string value;
        };sequence<MapTransfersInfo> MapTransfersInfoList;
        
        //by zhangxg
        struct PlwfinstancetemplateInfo{
            string ploid; 
            string plname; 
            string pldesc; 
            string plwftemplateid; 
            string plinstancename;  
            string plinstancedesc; 
            string plcreateuser; 
            long plcreatetime; 
            string plupdateuser;
            long plupdatetime; 
            string pllicensors; 
            string plclass;
            string plisdefault;
            
        };sequence<PlwfinstancetemplateInfo> PlwfinstancetemplateList;
        
        struct PlwfpersonsetInfo{
            string ploid;
            string pltempid;
            string plnodename;
            string plnodevalue;
            string plnodeorder;
        };sequence<PlwfpersonsetInfo> PlwfpersonsetList;
        
    };
    
    interface WorkflowService {
        void test();
        
        // 流程分类的增、删、改、查
        data::ProcessCategoryInfoList getProcessCategories(string parentId) throws common::VCIError;
        data::ProcessCategoryInfoList getProcessCategoriesByPage(string parentId,long pageSize,long pageIndex ) throws common::VCIError;
        string saveProcessCategory(data::ProcessCategoryInfo category, common::data::UserEntityInfo userEnt) throws common::VCIError;
        bool updateProcessCategory(data::ProcessCategoryInfo category, common::data::UserEntityInfo userEnt) throws common::VCIError;
        bool deleteProcessCategory(string id, common::data::UserEntityInfo userEnt) throws common::VCIError;
        bool existProcessCategory(string id, string name) throws common::VCIError;
        bool deployProcess(common::data::bytes jbpmImage, string jbpmXml, string graphXml, string processCategoryId, data::ProcessTaskInfoList processTaskInfos, common::data::UserEntityInfo userEnt) throws common::VCIError;
        bool deleteProcessDefinition(string deployId, string pdId, common::data::UserEntityInfo userEnt) throws common::VCIError;
        bool updateProcess(common::data::bytes jbpmImage, string jbpmXml, string graphXml, string processCategoryId, data::ProcessTaskInfoList processTaskInfos, common::data::UserEntityInfo userEnt,string deployId) throws common::VCIError;
        
        // 根据流程模板部署ID返回流程模板对象
        data::ProcessDefinitionInfo getProcessDefinitionByDeployId(string deployId) throws common::VCIError;
        data::ProcessDefinitionInfoList getProcessDefinitions(string processCategoryId) throws common::VCIError;
        data::ProcessDefinitionInfoList getAllProcessDefinitions() throws common::VCIError;
        
        //编码专用
        data::ProcessDefinitionInfoList getProcessDefinitionsForRMCode(string processCategoryId) throws common::VCIError;
        data::ProcessDefinitionInfoList getProcessDefinitionsByPage(string processCategoryId,string name,long pageSize,long pageIndex) throws common::VCIError;
        data::ProcessDefinitionInfoList getProcessDefinitionByProcessDefinitionName(string processCategoryName,string processCategoryId) throws common::VCIError;
        common::data::bytes getProcessResource(string jbpmDeploymentId, string resourceType) throws common::VCIError;
        
        data::ProcessDefinitionInfoList getProcessDefinition(string rmTemplateId, string processType) throws common::VCIError;
        data::ProcessDefinitionInfoList getProcessDefinitionByType(string processType) throws common::VCIError;
        //获取流程定义列表
        data::ProcessDefinitionInfoList getProcessDefinitionAll() throws common::VCIError;
        
        void saveRMTemplateProcess(string rmTemplateId, common::data::StringArray processTypes, common::data::StringArray jbpmDeployIds, common::data::UserEntityInfo userEnt) throws common::VCIError;
        bool deleteRMTemplateProcess(string rmTemplateId, common::data::UserEntityInfo userEnt) throws common::VCIError;
        
        bool startProcessInstanceByKey(string processDefinitionKey, data::FlowInstanceInfo flowInstance,common::data::StringArray objId,common::data::UserEntityInfo userEnt,common::data::StringArray userName,string outcome) throws common::VCIError;
        
        //启动流程,创建流程实例
        string startPocessSetUser(string processDefinitionKey, data::FlowInstanceInfo flowInstance,common::data::StringArray objId,common::data::UserEntityInfo userEnt,common::data::StringArray userName,string outcome,common::data::StringArray tasknames,common::data::StringArray2D taskUserNames) throws common::VCIError;
        string startPocessSetUserForVar(string processDefinitionKey, data::FlowInstanceInfo flowInstance,common::data::StringArray objId,common::data::UserEntityInfo userEnt,common::data::StringArray userName,string outcome,common::data::StringArray tasknames,common::data::StringArray2D taskUserNames,common::data::StringArray keys ,common::data::StringArray values) throws common::VCIError;
        
        string startPocessByPLM(string processDefinitionKey, data::FlowInstanceInfo flowInstance,common::data::StringArray objId,common::data::UserEntityInfo userEnt,common::data::StringArray userName,string outcome,common::data::StringArray tasknames,common::data::StringArray2D taskUserNames,data::MapTransfersInfoList mapTransfersInfos) throws common::VCIError;
        
        //添加新启动流程接口,新增参数:对象属性数组,对象属性对应的值二维数组
        string startPocessByPLMv1(string processDefinitionKey, data::FlowInstanceInfo flowInstance,common::data::StringArray objId,common::data::UserEntityInfo userEnt,common::data::StringArray userName,string outcome,common::data::StringArray tasknames,common::data::StringArray2D taskUserNames,data::MapTransfersInfoList mapTransfersInfos,common::data::StringArray objectProperty,common::data::StringArray2D objectPropertyValues) throws common::VCIError;
        
        //添加新启动流程接口,启动流程并且执行第一个任务节点
        string startProcessAndExecuteFirstNode(string processDefinitionKey, data::FlowInstanceInfo flowInstance,common::data::StringArray objId,common::data::UserEntityInfo userEnt,common::data::StringArray userName,string outcome,common::data::StringArray tasknames,common::data::StringArray2D taskUserNames,data::MapTransfersInfoList mapTransfersInfos,common::data::StringArray objectProperty,common::data::StringArray2D objectPropertyValues) throws common::VCIError;
        
        //bool startProcessInstanceByKeyForWuyuan(string processDefinitionKey, data::FlowInstanceInfo flowInstance,common::data::StringArray objId,common::data::UserEntityInfo userEnt,common::data::StringArray userName,string outcome) throws common::VCIError;
        //查询待办任务的总条数
        long queryTodoTaskCount(string pluser,string expandSql,common::data::UserEntityInfo userEnt) throws common::VCIError;
        data::FlowTaskInfoList getTodoTaskByUserId(string pluseroid,long first,long pageSize,string taskType,string sql,common::data::UserEntityInfo userEnt)throws common::VCIError;
        data::FlowTaskInfoList getTodoTaskCompositorByUserId(string pluseroid,long first,long pageSize,string taskType,string sql,string orderStr,common::data::UserEntityInfo userEnt)throws common::VCIError;
        //编码资源专用-查询跟踪任务
        long queryTraceTaskCount(string pluser,string expandSql,common::data::UserEntityInfo userEnt) throws common::VCIError;
        data::FlowTaskInfoList getTrackTaskByUserId(string pluseroid,long first,long pageSize,string taskType,string querySQL,common::data::UserEntityInfo userEnt)throws common::VCIError;
        //编码资源专用-查询已办任务
        data::FlowTaskInfoList getDoneTaskByUserId(string pluseroid,long first,long pagesize,string taskType,string querySQL,common::data::UserEntityInfo userEnt)throws common::VCIError;
        data::FlowTaskInfoList getDoneTaskCompositorByUserId(string pluseroid,long first,long pagesize,string taskType,string querySQL,string orderStr,common::data::UserEntityInfo userEnt)throws common::VCIError;
        long queryDoneTaskCount(string pluser,string expandSql,common::data::UserEntityInfo userEnt) throws common::VCIError;
        
        
        //查询抄送人信息总数
        long queryCCTaskCount(string pluser,common::data::UserEntityInfo userEnt) throws common::VCIError;
        //抄送人信息列表
        data::FlowTaskInfoList getCCTaskByUserId(string pluseroid,long first,long pageSize,common::data::UserEntityInfo userEnt)throws common::VCIError;
        
        //查询跟踪任务的总条数
        //long queryTraceTaskCount(string pluser,common::data::UserEntityInfo userEnt,string expandSql) throws common::VCIError;
        long queryMyTraceProcessCount(string pluser,common::data::UserEntityInfo userEnt,string expandSql) throws common::VCIError;
        //data::FlowTaskInfoList getTrackTaskByUserId(string pluseroid,long first,long pageSize,common::data::UserEntityInfo userEnt,string expandSql)throws common::VCIError;
        data::FlowTaskInfoList getMyTrackProcessByUserId(string pluseroid,long first,long pageSize,common::data::UserEntityInfo userEnt,string expandSql)throws common::VCIError;
        data::FlowTaskInfoList getMyTrackProcessCompositorByUserId(string pluseroid,long first,long pageSize,common::data::UserEntityInfo userEnt,string expandSql, string orderStr)throws common::VCIError;
        
        //根据数据查询流程实例
        data::FlowTaskInfoList getFlowTaskInfoByDataId(string dataId, string tableName)throws common::VCIError;
        
        bool completeTask(string taskId, string outcome, string nextTask,string approvalNote,common::data::UserEntityInfo userEnt,common::data::StringArray userName)throws common::VCIError;
        bool completeTaskForVar(string taskId, string outcome, string nextTask,string approvalNote,common::data::UserEntityInfo userEnt,common::data::StringArray userName,common::data::StringArray keys ,common::data::StringArray values)throws common::VCIError;
        bool completeTaskByPlatform(string taskId, string outcome, string nextTask,string approvalNote,common::data::UserEntityInfo userEnt,common::data::StringArray userName)throws common::VCIError;
        //新增完成接口,1.增加对象属性数组,2.对象属性和属性值二维数组
        bool completeTaskByPlatformv1(string taskId, string outcome, string nextTask,string approvalNote,common::data::UserEntityInfo userEnt,common::data::StringArray userName,common::data::StringArray objectProperty,common::data::StringArray2D objectPropertyValues)throws common::VCIError;
        //批量执行流程任务--条件是同一模板同一任务节点
        bool completeTasksByPlatformv1(common::data::StringArray taskId, string outcome, string nextTask,string approvalNote,common::data::UserEntityInfo userEnt,common::data::StringArray userName,common::data::StringArray objectProperty,common::data::StringArray2D objectPropertyValues)throws common::VCIError;
        //资源编码用的任务提交事件
        //void completeTask(string taskId, string outcome,string approvalNote,common::data::StringArray userName,common::data::UserEntityInfo userEnt)throws common::VCIError;
        data::ProcessTaskInfo findTaskPropertyById(string jbpmDeploymentId, string name)throws common::VCIError;
        data::ProcessTaskInfo findTaskPropertyByProcessId(string jbpmDeploymentId)throws common::VCIError;
        
        data::FlowApproveHistoryInfoList getHistoryActivityByProInsId(string processInstanceId)throws common::VCIError;
        data::FlowApproveHistoryInfoList getHistoryActivityByProInsIdbyPLM(string processInstanceId)throws common::VCIError;
        
        common::data::bytes getExecutionImageByExecutionId(string executionId, string taskName)throws common::VCIError;
        common::data::bytes getExecutionImage(string executionId)throws common::VCIError;
        
        data::FlowObjectInfoList getFlowObjectByExecutionId(string executionId)throws common::VCIError;
        
        string getDeploymentIdByExecutionId(string executionId)throws common::VCIError;
        
        data::FlowInstanceInfoList getFlowInstances(string applicant) throws common::VCIError;
        data::FlowInstanceInfoList getFlowInstancesname(string name) throws common::VCIError;
        string saveFlowInstance(data::FlowInstanceInfo flowInstance, common::data::UserEntityInfo userEnt) throws common::VCIError;
        
        void endProcessInstance(string  processInstanceId,common::data::UserEntityInfo userEnt)throws common::VCIError;
        void endProcessInstanceByplatform(string  processInstanceId,common::data::UserEntityInfo userEnt)throws common::VCIError;
        data::FlowInstanceInfo getFlowInstanceInfo(string  executionId)throws common::VCIError;
        
        // 返回任节点上定义的候选人字符串内容
        string getNextCandidatesDefineString(string jbpmDeploymentId, string taskName, string outcome)throws common::VCIError;
        //获取下一任务候选人
        common::data::StringArray getNextCandidates(string jbpmDeploymentId, string taskName, string outcome)throws common::VCIError;
        common::data::StringArray nextTaskCandidateUsers(string excutionId, string taskName)throws common::VCIError;
        //获取下一任务
        common::data::StringArray getNextTaskNames(string jbpmDeploymentId, string taskName, string outcome)throws common::VCIError;
        //获取当前任务候选人
        common::data::StringArray getCurCandidates(string jbpmDeploymentId, string taskName, string outcome, string executionId)throws common::VCIError;
        common::data::StringArray getAllCandidatesForTask(string jbpmDeploymentId, string taskName, string outcome)throws common::VCIError;
        //委托人
        common::data::StringArray getCurConstituents(string jbpmDeploymentId, string taskName, string outcome)throws common::VCIError;
        //获取流向
        common::data::StringArray getTrainName(string jbpmDeploymentId, string taskName, string outcome)throws common::VCIError;
        
        common::data::bytes getFlowImageByDeployID(string deployID)throws common::VCIError;
        string getDepolymentID(string executionId)throws common::VCIError;
        //data::FlowTaskInfoList getDoneTaskByUserId(string pluseroid,long first,long pagesize,common::data::UserEntityInfo userEnt,string expandSql)throws common::VCIError;
        //long queryDoneTaskCount(string pluser,common::data::UserEntityInfo userEnt,string expandSql) throws common::VCIError;
        //流程监控部分
        data::FlowTaskInfoList getProcessControlByUserId(string pluseroid,long first,long pagesize,string taskType,string querySQL,common::data::UserEntityInfo userEnt)throws common::VCIError;
        long queryProcessControlCount(string pluser,string taskType,common::data::UserEntityInfo userEnt) throws common::VCIError;
        
        //完成流程
        data::FlowTaskInfoList getDoneProcessByUserId(string pluseroid,long first,long pagesize,string taskType,string querySQL,common::data::UserEntityInfo userEnt)throws common::VCIError;
        long queryDoneProcessCount(string pluser,string taskType,common::data::UserEntityInfo userEnt) throws common::VCIError;
        
        string getTaskPhaseName(string processDefinitionKey,string jbpmdeploymentid, data::FlowInstanceInfo flowInstance,common::data::UserEntityInfo userEnt) throws common::VCIError;
        common::data::StringArray getDeployId(string taskId) throws common::VCIError;
        //判断key是否重复
        bool checkKey(string name,string keyValue) throws common::VCIError;
        
        // 返回流程模板的第一个任务对象
        data::ProcessTaskInfo getFirstProcessTask(string jbpmDeploymentId) throws common::VCIError;
        data::ProcessTaskInfo getFirstProcessTaskByExecId(string execId) throws common::VCIError;
        //获取流程下一节点是否是end节点
        bool getProcessTaskByTaskName(string taskId,string taskName,string outcome) throws common::VCIError;
        //查询所有的同意任务任务节点数据
        string getAllNoAgreeProcessTaskByTaskName(string taskId,string taskName,string outcome) throws common::VCIError;
        //流程模板隐藏节点
        bool setNodeHide(string deploymentId) throws common::VCIError;
        data::NodeHideInfoList getNodeHideDeploymentId() throws common::VCIError;
        bool deleteHideFlow(string deployId)throws common::VCIError;
        //根据条件查询指定流程
        data::FlowTaskInfoList getTaskByCondition(common::data::StringArray values,long first,long pagesize,string objectId,common::data::UserEntityInfo userEnt)throws common::VCIError;
        long queryFlowTaskCount(common::data::StringArray values,string objectId,bool  flag ,common::data::UserEntityInfo userEnt) throws common::VCIError;
        //获取流程下一任务名称
        string getNextTaskNameByJbpmId(string jbpmDeploymentId,string taskname,string outcome)throws common::VCIError;
        //获取流程下一任务类型
        string getNextTaskTypeByJbpmId(string jbpmDeploymentId,string taskname,string outcome)throws common::VCIError;
        //获取流程发起人
        string getProcessStartUser(string execId)throws common::VCIError;
        //获取任务ID
        string getProcessTaskId(string execId)throws common::VCIError;
    
        bool setPocessHide(string jbpmdeplotmentId, short status,common::data::UserEntityInfo userEnt) throws common::VCIError;
        //获取任务描述信息
        data::TaskDescInfoList getTaskDescList(string deploymentId,string taskName) throws common::VCIError;
        data::FlowTaskInfoList getTodoTaskByUser(string pluseroid,long first,long pageSize,common::data::UserEntityInfo userEnt)throws common::VCIError;
        common::data::StringArray getNextTask(string    executionId, string taskName, string outcome)throws common::VCIError;
        common::data::StringArray getUserNames(string executionId, string taskName, string outcome)throws common::VCIError;
        
        //获取策略列表
        data::TaskRevokeInfoList getTaskRevokeList(string deploymentId,string taskName) throws common::VCIError;
        bool saveOrUpdateTasksAssigned(data::TasksAssignedInfo taskAssigned,common::data::UserEntityInfo userEnt) throws common::VCIError;
        //获取代理人对象
        data::TasksAssignedInfo getTasksAssignedByUserName(string userName , common::data::UserEntityInfo userEnt) throws common::VCIError;
        // 
        data::TasksAssignedInfoList getAllTasksAssignedByUserName(string userName , common::data::UserEntityInfo userEnt) throws common::VCIError;
        //删除代理人
        bool deleteTasksAssignedByUserName(common::data::StringArray userName, common::data::UserEntityInfo userEnt) throws common::VCIError;
        // 根据ID数组删除委托
        bool deleteTasksAssignedByIds(common::data::StringArray ids, common::data::UserEntityInfo userEnt) throws common::VCIError;
        //设置任务候选人
        void setParticipation(string nextTaskId,common::data::StringArray userNames)throws common::VCIError;
        
        //获取下个任务的多有用户包含自定义用户
        common::data::StringArray getAllUserListForTask(string taskName,string deploymentId,string outcome,common::data::StringArray varkey,common::data::StringArray varValue)throws common::VCIError;
 
        /** FlowApproveContent 对象接口 **/
        // 添加、保存 FlowApproveContent 对象 
        bool saveFlowApproveContent(data::FlowApproveContentInfo info, common::data::UserEntityInfo userEnt) throws common::VCIError;
        // 修改、更新 FlowApproveContent 对象 
        bool updateFlowApproveContent(data::FlowApproveContentInfo info, common::data::UserEntityInfo userEnt) throws common::VCIError;
        // 根据ID删除  FlowApproveContent 对象(批量)
        bool deleteFlowApproveContent(common::data::StringArray ids, common::data::UserEntityInfo userEnt) throws common::VCIError;
        // 返回全部  FlowApproveContent 对象
        data::FlowApproveContentInfoList getFlowApproveContents(common::data::UserEntityInfo userEnt) throws common::VCIError;
        // 根据分页参数返回 FlowApproveContentInfo 对象
        data::FlowApproveContentInfoList getFlowApproveContentByPageing(data::QueryParamInfo queryParam, common::data::UserEntityInfo userEnt, out long total) throws common::VCIError;
        // 根据ID返回  FlowApproveContent 对象
        data::FlowApproveContentInfo getFlowApproveContentById(string id, common::data::UserEntityInfo userEnt) throws common::VCIError;
            
        bool revokeTask(string taskName, string destActivityName,string executionId) throws common::VCIError;    
                        
        bool appointTask(string destActivityName,string tagActivityName,common::data::StringArray classNames,string executionId,common::data::StringArray userNames) throws common::VCIError;
        
        bool appointTask2(string destActivityName,string tagActivityName,common::data::StringArray classNames,string executionId,common::data::StringArray userNames,common::data::UserEntityInfo userEnt) throws common::VCIError;
        
        //获取所有任务列表
        common::data::StringArray getAllTaskNames(string jbpmDeploymentId)throws common::VCIError;
        //获取当前任务的所有流向
        common::data::StringArray getAllOutComes(string taskID) throws common::VCIError;
        common::data::StringArray getOutComesByTaskName(string jbpmDeploymentId,string taskName) throws common::VCIError;
        
        //获取自定义Url路径
        string getUrlPath(string jbpmDeploymentId,string taskName)throws common::VCIError;
        common::data::StringArray getTrainsitionUrlPath(string jbpmDeploymentId,string taskName,string trainsitionName)throws common::VCIError;
        //转交任务
    //    bool assignTask(string executionId,string username) throws common::VCIError;
        bool assignTask(string fromUsername,string toUsername) throws common::VCIError;
        bool assignTaskByPlatform(string fromUsername,string toUsername) throws common::VCIError;
        bool transmitTask(string taskId,string toUsername,common::data::UserEntityInfo userEnt) throws common::VCIError;
        bool transmitTaskByPlatform(common::data::StringArray taskIds,string toUsername,common::data::UserEntityInfo userEnt) throws common::VCIError;
        //保存抄送人
        bool saveTaskCCInfo(data::TaskCCInfoList infoList) throws common::VCIError;
        //获取抄送人信息
        data::TaskCCInfoList getTaskCCInfos(string jbpmDeploymentId) throws common::VCIError;
        //删除抄送信息
        bool deleteTaskCC(string jbpmDeploymentId,string userName) throws common::VCIError;
        
        //创建文档
        void creatTxtFile() throws common::VCIError;
        //读取文档
        string readTxtFile() throws common::VCIError;
        //编写文档
        void writeTxtFile(data::EventInfoList eventInfoList) throws common::VCIError;
        //修改文档内容
        void replaceTxtByStr(string oldStr,string replaceStr) throws common::VCIError;
        //保存子流程模板与父模板之间的关系
        void saveSubProcess(data::SubprocessTemInfoList subprocessTemInfos);
        //判断流程是否被引用
        long checkSubprocessQuote(string subProcess);
        //配置任务和用户关系
        void configTaskAndUser(string deploymentId,common::data::StringArray dataIds,common::data::StringArray tasknames,common::data::StringArray2D userNames);
        //通过流程定义ID获取部署ID
        string getDeployIdByProcessDefintionId(string processDifId);
        
        bool getEndNode(string jbpmDeploymentId,string endTaskName);
        bool isEndNode(string executionId,string endTaskName);
        
        string getNextTaskAssigner(string executionId,string taskName);
        string getNextSubTaskAssigner(string executionId, string taskName, string outcome);
        // 返回流程执行时的参数值
        string getProcessVariable(string executionId, string varName, common::data::UserEntityInfo userEnt)throws common::VCIError;
        
        common::data::StringArray getTasksNameByProcessName(common::data::StringArray processNames,common::data::UserEntityInfo userEnt) throws common::VCIError;
        string searchComplateTask(common::data::StringArray param, common::data::UserEntityInfo userEnt)throws common::VCIError;
        
        data::TasksAssignedInfoList getTasksAssignedByPageing(data::QueryParamInfo queryParam, common::data::UserEntityInfo userEnt, out long total) throws common::VCIError;
        string getTaskId(string currActivityName, string executionId) throws common::VCIError;
        
        bool moveDefinition(string deploymentId , string categoryId) throws common::VCIError;
        
        void loadWorkFlowTemplate(string jbpmDeploymentId) throws common::VCIError;
        //判断任务是否有子任务
        common::data::StringArray getsubTasks(string taskId);
        
        //获取流程部署id
        string getDeploymentID(string processDefinitionKey);
        //获取流程名称
        string getProcessName(string executionid);
        
        void setTaskAndUserForComplete(string executionid,common::data::StringArray tasknames,common::data::StringArray2D taskUserNames, common::data::UserEntityInfo userEnt) throws common::VCIError;
        
        common::data::StringArray getFlowTaskInfoByDataIds(common::data::StringArray dataIds,string tableName) throws common::VCIError;
        
        //流程任务对象
        data::FlowTaskInfo getFlowTaskInfo(string executionid,string taskid) throws common::VCIError;
        
        string getWorkflowPropertiesValue(string key) throws common::VCIError;
        //add by caill 2016.4.7
        string getEventPropertyValue(string key) throws common::VCIError;
        
        //by zhangxg
        //保存
        bool savePlwfinstancetemplate(data::PlwfinstancetemplateInfo plwfinstancetemplate,data::PlwfpersonsetList plwfpersonsetList)throws common::VCIError;
        //
        data::PlwfinstancetemplateList getPlwfinstancetemplate()throws common::VCIError;
        //根据主题库分类和是否默认模板
        data::PlwfinstancetemplateList getPlwfinstancetemplateByClassAndDefault(string plclass, string plisdefault)throws common::VCIError;
        data::PlwfinstancetemplateInfo getPlwfinstancetemplateById(string pid)throws common::VCIError;
        //删除
        bool deletePlwfinstance(data::PlwfinstancetemplateInfo plwfinstancetemplate)throws common::VCIError;
        
        //
        data::PlwfpersonsetList getPlwfpersonset(string tid)throws common::VCIError;
        //删除
        bool deletePlwfpersonset(data::PlwfpersonsetInfo plwfpersonset)throws common::VCIError;
        //重新设置任务节点负责人
        bool resetNodeUser(string executionId, common::data::StringArray taskNames, common::data::StringArray userNames) throws common::VCIError;
    }
}
// }}}