From 4272f2232fd97d9862bc53e583612c8a4bf82ee4 Mon Sep 17 00:00:00 2001
From: yangys <y_ys79@sina.com>
Date: 星期日, 29 六月 2025 22:56:33 +0800
Subject: [PATCH] 增加程序文件列表

---
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/vo/NcNodeProgramVO.java             |    3 +
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/vo/NcProgramUploadVO.java           |   32 ++++++++++
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/controller/NcProgramController.java |   17 ++++-
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/entity/NcProgram.java               |    6 +
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/NcProgramService.java       |   32 +++++++++-
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/vo/NcProgramVO.java                 |   38 ++++++++++++
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/NcNodeService.java          |    2 
 7 files changed, 122 insertions(+), 8 deletions(-)

diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/controller/NcProgramController.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/controller/NcProgramController.java
index 77c587f..9a8a526 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/controller/NcProgramController.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/controller/NcProgramController.java
@@ -10,8 +10,12 @@
 import org.springblade.core.tool.api.R;
 import org.springblade.mdm.program.entity.NcProgram;
 import org.springblade.mdm.program.service.NcProgramService;
+import org.springblade.mdm.program.vo.NcProgramUploadVO;
+import org.springblade.mdm.program.vo.NcProgramVO;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.multipart.MultipartFile;
+
+import java.util.List;
 
 /**
  * 绋嬪簭鑺傜偣
@@ -30,9 +34,10 @@
 
 	@PostMapping("/upload")
 	@Operation(summary = "涓婁紶鏂囦欢", description = "涓婁紶绋嬪簭/闄勪欢鏂囦欢")
-	public R<Boolean> upload(@Parameter(description="鏂囦欢") @RequestPart("file") MultipartFile file, @Parameter(description="鎵�灞炶妭鐐笽D")@RequestParam Long nodeId,
-							 @Parameter(description="鏂囦欢鍒嗙被锛屼娇鐢ㄥ瓧鍏�(node_file_type)") @RequestParam String category) {
-		ncProgramService.uploadProgramFile(file,nodeId,category);
+	public R<Boolean> upload(NcProgramUploadVO uploadVO) {
+		//@Parameter(description="鏂囦欢") @RequestPart("file") MultipartFile file, @Parameter(description="鎵�灞炶妭鐐笽D")@RequestParam Long nodeId,
+		//							 @Parameter(description="鏂囦欢鍒嗙被锛屼娇鐢ㄥ瓧鍏�(node_file_type)") @RequestParam String category
+		ncProgramService.uploadProgramFile(uploadVO);
 		return R.<Boolean>status(true);
 	}
 
@@ -58,4 +63,10 @@
 			return R.fail(e.getMessage());
 		}
 	}
+
+	@GetMapping("/list-by-node")
+	@Operation(summary = "鑺傜偣绋嬪簭鏂囦欢鍒楄〃", description = "鏌愯妭鐐瑰唴鐨勭▼搴忓垪琛紝浠呪�樼▼搴忓寘鈥欏瓧鍏稿��60")
+	public R<List<NcProgramVO>> listByNode(@Parameter(description="鎵�灞炶妭鐐笽D")@RequestParam Long nodeId) {
+		return R.data(ncProgramService.listByNode(nodeId));
+	}
 }
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/entity/NcProgram.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/entity/NcProgram.java
index f874cc5..c7ccacf 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/entity/NcProgram.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/entity/NcProgram.java
@@ -43,6 +43,10 @@
 	 */
 	private Boolean isTextFile;
 	/**
+	 * 鍥惧彿
+	 */
+	private String drawingNo;
+	/**
 	 * 宸ュ簭锛屽鈥滅簿閾b��
 	 */
 	//private String processName;
@@ -53,7 +57,7 @@
 	/**
 	 * 璁惧锛堟満搴婏級缂栫爜
 	 */
-	//private String machineCode;
+	private String machineCode;
 	/**
 	 * 闆剁粍浠跺彿
 	 */
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 50aaa5b..b01834c 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
@@ -63,6 +63,8 @@
 		ncNode.setDescription(vo.getDescription());
 		ncNode.setRemark(vo.getRemark());
 		ncNode.setMachineCode(vo.getMachineCode());
+		ncNode.setParentIds(buildParentIds(vo.getParentId()));
+
 		this.updateById(ncNode);
 	}
 
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/NcProgramService.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/NcProgramService.java
index b8a8a03..3429974 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/NcProgramService.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/NcProgramService.java
@@ -25,6 +25,7 @@
  */
 package org.springblade.mdm.program.service;
 
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.fasterxml.jackson.databind.ObjectMapper;
 import lombok.AllArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
@@ -35,10 +36,14 @@
 import org.springblade.core.oss.model.BladeFile;
 import org.springblade.mdm.basesetting.machine.MachineService;
 import org.springblade.mdm.basesetting.machine.entity.Machine;
+import org.springblade.mdm.program.entity.NcNode;
 import org.springblade.mdm.program.mapper.NcProgramMapper;
 import org.springblade.mdm.program.entity.NcProgram;
 import org.springblade.mdm.program.vo.DncSendBackData;
+import org.springblade.mdm.program.vo.NcProgramUploadVO;
+import org.springblade.mdm.program.vo.NcProgramVO;
 import org.springblade.mdm.utils.FileContentUtil;
+import org.springframework.beans.BeanUtils;
 import org.springframework.stereotype.Service;
 import org.springframework.web.multipart.MultipartFile;
 
@@ -61,6 +66,7 @@
 	private final MachineService machineService;
 
 	private final OssTemplate ossTemplate;
+	private final NcNodeService nodeService;
 	/**
 	 * 鏌ヨ鐜版湁鍥哄寲鐨勭▼搴忥紝鏆傚畾鏉′欢锛氶浂缁勪欢鍙风浉鍚岋紝涓旀槸鍚屼竴鏈哄簥缁�
 	 * @param partNo
@@ -79,14 +85,16 @@
 	 * @param nodeId
 	 * @param category 鏂囦欢鍒嗙被锛堢▼搴忔枃浠�/鍏朵粬鏂囦欢锛�
 	 */
-	public void uploadProgramFile(MultipartFile file, Long nodeId, String category) {
-		BladeFile bfile = ossTemplate.putFile(file);
+	public void uploadProgramFile(NcProgramUploadVO uploadVO) {
+		MultipartFile file = uploadVO.getFile();
+		BladeFile bfile = ossTemplate.putFile(uploadVO.getFile());
 		String link = bfile.getLink();
 		//淇濆瓨profame
 		NcProgram prog = new NcProgram();
 		prog.setName(file.getOriginalFilename());
-		prog.setNcNodeId(nodeId);
+		prog.setNcNodeId(uploadVO.getNodeId());
 		prog.setOssName(bfile.getName());
+		prog.setDrawingNo(uploadVO.getDrawingNo());
 		boolean isTextFile = false;
 		try {
 			isTextFile = FileContentUtil.isTextFile(file.getInputStream());
@@ -95,7 +103,7 @@
 		}
 		prog.setIsTextFile(isTextFile);
 		prog.setUrl(link);
-		prog.setCategory(category);
+		prog.setCategory(uploadVO.getCategory());
 
 		this.save(prog);
 	}
@@ -125,4 +133,20 @@
 		ossTemplate.removeFile(prog.getOssName());
 		this.getBaseMapper().deleteById(id);
 	}
+
+	public List<NcProgramVO> listByNode(Long nodeId) {
+		NcNode node = nodeService.getById(nodeId);
+		List<NcProgram> pList = this.list(Wrappers.lambdaQuery(NcProgram.class).eq(NcProgram::getNcNodeId, nodeId).orderByDesc(NcProgram::getCreateTime));
+
+		List<NcProgramVO> result = new ArrayList<>();
+
+		pList.forEach(prog -> {
+			NcProgramVO vo = new NcProgramVO();
+			BeanUtils.copyProperties(prog, vo);
+			vo.setMachineCode(node.getMachineCode());
+			result.add(vo);
+		});
+
+		return result;
+	}
 }
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/vo/NcNodeProgramVO.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/vo/NcNodeProgramVO.java
index 4a5ac4d..5eee186 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/vo/NcNodeProgramVO.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/vo/NcNodeProgramVO.java
@@ -5,6 +5,9 @@
 import lombok.Setter;
 import org.springblade.mdm.commons.vo.BaseVO;
 
+/**
+ * 鎴愬姛寰愯妭鐐圭殑VO
+ */
 @Setter
 @Getter
 public class NcNodeProgramVO extends BaseVO {
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/vo/NcProgramUploadVO.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/vo/NcProgramUploadVO.java
new file mode 100644
index 0000000..faa11a5
--- /dev/null
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/vo/NcProgramUploadVO.java
@@ -0,0 +1,32 @@
+package org.springblade.mdm.program.vo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Getter;
+import lombok.Setter;
+import org.springblade.mdm.commons.vo.BaseVO;
+import org.springframework.web.multipart.MultipartFile;
+
+/**
+ * NC绋嬪簭VO
+ */
+@Setter
+@Getter
+public class NcProgramUploadVO extends BaseVO {
+	@Schema(description = "鎵�灞炶妭鐐筰d")
+	private Long nodeId;
+
+	@Schema(description = "璁惧缂栧彿")
+	private String machineCode;
+	@Schema(description = "璁惧缂栧彿")
+	private MultipartFile file;
+
+	@Schema(description = "鍥惧彿")
+	private String drawingNo;
+
+
+	@Schema(description = "宸ュ簭锛屽鈥滅簿閾b��")
+	private String processName;
+
+	@Schema(description = "鏂囦欢鍒嗙被锛屼娇鐢ㄥ瓧鍏�(node_file_type)")
+	private String category;
+}
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/vo/NcProgramVO.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/vo/NcProgramVO.java
new file mode 100644
index 0000000..9206279
--- /dev/null
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/vo/NcProgramVO.java
@@ -0,0 +1,38 @@
+package org.springblade.mdm.program.vo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Getter;
+import lombok.Setter;
+import org.springblade.mdm.commons.vo.BaseVO;
+
+/**
+ * NC绋嬪簭VO
+ */
+@Setter
+@Getter
+public class NcProgramVO extends BaseVO {
+	@Schema(description = "绋嬪簭鍚嶇О")
+	private String name;
+	@Schema(description = "璁惧缂栧彿")
+	private String machineCode;
+
+	@Schema(description = "鎻忚堪")
+	private String description;
+	@Schema(description = "澶囨敞")
+	private String remark;
+
+	@Schema(description = "鍥惧彿")
+	private String drawingNo;
+
+	@Schema(description = "鍥惧彿鐗堟")
+	private String drawingNoEdition;
+
+	@Schema(description = "宸ュ簭锛屽鈥滅簿閾b��")
+	private String processName;
+
+	@Schema(description = "宸ヨ壓鐗堟")
+	private String craftEdition;
+
+	@Schema(description = "闆剁粍浠跺彿")
+	private String partNo;
+}

--
Gitblit v1.9.3