Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in
Toggle navigation
L
ldp-docs
Project
Project
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
doc
ldp-docs
Commits
8ddcc982
Commit
8ddcc982
authored
Feb 09, 2021
by
马千里
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
update:ldp应用集成流程引擎服务接口使用说明更新
parent
57eeb050
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
333 additions
and
0 deletions
+333
-0
LDP应用集成流程服务说明.md
流程系统集成/LDP应用集成流程服务说明.md
+333
-0
No files found.
流程系统集成/LDP应用集成流程服务说明.md
View file @
8ddcc982
## LDP 应用(后台)集成流程服务说明
LDP应用集成流程服务接口服务已集成到最新版脚手架工程,一些代码及样例说明都是基于最新版框架应用开发脚手架工程。
### 应用系统集成使用流程引擎用例
-
##### 流程-发起
```
java
/**
* 服务层代码样例
*/
@Service
public
class
LdpCityServiceImpl
extends
AbsLocalBaseDao
implements
LdpCityService
{
/**
* 注入流程服务类
*/
@Autowired
ProcessEngineService
processEngineService
;
/**
* 提交到流程系统
* @param ldpCity
* @return
*/
@Transactional
(
rollbackFor
=
Exception
.
class
)
@AutoService
@Override
public
String
submit
(
LdpCity
ldpCity
)
{
//提交单据数据到本地数据库
String
id
=
(
String
)
this
.
addOne
(
ldpCity
);
String
formKey
=
"demo"
;
try
{
// 调用流程引擎启动服务,catch并抛出异常
String
instanceId
=
processEngineService
.
start
(
formKey
,
id
,
new
ProcessParam
());
}
catch
(
Exception
e
){
throw
e
;
}
return
id
;
}
}
/**
* Controller层代码样例
*/
@RestController
@RequestMapping
(
"localdemo/city"
)
public
class
LdpCityRest
{
/**
* 流程业务-提交,发起流程
*
* @param city
* @return
*/
@PostMapping
(
"/submit"
)
public
RestResult
submitCity
(
@RequestBody
LdpCity
city
)
{
String
ID
=
ldpCityService
.
submit
(
city
);
return
new
RestResult
(
ResultMsg
.
SUCCESS
,
ID
);
}
}
```
-
##### 流程-批准同意
```
java
/**
* Controller层代码样例
*/
@RestController
@RequestMapping
(
"localdemo/city"
)
public
class
LdpCityRest
{
@Autowired
ProcessEngineService
processEngineService
;
/**
* 流程业务-批准同意
* @return
*/
@GetMapping
(
"/approve"
)
public
RestResult
approve
(
@RequestParam
String
businessKey
,
@RequestParam
String
comment
)
{
return
new
RestResult
(
ResultMsg
.
SUCCESS
,
processEngineService
.
agree
(
businessKey
,
comment
));
}
}
```
-
##### 流程-打回
```
java
/**
* Controller层代码样例
*/
@RestController
@RequestMapping
(
"localdemo/city"
)
public
class
LdpCityRest
{
@Autowired
ProcessEngineService
processEngineService
;
/**
* 流程业务-不同意,打回
* @return
*/
@GetMapping
(
"/reject"
)
public
RestResult
reject
(
@RequestParam
String
businessKey
,
@RequestParam
String
comment
)
{
return
new
RestResult
(
ResultMsg
.
SUCCESS
,
processEngineService
.
reject
(
businessKey
,
comment
));
}
}
```
-
##### 流程-获取待办列表
```
java
/**
* Controller层代码样例
*/
@RestController
@RequestMapping
(
"localdemo/city"
)
public
class
LdpCityRest
{
@Autowired
ProcessEngineService
processEngineService
;
/**
* 流程业务-待办列表
* @return
*/
@GetMapping
(
"/todo"
)
public
RestResult
toDo
()
{
return
new
RestResult
(
ResultMsg
.
SUCCESS
,
processEngineService
.
getTodoList
());
}
}
```
### 集成流程引擎核心服务类
#### BpmClientFeignService,feign服务方式调用流程引擎服务(bpm-service)接口类
```
java
/**
* 业务流程服务 bpm-service client 接口服务
* @author xiaomage
*/
@FeignClient
(
value
=
"bpm-service"
,
configuration
=
HeaderRequestInterceptorForToken
.
class
)
public
interface
BpmClientFeignService
{
/**
* 启动流程
* @param formKey 表单KEY
* @param businessKey 业务流程ID,一般为单据或表单ID
* @param startParam 启动参数
* @return 流程实例ID
*/
@PostMapping
(
"/process/open/start"
)
RestResult
<
String
>
start
(
@RequestParam
(
"formKey"
)
String
formKey
,
@RequestParam
(
"businessKey"
)
String
businessKey
,
@RequestBody
ProcessParam
startParam
);
/**
* 获取审批流程内容
* @param businessKey 单据或表单ID
* @return 审批意见列表
*/
@GetMapping
(
"/process/comment/list"
)
RestResult
<
List
<
ProcessComment
>>
getProcessComments
(
@RequestParam
(
"businessKey"
)
String
businessKey
);
/**
* 流程审批流程图
*
* @param businessKey 单据或表单ID
* @return 流程图byte数组
*/
@GetMapping
(
"/process/open/image"
)
RestResult
<
byte
[]>
getProcessInstanceImage
(
@RequestParam
(
"businessKey"
)
String
businessKey
);
/**
* 获取待办列表
* @param formKey
* @return 待办列表
*/
@GetMapping
(
"/process/open/todo/list"
)
RestResult
<
List
<
ProcessInfo
>>
getTodoList
(
@RequestParam
(
"formKey"
)
String
formKey
);
/**
* 获取待办列表
* @return 待办列表
*/
@GetMapping
(
"/process/open/todo/list"
)
RestResult
<
List
<
ProcessInfo
>>
getTodoList
();
/**
* 终止流程
* @param businessKey 表单ID
* @param comment 审批意见
* @return
*/
@PostMapping
(
"/process/open/stop"
)
RestResult
stop
(
@RequestParam
(
"businessKey"
)
String
businessKey
,
@RequestParam
(
"comment"
)
String
comment
);
/**
* 审批同意(到下一个审批节点)
* @param businessKey 表单ID
* @param comment 审批意见
* @return
*/
@PostMapping
(
"/process/open/agree"
)
RestResult
agree
(
@RequestParam
(
"businessKey"
)
String
businessKey
,
@RequestParam
(
"comment"
)
String
comment
);
/**
* 拒绝打回(到上一个审批节点)
* @param businessKey 表单ID
* @param comment 审批意见
* @return
*/
@PostMapping
(
"/process/open/reject"
)
RestResult
reject
(
@RequestParam
(
"businessKey"
)
String
businessKey
,
@RequestParam
(
"comment"
)
String
comment
);
/**
* 打回到起始节点
* @param businessKey 表单ID
* @param comment 审批意见
* @return
*/
@PostMapping
(
"/process/open/back"
)
RestResult
back
(
@RequestParam
(
"businessKey"
)
String
businessKey
,
@RequestParam
(
"comment"
)
String
comment
);
}
```
#### ProcessEngineService,应用集成流程引擎业务类
```
java
/**
* 流程引擎服务接口
* @author xiaomage
*/
public
interface
ProcessEngineService
{
/**
* 启动流程
* @param formKey 表单KEY
* @param businessKey 业务流程ID,一般为单据或表单ID
* @param startParam 启动参数
* @return 流程实例ID
*/
String
start
(
String
formKey
,
String
businessKey
,
ProcessParam
startParam
);
/**
* 获取审批流程内容
* @param businessKey 单据或表单ID
* @return
*/
List
<
ProcessComment
>
getProcessComments
(
String
businessKey
);
/**
* 流程审批流程图
*
* @param businessKey 单据或表单ID
* @return base64字符串
*/
String
getProcessInstanceImage
(
String
businessKey
);
/**
* 获取待办列表
* @param formKey
* @return
*/
List
<
ProcessInfo
>
getTodoList
(
String
formKey
);
/**
* 获取待办列表
* @return
*/
List
<
ProcessInfo
>
getTodoList
();
/**
* 终止流程
* @param businessKey 表单ID
* @param comment 审批意见
* @return
*/
boolean
stop
(
String
businessKey
,
String
comment
);
/**
* 审批同意(到下一个审批节点)
* @param businessKey 表单ID
* @param comment 审批意见
* @return
*/
boolean
agree
(
String
businessKey
,
String
comment
);
/**
* 拒绝打回(到上一个审批节点)
* @param businessKey 表单ID
* @param comment 审批意见
* @return
*/
boolean
reject
(
String
businessKey
,
String
comment
);
/**
* 打回到起始节点
* @param businessKey 表单ID
* @param comment 审批意见
* @return
*/
boolean
back
(
String
businessKey
,
String
comment
);
}
```
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