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
db4d7cd1
Commit
db4d7cd1
authored
Nov 26, 2025
by
王志超
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
feat: 变更行动项工单列表
parent
fd8f66cf
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
21 additions
and
21 deletions
+21
-21
ChangeFlowBiz.java
...om/netease/mail/yanxuan/change/biz/biz/ChangeFlowBiz.java
+1
-0
ChangeSubFlowBiz.java
...netease/mail/yanxuan/change/biz/biz/ChangeSubFlowBiz.java
+10
-17
ChangeSubFlowRecord.java
...e/mail/yanxuan/change/dal/entity/ChangeSubFlowRecord.java
+5
-0
ChangeSubFlowRecordMapper.xml
...in/resources/mybatis/mapper/ChangeSubFlowRecordMapper.xml
+5
-4
No files found.
yanxuan-qc-change-system-biz/src/main/java/com/netease/mail/yanxuan/change/biz/biz/ChangeFlowBiz.java
View file @
db4d7cd1
...
...
@@ -388,6 +388,7 @@ public class ChangeFlowBiz {
.
approver
(
approverJson
)
.
changeExecUserEmail
(
execUserEmail
)
.
changeExecDepartment
(
execDepartment
)
.
changeCommander
(
changeRecord
.
getChangeCommander
())
.
createTime
(
DateUtils
.
getCurrentTime
())
.
updateTime
(
DateUtils
.
getCurrentTime
())
.
build
();
...
...
yanxuan-qc-change-system-biz/src/main/java/com/netease/mail/yanxuan/change/biz/biz/ChangeSubFlowBiz.java
View file @
db4d7cd1
...
...
@@ -355,9 +355,17 @@ public class ChangeSubFlowBiz {
public
ChangeSubFlowListVO
querySubFlowList
(
Integer
page
,
Integer
pageSize
,
ChangeSubFlowListQueryReq
queryReq
)
{
log
.
info
(
"[querySubFlowList] page:{}, pageSize:{}, queryReq:{}"
,
page
,
pageSize
,
JSON
.
toJSONString
(
queryReq
));
// 根据主单条件(flowId, itemId, supplier, onlyMyFollowed)查询主单,获取 changeRecordIds
String
currentUser
=
RequestLocalBean
.
getUid
();
// 如果 onlyMyFollowed=true,设置 currentUser,用于在子单查询时过滤
// 子单查询条件:change_exec_user_email = 当前用户 OR approver 包含当前用户 OR change_commander = 当前用户
if
(
queryReq
.
getOnlyMyFollowed
()
&&
StringUtils
.
isNotBlank
(
currentUser
))
{
queryReq
.
setCurrentUser
(
currentUser
);
}
// 根据主单条件(flowId, itemId, supplier)查询主单,获取 changeRecordIds
if
(
queryReq
.
getFlowId
()
!=
null
||
StringUtils
.
isNotBlank
(
queryReq
.
getItemId
())
||
StringUtils
.
isNotBlank
(
queryReq
.
getSupplier
())
||
queryReq
.
getOnlyMyFollowed
()
)
{
||
StringUtils
.
isNotBlank
(
queryReq
.
getSupplier
()))
{
List
<
Long
>
changeRecordIds
=
filterFlowRecordIds
(
queryReq
);
if
(
CollectionUtils
.
isEmpty
(
changeRecordIds
))
{
// 如果主单查询结果为空,直接返回
...
...
@@ -370,11 +378,6 @@ public class ChangeSubFlowBiz {
queryReq
.
setChangeRecordIds
(
changeRecordIds
);
}
// 清空主单相关的查询条件,因为已经通过 changeRecordIds 过滤了
// changeExecUser 和 changeExecDepartment 直接在子单表中查询,不需要额外处理
queryReq
.
setOnlyMyFollowed
(
null
);
queryReq
.
setCurrentUser
(
null
);
// 进行分页查询子单
PageHelper
.
startPage
(
page
,
pageSize
);
List
<
ChangeSubFlowRecord
>
subFlowRecords
=
changeSubFlowRecordMapper
.
selectByCondition
(
queryReq
);
...
...
@@ -493,20 +496,10 @@ public class ChangeSubFlowBiz {
* @return 主单记录ID列表
*/
private
List
<
Long
>
filterFlowRecordIds
(
ChangeSubFlowListQueryReq
queryReq
)
{
// 构建主单查询条件
ChangeFlowListQueryReq
mainQueryReq
=
new
ChangeFlowListQueryReq
();
mainQueryReq
.
setFlowId
(
queryReq
.
getFlowId
());
mainQueryReq
.
setItemId
(
queryReq
.
getItemId
());
mainQueryReq
.
setSupplier
(
queryReq
.
getSupplier
());
mainQueryReq
.
setOnlyMyFollowed
(
queryReq
.
getOnlyMyFollowed
());
String
currentUser
=
RequestLocalBean
.
getUid
();
// 数据可见范围:变更负责人=当前用户的变更工单所关联的全部变更行动工单
if
(
queryReq
.
getOnlyMyFollowed
())
{
if
(
StringUtils
.
isNotBlank
(
currentUser
))
{
mainQueryReq
.
setChangeCommander
(
currentUser
);
}
}
// 查询主单(不分页,只获取ID)
List
<
ChangeRecord
>
changeRecords
=
changeRecordMapper
.
selectByCondition
(
mainQueryReq
);
...
...
yanxuan-qc-change-system-dal/src/main/java/com/netease/mail/yanxuan/change/dal/entity/ChangeSubFlowRecord.java
View file @
db4d7cd1
...
...
@@ -74,6 +74,11 @@ public class ChangeSubFlowRecord {
private
String
changeExecDepartment
;
/**
* 变更负责人(用于查询和展示,新建时从主单获取)
*/
private
String
changeCommander
;
/**
* 创建时间
*/
private
Long
createTime
;
...
...
yanxuan-qc-change-system-dal/src/main/resources/mybatis/mapper/ChangeSubFlowRecordMapper.xml
View file @
db4d7cd1
...
...
@@ -10,12 +10,13 @@
<result
column=
"approver"
jdbcType=
"VARCHAR"
property=
"approver"
/>
<result
column=
"change_exec_user_email"
jdbcType=
"VARCHAR"
property=
"changeExecUserEmail"
/>
<result
column=
"change_exec_department"
jdbcType=
"VARCHAR"
property=
"changeExecDepartment"
/>
<result
column=
"change_commander"
jdbcType=
"VARCHAR"
property=
"changeCommander"
/>
<result
column=
"create_time"
jdbcType=
"BIGINT"
property=
"createTime"
/>
<result
column=
"update_time"
jdbcType=
"BIGINT"
property=
"updateTime"
/>
</resultMap>
<sql
id=
"Base_Column_List"
>
id, change_record_id, sub_flow_id, sub_flow_node, status, approver, change_exec_user_email, change_exec_department, create_time, update_time
id, change_record_id, sub_flow_id, sub_flow_node, status, approver, change_exec_user_email, change_exec_department, c
hange_commander, c
reate_time, update_time
</sql>
<select
id=
"selectByCondition"
resultMap=
"BaseResultMap"
parameterType=
"com.netease.mail.yanxuan.change.dal.meta.model.req.ChangeSubFlowListQueryReq"
>
...
...
@@ -46,15 +47,15 @@
#{item}
</foreach>
</if>
<if
test=
"currentUser != null and currentUser != ''"
>
and (change_exec_user_email LIKE CONCAT('%"', #{currentUser}, '"%') or approver LIKE CONCAT('%"', #{currentUser}, '"%')
</if>
<if
test=
"changeExecUser != null and changeExecUser != ''"
>
and change_exec_user_email LIKE CONCAT('%', #{changeExecUser}, '%')
</if>
<if
test=
"changeExecDepartment != null and changeExecDepartment != ''"
>
and change_exec_department LIKE CONCAT('%', #{changeExecDepartment}, '%')
</if>
<if
test=
"currentUser != null and currentUser != ''"
>
and (change_exec_user_email = #{currentUser} or approver LIKE CONCAT('%"', #{currentUser}, '"%') or change_commander = #{currentUser})
</if>
</where>
order by create_time desc
</select>
...
...
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