Commit 192ccb1e by 王志超

feat: 工单用户归属展示

parent 2462289a
Pipeline #86524 passed with stages
in 1 minute 29 seconds
...@@ -1372,7 +1372,7 @@ public class ChangeFlowBiz { ...@@ -1372,7 +1372,7 @@ public class ChangeFlowBiz {
List<String> subFlowIds = subFlowIdsMap.getOrDefault(c.getId(), new ArrayList<>()); List<String> subFlowIds = subFlowIdsMap.getOrDefault(c.getId(), new ArrayList<>());
changeFlowVO.setSubFlowIds(subFlowIds); changeFlowVO.setSubFlowIds(subFlowIds);
// 设置单归属关系 // 设置单归属关系
if (StringUtils.isNotBlank(currentUser)) { if (StringUtils.isNotBlank(currentUser)) {
boolean isCreator = currentUser.equals(c.getCreator()); boolean isCreator = currentUser.equals(c.getCreator());
boolean isChangeCommander = currentUser.equals(c.getChangeCommander()); boolean isChangeCommander = currentUser.equals(c.getChangeCommander());
...@@ -1381,7 +1381,7 @@ public class ChangeFlowBiz { ...@@ -1381,7 +1381,7 @@ public class ChangeFlowBiz {
if (StringUtils.isNotBlank(approverJson)) { if (StringUtils.isNotBlank(approverJson)) {
isApprover = approverJson.contains(currentUser); isApprover = approverJson.contains(currentUser);
} }
FlowOwnershipVO flowOwnership = FlowOwnershipVO.builder() ChangeFlowOwnershipVO flowOwnership = ChangeFlowOwnershipVO.builder()
.isCreator(isCreator) .isCreator(isCreator)
.isChangeCommander(isChangeCommander) .isChangeCommander(isChangeCommander)
.isApprover(isApprover) .isApprover(isApprover)
......
...@@ -37,12 +37,12 @@ import com.netease.mail.yanxuan.change.dal.mapper.ChangeSubFlowRecordMapper; ...@@ -37,12 +37,12 @@ import com.netease.mail.yanxuan.change.dal.mapper.ChangeSubFlowRecordMapper;
import com.netease.mail.yanxuan.change.dal.meta.model.req.ChangeExecConfigReq; import com.netease.mail.yanxuan.change.dal.meta.model.req.ChangeExecConfigReq;
import com.netease.mail.yanxuan.change.dal.meta.model.req.ChangeFlowFile; import com.netease.mail.yanxuan.change.dal.meta.model.req.ChangeFlowFile;
import com.netease.mail.yanxuan.change.dal.meta.model.req.ChangeFlowListQueryReq; import com.netease.mail.yanxuan.change.dal.meta.model.req.ChangeFlowListQueryReq;
import com.netease.mail.yanxuan.change.dal.meta.model.req.ChangeSubFlowCreateReq;
import com.netease.mail.yanxuan.change.dal.meta.model.req.ChangeSubFlowListQueryReq; import com.netease.mail.yanxuan.change.dal.meta.model.req.ChangeSubFlowListQueryReq;
import com.netease.mail.yanxuan.change.dal.meta.model.req.ChangeSubFlowSubmitReq; import com.netease.mail.yanxuan.change.dal.meta.model.req.ChangeSubFlowSubmitReq;
import com.netease.mail.yanxuan.change.dal.meta.model.vo.ChangeFlowExecVO; import com.netease.mail.yanxuan.change.dal.meta.model.vo.ChangeFlowExecVO;
import com.netease.mail.yanxuan.change.dal.meta.model.vo.ChangeFlowVO; import com.netease.mail.yanxuan.change.dal.meta.model.vo.ChangeFlowVO;
import com.netease.mail.yanxuan.change.dal.meta.model.vo.ChangeSubFlowListVO; import com.netease.mail.yanxuan.change.dal.meta.model.vo.ChangeSubFlowListVO;
import com.netease.mail.yanxuan.change.dal.meta.model.vo.ChangeSubFlowOwnershipVO;
import com.netease.mail.yanxuan.change.dal.meta.model.vo.ChangeSubFlowVO; import com.netease.mail.yanxuan.change.dal.meta.model.vo.ChangeSubFlowVO;
import com.netease.mail.yanxuan.change.dal.meta.model.vo.PageVO; import com.netease.mail.yanxuan.change.dal.meta.model.vo.PageVO;
import com.netease.mail.yanxuan.change.integration.flow.UserQueryDTO; import com.netease.mail.yanxuan.change.integration.flow.UserQueryDTO;
...@@ -754,6 +754,29 @@ public class ChangeSubFlowBiz { ...@@ -754,6 +754,29 @@ public class ChangeSubFlowBiz {
} }
} }
// 设置子单归属关系
if (StringUtils.isNotBlank(currentUser)) {
// 是否是执行人(change_exec_user_email)
boolean isExecutor = currentUser.equals(subFlowRecord.getChangeExecUserEmail());
// 是否是审批人(approver)
boolean isApprover = false;
String subApproverJson = subFlowRecord.getApprover();
if (StringUtils.isNotBlank(subApproverJson)) {
isApprover = subApproverJson.contains(currentUser);
}
// 是否是主单变更负责人(change_commander,关联主单的负责人)
boolean isMainFlowCommander = currentUser.equals(subFlowRecord.getChangeCommander());
ChangeSubFlowOwnershipVO flowOwnership = ChangeSubFlowOwnershipVO.builder()
.isExecutor(isExecutor)
.isApprover(isApprover)
.isMainFlowCommander(isMainFlowCommander)
.build();
vo.setFlowOwnership(flowOwnership);
}
list.add(vo); list.add(vo);
} }
......
...@@ -68,6 +68,8 @@ public class ChangeSubFlowListQueryReq { ...@@ -68,6 +68,8 @@ public class ChangeSubFlowListQueryReq {
* 数据可见范围:仅查看我跟进的工单(默认true) * 数据可见范围:仅查看我跟进的工单(默认true)
* true: 仅展示当前用户相关的变更行动工单 * true: 仅展示当前用户相关的变更行动工单
* false: 展示所有变更行动工单 * false: 展示所有变更行动工单
* “变更行动人/行动项审批人=当前用户” 的变更行动工单
* “变更负责人=当前用户”的变更工单所关联的全部变更行动工单
*/ */
private Boolean onlyMyFollowed; private Boolean onlyMyFollowed;
......
/**
* @(#)ChangeFlowOwnershipVO.java, 2024/12/04.
* <p/>
* Copyright 2024 Netease, Inc. All rights reserved.
* NETEASE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
*/
package com.netease.mail.yanxuan.change.dal.meta.model.vo;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* 主单归属关系(用于标识当前用户与主单的归属关系)
* 对应查询条件:creator = 当前用户 OR change_commander = 当前用户 OR approver 包含当前用户
*
* @Author system
* @Date 2024/12/04
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class ChangeFlowOwnershipVO {
/**
* 是否是创建人(creator)
*/
private Boolean isCreator;
/**
* 是否是变更负责人(change_commander)
*/
private Boolean isChangeCommander;
/**
* 是否是审批人(approver)
*/
private Boolean isApprover;
}
...@@ -207,7 +207,7 @@ public class ChangeFlowVO { ...@@ -207,7 +207,7 @@ public class ChangeFlowVO {
private List<String> subFlowIds; private List<String> subFlowIds;
/** /**
* 工单归属关系(标识当前用户与工单的归属关系) * 主单归属关系(标识当前用户与主单的归属关系)
*/ */
private FlowOwnershipVO flowOwnership; private ChangeFlowOwnershipVO flowOwnership;
} }
\ No newline at end of file
/**
* @(#)ChangeSubFlowOwnershipVO.java, 2024/12/04.
* <p/>
* Copyright 2024 Netease, Inc. All rights reserved.
* NETEASE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
*/
package com.netease.mail.yanxuan.change.dal.meta.model.vo;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* 子单归属关系(用于标识当前用户与子单的归属关系)
* 对应查询条件:
* 1. 变更行动人/行动项审批人=当前用户(change_exec_user_email = 当前用户 OR approver 包含当前用户)
* 2. 变更负责人=当前用户的变更工单所关联的全部变更行动工单(change_commander = 当前用户)
*
* @Author system
* @Date 2024/12/04
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class ChangeSubFlowOwnershipVO {
/**
* 是否是执行人(change_exec_user_email)
*/
private Boolean isExecutor;
/**
* 是否是审批人(approver)
*/
private Boolean isApprover;
/**
* 是否是主单变更负责人(change_commander,关联主单的负责人)
*/
private Boolean isMainFlowCommander;
}
...@@ -72,5 +72,10 @@ public class ChangeSubFlowVO { ...@@ -72,5 +72,10 @@ public class ChangeSubFlowVO {
* 创建时间(行动工单发起时间) * 创建时间(行动工单发起时间)
*/ */
private Long createTime; private Long createTime;
/**
* 子单归属关系(标识当前用户与子单的归属关系)
*/
private ChangeSubFlowOwnershipVO flowOwnership;
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment