From 5e1219cdb68f890bff2c7eafb2ff1a5b382840dc Mon Sep 17 00:00:00 2001
From: yangys <y_ys79@sina.com>
Date: 星期四, 21 八月 2025 16:33:34 +0800
Subject: [PATCH] 增加首页搜索接口

---
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/basesetting/producedivision/mapper/QinzheFgbMapper.java   |   12 +++++-
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/basesetting/producedivision/service/QinzheFgbService.java |   13 ++++--
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/controller/NcNodeController.java                  |   20 +++++++++
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/NcNodeService.java                        |   24 +++++++++++
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/basesetting/producedivision/mapper/QinzheFgbMapper.xml    |    3 +
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/vo/NcNodeQueryVO.java                             |   19 +++++++--
 6 files changed, 77 insertions(+), 14 deletions(-)

diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/basesetting/producedivision/mapper/QinzheFgbMapper.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/basesetting/producedivision/mapper/QinzheFgbMapper.java
index 50e3e5a..5d3f104 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/basesetting/producedivision/mapper/QinzheFgbMapper.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/basesetting/producedivision/mapper/QinzheFgbMapper.java
@@ -5,8 +5,16 @@
 import org.springblade.core.mp.mapper.BladeMapper;
 import org.springblade.mdm.basesetting.producedivision.entity.QinzheFgb;
 
-public interface QinzheFgbMapper extends BladeMapper<QinzheFgb> {
+import java.util.List;
 
-	//IPage<QinzheFgb> pageQuery(@Param("page")IPage<QinzheFgb> page, @Param("name")String name);
+public interface QinzheFgbMapper extends BladeMapper<QinzheFgb> {
+	/**
+	 * 鑾峰彇闆朵欢鍙蜂笅鎷夋暟鎹�
+	 * @param ljh 闆朵欢鍙锋ā绯婂眮灞佸眮
+	 * @return 闆朵欢鍙峰垪琛�
+	 */
+    List<String> seletDropList(String ljh);
+
+    //IPage<QinzheFgb> pageQuery(@Param("page")IPage<QinzheFgb> page, @Param("name")String name);
 	//pageMachine
 }
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/basesetting/producedivision/mapper/QinzheFgbMapper.xml b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/basesetting/producedivision/mapper/QinzheFgbMapper.xml
index 3602f41..6b20f18 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/basesetting/producedivision/mapper/QinzheFgbMapper.xml
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/basesetting/producedivision/mapper/QinzheFgbMapper.xml
@@ -2,4 +2,7 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="org.springblade.mdm.basesetting.producedivision.mapper.QinzheFgbMapper">
 
+    <select id="seletDropList" resultType="java.lang.String">
+        select distinct ljh from mdm_qinzhe_fgb where ljh like concat('%',#{ljh},'%')
+    </select>
 </mapper>
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/basesetting/producedivision/service/QinzheFgbService.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/basesetting/producedivision/service/QinzheFgbService.java
index bf8bd91..f7591aa 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/basesetting/producedivision/service/QinzheFgbService.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/basesetting/producedivision/service/QinzheFgbService.java
@@ -1,14 +1,12 @@
 package org.springblade.mdm.basesetting.producedivision.service;
 
-import com.alibaba.excel.util.StringUtils;
-import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import org.springblade.core.mp.support.Condition;
-import org.springblade.core.mp.support.Query;
 import org.springblade.mdm.basesetting.producedivision.entity.QinzheFgb;
 import org.springblade.mdm.basesetting.producedivision.mapper.QinzheFgbMapper;
-import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+
+import java.util.List;
 
 @Service
 public class QinzheFgbService extends ServiceImpl<QinzheFgbMapper, QinzheFgb> {
@@ -31,4 +29,9 @@
 		return this.lambdaQuery().like(StringUtils.isNotBlank(name),QinzheFgb::getZggy,name).page(Condition.getPage(query));
 	}
 	*/
+
+	public List<String> seletDropList(String ljh) {
+		return this.baseMapper.seletDropList(ljh);
+
+	}
 }
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/controller/NcNodeController.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/controller/NcNodeController.java
index 5200df1..ffe2552 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/controller/NcNodeController.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/controller/NcNodeController.java
@@ -15,6 +15,7 @@
 import org.springblade.core.tool.utils.Func;
 import org.springblade.mdm.basesetting.machine.vo.MachineQueryVO;
 import org.springblade.mdm.basesetting.machine.vo.MachineVO;
+import org.springblade.mdm.basesetting.producedivision.service.QinzheFgbService;
 import org.springblade.mdm.flow.service.FlowProgramFileService;
 import org.springblade.mdm.program.entity.NcNode;
 import org.springblade.mdm.program.entity.NcProgram;
@@ -42,6 +43,7 @@
 	private final NcNodeService ncNodeService;
 	private final ProgramFlowStatusQueryService programFlowStatusQueryService;
 	private final FlowProgramFileService flowProgramFileService;
+	private final QinzheFgbService qinzheFgbService;
 	/**
 	 * 鏂板
 	 */
@@ -87,7 +89,7 @@
 		}
 		return R.data(list);
 	}
-
+	/*
 	@GetMapping("/search-list")
 	@Operation(summary = "鏌ヨ鏍戠姸鍒楄〃", description = "绋嬪簭鐩綍鏍戝舰缁撴瀯锛堟煡璇笓鐢級")
 	public R<List<NcNodeVO>> searchList(NcNodeQueryVO queryVO) {
@@ -97,6 +99,22 @@
 		List<NcNodeVO> list = ncNodeService.searchList(queryVO);
 
 		return R.data(list);
+	}*/
+	@GetMapping("/search")
+	@Operation(summary = "棣栭〉鎼滅储", description = "鎼滅储鎸囧畾闆剁粍浠跺彿")
+		public R<List<Long>> search(NcNodeQueryVO queryVO) {
+		if(Func.isEmpty(queryVO.getDrawingNo())){
+			return R.fail("璇疯緭鍏ラ浂缁勪欢鍙�");
+		}
+		List<Long> list = ncNodeService.searchDrawing(queryVO);
+
+		return R.data(list);
+	}
+
+	@GetMapping("/drawing-no-pick")
+	@Operation(summary = "棣栭〉鎼滅储闆剁粍浠朵笅鎷夋暟鎹�", description = "鎼滅储鎸囧畾闆剁粍浠跺彿")
+	public R<List<String>> drawingNoPick(String drawingNo) {
+		return R.data(qinzheFgbService.seletDropList(drawingNo));
 	}
 
 	@GetMapping("/history-by-nodeid")
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..122d9e8 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,10 +98,31 @@
 
 
 	/**
+	 * 杞﹁鑺傜偣
+	 * @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) {
 		//1.鏍规嵁鍏宠繘瀛楀拰鑺傜偣绫诲瀷鏌ヨ鍒濆鍒楄〃,鏌ヨ鐨勫師濮嬪垪琛紝闇�瑕乭asChild瀛楁锛屾墍浠ヤ娇鐢╩apper.xml
 		List<NcNodeVO> oriList = this.getBaseMapper().searchList(queryVO);
@@ -132,7 +154,7 @@
 		}
 		return rootVos;
 	}
-
+*/
 	void addNodeChildren(NcNodeVO node, List<NcNodeVO> allNodes) {
 		for(NcNodeVO vo : allNodes){
 			if(Objects.equals(vo.getParentId(), node.getId())){
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/vo/NcNodeQueryVO.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/vo/NcNodeQueryVO.java
index 1af251c..4543655 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/vo/NcNodeQueryVO.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/vo/NcNodeQueryVO.java
@@ -4,17 +4,26 @@
 import lombok.Getter;
 import lombok.Setter;
 import org.springblade.mdm.commons.vo.BaseVO;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.time.LocalDateTime;
 
 
-@Schema(description = "棣栭〉 鏍戞煡璇㈠弬鏁板璞�")
+@Schema(description = "棣栭〉鏍戞煡璇㈠弬鏁板璞�")
 @Setter
 @Getter
 public class NcNodeQueryVO {
-	@Schema(description = "鑺傜偣鍚嶇О锛堟煡璇㈠叧閿瓧锛�")
-	private String name;
+	@Schema(description = "绋嬪簭鐘舵�侊紙璇曞垏1;鍥哄寲2;鍋忕3锛夛紝澶氶�夐�楀彿鍒嗛殧")
+	private String programStatus;
 
-	@Schema(description = "鑺傜偣绫诲瀷锛屽瓧鍏�(绋嬪簭鑺傜偣绫诲瀷nc_node_type)")
-	private String nodeType;
+	@Schema(description = "闆剁粍浠跺彿")
+	private String drawingNo;
 
+	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+	@Schema(description = "璧峰鏃堕棿")
+	private LocalDateTime createTimeBegin;
+	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+	@Schema(description = "缁撴潫鏃堕棿")
+	private LocalDateTime createTimeEnd;
 
 }

--
Gitblit v1.9.3