提交 | 用户 | 时间
e7c126 1 package com.iailab.module.bpm.service.definition;
H 2
bb2880 3 import com.iailab.module.bpm.controller.admin.definition.vo.model.BpmModelSaveReqVO;
H 4 import com.iailab.module.bpm.controller.admin.definition.vo.model.simple.BpmSimpleModelNodeVO;
5 import com.iailab.module.bpm.controller.admin.definition.vo.model.simple.BpmSimpleModelUpdateReqVO;
e7c126 6 import org.flowable.bpmn.model.BpmnModel;
H 7 import org.flowable.engine.repository.Model;
8
9 import javax.validation.Valid;
bb2880 10 import java.util.List;
e7c126 11
H 12 /**
13  * Flowable流程模型接口
14  *
15  * @author yunlongn
16  */
17 public interface BpmModelService {
18
19     /**
bb2880 20      * 获得流程模型列表
e7c126 21      *
bb2880 22      * @param name 模型名称
H 23      * @return 流程模型列表
e7c126 24      */
bb2880 25     List<Model> getModelList(String name);
e7c126 26
H 27     /**
28      * 创建流程模型
29      *
30      * @param modelVO 创建信息
31      * @return 创建的流程模型的编号
32      */
bb2880 33     String createModel(@Valid BpmModelSaveReqVO modelVO);
e7c126 34
H 35     /**
36      * 获得流程模块
37      *
38      * @param id 编号
39      * @return 流程模型
40      */
41     Model getModel(String id);
42
43     /**
44      * 获得流程模型的 BPMN XML
45      *
46      * @param id 编号
47      * @return BPMN XML
48      */
49     byte[] getModelBpmnXML(String id);
50
51     /**
bb2880 52      * 修改流程模型的 BPMN XML
H 53      *
54      * @param id      编号
55      * @param bpmnXml BPMN XML
56      */
57     void updateModelBpmnXml(String id, String bpmnXml);
58
59     /**
e7c126 60      * 修改流程模型
H 61      *
bb2880 62      * @param userId 用户编号
e7c126 63      * @param updateReqVO 更新信息
H 64      */
bb2880 65     void updateModel(Long userId, @Valid BpmModelSaveReqVO updateReqVO);
H 66
67     /**
68      * 批量更新模型排序
69      *
70      * @param userId 用户编号
71      * @param ids 编号列表
72      */
73     void updateModelSortBatch(Long userId, List<String> ids);
e7c126 74
H 75     /**
76      * 将流程模型,部署成一个流程定义
77      *
bb2880 78      * @param userId 用户编号
e7c126 79      * @param id 编号
H 80      */
bb2880 81     void deployModel(Long userId, String id);
e7c126 82
H 83     /**
84      * 删除模型
85      *
bb2880 86      * @param userId  用户编号
e7c126 87      * @param id 编号
H 88      */
bb2880 89     void deleteModel(Long userId, String id);
e7c126 90
H 91     /**
92      * 修改模型的状态,实际更新的部署的流程定义的状态
93      *
bb2880 94      * @param userId 用户编号
e7c126 95      * @param id    编号
H 96      * @param state 状态
97      */
bb2880 98     void updateModelState(Long userId, String id, Integer state);
e7c126 99
H 100     /**
101      * 获得流程定义编号对应的 BPMN Model
102      *
103      * @param processDefinitionId 流程定义编号
104      * @return BPMN Model
105      */
106     BpmnModel getBpmnModelByDefinitionId(String processDefinitionId);
107
bb2880 108     // ========== 仿钉钉/飞书的精简模型 =========
H 109
110     /**
111      * 获取仿钉钉流程设计模型结构
112      *
113      * @param modelId 流程模型编号
114      * @return 仿钉钉流程设计模型结构
115      */
116     BpmSimpleModelNodeVO getSimpleModel(String modelId);
117
118     /**
119      * 更新仿钉钉流程设计模型
120      *
121      * @param userId 用户编号
122      * @param reqVO 请求信息
123      */
124     void updateSimpleModel(Long userId, @Valid BpmSimpleModelUpdateReqVO reqVO);
125
e7c126 126 }