From 388b7627eac913351649f2a9a2f37955675312d1 Mon Sep 17 00:00:00 2001
From: yangys <y_ys79@sina.com>
Date: 星期五, 20 六月 2025 23:28:33 +0800
Subject: [PATCH] ncNode增加字段

---
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/vo/ProgramExchangeStatVO.java                 |   27 ++++++
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/vo/NcNodeVO.java                              |    4 +
 doc/sql/mdm/mdm.mysql.all.create.sql                                                                            |   53 +++++++-----
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/vo/ProgramExchangeStatQueryVO.java            |   21 +++++
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/NcNodeService.java                    |    3 
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/controller/ProgramExchangeStatController.java |   45 +++++++++++
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/entity/NcNode.java                            |    5 +
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/controller/DncSendBackController.java         |    2 
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/NcProgramExchangeStatService.java     |   54 +++++++++++++
 9 files changed, 189 insertions(+), 25 deletions(-)

diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/controller/DncSendBackController.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/controller/DncSendBackController.java
index d901cc4..9134b8e 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/controller/DncSendBackController.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/controller/DncSendBackController.java
@@ -59,7 +59,7 @@
 
 	@PostMapping("dnc-sendback-accept")
 	@ApiOperationSupport(order = 2)
-	@Operation(summary = "DNC鍥炰紶鏁版嵁鍏ュ簱")
+	@Operation(summary = "DNC鍥炰紶鏁版嵁鍏ュ簱", description = "鍏ュ簱锛屽悓鏃跺惎鍔ㄥ浐鍖栨祦绋�")
 	public R<Void> dncSendBackAccept(@RequestParam String ids) {
 		try {
 			dncSendBackService.dncFileAccept(ids);
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/controller/ProgramExchangeStatController.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/controller/ProgramExchangeStatController.java
new file mode 100644
index 0000000..b5c4fce
--- /dev/null
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/controller/ProgramExchangeStatController.java
@@ -0,0 +1,45 @@
+
+package org.springblade.mdm.program.controller;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import lombok.AllArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+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.mdm.program.service.DncSendBackService;
+import org.springblade.mdm.program.service.NcProgramExchangeStatService;
+import org.springblade.mdm.program.vo.DncSendBackData;
+import org.springblade.mdm.program.vo.ProgramExchangeStatQueryVO;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+
+import java.util.List;
+
+/**
+ * 娴佺▼绠$悊鎺ュ彛
+ *
+ * @author Chill
+ */
+@NonDS
+@RestController
+@RequestMapping("/program/stat")
+@AllArgsConstructor
+@Tag(name = "涓嬪彂/鍥炰紶绋嬪簭缁熻", description = "涓嬪彂/鍥炰紶绋嬪簭缁熻")
+@Slf4j
+public class ProgramExchangeStatController {
+
+	private final NcProgramExchangeStatService service;
+
+	@Operation(summary = "鍙戦�佺▼搴忕粺璁�", description = "鍙戦�佺▼搴忕粺璁�")
+	@GetMapping("/page")
+	public R<IPage<MachineVO>> page(ProgramExchangeStatQueryVO query) {
+		IPage<MachineVO> pages = service.distributeStatPageQuery(query);
+		return R.data(pages);
+	}
+	//ProgramExchangeStatQueryVO
+}
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/entity/NcNode.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/entity/NcNode.java
index 92babc1..65c0136 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/entity/NcNode.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/entity/NcNode.java
@@ -15,8 +15,11 @@
 	private String name;
 	private Long parentId;
 	/**
-	 * 绋嬪簭鍖呭悕
+	 * 鑺傜偣绫诲瀷锛氬瓧鍏�
  	 */
 	private String nodeType;
 
+	private String description;
+	private String remark;
+
 }
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 801a20f..be75a9a 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
@@ -43,7 +43,8 @@
 		NcNode ncNode = this.getById(vo.getId());
 		ncNode.setName(vo.getName());
 		ncNode.setNodeType(vo.getNodeType());
-
+		ncNode.setDescription(vo.getDescription());
+		ncNode.setRemark(vo.getRemark());
 		this.updateById(ncNode);
 	}
 
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/NcProgramExchangeStatService.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/NcProgramExchangeStatService.java
new file mode 100644
index 0000000..d0cfa20
--- /dev/null
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/NcProgramExchangeStatService.java
@@ -0,0 +1,54 @@
+
+package org.springblade.mdm.program.service;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import lombok.AllArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.springblade.core.mp.base.BizServiceImpl;
+import org.springblade.core.mp.support.Condition;
+import org.springblade.mdm.basesetting.machine.entity.Machine;
+import org.springblade.mdm.basesetting.machine.entity.MachineSpec;
+import org.springblade.mdm.basesetting.machine.vo.MachineQueryVO;
+import org.springblade.mdm.basesetting.machine.vo.MachineVO;
+import org.springblade.mdm.program.entity.NcProgram;
+import org.springblade.mdm.program.mapper.NcProgramMapper;
+import org.springblade.mdm.program.vo.ProgramExchangeStatQueryVO;
+import org.springframework.stereotype.Service;
+
+/**
+ * 涓嬪彂/鍥炰紶绋嬪簭缁熻
+ *
+ * @author yangys
+ */
+@Slf4j
+@Service
+@AllArgsConstructor
+public class NcProgramExchangeStatService extends BizServiceImpl<NcProgramMapper, NcProgram> {
+
+	private final NcProgramMapper programMapper;
+
+	/**
+	 * 绋嬪簭涓嬪彂缁熻鍒嗛〉鏌ヨ
+	 * @param query 鏌ヨ鍙傛暟
+	 * @return
+	 */
+	public IPage<MachineVO> distributeStatPageQuery(ProgramExchangeStatQueryVO query) {
+		//鍥犺鏄瘡娆″鍑洪兘鏈変竴涓褰曪紙閲嶅鐨勫彲浠ユ洿鏂板鍑烘椂闂达級锛岀劧鍚庢牴鎹繖涓褰曡繘琛岀粺璁★紝
+		/*
+		IPage<MachineVO> page = this.getBaseMapper().pageQuery(Condition.getPage(query),query);
+
+		//MachineSpec.valueOf()
+		for (MachineVO record : page.getRecords()) {
+			if(record.getMachineSpec() != null){
+				MachineSpec spec = MachineSpec.valueOf(record.getMachineSpec());
+				record.setMachineSpecName(spec.getText());
+			}
+
+		}
+		return page;
+
+		 */
+		return null;
+	}
+}
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/vo/NcNodeVO.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/vo/NcNodeVO.java
index e36d368..44f4d73 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/vo/NcNodeVO.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/vo/NcNodeVO.java
@@ -16,4 +16,8 @@
 	private String nodeType;
 	@Schema(description = "鏄惁鏈夊瓙鑺傜偣")
 	private Boolean hasChildren;
+	@Schema(description = "鎻忚堪")
+	private String description;
+	@Schema(description = "澶囨敞")
+	private String remark;
 }
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/vo/ProgramExchangeStatQueryVO.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/vo/ProgramExchangeStatQueryVO.java
new file mode 100644
index 0000000..6b5aaf1
--- /dev/null
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/vo/ProgramExchangeStatQueryVO.java
@@ -0,0 +1,21 @@
+package org.springblade.mdm.program.vo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Getter;
+import lombok.Setter;
+import org.springblade.core.mp.support.Query;
+
+import java.time.LocalDateTime;
+
+@Schema(description = "绋嬪簭涓嬪彂/鍥炰紶缁熻鏌ヨ瀵硅薄")
+@Setter
+@Getter
+public class ProgramExchangeStatQueryVO extends Query {
+	@Schema(description = "涓嬪彂鏃堕棿寮�濮�")
+	private LocalDateTime distributeTimeBegin;
+	@Schema(description = "涓嬪彂鏃堕棿鎴")
+	private LocalDateTime distributeTimeEnd;
+
+	@Schema(description = "鏈哄簥缂栫爜(閫楀彿鍒嗛殧)")
+	private String machineCodes;
+}
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/vo/ProgramExchangeStatVO.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/vo/ProgramExchangeStatVO.java
new file mode 100644
index 0000000..b977457
--- /dev/null
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/vo/ProgramExchangeStatVO.java
@@ -0,0 +1,27 @@
+package org.springblade.mdm.program.vo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Getter;
+import lombok.Setter;
+import org.springblade.core.mp.support.Query;
+
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+
+@Schema(description = "绋嬪簭涓嬪彂/鍥炰紶缁熻鏌ヨ瀵硅薄")
+@Setter
+@Getter
+public class ProgramExchangeStatVO{
+	@Schema(description = "鏁伴噺锛屽涓嬪彂/鍥哄寲")
+	private Long count;
+	@Schema(description = "褰掓。鏁伴噺")
+	private Long filedCount;
+	@Schema(description = "鏈哄簥缂栧彿")
+	private String machineCode;
+
+	@Schema(description = "鍗犳瘮")
+	private BigDecimal countPercent;
+
+	@Schema(description = "褰掓。鍗犳瘮")
+	private BigDecimal fileCountPercent;
+}
diff --git a/doc/sql/mdm/mdm.mysql.all.create.sql b/doc/sql/mdm/mdm.mysql.all.create.sql
index 41f0ffb..66dc4fd 100644
--- a/doc/sql/mdm/mdm.mysql.all.create.sql
+++ b/doc/sql/mdm/mdm.mysql.all.create.sql
@@ -60,22 +60,24 @@
     UNIQUE KEY `uniqueCheckIndex` (`team_leader_id`,`programmer_id`,`checker_id`,`senior_id`,`is_deleted`) USING BTREE
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE = utf8mb4_general_ci  ROW_FORMAT=DYNAMIC COMMENT='涓诲埗璁″垝琛�';
 
-
+DROP TABLE IF EXISTS `mdm_nc_node`;
 CREATE TABLE `mdm_nc_node` (
-          `id` bigint NOT NULL,
-          `tenant_id` varchar(6) DEFAULT NULL COMMENT '鎵�灞炵鎴�',
-          `name` varchar(100) NOT NULL COMMENT '鑺傜偣鍚嶇О',
-          `parent_id` bigint DEFAULT NULL COMMENT '鎵�灞炴満搴婄粍ID',
-          `node_type` varchar(20) DEFAULT NULL COMMENT '鑺傜偣绫诲瀷锛歅RODUCT_MODEL(浜у搧鍨嬪彿)/PARTS_NO(闆剁粍浠跺彿)/CRAFT_EDITION(宸ヨ壓鐗堟)/PROCESS_NO(宸ュ簭鍙�)/MACHINE(鏈哄簥)/PACKAGE(绋嬪簭鍖呭悕)/PROGRAME(绋嬪簭鏂囦欢)',
-          `status` int DEFAULT NULL COMMENT '涓氬姟鐘舵��',
-          `create_dept` bigint DEFAULT NULL COMMENT '鍒涘缓鍗曚綅',
-          `is_deleted` int DEFAULT NULL,
-          `create_time` datetime DEFAULT NULL COMMENT '鍒涘缓鏃堕棿',
-          `create_user` bigint DEFAULT NULL COMMENT '鍒涘缓浜�',
-          `update_time` datetime DEFAULT NULL COMMENT '鏇存柊鏃堕棿',
-          `update_user` bigint DEFAULT NULL COMMENT '鏇存柊浜�'
-  PRIMARY KEY (`id`) USING BTREE,
-                                  UNIQUE KEY `uniqueCodeIndex` (`code`,`is_deleted`) USING BTREE,
+   `id` bigint NOT NULL,
+   `tenant_id` varchar(6) DEFAULT NULL COMMENT '鎵�灞炵鎴�',
+   `name` varchar(100) NOT NULL COMMENT '鑺傜偣鍚嶇О',
+   `description` varchar(100) NOT NULL COMMENT '鎻忚堪',
+   `remark` varchar(200) NOT NULL COMMENT '澶囨敞',
+   `parent_id` bigint DEFAULT NULL COMMENT '鎵�灞炴満搴婄粍ID',
+   `node_type` varchar(20) DEFAULT NULL COMMENT '鑺傜偣绫诲瀷锛氫笟鍔″瓧鍏稿畾涔�',
+   `status` int DEFAULT NULL COMMENT '涓氬姟鐘舵��',
+   `create_dept` bigint DEFAULT NULL COMMENT '鍒涘缓鍗曚綅',
+   `is_deleted` int DEFAULT NULL,
+   `create_time` datetime DEFAULT NULL COMMENT '鍒涘缓鏃堕棿',
+   `create_user` bigint DEFAULT NULL COMMENT '鍒涘缓浜�',
+   `update_time` datetime DEFAULT NULL COMMENT '鏇存柊鏃堕棿',
+   `update_user` bigint DEFAULT NULL COMMENT '鏇存柊浜�',
+   PRIMARY KEY (`id`) USING BTREE,
+   UNIQUE KEY `uniqueNameIndex` (`name`,`is_deleted`) USING BTREE
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT=DYNAMIC COMMENT='绋嬪簭鑺傜偣鐩綍';
 
 DROP TABLE IF EXISTS `mdm_nc_program`;
@@ -105,14 +107,14 @@
   PRIMARY KEY (`id`) USING BTREE
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT=DYNAMIC COMMENT='鏁版帶绋嬪簭';
 
-DROP TABLE IF EXISTS `mdm_nc_program_file`;
-CREATE TABLE `mdm_nc_program_file` (
+
+DROP TABLE IF EXISTS `mdm_nc_program_exchange`;
+CREATE TABLE `mdm_nc_program_exchange` (
   `id` bigint NOT NULL,
   `tenant_id` varchar(6) DEFAULT NULL COMMENT '鎵�灞炵鎴�',
-  `program_id` varchar(100) NOT NULL COMMENT '鎵�灞炵▼搴廼d',
-  `name` varchar(100) NOT NULL COMMENT '鏂囦欢鍚嶇О',
-  `url` varchar(100) NOT NULL COMMENT '鏂囦欢鍦板潃',
+  `name` varchar(100) NOT NULL COMMENT '绋嬪簭鍚嶇О',
   `status` int DEFAULT NULL COMMENT '涓氬姟鐘舵��',
+  `exchange_type` int DEFAULT NULL COMMENT '浜ゆ崲绫诲瀷,1:涓嬪彂;2:鍥哄寲',
   `create_dept` bigint DEFAULT NULL COMMENT '鍒涘缓鍗曚綅',
   `is_deleted` int DEFAULT NULL,
   `create_time` datetime DEFAULT NULL COMMENT '鍒涘缓鏃堕棿',
@@ -120,16 +122,23 @@
   `update_time` datetime DEFAULT NULL COMMENT '鏇存柊鏃堕棿',
   `update_user` bigint DEFAULT NULL COMMENT '鏇存柊浜�',
   PRIMARY KEY (`id`) USING BTREE
-) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT=DYNAMIC COMMENT='鏁版帶绋嬪簭鏂囦欢';
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT=DYNAMIC COMMENT='鏁版帶绋嬪簭涓嬪彂璁板綍';
+
+
 
 DROP TABLE IF EXISTS `mdm_machine_back_file`;
 CREATE TABLE `mdm_machine_back_file` (
     `id` bigint NOT NULL,
-    `filename` varchar(255) NOT NULL COMMENT '鏂囦欢鍚嶇О',
+    `program_id` varchar(255) NOT NULL COMMENT '绋嬪簭缂栫爜',
     `machine_code` bigint DEFAULT NULL COMMENT '鎵�灞炴満搴婁唬鐮�',
+    `confirm_time` datetime DEFAULT NULL COMMENT '纭鏃堕棿',
+
     `status` int DEFAULT NULL COMMENT '涓氬姟鐘舵��',
+
+
     `create_dept` bigint DEFAULT NULL COMMENT '鍒涘缓鍗曚綅',
     `is_deleted` int DEFAULT NULL,
+
     `create_time` datetime DEFAULT NULL COMMENT '鍒涘缓鏃堕棿',
     `create_user` bigint DEFAULT NULL COMMENT '鍒涘缓浜�',
     `update_time` datetime DEFAULT NULL COMMENT '鏇存柊鏃堕棿',

--
Gitblit v1.9.3