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
6ae3cc04
Commit
6ae3cc04
authored
Dec 02, 2025
by
王志超
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
feat: 简化主工单VO转化赋值操作
parent
93c5848b
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
22 additions
and
55 deletions
+22
-55
ChangeFlowBiz.java
...om/netease/mail/yanxuan/change/biz/biz/ChangeFlowBiz.java
+6
-24
ChangeSubFlowBiz.java
...netease/mail/yanxuan/change/biz/biz/ChangeSubFlowBiz.java
+16
-31
No files found.
yanxuan-qc-change-system-biz/src/main/java/com/netease/mail/yanxuan/change/biz/biz/ChangeFlowBiz.java
View file @
6ae3cc04
...
...
@@ -21,6 +21,7 @@ import com.netease.mail.yanxuan.change.dal.meta.model.vo.*;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.apache.poi.ss.usermodel.Workbook
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Component
;
import
org.springframework.transaction.annotation.Transactional
;
...
...
@@ -991,18 +992,11 @@ public class ChangeFlowBiz {
public
ChangeFlowVO
detail
(
Long
flowId
)
{
ChangeRecord
changeRecord
=
changeFlowService
.
getByFlowId
(
flowId
);
if
(
changeRecord
==
null
)
{
throw
ExceptionFactory
.
createBiz
(
ResponseCode
.
ERROR_FLOW_ID
,
"工单id不存在"
);
throw
ExceptionFactory
.
createBiz
(
ResponseCode
.
ERROR_FLOW_ID
,
"
变更
工单id不存在"
);
}
log
.
debug
(
"[detail] detail:{}"
,
JSON
.
toJSONString
(
changeRecord
));
ChangeFlowVO
changeFlowVO
=
new
ChangeFlowVO
();
changeFlowVO
.
setId
(
changeRecord
.
getId
());
changeFlowVO
.
setFlowNode
(
changeRecord
.
getFlowNode
());
changeFlowVO
.
setCancelReason
(
changeRecord
.
getCancelReason
());
changeFlowVO
.
setFlowId
(
changeRecord
.
getFlowId
());
changeFlowVO
.
setParentChangeClassId
(
changeRecord
.
getParentChangeClassId
());
changeFlowVO
.
setSonChangeClassId
(
changeRecord
.
getSonChangeClassId
());
changeFlowVO
.
setChangeSubject
(
changeRecord
.
getChangeSubject
());
changeFlowVO
.
setRemark
(
changeRecord
.
getRemark
());
BeanUtils
.
copyProperties
(
changeRecord
,
changeFlowVO
);
ChangeType
parentChangeType
=
changeTypeService
.
getChangeTypeById
(
changeRecord
.
getParentChangeClassId
());
if
(
parentChangeType
==
null
)
{
throw
ExceptionFactory
.
createBiz
(
ResponseCode
.
CHANGE_TYPE_NOT_EXIST
,
"变更类型不存在"
);
...
...
@@ -1012,11 +1006,9 @@ public class ChangeFlowBiz {
throw
ExceptionFactory
.
createBiz
(
ResponseCode
.
CHANGE_TYPE_NOT_EXIST
,
"变更类型配置不存在"
);
}
changeFlowVO
.
setChangeType
(
parentChangeType
.
getTypeName
()
+
">"
+
sonChangeType
.
getTypeName
());
changeFlowVO
.
setChangeLevel
(
changeRecord
.
getChangeLevel
());
changeFlowVO
.
setChangeDepartment
(
changeRecord
.
getChangeDepartment
());
changeFlowVO
.
setChangeCommander
(
changeRecord
.
getChangeCommander
());
// 供应商名称需要查询
String
changeSupplier
=
changeRecord
.
getChangeSupplier
();
changeFlowVO
.
setChangeSupplier
(
changeSupplier
);
String
changeSupplierName
=
""
;
if
(
StringUtils
.
isNotBlank
(
changeSupplier
))
{
List
<
SupplierSimpleRsp
>
supplierSimple
=
supplierService
.
getSupplierName
(
changeSupplier
);
...
...
@@ -1026,16 +1018,10 @@ public class ChangeFlowBiz {
}
}
changeFlowVO
.
setChangeSupplierName
(
changeSupplierName
);
changeFlowVO
.
setChangeReason
(
changeRecord
.
getChangeReason
());
changeFlowVO
.
setChangeContent
(
changeRecord
.
getChangeContent
());
changeFlowVO
.
setChangeRiskDesc
(
changeRecord
.
getChangeRiskDesc
());
// 获取附件
List
<
ChangeFlowFile
>
changeFileList
=
changeFileService
.
getChangeFileList
(
changeRecord
.
getId
());
changeFlowVO
.
setFiles
(
changeFileList
);
changeFlowVO
.
setChangeProfit
(
changeRecord
.
getChangeProfit
());
changeFlowVO
.
setChangeProfitAmount
(
changeRecord
.
getChangeProfitAmount
());
changeFlowVO
.
setChangeProfitDesc
(
changeRecord
.
getChangeProfitDesc
());
changeFlowVO
.
setBatchDescription
(
changeRecord
.
getBatchDescription
());
String
itemJsonStr
=
changeRecord
.
getChangeItem
();
String
changeSkuJson
=
changeRecord
.
getChangeSku
();
if
(
StringUtils
.
isNotBlank
(
itemJsonStr
))
{
...
...
@@ -1149,10 +1135,6 @@ public class ChangeFlowBiz {
log
.
error
(
"query user info has ex"
,
ex
);
}
changeFlowVO
.
setChangeExecProjectList
(
changeFlowExecRecord
);
changeFlowVO
.
setCreateTime
(
changeRecord
.
getCreateTime
());
changeFlowVO
.
setChangeConfirmResultTime
(
changeRecord
.
getChangeConfirmResultTime
());
changeFlowVO
.
setChangeResult
(
changeRecord
.
getChangeResult
());
changeFlowVO
.
setChangeResultDesc
(
changeRecord
.
getChangeResultDesc
());
changeFlowVO
.
setTopoId
(
ChangeFlowEnum
.
NEW_CHANGE_FLOW
.
getTopoId
());
try
{
Set
<
String
>
commanderList
=
new
HashSet
<>();
...
...
yanxuan-qc-change-system-biz/src/main/java/com/netease/mail/yanxuan/change/biz/biz/ChangeSubFlowBiz.java
View file @
6ae3cc04
...
...
@@ -43,6 +43,7 @@ import com.netease.yanxuan.flowx.sdk.meta.dto.flow.FlowCreateReqDTO;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Component
;
import
org.springframework.util.Assert
;
...
...
@@ -333,51 +334,35 @@ public class ChangeSubFlowBiz {
Long
changeRecordId
=
subFlowRecord
.
getChangeRecordId
();
Long
subFlowRecordId
=
subFlowRecord
.
getId
();
// 获取主单信息
ChangeRecord
changeRecord
=
changeFlowService
.
getById
(
changeRecordId
);
if
(
changeRecord
==
null
)
{
throw
ExceptionFactory
.
createBiz
(
ResponseCode
.
ERROR_FLOW_ID
,
"主单记录不存在"
);
}
// 调用主单的 detail 方法获取完整信息
ChangeFlowVO
changeFlowVO
=
changeFlowBiz
.
detail
(
changeRecord
.
getFlowId
()
);
ChangeFlowVO
changeFlowVO
=
changeFlowBiz
.
detail
(
changeRecord
Id
);
// topoId:这是子单详情页面,需要设置为子单的 topoId
changeFlowVO
.
setTopoId
(
ChangeFlowEnum
.
CHANGE_SUB_FLOW
.
getTopoId
());
// flowId 和 flowNode:应该使用子单的数据,而不是主单的数据
changeFlowVO
.
setFlowId
(
Long
.
parseLong
(
subFlowId
));
changeFlowVO
.
setFlowNode
(
subFlowRecord
.
getSubFlowNode
());
// 只保留该变更行动工单下绑定的行动项
List
<
ChangeExecRecord
>
execRecords
=
changeFlowExecService
.
getBySubFlowRecordId
(
subFlowRecordId
);
if
(
CollectionUtils
.
isNotEmpty
(
execRecords
))
{
// 转换为 ChangeFlowExecVO
List
<
ChangeFlowExecVO
>
filteredExecList
=
execRecords
.
stream
()
.
map
(
c
->
ChangeFlowExecVO
.
builder
()
.
changeExecId
(
c
.
getId
())
.
changeRecordId
(
c
.
getChangeRecordId
())
.
changeExecDepartment
(
c
.
getChangeExecDepartment
())
.
changeExecUserType
(
c
.
getChangeExecUserType
())
.
changeExecUser
(
c
.
getChangeExecUser
())
.
changeExecUserEmail
(
c
.
getChangeExecUserEmail
())
.
changeRiskDesc
(
c
.
getChangeRiskDesc
())
.
changeExecProject
(
c
.
getChangeExecProject
())
.
changeChecking
(
c
.
getChangeChecking
())
.
changeExecFinishTime
(
c
.
getChangeExecFinishTime
())
.
changeExecFinishDesc
(
c
.
getChangeExecFinishDesc
())
.
subFlowId
(
c
.
getSubFlowId
())
.
build
())
.
collect
(
Collectors
.
toList
());
List
<
ChangeFlowExecVO
>
filteredExecList
=
execRecords
.
stream
().
map
(
c
->
{
ChangeFlowExecVO
vo
=
new
ChangeFlowExecVO
();
BeanUtils
.
copyProperties
(
c
,
vo
);
vo
.
setChangeExecId
(
c
.
getId
());
return
vo
;
}).
collect
(
Collectors
.
toList
());
// 填充用户名信息
try
{
Set
<
String
>
userEmail
=
filteredExecList
.
stream
()
.
map
(
ChangeFlowExecVO:
:
getChangeExecUserEmail
)
.
collect
(
Collectors
.
toSet
());
AjaxResponse
<
List
<
IusUserInfoRsp
>>
userListInfo
=
iusRpcService
.
queryUserListInfo
(
UserQueryDTO
.
builder
().
uids
(
new
ArrayList
<>(
userEmail
)).
build
());
Set
<
String
>
userEmail
=
filteredExecList
.
stream
().
map
(
ChangeFlowExecVO:
:
getChangeExecUserEmail
)
.
collect
(
Collectors
.
toSet
());
AjaxResponse
<
List
<
IusUserInfoRsp
>>
userListInfo
=
iusRpcService
.
queryUserListInfo
(
UserQueryDTO
.
builder
().
uids
(
new
ArrayList
<>(
userEmail
)).
build
());
List
<
IusUserInfoRsp
>
data
=
userListInfo
.
getData
();
filteredExecList
.
forEach
(
i
->
{
Optional
<
IusUserInfoRsp
>
anyExeUser
=
data
.
stream
()
.
filter
(
u
->
u
.
getUid
().
equals
(
i
.
getChangeExecUserEmail
()))
.
findAny
();
.
filter
(
u
->
u
.
getUid
().
equals
(
i
.
getChangeExecUserEmail
())).
findAny
();
if
(
anyExeUser
.
isPresent
())
{
i
.
setChangeExecUserName
(
anyExeUser
.
get
().
getName
());
}
else
{
...
...
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