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/program/controller/NcNodeController.java |   81 +++++++++++++++++++++++++++++++++++-----
 1 files changed, 71 insertions(+), 10 deletions(-)

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 8074b5a..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
@@ -12,12 +12,17 @@
 import lombok.extern.slf4j.Slf4j;
 import org.springblade.core.tenant.annotation.NonDS;
 import org.springblade.core.tool.api.R;
+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;
 import org.springblade.mdm.program.service.NcNodeService;
-import org.springblade.mdm.program.vo.NcNodeProgramQueryVO;
-import org.springblade.mdm.program.vo.NcNodeProgramVO;
-import org.springblade.mdm.program.vo.NcNodeVO;
+import org.springblade.mdm.program.service.NcProgramService;
+import org.springblade.mdm.program.service.ProgramFlowStatusQueryService;
+import org.springblade.mdm.program.vo.*;
 import org.springframework.web.bind.annotation.*;
 
 import java.util.List;
@@ -34,9 +39,11 @@
 @Tag(name = "绋嬪簭鑺傜偣", description = "绋嬪簭鑺傜偣")
 @Slf4j
 public class NcNodeController {
-
+	private final NcProgramService ncProgramService;
 	private final NcNodeService ncNodeService;
-
+	private final ProgramFlowStatusQueryService programFlowStatusQueryService;
+	private final FlowProgramFileService flowProgramFileService;
+	private final QinzheFgbService qinzheFgbService;
 	/**
 	 * 鏂板
 	 */
@@ -62,20 +69,74 @@
 		return R.<Boolean>status(true);
 	}
 
+	@PostMapping("/lock")
+	@Operation(summary = "閿佸畾鑺傜偣(绋嬪簭鍖呭悕)")
+	public R<Boolean> lock(@Parameter(description="绋嬪簭鍖呭悕鑺傜偣id)")Long id) {
+		ncNodeService.lock(id);
+		return R.<Boolean>status(true);
+	}
+
 	@GetMapping("/lazy-list")
 	@Operation(summary = "鎳掑姞杞藉垪琛�", description = "绋嬪簭鐩綍鏍戝舰缁撴瀯")
 	public R<List<NcNodeVO>> lazyList(Long parentId) {
 		List<NcNodeVO> list = ncNodeService.lazyList(parentId);
+		if(list != null && !list.isEmpty()) {
+			for(NcNodeVO ncNodeVO : list) {
+				if(NcNode.TYPE_PROGRAM_PACKAGE.equals(ncNodeVO.getNodeType())){
+					ncNodeVO.setFlowStatus(programFlowStatusQueryService.queryFlowStatus(ncNodeVO.getProcessInstanceId()));
+				}
+			}
+		}
+		return R.data(list);
+	}
+	/*
+	@GetMapping("/search-list")
+	@Operation(summary = "鏌ヨ鏍戠姸鍒楄〃", description = "绋嬪簭鐩綍鏍戝舰缁撴瀯锛堟煡璇笓鐢級")
+	public R<List<NcNodeVO>> searchList(NcNodeQueryVO queryVO) {
+		if(Func.isEmpty(queryVO.getName())){
+			return R.fail("璇疯緭鍏ュ悕绉�");
+		}
+		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));
+	}
 
-	@Operation(summary = "绋嬪簭鍒嗛〉鏌ヨ", description = "鐢ㄤ簬鍦ㄧ紪鍒惰妭鐐归�夋嫨娴佺▼瀵瑰簲鐨勭▼搴�")
-	@GetMapping("/programpickpage")
-	public R<IPage<NcNodeProgramVO>> page(NcNodeProgramQueryVO query) {
-		IPage<NcNodeProgramVO> pages = ncNodeService.programPageQuery(query);
-		return R.data(pages);
+	@GetMapping("/history-by-nodeid")
+	@Operation(summary = "鏍规嵁缁戝畾鑺傜偣id鑾峰彇鍘嗗彶鍒楄〃", description = "绋嬪簭鍘嗗彶鍒楄〃锛屼粎鈥樼▼搴忓寘鈥欏瓧鍏稿��70鐨勬暟鎹�傜敤浜庢樉绀虹▼搴忕殑鈥樺巻鍙茬増鏈��")
+	public R<List<NcNodeVO>> historyByBindNodeId(@Parameter(description="鑺傜偣ID(nodeType=70鐨勮妭鐐筰d)")@RequestParam Long id) {
+		return R.data(this.ncNodeService.historyByNodeId(id));
 	}
 
 
+	@GetMapping("/compare-content")
+	@Operation(summary = "瀵规瘮鍐呭鏁版嵁", description = "鏌ヨ瀵规瘮鍐呭鐨�2涓枃鏈暟鎹�")
+	public R<CompareDataVO> compareContent(@Parameter(description="鑺傜偣1鐨処D(nodeType=70鐨勮妭鐐筰d)")Long id1,@Parameter(description="鑺傜偣2鐨処D(nodeType=70鐨勮妭鐐筰d)")Long id2) {
+		CompareDataVO vo = new CompareDataVO();
+		NcNode node1 = ncNodeService.getById(id1);
+		NcNode node2 = ncNodeService.getById(id2);
+		if(node1.getFlowProgramFileId() != null) {
+			vo.setContent1(flowProgramFileService.getFileContent(node1.getFlowProgramFileId()));
+		}
+		if(node2.getFlowProgramFileId() != null) {
+			vo.setContent2(flowProgramFileService.getFileContent(node2.getFlowProgramFileId()));
+		}
+
+		return R.data(vo);
+	}
 }

--
Gitblit v1.9.3