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
6b6c23d8
Commit
6b6c23d8
authored
Dec 16, 2025
by
王志超
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
feat: 同舟端变更列表状态查询
parent
599ecca7
Pipeline
#86998
passed with stages
in 1 minute 30 seconds
Changes
4
Pipelines
1
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
138 additions
and
1 deletions
+138
-1
ChangeFlowBiz.java
...om/netease/mail/yanxuan/change/biz/biz/ChangeFlowBiz.java
+18
-0
TongZhouStatusEnum.java
.../mail/yanxuan/change/common/enums/TongZhouStatusEnum.java
+102
-0
ChangeFlowListQueryReq.java
...uan/change/dal/meta/model/req/ChangeFlowListQueryReq.java
+6
-1
ChangeRecordMapper.xml
.../src/main/resources/mybatis/mapper/ChangeRecordMapper.xml
+12
-0
No files found.
yanxuan-qc-change-system-biz/src/main/java/com/netease/mail/yanxuan/change/biz/biz/ChangeFlowBiz.java
View file @
6b6c23d8
...
...
@@ -1307,6 +1307,24 @@ public class ChangeFlowBiz {
log
.
info
(
"[query] page:{}, pageSize:{}, changeFlowListQueryReq:{}"
,
page
,
pageSize
,
JSON
.
toJSONString
(
changeFlowListQueryReq
));
// 同舟端扩展:如果 changeState 是同舟端状态枚举编码(100-106),转换为内部状态列表
// 判断逻辑:如果是同舟端(createSource=2),且 changeState 在 100-106 范围内,则认为是同舟端状态枚举编码
Integer
queryChangeState
=
changeFlowListQueryReq
.
getChangeState
();
Integer
createSource
=
changeFlowListQueryReq
.
getCreateSource
();
if
(
queryChangeState
!=
null
&&
CreateSourceEnum
.
TONG_ZHOU
.
getType
().
equals
(
createSource
))
{
// 判断是否是同舟端状态枚举编码范围(100-106)
if
(
queryChangeState
>=
100
&&
queryChangeState
<=
106
)
{
List
<
Integer
>
statusList
=
TongZhouStatusEnum
.
convertToStatusListByCode
(
queryChangeState
);
if
(
statusList
!=
null
&&
!
statusList
.
isEmpty
())
{
changeFlowListQueryReq
.
setChangeStateList
(
statusList
);
changeFlowListQueryReq
.
setChangeState
(
null
);
// 清空单个状态,使用状态列表
log
.
info
(
"[query] 同舟端状态枚举编码转换,code:{}, changeStateList:{}"
,
queryChangeState
,
statusList
);
}
else
{
log
.
warn
(
"[query] 同舟端状态枚举编码无法识别,code:{}"
,
queryChangeState
);
}
}
}
if
(
StringUtils
.
isNotBlank
(
changeFlowListQueryReq
.
getChangeExecUser
()))
{
List
<
Long
>
recordIds
=
changeFlowExecService
.
queryByExecUser
(
changeFlowListQueryReq
.
getChangeExecUser
());
changeFlowListQueryReq
.
setChangeRecordIds
(
recordIds
);
...
...
yanxuan-qc-change-system-common/src/main/java/com/netease/mail/yanxuan/change/common/enums/TongZhouStatusEnum.java
0 → 100644
View file @
6b6c23d8
/**
* 同舟端状态枚举
* 用于同舟端传入的状态编码,映射到内部详细状态
*
* @Author AI Assistant
* @Date 2025/12/16
*/
package
com
.
netease
.
mail
.
yanxuan
.
change
.
common
.
enums
;
import
java.util.ArrayList
;
import
java.util.Arrays
;
import
java.util.List
;
/**
* 同舟端状态枚举
* 可选值:待发起、待行动方案确认、待变更审批、待变更执行、待确认执行结果、已完结、已取消
*
* 映射关系:
* - 待发起 -> 6 (WAIT_SUBMIT_CHANGE_APPLY)
* - 待行动方案确认 -> 7 (WAIT_CONFIRM_CHANGE_PLAN)
* - 待变更审批 -> 8,9,10 (WAIT_DEPT_LEADER_APPROVE, WAIT_CHANGE_ADMIN_APPROVE, WAIT_QUALITY_LEADER_APPROVE)
* - 待变更执行 -> 11 (WAIT_EXEC_CHANGE_PLAN)
* - 待确认执行结果 -> 12 (WAIT_CONFIRM_EXEC_RESULT)
* - 已完结 -> 13 (FINISHED)
* - 已取消 -> 14 (CANCELLED)
*
* 同舟端枚举编码(向后扩展):
* - 待发起 -> 100
* - 待行动方案确认 -> 101
* - 待变更审批 -> 102
* - 待变更执行 -> 103
* - 待确认执行结果 -> 104
* - 已完结 -> 105
* - 已取消 -> 106
*/
public
enum
TongZhouStatusEnum
{
/**
* 待发起
*/
WAIT_START
(
"待发起"
,
100
,
Arrays
.
asList
(
ChangeStatusEnum
.
WAIT_SUBMIT_CHANGE_APPLY
.
getStatus
())),
/**
* 待行动方案确认
*/
WAIT_CONFIRM_ACTION_PLAN
(
"待行动方案确认"
,
101
,
Arrays
.
asList
(
ChangeStatusEnum
.
WAIT_CONFIRM_CHANGE_PLAN
.
getStatus
())),
/**
* 待变更审批(包含:待部门负责人审批、待变更管理员审批、待质量部负责人审批)
*/
WAIT_CHANGE_APPROVE
(
"待变更审批"
,
102
,
Arrays
.
asList
(
ChangeStatusEnum
.
WAIT_DEPT_LEADER_APPROVE
.
getStatus
(),
ChangeStatusEnum
.
WAIT_CHANGE_ADMIN_APPROVE
.
getStatus
(),
ChangeStatusEnum
.
WAIT_QUALITY_LEADER_APPROVE
.
getStatus
()
)),
/**
* 待变更执行
*/
WAIT_CHANGE_EXEC
(
"待变更执行"
,
103
,
Arrays
.
asList
(
ChangeStatusEnum
.
WAIT_EXEC_CHANGE_PLAN
.
getStatus
())),
/**
* 待确认执行结果
*/
WAIT_CONFIRM_RESULT
(
"待确认执行结果"
,
104
,
Arrays
.
asList
(
ChangeStatusEnum
.
WAIT_CONFIRM_EXEC_RESULT
.
getStatus
())),
/**
* 已完结
*/
FINISHED
(
"已完结"
,
105
,
Arrays
.
asList
(
ChangeStatusEnum
.
FINISHED
.
getStatus
())),
/**
* 已取消
*/
CANCELLED
(
"已取消"
,
106
,
Arrays
.
asList
(
ChangeStatusEnum
.
CANCELLED
.
getStatus
()));
private
final
Integer
code
;
// 同舟端枚举编码(用于向后扩展)
private
final
List
<
Integer
>
statusList
;
TongZhouStatusEnum
(
String
desc
,
Integer
code
,
List
<
Integer
>
statusList
)
{
this
.
code
=
code
;
this
.
statusList
=
statusList
;
}
/**
* 根据同舟端枚举编码转换为内部状态列表
* @param code 同舟端枚举编码(100-106)
* @return 内部状态列表,如果不存在返回null
*/
public
static
List
<
Integer
>
convertToStatusListByCode
(
Integer
code
)
{
if
(
code
==
null
)
{
return
null
;
}
for
(
TongZhouStatusEnum
statusEnum
:
values
())
{
if
(
statusEnum
.
code
.
equals
(
code
))
{
return
new
ArrayList
<>(
statusEnum
.
statusList
);
}
}
return
null
;
}
}
yanxuan-qc-change-system-dal/src/main/java/com/netease/mail/yanxuan/change/dal/meta/model/req/ChangeFlowListQueryReq.java
View file @
6b6c23d8
...
...
@@ -41,11 +41,16 @@ public class ChangeFlowListQueryReq {
private
Long
sonChangeClassId
;
/**
* 工单状态
* 工单状态
(内部详细状态,单个状态值)
*/
private
Integer
changeState
;
/**
* 工单状态列表(用于IN查询,由同舟端状态枚举编码转换而来)
*/
private
List
<
Integer
>
changeStateList
;
/**
* 变更负责人
*/
private
String
changeCommander
;
...
...
yanxuan-qc-change-system-dal/src/main/resources/mybatis/mapper/ChangeRecordMapper.xml
View file @
6b6c23d8
...
...
@@ -69,6 +69,12 @@
<if
test=
"changeState != null"
>
and `state` = #{changeState}
</if>
<if
test=
"changeStateList != null and changeStateList.size() > 0"
>
and `state` in
<foreach
collection=
"changeStateList"
item=
"status"
open=
"("
separator=
","
close=
")"
>
#{status}
</foreach>
</if>
<if
test=
"changeCommander != null and changeCommander != ''"
>
and `change_commander` = #{changeCommander}
</if>
...
...
@@ -132,6 +138,12 @@
<if
test=
"changeState != null"
>
and `state` = #{changeState}
</if>
<if
test=
"changeStateList != null and changeStateList.size() > 0"
>
and `state` in
<foreach
collection=
"changeStateList"
item=
"status"
open=
"("
separator=
","
close=
")"
>
#{status}
</foreach>
</if>
<if
test=
"changeCommander != null and changeCommander != ''"
>
and `change_commander` = #{changeCommander}
</if>
...
...
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