Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
B
bpm
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
王厚康
bpm
Commits
182b895e
Commit
182b895e
authored
Mar 12, 2019
by
王厚康
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
接口填充
parent
df1004a5
Hide whitespace changes
Inline
Side-by-side
Showing
16 changed files
with
704 additions
and
57 deletions
+704
-57
AsminController.java
src/main/java/com/bbd/bpm/controller/AsminController.java
+1
-8
ProcessTaskController.java
src/main/java/com/bbd/bpm/controller/ProcessTaskController.java
+6
-0
UserTaskController.java
src/main/java/com/bbd/bpm/controller/UserTaskController.java
+25
-2
DeploymentController.java
src/main/java/com/bbd/bpm/controller/deployment/DeploymentController.java
+67
-23
TaskHistoryController.java
src/main/java/com/bbd/bpm/controller/taskHistory/TaskHistoryController.java
+69
-0
TaskOperateController.java
src/main/java/com/bbd/bpm/controller/taskOperate/TaskOperateController.java
+108
-22
PageUtil.java
src/main/java/com/bbd/bpm/dto/PageUtil.java
+28
-0
SysCode.java
src/main/java/com/bbd/bpm/dto/SysCode.java
+20
-0
PendingTaskListRequest.java
src/main/java/com/bbd/bpm/dto/request/PendingTaskListRequest.java
+29
-0
QueryStartedPiByUserIdRequest.java
src/main/java/com/bbd/bpm/dto/request/QueryStartedPiByUserIdRequest.java
+41
-0
StartModelRequest.java
src/main/java/com/bbd/bpm/dto/request/StartModelRequest.java
+49
-0
ApprovedDetailBean.java
src/main/java/com/bbd/bpm/dto/response/ApprovedDetailBean.java
+59
-0
BpmResponse.java
src/main/java/com/bbd/bpm/dto/response/BpmResponse.java
+16
-2
PendingTaskListBean.java
src/main/java/com/bbd/bpm/dto/response/PendingTaskListBean.java
+59
-0
QueryPiByUserIdBean.java
src/main/java/com/bbd/bpm/dto/response/QueryPiByUserIdBean.java
+70
-0
ValidateUtil.java
src/main/java/com/bbd/bpm/util/validate/ValidateUtil.java
+57
-0
No files found.
src/main/java/com/bbd/bpm/controller/AsminController.java
View file @
182b895e
package
com
.
bbd
.
bpm
.
controller
;
import
com.bbd.bpm.BpmResponse
;
import
com.bbd.bpm.domain.DemoTableEntity
;
import
com.bbd.bpm.repository.AsminRepository
;
import
com.bbd.bpm.dto.response.BpmResponse
;
import
com.bbd.bpm.service.AsminService
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.data.domain.Pageable
;
import
org.springframework.http.MediaType
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
/**
* Created by houkang on 2019/1/3.
*/
...
...
src/main/java/com/bbd/bpm/controller/ProcessTaskController.java
View file @
182b895e
...
...
@@ -3,6 +3,7 @@ package com.bbd.bpm.controller;
import
org.activiti.engine.RepositoryService
;
import
org.activiti.engine.RuntimeService
;
import
org.activiti.engine.TaskService
;
import
org.activiti.engine.impl.identity.Authentication
;
import
org.activiti.engine.repository.Deployment
;
import
org.activiti.engine.repository.ProcessDefinition
;
import
org.activiti.engine.runtime.ProcessInstance
;
...
...
@@ -64,6 +65,11 @@ public class ProcessTaskController {
System
.
out
.
println
(
"任务不存在"
);
return
;
}
// 由于流程用户上下文对象是线程独立的,所以要在需要的位置设置,要保证设置和获取操作在同一个线程中
Authentication
.
setAuthenticatedUserId
(
"lingdao"
);
//批注人的名称 一定要写,不然查看的时候不知道人物信息
// 添加批注信息
taskService
.
addComment
(
taskId
,
null
,
""
);
//comment为批注内容
Map
<
String
,
Object
>
variables
=
new
HashMap
<
String
,
Object
>();
taskService
.
complete
(
taskId
,
variables
);
}
...
...
src/main/java/com/bbd/bpm/controller/UserTaskController.java
View file @
182b895e
...
...
@@ -5,8 +5,10 @@ import org.activiti.engine.HistoryService;
import
org.activiti.engine.RuntimeService
;
import
org.activiti.engine.TaskService
;
import
org.activiti.engine.history.HistoricActivityInstance
;
import
org.activiti.engine.history.HistoricProcessInstance
;
import
org.activiti.engine.history.HistoricTaskInstance
;
import
org.activiti.engine.runtime.ProcessInstance
;
import
org.activiti.engine.task.Comment
;
import
org.activiti.engine.task.Task
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.http.MediaType
;
...
...
@@ -50,6 +52,8 @@ public class UserTaskController {
System
.
out
.
println
(
"流程实例ID:"
+
task
.
getProcessInstanceId
());
System
.
out
.
println
(
"#######################################"
);
processInstanceId
=
task
.
getProcessInstanceId
();
ProcessInstance
pi
=
runtimeService
.
createProcessInstanceQuery
().
processInstanceId
(
task
.
getProcessInstanceId
()).
singleResult
();
pi
.
getBusinessKey
();
}
}
...
...
@@ -59,7 +63,12 @@ public class UserTaskController {
.
finished
()
// 查询已经完成的任务
.
list
();
for
(
HistoricActivityInstance
hai:
list
){
System
.
out
.
println
(
"任务ID:"
+
hai
.
getId
());
System
.
out
.
println
(
"任务ID:"
+
hai
.
getTaskId
());
List
<
Comment
>
comments
=
taskService
.
getTaskComments
(
hai
.
getTaskId
());
// 4)如果当前任务有批注信息,添加到集合中
if
(
comments
!=
null
&&
comments
.
size
()>
0
){
}
System
.
out
.
println
(
"流程实例ID:"
+
hai
.
getProcessInstanceId
());
System
.
out
.
println
(
"活动名称:"
+
hai
.
getActivityName
());
System
.
out
.
println
(
"办理人:"
+
hai
.
getAssignee
());
...
...
@@ -74,7 +83,6 @@ public class UserTaskController {
List
<
HistoricTaskInstance
>
list
=
historyService
.
createHistoricTaskInstanceQuery
().
taskAssignee
(
assignee
).
list
();
for
(
HistoricTaskInstance
histask:
list
){
System
.
out
.
println
(
"任务ID:"
+
histask
.
getId
());
System
.
out
.
println
(
"任务的办理人:"
+
histask
.
getAssignee
());
...
...
@@ -103,6 +111,21 @@ public class UserTaskController {
}
}
/**
* 根据发起人查询 个人发起的流程实例
*/
@GetMapping
(
value
=
"/queryProcessInstanceByStartUser"
)
public
void
queryProcessInstanceByStartUser
(){
List
<
HistoricProcessInstance
>
listPi
=
historyService
.
createHistoricProcessInstanceQuery
().
involvedUser
(
"hk"
).
list
();
for
(
HistoricProcessInstance
pi:
listPi
){
System
.
out
.
println
(
pi
.
getName
());
System
.
out
.
println
(
pi
.
getStartTime
());
System
.
out
.
println
(
pi
.
getEndTime
());
}
}
}
src/main/java/com/bbd/bpm/controller/deployment/DeploymentController.java
View file @
182b895e
package
com
.
bbd
.
bpm
.
controller
.
deployment
;
import
com.bbd.bpm.BpmResponse
;
import
com.bbd.bpm.dto.SysCode
;
import
com.bbd.bpm.dto.response.BpmResponse
;
import
com.bbd.bpm.dto.request.StartModelRequest
;
import
com.bbd.bpm.util.validate.ValidateUtil
;
import
com.fasterxml.jackson.databind.ObjectMapper
;
import
com.fasterxml.jackson.databind.node.ObjectNode
;
import
io.swagger.annotations.Api
;
...
...
@@ -8,6 +11,7 @@ import io.swagger.annotations.ApiOperation;
import
org.activiti.bpmn.converter.BpmnXMLConverter
;
import
org.activiti.bpmn.model.BpmnModel
;
import
org.activiti.editor.language.json.converter.BpmnJsonConverter
;
import
org.activiti.engine.IdentityService
;
import
org.activiti.engine.RepositoryService
;
import
org.activiti.engine.RuntimeService
;
import
org.activiti.engine.repository.Deployment
;
...
...
@@ -15,13 +19,11 @@ import org.activiti.engine.repository.DeploymentBuilder;
import
org.activiti.engine.repository.Model
;
import
org.activiti.engine.repository.ProcessDefinition
;
import
org.activiti.engine.runtime.ProcessInstance
;
import
org.apache.commons.lang3.StringUtils
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RequestParam
;
import
org.springframework.web.bind.annotation.RestController
;
import
org.springframework.web.bind.annotation.*
;
import
java.util.HashMap
;
import
java.util.List
;
...
...
@@ -42,6 +44,9 @@ public class DeploymentController {
@Autowired
private
RuntimeService
runtimeService
;
@Autowired
private
IdentityService
identityService
;
@ApiOperation
(
value
=
"查询流程列表"
)
@GetMapping
(
"/modelList"
)
public
BpmResponse
modelList
()
{
...
...
@@ -49,13 +54,15 @@ public class DeploymentController {
try
{
List
<
ProcessDefinition
>
processDefinitionList
=
repositoryService
.
createProcessDefinitionQuery
().
list
();
resp
.
setData
(
processDefinitionList
);
resp
.
setCode
(
SysCode
.
SUCCESS_CODE
);
resp
.
setSuccess
(
true
);
resp
.
setMessage
(
"获取成功"
);
}
catch
(
Exception
e
){
Log
.
error
(
"获取失败"
,
e
);
resp
.
setSuccess
(
false
);
resp
.
setMessage
(
"查询失败"
+
e
.
getMessage
());
resp
.
setCode
(
SysCode
.
SYS_ERROR
);
}
//todo
return
resp
;
}
...
...
@@ -64,13 +71,41 @@ public class DeploymentController {
@GetMapping
(
"/deleteModel"
)
public
BpmResponse
deleteModel
(
String
modelId
)
{
BpmResponse
resp
=
new
BpmResponse
();
//todo
try
{
//校验参数
if
(
StringUtils
.
isBlank
(
modelId
)
){
resp
.
setMessage
(
"流程id"
+
SysCode
.
NOT_ALLOW_NULL
);
resp
.
setCode
(
SysCode
.
VALIDATE_ERROR
);
resp
.
setSuccess
(
false
);
return
resp
;
}
Model
modelData
=
repositoryService
.
getModel
(
modelId
);
if
(
modelData
==
null
||
modelData
.
getId
()==
null
){
resp
.
setMessage
(
"流程不存在"
);
resp
.
setCode
(
SysCode
.
VALIDATE_ERROR
);
resp
.
setSuccess
(
false
);
return
resp
;
}
//判断是否有未完成的流程
if
(
modelData
.
getDeploymentId
()!=
null
){
ProcessDefinition
processDefinition
=
repositoryService
.
createProcessDefinitionQuery
().
deploymentId
(
modelData
.
getDeploymentId
()).
singleResult
();
List
<
ProcessInstance
>
piList
=
runtimeService
.
createProcessInstanceQuery
().
processDefinitionKey
(
processDefinition
.
getKey
()).
list
();
if
(
piList
!=
null
&&
!
piList
.
isEmpty
()){
for
(
ProcessInstance
pi
:
piList
){
if
(!
pi
.
isEnded
()){
resp
.
setMessage
(
"尚有流程实例正在执行"
);
resp
.
setCode
(
SysCode
.
VALIDATE_ERROR
);
resp
.
setSuccess
(
false
);
return
resp
;
}
}
}
}
repositoryService
.
deleteModel
(
modelId
);
System
.
out
.
println
(
"删除流程成功,当前流程ID:"
+
modelId
);
resp
.
setSuccess
(
true
);
resp
.
setMessage
(
"删除成功"
);
resp
.
setCode
(
SysCode
.
SUCCESS_CODE
);
}
catch
(
Exception
e
){
Log
.
error
(
"删除失败"
,
e
);
resp
.
setSuccess
(
false
);
...
...
@@ -96,8 +131,7 @@ public class DeploymentController {
Deployment
deployment
=
db
.
addString
(
processName
,
new
String
(
bpmnBytes
,
"utf-8"
)).
deploy
();
//需要在 model表里保存 deploymentid
modelData
.
setDeploymentId
(
deployment
.
getId
());
//保存 model
//todo
repositoryService
.
saveModel
(
modelData
);
resp
.
setData
(
deployment
.
getId
());
}
catch
(
Exception
e
)
{
Log
.
error
(
modelId
+
"部署失败"
,
e
);
...
...
@@ -125,27 +159,37 @@ public class DeploymentController {
return
resp
;
}
@ApiOperation
(
value
=
"
开启流程
"
)
@
Ge
tMapping
(
"/startModel"
)
public
BpmResponse
startModel
(
final
String
deploymentId
,
String
bussinessKey
)
{
@ApiOperation
(
value
=
"
发起流程实例
"
)
@
Pos
tMapping
(
"/startModel"
)
public
BpmResponse
startModel
(
@RequestBody
StartModelRequest
req
)
{
BpmResponse
resp
=
new
BpmResponse
();
resp
.
setSuccess
(
true
);
try
{
//数据校验
String
error
=
ValidateUtil
.
check_startModel
(
req
);
if
(
error
!=
null
){
Log
.
error
(
"发起流程实例,数据校验失败"
+
error
);
resp
.
setCode
(
SysCode
.
VALIDATE_ERROR
);
resp
.
setMessage
(
error
);
resp
.
setSuccess
(
false
);
return
resp
;
}
//获取流程定义
ProcessDefinition
processDefinition
=
repositoryService
.
createProcessDefinitionQuery
().
deploymentId
(
deploymentId
).
singleResult
();
ProcessDefinition
processDefinition
=
repositoryService
.
createProcessDefinitionQuery
().
deploymentId
(
req
.
getDeploymentId
()
).
singleResult
();
//启动流程定义,返回流程实例
Map
<
String
,
Object
>
variables
=
new
HashMap
<
String
,
Object
>();
variables
.
put
(
"user"
,
"yuagong1"
);
ProcessInstance
pi
=
runtimeService
.
startProcessInstanceByKey
(
processDefinition
.
getKey
(),
bussinessKey
,
variables
);
Map
<
String
,
Object
>
variables
=
req
.
getVariables
();
// 用来设置启动流程的人员ID,引擎会自动把用户ID保存到activiti:initiator中
identityService
.
setAuthenticatedUserId
(
req
.
getUserId
());
ProcessInstance
pi
=
runtimeService
.
startProcessInstanceByKey
(
processDefinition
.
getKey
(),
req
.
getBussinessKey
(),
variables
);
String
processId
=
pi
.
getId
();
System
.
out
.
println
(
"流程创建
成功,当前流程实例ID:"
+
processId
);
Log
.
info
(
"流程发起
成功,当前流程实例ID:"
+
processId
);
resp
.
setData
(
processId
);
resp
.
setCode
(
SysCode
.
SUCCESS_CODE
);
}
catch
(
Exception
e
)
{
Log
.
error
(
deploymentId
+
"开启
失败"
,
e
);
Log
.
error
(
req
.
getDeploymentId
()+
"发起流程实例
失败"
,
e
);
resp
.
setSuccess
(
false
);
resp
.
setMessage
(
"开启失败"
);
resp
.
setMessage
(
"发起流程实例失败"
);
resp
.
setCode
(
SysCode
.
SYS_ERROR
);
}
return
resp
;
...
...
src/main/java/com/bbd/bpm/controller/taskHistory/TaskHistoryController.java
View file @
182b895e
package
com
.
bbd
.
bpm
.
controller
.
taskHistory
;
import
com.bbd.bpm.dto.SysCode
;
import
com.bbd.bpm.dto.request.PendingTaskListRequest
;
import
com.bbd.bpm.dto.response.ApprovedDetailBean
;
import
com.bbd.bpm.dto.response.BpmResponse
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
org.activiti.engine.HistoryService
;
import
org.activiti.engine.TaskService
;
import
org.activiti.engine.history.HistoricActivityInstance
;
import
org.activiti.engine.runtime.ProcessInstance
;
import
org.activiti.engine.task.Comment
;
import
org.activiti.engine.task.Task
;
import
org.apache.commons.lang3.StringUtils
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
import
java.util.ArrayList
;
import
java.util.List
;
/**
* Created by houkang on 2019/2/27.
*/
...
...
@@ -14,4 +32,55 @@ import org.springframework.web.bind.annotation.RestController;
@Api
(
tags
=
{
"历史任务管理"
})
public
class
TaskHistoryController
{
private
static
final
Logger
Log
=
LoggerFactory
.
getLogger
(
TaskHistoryController
.
class
);
@Autowired
private
HistoryService
historyService
;
@Autowired
private
TaskService
taskService
;
@ApiOperation
(
value
=
"查询流程实例的审批详情"
)
@GetMapping
(
"/approvedDetail"
)
public
BpmResponse
approvedDetail
(
String
processInstanceId
)
{
BpmResponse
resp
=
new
BpmResponse
();
try
{
//校验参数
if
(
StringUtils
.
isBlank
(
processInstanceId
)
){
resp
.
setMessage
(
"流程实例id"
+
SysCode
.
NOT_ALLOW_NULL
);
resp
.
setCode
(
SysCode
.
VALIDATE_ERROR
);
resp
.
setSuccess
(
false
);
return
resp
;
}
//打印审批过程
List
<
HistoricActivityInstance
>
hislist
=
historyService
.
createHistoricActivityInstanceQuery
()
.
processInstanceId
(
processInstanceId
)
// 查询已经完成的任务
//.finished()
.
list
();
if
(
hislist
!=
null
&&
!
hislist
.
isEmpty
()){
List
<
ApprovedDetailBean
>
datalist
=
new
ArrayList
<>();
for
(
HistoricActivityInstance
hai:
hislist
){
ApprovedDetailBean
bean
=
new
ApprovedDetailBean
();
bean
.
setActivityName
(
hai
.
getActivityName
());
bean
.
setAssigneeUserId
(
hai
.
getAssignee
());
bean
.
setEndTime
(
hai
.
getEndTime
());
bean
.
setStartTime
(
hai
.
getStartTime
());
List
<
Comment
>
comments
=
taskService
.
getTaskComments
(
hai
.
getTaskId
());
// 4)如果当前任务有批注信息,添加到集合中
if
(
comments
!=
null
&&
comments
.
size
()>
0
){
bean
.
setComments
(
comments
.
get
(
0
).
getFullMessage
());
}
datalist
.
add
(
bean
);
}
resp
.
setData
(
datalist
);
}
resp
.
setCode
(
SysCode
.
SUCCESS_CODE
);
resp
.
setSuccess
(
true
);
}
catch
(
Exception
e
){
Log
.
error
(
"查询流程实例的审批详情失败"
,
e
);
resp
.
setSuccess
(
false
);
resp
.
setCode
(
SysCode
.
SYS_ERROR
);
resp
.
setMessage
(
"查询流程实例的审批详情失败"
+
e
.
getMessage
());
}
return
resp
;
}
}
src/main/java/com/bbd/bpm/controller/taskOperate/TaskOperateController.java
View file @
182b895e
package
com
.
bbd
.
bpm
.
controller
.
taskOperate
;
import
com.bbd.bpm.BpmResponse
;
import
com.bbd.bpm.dto.SysCode
;
import
com.bbd.bpm.dto.request.PendingTaskListRequest
;
import
com.bbd.bpm.dto.request.QueryStartedPiByUserIdRequest
;
import
com.bbd.bpm.dto.response.BpmResponse
;
import
com.bbd.bpm.dto.response.PendingTaskListBean
;
import
com.bbd.bpm.dto.response.QueryPiByUserIdBean
;
import
com.bbd.bpm.util.validate.ValidateUtil
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
org.activiti.engine.
ProcessEngine
;
import
org.activiti.engine.
ProcessEngines
;
import
org.activiti.engine.
TaskServi
ce
;
import
org.activiti.engine.
*
;
import
org.activiti.engine.
history.HistoricProcessInstance
;
import
org.activiti.engine.
runtime.ProcessInstan
ce
;
import
org.activiti.engine.task.Task
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.PathVariable
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
import
org.springframework.web.servlet.mvc.support.RedirectAttributes
;
import
org.springframework.web.bind.annotation.*
;
import
javax.servlet.http.HttpSession
;
import
java.util.ArrayList
;
import
java.util.List
;
...
...
@@ -32,28 +33,113 @@ public class TaskOperateController {
@Autowired
private
TaskService
taskService
;
ProcessEngine
processEngine
=
ProcessEngines
.
getDefaultProcessEngine
();
@Autowired
private
HistoryService
historyService
;
@Autowired
private
RuntimeService
runtimeService
;
/**
* taskStatus 1 已完成 2 未完成 3 全部
* */
@ApiOperation
(
value
=
"查询我发起的流程"
)
@PostMapping
(
"/queryStartedPiByUserId"
)
public
BpmResponse
queryStartedPiByUserId
(
@RequestBody
QueryStartedPiByUserIdRequest
req
)
{
BpmResponse
resp
=
new
BpmResponse
();
try
{
//数据校验
String
error
=
ValidateUtil
.
check_queryStartedPiByUserId
(
req
);
if
(
error
!=
null
){
Log
.
error
(
"查询我发起的流程,数据校验失败"
+
error
);
resp
.
setCode
(
SysCode
.
VALIDATE_ERROR
);
resp
.
setMessage
(
error
);
resp
.
setSuccess
(
false
);
return
resp
;
}
// QueryPiByUserIdBean
//任务办理人
List
<
HistoricProcessInstance
>
listPi
=
historyService
.
createHistoricProcessInstanceQuery
().
involvedUser
(
req
.
getUserId
()).
listPage
(
req
.
getPage
().
getPageNumber
(),
req
.
getPage
().
getPageSize
());
if
(
listPi
!=
null
&&
!
listPi
.
isEmpty
()){
List
<
QueryPiByUserIdBean
>
datalist
=
new
ArrayList
<>();
for
(
HistoricProcessInstance
hpi:
listPi
){
QueryPiByUserIdBean
bean
=
new
QueryPiByUserIdBean
();
bean
.
setBusinessKey
(
hpi
.
getBusinessKey
());
bean
.
setName
(
hpi
.
getName
());
bean
.
setProcessInstanceId
(
hpi
.
getSuperProcessInstanceId
());
bean
.
setStartTime
(
hpi
.
getStartTime
());
bean
.
setEndTime
(
hpi
.
getEndTime
());
if
(
hpi
.
getEndTime
()!=
null
){
bean
.
setEnded
(
true
);
}
if
(
"1"
.
equals
(
req
.
getTaskStatus
())){
if
(
bean
.
isEnded
()){
datalist
.
add
(
bean
);
}
}
else
if
(
"2"
.
equals
(
req
.
getTaskStatus
())){
if
(!
bean
.
isEnded
()){
datalist
.
add
(
bean
);
}
}
else
{
datalist
.
add
(
bean
);
}
}
resp
.
setData
(
datalist
);
}
resp
.
setCode
(
SysCode
.
SUCCESS_CODE
);
resp
.
setSuccess
(
true
);
}
catch
(
Exception
e
){
Log
.
error
(
"查询我发起的流程失败"
,
e
);
resp
.
setSuccess
(
false
);
resp
.
setCode
(
SysCode
.
SYS_ERROR
);
resp
.
setMessage
(
"查询我发起的流程失败"
+
e
.
getMessage
());
}
return
resp
;
}
@ApiOperation
(
value
=
"查询待处理任务"
)
@GetMapping
(
"/pendingTaskList"
)
public
BpmResponse
pendingTaskList
(
String
assignee
)
{
public
BpmResponse
pendingTaskList
(
@RequestBody
PendingTaskListRequest
req
)
{
BpmResponse
resp
=
new
BpmResponse
();
//todo
try
{
//数据校验
String
error
=
ValidateUtil
.
check_pendingTaskList
(
req
);
if
(
error
!=
null
){
Log
.
error
(
"查询待处理任务,数据校验失败"
+
error
);
resp
.
setCode
(
SysCode
.
VALIDATE_ERROR
);
resp
.
setMessage
(
error
);
resp
.
setSuccess
(
false
);
return
resp
;
}
//任务办理人
List
<
Task
>
taskList
=
taskService
.
createTaskQuery
().
taskAssignee
(
assignee
).
list
(
);
List
<
Task
>
taskList
=
taskService
.
createTaskQuery
().
taskAssignee
(
req
.
getAssignee
()).
listPage
(
req
.
getPage
().
getPageNumber
(),
req
.
getPage
().
getPageSize
()
);
if
(
taskList
!=
null
&&
taskList
.
size
()>
0
){
resp
.
setData
(
taskList
);
resp
.
setSuccess
(
true
);
resp
.
setMessage
(
"查询待处理任务成功"
);
}
else
{
resp
.
setSuccess
(
true
);
resp
.
setData
(
null
);
resp
.
setMessage
(
"查询待处理任务成功"
);
List
<
PendingTaskListBean
>
dataList
=
new
ArrayList
<>();
for
(
Task
task
:
taskList
){
ProcessInstance
pi
=
runtimeService
.
createProcessInstanceQuery
().
processInstanceId
(
task
.
getProcessInstanceId
()).
singleResult
();
PendingTaskListBean
bean
=
new
PendingTaskListBean
();
bean
.
setBusinessKey
(
pi
.
getBusinessKey
());
bean
.
setStartUserId
(
pi
.
getStartUserId
());
bean
.
setStartTime
(
pi
.
getStartTime
());
bean
.
setTaskId
(
task
.
getId
());
bean
.
setProcessInstanceId
(
task
.
getProcessInstanceId
());
dataList
.
add
(
bean
);
}
resp
.
setData
(
dataList
);
}
resp
.
setSuccess
(
true
);
resp
.
setCode
(
SysCode
.
SUCCESS_CODE
);
resp
.
setMessage
(
"查询待处理任务成功"
);
}
catch
(
Exception
e
){
Log
.
error
(
"查询待处理任务失败"
,
e
);
resp
.
setSuccess
(
false
);
resp
.
setCode
(
SysCode
.
SYS_ERROR
);
resp
.
setMessage
(
"查询待处理任务失败"
+
e
.
getMessage
());
}
return
resp
;
}
...
...
@@ -98,7 +184,7 @@ public class TaskOperateController {
public
BpmResponse
completeTask
(
String
taskId
)
{
BpmResponse
resp
=
new
BpmResponse
();
//todo
processEngine
.
getTaskService
()
.
complete
(
taskId
);
taskService
.
complete
(
taskId
);
return
resp
;
}
}
src/main/java/com/bbd/bpm/dto/PageUtil.java
0 → 100644
View file @
182b895e
package
com
.
bbd
.
bpm
.
dto
;
/**
* Created by houkang on 2019/3/12.
*/
public
class
PageUtil
{
//当前页
private
int
pageNumber
=
1
;
//每页数量
private
int
pageSize
=
10
;
public
int
getPageNumber
()
{
return
pageNumber
;
}
public
void
setPageNumber
(
int
pageNumber
)
{
this
.
pageNumber
=
pageNumber
;
}
public
int
getPageSize
()
{
return
pageSize
;
}
public
void
setPageSize
(
int
pageSize
)
{
this
.
pageSize
=
pageSize
;
}
}
src/main/java/com/bbd/bpm/dto/SysCode.java
0 → 100644
View file @
182b895e
package
com
.
bbd
.
bpm
.
dto
;
/**
* Created by houkang on 2019/3/8.
*/
public
interface
SysCode
{
String
SUCCESS_CODE
=
"200"
;
String
VALIDATE_ERROR
=
"400"
;
String
SYS_ERROR
=
"500"
;
String
REQUEST_IS_NULL
=
"请求参数为空"
;
String
NOT_ALLOW_NULL
=
",不允许为空"
;
}
src/main/java/com/bbd/bpm/dto/request/PendingTaskListRequest.java
0 → 100644
View file @
182b895e
package
com
.
bbd
.
bpm
.
dto
.
request
;
import
com.bbd.bpm.dto.PageUtil
;
/**
* Created by houkang on 2019/3/12.
*/
public
class
PendingTaskListRequest
{
private
String
assignee
;
private
PageUtil
page
;
public
String
getAssignee
()
{
return
assignee
;
}
public
void
setAssignee
(
String
assignee
)
{
this
.
assignee
=
assignee
;
}
public
PageUtil
getPage
()
{
return
page
;
}
public
void
setPage
(
PageUtil
page
)
{
this
.
page
=
page
;
}
}
src/main/java/com/bbd/bpm/dto/request/QueryStartedPiByUserIdRequest.java
0 → 100644
View file @
182b895e
package
com
.
bbd
.
bpm
.
dto
.
request
;
import
com.bbd.bpm.dto.PageUtil
;
/**
* Created by houkang on 2019/3/12.
*/
public
class
QueryStartedPiByUserIdRequest
{
private
String
userId
;
private
String
taskStatus
;
private
PageUtil
page
;
public
String
getUserId
()
{
return
userId
;
}
public
void
setUserId
(
String
userId
)
{
this
.
userId
=
userId
;
}
public
String
getTaskStatus
()
{
return
taskStatus
;
}
public
void
setTaskStatus
(
String
taskStatus
)
{
this
.
taskStatus
=
taskStatus
;
}
public
PageUtil
getPage
()
{
return
page
;
}
public
void
setPage
(
PageUtil
page
)
{
this
.
page
=
page
;
}
}
src/main/java/com/bbd/bpm/dto/request/StartModelRequest.java
0 → 100644
View file @
182b895e
package
com
.
bbd
.
bpm
.
dto
.
request
;
import
java.util.Map
;
/**
* Created by houkang on 2019/3/8.
*/
public
class
StartModelRequest
{
private
String
deploymentId
;
private
String
bussinessKey
;
private
String
userId
;
private
Map
<
String
,
Object
>
variables
;
public
String
getDeploymentId
()
{
return
deploymentId
;
}
public
void
setDeploymentId
(
String
deploymentId
)
{
this
.
deploymentId
=
deploymentId
;
}
public
String
getBussinessKey
()
{
return
bussinessKey
;
}
public
void
setBussinessKey
(
String
bussinessKey
)
{
this
.
bussinessKey
=
bussinessKey
;
}
public
String
getUserId
()
{
return
userId
;
}
public
void
setUserId
(
String
userId
)
{
this
.
userId
=
userId
;
}
public
Map
<
String
,
Object
>
getVariables
()
{
return
variables
;
}
public
void
setVariables
(
Map
<
String
,
Object
>
variables
)
{
this
.
variables
=
variables
;
}
}
src/main/java/com/bbd/bpm/dto/response/ApprovedDetailBean.java
0 → 100644
View file @
182b895e
package
com
.
bbd
.
bpm
.
dto
.
response
;
import
java.util.Date
;
/**
* Created by houkang on 2019/3/12.
*/
public
class
ApprovedDetailBean
{
private
String
activityName
;
private
String
assigneeUserId
;
private
Date
startTime
;
private
Date
endTime
;
private
String
comments
;
public
String
getActivityName
()
{
return
activityName
;
}
public
void
setActivityName
(
String
activityName
)
{
this
.
activityName
=
activityName
;
}
public
String
getAssigneeUserId
()
{
return
assigneeUserId
;
}
public
void
setAssigneeUserId
(
String
assigneeUserId
)
{
this
.
assigneeUserId
=
assigneeUserId
;
}
public
Date
getStartTime
()
{
return
startTime
;
}
public
void
setStartTime
(
Date
startTime
)
{
this
.
startTime
=
startTime
;
}
public
Date
getEndTime
()
{
return
endTime
;
}
public
void
setEndTime
(
Date
endTime
)
{
this
.
endTime
=
endTime
;
}
public
String
getComments
()
{
return
comments
;
}
public
void
setComments
(
String
comments
)
{
this
.
comments
=
comments
;
}
}
src/main/java/com/bbd/bpm/BpmResponse.java
→
src/main/java/com/bbd/bpm/
dto/response/
BpmResponse.java
View file @
182b895e
package
com
.
bbd
.
bpm
;
package
com
.
bbd
.
bpm
.
dto
.
response
;
import
com.bbd.bpm.dto.PageUtil
;
/**
* Created by houkang on 2019/1/8.
*/
public
class
BpmResponse
{
private
boolean
success
;
private
boolean
success
=
true
;
private
String
message
;
private
String
code
;
private
Object
data
;
private
PageUtil
page
;
public
boolean
isSuccess
()
{
return
success
;
}
...
...
@@ -34,4 +40,12 @@ public class BpmResponse {
public
void
setData
(
Object
data
)
{
this
.
data
=
data
;
}
public
String
getCode
()
{
return
code
;
}
public
void
setCode
(
String
code
)
{
this
.
code
=
code
;
}
}
src/main/java/com/bbd/bpm/dto/response/PendingTaskListBean.java
0 → 100644
View file @
182b895e
package
com
.
bbd
.
bpm
.
dto
.
response
;
import
java.util.Date
;
/**
* Created by houkang on 2019/3/12.
*/
public
class
PendingTaskListBean
{
private
String
businessKey
;
private
String
processInstanceId
;
private
String
startUserId
;
private
Date
startTime
;
private
String
taskId
;
public
String
getBusinessKey
()
{
return
businessKey
;
}
public
void
setBusinessKey
(
String
businessKey
)
{
this
.
businessKey
=
businessKey
;
}
public
String
getProcessInstanceId
()
{
return
processInstanceId
;
}
public
void
setProcessInstanceId
(
String
processInstanceId
)
{
this
.
processInstanceId
=
processInstanceId
;
}
public
String
getStartUserId
()
{
return
startUserId
;
}
public
void
setStartUserId
(
String
startUserId
)
{
this
.
startUserId
=
startUserId
;
}
public
Date
getStartTime
()
{
return
startTime
;
}
public
void
setStartTime
(
Date
startTime
)
{
this
.
startTime
=
startTime
;
}
public
String
getTaskId
()
{
return
taskId
;
}
public
void
setTaskId
(
String
taskId
)
{
this
.
taskId
=
taskId
;
}
}
src/main/java/com/bbd/bpm/dto/response/QueryPiByUserIdBean.java
0 → 100644
View file @
182b895e
package
com
.
bbd
.
bpm
.
dto
.
response
;
import
java.util.Date
;
/**
* Created by houkang on 2019/3/8.
*/
public
class
QueryPiByUserIdBean
{
//流程实例id
private
String
processInstanceId
;
private
String
businessKey
;
private
String
name
;
private
Date
startTime
;
private
Date
endTime
;
private
boolean
isEnded
=
false
;
public
String
getProcessInstanceId
()
{
return
processInstanceId
;
}
public
void
setProcessInstanceId
(
String
processInstanceId
)
{
this
.
processInstanceId
=
processInstanceId
;
}
public
String
getBusinessKey
()
{
return
businessKey
;
}
public
void
setBusinessKey
(
String
businessKey
)
{
this
.
businessKey
=
businessKey
;
}
public
String
getName
()
{
return
name
;
}
public
void
setName
(
String
name
)
{
this
.
name
=
name
;
}
public
Date
getStartTime
()
{
return
startTime
;
}
public
void
setStartTime
(
Date
startTime
)
{
this
.
startTime
=
startTime
;
}
public
boolean
isEnded
()
{
return
isEnded
;
}
public
void
setEnded
(
boolean
ended
)
{
isEnded
=
ended
;
}
public
Date
getEndTime
()
{
return
endTime
;
}
public
void
setEndTime
(
Date
endTime
)
{
this
.
endTime
=
endTime
;
}
}
src/main/java/com/bbd/bpm/util/validate/ValidateUtil.java
0 → 100644
View file @
182b895e
package
com
.
bbd
.
bpm
.
util
.
validate
;
import
com.bbd.bpm.dto.SysCode
;
import
com.bbd.bpm.dto.request.PendingTaskListRequest
;
import
com.bbd.bpm.dto.request.QueryStartedPiByUserIdRequest
;
import
com.bbd.bpm.dto.request.StartModelRequest
;
import
org.apache.commons.lang3.StringUtils
;
/**
* Created by houkang on 2019/3/8.
*/
public
class
ValidateUtil
{
public
static
String
check_startModel
(
StartModelRequest
req
){
if
(
req
==
null
){
return
SysCode
.
REQUEST_IS_NULL
;
}
if
(
StringUtils
.
isBlank
(
req
.
getDeploymentId
())
){
return
"流程部署id"
+
SysCode
.
NOT_ALLOW_NULL
;
}
if
(
StringUtils
.
isBlank
(
req
.
getUserId
())
){
return
"发起人id"
+
SysCode
.
NOT_ALLOW_NULL
;
}
return
null
;
}
public
static
String
check_queryStartedPiByUserId
(
QueryStartedPiByUserIdRequest
req
){
if
(
req
==
null
){
return
SysCode
.
REQUEST_IS_NULL
;
}
if
(
StringUtils
.
isBlank
(
req
.
getUserId
())
){
return
"任务处理人id"
+
SysCode
.
NOT_ALLOW_NULL
;
}
if
(
StringUtils
.
isBlank
(
req
.
getTaskStatus
())
){
return
"查询类型"
+
SysCode
.
NOT_ALLOW_NULL
;
}
if
(
req
.
getPage
()
==
null
){
return
"分页信息"
+
SysCode
.
NOT_ALLOW_NULL
;
}
return
null
;
}
public
static
String
check_pendingTaskList
(
PendingTaskListRequest
req
){
if
(
req
==
null
){
return
SysCode
.
REQUEST_IS_NULL
;
}
if
(
StringUtils
.
isBlank
(
req
.
getAssignee
())
){
return
"任务处理人id"
+
SysCode
.
NOT_ALLOW_NULL
;
}
if
(
req
.
getPage
()
==
null
){
return
"分页信息"
+
SysCode
.
NOT_ALLOW_NULL
;
}
return
null
;
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment