From fc3ae614a4c5a2a7cdb9029ecfc4372eb1c28b18 Mon Sep 17 00:00:00 2001
From: yangys <y_ys79@sina.com>
Date: 星期二, 09 九月 2025 11:41:42 +0800
Subject: [PATCH] 补充确认表,审批表模板字段

---
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/controller/NcNodeController.java |  103 ++++++++++++++++++++++++++++++++++++++++++---------
 1 files changed, 85 insertions(+), 18 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 05a1a36..af018b9 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
@@ -4,20 +4,21 @@
 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.basesetting.producedivision.service.QinzheFgbService;
+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.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 +35,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 TaskDispatchService taskDispatchService;
 	/**
 	 * 鏂板
 	 */
@@ -62,22 +65,86 @@
 		return R.<Boolean>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.<Boolean>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);
+	}
 }

--
Gitblit v1.9.3