From c5b91210fc14caaffb6df8a76bf12bc29c753467 Mon Sep 17 00:00:00 2001
From: yangys <y_ys79@sina.com>
Date: 星期四, 19 六月 2025 19:12:00 +0800
Subject: [PATCH] 机床回传代码更新

---
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/machineback/vo/MachineBackProgramQueryVO.java                |   27 +++
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/machineback/vo/MachineBackFileHandleQueryVO.java             |   23 +++
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/machineback/service/MachineBackFileService.java              |   25 ++-
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/machineback/controller/MachineBackFileController.java        |    5 
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/machineback/controller/MachineBackProgramStatController.java |   35 +++++
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/machineback/vo/MachineBackFileVO.java                        |   15 ++
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/machineback/vo/MachineBackFileHandleExcelVO.java             |   34 ++++
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/vo/MachineBackFileVO.java                            |   18 ++
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/machineback/vo/MachineBackFileQueryVO.java                   |    2 
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/controller/NcProgramExchangeController.java          |   48 ++++++
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/machineback/mapper/MachineBackFileMapper.java                |    3 
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/vo/MachineBackFileQueryVO.java                       |   20 ++
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/machineback/entity/MachineBackFile.java                      |    9 +
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/machineback/mapper/MachineBackFileMapper.xml                 |   30 +++
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/machineback/service/MachineBackProgramStatService.java       |   36 +++++
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/machineback/controller/MachineBackFileHandleController.java  |   73 ++++++++++
 16 files changed, 382 insertions(+), 21 deletions(-)

diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machineback/controller/MachineBackFileController.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machineback/controller/MachineBackFileController.java
index f41c3a4..1e5de83 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machineback/controller/MachineBackFileController.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machineback/controller/MachineBackFileController.java
@@ -42,9 +42,9 @@
 	@PostMapping("/reject")
 	public R<Void> reject(@RequestParam String ids) {
 		try {
-			service.removeBatchByIds(Func.toLongList(ids));
+			service.reject(ids);
 		} catch (Exception e) {
-			log.error("鍒犻櫎寮傚父",e);
+			log.error("鎷掔粷寮傚父",e);
 			return R.fail(e.getMessage());
 		}
 		return R.status(true);
@@ -56,7 +56,6 @@
 	@Operation(summary = "鍒嗛〉鏌ヨ", description = "鍚嶇О鎴栫紪鐮�")
 	@GetMapping("/page")
 	public R<IPage<MachineBackFileVO>> page(MachineBackFileQueryVO query) {
-
 		IPage<MachineBackFileVO> pages = service.pageQuery(query);
 		return R.data(pages);
 	}
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machineback/controller/MachineBackFileHandleController.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machineback/controller/MachineBackFileHandleController.java
new file mode 100644
index 0000000..cdde887
--- /dev/null
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machineback/controller/MachineBackFileHandleController.java
@@ -0,0 +1,73 @@
+package org.springblade.mdm.machineback.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 jakarta.servlet.http.HttpServletResponse;
+import lombok.extern.slf4j.Slf4j;
+import org.springblade.core.excel.util.ExcelUtil;
+import org.springblade.core.tool.api.R;
+import org.springblade.core.tool.utils.BeanUtil;
+import org.springblade.core.tool.utils.DateUtil;
+import org.springblade.core.tool.utils.Func;
+import org.springblade.mdm.basesetting.machine.vo.MachineExcelVO;
+import org.springblade.mdm.basesetting.machine.vo.MachineQueryVO;
+import org.springblade.mdm.basesetting.machine.vo.MachineVO;
+import org.springblade.mdm.machineback.service.MachineBackFileService;
+import org.springblade.mdm.machineback.vo.MachineBackFileHandleExcelVO;
+import org.springblade.mdm.machineback.vo.MachineBackFileHandleQueryVO;
+import org.springblade.mdm.machineback.vo.MachineBackFileQueryVO;
+import org.springblade.mdm.machineback.vo.MachineBackFileVO;
+import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.ArrayList;
+import java.util.List;
+
+@Slf4j
+@RestController
+@RequestMapping("/machineback/filehandle")
+@Tag(name = "鏈哄簥鍥炰紶鏂囦欢澶勭悊", description = "鏈哄簥鍥炰紶鏂囦欢澶勭悊")
+public class MachineBackFileHandleController {
+
+	@Autowired
+	private MachineBackFileService service;
+
+
+	/**
+	 * 鍒嗛〉
+	 */
+	@Operation(summary = "鍒嗛〉鏌ヨ", description = "鍚嶇О鎴栫紪鐮�")
+	@GetMapping("/page")
+	public R<IPage<MachineBackFileVO>> page(MachineBackFileHandleQueryVO query) {
+		IPage<MachineBackFileVO> pages = service.handlePageQuery(query);
+		return R.data(pages);
+	}
+
+	@GetMapping("export-to-inner")
+	@ApiOperationSupport(order = 13)
+	@Operation(summary = "瀵煎嚭鍒版秹瀵嗙綉", description = "瀵煎嚭鍒版秹瀵嗙綉")
+	public void exportToInner(MachineBackFileHandleQueryVO query, HttpServletResponse response) {
+
+
+	}
+
+	@Operation(summary = "瀵煎嚭Excel", description = "瀵煎嚭Excel")
+	@GetMapping("/export-excel")
+	public void exportExcel(MachineBackFileHandleQueryVO query, HttpServletResponse response) {
+		query.setCurrent(1);
+		query.setSize(Integer.MAX_VALUE);
+		IPage<MachineBackFileVO> pages = service.handlePageQuery(query);
+
+		List<MachineBackFileHandleExcelVO> list = new ArrayList<>();
+		pages.getRecords().forEach(vo ->{
+			MachineBackFileHandleExcelVO excelVO	= new MachineBackFileHandleExcelVO();
+			excelVO.setCuredStatus(vo.getIsCured()==0?"鍥哄寲":"鏈浐鍖�");
+			BeanUtil.copy(vo, excelVO);
+		});
+		ExcelUtil.export(response, "鏈哄簥鍥炰紶鏂囦欢澶勭悊" + DateUtil.time(), "鏈哄簥鍥炰紶鏂囦欢琛�", list, MachineBackFileHandleExcelVO.class);
+
+	}
+}
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machineback/controller/MachineBackProgramStatController.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machineback/controller/MachineBackProgramStatController.java
new file mode 100644
index 0000000..3fe7738
--- /dev/null
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machineback/controller/MachineBackProgramStatController.java
@@ -0,0 +1,35 @@
+package org.springblade.mdm.machineback.controller;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import lombok.extern.slf4j.Slf4j;
+import org.springblade.core.tool.api.R;
+import org.springblade.mdm.machineback.service.MachineBackFileService;
+import org.springblade.mdm.machineback.service.MachineBackProgramStatService;
+import org.springblade.mdm.machineback.vo.MachineBackFileQueryVO;
+import org.springblade.mdm.machineback.vo.MachineBackFileVO;
+import org.springblade.mdm.machineback.vo.MachineBackProgramQueryVO;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+@Slf4j
+@RestController
+@RequestMapping("/machineback/programstat")
+@Tag(name = "鍥炰紶绋嬪簭缁熻", description = "鍥炰紶绋嬪簭缁熻")
+public class MachineBackProgramStatController {
+
+	@Autowired
+	private MachineBackProgramStatService service;
+
+
+	/**
+	 * 鍒嗛〉
+	 */
+	@Operation(summary = "鍒嗛〉鏌ヨ", description = "")
+	@GetMapping("/page")
+	public R<IPage<MachineBackFileVO>> page(MachineBackProgramQueryVO query) {
+		IPage<MachineBackFileVO> pages = service.pageQuery(query);
+		return R.data(pages);
+	}
+}
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machineback/entity/MachineBackFile.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machineback/entity/MachineBackFile.java
index 5c17e46..80baad6 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machineback/entity/MachineBackFile.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machineback/entity/MachineBackFile.java
@@ -5,6 +5,8 @@
 import lombok.Setter;
 import org.springblade.core.mp.base.BizEntity;
 
+import java.util.Date;
+
 /**
  * 鏈哄簥鍥炰紶鏂囦欢
  */
@@ -14,5 +16,10 @@
 public class MachineBackFile extends BizEntity {
 	public static int STATUS_ACCEPTED = 2;
 	public static int STATUS_REJECTED = 2;
-	private String filename;
+
+	private String programId;
+	/**
+	 * 纭鏃堕棿
+	 */
+	private Date confirmTime;
 }
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machineback/mapper/MachineBackFileMapper.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machineback/mapper/MachineBackFileMapper.java
index b593e2d..b679516 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machineback/mapper/MachineBackFileMapper.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machineback/mapper/MachineBackFileMapper.java
@@ -6,11 +6,14 @@
 import org.apache.ibatis.annotations.Param;
 import org.springblade.core.mp.mapper.BladeMapper;
 import org.springblade.mdm.machineback.entity.MachineBackFile;
+import org.springblade.mdm.machineback.vo.MachineBackFileHandleQueryVO;
 import org.springblade.mdm.machineback.vo.MachineBackFileQueryVO;
 import org.springblade.mdm.machineback.vo.MachineBackFileVO;
 
 public interface MachineBackFileMapper extends BladeMapper<MachineBackFile> {
 
 	IPage<MachineBackFileVO> pageQuery(IPage<MachineBackFile> page, @Param("query")MachineBackFileQueryVO queryVO);
+
+	IPage<MachineBackFileVO> handlePageQuery(IPage<MachineBackFile> page, MachineBackFileHandleQueryVO query);
 	//pageMachine
 }
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machineback/mapper/MachineBackFileMapper.xml b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machineback/mapper/MachineBackFileMapper.xml
index b95dd1d..237080f 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machineback/mapper/MachineBackFileMapper.xml
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machineback/mapper/MachineBackFileMapper.xml
@@ -12,21 +12,39 @@
         <result column="is_deleted" property="isDeleted"/>
     </resultMap>
     <select id="pageQuery" resultType="org.springblade.mdm.machineback.vo.MachineBackFileVO">
-        select f.id,f.filename,f.create_time,m.code machineCode,m.name machineName
+        select f.id,p.name program_name,p.is_cured,f.create_time,m.code machine_code, m.name machine_name,f.create_time arrived_time
         from mdm_machine_back_file f join mdm_machine m on f.machine_code=m.code
+             left join mdm_nc_program p on f.program_id=p.id
+       <where>
+           f.status=1 and f.is_deleted=0
+
         <if test="query.machineSpec!=null and query.machineSpec!=''">
             and m.machine_spec=#{query.machineSpec,jdbcType=VARCHAR}
         </if>
         <if test="query.keyword!=null and query.keyword!=''">
             and (m.code like CONCAT('%', #{query.keyword,jdbcType=VARCHAR},'%') or m.name like CONCAT('%', #{query.keyword,jdbcType=VARCHAR},'%')
-            or f.filename like CONCAT('%', #{query.keyword,jdbcType=VARCHAR},'%')
+            or p.name like CONCAT('%', #{query.keyword,jdbcType=VARCHAR},'%')
                 )
         </if>
+      </where>
+    </select>
+    <select id="handlePageQuery" resultType="org.springblade.mdm.machineback.vo.MachineBackFileVO">
+        select f.id,p.name program_name,p.is_cured,f.create_time,m.code machine_code, m.name machine_name,f.create_time arrived_time
+        from mdm_machine_back_file f join mdm_machine m on f.machine_code=m.code
+        left join mdm_nc_program p on f.program_id=p.id
+        <where>
+        f.status=2 and f.is_deleted=0
+
+        <if test="query.machineSpec!=null and query.machineSpec!=''">
+            and m.machine_spec=#{query.machineSpec,jdbcType=VARCHAR}
+        </if>
+        <if test="query.keyword!=null and query.keyword!=''">
+            and (m.code like CONCAT('%', #{query.keyword,jdbcType=VARCHAR},'%') or m.name like CONCAT('%', #{query.keyword,jdbcType=VARCHAR},'%')
+            or p.name like CONCAT('%', #{query.keyword,jdbcType=VARCHAR},'%')
+            )
+        </if>
+        </where>
     </select>
 
-
-    <!--    <select id="parentTree" resultMap="treeNodeResultMap">-->
-<!--        select id, parent_id, dict_value as title, id as "value", id as "key" from blade_dict where is_deleted = 0 and parent_id = 0-->
-<!--    </select>-->
 
 </mapper>
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machineback/service/MachineBackFileService.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machineback/service/MachineBackFileService.java
index 2a076f8..593a510 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machineback/service/MachineBackFileService.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machineback/service/MachineBackFileService.java
@@ -4,11 +4,13 @@
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import org.springblade.core.mp.base.BizServiceImpl;
 import org.springblade.core.mp.support.Condition;
+import org.springblade.core.tool.utils.DateUtil;
 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.machineback.entity.MachineBackFile;
 import org.springblade.mdm.machineback.mapper.MachineBackFileMapper;
+import org.springblade.mdm.machineback.vo.MachineBackFileHandleQueryVO;
 import org.springblade.mdm.machineback.vo.MachineBackFileQueryVO;
 import org.springblade.mdm.machineback.vo.MachineBackFileVO;
 import org.springframework.stereotype.Service;
@@ -17,16 +19,11 @@
 
 @Service
 public class MachineBackFileService extends BizServiceImpl<MachineBackFileMapper, MachineBackFile> {
-	/*
-	@Transactional
-	public void save(MachineSaveVO vo){
-		//TODO
-		Machine machine = new Machine();
-		BeanUtil.copyProperties(vo, machine);
-		this.save(machine);
-	}
-	*/
 
+	/**
+	 * 鎺ュ彈
+	 * @param ids
+	 */
 	public void accept(String ids) {
 
 		List<Long> idList = Func.toLongList(ids);
@@ -34,11 +31,16 @@
 		for(Long id : idList){
 			MachineBackFile backFile = this.getById(id);
 			backFile.setStatus(MachineBackFile.STATUS_ACCEPTED);
+			backFile.setConfirmTime(DateUtil.now());
 			this.updateById(backFile);
 		}
 
 	}
 
+	/**
+	 * 鎷掔粷
+	 * @param ids
+	 */
 	public void reject(String ids) {
 		List<Long> idList = Func.toLongList(ids);
 
@@ -60,4 +62,9 @@
 
 		return page;
 	}
+
+	public IPage<MachineBackFileVO> handlePageQuery(MachineBackFileHandleQueryVO query) {
+		IPage<MachineBackFileVO> page = this.getBaseMapper().handlePageQuery(Condition.getPage(query),query);
+		return page;
+	}
 }
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machineback/service/MachineBackProgramStatService.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machineback/service/MachineBackProgramStatService.java
new file mode 100644
index 0000000..82b7ec4
--- /dev/null
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machineback/service/MachineBackProgramStatService.java
@@ -0,0 +1,36 @@
+package org.springblade.mdm.machineback.service;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.springblade.core.mp.base.BizServiceImpl;
+import org.springblade.core.mp.support.Condition;
+import org.springblade.core.tool.utils.DateUtil;
+import org.springblade.core.tool.utils.Func;
+import org.springblade.mdm.machineback.entity.MachineBackFile;
+import org.springblade.mdm.machineback.mapper.MachineBackFileMapper;
+import org.springblade.mdm.machineback.vo.MachineBackFileHandleQueryVO;
+import org.springblade.mdm.machineback.vo.MachineBackFileQueryVO;
+import org.springblade.mdm.machineback.vo.MachineBackFileVO;
+import org.springblade.mdm.machineback.vo.MachineBackProgramQueryVO;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ * 鍥炰紶鏃堕棿缁熻鏈嶅姟
+ */
+@Service
+public class MachineBackProgramStatService extends BizServiceImpl<MachineBackFileMapper, MachineBackFile> {
+
+
+	/**
+	 * 鏌ヨ鍒嗛〉
+	 * @param query 鏌ヨ鍙傛暟
+	 * @return 鍒嗛〉鏁版嵁
+	 */
+	public IPage<MachineBackFileVO> pageQuery(MachineBackProgramQueryVO query) {
+		//IPage<MachineBackFileVO> page = this.getBaseMapper().pageQuery(Condition.getPage(query),query);
+		//return page;
+		return null;
+	}
+
+}
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machineback/vo/MachineBackFileHandleExcelVO.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machineback/vo/MachineBackFileHandleExcelVO.java
new file mode 100644
index 0000000..a1c23c7
--- /dev/null
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machineback/vo/MachineBackFileHandleExcelVO.java
@@ -0,0 +1,34 @@
+package org.springblade.mdm.machineback.vo;
+
+import com.alibaba.excel.annotation.ExcelProperty;
+import com.alibaba.excel.annotation.format.DateTimeFormat;
+import com.alibaba.excel.annotation.write.style.ColumnWidth;
+import com.alibaba.excel.annotation.write.style.ContentRowHeight;
+import com.alibaba.excel.annotation.write.style.HeadRowHeight;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * 鏈哄簥鍥炰紶鏂囦欢澶勭悊瀵煎嚭excelVO
+ */
+@Data
+@ColumnWidth(25)
+@HeadRowHeight(20)
+@ContentRowHeight(18)
+public class MachineBackFileHandleExcelVO {
+
+	@ExcelProperty("绋嬪簭缂栧彿")
+	private String programName;
+
+	@ColumnWidth(20)
+	@ExcelProperty("鍥炰紶鏈哄簥")
+	private String machineCode;
+	@ExcelProperty("鍥哄寲鐘舵��")
+	private String curedStatus;
+
+	@DateTimeFormat("yyyy-MM-dd HHmmss")
+	@ExcelProperty("鏂囦欢鍒拌揪鏃堕棿")
+	private Date arrivedTime;
+
+}
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machineback/vo/MachineBackFileHandleQueryVO.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machineback/vo/MachineBackFileHandleQueryVO.java
new file mode 100644
index 0000000..5fb4e29
--- /dev/null
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machineback/vo/MachineBackFileHandleQueryVO.java
@@ -0,0 +1,23 @@
+package org.springblade.mdm.machineback.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 MachineBackFileHandleQueryVO extends Query {
+	@Schema(description = "纭鏃堕棿-寮�濮�")
+	private LocalDateTime confirmTimeBegin;
+	@Schema(description = "纭鏃堕棿-鎴")
+	private LocalDateTime confirmTimeEnd;
+
+}
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machineback/vo/MachineBackFileQueryVO.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machineback/vo/MachineBackFileQueryVO.java
index e3fdb0e..7f03f13 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machineback/vo/MachineBackFileQueryVO.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machineback/vo/MachineBackFileQueryVO.java
@@ -9,7 +9,7 @@
  * 鍒嗛〉鎷嗙嚎鍛�
  */
 
-@Schema(description = "鏈哄簥鏌ヨ瀵硅薄")
+@Schema(description = "鏈哄簥鍥炰紶鏂囦欢鏌ヨ瀵硅薄")
 @Setter
 @Getter
 public class MachineBackFileQueryVO extends Query {
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machineback/vo/MachineBackFileVO.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machineback/vo/MachineBackFileVO.java
index 94c32ad..0b884fa 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machineback/vo/MachineBackFileVO.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machineback/vo/MachineBackFileVO.java
@@ -1,11 +1,24 @@
 package org.springblade.mdm.machineback.vo;
 
+import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.Getter;
 import lombok.Setter;
 import org.springblade.mdm.commons.vo.BaseVO;
 
+import java.util.Date;
+
+@Schema(description = "鏈哄簥鍥炰紶鏂囦欢")
 @Setter
 @Getter
 public class MachineBackFileVO extends BaseVO {
-	private String filename;
+	@Schema(description = "鏂囦欢鍚嶇О")
+	private String name;
+	@Schema(description = "鏈哄簥缂栧彿/鍥炰紶鏈哄簥")
+	private String machineCode;
+	@Schema(description = "绋嬪簭鍚嶇О/缂栧彿")
+	private String programName;
+	@Schema(description = "鍥哄寲鐘舵��")
+	private Integer isCured;
+	@Schema(description = "鏂囦欢鍒拌揪鏃堕棿")
+	private Date arrivedTime;
 }
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machineback/vo/MachineBackProgramQueryVO.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machineback/vo/MachineBackProgramQueryVO.java
new file mode 100644
index 0000000..7a3672b
--- /dev/null
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machineback/vo/MachineBackProgramQueryVO.java
@@ -0,0 +1,27 @@
+package org.springblade.mdm.machineback.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 MachineBackProgramQueryVO extends Query {
+	@Schema(description = "鍥炰紶鏃堕棿-寮�濮�")
+	private LocalDateTime backTimeBegin;
+	@Schema(description = "鍥炰紶鏃堕棿-鎴")
+	private LocalDateTime backTimeEnd;
+	@Schema(description = "鍏抽敭瀛�")
+	private String keyword;
+
+	@Schema(description = "鎵�灞為儴闂↖D")
+	private Long deptId;
+}
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/controller/NcProgramExchangeController.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/controller/NcProgramExchangeController.java
new file mode 100644
index 0000000..70cafc1
--- /dev/null
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/controller/NcProgramExchangeController.java
@@ -0,0 +1,48 @@
+
+package org.springblade.mdm.program.controller;
+
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import jakarta.servlet.http.HttpServletResponse;
+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.program.service.NcProgramService;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.multipart.MultipartFile;
+
+/**
+ * 绋嬪簭娑夊瘑缃�-宸ユ帶缃戜氦鎹㈡帴鍙�
+ *
+ * @author yangys
+ */
+@NonDS
+@RestController
+@RequestMapping("/program/exchange")
+@AllArgsConstructor
+@Tag(name = "鏁版帶绋嬪簭瀵煎叆瀵煎嚭", description = "鏁版帶绋嬪簭瀵煎叆瀵煎嚭")
+@Slf4j
+public class NcProgramExchangeController {
+
+	private final NcProgramService ncProgramService;
+
+	@PostMapping("/export-dnc")
+	@Operation(summary = "鏁版帶绋嬪簭瀵煎嚭dnc", description = "鏁版帶绋嬪簭瀵煎嚭鍒板伐鎺х綉")
+	public void exportDnc(Long nodeId, HttpServletResponse response) {
+
+		//return R.<Boolean>status(true);
+	}
+
+	@PostMapping("/import-dnc-file")
+	@Operation(summary = "涓婁紶宸ユ帶缃戝洖浼犳枃浠�", description = "涓婁紶绋嬪簭/闄勪欢鏂囦欢")
+	public R<Boolean> importDncFile(@RequestParam MultipartFile file,Long nodeId,
+							 @RequestParam String category) {
+		ncProgramService.uploadNcFile(file,nodeId,category);
+		return R.<Boolean>status(true);
+
+	}
+}
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/vo/MachineBackFileQueryVO.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/vo/MachineBackFileQueryVO.java
new file mode 100644
index 0000000..e8549db
--- /dev/null
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/vo/MachineBackFileQueryVO.java
@@ -0,0 +1,20 @@
+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;
+
+/**
+ * 鍒嗛〉鎷嗙嚎鍛�
+ */
+
+@Schema(description = "鏈哄簥鍥炰紶鏂囦欢鏌ヨ瀵硅薄")
+@Setter
+@Getter
+public class MachineBackFileQueryVO extends Query {
+	@Schema(description = "绋嬪簭鍚嶇О")
+	private String programName;
+
+
+}
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/vo/MachineBackFileVO.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/vo/MachineBackFileVO.java
new file mode 100644
index 0000000..38d0b92
--- /dev/null
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/vo/MachineBackFileVO.java
@@ -0,0 +1,18 @@
+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;
+
+@Setter
+@Getter
+@Schema(description = "鏈哄簥鍥炰紶鏂囦欢")
+public class MachineBackFileVO extends BaseVO {
+
+
+	@Schema(description = "绋嬪簭鍚嶇О")
+	private String programName;
+	@Schema(description = "鏈哄簥缂栫爜/璁惧缂栫爜")
+	private String programNo;
+}

--
Gitblit v1.9.3