Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
W
workflow-core
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
黄夏豪
workflow-core
Commits
3b6f14f0
提交
3b6f14f0
authored
3月 11, 2021
作者:
ww1xhqc
浏览文件
操作
浏览文件
下载
差异文件
Merge remote-tracking branch 'origin/master'
上级
dc778b07
e24c88b9
显示空白字符变更
内嵌
并排
正在显示
20 个修改的文件
包含
344 行增加
和
96 行删除
+344
-96
Parameter.java
...main/java/com/tykj/workflowcore/api/entity/Parameter.java
+3
-0
ResultUtil.java
...in/java/com/tykj/workflowcore/base/result/ResultUtil.java
+6
-0
FlowsInfoController.java
...wcore/workflow_editer/controller/FlowsInfoController.java
+16
-13
FormPageController.java
...owcore/workflow_editer/controller/FormPageController.java
+4
-3
UserController.java
...rkflowcore/workflow_editer/controller/UserController.java
+57
-0
WorkFlowController.java
...owcore/workflow_editer/controller/WorkFlowController.java
+17
-18
CommandGetValue.java
.../workflowcore/workflow_editer/entity/CommandGetValue.java
+34
-0
VariableStorage.java
.../workflowcore/workflow_editer/entity/VariableStorage.java
+7
-2
WorkFlowRole.java
...ykj/workflowcore/workflow_editer/entity/WorkFlowRole.java
+10
-2
WorkFlowRoleType.java
...workflowcore/workflow_editer/entity/WorkFlowRoleType.java
+29
-0
PageEntityVo.java
.../workflowcore/workflow_editer/entity/vo/PageEntityVo.java
+1
-1
VariableStorageVo.java
...flowcore/workflow_editer/entity/vo/VariableStorageVo.java
+41
-0
FlowsInfoMapper.java
.../workflowcore/workflow_editer/mapper/FlowsInfoMapper.java
+6
-0
VariableStorageMapper.java
...lowcore/workflow_editer/mapper/VariableStorageMapper.java
+3
-1
UserService.java
...ykj/workflowcore/workflow_editer/service/UserService.java
+11
-1
VariableStorageService.java
...wcore/workflow_editer/service/VariableStorageService.java
+4
-2
WorkFlowService.java
...workflowcore/workflow_editer/service/WorkFlowService.java
+9
-7
VariableStorageServiceImpl.java
...kflow_editer/service/impl/VariableStorageServiceImpl.java
+9
-5
WorkFlowServiceImpl.java
...ore/workflow_editer/service/impl/WorkFlowServiceImpl.java
+75
-39
InvokeRequestVo.java
...tykj/workflowcore/workflow_editer/vo/InvokeRequestVo.java
+2
-2
没有找到文件。
src/main/java/com/tykj/workflowcore/api/entity/Parameter.java
浏览文件 @
3b6f14f0
...
@@ -18,6 +18,9 @@ public class Parameter {
...
@@ -18,6 +18,9 @@ public class Parameter {
@ApiModelProperty
(
value
=
"类名"
)
@ApiModelProperty
(
value
=
"类名"
)
private
String
className
;
private
String
className
;
@ApiModelProperty
(
"流程表达式"
)
private
String
exp
;
/**
/**
* Map形式的实例对象
* Map形式的实例对象
* key为字段名 value为字段值
* key为字段名 value为字段值
...
...
src/main/java/com/tykj/workflowcore/base/result/ResultUtil.java
浏览文件 @
3b6f14f0
...
@@ -21,6 +21,12 @@ public class ResultUtil<T> {
...
@@ -21,6 +21,12 @@ public class ResultUtil<T> {
public
static
<
T
>
ResponseEntity
<
ResultObj
<
T
>>
success
(
T
data
,
String
message
)
{
public
static
<
T
>
ResponseEntity
<
ResultObj
<
T
>>
success
(
T
data
,
String
message
)
{
return
ResponseEntity
.
ok
(
new
ResultObj
<>(
data
,
message
));
return
ResponseEntity
.
ok
(
new
ResultObj
<>(
data
,
message
));
}
}
/**
* 成功返回结果
*/
public
static
<
T
>
ResponseEntity
<
ResultObj
<
T
>>
success
(
String
message
)
{
return
ResponseEntity
.
ok
(
new
ResultObj
<>(
message
));
}
/**
/**
* 成功返回结果
* 成功返回结果
...
...
src/main/java/com/tykj/workflowcore/workflow_editer/controller/FlowsInfoController.java
浏览文件 @
3b6f14f0
...
@@ -3,7 +3,9 @@ package com.tykj.workflowcore.workflow_editer.controller;
...
@@ -3,7 +3,9 @@ package com.tykj.workflowcore.workflow_editer.controller;
import
com.tykj.workflowcore.base.result.ResultUtil
;
import
com.tykj.workflowcore.base.result.ResultUtil
;
import
com.tykj.workflowcore.workflow_editer.entity.FlowsInfo
;
import
com.tykj.workflowcore.workflow_editer.entity.FlowsInfo
;
import
com.tykj.workflowcore.workflow_editer.entity.NodePage
;
import
com.tykj.workflowcore.workflow_editer.entity.NodePage
;
import
com.tykj.workflowcore.workflow_editer.entity.VariableStorage
;
import
com.tykj.workflowcore.workflow_editer.entity.WorkFlowUser
;
import
com.tykj.workflowcore.workflow_editer.entity.WorkFlowUser
;
import
com.tykj.workflowcore.workflow_editer.entity.vo.VariableStorageVo
;
import
com.tykj.workflowcore.workflow_editer.service.*
;
import
com.tykj.workflowcore.workflow_editer.service.*
;
import
com.tykj.workflowcore.workflow_editer.vo.DeployedVo
;
import
com.tykj.workflowcore.workflow_editer.vo.DeployedVo
;
import
com.tykj.workflowcore.workflow_editer.vo.FlowsInfoVo
;
import
com.tykj.workflowcore.workflow_editer.vo.FlowsInfoVo
;
...
@@ -80,31 +82,25 @@ public class FlowsInfoController {
...
@@ -80,31 +82,25 @@ public class FlowsInfoController {
return
deployedVos
;
return
deployedVos
;
}
}
// @PostMapping("/saveXml")
// @ApiOperation("保存xml")
// public String saveXml(@RequestParam("file") MultipartFile file){
// String xml = workFlowService.saveXml(file);
// return xml;
// }
@GetMapping
(
"/deploy"
)
@GetMapping
(
"/deploy"
)
@ApiOperation
(
value
=
"部署流程"
,
notes
=
"0 部署成功"
)
@ApiOperation
(
value
=
"部署流程"
,
notes
=
"0 部署成功"
)
public
Integer
deploy
(
Long
id
)
throws
FileNotFoundException
{
public
ResponseEntity
deploy
(
Long
id
)
throws
FileNotFoundException
{
//根据id 查询出flowsInfo
//根据id 查询出flowsInfo
FlowsInfo
flowsInfo
=
flowInfoService
.
findById
(
id
);
FlowsInfo
flowsInfo
=
flowInfoService
.
findById
(
id
);
if
(
flowsInfo
.
getState
()
==
0
){
if
(
flowsInfo
.
getState
()
==
0
){
return
0
;
return
ResultUtil
.
success
(
flowsInfo
.
getState
(),
"该流程已经被部署"
)
;
}
}
workFlowService
.
deployXml
(
flowsInfo
);
workFlowService
.
deployXml
(
flowsInfo
);
return
flowsInfo
.
getState
(
);
return
ResultUtil
.
success
(
flowsInfo
.
getState
(),
"流程部署成功"
);
}
}
@PostMapping
(
"/saveXml02"
)
@PostMapping
(
"/saveXml02"
)
@ApiOperation
(
value
=
"保存xml02"
)
@ApiOperation
(
value
=
"保存xml02"
)
public
void
saveXml02
(
@RequestBody
FlowsInfoVo
flowsInfoVo
)
{
public
ResponseEntity
saveXml02
(
@RequestBody
FlowsInfoVo
flowsInfoVo
)
{
List
<
NodePage
>
nodePages
=
flowsInfoVo
.
getNodePages
();
List
<
NodePage
>
nodePages
=
flowsInfoVo
.
getNodePages
();
nodePageService
.
saveNodePages
(
nodePages
);
nodePageService
.
saveNodePages
(
nodePages
);
workFlowService
.
flowXml
(
flowsInfoVo
);
workFlowService
.
flowXml
(
flowsInfoVo
);
return
ResultUtil
.
success
(
"文件保存成功"
);
}
}
@PostMapping
(
"/updateByProcessName"
)
@PostMapping
(
"/updateByProcessName"
)
...
@@ -124,8 +120,15 @@ public class FlowsInfoController {
...
@@ -124,8 +120,15 @@ public class FlowsInfoController {
@PostMapping
(
"/createFlow"
)
@PostMapping
(
"/createFlow"
)
@ApiModelProperty
(
"创建成功"
)
@ApiModelProperty
(
"创建成功"
)
public
Long
createFlow
(
@RequestBody
FlowsInfoVo
flowsInfovo
){
public
ResponseEntity
createFlow
(
@RequestBody
FlowsInfoVo
flowsInfovo
){
return
workFlowService
.
createFlow
(
flowsInfovo
.
toEntity
());
return
ResultUtil
.
success
(
workFlowService
.
createFlow
(
flowsInfovo
.
toEntity
()),
"流程创建成功"
);
}
@PostMapping
(
"/saveVariableStorage"
)
@ApiModelProperty
(
"保存函数调用配置"
)
public
ResponseEntity
saveVariableStorage
(
@RequestBody
VariableStorageVo
variableStorageVo
){
VariableStorage
variableStorage
=
variableStorageService
.
saveVariableStorageService
(
variableStorageVo
.
toEntity
());
return
ResultUtil
.
success
(
variableStorage
,
"调用接口成功"
);
}
}
@PostMapping
(
"/test"
)
@PostMapping
(
"/test"
)
...
...
src/main/java/com/tykj/workflowcore/workflow_editer/controller/FormPageController.java
浏览文件 @
3b6f14f0
...
@@ -25,8 +25,8 @@ import java.util.List;
...
@@ -25,8 +25,8 @@ import java.util.List;
*
*
* @Author: zsp
* @Author: zsp
*/
*/
@RestController
(
"/formPage"
)
@RestController
()
@RequestMapping
@RequestMapping
(
"/formPage"
)
@Api
(
"页面管理接口"
)
@Api
(
"页面管理接口"
)
public
class
FormPageController
{
public
class
FormPageController
{
...
@@ -63,8 +63,9 @@ public class FormPageController {
...
@@ -63,8 +63,9 @@ public class FormPageController {
@ApiOperation
(
"删除页面"
)
@ApiOperation
(
"删除页面"
)
@DeleteMapping
(
"deletePage"
)
@DeleteMapping
(
"deletePage"
)
public
void
deletePage
(
Long
id
){
public
ResponseEntity
deletePage
(
Long
id
){
formPageService
.
deletePage
(
id
);
formPageService
.
deletePage
(
id
);
return
ResultUtil
.
success
(
"删除页面成功"
);
}
}
@PostMapping
(
"/findByPages"
)
@PostMapping
(
"/findByPages"
)
...
...
src/main/java/com/tykj/workflowcore/workflow_editer/controller/UserController.java
0 → 100644
浏览文件 @
3b6f14f0
package
com
.
tykj
.
workflowcore
.
workflow_editer
.
controller
;
import
com.tykj.workflowcore.base.result.ResultUtil
;
import
com.tykj.workflowcore.workflow_editer.entity.WorkFlowRole
;
import
com.tykj.workflowcore.workflow_editer.entity.WorkFlowRoleType
;
import
com.tykj.workflowcore.workflow_editer.entity.WorkFlowUser
;
import
com.tykj.workflowcore.workflow_editer.service.UserService
;
import
io.swagger.annotations.Api
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.http.ResponseEntity
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
import
java.util.List
;
/**
* @author HuangXiahao
* @version V1.0
* @class UserController
* @packageName com.tykj.workflowcore.workflow_editer.controller
**/
@RestController
()
@RequestMapping
(
"/workflow/user"
)
@Api
(
"页面管理接口"
)
public
class
UserController
{
@Autowired
(
required
=
false
)
UserService
userService
;
@PostMapping
(
"/getCurrentUser"
)
public
ResponseEntity
getCurrentUser
(){
WorkFlowUser
currentUser
=
userService
.
getCurrentUser
();
return
ResultUtil
.
success
(
currentUser
,
"查询成功"
);
}
@PostMapping
(
"/getAllUser"
)
public
ResponseEntity
getAllUser
(){
List
<
WorkFlowUser
>
allUser
=
userService
.
getAllUser
();
return
ResultUtil
.
success
(
allUser
,
"查询成功"
);
}
@PostMapping
(
"/getAllRole"
)
public
ResponseEntity
getAllRole
(
String
roleType
){
List
<
WorkFlowRole
>
allRole
=
userService
.
getAllRole
(
roleType
);
return
ResultUtil
.
success
(
allRole
,
"查询成功"
);
}
@PostMapping
(
"/getRoleType"
)
public
ResponseEntity
getRoleType
(){
List
<
WorkFlowRoleType
>
roleType
=
userService
.
getRoleType
();
return
ResultUtil
.
success
(
roleType
,
"查询成功"
);
}
}
src/main/java/com/tykj/workflowcore/workflow_editer/controller/WorkFlowController.java
浏览文件 @
3b6f14f0
package
com
.
tykj
.
workflowcore
.
workflow_editer
.
controller
;
package
com
.
tykj
.
workflowcore
.
workflow_editer
.
controller
;
import
com.tykj.workflowcore.api.entity.InvokeRequest
;
import
com.tykj.workflowcore.api.entity.InvokeRequest
;
import
com.tykj.workflowcore.base.result.ResultUtil
;
import
com.tykj.workflowcore.workflow_editer.entity.FlowsInfo
;
import
com.tykj.workflowcore.workflow_editer.entity.FlowsInfo
;
import
com.tykj.workflowcore.workflow_editer.service.FlowInfoService
;
import
com.tykj.workflowcore.workflow_editer.service.FlowInfoService
;
import
com.tykj.workflowcore.workflow_editer.service.WorkFlowService
;
import
com.tykj.workflowcore.workflow_editer.service.WorkFlowService
;
import
com.tykj.workflowcore.workflow_editer.util.PageUtil
;
import
com.tykj.workflowcore.workflow_editer.vo.*
;
import
com.tykj.workflowcore.workflow_editer.vo.*
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiModelProperty
;
import
io.swagger.annotations.ApiModelProperty
;
import
io.swagger.annotations.ApiOperation
;
import
io.swagger.annotations.ApiOperation
;
import
org.flowable.task.api.Task
;
import
org.flowable.task.api.Task
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.http.ResponseEntity
;
import
org.springframework.web.bind.annotation.*
;
import
org.springframework.web.bind.annotation.*
;
import
java.io.FileNotFoundException
;
import
java.io.FileNotFoundException
;
...
@@ -65,43 +66,40 @@ public class WorkFlowController {
...
@@ -65,43 +66,40 @@ public class WorkFlowController {
@PostMapping
(
"/findTaskDetail"
)
@PostMapping
(
"/findTaskDetail"
)
@ApiOperation
(
"任务个人待办详情"
)
@ApiOperation
(
"任务个人待办详情"
)
public
Map
<
String
,
Object
>
findTaskDetail
(
Long
userId
,
String
taskId
){
public
Map
<
String
,
Object
>
findTaskDetail
(
String
taskId
){
return
workFlowService
.
findTaskDetail
(
taskId
);
return
workFlowService
.
findTaskDetail
(
userId
,
taskId
);
}
}
@PostMapping
(
"/completeTask"
)
@PostMapping
(
"/completeTask"
)
@ApiOperation
(
"完成任务"
)
@ApiOperation
(
"完成任务"
)
public
void
completeTask
(
@RequestBody
TaskVo
taskVo
){
public
ResponseEntity
completeTask
(
@RequestBody
TaskVo
taskVo
){
workFlowService
.
completeTask
(
taskVo
);
workFlowService
.
completeTask
(
taskVo
);
}
return
ResultUtil
.
success
(
"该任务已完成"
);
@PostMapping
(
"/getVariable"
)
@ApiOperation
(
"获取变量池"
)
public
void
getVariable
(){
// workFlowService.setVariables()
}
}
@PostMapping
(
"/isTransferTask"
)
@PostMapping
(
"/isTransferTask"
)
@ApiOperation
(
"是否转交任务"
)
@ApiOperation
(
"是否转交任务"
)
public
void
isTransferTask
(
@RequestBody
TransferTask
transferTask
){
public
ResponseEntity
isTransferTask
(
@RequestBody
TransferTask
transferTask
){
workFlowService
.
transferTask
(
transferTask
);
workFlowService
.
transferTask
(
transferTask
);
return
ResultUtil
.
success
(
"该任务转交成功"
);
}
}
@PostMapping
(
"/isSuspension"
)
@PostMapping
(
"/isSuspension"
)
@ApiOperation
(
"是否挂起"
)
@ApiOperation
(
"是否挂起"
)
public
void
isSuspension
(
@RequestBody
SuspendVo
suspendVo
){
public
ResponseEntity
isSuspension
(
@RequestBody
SuspendVo
suspendVo
){
workFlowService
.
suspendOrActivateProcessDefinitionByKey
(
suspendVo
);
workFlowService
.
suspendOrActivateProcessDefinitionByKey
(
suspendVo
);
return
ResultUtil
.
success
(
"该流程已被挂起"
);
}
}
@DeleteMapping
(
"/deleteFlow"
)
@DeleteMapping
(
"/deleteFlow"
)
@ApiOperation
(
"是否删除"
)
@ApiOperation
(
"是否删除"
)
public
void
deleteFlow
(
String
deployId
){
public
ResponseEntity
deleteFlow
(
String
deployId
){
//根据流程id查询出flowsInfo
//根据流程id查询出flowsInfo
FlowsInfo
flowsInfo
=
flowInfoService
.
findByDeployId
(
deployId
);
FlowsInfo
flowsInfo
=
flowInfoService
.
findByDeployId
(
deployId
);
//删除flowsInfo
//删除flowsInfo
flowInfoService
.
deleteById
(
flowsInfo
.
getId
());
flowInfoService
.
deleteById
(
flowsInfo
.
getId
());
workFlowService
.
deleteFlow
(
deployId
);
workFlowService
.
deleteFlow
(
deployId
);
return
ResultUtil
.
success
(
"该流程已被删除"
);
}
}
@PostMapping
(
"/flowProgress"
)
@PostMapping
(
"/flowProgress"
)
...
@@ -110,9 +108,10 @@ public class WorkFlowController {
...
@@ -110,9 +108,10 @@ public class WorkFlowController {
workFlowService
.
flowProgress
(
flowProcessVo
.
getResponse
(),
flowProcessVo
.
getProcessInstanceId
());
workFlowService
.
flowProgress
(
flowProcessVo
.
getResponse
(),
flowProcessVo
.
getProcessInstanceId
());
}
}
@PostMapping
(
"
getInvokeRequest
"
)
@PostMapping
(
"
/findHistoryTask
"
)
@ApiOperation
(
"
调用服务接口
"
)
@ApiOperation
(
"
已办任务
"
)
public
InvokeRequest
getInvokeRequest
(
@RequestBody
InvokeRequestVo
invokeRequestVo
)
throws
IOException
{
public
List
findHistoryTask
(
String
userId
)
{
return
workFlowService
.
saveInvokeRequest
(
invokeRequestVo
);
return
workFlowService
.
findHistoryTask
(
userId
);
}
}
}
}
src/main/java/com/tykj/workflowcore/workflow_editer/entity/CommandGetValue.java
0 → 100644
浏览文件 @
3b6f14f0
package
com
.
tykj
.
workflowcore
.
workflow_editer
.
entity
;
import
org.flowable.common.engine.api.delegate.Expression
;
import
org.flowable.common.engine.impl.interceptor.Command
;
import
org.flowable.common.engine.impl.interceptor.CommandContext
;
import
org.flowable.engine.impl.persistence.entity.ExecutionEntity
;
import
org.flowable.engine.impl.persistence.entity.ExecutionEntityManager
;
import
org.flowable.engine.impl.util.CommandContextUtil
;
/**
* @author HuangXiahao
* @version V1.0
* @class Test
* @packageName com.example.flowable.expense.controller
**/
public
class
CommandGetValue
implements
Command
<
Object
>
{
private
String
processInstanceId
;
private
Expression
expression
;
public
CommandGetValue
(
String
processInstanceId
,
Expression
expression
)
{
this
.
processInstanceId
=
processInstanceId
;
this
.
expression
=
expression
;
}
@Override
public
Object
execute
(
CommandContext
commandContext
)
{
ExecutionEntityManager
executionEntityManager
=
CommandContextUtil
.
getExecutionEntityManager
();
ExecutionEntity
executionEntity
=
executionEntityManager
.
findChildExecutionsByProcessInstanceId
(
processInstanceId
).
get
(
0
);
return
expression
.
getValue
(
executionEntity
);
}
}
src/main/java/com/tykj/workflowcore/workflow_editer/entity/VariableStorage.java
浏览文件 @
3b6f14f0
...
@@ -34,8 +34,13 @@ public class VariableStorage {
...
@@ -34,8 +34,13 @@ public class VariableStorage {
@ApiModelProperty
(
"流程主键"
)
@ApiModelProperty
(
"流程主键"
)
private
String
flowKey
;
private
String
flowKey
;
@ApiModelProperty
(
"
变量池
"
)
@ApiModelProperty
(
"
调用类名
"
)
private
String
variabl
e
;
private
String
classNam
e
;
@ApiModelProperty
(
"调用方法"
)
private
String
method
;
@ApiModelProperty
(
"详情json"
)
private
String
variableInfo
;
}
}
src/main/java/com/tykj/workflowcore/workflow_editer/entity/WorkFlowRole.java
浏览文件 @
3b6f14f0
...
@@ -20,12 +20,20 @@ import java.util.List;
...
@@ -20,12 +20,20 @@ import java.util.List;
@NoArgsConstructor
@NoArgsConstructor
public
class
WorkFlowRole
{
public
class
WorkFlowRole
{
private
String
roleName
;
/**
* 例如研发部、管理员等
*/
private
String
name
;
/**
/**
* 例如: department,subject 等
* 例如: department,subject 等
*/
*/
private
String
type
;
private
String
roleType
;
/**
* 权限在数据库中的ID
*/
private
String
roleId
;
}
}
src/main/java/com/tykj/workflowcore/workflow_editer/entity/WorkFlowRoleType.java
0 → 100644
浏览文件 @
3b6f14f0
package
com
.
tykj
.
workflowcore
.
workflow_editer
.
entity
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
/**
* ClassName: Role
* Package: com.tykj.entity
* Description:
* Datetime: 2021/2/23 15:05
*
* @Author: zsp
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public
class
WorkFlowRoleType
{
//例如:部门、角色
private
String
name
;
/**
* 例如: department,subject 等
*/
private
String
type
;
}
src/main/java/com/tykj/workflowcore/workflow_editer/entity/PageEntityVo.java
→
src/main/java/com/tykj/workflowcore/workflow_editer/entity/
vo/
PageEntityVo.java
浏览文件 @
3b6f14f0
package
com
.
tykj
.
workflowcore
.
workflow_editer
.
entity
;
package
com
.
tykj
.
workflowcore
.
workflow_editer
.
entity
.
vo
;
import
com.tykj.workflowcore.model_layer.annotatiion.WorkFlowCoreNoScan
;
import
com.tykj.workflowcore.model_layer.annotatiion.WorkFlowCoreNoScan
;
import
lombok.AllArgsConstructor
;
import
lombok.AllArgsConstructor
;
...
...
src/main/java/com/tykj/workflowcore/workflow_editer/entity/vo/VariableStorageVo.java
0 → 100644
浏览文件 @
3b6f14f0
package
com
.
tykj
.
workflowcore
.
workflow_editer
.
entity
.
vo
;
import
com.tykj.workflowcore.workflow_editer.entity.VariableStorage
;
import
com.tykj.workflowcore.workflow_editer.vo.OutFormPageVo
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
org.springframework.beans.BeanUtils
;
import
javax.persistence.GeneratedValue
;
import
javax.persistence.GenerationType
;
import
javax.persistence.Id
;
/**
* @author HuangXiahao
* @version V1.0
* @class VariableStorageVo
* @packageName com.tykj.workflowcore.workflow_editer.entity.vo
**/
@Data
@AllArgsConstructor
@NoArgsConstructor
public
class
VariableStorageVo
{
private
Long
id
;
private
String
flowKey
;
private
String
className
;
private
String
method
;
private
String
variableInfo
;
public
VariableStorage
toEntity
(){
VariableStorage
variableStorage
=
new
VariableStorage
();
BeanUtils
.
copyProperties
(
this
,
variableStorage
);
return
variableStorage
;
}
}
src/main/java/com/tykj/workflowcore/workflow_editer/mapper/FlowsInfoMapper.java
浏览文件 @
3b6f14f0
...
@@ -27,4 +27,10 @@ public interface FlowsInfoMapper extends JpaRepository<FlowsInfo,Long>, JpaSpeci
...
@@ -27,4 +27,10 @@ public interface FlowsInfoMapper extends JpaRepository<FlowsInfo,Long>, JpaSpeci
*/
*/
FlowsInfo
findByDeployId
(
String
deployId
);
FlowsInfo
findByDeployId
(
String
deployId
);
/**
* 根据流程实例id查询
* @param processInstanceId 流程实例id
* @return
*/
FlowsInfo
findByProcessInstanceId
(
String
processInstanceId
);
}
}
src/main/java/com/tykj/workflowcore/workflow_editer/mapper/VariableStorageMapper.java
浏览文件 @
3b6f14f0
...
@@ -4,6 +4,8 @@ import com.tykj.workflowcore.workflow_editer.entity.VariableStorage;
...
@@ -4,6 +4,8 @@ import com.tykj.workflowcore.workflow_editer.entity.VariableStorage;
import
org.springframework.data.jpa.repository.JpaRepository
;
import
org.springframework.data.jpa.repository.JpaRepository
;
import
org.springframework.data.jpa.repository.JpaSpecificationExecutor
;
import
org.springframework.data.jpa.repository.JpaSpecificationExecutor
;
import
java.util.List
;
/**
/**
* ClassName: VariableStorageMapper
* ClassName: VariableStorageMapper
* Package: com.tykj.mapper
* Package: com.tykj.mapper
...
@@ -19,5 +21,5 @@ public interface VariableStorageMapper extends JpaRepository<VariableStorage,Lon
...
@@ -19,5 +21,5 @@ public interface VariableStorageMapper extends JpaRepository<VariableStorage,Lon
* @param flowKey 流程主键
* @param flowKey 流程主键
* @return
* @return
*/
*/
VariableStorage
find
ByFlowKey
(
String
flowKey
);
List
<
VariableStorage
>
findAll
ByFlowKey
(
String
flowKey
);
}
}
src/main/java/com/tykj/workflowcore/workflow_editer/service/UserService.java
浏览文件 @
3b6f14f0
package
com
.
tykj
.
workflowcore
.
workflow_editer
.
service
;
package
com
.
tykj
.
workflowcore
.
workflow_editer
.
service
;
import
com.tykj.workflowcore.workflow_editer.entity.WorkFlowRole
;
import
com.tykj.workflowcore.workflow_editer.entity.WorkFlowRole
;
import
com.tykj.workflowcore.workflow_editer.entity.WorkFlowRoleType
;
import
com.tykj.workflowcore.workflow_editer.entity.WorkFlowUser
;
import
com.tykj.workflowcore.workflow_editer.entity.WorkFlowUser
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
java.util.List
;
import
java.util.List
;
...
@@ -32,6 +36,12 @@ public interface UserService {
...
@@ -32,6 +36,12 @@ public interface UserService {
* 获取当前系统中的用户以及用户分组
* 获取当前系统中的用户以及用户分组
* @return
* @return
*/
*/
List
<
WorkFlowRole
>
getAllRole
();
List
<
WorkFlowRole
>
getAllRole
(
String
roleType
);
/**
* 获取当前系统中的用户分组类别
* @return
*/
List
<
WorkFlowRoleType
>
getRoleType
();
}
}
src/main/java/com/tykj/workflowcore/workflow_editer/service/VariableStorageService.java
浏览文件 @
3b6f14f0
...
@@ -3,6 +3,8 @@ package com.tykj.workflowcore.workflow_editer.service;
...
@@ -3,6 +3,8 @@ package com.tykj.workflowcore.workflow_editer.service;
import
com.tykj.workflowcore.workflow_editer.entity.VariableStorage
;
import
com.tykj.workflowcore.workflow_editer.entity.VariableStorage
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
java.util.List
;
/**
/**
* ClassName: VariableStorageService
* ClassName: VariableStorageService
* Package: com.tykj.service
* Package: com.tykj.service
...
@@ -17,12 +19,12 @@ public interface VariableStorageService {
...
@@ -17,12 +19,12 @@ public interface VariableStorageService {
* 保存变量池
* 保存变量池
* @param variableStorage 变量池
* @param variableStorage 变量池
*/
*/
void
saveVariableStorageService
(
@RequestBody
VariableStorage
variableStorage
);
VariableStorage
saveVariableStorageService
(
@RequestBody
VariableStorage
variableStorage
);
/**
/**
* 查询变量池
* 查询变量池
* @param flowKey 流程主键
* @param flowKey 流程主键
* @return VariableStorage 变量池
* @return VariableStorage 变量池
*/
*/
VariableStorage
findByFlowKey
(
String
flowKey
);
List
<
VariableStorage
>
findByFlowKey
(
String
flowKey
);
}
}
src/main/java/com/tykj/workflowcore/workflow_editer/service/WorkFlowService.java
浏览文件 @
3b6f14f0
...
@@ -76,11 +76,13 @@ public interface WorkFlowService {
...
@@ -76,11 +76,13 @@ public interface WorkFlowService {
/**
/**
* 查看具体的任务详情
* 查看具体的任务详情
* @param userId 用户id
// * @param detailTaskVo 任务详情
* @param taskId 任务Id
* @return 任务列表
* @return 任务列表
*/
*/
Map
<
String
,
Object
>
findTaskDetail
(
Long
userId
,
String
taskId
);
// Map<String,Object> findTaskDetail(DetailTaskVo detailTaskVo);
Map
<
String
,
Object
>
findTaskDetail
(
String
taskId
);
/**
/**
...
@@ -126,10 +128,10 @@ public interface WorkFlowService {
...
@@ -126,10 +128,10 @@ public interface WorkFlowService {
void
flowProgress
(
HttpServletResponse
httpServletResponse
,
String
processId
)
throws
IOException
;
void
flowProgress
(
HttpServletResponse
httpServletResponse
,
String
processId
)
throws
IOException
;
/**
/**
*
调用服务接口vo
*
查已办任务
* @param
invokeRequestVo 调用服务接口vo
* @param
userId 用户id
* @return
调用服务接口实体
* @return
任务已办列表
*/
*/
InvokeRequest
saveInvokeRequest
(
InvokeRequestVo
invokeRequestVo
);
List
<
Object
>
findHistoryTask
(
String
userId
);
}
}
src/main/java/com/tykj/workflowcore/workflow_editer/service/impl/VariableStorageServiceImpl.java
浏览文件 @
3b6f14f0
...
@@ -7,6 +7,8 @@ import org.springframework.beans.factory.annotation.Autowired;
...
@@ -7,6 +7,8 @@ import org.springframework.beans.factory.annotation.Autowired;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
java.util.List
;
/**
/**
* ClassName: VariableStorageServiceImpl
* ClassName: VariableStorageServiceImpl
* Package: com.tykj.service.impl
* Package: com.tykj.service.impl
...
@@ -21,13 +23,15 @@ public class VariableStorageServiceImpl implements VariableStorageService {
...
@@ -21,13 +23,15 @@ public class VariableStorageServiceImpl implements VariableStorageService {
private
VariableStorageMapper
variableStorageMapper
;
private
VariableStorageMapper
variableStorageMapper
;
@Override
@Override
public
void
saveVariableStorageService
(
@RequestBody
VariableStorage
variableStorage
)
{
public
VariableStorage
saveVariableStorageService
(
@RequestBody
VariableStorage
variableStorage
)
{
variableStorageMapper
.
save
(
variableStorage
);
return
variableStorageMapper
.
save
(
variableStorage
);
}
}
@Override
@Override
public
VariableStorage
findByFlowKey
(
String
flowKey
)
{
public
List
<
VariableStorage
>
findByFlowKey
(
String
flowKey
)
{
VariableStorage
variableStorage
=
variableStorageMapper
.
find
ByFlowKey
(
flowKey
);
List
<
VariableStorage
>
allByFlowKey
=
variableStorageMapper
.
findAll
ByFlowKey
(
flowKey
);
return
variableStorage
;
return
allByFlowKey
;
}
}
}
}
src/main/java/com/tykj/workflowcore/workflow_editer/service/impl/WorkFlowServiceImpl.java
浏览文件 @
3b6f14f0
package
com
.
tykj
.
workflowcore
.
workflow_editer
.
service
.
impl
;
package
com
.
tykj
.
workflowcore
.
workflow_editer
.
service
.
impl
;
import
com.alibaba.fastjson.JSONArray
;
import
com.alibaba.fastjson.JSONObject
;
import
com.tykj.workflowcore.api.entity.InvokeRequest
;
import
com.tykj.workflowcore.api.entity.InvokeRequest
;
import
com.tykj.workflowcore.api.entity.Parameter
;
import
com.tykj.workflowcore.api.entity.Parameter
;
import
com.tykj.workflowcore.workflow_editer.entity.FlowsInfo
;
import
com.tykj.workflowcore.workflow_editer.entity.*
;
import
com.tykj.workflowcore.workflow_editer.entity.VariablesMap
;
import
com.tykj.workflowcore.workflow_editer.entity.WorkFlowUser
;
import
com.tykj.workflowcore.workflow_editer.mapper.FlowsInfoMapper
;
import
com.tykj.workflowcore.workflow_editer.mapper.FlowsInfoMapper
;
import
com.tykj.workflowcore.workflow_editer.service.NodePageService
;
import
com.tykj.workflowcore.workflow_editer.service.NodePageService
;
import
com.tykj.workflowcore.workflow_editer.service.UserService
;
import
com.tykj.workflowcore.workflow_editer.service.UserService
;
import
com.tykj.workflowcore.workflow_editer.service.VariableStorageService
;
import
com.tykj.workflowcore.workflow_editer.service.WorkFlowService
;
import
com.tykj.workflowcore.workflow_editer.service.WorkFlowService
;
import
com.tykj.workflowcore.workflow_editer.vo.*
;
import
com.tykj.workflowcore.workflow_editer.vo.*
;
import
org.dom4j.Attribute
;
import
org.dom4j.Attribute
;
...
@@ -27,9 +28,12 @@ import org.flowable.image.ProcessDiagramGenerator;
...
@@ -27,9 +28,12 @@ import org.flowable.image.ProcessDiagramGenerator;
import
org.flowable.task.api.Task
;
import
org.flowable.task.api.Task
;
import
org.flowable.task.api.TaskQuery
;
import
org.flowable.task.api.TaskQuery
;
import
org.flowable.task.api.history.HistoricTaskInstance
;
import
org.flowable.task.api.history.HistoricTaskInstance
;
import
org.flowable.task.api.history.HistoricTaskInstanceQuery
;
import
org.flowable.variable.api.history.HistoricVariableInstance
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
org.springframework.util.StringUtils
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RequestParam
;
import
org.springframework.web.bind.annotation.RequestParam
;
import
org.springframework.web.multipart.MultipartFile
;
import
org.springframework.web.multipart.MultipartFile
;
...
@@ -69,6 +73,9 @@ public class WorkFlowServiceImpl implements WorkFlowService {
...
@@ -69,6 +73,9 @@ public class WorkFlowServiceImpl implements WorkFlowService {
@Autowired
@Autowired
private
ProcessEngine
processEngine
;
private
ProcessEngine
processEngine
;
@Autowired
private
VariableStorageService
variableStorageService
;
@Autowired
@Autowired
ClassLoader
classLoader
;
ClassLoader
classLoader
;
@Override
@Override
...
@@ -258,6 +265,7 @@ public class WorkFlowServiceImpl implements WorkFlowService {
...
@@ -258,6 +265,7 @@ public class WorkFlowServiceImpl implements WorkFlowService {
map
.
put
(
"taskDesc"
,
task
.
getDescription
());
map
.
put
(
"taskDesc"
,
task
.
getDescription
());
map
.
put
(
"createTime"
,
task
.
getCreateTime
());
map
.
put
(
"createTime"
,
task
.
getCreateTime
());
map
.
put
(
"promoter"
,
processInstance
.
getStartUserId
());
map
.
put
(
"promoter"
,
processInstance
.
getStartUserId
());
map
.
put
(
"processInstanceId"
,
processInstance
.
getId
());
listMap
.
add
(
map
);
listMap
.
add
(
map
);
}
}
return
listMap
;
return
listMap
;
...
@@ -265,9 +273,18 @@ public class WorkFlowServiceImpl implements WorkFlowService {
...
@@ -265,9 +273,18 @@ public class WorkFlowServiceImpl implements WorkFlowService {
}
}
@Override
@Override
public
Map
<
String
,
Object
>
findTaskDetail
(
Long
userId
,
String
taskId
)
{
public
Map
<
String
,
Object
>
findTaskDetail
(
String
taskId
)
{
Map
<
String
,
Object
>
variables
=
new
HashMap
<>();
Map
<
String
,
Object
>
variables
=
taskService
.
getVariables
(
taskId
);
//流程还在运行
if
(
taskId
!=
null
){
variables
=
taskService
.
getVariables
(
taskId
);
}
else
{
//流程已经结束
//从历史中查询
HistoricTaskInstance
historicTaskInstance
=
historyService
.
createHistoricTaskInstanceQuery
().
taskId
(
taskId
).
finished
().
singleResult
();
variables
.
put
(
"historicTaskInstance"
,
historicTaskInstance
);
}
return
variables
;
return
variables
;
}
}
...
@@ -292,7 +309,17 @@ public class WorkFlowServiceImpl implements WorkFlowService {
...
@@ -292,7 +309,17 @@ public class WorkFlowServiceImpl implements WorkFlowService {
}
}
if
(
taskVo
.
getTaskId
()
==
null
){
if
(
taskVo
.
getTaskId
()
==
null
){
//流程结束了
//流程结束了
//保存调用接口
//通过processInstanceId查询出flowKey
FlowsInfo
flowsInfo
=
flowsInfoMapper
.
findByProcessInstanceId
(
processInstanceId
);
List
<
VariableStorage
>
variableStorageList
=
variableStorageService
.
findByFlowKey
(
flowsInfo
.
getFlowKey
());
for
(
VariableStorage
variableStorage
:
variableStorageList
)
{
String
variableInfo
=
variableStorage
.
getVariableInfo
();
//调用服务接口
InvokeRequestVo
invokeRequestVo
=
(
InvokeRequestVo
)
JSONObject
.
parse
(
variableInfo
);
getApiInvokeParam
(
invokeRequestVo
);
}
}
}
}
}
...
@@ -372,41 +399,50 @@ public class WorkFlowServiceImpl implements WorkFlowService {
...
@@ -372,41 +399,50 @@ public class WorkFlowServiceImpl implements WorkFlowService {
}
}
@Override
@Override
public
InvokeRequest
saveInvokeRequest
(
InvokeRequestVo
invokeRequestVo
)
{
public
List
<
Object
>
findHistoryTask
(
String
userId
)
{
//取出变量池的值
List
<
HistoricTaskInstance
>
taskInstanceList
=
Expression
expression
=
processEngineConfiguration
.
getExpressionManager
().
createExpression
(
invokeRequestVo
.
getExp
());
historyService
.
createHistoricTaskInstanceQuery
().
taskAssignee
(
userId
).
finished
().
list
();
ArrayList
<
Object
>
arrayList
=
new
ArrayList
<>();
ManagementService
managementService
=
processEngine
.
getManagementService
();
arrayList
.
addAll
(
taskInstanceList
);
return
arrayList
;
VariablesMap
variablesMap
=
new
VariablesMap
(
invokeRequestVo
.
getProcessInstanceId
(),
expression
);
}
Object
o
=
managementService
.
executeCommand
(
variablesMap
);
/**
* 获取调用Api用的参数
Map
<
String
,
Object
>
map
=
new
HashMap
<>();
* @param invokeRequestVo 调用服务接口vo
if
(
o
instanceof
Map
){
* @return 调用服务接口实体
//如果是对象
*/
map
=
(
Map
<
String
,
Object
>)
o
;
public
InvokeRequest
getApiInvokeParam
(
InvokeRequestVo
invokeRequestVo
)
{
//拿出taskId
String
processInstanceId
=
invokeRequestVo
.
getProcessInstanceId
();
List
<
Parameter
>
parameterList
=
invokeRequestVo
.
getParameterList
();
List
<
Parameter
>
newParameterList
=
new
ArrayList
<>();
for
(
int
i
=
0
;
i
<
parameterList
.
size
();
i
++)
{
Parameter
parameter
=
parameterList
.
get
(
i
);
if
(!
StringUtils
.
isEmpty
(
parameter
.
getExp
())){
parameter
.
setInstance
((
Map
<
String
,
Object
>)
getProcessValue
(
processInstanceId
,
parameter
.
getExp
()));
}
else
{
}
else
{
//如果是字段
Map
<
String
,
Object
>
instance
=
parameter
.
getInstance
();
map
.
put
(
"o"
,
o
);
JSONObject
newInstance
=
new
JSONObject
();
//遍历param的key
Set
<
String
>
oldInstanceKey
=
instance
.
keySet
();
for
(
String
key
:
oldInstanceKey
)
{
newInstance
.
put
(
key
,
getProcessValue
(
processInstanceId
,
(
String
)
instance
.
get
(
key
)));
}
parameter
.
setInstance
(
newInstance
);
}
newParameterList
.
add
(
i
,
parameter
);
}
invokeRequestVo
.
setParameterList
(
newParameterList
);
return
JSONObject
.
parseObject
(
JSONObject
.
toJSONString
(
invokeRequestVo
),
InvokeRequest
.
class
)
;
}
}
//构建InvokeRequest
InvokeRequest
invokeRequest
=
new
InvokeRequest
();
// invokeRequest.setClassName("com.tykj.www");
// invokeRequest.setName("add");
invokeRequest
.
setClassName
(
invokeRequestVo
.
getClassName
());
invokeRequest
.
setName
(
invokeRequestVo
.
getName
());
// Parameter parameter = new Parameter();
// parameter.setClassName("expense");
List
<
Parameter
>
parameterList
=
invokeRequestVo
.
getParameterList
();
Parameter
parameter
=
new
Parameter
();
parameter
.
setInstance
(
map
);
public
Object
getProcessValue
(
String
processInstanceId
,
String
exp
)
{
parameterList
.
add
(
parameter
);
Expression
expression
=
processEngineConfiguration
.
getExpressionManager
().
createExpression
(
exp
);
invokeRequest
.
setParams
(
parameterList
);
ManagementService
managementService
=
processEngine
.
getManagementService
();
return
invokeRequest
;
CommandGetValue
test
=
new
CommandGetValue
(
processInstanceId
,
expression
);
Object
o
=
managementService
.
executeCommand
(
test
);
return
o
;
}
}
@Override
@Override
...
...
src/main/java/com/tykj/workflowcore/workflow_editer/vo/InvokeRequestVo.java
浏览文件 @
3b6f14f0
...
@@ -23,10 +23,9 @@ import java.util.List;
...
@@ -23,10 +23,9 @@ import java.util.List;
@Data
@Data
@Api
(
tags
=
"调用服务接口vo"
)
@Api
(
tags
=
"调用服务接口vo"
)
public
class
InvokeRequestVo
{
public
class
InvokeRequestVo
{
@ApiModelProperty
(
"流程实例id"
)
@ApiModelProperty
(
"流程实例id"
)
private
String
processInstanceId
;
private
String
processInstanceId
;
@ApiModelProperty
(
"流程表达式"
)
private
String
exp
;
@ApiModelProperty
(
"类名"
)
@ApiModelProperty
(
"类名"
)
private
String
className
;
private
String
className
;
...
@@ -34,5 +33,6 @@ public class InvokeRequestVo {
...
@@ -34,5 +33,6 @@ public class InvokeRequestVo {
@ApiModelProperty
(
"方法名"
)
@ApiModelProperty
(
"方法名"
)
private
String
name
;
private
String
name
;
@ApiModelProperty
(
"参数列表"
)
private
List
<
Parameter
>
parameterList
;
private
List
<
Parameter
>
parameterList
;
}
}
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论