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
yx-qc-change-flow
yanxuan-qc-change-system
Commits
5cb06801
Commit
5cb06801
authored
Dec 04, 2025
by
王志超
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix bug: 使用自定义工单审核方法
parent
90bc983c
Pipeline
#86537
passed with stages
in 1 minute 35 seconds
Changes
2
Pipelines
1
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
61 additions
and
3 deletions
+61
-3
ChangeSubFlowBiz.java
...netease/mail/yanxuan/change/biz/biz/ChangeSubFlowBiz.java
+7
-3
FlowService.java
...ease/mail/yanxuan/change/biz/service/rpc/FlowService.java
+54
-0
No files found.
yanxuan-qc-change-system-biz/src/main/java/com/netease/mail/yanxuan/change/biz/biz/ChangeSubFlowBiz.java
View file @
5cb06801
...
...
@@ -228,6 +228,7 @@ public class ChangeSubFlowBiz {
// 检查是否需要审批
if
(
needApprove
(
expectedDepartment
))
{
log
.
info
(
"[CHANGE_SUB_FLOW_START] 部门[{}]需要审批,等待上级审批"
,
expectedDepartment
);
// 需要审批:设置上级领导为审批人,停留在审批节点
subFlowRecord
.
setSubFlowNode
(
nextNodeId
);
subFlowRecord
.
setStatus
(
ChangeSubFlowStatusEnum
.
WAIT_APPROVE_ACTION_PLAN
.
getStatus
());
...
...
@@ -245,7 +246,6 @@ public class ChangeSubFlowBiz {
// 设置审批人为上级领导(JSON 数组格式)
subFlowRecord
.
setApprover
(
JSON
.
toJSONString
(
Collections
.
singletonList
(
leaderEmail
)));
changeSubFlowRecordService
.
update
(
subFlowRecord
);
log
.
info
(
"[CHANGE_SUB_FLOW_START] 部门[{}]需要审批,等待上级审批"
,
expectedDepartment
);
log
.
info
(
"[checkUpdateAndSubmit] 子单流转完成 <<< subFlowId:{}, 原节点:{}-{}, 新节点:{}-审批行动方案"
,
subFlowId
,
oldNodeId
,
oldNodeName
,
nextNodeId
);
return
nextNodeId
;
...
...
@@ -259,8 +259,12 @@ public class ChangeSubFlowBiz {
throw
ExceptionFactory
.
createBiz
(
ResponseCode
.
DETAIL_FLOW_ERROR
,
"子流程工单查询错误,不存在"
);
}
String
autoNextNodeId
=
flowService
.
submitFlow
(
subFlowId
,
latestFlowDataDTO
,
uid
,
ChangeFlowEnum
.
CHANGE_SUB_FLOW
.
getTopoId
(),
JSON
.
toJSONString
(
content
),
true
,
// 使用paramMap控制流转方向(type=1表示审批通过)
Map
<
String
,
Object
>
paramMap
=
new
HashMap
<>();
paramMap
.
put
(
"type"
,
1
);
String
autoNextNodeId
=
flowService
.
submitFlowWithParamMap
(
subFlowId
,
latestFlowDataDTO
,
uid
,
ChangeFlowEnum
.
CHANGE_SUB_FLOW
.
getTopoId
(),
JSON
.
toJSONString
(
content
),
paramMap
,
FlowxOperationEnum
.
SUBMIT
.
getName
(),
"自动审批通过"
,
subFlowRecord
.
getCreateTime
());
subFlowRecord
.
setSubFlowNode
(
autoNextNodeId
);
subFlowRecord
.
setStatus
(
ChangeSubFlowStatusEnum
.
WAIT_APPROVE_CHANGE_PLAN
.
getStatus
());
...
...
yanxuan-qc-change-system-biz/src/main/java/com/netease/mail/yanxuan/change/biz/service/rpc/FlowService.java
View file @
5cb06801
...
...
@@ -7,6 +7,7 @@
package
com
.
netease
.
mail
.
yanxuan
.
change
.
biz
.
service
.
rpc
;
import
java.util.List
;
import
java.util.Map
;
import
com.netease.mail.yanxuan.change.common.bean.RequestLocalBean
;
import
org.apache.commons.collections4.CollectionUtils
;
...
...
@@ -166,4 +167,56 @@ public class FlowService {
approverDTO
.
setOperateResult
(
FlowxOperationEnum
.
DELIVER
.
getName
());
flowRpcService
.
updateApprovers
(
CommonConstants
.
FLOWX_PRODUCT
,
approverDTO
);
}
/**
* 提交工单(使用paramMap控制流转方向)
* @param flowId
* @param flowDataDTO
* @param uid
* @param topoId
* @param content
* @param paramMap 流转参数(例如:type=1表示通过,type=0表示不通过)
* @param operateResult
* @param remark
* @param createTime
* @return
*/
public
String
submitFlowWithParamMap
(
String
flowId
,
FlowDataDTO
flowDataDTO
,
String
uid
,
String
topoId
,
String
content
,
Map
<
String
,
Object
>
paramMap
,
String
operateResult
,
String
remark
,
Long
createTime
)
{
String
name
=
RequestLocalBean
.
getName
();
// 系统自动提交,没有登录态获取不到名字,查询ius系统填充人名,还未查询到以邮箱兜底
if
(
StringUtils
.
isBlank
(
name
))
{
IusUserInfoRsp
user
=
iusService
.
queryUserInfo
(
uid
);
name
=
user
==
null
||
StringUtils
.
isBlank
(
user
.
getName
())
?
uid
:
user
.
getName
();
}
NodeSubmitReqDTO
nodeSubmitReqDTO
=
new
NodeSubmitReqDTO
();
nodeSubmitReqDTO
.
setFlowId
(
flowId
);
nodeSubmitReqDTO
.
setNodeId
(
flowDataDTO
.
getFlowMeta
().
getCurrNodeDataList
().
get
(
0
).
getNodeId
());
nodeSubmitReqDTO
.
setUid
(
uid
);
nodeSubmitReqDTO
.
setUserName
(
name
);
nodeSubmitReqDTO
.
setTopoId
(
topoId
);
nodeSubmitReqDTO
.
setContent
(
content
);
nodeSubmitReqDTO
.
setOperateResult
(
operateResult
);
nodeSubmitReqDTO
.
setRemark
(
remark
);
nodeSubmitReqDTO
.
setCreateTime
(
createTime
);
nodeSubmitReqDTO
.
setParamMap
(
paramMap
);
nodeSubmitReqDTO
.
setOccLock
(
flowDataDTO
.
getOccLock
()
+
1
);
log
.
info
(
"[submitFlowWithParamMap] nodeSubmitReqDTO={}"
,
JSON
.
toJSONString
(
nodeSubmitReqDTO
));
List
<
String
>
nextNodeIdList
;
// 提交工单
AjaxResponse
<
List
<
String
>>
submitResponse
=
flowRpcService
.
submit
(
CommonConstants
.
FLOWX_PRODUCT
,
nodeSubmitReqDTO
);
if
(
ResponseCodeEnum
.
SUCCESS
.
getCode
()
==
submitResponse
.
getCode
())
{
nextNodeIdList
=
submitResponse
.
getData
();
log
.
info
(
"[submitFlowWithParamMap] nextNodeIdList={}"
,
JSON
.
toJSONString
(
nextNodeIdList
));
}
else
{
log
.
error
(
"[submitFlowWithParamMap] submit flow failed, query={}, errMsg={}"
,
JSON
.
toJSONString
(
nodeSubmitReqDTO
),
JSON
.
toJSONString
(
submitResponse
));
throw
ExceptionFactory
.
createBiz
(
ResponseCode
.
SUBMIT_FLOW_ERROR
,
"提交工单错误"
);
}
if
(
CollectionUtils
.
isEmpty
(
nextNodeIdList
))
{
return
ChangeFlowEnum
.
END
.
getNodeId
();
}
return
nextNodeIdList
.
get
(
0
);
}
}
\ No newline at end of file
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