Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
Y
yanxuan-qc-change-system
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
胡园园
yanxuan-qc-change-system
Commits
2c6ce126
Commit
2c6ce126
authored
Nov 25, 2022
by
jx-art
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/feature-changeFlow-221110' into feature-changeFlow-221110
parents
5171d7ca
e1c9a125
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
228 additions
and
27 deletions
+228
-27
pom.xml
pom.xml
+16
-1
ChangeFlowBiz.java
...om/netease/mail/yanxuan/change/biz/biz/ChangeFlowBiz.java
+85
-15
AutoSubmit.java
.../com/netease/mail/yanxuan/change/biz/task/AutoSubmit.java
+2
-3
ChangeFlowExcelDTO.java
.../yanxuan/change/integration/excel/ChangeFlowExcelDTO.java
+90
-0
ChangeFlowController.java
...l/yanxuan/change/web/controller/ChangeFlowController.java
+35
-8
No files found.
pom.xml
View file @
2c6ce126
...
...
@@ -416,7 +416,22 @@
<!-- <artifactId>assertj-core</artifactId>-->
<!-- <version>3.18.1</version>-->
<!-- </dependency>-->
<!--easypoi-->
<dependency>
<groupId>
cn.afterturn
</groupId>
<artifactId>
easypoi-base
</artifactId>
<version>
3.1.0
</version>
</dependency>
<dependency>
<groupId>
cn.afterturn
</groupId>
<artifactId>
easypoi-web
</artifactId>
<version>
3.1.0
</version>
</dependency>
<dependency>
<groupId>
cn.afterturn
</groupId>
<artifactId>
easypoi-annotation
</artifactId>
<version>
3.1.0
</version>
</dependency>
</dependencies>
...
...
yanxuan-qc-change-system-biz/src/main/java/com/netease/mail/yanxuan/change/biz/biz/ChangeFlowBiz.java
View file @
2c6ce126
...
...
@@ -6,6 +6,11 @@
*/
package
com
.
netease
.
mail
.
yanxuan
.
change
.
biz
.
biz
;
import
java.io.ByteArrayOutputStream
;
import
java.io.IOException
;
import
java.io.OutputStream
;
import
java.net.URLEncoder
;
import
java.util.ArrayList
;
import
java.util.Collections
;
import
java.util.HashMap
;
import
java.util.List
;
...
...
@@ -13,8 +18,11 @@ import java.util.Map;
import
java.util.UUID
;
import
java.util.stream.Collectors
;
import
javax.servlet.http.HttpServletResponse
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.apache.poi.ss.usermodel.Workbook
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Component
;
import
org.springframework.util.Assert
;
...
...
@@ -58,6 +66,7 @@ import com.netease.mail.yanxuan.change.dal.meta.model.vo.BasicChangeFlowVO;
import
com.netease.mail.yanxuan.change.dal.meta.model.vo.ChangeFlowExecVO
;
import
com.netease.mail.yanxuan.change.dal.meta.model.vo.ChangeFlowVO
;
import
com.netease.mail.yanxuan.change.dal.meta.model.vo.ItemVO
;
import
com.netease.mail.yanxuan.change.integration.excel.ChangeFlowExcelDTO
;
import
com.netease.mail.yanxuan.change.integration.flow.FlowRpcService
;
import
com.netease.yanxuan.flowx.sdk.meta.controller.communal.AjaxResponse
;
import
com.netease.yanxuan.flowx.sdk.meta.dto.base.FlowDataDTO
;
...
...
@@ -67,6 +76,8 @@ import com.netease.yanxuan.flowx.sdk.meta.dto.exec.UserBaseContainerDTO;
import
com.netease.yanxuan.flowx.sdk.meta.dto.flow.FlowCreateReqDTO
;
import
com.netease.yanxuan.flowx.sdk.meta.dto.flow.NodeSubmitReqDTO
;
import
cn.afterturn.easypoi.excel.ExcelExportUtil
;
import
cn.afterturn.easypoi.excel.entity.ExportParams
;
import
lombok.extern.slf4j.Slf4j
;
/**
...
...
@@ -160,8 +171,10 @@ public class ChangeFlowBiz {
changeRecord
.
setFlowNode
(
nodeId
);
changeRecord
.
setUpdateTime
(
DateUtils
.
getCurrentTime
());
changeFlowService
.
updateRecord
(
changeRecord
);
// todo:502节点,发送邮件,变更执行
return
flowId
;
}
// todo: 变更发起人≠变更负责人,到达501节点,发送邮件,变更申请
return
flowId
;
}
...
...
@@ -423,7 +436,7 @@ public class ChangeFlowBiz {
List
<
ChangeFile
>
changeFiles
=
buildChangeFileRecord
(
changeRecord
.
getId
(),
files
);
changeFiles
.
forEach
(
file
->
changeFileService
.
saveRecord
(
file
));
}
// todo:
发送邮件
// todo:
502节点,发送邮件,变更执行
return
submitNode
;
case
CHANGE_FLOW_CONFIRM:
...
...
@@ -457,7 +470,6 @@ public class ChangeFlowBiz {
changeRecord
.
setUpdateTime
(
DateUtils
.
getCurrentTime
());
changeFlowService
.
updateRecord
(
changeRecord
);
changeExecRecordList
.
forEach
(
exec
->
changeFlowExecService
.
update
(
exec
));
//todo: 发送邮件
return
confirmNode
;
case
CANCEL:
// 取消填写取消原因
...
...
@@ -469,7 +481,6 @@ public class ChangeFlowBiz {
changeRecord
.
setFlowNode
(
cancelNode
);
changeRecord
.
setUpdateTime
(
DateUtils
.
getCurrentTime
());
changeFlowService
.
updateRecord
(
changeRecord
);
//todo: 发送邮件
return
cancelNode
;
case
DELAY:
// 延期不流转工单
...
...
@@ -495,7 +506,6 @@ public class ChangeFlowBiz {
changeFlowService
.
updateRecord
(
changeRecord
);
changeExecRecords1
.
forEach
(
exec
->
changeFlowExecService
.
update
(
exec
));
// 变更行动项
//todo: 发送邮件
return
null
;
default
:
return
null
;
...
...
@@ -554,6 +564,7 @@ public class ChangeFlowBiz {
changeRecord
.
setState
(
ChangeStatusEnum
.
CANCEL
.
getStatus
());
changeRecord
.
setCancelReason
(
req
.
getCancelReason
());
changeRecord
.
setUpdateTime
(
DateUtils
.
getCurrentTime
());
// todo:取消501节点,取消工单,发送邮件
return
changeFlowService
.
updateRecord
(
changeRecord
);
}
...
...
@@ -614,27 +625,22 @@ public class ChangeFlowBiz {
return
changeFlowVO
;
}
public
PageInfo
<
Change
Record
>
query
(
Integer
page
,
Integer
pageSize
,
ChangeFlowListQueryReq
changeFlowListQueryReq
)
{
public
PageInfo
<
Change
FlowVO
>
query
(
Integer
page
,
Integer
pageSize
,
ChangeFlowListQueryReq
changeFlowListQueryReq
)
{
log
.
info
(
"[query] page:{}, pageSize:{}, changeFlowListQueryReq:{}"
,
page
,
pageSize
,
JSON
.
toJSONString
(
changeFlowListQueryReq
));
//进行分页
PageHelper
.
startPage
(
page
,
pageSize
);
return
new
PageInfo
<
ChangeRecord
>(
changeRecordMapper
.
selectByCondition
(
changeFlowListQueryReq
));
// List<ChangeFlowVO> list = new ArrayList<>();
PageInfo
<
ChangeRecord
>
changeRecordPageInfo
=
new
PageInfo
<>(
changeRecordMapper
.
selectByCondition
(
changeFlowListQueryReq
));
List
<
ChangeRecord
>
changeRecords
=
changeRecordPageInfo
.
getList
();
List
<
ChangeFlowVO
>
list
=
new
ArrayList
<>();
// 处理数据
/*
if (CollectionUtils.isNotEmpty(changeRecords)) {
if
(
CollectionUtils
.
isNotEmpty
(
changeRecords
))
{
list
=
changeRecords
.
stream
().
map
(
c
->
{
ChangeFlowVO
changeFlowVO
=
new
ChangeFlowVO
();
changeFlowVO
.
setId
(
c
.
getId
());
changeFlowVO
.
setFlowId
(
c
.
getFlowId
());
changeFlowVO
.
setChangeSubject
(
c
.
getChangeSubject
());
ChangeType
parentChangeType
=
changeTypeService
.
getChangeTypeById
(
c
.
getParentChangeClassId
());
if (parentChangeType == null) {
throw ExceptionFactory.createBiz(ResponseCode.CHANGE_TYPE_NOT_EXIST, "变更类型不存在");
}
ChangeType
sonChangeType
=
changeTypeService
.
getChangeTypeById
(
c
.
getSonChangeClassId
());
if (sonChangeType == null) {
throw ExceptionFactory.createBiz(ResponseCode.CHANGE_TYPE_NOT_EXIST, "变更类型配置不存在");
}
changeFlowVO
.
setChangeType
(
parentChangeType
.
getTypeName
()
+
">"
+
sonChangeType
.
getTypeName
());
changeFlowVO
.
setChangeDepartment
(
c
.
getChangeDepartment
());
changeFlowVO
.
setChangeContent
(
c
.
getChangeContent
());
...
...
@@ -656,7 +662,13 @@ public class ChangeFlowBiz {
changeFlowVO
.
setRemark
(
c
.
getRemark
());
return
changeFlowVO
;
}).
collect
(
Collectors
.
toList
());
}*/
}
PageInfo
<
ChangeFlowVO
>
changeFlowVOPageInfo
=
new
PageInfo
<>(
list
);
changeFlowVOPageInfo
.
setPageNum
(
changeRecordPageInfo
.
getPageNum
());
changeFlowVOPageInfo
.
setPageSize
(
changeRecordPageInfo
.
getPageSize
());
changeFlowVOPageInfo
.
setSize
(
changeRecordPageInfo
.
getSize
());
changeFlowVOPageInfo
.
setPages
(
changeRecordPageInfo
.
getPages
());
return
changeFlowVOPageInfo
;
}
public
UserBaseContainerDTO
getOperator
(
InterfaceInputDTO
interfaceInput
)
{
...
...
@@ -687,4 +699,62 @@ public class ChangeFlowBiz {
userBaseContainer
.
setUserList
(
totalUserList
);
return
userBaseContainer
;
}
public
void
export
(
ChangeFlowListQueryReq
changeFlowListQueryReq
,
HttpServletResponse
response
)
{
List
<
ChangeRecord
>
changeRecords
=
changeRecordMapper
.
selectByCondition
(
changeFlowListQueryReq
);
if
(
CollectionUtils
.
isEmpty
(
changeRecords
))
{
throw
ExceptionFactory
.
createBiz
(
ResponseCode
.
EMPTY
,
"无导出数据"
);
}
List
<
ChangeFlowExcelDTO
>
changeFlowExcelDTOList
=
changeRecords
.
stream
().
map
(
record
->
{
ChangeFlowExcelDTO
changeFlowExcelDTO
=
new
ChangeFlowExcelDTO
();
changeFlowExcelDTO
.
setId
(
record
.
getId
());
changeFlowExcelDTO
.
setChangeSubject
(
ChangeSubjectEnum
.
getChangeSubjectEnum
(
record
.
getChangeSubject
()).
getDesc
());
ChangeType
parentChangeType
=
changeTypeService
.
getChangeTypeById
(
record
.
getParentChangeClassId
());
ChangeType
sonChangeType
=
changeTypeService
.
getChangeTypeById
(
record
.
getSonChangeClassId
());
changeFlowExcelDTO
.
setChangeType
(
parentChangeType
.
getTypeName
()
+
">"
+
sonChangeType
.
getTypeName
());
changeFlowExcelDTO
.
setChangeDepartment
(
record
.
getChangeDepartment
());
changeFlowExcelDTO
.
setChangeContent
(
record
.
getChangeContent
());
changeFlowExcelDTO
.
setChangeCommander
(
record
.
getChangeCommander
());
String
changeItemJsonStr
=
record
.
getChangeItem
();
if
(
StringUtils
.
isNotBlank
(
changeItemJsonStr
))
{
List
<
ItemVO
>
itemVOS
=
JSON
.
parseArray
(
changeItemJsonStr
,
ItemVO
.
class
);
changeFlowExcelDTO
.
setChangeItems
(
itemVOS
.
stream
().
map
(
item
->
item
.
getItemId
()
+
item
.
getItemName
())
.
collect
(
Collectors
.
joining
(
","
)));
}
if
(
StringUtils
.
isNotBlank
(
record
.
getChangeSupplier
()))
{
changeFlowExcelDTO
.
setSupplier
(
record
.
getChangeSupplier
());
}
changeFlowExcelDTO
.
setChangeState
(
record
.
getState
());
// todo:变更发起人组织查询:姓名(组织架构三级部门)/供应商ID/system+发起时间
changeFlowExcelDTO
.
setChangeCreator
(
record
.
getCreator
());
changeFlowExcelDTO
.
setExecDepartmentStrList
(
record
.
getParticipateChangeExecDepartment
());
changeFlowExcelDTO
.
setCreateTime
(
record
.
getCreateTime
());
return
changeFlowExcelDTO
;
}).
collect
(
Collectors
.
toList
());
Workbook
workbook
=
ExcelExportUtil
.
exportExcel
(
new
ExportParams
(),
ChangeFlowExcelDTO
.
class
,
changeFlowExcelDTOList
);
downLoadExcel
(
"变更管理列表"
,
response
,
workbook
);
}
private
void
downLoadExcel
(
String
fileName
,
HttpServletResponse
response
,
Workbook
workbook
)
{
try
{
response
.
setCharacterEncoding
(
"UTF-8"
);
response
.
setHeader
(
"content-Type"
,
"application/vnd.ms-excel"
);
response
.
setHeader
(
"Content-Disposition"
,
"attachment;filename="
+
URLEncoder
.
encode
(
fileName
,
"UTF-8"
)
+
".xls"
);
ByteArrayOutputStream
baos
=
new
ByteArrayOutputStream
();
workbook
.
write
(
baos
);
response
.
setHeader
(
"Content-Length"
,
String
.
valueOf
(
baos
.
size
()));
OutputStream
out
=
response
.
getOutputStream
();
out
.
write
(
baos
.
toByteArray
());
}
catch
(
IOException
ex
)
{
throw
ExceptionFactory
.
createBiz
(
ResponseCode
.
BAD_REQUEST
);
}
}
public
void
deliver
()
{
// todo:501节点,转交工单,发送邮箱
}
}
yanxuan-qc-change-system-biz/src/main/java/com/netease/mail/yanxuan/change/biz/task/AutoSubmit.java
View file @
2c6ce126
...
...
@@ -95,12 +95,10 @@ public class AutoSubmit extends IJobHandler {
changeRecord
.
setFlowNode
(
execNode
);
changeRecord
.
setUpdateTime
(
DateUtils
.
getCurrentTime
());
changeFlowService
.
updateRecord
(
changeRecord
);
// todo: 发送邮件
}
catch
(
Exception
e
)
{
log
.
debug
(
"[progressRecord] submit error, flowId{}"
,
flowId
);
}
}
else
if
(
ChangeFlowEnum
.
CHANGE_FLOW_CONFIRM
.
getNodeId
().
equals
(
flowNode
))
{
// todo: 发送邮件
}
// todo: 到达执行确认时间,发送邮件
}
}
\ No newline at end of file
yanxuan-qc-change-system-integration/src/main/java/com/netease/mail/yanxuan/change/integration/excel/ChangeFlowExcelDTO.java
0 → 100644
View file @
2c6ce126
/**
* @(#)ChangeFlowExcelDTO.java, 2022/11/25.
* <p/>
* Copyright 2022 Netease, Inc. All rights reserved.
* NETEASE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
*/
package
com
.
netease
.
mail
.
yanxuan
.
change
.
integration
.
excel
;
import
com.netease.mail.yanxuan.change.common.enums.ChangeStatusEnum
;
import
com.netease.mail.yanxuan.change.common.enums.ChangeSubjectEnum
;
import
cn.afterturn.easypoi.excel.annotation.Excel
;
import
lombok.Data
;
/**
* @Author zcwang
* @Date 2022/11/25
*/
@Data
public
class
ChangeFlowExcelDTO
{
/**
* 主键id
*/
@Excel
(
name
=
"变更ID"
)
private
Long
id
;
/**
* 变更主体
* @see ChangeSubjectEnum
*/
@Excel
(
name
=
"变更主体"
)
private
String
changeSubject
;
/**
* 变更类型,一级类型>二级类型
*/
@Excel
(
name
=
"变更类型"
)
private
String
changeType
;
/**
* 变更负责部门名
*/
@Excel
(
name
=
"变更负责部门名"
)
private
String
changeDepartment
;
/**
* 变更内容
*/
@Excel
(
name
=
"变更内容"
)
private
String
changeContent
;
/**
* 变更负责人
*/
@Excel
(
name
=
"变更负责人"
)
private
String
changeCommander
;
/**
* 变更商品列表,SPUID+商品名称
*/
@Excel
(
name
=
"变更商品"
)
private
String
changeItems
;
/**
* 变更供应商,仅展示供应商ID,没有时展示为“/”
*/
@Excel
(
name
=
"变更供应商"
)
private
String
supplier
;
/**
* 变更状态
* @see ChangeStatusEnum
*/
@Excel
(
name
=
"变更状态"
)
private
Integer
changeState
;
/**
* 变更发起人
*/
@Excel
(
name
=
"变更发起人"
)
private
String
changeCreator
;
/**
* 变更行动部门列表
*/
@Excel
(
name
=
"变更行动部门"
)
private
String
execDepartmentStrList
;
/**
* 创建时间
*/
@Excel
(
name
=
"创建时间"
)
private
Long
createTime
;
}
\ No newline at end of file
yanxuan-qc-change-system-web/src/main/java/com/netease/mail/yanxuan/change/web/controller/ChangeFlowController.java
View file @
2c6ce126
...
...
@@ -6,6 +6,7 @@
*/
package
com
.
netease
.
mail
.
yanxuan
.
change
.
web
.
controller
;
import
javax.servlet.http.HttpServletResponse
;
import
javax.validation.Valid
;
import
org.springframework.beans.factory.annotation.Autowired
;
...
...
@@ -16,14 +17,11 @@ import org.springframework.web.bind.annotation.RequestMapping;
import
org.springframework.web.bind.annotation.RequestParam
;
import
org.springframework.web.bind.annotation.RestController
;
import
com.alibaba.fastjson.JSON
;
import
com.github.pagehelper.PageInfo
;
import
com.netease.mail.yanxuan.change.biz.biz.ChangeFlowBiz
;
import
com.netease.mail.yanxuan.change.biz.config.TitleConfig
;
import
com.netease.mail.yanxuan.change.biz.service.ChangeFlowService
;
import
com.netease.mail.yanxuan.change.common.bean.AjaxResult
;
import
com.netease.mail.yanxuan.change.common.util.DateUtils
;
import
com.netease.mail.yanxuan.change.dal.entity.ChangeRecord
;
import
com.netease.mail.yanxuan.change.dal.meta.model.req.ChangeFlowCancelReq
;
import
com.netease.mail.yanxuan.change.dal.meta.model.req.ChangeFlowCreateReq
;
import
com.netease.mail.yanxuan.change.dal.meta.model.req.ChangeFlowListQueryReq
;
...
...
@@ -52,6 +50,7 @@ public class ChangeFlowController {
/**
* 变更工单详情查询
*
* @return
*/
@GetMapping
(
"/detail"
)
...
...
@@ -65,7 +64,7 @@ public class ChangeFlowController {
* @return
*/
@GetMapping
(
"/query"
)
public
AjaxResult
<
PageInfo
<
Change
Record
>>
query
(
@RequestParam
(
name
=
"page"
,
defaultValue
=
"1"
)
Integer
page
,
public
AjaxResult
<
PageInfo
<
Change
FlowVO
>>
query
(
@RequestParam
(
name
=
"page"
,
defaultValue
=
"1"
)
Integer
page
,
@RequestParam
(
name
=
"pageSize"
,
defaultValue
=
"10"
)
Integer
pageSize
,
@RequestParam
(
name
=
"itemId"
,
required
=
false
)
String
itemId
,
@RequestParam
(
name
=
"supplier"
,
required
=
false
)
String
supplier
,
...
...
@@ -93,6 +92,7 @@ public class ChangeFlowController {
/**
* 返回提示文案
*
* @return
*/
@GetMapping
(
"/title"
)
...
...
@@ -102,6 +102,7 @@ public class ChangeFlowController {
/**
* 发起变更,如果发起人=审核人,自动跳转到第一个节点
*
* @return
*/
@PostMapping
(
"/create"
)
...
...
@@ -111,6 +112,7 @@ public class ChangeFlowController {
/**
* 变更工单提交
*
* @return
*/
@PostMapping
(
"/submit"
)
...
...
@@ -120,15 +122,18 @@ public class ChangeFlowController {
/**
* 工单转交
*
* @return
*/
@PostMapping
(
"/deliver"
)
public
AjaxResult
<
Boolean
>
deliver
()
{
public
AjaxResult
<
Void
>
deliver
()
{
changeFlowBiz
.
deliver
();
return
AjaxResult
.
success
();
}
/**
* 工单取消
*
* @return
*/
@PostMapping
(
"/cancel"
)
...
...
@@ -138,6 +143,7 @@ public class ChangeFlowController {
/**
* 引用变更工单
*
* @return
*/
@GetMapping
(
"/quote"
)
...
...
@@ -145,19 +151,40 @@ public class ChangeFlowController {
return
AjaxResult
.
success
(
changeFlowBiz
.
quote
(
flowId
));
}
/**
* 导出变更
*
* @return
*/
@PostMapping
(
"/export"
)
public
AjaxResult
<
Void
>
export
()
{
public
AjaxResult
<
Void
>
export
(
@RequestParam
(
name
=
"itemId"
,
required
=
false
)
String
itemId
,
@RequestParam
(
name
=
"supplier"
,
required
=
false
)
String
supplier
,
@RequestParam
(
name
=
"parentChangeClassId"
,
required
=
false
)
Long
parentChangeClassId
,
@RequestParam
(
name
=
"sonChangeClassId"
,
required
=
false
)
Long
sonChangeClassId
,
@RequestParam
(
name
=
"changeState"
,
required
=
false
)
Integer
changeState
,
@RequestParam
(
name
=
"changeCommander"
,
required
=
false
)
String
changeCommander
,
@RequestParam
(
name
=
"changeDepartment"
,
required
=
false
)
String
changeDepartment
,
@RequestParam
(
name
=
"changeExecDepartment"
,
required
=
false
)
String
changeExecDepartment
,
@RequestParam
(
name
=
"startTime"
,
required
=
false
)
Long
startTime
,
@RequestParam
(
name
=
"endTime"
,
required
=
false
)
Long
endTime
,
HttpServletResponse
response
)
{
ChangeFlowListQueryReq
changeFlowListQueryReq
=
new
ChangeFlowListQueryReq
();
changeFlowListQueryReq
.
setItemId
(
itemId
);
changeFlowListQueryReq
.
setSupplier
(
supplier
);
changeFlowListQueryReq
.
setParentChangeClassId
(
parentChangeClassId
);
changeFlowListQueryReq
.
setSonChangeClassId
(
sonChangeClassId
);
changeFlowListQueryReq
.
setState
(
changeState
);
changeFlowListQueryReq
.
setChangeCommander
(
changeCommander
);
changeFlowListQueryReq
.
setChangeDepartment
(
changeDepartment
);
changeFlowListQueryReq
.
setChangeExecDepartment
(
changeExecDepartment
);
changeFlowListQueryReq
.
setStartTime
(
startTime
);
changeFlowListQueryReq
.
setEndTime
(
endTime
);
changeFlowBiz
.
export
(
changeFlowListQueryReq
,
response
);
return
AjaxResult
.
success
();
}
/**
* 获取审批人
*
* @param interfaceInput
* @return
*/
...
...
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