fix[project]: 所有任务查询 bugfix
This commit is contained in:
@@ -8,7 +8,8 @@ public enum NodeMemberTypeEnum {
|
||||
|
||||
MANAGER("项目经理", 0),
|
||||
ATTENTION("项目关注人", 1),
|
||||
PINNED("项目置顶人", 2);
|
||||
PINNED("项目置顶人", 2),
|
||||
PARTICIPANT("项目参与人", 3);
|
||||
|
||||
|
||||
private final String name;
|
||||
|
||||
@@ -118,10 +118,10 @@ public interface SimulationNodeMapper extends BaseMapper<SimulationNode> {
|
||||
|
||||
|
||||
List<SpdmNodeVo> getNodeListByUserId(@Param("nodeType") String nodeType, @Param("nodeSubType") String nodeSubType, @Param("exeStatus") String exeStatus, @Param("nodeCode") String nodeCode,
|
||||
@Param("manager") String manager, @Param("nodeName") String nodeName, @Param("tenantId") Long tenantId, @Param("pos") int pos, @Param("limit") int limit, @Param("userId") Long userId,@Param("type") Integer type);
|
||||
@Param("manager") String manager, @Param("nodeName") String nodeName, @Param("tenantId") Long tenantId, @Param("pos") int pos, @Param("limit") int limit, @Param("userId") Long userId,@Param("type") Integer type,@Param("projectIdList") List<String> projectIdList);
|
||||
|
||||
int getNodeListCountByUserId(@Param("nodeType") String nodeType, @Param("nodeSubType") String nodeSubType, @Param("exeStatus") String exeStatus, @Param("nodeCode") String nodeCode,
|
||||
@Param("manager") String manager, @Param("nodeName") String nodeName, @Param("tenantId") Long tenantId, @Param("userId") Long userId,@Param("type") Integer type);
|
||||
@Param("manager") String manager, @Param("nodeName") String nodeName, @Param("tenantId") Long tenantId, @Param("userId") Long userId,@Param("type") Integer type,@Param("projectIdList") List<String> projectIdList);
|
||||
|
||||
List<SpdmNodeMemberVo> getNodeMemberListByMemberType(@Param("nodeIdList") List<String> nodeIdList,@Param("userId") Long userId,@Param("memberType") Integer memberType);
|
||||
|
||||
|
||||
@@ -538,8 +538,33 @@ public class NodeServiceImpl extends ServiceImpl<SimulationNodeMapper, Simulatio
|
||||
int total;
|
||||
// type=0,查询所有,使用原有查询逻辑
|
||||
if (type == null || type == 0) {
|
||||
// 查询当前用户作为任务成员的项目id集合
|
||||
List<String> projectIdList = Optional.ofNullable(
|
||||
simulationTaskMemberService.lambdaQuery()
|
||||
.eq(SimulationTaskMember::getUserId, userId)
|
||||
.list()
|
||||
)
|
||||
.filter(CollectionUtils::isNotEmpty)
|
||||
.stream()
|
||||
.flatMap(List::stream)
|
||||
.map(SimulationTaskMember::getTaskId)
|
||||
.distinct()
|
||||
.filter(StringUtils::isNotBlank) // 防止taskId为空
|
||||
.toList()
|
||||
.stream()
|
||||
.filter(StringUtils::isNotBlank)
|
||||
.map(taskIds -> taskService.lambdaQuery()
|
||||
.in(SimulationTask::getUuid, taskIds)
|
||||
.list()
|
||||
)
|
||||
.filter(CollectionUtils::isNotEmpty)
|
||||
.flatMap(List::stream)
|
||||
.map(SimulationTask::getTag1)
|
||||
.filter(StringUtils::isNotBlank)
|
||||
.distinct()
|
||||
.toList();
|
||||
nodeList = nodeMapper.getNodeListByUserId(req.getNodeType(), req.getNodeSubType(), req.getExeStatus(), req.getNodeCode(), req.getManager(), req.getNodeName(),
|
||||
tenantId, pos, limit,userId,type);
|
||||
tenantId, pos, limit,userId,type,projectIdList);
|
||||
// 设置关注标签
|
||||
if (CollectionUtils.isNotEmpty(nodeList)) {
|
||||
List<String> nodeIdList = nodeList.stream().map(SpdmNodeVo::getUuid).toList();
|
||||
@@ -554,15 +579,15 @@ public class NodeServiceImpl extends ServiceImpl<SimulationNodeMapper, Simulatio
|
||||
}
|
||||
}
|
||||
}
|
||||
total = nodeMapper.getNodeListCountByUserId(req.getNodeType(), req.getNodeSubType(), req.getExeStatus(), req.getNodeCode(), req.getManager(), req.getNodeName(), tenantId,userId,type);
|
||||
total = nodeMapper.getNodeListCountByUserId(req.getNodeType(), req.getNodeSubType(), req.getExeStatus(), req.getNodeCode(), req.getManager(), req.getNodeName(), tenantId,userId,type,projectIdList);
|
||||
}else if (type == 1){
|
||||
nodeList = nodeMapper.getNodeListByUserId(req.getNodeType(), req.getNodeSubType(), req.getExeStatus(), req.getNodeCode(), req.getManager(), req.getNodeName(),
|
||||
tenantId, pos, limit,userId,type);
|
||||
tenantId, pos, limit,userId,type,Collections.emptyList());
|
||||
nodeList.forEach(node -> node.setAttentionFlag(1));
|
||||
total = nodeMapper.getNodeListCountByUserId(req.getNodeType(), req.getNodeSubType(), req.getExeStatus(), req.getNodeCode(), req.getManager(), req.getNodeName(), tenantId,userId,type);
|
||||
total = nodeMapper.getNodeListCountByUserId(req.getNodeType(), req.getNodeSubType(), req.getExeStatus(), req.getNodeCode(), req.getManager(), req.getNodeName(), tenantId,userId,type,Collections.emptyList());
|
||||
}else {
|
||||
nodeList = nodeMapper.getNodeListByUserId(req.getNodeType(), req.getNodeSubType(), req.getExeStatus(), req.getNodeCode(), req.getManager(), req.getNodeName(),
|
||||
tenantId, pos, limit,userId,type);
|
||||
tenantId, pos, limit,userId,type,Collections.emptyList());
|
||||
// 设置关注标签
|
||||
if (CollectionUtils.isNotEmpty(nodeList)) {
|
||||
List<String> nodeIdList = nodeList.stream().map(SpdmNodeVo::getUuid).toList();
|
||||
@@ -577,7 +602,7 @@ public class NodeServiceImpl extends ServiceImpl<SimulationNodeMapper, Simulatio
|
||||
}
|
||||
}
|
||||
}
|
||||
total = nodeMapper.getNodeListCountByUserId(req.getNodeType(), req.getNodeSubType(), req.getExeStatus(), req.getNodeCode(), req.getManager(), req.getNodeName(), tenantId,userId,type);
|
||||
total = nodeMapper.getNodeListCountByUserId(req.getNodeType(), req.getNodeSubType(), req.getExeStatus(), req.getNodeCode(), req.getManager(), req.getNodeName(), tenantId,userId,type,Collections.emptyList());
|
||||
}
|
||||
|
||||
CoreLogger.info("getNodeList param:{},tenantId:{}", JSONObject.toJSONString(req), tenantId);
|
||||
|
||||
@@ -975,6 +975,14 @@
|
||||
<bind name="searchKey3" value="'%' + nodeName + '%'"/>
|
||||
and sn.nodeName like #{searchKey3}
|
||||
</if>
|
||||
<if test="projectIdList != null and projectIdList.size > 0">
|
||||
or sn.uuid in
|
||||
(
|
||||
<foreach collection='projectIdList' item='projectId' index='index' separator=','>
|
||||
#{projectId}
|
||||
</foreach>
|
||||
)
|
||||
</if>
|
||||
order by IFNULL(pin.pinnedType, 0) desc, pin.pinnedTime desc, sn.create_time desc
|
||||
limit #{pos},#{limit}
|
||||
</select>
|
||||
@@ -1017,6 +1025,14 @@
|
||||
<bind name="searchKey3" value="'%' + nodeName + '%'"/>
|
||||
and sn.nodeName like #{searchKey3}
|
||||
</if>
|
||||
<if test="projectIdList != null and projectIdList.size > 0">
|
||||
or sn.uuid in
|
||||
(
|
||||
<foreach collection='projectIdList' item='projectId' index='index' separator=','>
|
||||
#{projectId}
|
||||
</foreach>
|
||||
)
|
||||
</if>
|
||||
</select>
|
||||
|
||||
<select id="getNodeMemberListByMemberType" resultType="com.sdm.project.model.vo.SpdmNodeMemberVo">
|
||||
|
||||
@@ -1209,10 +1209,6 @@
|
||||
<bind name="searchKey1" value="'%' + req.taskName + '%'"/>
|
||||
and st.task_name like #{searchKey1}
|
||||
</if>
|
||||
<if test="req.name != null and req.name != ''">
|
||||
<bind name="searchKey2" value="'%' + req.name + '%'"/>
|
||||
and st.task_name like #{searchKey2}
|
||||
</if>
|
||||
<if test="req.taskCode != null and req.taskCode != ''">
|
||||
<bind name="searchKey3" value="'%' + req.taskCode + '%'"/>
|
||||
and st.task_code like #{searchKey3}
|
||||
|
||||
Reference in New Issue
Block a user