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
7c922cf0
Commit
7c922cf0
authored
Nov 24, 2025
by
王志超
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
feat: 当变更主体为“商品变更”,变更行动人“商品关联角色”,增加关联角色选项“合规”
parent
587d846d
Pipeline
#86005
passed with stages
in 1 minute 33 seconds
Changes
9
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
84 additions
and
13 deletions
+84
-13
ChangeFlowExportCallback.java
...yanxuan/change/biz/callback/ChangeFlowExportCallback.java
+6
-0
AppConfig.java
...com/netease/mail/yanxuan/change/biz/config/AppConfig.java
+12
-0
InteriorChangeConfigServiceImpl.java
...nge/biz/service/impl/InteriorChangeConfigServiceImpl.java
+25
-0
ChangePrincipalEnum.java
...mail/yanxuan/change/common/enums/ChangePrincipalEnum.java
+2
-1
SupplierChangePrincipalEnum.java
...xuan/change/common/enums/SupplierChangePrincipalEnum.java
+2
-1
ChangeGoodsPrincipalPO.java
...xuan/change/dal/meta/model/po/ChangeGoodsPrincipalPO.java
+10
-0
ChangeFlowExcelDTO.java
.../yanxuan/change/integration/excel/ChangeFlowExcelDTO.java
+6
-0
ChangeFlowExcelVo.java
...l/yanxuan/change/integration/excel/ChangeFlowExcelVo.java
+20
-10
SupplierRelatedUserReq.java
...integration/flow/supplier/req/SupplierRelatedUserReq.java
+1
-1
No files found.
yanxuan-qc-change-system-biz/src/main/java/com/netease/mail/yanxuan/change/biz/callback/ChangeFlowExportCallback.java
View file @
7c922cf0
...
...
@@ -256,6 +256,7 @@ public class ChangeFlowExportCallback implements DesCallbackService {
changeFlowExcelDTO
.
setPurchase
(
"/"
);
changeFlowExcelDTO
.
setGoodsProject
(
"/"
);
changeFlowExcelDTO
.
setGoodsSqe
(
"/"
);
changeFlowExcelDTO
.
setGoodsCompliance
(
"/"
);
}
else
{
buildGoodsPrincipal
(
changeGoodsPrincipalPO
,
changeFlowExcelDTO
);
}
...
...
@@ -299,6 +300,7 @@ public class ChangeFlowExportCallback implements DesCallbackService {
changeFlowExcelDTO
.
setPurchase
(
null
);
changeFlowExcelDTO
.
setGoodsSqe
(
null
);
changeFlowExcelDTO
.
setGoodsProject
(
null
);
changeFlowExcelDTO
.
setGoodsCompliance
(
null
);
// 组装行动项相关信息
this
.
obtainChangeExec
(
changeExecRecord
,
changeFlowExcelDTO
,
userListInfo
);
this
.
obtainOther
(
record
,
changeFlowExcelDTO
);
...
...
@@ -333,15 +335,19 @@ public class ChangeFlowExportCallback implements DesCallbackService {
String
goodsProjectEmail
=
StringUtils
.
isBlank
(
changeGoodsPrincipalPO
.
getGoodsProjectEmail
())
?
""
:
changeGoodsPrincipalPO
.
getGoodsProjectEmail
();
String
goodsSqeName
=
StringUtils
.
isBlank
(
changeGoodsPrincipalPO
.
getGoodsSqeName
())
?
""
:
changeGoodsPrincipalPO
.
getGoodsSqeName
();
String
goodsSqeEmail
=
StringUtils
.
isBlank
(
changeGoodsPrincipalPO
.
getGoodsSqeEmail
())
?
""
:
changeGoodsPrincipalPO
.
getGoodsSqeEmail
();
String
goodsComplianceName
=
StringUtils
.
isBlank
(
changeGoodsPrincipalPO
.
getGoodsComplianceName
())
?
""
:
changeGoodsPrincipalPO
.
getGoodsComplianceName
();
String
goodsComplianceEmail
=
StringUtils
.
isBlank
(
changeGoodsPrincipalPO
.
getGoodsComplianceEmail
())
?
""
:
changeGoodsPrincipalPO
.
getGoodsComplianceEmail
();
String
functionary
=
functionaryName
+
functionaryEmail
;
String
purchase
=
purchaseName
+
purchaseEmail
;
String
goodsProject
=
goodsProjectName
+
goodsProjectEmail
;
String
goodsSqe
=
goodsSqeName
+
goodsSqeEmail
;
String
goodsCompliance
=
goodsComplianceName
+
goodsComplianceEmail
;
changeFlowExcelDTO
.
setFunctionary
(
StringUtils
.
isBlank
(
functionary
)
?
"/"
:
functionary
);
changeFlowExcelDTO
.
setPurchase
(
StringUtils
.
isBlank
(
purchase
)
?
"/"
:
purchase
);
changeFlowExcelDTO
.
setGoodsProject
(
StringUtils
.
isBlank
(
goodsProject
)
?
"/"
:
goodsProject
);
changeFlowExcelDTO
.
setGoodsSqe
(
StringUtils
.
isBlank
(
goodsSqe
)
?
"/"
:
goodsSqe
);
changeFlowExcelDTO
.
setGoodsCompliance
(
StringUtils
.
isBlank
(
goodsCompliance
)
?
"/"
:
goodsCompliance
);
}
private
void
obtainChangeExec
(
ChangeExecRecord
changeExecRecord
,
ChangeFlowExcelDTO
changeFlowExcelDTO
,
...
...
yanxuan-qc-change-system-biz/src/main/java/com/netease/mail/yanxuan/change/biz/config/AppConfig.java
View file @
7c922cf0
...
...
@@ -77,6 +77,18 @@ public class AppConfig {
private
String
sqeEmail
;
/**
* 商品关联合规兜底人名
*/
@Value
(
"${change.goods.compliance.name:}"
)
private
String
complianceName
;
/**
* 商品关联合规兜底邮箱
*/
@Value
(
"${change.goods.compliance.email:}"
)
private
String
complianceEmail
;
/**
* 变更管理QM
*/
@Value
(
"${changeManageQM:cuiyixian@corp.netease.com}"
)
...
...
yanxuan-qc-change-system-biz/src/main/java/com/netease/mail/yanxuan/change/biz/service/impl/InteriorChangeConfigServiceImpl.java
View file @
7c922cf0
...
...
@@ -204,6 +204,16 @@ public class InteriorChangeConfigServiceImpl implements InteriorChangeConfigServ
emails
.
add
(
rpc
);
}
}
}
else
if
(
ChangePrincipalEnum
.
COMPLIANCE
.
getName
().
equals
(
commander
))
{
// TODO: 待合规RPC接口提供后实现
logger
.
warn
(
"[queryGoodsCommander] 合规类型暂未实现,goodsInfos={}"
,
goodsInfos
);
// 暂时使用兜底配置
GoodsResponseRpc
rpc
=
new
GoodsResponseRpc
();
rpc
.
setEmail
(
appConfig
.
getComplianceEmail
());
rpc
.
setName
(
appConfig
.
getComplianceName
());
if
(
StringUtils
.
isNotBlank
(
rpc
.
getEmail
())
&&
StringUtils
.
isNotBlank
(
rpc
.
getName
()))
{
emails
.
add
(
rpc
);
}
}
//逻辑发生变更
/*
...
...
@@ -256,6 +266,8 @@ public class InteriorChangeConfigServiceImpl implements InteriorChangeConfigServ
req
.
setSearchType
(
SupplierChangePrincipalEnum
.
SQE
.
getType
());
}
else
if
(
SupplierChangePrincipalEnum
.
GOODS_BU
.
getName
().
equals
(
commander
))
{
req
.
setSearchType
(
SupplierChangePrincipalEnum
.
GOODS_BU
.
getType
());
}
else
if
(
SupplierChangePrincipalEnum
.
COMPLIANCE
.
getName
().
equals
(
commander
))
{
req
.
setSearchType
(
SupplierChangePrincipalEnum
.
COMPLIANCE
.
getType
());
}
else
{
throw
ExceptionFactory
.
createBiz
(
ResponseCode
.
BAD_REQUEST
,
"供应商角色类型错误"
);
}
...
...
@@ -359,6 +371,14 @@ public class InteriorChangeConfigServiceImpl implements InteriorChangeConfigServ
goodsRpc
(
ChangePrincipalEnum
.
SQE
.
getType
(),
data
.
getRealName
(),
map
.
get
(
itemId
));
}
}
//合规
// TODO: 待合规RPC接口提供后实现
for
(
Long
itemId:
itemIds
)
{
// 暂时使用兜底配置
map
.
get
(
itemId
).
setGoodsComplianceName
(
appConfig
.
getComplianceName
());
map
.
get
(
itemId
).
setGoodsComplianceEmail
(
appConfig
.
getComplianceEmail
());
goodsRpc
(
ChangePrincipalEnum
.
COMPLIANCE
.
getType
(),
appConfig
.
getComplianceName
(),
map
.
get
(
itemId
));
}
return
map
;
}
...
...
@@ -527,6 +547,11 @@ public class InteriorChangeConfigServiceImpl implements InteriorChangeConfigServ
goodsRpc
.
setGoodsSqeName
(
appConfig
.
getSqeName
());
goodsRpc
.
setGoodsSqeEmail
(
appConfig
.
getSqeEmail
());
break
;
case
5
:
//合规
goodsRpc
.
setGoodsComplianceName
(
appConfig
.
getComplianceName
());
goodsRpc
.
setGoodsComplianceEmail
(
appConfig
.
getComplianceEmail
());
break
;
}
}
...
...
yanxuan-qc-change-system-common/src/main/java/com/netease/mail/yanxuan/change/common/enums/ChangePrincipalEnum.java
View file @
7c922cf0
...
...
@@ -9,7 +9,8 @@ public enum ChangePrincipalEnum {
GOODS_BU
(
1
,
"商品开发"
),
PURCHASE
(
2
,
"采购"
),
PROSPECTUS
(
3
,
"计划"
),
SQE
(
4
,
"SQE"
);
SQE
(
4
,
"SQE"
),
COMPLIANCE
(
5
,
"合规"
);
ChangePrincipalEnum
(
Integer
type
,
String
name
)
{
...
...
yanxuan-qc-change-system-common/src/main/java/com/netease/mail/yanxuan/change/common/enums/SupplierChangePrincipalEnum.java
View file @
7c922cf0
...
...
@@ -14,7 +14,8 @@ public enum SupplierChangePrincipalEnum {
PURCHASE
(
1
,
"采购"
),
PROSPECTUS
(
2
,
"计划"
),
SQE
(
3
,
"SQE"
),
GOODS_BU
(
4
,
"商品开发"
);
GOODS_BU
(
4
,
"商品开发"
),
COMPLIANCE
(
5
,
"合规"
);
SupplierChangePrincipalEnum
(
Integer
type
,
String
name
)
{
...
...
yanxuan-qc-change-system-dal/src/main/java/com/netease/mail/yanxuan/change/dal/meta/model/po/ChangeGoodsPrincipalPO.java
View file @
7c922cf0
...
...
@@ -49,5 +49,15 @@ public class ChangeGoodsPrincipalPO {
*/
private
String
goodsSqeEmail
;
/**
* 合规 名称
*/
private
String
goodsComplianceName
;
/**
* 合规 邮箱
*/
private
String
goodsComplianceEmail
;
}
yanxuan-qc-change-system-integration/src/main/java/com/netease/mail/yanxuan/change/integration/excel/ChangeFlowExcelDTO.java
View file @
7c922cf0
...
...
@@ -166,6 +166,12 @@ public class ChangeFlowExcelDTO {
private
String
goodsProject
;
/**
* 合规负责人
*/
@Excel
(
name
=
"合规负责人"
)
private
String
goodsCompliance
;
/**
* 变更行动部门
*/
@Excel
(
name
=
"变更行动部门"
)
...
...
yanxuan-qc-change-system-integration/src/main/java/com/netease/mail/yanxuan/change/integration/excel/ChangeFlowExcelVo.java
View file @
7c922cf0
...
...
@@ -171,56 +171,62 @@ public class ChangeFlowExcelVo {
private
String
goodsProjectName
;
/**
* 合规负责人
*/
@ExcelTitleName
(
title
=
"合规负责人"
,
order
=
26
)
private
String
goodsCompliance
;
/**
* 变更行动部门
*/
@ExcelTitleName
(
title
=
"变更行动部门"
,
order
=
2
6
)
@ExcelTitleName
(
title
=
"变更行动部门"
,
order
=
2
7
)
private
String
execDepartment
;
/**
* 变更行动人
*/
@ExcelTitleName
(
title
=
"变更行动人"
,
order
=
2
7
)
@ExcelTitleName
(
title
=
"变更行动人"
,
order
=
2
8
)
private
String
changeExecUser
;
/**
* 行动项变更风险描述
*/
@ExcelTitleName
(
title
=
"变更风险描述"
,
order
=
2
8
)
@ExcelTitleName
(
title
=
"变更风险描述"
,
order
=
2
9
)
private
String
changeExecRiskDesc
;
/**
* 行动项
*/
@ExcelTitleName
(
title
=
"行动项"
,
order
=
29
)
@ExcelTitleName
(
title
=
"行动项"
,
order
=
30
)
private
String
changeExecProject
;
/**
* 变更验证措施
*/
@ExcelTitleName
(
title
=
"变更验证措施"
,
order
=
3
0
)
@ExcelTitleName
(
title
=
"变更验证措施"
,
order
=
3
1
)
private
String
changeChecking
;
/**
* 行动完成时间
*/
@ExcelTitleName
(
title
=
"行动完成时间"
,
order
=
3
1
)
@ExcelTitleName
(
title
=
"行动完成时间"
,
order
=
3
2
)
private
String
changeExecFinishTime
;
/**
* 行动完成情况
*/
@ExcelTitleName
(
title
=
"行动完成情况"
,
order
=
3
2
)
@ExcelTitleName
(
title
=
"行动完成情况"
,
order
=
3
3
)
private
String
changeExecFinishDesc
;
/**
* 变更结论
*/
@ExcelTitleName
(
title
=
"变更结论"
,
order
=
3
3
)
@ExcelTitleName
(
title
=
"变更结论"
,
order
=
3
4
)
private
String
changeResult
;
/**
* 变更完结时间
*/
@ExcelTitleName
(
title
=
"变更完结时间"
,
order
=
3
4
)
@ExcelTitleName
(
title
=
"变更完结时间"
,
order
=
3
5
)
private
Integer
changeEndTime
;
...
...
@@ -327,7 +333,11 @@ public class ChangeFlowExcelVo {
excelCell
=
new
ExcelCell
();
excelCell
.
setValue
(
dto
.
getGoodsProject
());
cellInfo
.
add
(
excelCell
);
// 26.变更行动部门
// 26.合规负责人
excelCell
=
new
ExcelCell
();
excelCell
.
setValue
(
dto
.
getGoodsCompliance
());
cellInfo
.
add
(
excelCell
);
// 27.变更行动部门
excelCell
=
new
ExcelCell
();
excelCell
.
setValue
(
dto
.
getExecDepartment
());
cellInfo
.
add
(
excelCell
);
...
...
yanxuan-qc-change-system-integration/src/main/java/com/netease/mail/yanxuan/change/integration/flow/supplier/req/SupplierRelatedUserReq.java
View file @
7c922cf0
...
...
@@ -12,7 +12,7 @@ import java.util.List;
public
class
SupplierRelatedUserReq
{
/**
* 搜索类型(1-采购 2-计划 3-SQE 4-商品开发)
* 搜索类型(1-采购 2-计划 3-SQE 4-商品开发
5-合规
)
*/
private
Integer
searchType
;
...
...
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