From 43b6b4b905fb272e2d7d9c0738610c4204c958ce Mon Sep 17 00:00:00 2001
From: yangys <y_ys79@sina.com>
Date: 星期五, 22 八月 2025 01:07:24 +0800
Subject: [PATCH] 增加首页搜索接口参数调整

---
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/NcNodeService.java |   60 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 57 insertions(+), 3 deletions(-)

diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/NcNodeService.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/NcNodeService.java
index fbfc9d6..d275a46 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/NcNodeService.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/NcNodeService.java
@@ -18,6 +18,7 @@
 import java.util.List;
 import java.util.Objects;
 import java.util.Optional;
+import java.util.stream.Collectors;
 
 /**
  * 绋嬪簭鑺傜偣
@@ -97,11 +98,32 @@
 
 
 	/**
+	 * 杞﹁鑺傜偣
+	 * @param queryVO
+	 * @return
+	 */
+	/*
+	public List<Long> searchDrawing(NcNodeQueryVO queryVO) {
+		List<NcNode> nodes = lambdaQuery().eq(NcNode::getNodeType,NcNode.TYPE_DRAWING_NO)
+			.eq(NcNode::getIsLastEdition,1)
+			.eq(NcNode::getName,queryVO.getDrawingNo())
+			.ge(queryVO.getCreateTimeBegin()!=null,NcNode::getCreateTime,queryVO.getCreateTimeBegin())
+			.le(queryVO.getCreateTimeEnd()!=null,NcNode::getCreateTime,queryVO.getCreateTimeEnd())
+			.and(i->{
+
+				i.or().likeRight(queryVO.getProgramStatus().contains("1"),NcNode::getParentIds,"0,1,");
+				i.or().likeRight(queryVO.getProgramStatus().contains("2"),NcNode::getParentIds,"0,2,");
+				i.or().likeRight(queryVO.getProgramStatus().contains("3"),NcNode::getParentIds,"0,3,");
+			}).list();
+
+		return nodes.stream().map(NcNode::getId).toList();
+	}*/
+	/**
 	 * 棣栭〉鏍戞煡璇�
 	 * @param queryVO
 	 * @return
 	 */
-	public List<NcNodeVO> searchList(NcNodeQueryVO queryVO) {
+	public List<NcNodeVO> searchList(NcNodeOldQueryVO queryVO) {
 		//1.鏍规嵁鍏宠繘瀛楀拰鑺傜偣绫诲瀷鏌ヨ鍒濆鍒楄〃,鏌ヨ鐨勫師濮嬪垪琛紝闇�瑕乭asChild瀛楁锛屾墍浠ヤ娇鐢╩apper.xml
 		List<NcNodeVO> oriList = this.getBaseMapper().searchList(queryVO);
 		if ("10".equals(queryVO.getNodeType())) {
@@ -111,8 +133,6 @@
 
 		List<NcNodeVO> allVos = new ArrayList<NcNodeVO>();//宸茬粡鍔犲叆杩囩殑鑺傜偣锛岀敤浜庡幓閲�
 		List<NcNodeVO> rootVos = new ArrayList<NcNodeVO>();
-
-		//List<NcNode> rootNodes = new ArrayList<>();
 
 		for(NcNodeVO vo : oriList){
 			allVos.add(vo);
@@ -133,6 +153,40 @@
 		return rootVos;
 	}
 
+	/**
+	 * 棣栭〉鎼滅储 鏂扮殑
+	 * @param queryVO 鏌ヨ鍙傛暟
+	 * @return
+	 */
+	public List<NcNodeVO> searchList2(NcNodeQueryVO queryVO) {
+		//1.鏍规嵁闆剁粍浠跺彿鍜屽垱寤烘椂闂存煡璇㈠垵濮嬪垪琛�,鏌ヨ鐨勫師濮嬪垪琛紝闇�瑕乭asChild瀛楁锛屾墍浠ヤ娇鐢╩apper.xml
+		if(queryVO.getCreateTimeEnd()!=null){
+			queryVO.setCreateTimeEnd(queryVO.getCreateTimeEnd().plusDays(1));
+		}
+		List<NcNodeVO> oriList = this.getBaseMapper().searchList2(queryVO);
+
+
+		List<NcNodeVO> allVos = new ArrayList<>();//宸茬粡鍔犲叆杩囩殑鑺傜偣锛岀敤浜庡幓閲�
+		List<NcNodeVO> rootVos = new ArrayList<>();
+
+		for(NcNodeVO vo : oriList){
+			allVos.add(vo);
+			//涓婄骇鍚勭骇鐨勮妭鐐�
+			List<NcNodeVO> parents = this.getBaseMapper().searchListInIds(Func.toLongList(vo.getParentIds()));
+
+			for(NcNodeVO pvo : parents){
+				if(pvo.getParentId() == 0L){
+					rootVos.add(pvo);
+				}
+				allVos.add(pvo);
+			}
+		}
+		for(NcNodeVO root : rootVos){
+			addNodeChildren(root, allVos);
+		}
+		return rootVos;
+	}
+
 	void addNodeChildren(NcNodeVO node, List<NcNodeVO> allNodes) {
 		for(NcNodeVO vo : allNodes){
 			if(Objects.equals(vo.getParentId(), node.getId())){

--
Gitblit v1.9.3