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
2462289a
Commit
2462289a
authored
Dec 04, 2025
by
王志超
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
feat: 主工单增加用户归属
parent
00db7ed3
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
66 additions
and
37 deletions
+66
-37
ChangeFlowBiz.java
...om/netease/mail/yanxuan/change/biz/biz/ChangeFlowBiz.java
+60
-37
ChangeFlowVO.java
...e/mail/yanxuan/change/dal/meta/model/vo/ChangeFlowVO.java
+6
-0
No files found.
yanxuan-qc-change-system-biz/src/main/java/com/netease/mail/yanxuan/change/biz/biz/ChangeFlowBiz.java
View file @
2462289a
...
...
@@ -1300,6 +1300,10 @@ public class ChangeFlowBiz {
changeRecordMapper
.
selectByCondition
(
changeFlowListQueryReq
));
List
<
ChangeRecord
>
changeRecords
=
changeRecordPageInfo
.
getList
();
List
<
ChangeFlowVO
>
list
=
new
ArrayList
<>();
// 获取当前用户(用于设置 userRole)
String
currentUser
=
RequestLocalBean
.
getUid
();
// 处理数据
if
(
CollectionUtils
.
isNotEmpty
(
changeRecords
))
{
// 批量查询所有变更行动工单,构建 Map<changeRecordId, List<subFlowId>>,提升性能
...
...
@@ -1368,49 +1372,68 @@ public class ChangeFlowBiz {
List
<
String
>
subFlowIds
=
subFlowIdsMap
.
getOrDefault
(
c
.
getId
(),
new
ArrayList
<>());
changeFlowVO
.
setSubFlowIds
(
subFlowIds
);
// 设置工单归属关系
if
(
StringUtils
.
isNotBlank
(
currentUser
))
{
boolean
isCreator
=
currentUser
.
equals
(
c
.
getCreator
());
boolean
isChangeCommander
=
currentUser
.
equals
(
c
.
getChangeCommander
());
boolean
isApprover
=
false
;
String
approverJson
=
c
.
getApprover
();
if
(
StringUtils
.
isNotBlank
(
approverJson
))
{
isApprover
=
approverJson
.
contains
(
currentUser
);
}
FlowOwnershipVO
flowOwnership
=
FlowOwnershipVO
.
builder
()
.
isCreator
(
isCreator
)
.
isChangeCommander
(
isChangeCommander
)
.
isApprover
(
isApprover
)
.
build
();
changeFlowVO
.
setFlowOwnership
(
flowOwnership
);
}
return
changeFlowVO
;
}).
collect
(
Collectors
.
toList
());
try
{
Set
<
String
>
commanderList
=
list
.
stream
().
map
(
ChangeFlowVO:
:
getChangeCommander
).
collect
(
Collectors
.
toSet
());
Set
<
String
>
creatorList
=
list
.
stream
().
map
(
ChangeFlowVO:
:
getChangeCreator
).
collect
(
Collectors
.
toSet
());
commanderList
.
addAll
(
creatorList
);
IusDepartmentReq
iusDepartmentReq
=
new
IusDepartmentReq
();
iusDepartmentReq
.
setUids
(
new
ArrayList
<>(
commanderList
));
iusDepartmentReq
.
setIcac
(
true
);
HashMap
<
String
,
List
<
SecondaryDepartments
>>
orgMap
=
iusService
.
queryDepartment
(
iusDepartmentReq
);
//AjaxResponse<List<IusUserInfoRsp>> userListInfo = iusRpcService.queryUserListInfo(UserQueryDTO.builder().uids(new ArrayList<>(commanderList)).build());
log
.
debug
(
"query user: {} info: {}"
,
commanderList
,
JSON
.
toJSONString
(
orgMap
));
//List<IusUserInfoRsp> data = userListInfo.getData();
list
.
forEach
(
i
->
{
List
<
SecondaryDepartments
>
commander
=
orgMap
.
get
(
i
.
getChangeCommander
());
List
<
SecondaryDepartments
>
creator
=
orgMap
.
get
(
i
.
getChangeCreator
());
//Optional<IusUserInfoRsp> commander = data.stream().filter(u -> u.getUid().equals(i.getChangeCommander())).findAny();
//Optional<IusUserInfoRsp> creator = data.stream().filter(u -> u.getUid().equals(i.getChangeCreator())).findAny();
if
(!
CollectionUtils
.
isEmpty
(
commander
))
{
Optional
<
SecondaryDepartments
>
anyOrg
=
commander
.
stream
().
filter
(
o
->
o
.
getOrgPosLevel
()
==
97
).
findAny
();
String
orgName
=
"无三级部门"
;
if
(
anyOrg
.
isPresent
())
{
orgName
=
anyOrg
.
get
().
getOrgPosName
();
}
i
.
setChangeCommander
(
commander
.
get
(
0
).
getUserName
()
+
"("
+
orgName
+
")"
);
}
// 供应商查询不到数据,不会覆盖,展示供应商id
if
(!
CollectionUtils
.
isEmpty
(
creator
))
{
Optional
<
SecondaryDepartments
>
anyOrg
=
creator
.
stream
().
filter
(
o
->
o
.
getOrgPosLevel
()
==
97
).
findAny
();
String
orgName
=
"无三级部门"
;
if
(
anyOrg
.
isPresent
())
{
orgName
=
anyOrg
.
get
().
getOrgPosName
();
}
i
.
setChangeCreator
(
creator
.
get
(
0
).
getUserName
()
+
"("
+
orgName
+
")"
);
}
});
}
catch
(
Exception
ex
)
{
log
.
error
(
"add org has ex"
,
ex
);
}
}
PageVO
pageVO
=
PageUtils
.
buildPageVo
(
changeRecordPageInfo
.
getTotal
(),
pageSize
,
page
);
ChangeFlowListVO
changeFlowListVO
=
new
ChangeFlowListVO
();
changeFlowListVO
.
setPageVo
(
pageVO
);
try
{
Set
<
String
>
commanderList
=
list
.
stream
().
map
(
ChangeFlowVO:
:
getChangeCommander
).
collect
(
Collectors
.
toSet
());
Set
<
String
>
creatorList
=
list
.
stream
().
map
(
ChangeFlowVO:
:
getChangeCreator
).
collect
(
Collectors
.
toSet
());
commanderList
.
addAll
(
creatorList
);
IusDepartmentReq
iusDepartmentReq
=
new
IusDepartmentReq
();
iusDepartmentReq
.
setUids
(
new
ArrayList
<>(
commanderList
));
iusDepartmentReq
.
setIcac
(
true
);
HashMap
<
String
,
List
<
SecondaryDepartments
>>
orgMap
=
iusService
.
queryDepartment
(
iusDepartmentReq
);
//AjaxResponse<List<IusUserInfoRsp>> userListInfo = iusRpcService.queryUserListInfo(UserQueryDTO.builder().uids(new ArrayList<>(commanderList)).build());
log
.
debug
(
"query user: {} info: {}"
,
commanderList
,
JSON
.
toJSONString
(
orgMap
));
//List<IusUserInfoRsp> data = userListInfo.getData();
list
.
forEach
(
i
->
{
List
<
SecondaryDepartments
>
commander
=
orgMap
.
get
(
i
.
getChangeCommander
());
List
<
SecondaryDepartments
>
creator
=
orgMap
.
get
(
i
.
getChangeCreator
());
//Optional<IusUserInfoRsp> commander = data.stream().filter(u -> u.getUid().equals(i.getChangeCommander())).findAny();
//Optional<IusUserInfoRsp> creator = data.stream().filter(u -> u.getUid().equals(i.getChangeCreator())).findAny();
if
(!
CollectionUtils
.
isEmpty
(
commander
))
{
Optional
<
SecondaryDepartments
>
anyOrg
=
commander
.
stream
().
filter
(
o
->
o
.
getOrgPosLevel
()
==
97
).
findAny
();
String
orgName
=
"无三级部门"
;
if
(
anyOrg
.
isPresent
())
{
orgName
=
anyOrg
.
get
().
getOrgPosName
();
}
i
.
setChangeCommander
(
commander
.
get
(
0
).
getUserName
()
+
"("
+
orgName
+
")"
);
}
// 供应商查询不到数据,不会覆盖,展示供应商id
if
(!
CollectionUtils
.
isEmpty
(
creator
))
{
Optional
<
SecondaryDepartments
>
anyOrg
=
creator
.
stream
().
filter
(
o
->
o
.
getOrgPosLevel
()
==
97
).
findAny
();
String
orgName
=
"无三级部门"
;
if
(
anyOrg
.
isPresent
())
{
orgName
=
anyOrg
.
get
().
getOrgPosName
();
}
i
.
setChangeCreator
(
creator
.
get
(
0
).
getUserName
()
+
"("
+
orgName
+
")"
);
}
});
}
catch
(
Exception
ex
)
{
log
.
error
(
"add org has ex"
,
ex
);
}
changeFlowListVO
.
setChangeFlowList
(
list
);
return
changeFlowListVO
;
}
...
...
yanxuan-qc-change-system-dal/src/main/java/com/netease/mail/yanxuan/change/dal/meta/model/vo/ChangeFlowVO.java
View file @
2462289a
...
...
@@ -205,4 +205,9 @@ public class ChangeFlowVO {
* 变更行动工单ID列表(即subFlowId列表)
*/
private
List
<
String
>
subFlowIds
;
/**
* 工单归属关系(标识当前用户与工单的归属关系)
*/
private
FlowOwnershipVO
flowOwnership
;
}
\ 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