fix:数据总览支持项目编码模糊查询
This commit is contained in:
@@ -28,11 +28,11 @@ public class SimulationNodeFeignClientImpl implements ISimulationNodeFeignClient
|
|||||||
* @param nodeId 节点ID
|
* @param nodeId 节点ID
|
||||||
* @return SdmResponse<List<AllNodeByProjectIdAndTypeResp>> key 为节点id,value 为节点名称
|
* @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;
|
SdmResponse<List<AllNodeByProjectIdAndTypeResp>> response;
|
||||||
try {
|
try {
|
||||||
log.info("根据节点类型和节点ID获取所有节点信息请求参数:nodeId={}, nodeType={}", nodeId, nodeType);
|
log.info("根据节点类型和节点ID获取所有节点信息请求参数:nodeId={}, nodeType={}, keyword={}", nodeId, nodeType, keyword);
|
||||||
response = simulationNodeFeignClient.getAllNodeByNodeType(nodeId, nodeType);
|
response = simulationNodeFeignClient.getAllNodeByNodeType(nodeId, nodeType, keyword);
|
||||||
if (!response.isSuccess() || response.getData() == null || response.getData().isEmpty()) {
|
if (!response.isSuccess() || response.getData() == null || response.getData().isEmpty()) {
|
||||||
return SdmResponse.failed("获取节点信息失败");
|
return SdmResponse.failed("获取节点信息失败");
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -26,7 +26,7 @@ public interface ISimulationNodeFeignClient {
|
|||||||
* @return SdmResponse<List<AllNodeByProjectIdAndTypeResp>>
|
* @return SdmResponse<List<AllNodeByProjectIdAndTypeResp>>
|
||||||
*/
|
*/
|
||||||
@GetMapping("/node/getAllNodeByNodeType")
|
@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和节点类型获取所有节点信息
|
* 根据项目ID和节点类型获取所有节点信息
|
||||||
|
|||||||
@@ -19,4 +19,10 @@ public class GetSimulationNodeTreeReq {
|
|||||||
* 聚合文件ID列表
|
* 聚合文件ID列表
|
||||||
*/
|
*/
|
||||||
private List<Long> fileIds;
|
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);
|
List<String> rootNodeTypes = dimensionNodeTypeLevels.get(0);
|
||||||
for (String rootNodeType : rootNodeTypes) {
|
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()) {
|
if (!allNodeByNodeTypeResponse.isSuccess()) {
|
||||||
log.error("获取节点信息失败,nodeType:{}", rootNodeType);
|
log.error("获取节点信息失败,nodeType:{}", rootNodeType);
|
||||||
|
|||||||
@@ -156,8 +156,8 @@ public class SimulationNodeController implements ISimulationNodeFeignClient {
|
|||||||
*/
|
*/
|
||||||
@GetMapping("/getAllNodeByNodeType")
|
@GetMapping("/getAllNodeByNodeType")
|
||||||
@Operation(summary = "根据节点类型获取所有节点", description = "根据节点类型获取所有节点")
|
@Operation(summary = "根据节点类型获取所有节点", description = "根据节点类型获取所有节点")
|
||||||
public SdmResponse<List<AllNodeByProjectIdAndTypeResp>> getAllNodeByNodeType(@Parameter(description = "节点id") @RequestParam(value = "nodeId", required = false) Long nodeId, @RequestParam(value = "nodeType") String nodeType) {
|
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);
|
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<SpdmNodeMemberVo> getNodeMemberListByMemberType(@Param("nodeIdList") List<String> nodeIdList,@Param("userId") Long userId,@Param("memberType") Integer memberType);
|
||||||
|
|
||||||
List<SimulationEncNodeVO>getEncNodeListByTaskId(@Param("taskId") String taskId);
|
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 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);
|
SdmResponse<List<AllNodeByProjectIdAndTypeResp>> getAllNodeByProjectIdAndType(List<String> uuids, String nextNodeType);
|
||||||
|
|
||||||
|
|||||||
@@ -2278,14 +2278,10 @@ public class NodeServiceImpl extends ServiceImpl<SimulationNodeMapper, Simulatio
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public SdmResponse<List<AllNodeByProjectIdAndTypeResp>> getAllNodeByBodeType(String nodeType, Long nodeId) {
|
public SdmResponse<List<AllNodeByProjectIdAndTypeResp>> getAllNodeByBodeType(String nodeType, Long nodeId, String keyword) {
|
||||||
try {
|
try {
|
||||||
List<AllNodeByProjectIdAndTypeResp> allNodeByProjectIdAndTypeRespList = new ArrayList<>();
|
List<AllNodeByProjectIdAndTypeResp> allNodeByProjectIdAndTypeRespList = new ArrayList<>();
|
||||||
List<SimulationNode> nodeList = this.lambdaQuery()
|
List<SimulationNode> nodeList = nodeMapper.getAllNodeByNodeTypeWithKeyword(nodeType, nodeId, keyword);
|
||||||
.eq(ObjectUtils.isNotEmpty(nodeId), SimulationNode::getId, nodeId)
|
|
||||||
.eq(ObjectUtils.isNotEmpty(nodeType), SimulationNode::getNodeType, nodeType)
|
|
||||||
.orderByDesc(SimulationNode::getCreateTime)
|
|
||||||
.list();
|
|
||||||
if (CollectionUtils.isEmpty(nodeList)) {
|
if (CollectionUtils.isEmpty(nodeList)) {
|
||||||
return SdmResponse.failed("未找到节点");
|
return SdmResponse.failed("未找到节点");
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -920,5 +920,23 @@
|
|||||||
AND t1.tag5 IS NOT NULL
|
AND t1.tag5 IS NOT NULL
|
||||||
</select>
|
</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>
|
</mapper>
|
||||||
Reference in New Issue
Block a user