fix:数据总览支持项目编码模糊查询
This commit is contained in:
@@ -28,11 +28,11 @@ public class SimulationNodeFeignClientImpl implements ISimulationNodeFeignClient
|
||||
* @param nodeId 节点ID
|
||||
* @return SdmResponse<List<AllNodeByProjectIdAndTypeResp>> key 为节点id,value 为节点名称
|
||||
*/
|
||||
public SdmResponse<List<AllNodeByProjectIdAndTypeResp>> getAllNodeByNodeType(Long nodeId, String nodeType) {
|
||||
public SdmResponse<List<AllNodeByProjectIdAndTypeResp>> getAllNodeByNodeType(Long nodeId, String nodeType, String keyword) {
|
||||
SdmResponse<List<AllNodeByProjectIdAndTypeResp>> response;
|
||||
try {
|
||||
log.info("根据节点类型和节点ID获取所有节点信息请求参数:nodeId={}, nodeType={}", nodeId, nodeType);
|
||||
response = simulationNodeFeignClient.getAllNodeByNodeType(nodeId, nodeType);
|
||||
log.info("根据节点类型和节点ID获取所有节点信息请求参数:nodeId={}, nodeType={}, keyword={}", nodeId, nodeType, keyword);
|
||||
response = simulationNodeFeignClient.getAllNodeByNodeType(nodeId, nodeType, keyword);
|
||||
if (!response.isSuccess() || response.getData() == null || response.getData().isEmpty()) {
|
||||
return SdmResponse.failed("获取节点信息失败");
|
||||
}
|
||||
|
||||
@@ -26,7 +26,7 @@ public interface ISimulationNodeFeignClient {
|
||||
* @return SdmResponse<List<AllNodeByProjectIdAndTypeResp>>
|
||||
*/
|
||||
@GetMapping("/node/getAllNodeByNodeType")
|
||||
SdmResponse<List<AllNodeByProjectIdAndTypeResp>> getAllNodeByNodeType(@RequestParam(value = "nodeId", required = false) Long nodeId, @RequestParam(value = "nodeType") String nodeType);
|
||||
SdmResponse<List<AllNodeByProjectIdAndTypeResp>> getAllNodeByNodeType(@RequestParam(value = "nodeId", required = false) Long nodeId, @RequestParam(value = "nodeType") String nodeType, @RequestParam(value = "keyword", required = false) String keyword);
|
||||
|
||||
/**
|
||||
* 根据项目ID和节点类型获取所有节点信息
|
||||
|
||||
@@ -19,4 +19,10 @@ public class GetSimulationNodeTreeReq {
|
||||
* 聚合文件ID列表
|
||||
*/
|
||||
private List<Long> fileIds;
|
||||
|
||||
/**
|
||||
* 项目名称/编码关键字(模糊查询)
|
||||
*/
|
||||
@Schema(description = "项目名称/编码关键字")
|
||||
private String keyword;
|
||||
}
|
||||
|
||||
@@ -236,7 +236,7 @@ public class DimensionTemplateServiceImpl extends ServiceImpl<DimensionTemplateM
|
||||
// 选中维度了,没有选节点,按照模版,展示模版的第一层节点数据(支持同一层多个节点类型)
|
||||
List<String> rootNodeTypes = dimensionNodeTypeLevels.get(0);
|
||||
for (String rootNodeType : rootNodeTypes) {
|
||||
SdmResponse<List<AllNodeByProjectIdAndTypeResp>> allNodeByNodeTypeResponse = simuluationNodeFeignClient.getAllNodeByNodeType(null, rootNodeType);
|
||||
SdmResponse<List<AllNodeByProjectIdAndTypeResp>> allNodeByNodeTypeResponse = simuluationNodeFeignClient.getAllNodeByNodeType(null, rootNodeType, req.getKeyword());
|
||||
|
||||
if (!allNodeByNodeTypeResponse.isSuccess()) {
|
||||
log.error("获取节点信息失败,nodeType:{}", rootNodeType);
|
||||
|
||||
@@ -156,8 +156,8 @@ public class SimulationNodeController implements ISimulationNodeFeignClient {
|
||||
*/
|
||||
@GetMapping("/getAllNodeByNodeType")
|
||||
@Operation(summary = "根据节点类型获取所有节点", description = "根据节点类型获取所有节点")
|
||||
public SdmResponse<List<AllNodeByProjectIdAndTypeResp>> getAllNodeByNodeType(@Parameter(description = "节点id") @RequestParam(value = "nodeId", required = false) Long nodeId, @RequestParam(value = "nodeType") String nodeType) {
|
||||
return nodeService.getAllNodeByBodeType(nodeType, nodeId);
|
||||
public SdmResponse<List<AllNodeByProjectIdAndTypeResp>> getAllNodeByNodeType(@Parameter(description = "节点id") @RequestParam(value = "nodeId", required = false) Long nodeId, @RequestParam(value = "nodeType") String nodeType, @RequestParam(value = "keyword", required = false) String keyword) {
|
||||
return nodeService.getAllNodeByBodeType(nodeType, nodeId, keyword);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -121,4 +121,6 @@ public interface SimulationNodeMapper extends BaseMapper<SimulationNode> {
|
||||
List<SpdmNodeMemberVo> getNodeMemberListByMemberType(@Param("nodeIdList") List<String> nodeIdList,@Param("userId") Long userId,@Param("memberType") Integer memberType);
|
||||
|
||||
List<SimulationEncNodeVO>getEncNodeListByTaskId(@Param("taskId") String taskId);
|
||||
|
||||
List<SimulationNode> getAllNodeByNodeTypeWithKeyword(@Param("nodeType") String nodeType, @Param("nodeId") Long nodeId, @Param("keyword") String keyword);
|
||||
}
|
||||
|
||||
@@ -38,7 +38,7 @@ public interface INodeService extends IService<SimulationNode> {
|
||||
|
||||
SdmResponse batchUpdateWorkspaceExtra(BatchUpdateWorkspaceExtraReq req);
|
||||
|
||||
SdmResponse<List<AllNodeByProjectIdAndTypeResp>> getAllNodeByBodeType(String nodeType, Long nodeId);
|
||||
SdmResponse<List<AllNodeByProjectIdAndTypeResp>> getAllNodeByBodeType(String nodeType, Long nodeId, String keyword);
|
||||
|
||||
SdmResponse<List<AllNodeByProjectIdAndTypeResp>> getAllNodeByProjectIdAndType(List<String> uuids, String nextNodeType);
|
||||
|
||||
|
||||
@@ -2278,14 +2278,10 @@ public class NodeServiceImpl extends ServiceImpl<SimulationNodeMapper, Simulatio
|
||||
}
|
||||
|
||||
@Override
|
||||
public SdmResponse<List<AllNodeByProjectIdAndTypeResp>> getAllNodeByBodeType(String nodeType, Long nodeId) {
|
||||
public SdmResponse<List<AllNodeByProjectIdAndTypeResp>> getAllNodeByBodeType(String nodeType, Long nodeId, String keyword) {
|
||||
try {
|
||||
List<AllNodeByProjectIdAndTypeResp> allNodeByProjectIdAndTypeRespList = new ArrayList<>();
|
||||
List<SimulationNode> nodeList = this.lambdaQuery()
|
||||
.eq(ObjectUtils.isNotEmpty(nodeId), SimulationNode::getId, nodeId)
|
||||
.eq(ObjectUtils.isNotEmpty(nodeType), SimulationNode::getNodeType, nodeType)
|
||||
.orderByDesc(SimulationNode::getCreateTime)
|
||||
.list();
|
||||
List<SimulationNode> nodeList = nodeMapper.getAllNodeByNodeTypeWithKeyword(nodeType, nodeId, keyword);
|
||||
if (CollectionUtils.isEmpty(nodeList)) {
|
||||
return SdmResponse.failed("未找到节点");
|
||||
}
|
||||
|
||||
@@ -920,5 +920,23 @@
|
||||
AND t1.tag5 IS NOT NULL
|
||||
</select>
|
||||
|
||||
<select id="getAllNodeByNodeTypeWithKeyword" resultType="com.sdm.project.model.entity.SimulationNode">
|
||||
SELECT n.*
|
||||
FROM simulation_node n
|
||||
LEFT JOIN simulation_node p ON n.ownRootNodeUuid = p.uuid
|
||||
WHERE 1 = 1
|
||||
<if test="nodeId != null">
|
||||
AND n.id = #{nodeId}
|
||||
</if>
|
||||
<if test="nodeType != null and nodeType != ''">
|
||||
AND n.nodeType = #{nodeType}
|
||||
</if>
|
||||
<if test="keyword != null and keyword != ''">
|
||||
<bind name="keywordLike" value="'%' + keyword + '%'"/>
|
||||
AND (p.nodeName LIKE #{keywordLike} OR p.nodeCode LIKE #{keywordLike})
|
||||
</if>
|
||||
ORDER BY n.create_time DESC
|
||||
</select>
|
||||
|
||||
|
||||
</mapper>
|
||||
Reference in New Issue
Block a user