Skip to content

Commit 410fd9a

Browse files
挂起和激活
1 parent e346aa0 commit 410fd9a

File tree

13 files changed

+109
-19
lines changed

13 files changed

+109
-19
lines changed

activiti7-java/src/main/java/com/activiti/modules/controller/ProcessDefinitionController.java

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,17 @@ public R<Map<String, Object>> getDefinitionInfo(String deploymentId) {
5555
return R.ok(result);
5656
}
5757

58+
/**
59+
* 更新流程定义状态 激活或者挂起
60+
*
61+
* @param deploymentId 部署id
62+
*/
63+
@GetMapping("updateState")
64+
public R<String> updateState(String deploymentId) {
65+
processDefinitionService.updateState(deploymentId);
66+
return R.ok();
67+
}
68+
5869
/**
5970
* 部署流程
6071
*

activiti7-java/src/main/java/com/activiti/modules/entity/dto/workflow/DefinitionListDto.java

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,18 @@
1010
**/
1111
@Data
1212
public class DefinitionListDto {
13-
// 流程定义名称
13+
/**
14+
* 流程定义名称
15+
*/
1416
private String definitionName;
1517

16-
// 流程定义key
18+
/**
19+
* 流程定义key
20+
*/
1721
private String definitionKey;
22+
23+
/**
24+
* 是否激活
25+
*/
26+
private boolean isActive;
1827
}

activiti7-java/src/main/java/com/activiti/modules/entity/vo/workflow/DefinitionListVo.java

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
11
package com.activiti.modules.entity.vo.workflow;
22

3+
import com.fasterxml.jackson.annotation.JsonFormat;
34
import lombok.Data;
45

6+
import java.util.Date;
57
import java.util.Map;
68

79
/**
@@ -42,6 +44,14 @@ public class DefinitionListVo {
4244
*/
4345
private Map<String, Object> formJson;
4446

47+
/**
48+
* 是否挂起状态
49+
*/
50+
private boolean isSuspended;
4551

46-
52+
/**
53+
* 部署时间
54+
*/
55+
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
56+
private Date deploymentTime;
4757
}

activiti7-java/src/main/java/com/activiti/modules/service/ProcessDefinitionService.java

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44
import com.activiti.modules.entity.dto.workflow.DeployProcessDto;
55
import com.activiti.utils.page.TableDataInfo;
66

7-
import java.io.IOException;
87
import java.util.Map;
98

109
/**
@@ -25,6 +24,7 @@ public interface ProcessDefinitionService {
2524

2625
/**
2726
* 获取流程定义xml
27+
*
2828
* @param deploymentId 部署id
2929
* @return 流程xml字符串
3030
*/
@@ -36,17 +36,25 @@ public interface ProcessDefinitionService {
3636
* @param deploymentId 部署id
3737
* @return 流程xml字符串和流程表单
3838
*/
39-
Map<String,Object> getDefinitionInfo(String deploymentId);
39+
Map<String, Object> getDefinitionInfo(String deploymentId);
4040

41+
/**
42+
* 更新流程定义状态 激活或者挂起
43+
*
44+
* @param deploymentId 部署id
45+
*/
46+
void updateState(String deploymentId);
4147

4248
/**
4349
* 部署流程
50+
*
4451
* @param dto 参数
4552
*/
4653
void deployProcess(DeployProcessDto dto);
4754

4855
/**
4956
* 删除流程
57+
*
5058
* @param deploymentId 部署id
5159
*/
5260
void delete(String deploymentId);

activiti7-java/src/main/java/com/activiti/modules/service/impl/ProcessDefinitionServiceImpl.java

Lines changed: 25 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
package com.activiti.modules.service.impl;
22

3-
import com.activiti.modules.dao.TableDao;
43
import com.activiti.modules.entity.SysDeployEntity;
54
import com.activiti.modules.entity.SysDeployNodeEntity;
65
import com.activiti.modules.entity.TableColumns;
@@ -70,19 +69,22 @@ public TableDataInfo queryPage(DefinitionListDto dto) {
7069
.orderByProcessDefinitionVersion().desc();
7170
query.processDefinitionNameLike("%" + dto.getDefinitionName() + "%");
7271
query.processDefinitionKeyLike("%" + dto.getDefinitionKey() + "%");
72+
if (dto.isActive()) query.active();
7373
List<ProcessDefinition> list =
7474
query.listPage(params.getPageNo() - 1, params.getPageSize());
7575
List<DefinitionListVo> resultList = new ArrayList<>();
7676
for (ProcessDefinition item : list) {
7777
DefinitionListVo vo = new DefinitionListVo();
78+
Deployment deployment = repositoryService.createDeploymentQuery()
79+
.deploymentId(item.getDeploymentId())
80+
.singleResult();
81+
vo.setDeploymentTime(deployment.getDeploymentTime());
7882
BeanUtils.copyProperties(item, vo);
7983
// 获取主表单
8084
SysDeployNodeEntity mainForm = deployNodeService.getOne(new LambdaQueryWrapper<SysDeployNodeEntity>()
8185
.eq(SysDeployNodeEntity::getDeployId, item.getDeploymentId())
8286
.eq(SysDeployNodeEntity::getIsMainFrom, 1));
83-
if (mainForm != null) {
84-
vo.setFormJson(mainForm.getFormJson());
85-
}
87+
if (mainForm != null) vo.setFormJson(mainForm.getFormJson());
8688
resultList.add(vo);
8789
}
8890
return PageUtils.getDataTable(resultList, query.count());
@@ -124,7 +126,6 @@ public String getDefinitionXml(String deploymentId) {
124126
@Transactional
125127
@Override
126128
public void deployProcess(DeployProcessDto dto) {
127-
128129
// 部署xml
129130
Deployment deploy = repositoryService.createDeployment().disableBpmnValidation()
130131
.addString("index.bpmn", dto.getXml())
@@ -221,11 +222,29 @@ public Map<String, Object> getDefinitionInfo(String deploymentId) {
221222
nodeColumnsVos.add(nodeColumnsVo);
222223
}
223224
result.put("nodeColumns", nodeColumnsVos);
224-
225225
}
226226
return result;
227227
}
228228

229+
/**
230+
* 更新流程定义状态 激活或者挂起
231+
*
232+
* @param deploymentId 部署id
233+
*/
234+
@Override
235+
public void updateState(String deploymentId) {
236+
ProcessDefinition definition = repositoryService.createProcessDefinitionQuery()
237+
.deploymentId(deploymentId)
238+
.singleResult();
239+
if (definition == null) throw new AException("未知流程");
240+
boolean isSuspended = repositoryService.isProcessDefinitionSuspended(definition.getId());
241+
if (isSuspended) {
242+
repositoryService.activateProcessDefinitionById(definition.getId());
243+
} else {
244+
repositoryService.suspendProcessDefinitionById(definition.getId());
245+
}
246+
}
247+
229248
/**
230249
* 删除流程
231250
*

activiti7-ui/src/components/BpmnJs/components/Panel/components/ElementGenerations.vue

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,7 @@ const updateElementDoc = (value: string) => {
8888
* 初始化节点名称,如果节点名称等于空预赋值
8989
*/
9090
const initElementName = () => {
91+
elementName.value = getNameValue(scopedElement) || "";
9192
if (elementName.value) return;
9293
const item = list.find((t) => t.elementType === modeler.getActive.type);
9394
const elements: any[] = modeler.getElRegistry._elements;
@@ -99,7 +100,7 @@ const initElementName = () => {
99100
// 点击用户节点,初始化用
100101
EventBus.on("element-init", function () {
101102
scopedElement = modeler.getActive;
102-
getElementData();
103103
initElementName();
104+
getElementData();
104105
});
105106
</script>

activiti7-ui/src/store/modeler.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -249,7 +249,6 @@ export default defineStore("modeler", {
249249
this.removeNodeColumn(tableColumn);
250250
tableItem.columns.push(tableColumn);
251251
}
252-
console.log("nodeColumns->>>/", this.nodeColumns);
253252
}
254253
}
255254
});

activiti7-ui/src/views/activiti/my/start/model/SelectProcess.vue

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ import baseService from "@/service/baseService";
3636
const queryForm = reactive({
3737
definitionName: "",
3838
definitionKey: "",
39+
active: true,
3940
pageNo: 1,
4041
pageSize: 10
4142
});

activiti7-ui/src/views/activiti/workflow/definition/index.vue

Lines changed: 28 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,16 +22,25 @@
2222
<el-table-column label="流程id" align="center" prop="id" />
2323
<el-table-column label="流程名称" align="center" prop="name" />
2424
<el-table-column label="流程key" align="center" prop="key" />
25-
<el-table-column label="版本" align="center" prop="version" />
26-
<el-table-column label="主表单" align="center" prop="version">
25+
<el-table-column label="版本" align="center" prop="version" width="100" />
26+
<el-table-column label="主表单" align="center" width="100">
2727
<template #default="scoped">
2828
<MainForm :form-json="scoped.row.formJson" />
2929
<h5 v-if="!scoped.row.formJson">暂无信息</h5>
3030
</template>
3131
</el-table-column>
32+
<el-table-column label="状态" align="center">
33+
<template #default="scoped">
34+
<el-tag v-if="scoped.row.suspended" type="danger">挂起</el-tag>
35+
<el-tag v-else>激活</el-tag>
36+
</template>
37+
</el-table-column>
38+
<el-table-column label="部署时间" align="center" prop="deploymentTime" />
3239
<el-table-column>
3340
<template #default="scope">
3441
<el-button link type="primary" icon="Crop" @click="handleDesign(scope.row.deploymentId)">设计</el-button>
42+
<el-button link type="primary" icon="VideoPlay" @click="updateState(scope.row.deploymentId)" v-if="scope.row.suspended">激活</el-button>
43+
<el-button link type="primary" icon="VideoPause" @click="updateState(scope.row.deploymentId)" v-else>挂起</el-button>
3544
<el-button link type="primary" icon="Pointer" @click="handleDetails(scope.row.deploymentId)">查看</el-button>
3645
<el-button link type="primary" icon="Delete" @click="handleDelete(scope.row.deploymentId)">删除</el-button>
3746
</template>
@@ -125,6 +134,23 @@ function handleDesign(deploymentId: string) {
125134
deployBpmn.value.open(deploymentId);
126135
}
127136
137+
/**
138+
* 更新流程定义状态 激活或者挂起
139+
* @param deploymentId 流程部署id
140+
*/
141+
function updateState(deploymentId: any) {
142+
ElMessageBox.confirm("确认要删除当前项吗? 流程实例启动的也将被删除,谨慎删除", "提示").then(() => {
143+
baseService.get(`/processDefinition/updateState?deploymentId=${deploymentId}`).then((res) => {
144+
if (res.code === 200) {
145+
ElMessage.success(res.msg);
146+
getList();
147+
} else {
148+
ElMessage.error(res.msg);
149+
}
150+
});
151+
});
152+
}
153+
128154
/**
129155
* 删除按钮操作
130156
* @param deploymentId 流程部署id

document/bpmnDataTable.md

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -38,11 +38,9 @@
3838

3939
#### 三.关于表单字段和数据库对应关系扩展
4040

41-
> `getWidgetDataType` 是组件和数据库类型对应关系,如: 绑定已有的表后,输入框可以选择数据库中的类型配置
42-
>
43-
> `getDefaultWidgetDataType` 是默认组件对应数据库的类型,如: 绑定创建数据库表后,输入框绑定字段后生成的数据库类型以字段长度
41+
> 需要扩展字段或者数据库需要修改或新增 类 `DbConfig` 和 文件`resources` 下的 `widgetDataType`
4442
4543
![](images/bdt_9.png)
4644

47-
45+
![](images/bdt_10.png)
4846

0 commit comments

Comments
 (0)