Commit 192ccb1e by 王志超

feat: 工单用户归属展示

parent 2462289a
Pipeline #86524 passed with stages
in 1 minute 29 seconds
......@@ -1372,7 +1372,7 @@ public class ChangeFlowBiz {
List<String> subFlowIds = subFlowIdsMap.getOrDefault(c.getId(), new ArrayList<>());
changeFlowVO.setSubFlowIds(subFlowIds);
// 设置单归属关系
// 设置单归属关系
if (StringUtils.isNotBlank(currentUser)) {
boolean isCreator = currentUser.equals(c.getCreator());
boolean isChangeCommander = currentUser.equals(c.getChangeCommander());
......@@ -1381,7 +1381,7 @@ public class ChangeFlowBiz {
if (StringUtils.isNotBlank(approverJson)) {
isApprover = approverJson.contains(currentUser);
}
FlowOwnershipVO flowOwnership = FlowOwnershipVO.builder()
ChangeFlowOwnershipVO flowOwnership = ChangeFlowOwnershipVO.builder()
.isCreator(isCreator)
.isChangeCommander(isChangeCommander)
.isApprover(isApprover)
......
......@@ -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.ChangeFlowFile;
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.ChangeSubFlowSubmitReq;
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.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.PageVO;
import com.netease.mail.yanxuan.change.integration.flow.UserQueryDTO;
......@@ -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);
}
......
......@@ -68,6 +68,8 @@ public class ChangeSubFlowListQueryReq {
* 数据可见范围:仅查看我跟进的工单(默认true)
* true: 仅展示当前用户相关的变更行动工单
* false: 展示所有变更行动工单
* “变更行动人/行动项审批人=当前用户” 的变更行动工单
* “变更负责人=当前用户”的变更工单所关联的全部变更行动工单
*/
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 {
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 {
* 创建时间(行动工单发起时间)
*/
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