ludc
2024-11-15 db13f13c39508acdb0c4a88cbf51c930fb2fba16
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
package com.vci.web.service;
 
import com.vci.dto.ProcessTemplateVO;
import com.vci.pagemodel.*;
import com.vci.starter.web.exception.VciBaseException;
import com.vci.starter.web.pagemodel.DataGrid;
import com.vci.starter.web.pagemodel.PageHelper;
import com.vci.starter.web.pagemodel.Tree;
import com.vci.starter.web.pagemodel.TreeQueryObject;
 
import java.util.List;
import java.util.Map;
 
/**
 * 流程相关定义查询服务
 * @author weidy
 */
public interface WebProcessDefineServiceI {
    
    /**
     * 获取某个分类下的userid可以使用的流程模板
     * @param type 流程分类
     * @param filterTemplate 指定模板
     * @param showAll 是否显示所有版本,false时只显示启用的版本
     * @return 可用的流程模版
     * @throws VciBaseException
     */
     List<ProcessTemplateVO> getMyTemplates(String type, String filterTemplate, boolean showAll) throws VciBaseException;
    
    
    /**
     * 获取某个分类下的所有流程模板
     * @param type 流程分类
     * @return 该分类下的所有的流程模板
     * @throws VciBaseException
     */
     List<ProcessTemplateVO> getAllTemplates(String type) throws VciBaseException;
    
 
    /**
     * 获取流程中定义的所有任务节点
     * @param processOid 流程模版的主键
     * @param  isQueryUser 是否查询节点中的用户
     * @param maxSecret 数据中的最大密级值
     * @return 该流程模版中所有的任务节点,其中包含所有可以选择的用户
     * @throws VciBaseException
     */
     List<ProcessNodeVO> getAllProcessNode(String processOid, boolean isQueryUser, int maxSecret) throws VciBaseException;
    
    /**
     * 获取流程中定义的所有任务节点名称
     * @param  processTemplateOid 流程模版的主键
     * @return 返回任务节点名称
     * @throws VciBaseException
     */
     List<String> getAllProcessNodeName(String processTemplateOid) throws VciBaseException;
    
    /**
     * 获取流程中某个节点的所有可以选择的用户
     * @param  node 流程模版的主键
     * @return 所有可以选择的用户
     * @throws VciBaseException
     */
     List<ProcessUserVO> getProcessUsersByNode(ProcessNodeVO node, int maxSecret) throws VciBaseException;
    
    /**
     * 获取流程模板中所有节点的负责人
     */
     List<ProcessUserVO> getAllProcessUsersInProcess(String processTemplateOid,
                                                     String nodeName) throws VciBaseException;
    /**
     * 获取部署id
     * @param executionId 执行主键
     * @return
     * @throws VciBaseException
     */
     String getDeployIdByExecutionId(String executionId) throws VciBaseException;
    
    /**
     * 获取任务中设置的当前处理人
     * @param taskOid 任务主键
     * @return
     * @throws VciBaseException
     */
      List<ProcessUserVO> getProcessUserByTask(String taskOid) throws VciBaseException;
    
    /**
     * 获取我的待办事项--平台不支持查询数据总条数,不清楚在这种情况下,start和pagesize是用来做什么用的
     * @param conditionMap 条件查询
     * @param ph 分页和排序
     * @return
     * @throws VciBaseException
     */
     DataGrid getMyUndoProcessTask(Map<String, String> conditionMap, PageHelper ph) throws VciBaseException;
    
    /**
     * 获取我处理了的任务
     * @param conditionMap 查询条件
     * @param ph 分页信息
     * @return
     * @throws VciBaseException
     */
     DataGrid getMyDoneProcessTask(Map<String, String> conditionMap, PageHelper ph) throws VciBaseException;
    
    /**
     * 获取我的已经完成的流程
     * @param conditionMap 查询条件
     * @param ph 分页信息
     * @return
     * @throws VciBaseException
     */
     DataGrid getMyCompletedProcess(Map<String, String> conditionMap, PageHelper ph) throws VciBaseException;
    
    
    /**
     * 获取所有已经完成的流程
     * @param conditionMap 查询条件
     * @param ph 分页信息
     * @return
     * @throws VciBaseException
     */
     DataGrid getAllCompletedProcess(Map<String, String> conditionMap, PageHelper ph) throws VciBaseException;
    
    
    /**
     * 获取我的终止的流程
     * @param conditionMap 查询条件
     * @param ph 分页信息
     * @return
     * @throws VciBaseException
     */
     DataGrid getMyObsoledtedProcess(Map<String, String> conditionMap, PageHelper ph) throws VciBaseException;
    
    
    /**
     * 获取所有终止的流程
     * @param conditionMap 查询条件
     * @param ph 分页信息
     * @return
     * @throws VciBaseException
     */
     DataGrid getAllObsoledtedProcess(Map<String, String> conditionMap, PageHelper ph) throws VciBaseException;
    
    
    /**
     * 获取我的挂起的流程
     * @param conditionMap 查询条件
     * @param ph 分页信息
     * @return
     * @throws VciBaseException
     */
     DataGrid getMySuspendedProcess(Map<String, String> conditionMap, PageHelper ph) throws VciBaseException;
    
    
    /**
     * 获取所有挂起的流程
     * @param conditionMap 查询条件
     * @param ph 分页信息
     * @return
     * @throws VciBaseException
     */
     DataGrid getAllSuspendedProcess(Map<String, String> conditionMap, PageHelper ph) throws VciBaseException;
    
    /**
     * 获取我发起的所有正在执行的流程
     * @param conditionMap 查询条件
     * @param ph 分页信息
     * @return
     * @throws VciBaseException
     */
     DataGrid getMyExecutingProcess(Map<String, String> conditionMap, PageHelper ph) throws VciBaseException;
    
    
    /**
     * 获取所有正在执行的流程
     * @param conditionMap 查询条件
     * @param ph 分页信息
     * @return
     * @throws VciBaseException
     */
     DataGrid getAllExecutingProcess(Map<String, String> conditionMap, PageHelper ph) throws VciBaseException;
    
    /**
     * 获取我发起的所有流程
     * @param conditionMap 查询条件
     * @param ph 分页信息
     * @return
     * @throws VciBaseException
     */
     DataGrid getMyCreateProcess(Map<String, String> conditionMap, PageHelper ph) throws VciBaseException;
 
    /**
     * 获取数据区域显示的表格信息--
     * @param executionid 流程的执行主键,executionid
     * @param taskOid 任务的主键
     * @return map,其中btmType为业务类型,tableCode为表格编号
     * @throws VciBaseException
     */
     Map<String, Object>  getDataTableDefine(String executionid, String taskOid) throws VciBaseException;
 
    
    /**
     * 获取数据区域显示的数据
     * @param taskOid 任务主键,等于workitem里的oid
     * @param processOid 流程主键,等于workflowinstance里的主键
     * @param referColumn 引用的列
     * @return
     * @throws VciBaseException
     */
     DataGrid getDataInProcess(String taskOid, String processOid, String referColumn) throws VciBaseException;
    
    /**
     * 获取流程的历史
     * @param executionId 流程实例的主键
     * @param showCurrentNode 是否显示当前的节点
     * @return 这个流程中所有历史
     * @throws VciBaseException
     */
     DataGrid getHistory(String executionId, boolean showCurrentNode) throws VciBaseException;
    
    /**
     * 获取当前流程中的流程图
     * @param executionId 当前流程的执行实例id
     * @param taskOid 当前任务节点主键
     * @return
     * @throws VciBaseException
     */
     byte[] getProcessPicture(String executionId, String taskOid) throws VciBaseException;
    
    
    /**
     * 获取流程模版中的流程图
     * @param executionId  执行ID,
     * @return
     * @throws VciBaseException
     */
     byte[] getProcessTemplatePicture(String executionId) throws VciBaseException;
    
    /**
     * 根据主键获取任务信息
     * @param taskOid
     * @return
     * @throws VciBaseException
     */
     List<ProcessTaskVO> getTaskByOid(String taskOid) throws VciBaseException;
    
    /**
     * 查询任务的路由
     * @param taskId 任务主键
     * @param isQueryNextNode 是否查询下一个任务节点的负责人
     * @return 所有的路由信息
     * @throws VciBaseException
     */
     List<ProcessOutcomeVO> getOutCome(String taskId, boolean isQueryNextNode) throws VciBaseException;
    
    
    /**
     * 获取根据规则产生的流程名称
     * @param btmtype 业务类型
     * @param data 数据
     * @return
     * @throws VciBaseException
     */
     String getNameFromRule(String btmtype, Map<String, String> data) throws VciBaseException;
 
    /**
     * 检验任务是否使用同一个流程模板,是否同一个任务节点
     * @param taskOids 任务主键
     * @return
     * @throws VciBaseException
     */
     boolean checkUseSameTemplate(String taskOids) throws VciBaseException;
 
    /**
     * 获取流程中关联的数据关联的文件
     * @param conditionMap 查询条件
     * @param taskOid 任务主键
     * @param executionId 流程执行主键
     * @param pageHelper 分页信息
     * @return
     */
    DataGrid getFilesInProcess(Map<String, String> conditionMap, String taskOid, String executionId, PageHelper pageHelper) throws VciBaseException;
 
    /**
     * 批量获取流程中的变量信息
     * @param executionId 流程标识
     * @param keys 流程变量
     * @return
     * @throws VciBaseException
     */
    Map<String,String> getVariablesInProcess(String executionId, String keys) throws VciBaseException;
 
 
    /**
     * 根据业务数据,获取正在执行的流程
     * @param bussinessOid 业务类型数据
     * @param btmName 业务类型名
     * @return
     * @throws VciBaseException
     */
    List<String> listExecutingProcessByBussinessOid(String bussinessOid, String btmName) throws VciBaseException;
 
    /**
     * 获取审批意见文件
     * @param taskOids 任务的主键
     * @return 文件的信息
     */
    DataGrid<VciFileObjectVO> listAuditSuggestFile(String taskOids);
 
    /**
     * 参照流程分类
     * @param conditionMap 查询条件
     * @param pageHelper 分页对象
     * @return 分类的信息
     */
    DataGrid<ProcessClassifyVO> referGridProcessClassify(Map<String, String> conditionMap, PageHelper pageHelper);
 
    /**
     * 参照流程的模板
     * @param processClassifyId 流程分类的名称
     * @param name 模板的名称
     * @return 模板的显示对象
     */
    DataGrid<ProcessTemplateVO> referGridProcessTemplate(String processClassifyId, String name);
 
    /**
     * 参照流程分类树
     * @param queryObject 查询对象
     * @return 树的信息
     */
    List<Tree> referTreeProcessClassify(TreeQueryObject queryObject);
 
    /**
     * 使用模板的主键获取
     * @param id 模板的key
     * @param revisionValue 版本的值
     * @return 模板的显示对象
     */
    ProcessTemplateVO getTemplateById(String id,String revisionValue);
 
    /**
     * 获取某个用户的待办任务个数
     * @param username 用户的编号
     * @return 总数
     */
    int getUndoTaskCount(String username);
}