From e853c35455332a4652ec604c650ca82c411c864d Mon Sep 17 00:00:00 2001
From: yangys <y_ys79@sina.com>
Date: 星期六, 13 九月 2025 15:24:46 +0800
Subject: [PATCH] 流程常量位置重构

---
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/controller/NcNodeController.java |  125 ++++++++++++++++++++++++++++++++++-------
 1 files changed, 103 insertions(+), 22 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 7eaf422..2a2c008 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
@@ -1,23 +1,21 @@
 
 package org.springblade.mdm.program.controller;
 
-import com.baomidou.mybatisplus.core.metadata.IPage;
 import io.swagger.v3.oas.annotations.Operation;
 import io.swagger.v3.oas.annotations.Parameter;
-import io.swagger.v3.oas.annotations.Parameters;
-import io.swagger.v3.oas.annotations.enums.ParameterIn;
-import io.swagger.v3.oas.annotations.media.Schema;
 import io.swagger.v3.oas.annotations.tags.Tag;
 import lombok.AllArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang3.StringUtils;
 import org.springblade.core.tenant.annotation.NonDS;
 import org.springblade.core.tool.api.R;
-import org.springblade.mdm.basesetting.machine.vo.MachineQueryVO;
-import org.springblade.mdm.basesetting.machine.vo.MachineVO;
+import org.springblade.core.tool.utils.Func;
+import org.springblade.mdm.flow.service.FlowProgramFileService;
+import org.springblade.mdm.flow.service.TaskDispatchService;
+import org.springblade.mdm.program.entity.NcNode;
 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.ProgramFlowStatusQueryService;
+import org.springblade.mdm.program.vo.*;
 import org.springframework.web.bind.annotation.*;
 
 import java.util.List;
@@ -34,9 +32,10 @@
 @Tag(name = "绋嬪簭鑺傜偣", description = "绋嬪簭鑺傜偣")
 @Slf4j
 public class NcNodeController {
-
 	private final NcNodeService ncNodeService;
-
+	private final ProgramFlowStatusQueryService programFlowStatusQueryService;
+	private final FlowProgramFileService flowProgramFileService;
+	private final TaskDispatchService taskDispatchService;
 	/**
 	 * 鏂板
 	 */
@@ -44,7 +43,7 @@
 	@Operation(summary = "鏂板鑺傜偣", description = "鑺傜偣淇℃伅,id淇濇寔绌�")
 	public R<Boolean> save(@RequestBody NcNodeVO vo) {
 		ncNodeService.saveNcCode(vo);
-		return R.<Boolean>status(true);
+		return R.status(true);
 	}
 
 
@@ -52,30 +51,112 @@
 	@Operation(summary = "淇敼鑺傜偣", description = "鑺傜偣淇℃伅,蹇呴』浼犲叆ID")
 	public R<Boolean> update(@RequestBody NcNodeVO vo) {
 		ncNodeService.updateNcNode(vo);
-		return R.<Boolean>status(true);
+		return R.status(true);
 	}
 
 	@PostMapping("/remove")
 	@Operation(summary = "鍒犻櫎鑺傜偣")
 	public R<Boolean> remove(Long id) {
 		ncNodeService.removeById(id);
-		return R.<Boolean>status(true);
+		return R.status(true);
+	}
+
+	@PostMapping("/lock")
+	@Operation(summary = "閿佸畾鑺傜偣(绋嬪簭鍖呭悕)")
+	public R<Boolean> lock(@Parameter(description="绋嬪簭鍖呭悕鑺傜偣id)")Long id,@Parameter(description="閿佸畾鍘熷洜)")String remark) {
+		ncNodeService.lock(id,remark);
+		return R.status(true);
+	}
+
+	@GetMapping("/query-lock-remark")
+	@Operation(summary = "鏌ヨ閿佸畾鍘熷洜")
+	public R<String> queryLockRemark(@Parameter(description="绋嬪簭鍖呭悕鑺傜偣id)")Long id) {
+
+		NcNode node = ncNodeService.getById(id);
+		if(node.hasLocked()){
+			return R.data(node.getRemark());
+		}else{
+			return R.data(StringUtils.EMPTY);
+		}
 	}
 
 	@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);
 	}
 
-	/**
-	 * 鍒嗛〉
-	 */
-	@Operation(summary = "绋嬪簭鍒嗛〉鏌ヨ", description = "鐢ㄤ簬鍦ㄧ紪鍒惰妭鐐归�夋嫨娴佺▼瀵瑰簲鐨勭▼搴�")
-	@GetMapping("/programpickpage")
-	public R<IPage<NcNodeProgramVO>> page(NcNodeProgramQueryVO query) {
-		IPage<NcNodeProgramVO> pages = ncNodeService.programPageQuery(query);
-		return R.data(pages);
+	@GetMapping("/search-list")
+	@Operation(summary = "鏌ヨ鏍戠姸鍒楄〃", description = "绋嬪簭鐩綍鏍戝舰缁撴瀯锛堟煡璇笓鐢級")
+	public R<List<NcNodeVO>> searchList(NcNodeOldQueryVO queryVO) {
+		if(Func.isEmpty(queryVO.getName())){
+			return R.fail("璇疯緭鍏ュ悕绉�");
+		}
+		List<NcNodeVO> list = ncNodeService.searchList(queryVO);
+
+		return R.data(list);
+	}
+	@GetMapping("/search-list2")
+	@Operation(summary = "娑夊瘑缃戦椤垫悳绱�", description = "鎼滅储鎸囧畾闆剁粍浠跺彿")
+		public R<List<NcNodeVO>> search(NcNodeQueryVO queryVO) {
+		if(Func.isEmpty(queryVO.getDrawingNo())){
+			return R.fail("璇疯緭鍏ラ浂缁勪欢鍙�");
+		}
+		List<NcNodeVO> list = ncNodeService.searchList2(queryVO);
+
+		return R.data(list);
+	}
+
+	@GetMapping("/drawing-no-pick")
+	@Operation(summary = "棣栭〉鎼滅储闆剁粍浠朵笅鎷夋暟鎹�", description = "鎼滅储鎸囧畾闆剁粍浠跺彿")
+	public R<List<String>> drawingNoPick(String drawingNo) {
+		return R.data(taskDispatchService.drawingNoSeletDropList(drawingNo));
+	}
+
+	@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);
+	}
+
+	@GetMapping("/content-by-nodeid")
+	@Operation(summary = "鏍规嵁鑺傜偣鑾峰彇鏂囦欢鍐呭", description = "浠呴檺鏂囨湰鏍煎紡鐨勫唴瀹癸紝浜岃繘鍒舵枃浠跺皢杩斿洖绌轰覆")
+	public R<String> fileContentByNodeId(@Parameter(description = "鑺傜偣id") Long nodeId) {
+		try {
+			NcNode ncnode = ncNodeService.getById(nodeId);
+			if(ncnode.getFlowProgramFileId() != null) {
+				return R.data(flowProgramFileService.getFileContent(ncnode.getFlowProgramFileId()));
+			}else{
+				return R.data("鎵句笉鍒版枃浠�");
+			}
+		}catch(Exception e) {
+			log.error("鍒犻櫎鏂囦欢澶辫触",e);
+			return R.fail(e.getMessage());
+		}
 	}
 }

--
Gitblit v1.9.3