Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
W
workflow-core
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
黄夏豪
workflow-core
Commits
a3e0d3d5
提交
a3e0d3d5
authored
3月 12, 2021
作者:
zhoushaopan
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
[工作流模块]流程的假删除,以及启用,禁用
上级
ccec6ef1
隐藏空白字符变更
内嵌
并排
正在显示
8 个修改的文件
包含
52 行增加
和
30 行删除
+52
-30
FlowsInfoController.java
...wcore/workflow_editer/controller/FlowsInfoController.java
+12
-0
WorkFlowController.java
...owcore/workflow_editer/controller/WorkFlowController.java
+3
-3
FlowsInfo.java
...m/tykj/workflowcore/workflow_editer/entity/FlowsInfo.java
+6
-0
SearchFlowInfoVo.java
...kflowcore/workflow_editer/entity/vo/SearchFlowInfoVo.java
+1
-1
WorkFlowService.java
...workflowcore/workflow_editer/service/WorkFlowService.java
+3
-3
WorkFlowServiceImpl.java
...ore/workflow_editer/service/impl/WorkFlowServiceImpl.java
+22
-18
FlowsInfoVo.java
...com/tykj/workflowcore/workflow_editer/vo/FlowsInfoVo.java
+1
-1
SuspendVo.java
...a/com/tykj/workflowcore/workflow_editer/vo/SuspendVo.java
+4
-4
没有找到文件。
src/main/java/com/tykj/workflowcore/workflow_editer/controller/FlowsInfoController.java
浏览文件 @
a3e0d3d5
...
...
@@ -61,6 +61,18 @@ public class FlowsInfoController {
public
String
editFlow
(
Long
id
){
return
flowInfoService
.
editFlow
(
id
).
getFilePath
();
}
@GetMapping
(
"/deploy"
)
@ApiOperation
(
value
=
"部署流程"
,
notes
=
"部署成功"
)
public
ResponseEntity
deploy
(
Long
id
)
throws
FileNotFoundException
{
//根据id 查询出flowsInfo
FlowsInfo
flowsInfo
=
flowInfoService
.
findById
(
id
);
if
(
flowsInfo
.
getState
()
==
0
){
return
ResultUtil
.
success
(
flowsInfo
.
getState
(),
"该流程已经被部署"
);
}
workFlowService
.
deployXml
(
flowsInfo
);
return
ResultUtil
.
success
(
flowsInfo
.
getState
(),
"流程部署成功"
);
}
@PostMapping
(
"/saveXml"
)
@ApiOperation
(
value
=
"保存xml以及其他流程信息"
)
...
...
src/main/java/com/tykj/workflowcore/workflow_editer/controller/WorkFlowController.java
浏览文件 @
a3e0d3d5
...
...
@@ -87,9 +87,9 @@ public class WorkFlowController {
@PostMapping
(
"/isSuspension"
)
@ApiOperation
(
"是否挂起"
)
public
ResponseEntity
isSuspension
(
@RequestBody
SuspendVo
suspendVo
){
workFlowService
.
suspendOrActivateProcessDefinitionByKey
(
suspendVo
);
return
ResultUtil
.
success
(
"该流程已被暂停"
);
public
void
isSuspension
(
Long
id
){
workFlowService
.
suspendOrActivateProcessDefinitionByKey
(
id
);
//
return ResultUtil.success("该流程已被暂停");
}
@DeleteMapping
(
"/deleteFlow"
)
...
...
src/main/java/com/tykj/workflowcore/workflow_editer/entity/FlowsInfo.java
浏览文件 @
a3e0d3d5
...
...
@@ -33,6 +33,10 @@ import java.util.Date;
@Where
(
clause
=
"deleted = 0"
)
@Api
(
"流程表"
)
public
class
FlowsInfo
extends
BaseEntity
{
@Id
@GeneratedValue
(
strategy
=
GenerationType
.
IDENTITY
)
@ApiModelProperty
(
"流程id"
)
private
Long
id
;
@ApiModelProperty
(
"发起人的Id"
)
private
Long
userId
;
...
...
@@ -71,4 +75,6 @@ public class FlowsInfo extends BaseEntity {
* @params: 部署id
*/
private
String
deployId
;
@ApiModelProperty
(
"是否删除"
)
private
Integer
deleted
=
0
;
}
src/main/java/com/tykj/workflowcore/workflow_editer/entity/vo/SearchFlowInfoVo.java
浏览文件 @
a3e0d3d5
...
...
@@ -17,7 +17,7 @@ import lombok.NoArgsConstructor;
@Data
public
class
SearchFlowInfoVo
extends
JpaCustomPage
{
@ApiModelProperty
(
value
=
"
部署状态"
,
notes
=
"0 已部署,1 未部署
"
)
@ApiModelProperty
(
value
=
"
状态"
,
notes
=
"0 可用,1 暂停
"
)
private
Integer
state
;
@ApiModelProperty
(
"流程名称"
)
...
...
src/main/java/com/tykj/workflowcore/workflow_editer/service/WorkFlowService.java
浏览文件 @
a3e0d3d5
...
...
@@ -42,7 +42,7 @@ public interface WorkFlowService {
* @param flowsInfo
* @return 主键id
*/
Integer
createFlow
(
@RequestBody
FlowsInfo
flowsInfo
);
Long
createFlow
(
@RequestBody
FlowsInfo
flowsInfo
);
/**
* 部署xml流程文件
...
...
@@ -110,9 +110,9 @@ public interface WorkFlowService {
/**
* 是否挂起
* @param
suspendVo
* @param
id 流程id
*/
void
suspendOrActivateProcessDefinitionByKey
(
SuspendVo
suspendVo
);
void
suspendOrActivateProcessDefinitionByKey
(
Long
id
);
/**
* 删除流程
...
...
src/main/java/com/tykj/workflowcore/workflow_editer/service/impl/WorkFlowServiceImpl.java
浏览文件 @
a3e0d3d5
...
...
@@ -6,6 +6,7 @@ import com.tykj.workflowcore.api.entity.Parameter;
import
com.tykj.workflowcore.api.service.SpringBeanService
;
import
com.tykj.workflowcore.workflow_editer.entity.*
;
import
com.tykj.workflowcore.workflow_editer.mapper.FlowsInfoMapper
;
import
com.tykj.workflowcore.workflow_editer.service.NodeInfoService
;
import
com.tykj.workflowcore.workflow_editer.service.UserService
;
import
com.tykj.workflowcore.workflow_editer.service.VariableStorageService
;
import
com.tykj.workflowcore.workflow_editer.service.WorkFlowService
;
...
...
@@ -22,6 +23,7 @@ import org.flowable.common.engine.impl.identity.Authentication;
import
org.flowable.engine.*
;
import
org.flowable.engine.impl.cfg.ProcessEngineConfigurationImpl
;
import
org.flowable.engine.repository.Deployment
;
import
org.flowable.engine.repository.DeploymentBuilder
;
import
org.flowable.engine.runtime.Execution
;
import
org.flowable.engine.runtime.ProcessInstance
;
import
org.flowable.image.ProcessDiagramGenerator
;
...
...
@@ -29,6 +31,8 @@ import org.flowable.task.api.Task;
import
org.flowable.task.api.TaskQuery
;
import
org.flowable.task.api.history.HistoricTaskInstance
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Qualifier
;
import
org.springframework.stereotype.Service
;
import
org.springframework.util.StringUtils
;
import
org.springframework.web.bind.annotation.RequestBody
;
...
...
@@ -133,7 +137,6 @@ public class WorkFlowServiceImpl implements WorkFlowService {
flowsInfo
.
setFlowKey
(
processId
);
flowsInfo
.
setFlowName
(
processName
);
flowsInfo
.
setResourceName
(
file
.
getOriginalFilename
());
flowsInfo
.
setCreatedTime
(
new
Date
());
//状态为未部署
flowsInfo
.
setState
(
1
);
flowsInfo
.
setFilePath
(
realPath
);
...
...
@@ -144,7 +147,7 @@ public class WorkFlowServiceImpl implements WorkFlowService {
@Override
public
void
flowXml
(
@RequestBody
FlowsInfoVo
flowsInfoVo
)
{
Integer
id
=
flowsInfoVo
.
getId
();
Long
id
=
flowsInfoVo
.
getId
();
String
flowKey
=
flowsInfoVo
.
getFlowKey
();
String
fileXml
=
flowsInfoVo
.
getFileXml
();
//生成xml文件
...
...
@@ -190,26 +193,23 @@ public class WorkFlowServiceImpl implements WorkFlowService {
FlowsInfo
flowsInfo
=
new
FlowsInfo
();
BeanUtils
.
copyProperties
(
flowsInfoVo
,
flowsInfo
);
flowsInfo
.
setResourceName
(
flowKey
+
"bpmn20.xml"
);
flowsInfo
.
setCreatedTime
(
new
Date
());
//状态为未部署
flowsInfo
.
setState
(
1
);
flowsInfo
.
setFilePath
(
classLoader
.
getResource
(
""
).
getPath
()+
"/xml/"
+
flowKey
+
"bpmn20.xml"
);
flowsInfo
.
setId
(
id
);
//更新并保存
FlowsInfo
save
=
flowsInfoMapper
.
save
(
flowsInfo
);
//自动部署
deployXml
(
save
);
flowsInfoMapper
.
save
(
flowsInfo
);
}
@Override
public
Integer
createFlow
(
FlowsInfo
flowsInfo
)
{
public
Long
createFlow
(
FlowsInfo
flowsInfo
)
{
FlowsInfo
flowsInfo1
=
flowsInfoMapper
.
save
(
flowsInfo
);
return
flowsInfo1
.
getId
();
}
@Override
public
void
deployXml
(
FlowsInfo
flowsInfo
)
{
public
void
deployXml
(
FlowsInfo
flowsInfo
)
throws
FileNotFoundException
{
Deployment
deploy
=
null
;
try
{
deploy
=
repositoryService
.
createDeployment
().
addInputStream
(
flowsInfo
.
getResourceName
(),
...
...
@@ -335,12 +335,21 @@ public class WorkFlowServiceImpl implements WorkFlowService {
@Override
public
void
suspendOrActivateProcessDefinitionByKey
(
SuspendVo
suspendVo
)
{
if
(
suspendVo
.
getSuspensionState
()
==
1
){
repositoryService
.
suspendProcessDefinitionByKey
(
suspendVo
.
getFlowKey
(),
true
,
new
Date
());
public
void
suspendOrActivateProcessDefinitionByKey
(
Long
id
)
{
//通过流程ID 查询出flowsInfo
FlowsInfo
flowsInfo
=
flowsInfoMapper
.
findById
(
id
).
get
();
String
flowKey
=
flowsInfo
.
getFlowKey
();
if
(
flowsInfo
.
getState
()
==
0
){
//挂起
repositoryService
.
suspendProcessDefinitionByKey
(
flowKey
,
true
,
new
Date
());
flowsInfo
.
setState
(
1
);
}
else
{
repositoryService
.
activateProcessDefinitionById
(
suspendVo
.
getFlowKey
(),
true
,
new
Date
());
//激活
repositoryService
.
activateProcessDefinitionByKey
(
flowKey
,
true
,
new
Date
());
flowsInfo
.
setState
(
0
);
}
flowsInfoMapper
.
save
(
flowsInfo
);
}
...
...
@@ -348,12 +357,7 @@ public class WorkFlowServiceImpl implements WorkFlowService {
public
void
deleteFlow
(
Long
id
)
{
//通过流程id查询出flowsInfo
FlowsInfo
flowsInfo
=
flowsInfoMapper
.
findById
(
id
).
get
();
//先判断流程是否已经部署
if
(
flowsInfo
.
getDeployId
()
!=
null
){
//已经部署了 (启用)
repositoryService
.
deleteDeployment
(
flowsInfo
.
getDeployId
());
}
flowsInfo
.
setDeleted
(
1
);
flowsInfo
.
setState
(
1
);
flowsInfoMapper
.
save
(
flowsInfo
);
}
...
...
src/main/java/com/tykj/workflowcore/workflow_editer/vo/FlowsInfoVo.java
浏览文件 @
a3e0d3d5
...
...
@@ -26,7 +26,7 @@ import java.util.List;
@NoArgsConstructor
public
class
FlowsInfoVo
{
@ApiModelProperty
(
"主键id"
)
private
Integer
id
;
private
Long
id
;
@ApiModelProperty
(
"发起人的名字"
)
private
Long
userName
;
...
...
src/main/java/com/tykj/workflowcore/workflow_editer/vo/SuspendVo.java
浏览文件 @
a3e0d3d5
...
...
@@ -18,13 +18,13 @@ import lombok.NoArgsConstructor;
public
class
SuspendVo
{
/**
* 流程
主键
* 流程
id
*/
private
String
flowKey
;
private
Long
id
;
/**
* 是否
挂起 1 挂起 0
激活
* 是否
可用 0 挂起 1
激活
*/
private
int
s
uspensionS
tate
;
private
int
state
;
}
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论