From 86c8efdb19a2f4be79a947650ef62ed79382011b Mon Sep 17 00:00:00 2001
From: yangys <y_ys79@sina.com>
Date: 星期六, 30 八月 2025 20:55:31 +0800
Subject: [PATCH] 重构机床回传文件;撤回后禁用撤回按钮

---
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/gkw/programnode/controller/ProgramNodeController.java    |    4 
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/machinefile/controller/MachineCollectFileController.java |   63 ++++---
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/gkw/programnode/service/ProgramNodeService.java          |   49 ++++-
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/machinefile/mapper/MachineFileMapper.java                |   35 ++++
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/commons/service/ParamService.java                        |   31 +--
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/controller/MyFlowController.java                    |    2 
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/machinefile/entity/MachineFile.java                      |   28 ++
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/task/SendDirCleanTask.java                               |    4 
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/ProgramAnnotationService.java            |   15 +
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/mapper/DoneMapper.xml                               |    3 
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/machinefile/vo/MachineFileChangeHisVO.java               |    3 
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/test/MyTest2Controller.java                              |    2 
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/machinefile/mapper/MachineFileMapper.xml                 |   22 +-
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/config/InitBean.java                                     |   73 ---------
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/DoneQueryService.java                       |   27 +++
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/task/MachineFileScanTask.java                            |   42 ++++
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/config/ShutdownHook.java                                 |    5 
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/machinefile/vo/MachineFileQueryVO.java                   |    2 
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/test/MyTestController.java                               |    2 
 /dev/null                                                                                                          |   27 ---
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/machinefile/mapper/MachineFileChangeHisMapper.xml        |    6 
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/task/ReceiveDirMoveTask.java                             |    4 
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/machinefile/mapper/MachineFileChangeHisMapper.java       |   22 ++
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/machinefile/entity/MachineFileChangeHis.java             |    5 
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/TaskDispatchService.java                    |    3 
 25 files changed, 269 insertions(+), 210 deletions(-)

diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/commons/service/ParamService.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/commons/service/ParamService.java
index a9dbfce..5b85076 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/commons/service/ParamService.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/commons/service/ParamService.java
@@ -3,18 +3,9 @@
 
 import lombok.AllArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
-import org.springblade.core.mp.base.BizServiceImpl;
 import org.springblade.core.tool.api.R;
-import org.springblade.core.tool.utils.Func;
-import org.springblade.mdm.commons.contants.ParamConstants;
-import org.springblade.mdm.gkw.programnode.entity.ProgramNode;
-import org.springblade.mdm.gkw.programnode.mapper.ProgramNodeMapper;
-import org.springblade.mdm.gkw.programnode.service.TreeDeptService;
-import org.springblade.mdm.gkw.programnode.vo.ProgramNodeVO;
 import org.springblade.system.feign.ISysClient;
 import org.springframework.stereotype.Service;
-
-import java.util.List;
 
 /**
  * 绯荤粺鍙傛暟鑾峰彇鏈嶅姟
@@ -50,6 +41,12 @@
 	public static String NETWORK_TYPE_SHEMI= "0";
 
 	public static String CONFIRM_TABLE_TEMPLATE= "confirmTableTemplate";
+
+	/**
+	 * 瀹℃壒鐢ㄦ埛瑙掕壊鍒悕鍙傛暟key锛岄�楀彿鍒嗛殧
+	 */
+	public static String ROOT_DEPT_ID= "rootDeptId";
+
 	private final ISysClient sysClient;
 
 	public String getParamValue(String paramKey,String defaultValue){
@@ -80,22 +77,20 @@
 	 * 鑾峰彇浠诲姟閲嶅妫�鏌ュぉ鏁�
 	 * @return 澶╂暟
 	 */
-	public String taskDuplateCheckDays(){
+	public String taskDuplicateCheckDays(){
 		return getParamValue(
 			TASK_DUPLATE_CHECK_DAYS,"30");
 	}
 
-	/**
-	 * 鑾峰彇浠诲姟閲嶅妫�鏌ュぉ鏁�
-	 * @return 澶╂暟
-	 */
-	public String taskExiredDays(){
-		return getParamValue(
-			TASK_EXPIRE_DAYS,"30");
-	}
 
     public String confirmTableTemplateOssFileName() {
 		return getParamValue(
 			CONFIRM_TABLE_TEMPLATE,"");
     }
+
+	public String rootDetpId() {
+		return getParamValue(
+			ROOT_DEPT_ID,"0");
+	}
+
 }
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/config/InitBean.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/config/InitBean.java
index 3d2a85b..e4d826d 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/config/InitBean.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/config/InitBean.java
@@ -3,93 +3,22 @@
 import jakarta.annotation.PostConstruct;
 import lombok.AllArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
-import org.apache.commons.lang3.StringUtils;
 import org.springblade.core.oss.OssTemplate;
-import org.springblade.core.tool.api.R;
-import org.springblade.mdm.basesetting.machine.MachineService;
-import org.springblade.mdm.basesetting.machine.entity.Machine;
-import org.springblade.mdm.commons.contants.ParamConstants;
-import org.springblade.mdm.machineback.filewatch.DirectorLockService;
-import org.springblade.mdm.machineback.filewatch.DynamicDirectoryWatcher;
-import org.springblade.mdm.machineback.filewatch.FileWatcherService;
-import org.springblade.mdm.machineback.filewatch.MachineFileBackListener;
-import org.springblade.mdm.machineback.service.MachineBackFileService;
-import org.springblade.mdm.program.service.NcProgramService;
 import org.springblade.system.feign.ISysClient;
 import org.springframework.stereotype.Component;
-
-import java.nio.file.Path;
-import java.nio.file.Paths;
-import java.util.ArrayList;
-import java.util.List;
 
 @Slf4j
 @AllArgsConstructor
 @Component
 public class InitBean {
-	private final DirectorLockService directorLockService;
-	private final MachineService machineService;
-	private final FileWatcherService fileWatcherService;
 
-	private final DynamicDirectoryWatcher directoryWatcher;
-	private final MachineBackFileService machineBackFileService;
-	private final NcProgramService ncProgramService;
 	private final OssTemplate ossTemplate;
 	private final ISysClient sysClient;
-	//private final FileWatcherService.FileChangeListener listener;
+
 	@PostConstruct
 	public void init() {
 		log.info("搴旂敤鍚姩鏃舵墽琛屽垵濮嬪寲鎿嶄綔 @PostConstruct");
 
-		// 鍒濆鍖栭�昏緫
-
-		R<String> networkTypeR = sysClient.getParamValue(ParamConstants.NETWORK_TYPE_KEY);
-		String networkType = networkTypeR.getData() == null ? ParamConstants.NETWORK_TYPE_SHEMI : networkTypeR.getData();
-		if (networkType.equals(ParamConstants.NETWORK_TYPE_GONGKONG)) {
-			initMachineDirMonitor();
-		}
-
-
 	}
-
-	/**
-	 * 鍒濆鍖栨満搴婄洃鎺х洰褰�
-	 */
-	void initMachineDirMonitor() {
-		boolean locked = directorLockService.acquireLock();
-		if (!locked) {
-			log.info("鍥炰紶鎺ユ敹鐩綍宸茬粡琚叾浠栭儴缃茬偣浣嶉攣瀹氾紝鐩存帴杩斿洖");
-			return;
-		}
-		List<Machine> machineList = machineService.lambdaQuery().eq(Machine::getStatus,Machine.STATUS_ENABLE).list();
-		List<String> monitorDirList = new ArrayList<String>();
-		machineList.forEach(m -> {
-			if (StringUtils.isNotEmpty(m.getProgReceiveDir())) {
-				String dir = StringUtils.removeEnd(StringUtils.removeEnd(m.getProgReceiveDir(), "/"), "\\");
-				if (!monitorDirList.contains(dir)) {
-					monitorDirList.add(dir);
-				}
-
-			}
-		});
-		for (String dir : monitorDirList) {
-			Path dirPath = Paths.get(dir);
-			try {
-				if(!dirPath.toFile().exists()) {
-					dirPath.toFile().mkdirs();
-				}
-				directoryWatcher.addDirectory(dirPath,getListener());
-			} catch (Exception e) {
-				log.error("娣诲姞鐩戞帶鐩綍寮傚父",e);
-			}
-		}
-
-	}
-
-
-	FileWatcherService.FileChangeListener getListener() {
-		return new MachineFileBackListener(machineBackFileService,ncProgramService,ossTemplate);
-	}
-
 
 }
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/config/ShutdownHook.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/config/ShutdownHook.java
index efacca8..4a98ec6 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/config/ShutdownHook.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/config/ShutdownHook.java
@@ -2,13 +2,12 @@
 
 import jakarta.annotation.PreDestroy;
 import lombok.AllArgsConstructor;
-import org.springblade.mdm.machineback.filewatch.DirectorLockService;
 import org.springframework.stereotype.Component;
 
 @AllArgsConstructor
 @Component
 public class ShutdownHook {
-	private final DirectorLockService directorLockService;
+
 	@PreDestroy
 	public void onExit() {
 		System.out.println("鎵ц閫�鍑哄墠娓呯悊鎿嶄綔...");
@@ -16,6 +15,6 @@
 		// 2. 閲婃斁璧勬簮
 		// 3. 淇濆瓨鐘舵��
 		// 4. 閫氱煡鍏朵粬鏈嶅姟
-		directorLockService.releaseLock();
+
 	}
 }
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/controller/MyFlowController.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/controller/MyFlowController.java
index 660719e..80cec4e 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/controller/MyFlowController.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/controller/MyFlowController.java
@@ -75,7 +75,7 @@
 	@ApiOperationSupport(order = 3)
 	@Operation(summary = "褰撳墠鐢ㄦ埛宸插姙浠诲姟鍒嗛〉2", description = "浼犲叆娴佺▼淇℃伅2")
 	public R<IPage<FlowVO>> doneList2(@Parameter(description = "鍏抽敭瀛�") String keyword, @Parameter(description = "鍒涘缓鏃堕棿寮�濮�") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") LocalDateTime createTimeBegin, @Parameter(description = "鍒涘缓鏃堕棿鎴")  @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") LocalDateTime createTimeEnd, Query query) {
-		IPage<FlowVO> pages = doneQueryService.selectDonePage(Condition.getPage(query),"" ,createTimeBegin,createTimeEnd,keyword);
+		IPage<FlowVO> pages = doneQueryService.selectDonePage(Condition.getPage(query) ,createTimeBegin,createTimeEnd,keyword);
 
 		return R.data(pages);
 	}
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/mapper/DoneMapper.xml b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/mapper/DoneMapper.xml
index 0ac142b..7ed5aba 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/mapper/DoneMapper.xml
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/mapper/DoneMapper.xml
@@ -18,7 +18,8 @@
         HPI.BUSINESS_KEY_ AS businessKey,
         HPD.NAME_ AS processDefinitionName,
         HPD.KEY_ as processDefinitionKey,
-        HPI.START_TIME_ as processCreateTime
+        HPI.START_TIME_ as processCreateTime,
+        HTI.TASK_DEF_KEY_ as taskDefinitionKey
         FROM
         ACT_HI_TASKINST HTI
 
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/DoneQueryService.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/DoneQueryService.java
index b1edf91..1638ab2 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/DoneQueryService.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/DoneQueryService.java
@@ -10,6 +10,7 @@
 import org.flowable.engine.history.HistoricProcessInstanceQuery;
 import org.flowable.engine.task.Comment;
 import org.flowable.task.api.Task;
+import org.flowable.task.api.TaskInfo;
 import org.flowable.task.api.TaskInfoQuery;
 import org.flowable.task.api.TaskQuery;
 import org.flowable.task.api.history.HistoricTaskInstance;
@@ -44,11 +45,19 @@
 public class DoneQueryService {
 	private final FlowProgramFileService flowProgramFileService;
 	private final HistoryService historyService;
-	private final IUserClient userClient;
 	private final FlowCommonService flowCommonService;
 	private final DoneMapper doneMapper;
-	//
-	public IPage<FlowVO> selectDonePage(IPage<FlowVO> page, String s, LocalDateTime createTimeBegin, LocalDateTime createTimeEnd, String keyword) {
+	private final TaskService taskService;
+	/**
+	 * 鏌ヨ鐢ㄦ埛宸插姙浠诲姟鍒嗛〉鍒楄〃
+	 * @param page
+	 * @param s
+	 * @param createTimeBegin
+	 * @param createTimeEnd
+	 * @param keyword
+	 * @return
+	 */
+	public IPage<FlowVO> selectDonePage(IPage<FlowVO> page, LocalDateTime createTimeBegin, LocalDateTime createTimeEnd, String keyword) {
 		//宸插姙鏂版煡璇�
 		String userId = "" + AuthUtil.getUserId();
 		DoneQueryVO queryVO = new DoneQueryVO();
@@ -79,6 +88,9 @@
 
 				boolean active = flowCommonService.isProcessInstanceActive(flowVO.getProcessInstanceId());
 				flowVO.setProcessIsFinished((Func.toStr(!active)));
+				if(active){
+					flowVO.setFlag(getCurrentTaskDefKeys(flowVO.getProcessInstanceId()));
+				}
 			});
 		}
 		return pageDta;
@@ -101,4 +113,13 @@
 
 		return result;
 	}
+
+	String getCurrentTaskDefKeys(String processInstanceId) {
+		List<Task> tasks = taskService.createTaskQuery()
+			.processInstanceId(processInstanceId) // 鏍规嵁娴佺▼瀹炰緥ID鏌ヨ
+			.active() // 鏌ヨ娲诲姩鐨勪换鍔�
+			.list();
+		return tasks.stream().map(TaskInfo::getTaskDefinitionKey).collect(Collectors.joining(","));
+
+	}
 }
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/TaskDispatchService.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/TaskDispatchService.java
index 051f900..31dc18d 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/TaskDispatchService.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/TaskDispatchService.java
@@ -16,7 +16,6 @@
 import org.springframework.transaction.annotation.Transactional;
 
 import java.time.LocalDateTime;
-import java.util.List;
 
 /**
  * 浠诲姟娲惧伐鏁版嵁 澶勭悊鏈嶅姟
@@ -63,7 +62,7 @@
 			return false;
 		}
 
-		int taskDupDays = Func.toInt(paramService.taskDuplateCheckDays());
+		int taskDupDays = Func.toInt(paramService.taskDuplicateCheckDays());
 		LocalDateTime checkStartDate = LocalDateTime.now().minusDays(taskDupDays);
 		LambdaQueryChainWrapper<TaskDispatch> q = lambdaQuery().eq(TaskDispatch::getDrawingNo,startVO.getDrawingNo())
 			.eq(TaskDispatch::getProcessNo,startVO.getProcessNo())
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/gkw/programnode/controller/MachineFileController.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/gkw/programnode/controller/MachineFileController.java
deleted file mode 100644
index c474cce..0000000
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/gkw/programnode/controller/MachineFileController.java
+++ /dev/null
@@ -1,123 +0,0 @@
-
-package org.springblade.mdm.gkw.programnode.controller;
-
-import com.alibaba.excel.util.StringUtils;
-import com.baomidou.mybatisplus.core.metadata.IPage;
-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.mp.support.Condition;
-import org.springblade.core.tenant.annotation.NonDS;
-import org.springblade.core.tool.api.R;
-import org.springblade.mdm.basesetting.machine.MachineService;
-import org.springblade.mdm.basesetting.machine.entity.Machine;
-import org.springblade.mdm.basesetting.producedivision.entity.MdmDept;
-import org.springblade.mdm.basesetting.producedivision.service.MdmDeptService;
-import org.springblade.mdm.gkw.programnode.entity.MachineFile;
-import org.springblade.mdm.gkw.programnode.service.MachineFileChangeHisService;
-import org.springblade.mdm.gkw.programnode.service.MachineFileService;
-import org.springblade.mdm.gkw.programnode.vo.MachineFileChangeHisQueryVO;
-import org.springblade.mdm.gkw.programnode.vo.MachineFileChangeHisVO;
-import org.springblade.mdm.gkw.programnode.vo.MachineFileQueryVO;
-import org.springblade.mdm.program.vo.CompareDataVO;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
-
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * 鍏紑缃戠▼搴忚妭鐐�
- *
- * @author yangys
- */
-@NonDS
-@RestController
-@RequestMapping("/gkw/node")
-@Tag(name = "宸ユ帶缃戠▼搴忚妭鐐�", description = "宸ユ帶缃戠▼搴忚妭鐐�")
-@Slf4j
-public class MachineFileController {
-	@Autowired
-	private MachineFileService machineFileService;
-	@Autowired
-	private MachineFileChangeHisService machineFileChangeHisService;
-	@Autowired
-	private MdmDeptService mdmDeptService;
-	@Autowired
-	private MachineService machineService;
-
-	@GetMapping("/file-page")
-	@Operation(summary = "宸ユ帶缃戠洰褰曟枃浠跺垪琛�", description = "宸ユ帶缃戠洰褰曟枃浠跺垪琛�")
-	public R<IPage<MachineFile>> page(MachineFileQueryVO query) {
-		/*
-		IPage<MachineFile> pageData = machineFileService.lambdaQuery()
-			.eq(MachineFile::getMachineCode,query.getMachineCode())
-			.eq(MachineFile::getDirType,query.getDirType())
-			.ne(MachineFile::getStatus,MachineFile.STATUS_REMOVED).like(StringUtils.isNotBlank(query.getName()),MachineFile::getName,query.getName())
-			.page(Condition.getPage(query));
-		*/
-		List<Long> deptIds = new ArrayList<>();
-		if("workshop".equals(query.getNodeType()) || "seg".equals(query.getNodeType())) {
-			//鑺傜偣涓鸿溅闂淬�佸伐娈�
-			MdmDept dept = mdmDeptService.getById(query.getNodeId());
-
-			String idStr = dept.getAncestors()+","+dept.getId();
-			List<MdmDept> depts = mdmDeptService.lambdaQuery().likeRight(MdmDept::getParentId, query.getNodeId()).list();
-			deptIds.addAll(depts.stream().map(MdmDept::getId).toList());
-			deptIds.add(dept.getId());
-			//+鏈溅闂�
-			//Func.toStrList(",",idStr)
-			query.setDeptIds(deptIds);
-		}else if("machine".equals(query.getNodeType())){
-			Machine machine = machineService.getById(query.getNodeId());
-			query.setMachineCode(machine.getCode());
-		}else if("dir".equals(query.getNodeType())){
-			query.setMachineCode(query.getMachineCode());
-		}
-		return R.data(machineFileService.pageQuery(query));
-	}
-
-
-	@GetMapping("/file-content")
-	@Operation(summary = "鑾峰彇鏈哄簥鐩綍鏂囦欢鍐呭", description = "宸ユ帶缃戠洰褰曟枃浠跺垪琛�")
-	public R<String> machineFileContent(Long id) {
-		String content = machineFileService.getMachineFileContent(id);
-		return R.data(content);
-	}
-
-	@PostMapping("/file-save")
-	@Operation(summary = "淇濆瓨鏈哄簥鏂囦欢", description = "淇濆瓨鏈哄簥鏂囦欢鍒扮鐩�")
-	public R<Void> machineFileSave(Long id,String content) {
-		try {
-			machineFileService.saveFileContent(id,content);
-		} catch (IOException e) {
-			log.error(e.getMessage());
-			return R.fail(e.getMessage());
-		}
-		return R.success();
-	}
-
-	@GetMapping("/file-his-page")
-	@Operation(summary = "淇敼鐣欏巻鍙插垪琛�", description = "淇敼鐣欏巻鍙插垪琛�")
-	public R<IPage<MachineFileChangeHisVO>> changeHisPage(MachineFileChangeHisQueryVO query) {
-		return R.data(machineFileChangeHisService.pageQuery(query));
-	}
-
-	@GetMapping("/his-compare")
-	@Operation(summary = "瀵规瘮鍘嗗彶鏂囦欢鍐呭", description = "瀵规瘮鍘嗗彶鏂囦欢鍐呭")
-	public R<CompareDataVO> machineFileSave(Long id) {
-		try {
-			CompareDataVO vo =machineFileService.queryHisContentForCompare(id);
-			return R.data(vo);
-		} catch (IOException e) {
-			log.error(e.getMessage());
-			return R.fail(e.getMessage());
-		}
-	}
-
-}
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/gkw/programnode/controller/ProgramNodeController.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/gkw/programnode/controller/ProgramNodeController.java
index 904ef0f..0df03e7 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/gkw/programnode/controller/ProgramNodeController.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/gkw/programnode/controller/ProgramNodeController.java
@@ -37,8 +37,8 @@
 
 	@GetMapping("/load-tree")
 	@Operation(summary = "宸ユ帶缃憈ree", description = "宸ユ帶缃戠洰褰曟爲褰㈢粨鏋�-鍏ㄩ噺")
-	public R<List<ProgramNodeVO>> loadTree() {
-		List<ProgramNodeVO> list = programNodeService.loadTree();
+	public R<List<ProgramNodeVO>> loadTree(@Parameter(name="鍖呭惈send鏂囦欢澶癸紝1鍖呭惈锛�0涓嶅寘鍚�")String includeSend) {
+		List<ProgramNodeVO> list = programNodeService.loadTree(includeSend);
 		return R.data(list);
 	}
 
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/gkw/programnode/mapper/MachineFileChangeHisMapper.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/gkw/programnode/mapper/MachineFileChangeHisMapper.java
deleted file mode 100644
index 073ca8b..0000000
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/gkw/programnode/mapper/MachineFileChangeHisMapper.java
+++ /dev/null
@@ -1,25 +0,0 @@
-package org.springblade.mdm.gkw.programnode.mapper;
-
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import org.apache.ibatis.annotations.Param;
-import org.springblade.core.mp.mapper.BladeMapper;
-import org.springblade.mdm.gkw.programnode.entity.MachineFile;
-import org.springblade.mdm.gkw.programnode.entity.MachineFileChangeHis;
-import org.springblade.mdm.gkw.programnode.vo.MachineFileChangeHisQueryVO;
-import org.springblade.mdm.gkw.programnode.vo.MachineFileChangeHisVO;
-import org.springblade.mdm.machineback.vo.MachineBackFileHandleQueryVO;
-import org.springblade.mdm.machineback.vo.MachineBackFileQueryVO;
-import org.springblade.mdm.machineback.vo.MachineBackFileVO;
-
-public interface MachineFileChangeHisMapper extends BladeMapper<MachineFileChangeHis> {
-
-	/**
-	 * 鏈哄簥鍥炰紶鏂囦欢鏌ヨ
-	 * @param page 鍒嗛〉鍙傛暟
-	 * @param queryVO 鏌ヨ瀵硅薄
-	 * @return
-	 */
-    IPage<MachineFileChangeHisVO> pageQuery(IPage<MachineFileChangeHisVO> page, @Param("query") MachineFileChangeHisQueryVO queryVO);
-
-
-}
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/gkw/programnode/mapper/MachineFileMapper.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/gkw/programnode/mapper/MachineFileMapper.java
deleted file mode 100644
index c762ed4..0000000
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/gkw/programnode/mapper/MachineFileMapper.java
+++ /dev/null
@@ -1,39 +0,0 @@
-package org.springblade.mdm.gkw.programnode.mapper;
-
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import org.apache.ibatis.annotations.Param;
-import org.springblade.core.mp.mapper.BladeMapper;
-import org.springblade.mdm.gkw.programnode.entity.MachineFile;
-import org.springblade.mdm.gkw.programnode.entity.ProgramNode;
-import org.springblade.mdm.gkw.programnode.vo.MachineFileQueryVO;
-import org.springblade.mdm.gkw.programnode.vo.ProgramNodeVO;
-import org.springblade.mdm.machineback.vo.MachineBackFileHandleQueryVO;
-import org.springblade.mdm.machineback.vo.MachineBackFileQueryVO;
-import org.springblade.mdm.machineback.vo.MachineBackFileVO;
-
-import java.util.List;
-
-public interface MachineFileMapper extends BladeMapper<MachineFile> {
-	/**
-	 * 宸ユ帶缃戦椤垫満搴婃枃浠舵煡璇�
-	 * @param page
-	 * @param queryVO
-	 * @return
-	 */
-	IPage<MachineFile> pageQuery(IPage<MachineFile> page, @Param("query") MachineFileQueryVO queryVO);
-	/**
-	 * 鏈哄簥鍥炰紶鏂囦欢鏌ヨ
-	 * @param page 鍒嗛〉鍙傛暟
-	 * @param queryVO 鏌ヨ瀵硅薄
-	 * @return
-	 */
-    IPage<MachineBackFileVO> machineBackFilePageQuery(IPage<MachineBackFileVO> page, @Param("query")MachineBackFileQueryVO queryVO);
-
-	/**
-	 * 鏈哄簥鍥炰紶鏂囦欢澶勭悊鍒嗛〉鏌ヨ
-	 * @param page
-	 * @param query
-	 * @return
-	 */
-	IPage<MachineBackFileVO> handlePageQuery(@Param("page")IPage<MachineBackFileVO> page,@Param("query") MachineBackFileHandleQueryVO query);
-}
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/gkw/programnode/service/MachineFileChangeHisService.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/gkw/programnode/service/MachineFileChangeHisService.java
deleted file mode 100644
index fc8d711..0000000
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/gkw/programnode/service/MachineFileChangeHisService.java
+++ /dev/null
@@ -1,41 +0,0 @@
-
-package org.springblade.mdm.gkw.programnode.service;
-
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import lombok.AllArgsConstructor;
-import lombok.extern.slf4j.Slf4j;
-import org.apache.commons.io.FileUtils;
-import org.apache.commons.lang3.StringUtils;
-import org.springblade.core.log.exception.ServiceException;
-import org.springblade.core.mp.base.BizServiceImpl;
-import org.springblade.core.mp.support.Condition;
-import org.springblade.mdm.gkw.programnode.entity.MachineFileChangeHis;
-import org.springblade.mdm.gkw.programnode.mapper.MachineFileChangeHisMapper;
-
-
-import org.springblade.mdm.gkw.programnode.vo.MachineFileChangeHisQueryVO;
-import org.springblade.mdm.gkw.programnode.vo.MachineFileChangeHisVO;
-import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
-
-/**
- * 鏈哄簥鏂囦欢
- *
- * @author yangys
- */
-@Slf4j
-@Service
-@AllArgsConstructor
-public class MachineFileChangeHisService extends BizServiceImpl<MachineFileChangeHisMapper, MachineFileChangeHis> {
-
-
-	/**
-	 * 鍥炰紶绋嬪簭澶勭悊 鍒嗛〉鏌ヨ
-	 * @param query
-	 * @return
-	 */
-	public IPage<MachineFileChangeHisVO> pageQuery(MachineFileChangeHisQueryVO query) {
-		IPage<MachineFileChangeHisVO> page = this.getBaseMapper().pageQuery(Condition.getPage(query),query);
-		return page;
-	}
-}
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/gkw/programnode/service/MachineFileService.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/gkw/programnode/service/MachineFileService.java
deleted file mode 100644
index 37f8799..0000000
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/gkw/programnode/service/MachineFileService.java
+++ /dev/null
@@ -1,207 +0,0 @@
-
-package org.springblade.mdm.gkw.programnode.service;
-
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import lombok.AllArgsConstructor;
-import lombok.extern.slf4j.Slf4j;
-import org.apache.commons.io.FileUtils;
-import org.apache.commons.lang3.StringUtils;
-import org.springblade.core.log.exception.ServiceException;
-import org.springblade.core.mp.base.BizServiceImpl;
-import org.springblade.core.mp.support.Condition;
-import org.springblade.core.oss.OssTemplate;
-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.basesetting.producedivision.entity.MdmDept;
-import org.springblade.mdm.gkw.programnode.entity.MachineFile;
-import org.springblade.mdm.gkw.programnode.entity.MachineFileChangeHis;
-import org.springblade.mdm.gkw.programnode.mapper.MachineFileMapper;
-import org.springblade.mdm.gkw.programnode.vo.MachineFileQueryVO;
-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.program.vo.CompareDataVO;
-import org.springblade.mdm.utils.FileContentUtil;
-import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
-
-import java.io.File;
-import java.io.IOException;
-import java.io.InputStream;
-import java.nio.file.Files;
-import java.nio.file.Path;
-import java.nio.file.Paths;
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * 鏈哄簥鏂囦欢
- *
- * @author yangys
- */
-@Slf4j
-@Service
-@AllArgsConstructor
-public class MachineFileService extends BizServiceImpl<MachineFileMapper, MachineFile> {
-	private final MachineService machineService;
-	private final MachineFileChangeHisService machineFileChangeHisService;
-	private final OssTemplate ossTemplate;
-	/**
-	 * 妫�娴嬫枃浠舵槸鍚﹀瓨鍦�
-	 * @param name 鏂囦欢鍚�
-	 * @param dirType 鏂囦欢澶圭被鍨�
-	 * @param machineCode 鎵�灞炴満搴�
-	 * @return 鏄惁瀛樺湪浜庡簱鍐�
-	 */
-	public boolean fileExists(String name, String dirType,String machineCode) {
-		return this.lambdaQuery().eq(MachineFile::getName, name)
-			.eq(MachineFile::getDirType, dirType)
-			.eq(MachineFile::getMachineCode, machineCode).count()>0;
-	}
-
-	@Transactional(readOnly = true)
-	public String getMachineFileContent(Long id) {
-		MachineFile machineFile = getById(id);
-		Machine machine = machineService.getByCode(machineFile.getMachineCode());
-
-		String filePathStr = getBasePath(machine,machineFile.getDirType())+ File.separator+machineFile.getName();
-
-		String content;
-
-		Path filePath = Paths.get(filePathStr);
-		if(!filePath.toFile().exists()){
-			return StringUtils.EMPTY;
-		}
-		try (InputStream inputStream = Files.newInputStream(filePath)) {
-			// 浣跨敤杈撳叆娴佽鍙栨枃浠跺唴瀹�
-			content = FileContentUtil.getContentFromStream(inputStream);
-		} catch (IOException e) {
-			log.error("璇诲彇鏂囦欢md5澶辫触",e);
-			return StringUtils.EMPTY;
-		}
-
-		return content;
-	}
-
-	/**
-	 * 鑾峰彇鍩烘湰璺緞
-	 * @param machine
-	 * @param dirType
-	 * @return
-	 */
-	public static String getBasePath(Machine machine,String dirType){
-		String dirPath;
-		switch (dirType) {
-			case MachineFile.DIR_TYPE_REC:
-				dirPath = machine.getProgReceiveDir();
-				break;
-			case MachineFile.DIR_TYPE_SEND:
-				dirPath = machine.getProgSendDir();
-				break;
-			case MachineFile.DIR_TYPE_TEMP:
-				dirPath = machine.getProgTempDir();
-				break;
-			default:
-				log.warn("鐩綍绫诲瀷涓嶅尮閰�:{}",dirType);
-				return null;//涓嶇鍚堜换浣曠被鍨嬶紝鐩存帴閫�鍑�
-		}
-		return dirPath;
-	}
-
-	@Transactional
-	public void saveFileContent(Long id, String content) throws IOException {
-		MachineFile machineFile = getById(id);
-		Machine machine = machineService.getByCode(machineFile.getMachineCode());
-
-		String filePathStr = getBasePath(machine,machineFile.getDirType())+ File.separator+machineFile.getName();
-		Path filePath = Paths.get(filePathStr);
-
-		String ossName;
-		BladeFile bfile;
-		try (InputStream inputStream = Files.newInputStream(filePath)) {
-			bfile = ossTemplate.putFile(machineFile.getName(), inputStream);
-		}
-		ossName =bfile.getName();
-
-		try (InputStream inputStream = Files.newInputStream(filePath)) {
-			// 浣跨敤杈撳叆娴佽鍙栨枃浠跺唴瀹�
-			String charsetName = FileContentUtil.detectFromInputStream(inputStream);
-			FileUtils.writeStringToFile(filePath.toFile(),content,charsetName);
-		} catch (IOException e) {
-			log.error("璇诲彇鏂囦欢缂栫爜澶辫触",e);
-			throw new ServiceException("鑾峰彇鏂囦欢缂栫爜澶辫触");
-		}
-
-		try (InputStream inputStream = Files.newInputStream(filePath)) {
-			bfile = ossTemplate.putFile(machineFile.getName(), inputStream);
-		}
-		//淇濆瓨鍘嗗彶璁板綍
-		MachineFileChangeHis his = new MachineFileChangeHis();
-		his.setMachineFileId(id);
-		his.setOssName(ossName);
-		his.setOssNameAfter(bfile.getName());
-		this.machineFileChangeHisService.save(his);
-	}
-
-	/**
-	 * 鑾峰彇鏂囦欢鐨勮緭鍏ユ祦
-	 * @param machineFile
-	 * @return
-	 * @throws IOException
-	 */
-	public InputStream getInputStream(MachineFile machineFile) throws IOException {
-
-		Machine machine = machineService.getByCode(machineFile.getMachineCode());
-
-		String filePathStr = getBasePath(machine,machineFile.getDirType())+ File.separator+machineFile.getName();
-		Path filePath = Paths.get(filePathStr);
-		return Files.newInputStream(filePath);
-
-	}
-
-	@Transactional(readOnly = true)
-    public IPage<MachineBackFileVO> machineBackFilePageQuery(MachineBackFileQueryVO query) {
-		return this.baseMapper.machineBackFilePageQuery(Condition.getPage(query),query);
-    }
-
-	public MachineFile getExistsFile(String name, String dirType, String machineCode) {
-		return this.lambdaQuery().eq(MachineFile::getName, name)
-			.eq(MachineFile::getDirType, dirType)
-			.eq(MachineFile::getMachineCode, machineCode).list().stream().findFirst().orElse(null);
-	}
-
-	/**
-	 * 鍥炰紶绋嬪簭澶勭悊 鍒嗛〉鏌ヨ
-	 * @param query
-	 * @return
-	 */
-	public IPage<MachineBackFileVO> handlePageQuery(MachineBackFileHandleQueryVO query) {
-		IPage<MachineBackFileVO> page = this.getBaseMapper().handlePageQuery(Condition.getPage(query),query);
-		return page;
-	}
-
-	/**
-	 * 鏈哄簥鏂囦欢鍒嗛〉鏌ヨ
-	 * @param query
-	 * @return
-	 */
-	public IPage<MachineFile> pageQuery(MachineFileQueryVO query) {
-		return baseMapper.pageQuery(Condition.getPage(query),query);
-	}
-
-	/**
-	 * 鑾峰彇淇敼璁板綍鍓嶅悗2涓枃浠跺唴瀹�
-	 * @param id
-	 * @return
-	 * @throws IOException
-	 */
-	public CompareDataVO queryHisContentForCompare(Long id) throws IOException {
-		CompareDataVO vo = new CompareDataVO();
-		MachineFileChangeHis his = machineFileChangeHisService.getById(id);
-		vo.setContent1(FileContentUtil.getContentFromStream(ossTemplate.statFileStream(his.getOssName())));
-		vo.setContent2(FileContentUtil.getContentFromStream(ossTemplate.statFileStream(his.getOssNameAfter())));
-
-		return vo;
-	}
-}
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/gkw/programnode/service/ProgramNodeService.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/gkw/programnode/service/ProgramNodeService.java
index 97acf15..f1c5a49 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/gkw/programnode/service/ProgramNodeService.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/gkw/programnode/service/ProgramNodeService.java
@@ -10,7 +10,7 @@
 import org.springblade.mdm.basesetting.machine.entity.Machine;
 import org.springblade.mdm.commons.contants.ParamConstants;
 import org.springblade.mdm.commons.service.ParamService;
-import org.springblade.mdm.gkw.programnode.entity.MachineFile;
+import org.springblade.mdm.machinefile.entity.MachineFile;
 import org.springblade.mdm.gkw.programnode.entity.ProgramNode;
 import org.springblade.mdm.gkw.programnode.entity.TreeDept;
 import org.springblade.mdm.gkw.programnode.mapper.ProgramNodeMapper;
@@ -55,20 +55,29 @@
 	 * 鐢熸垚宸ユ帶缃戞爲
 	 * @return 鏍戞牴鑺傜偣闆嗗悎
 	 */
-	public List<ProgramNodeVO> loadTree() {
-		Integer workshoptDictVal = Func.toInt(paramService.getParamValue(ParamConstants.WORKSHOP_DICT_KEY,DEFAULT_WORKSHOP_VALUE));
+	public List<ProgramNodeVO> loadTree(String includeSend) {
 
+		Integer workshoptDictVal = Func.toInt(paramService.getParamValue(ParamConstants.WORKSHOP_DICT_KEY,DEFAULT_WORKSHOP_VALUE));
+		Long rootDeptId = Func.toLong(paramService.rootDetpId());
+		TreeDept root =  treeDeptService.getById(rootDeptId);
 		List<ProgramNodeVO> roots = new ArrayList<>();
+		ProgramNodeVO rootVO = new ProgramNodeVO();
+		rootVO.setNodeType("factory");
+		rootVO.setName(root.getDeptName());
+		rootVO.setId(rootVO.getId());
+		roots.add(rootVO);
+
 		List<TreeDept> workshops = treeDeptService.lambdaQuery().eq(TreeDept::getDeptCategory,workshoptDictVal)
 			.orderByAsc(TreeDept::getSort).list();
 
+		List<ProgramNodeVO> workshopsVOList = new ArrayList<>();
 		for(TreeDept workshop : workshops) {
 			ProgramNodeVO node = new ProgramNodeVO();
 			node.setId(String.valueOf(workshop.getId()));
 			node.setName(workshop.getDeptName());
 			node.setNodeType("workshop");
-			roots.add(node);
-
+		//	roots.add(node);
+			workshopsVOList.add(node);
 			//鍔犲叆杞﹂棿涓嬬殑宸ユ
 			List<TreeDept> gongduanList = treeDeptService.lambdaQuery().eq(TreeDept::getParentId,workshop.getId())
 				.orderByAsc(TreeDept::getSort).list();
@@ -87,12 +96,14 @@
 					nodeMachine.setId(String.valueOf(machine.getId()));
 					nodeMachine.setMachineCode(machine.getCode());
 					nodeMachine.setNodeType("machine");
-					addFolderNodes(nodeMachine);
+					addFolderNodes(nodeMachine,includeSend);
 
 					nodeGd.addChildren(nodeMachine);
 				});
 			}
 		}
+
+		rootVO.setChildren(workshopsVOList);
 
 		return roots;
 	}
@@ -101,15 +112,20 @@
 	 * 鍔犲叆3涓枃浠跺す鑺傜偣
 	 * @param nodeMachine 鏈哄簥鑺傜偣
 	 */
-	void addFolderNodes(ProgramNodeVO nodeMachine){
+	void addFolderNodes(ProgramNodeVO nodeMachine,String includeSend){
 
-		ProgramNodeVO sendNode = new ProgramNodeVO();
-		sendNode.setId(nodeMachine.getId()+"_"+MachineFile.DIR_TYPE_SEND);
-		sendNode.setName("SEND");
-		sendNode.setMachineCode(nodeMachine.getMachineCode());
-		sendNode.setDirType(MachineFile.DIR_TYPE_SEND);
-		sendNode.setNodeType("dir");
-		//sendNode.setParentId(nodeMachine.getId());
+		List<ProgramNodeVO> dirNodes = new ArrayList<>();
+		if(!"0".equals(includeSend)){
+			ProgramNodeVO sendNode = new ProgramNodeVO();
+			sendNode.setId(nodeMachine.getId()+"_"+MachineFile.DIR_TYPE_SEND);
+			sendNode.setName("SEND");
+			sendNode.setMachineCode(nodeMachine.getMachineCode());
+			sendNode.setDirType(MachineFile.DIR_TYPE_SEND);
+			sendNode.setNodeType("dir");
+
+			dirNodes.add(sendNode);
+		}
+
 
 		ProgramNodeVO recNode = new ProgramNodeVO();
 		recNode.setId(nodeMachine.getId()+"_"+MachineFile.DIR_TYPE_REC);
@@ -117,6 +133,7 @@
 		recNode.setMachineCode(nodeMachine.getMachineCode());
 		recNode.setDirType(MachineFile.DIR_TYPE_REC);
 		recNode.setNodeType("dir");
+		dirNodes.add(recNode);
 
 		ProgramNodeVO tempNode = new ProgramNodeVO();
 		tempNode.setId(nodeMachine.getId()+"_"+MachineFile.DIR_TYPE_TEMP);
@@ -124,7 +141,9 @@
 		tempNode.setMachineCode(nodeMachine.getMachineCode());
 		tempNode.setDirType(MachineFile.DIR_TYPE_TEMP);
 		tempNode.setNodeType("dir");
-		nodeMachine.setChildren(Arrays.asList(sendNode,recNode,tempNode));
+		dirNodes.add(tempNode);
+
+		nodeMachine.setChildren(dirNodes);
 	}
 
 	/**
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/gkw/programnode/vo/MachineFileChangeHisQueryVO.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/gkw/programnode/vo/MachineFileChangeHisQueryVO.java
deleted file mode 100644
index 055e660..0000000
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/gkw/programnode/vo/MachineFileChangeHisQueryVO.java
+++ /dev/null
@@ -1,26 +0,0 @@
-package org.springblade.mdm.gkw.programnode.vo;
-
-import io.swagger.v3.oas.annotations.media.Schema;
-import lombok.Getter;
-import lombok.Setter;
-import org.springblade.core.mp.support.Query;
-
-import java.util.Date;
-
-/**
- * 鍒嗛〉鎷嗙嚎鍛�
- */
-
-@Schema(description = "鏂囦欢淇敼鍘嗗彶鏌ヨ瀵硅薄")
-@Setter
-@Getter
-public class MachineFileChangeHisQueryVO extends Query {
-	@Schema(description = "濮撳悕")
-	private String name;
-	@Schema(description = "鏂囦欢id")
-	private Long machineFileId;
-	@Schema(description = "鏃堕棿寮�濮�")
-	private Date createTimeBegin;
-	@Schema(description = "鏃堕棿鎴")
-	private Date createTimeEnd;
-}
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machineback/controller/DirectoryWatcherController.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machineback/controller/DirectoryWatcherController.java
deleted file mode 100644
index 385da92..0000000
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machineback/controller/DirectoryWatcherController.java
+++ /dev/null
@@ -1,78 +0,0 @@
-package org.springblade.mdm.machineback.controller;
-import org.springblade.mdm.machineback.filewatch.DynamicDirectoryWatcher;
-import org.springblade.mdm.machineback.filewatch.FileLockChecker;
-import org.springblade.mdm.machineback.filewatch.FileWatcherService;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.*;
-
-import java.io.IOException;
-import java.nio.file.Path;
-import java.nio.file.Paths;
-
-@RestController
-@RequestMapping("/machineback/file")
-public class DirectoryWatcherController {
-	private final DynamicDirectoryWatcher directoryWatcher;
-
-	@Autowired
-	public DirectoryWatcherController(DynamicDirectoryWatcher directoryWatcher) {
-		this.directoryWatcher = directoryWatcher;
-	}
-
-	@PostMapping("/watch")
-	public String watchDirectory(@RequestParam String directoryPath) {
-		try {
-			Path path = Paths.get(directoryPath);
-			directoryWatcher.addDirectory(path, new SimpleFileChangeListener());
-			return "Started watching directory: " + directoryPath;
-		} catch (Exception e) {
-			return "Error: " + e.getMessage();
-		}
-	}
-
-	@PostMapping("/unwatch")
-	public String unwatchDirectory(@RequestParam String directoryPath) {
-		try {
-			Path path = Paths.get(directoryPath);
-			directoryWatcher.removeDirectory(path);
-			return "Stopped watching directory: " + directoryPath;
-		} catch (Exception e) {
-			return "Error: " + e.getMessage();
-		}
-	}
-	@PostMapping("/canlock")
-	public String canlock(@RequestParam String filePath) {
-		try {
-			Path path = Paths.get(filePath);
-			boolean comp = FileLockChecker.isFileCompletelyWritten(path);
-
-			return filePath+ " lock: " + comp;
-		} catch (Exception e) {
-			return "Error: " + e.getMessage();
-		}
-	}
-	private static class SimpleFileChangeListener implements FileWatcherService.FileChangeListener {
-		@Override
-		public void onFileCreated(Path filePath) {
-			System.out.println("File created: " + filePath);
-		}
-
-		@Override
-		public void onFileModified(Path filePath) {
-			System.out.println("File modified: " + filePath);
-			//boolean comp = FileLockChecker.isFileCompletelyWritten(filePath);
-			boolean comp = false;
-			try {
-				comp = FileLockChecker.isFileComplete(filePath);
-			} catch (Exception e) {
-				throw new RuntimeException(e);
-			}
-			System.out.println("File FINISHED: " + comp);
-		}
-
-		@Override
-		public void onFileDeleted(Path filePath) {
-			System.out.println("File deleted: " + filePath);
-		}
-	}
-}
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
deleted file mode 100644
index 8524996..0000000
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machineback/controller/MachineBackFileHandleController.java
+++ /dev/null
@@ -1,92 +0,0 @@
-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.Parameter;
-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.excel.util.ExcelUtil;
-import org.springblade.core.log.exception.ServiceException;
-import org.springblade.core.secure.utils.AuthUtil;
-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.core.tool.utils.UrlUtil;
-import org.springblade.mdm.gkw.programnode.service.MachineFileService;
-import org.springblade.mdm.machineback.service.MachineBackFileService;
-import org.springblade.mdm.machineback.service.NcProgramExportInnerService;
-import org.springblade.mdm.machineback.vo.MachineBackFileHandleExcelVO;
-import org.springblade.mdm.machineback.vo.MachineBackFileHandleQueryVO;
-import org.springblade.mdm.machineback.vo.MachineBackFileVO;
-import org.springframework.web.bind.annotation.*;
-
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.List;
-
-@Slf4j
-@RestController
-@AllArgsConstructor
-@RequestMapping("/machineback/filehandle")
-@Tag(name = "鏈哄簥鍥炰紶绋嬪簭澶勭悊", description = "鏈哄簥鍥炰紶绋嬪簭澶勭悊")
-public class MachineBackFileHandleController {
-
-	private final MachineBackFileService service;
-	private final MachineFileService machineFileService;
-	private final NcProgramExportInnerService ncProgramExportInnerService;
-	/**
-	 * 鍒嗛〉
-	 */
-	@Operation(summary = "鍒嗛〉鏌ヨ", description = "鍚嶇О鎴栫紪鐮�,宸叉帴鍙楃殑鏂囦欢鍒楄〃")
-	@GetMapping("/page")
-	public R<IPage<MachineBackFileVO>> page(MachineBackFileHandleQueryVO query) {
-		IPage<MachineBackFileVO> pages = machineFileService.handlePageQuery(query);
-		return R.data(pages);
-	}
-
-	@GetMapping("export-to-inner")
-	@ApiOperationSupport(order = 13)
-	@Operation(summary = "瀵煎嚭鍒版秹瀵嗙綉", description = "瀵煎嚭鍒版秹瀵嗙綉")
-	public void exportToInner(@Parameter(description = "瀹℃壒琛╥d鏁扮粍") String ids, HttpServletResponse response) {
-
-		if(Func.isBlank(ids)) {
-			throw new ServiceException("鏈�夋嫨鏂囦欢瀵煎嚭");
-		}
-		try {
-			String prefix = UrlUtil.encode(AuthUtil.getNickName()+"-宸ユ帶缃戝鍑�");
-			//String filename =AuthUtil.getNickName()+"-"+ DateUtil.format(DateUtil.now(), "yyyyMMddHHmm")+".zip";
-			String filename = prefix+"-"+ DateUtil.format(DateUtil.now(), "yyyyMMddHHmm")+".zip";
-
-			response.setHeader("Content-Disposition", "attachment; filename="+filename);
-			response.setContentType("application/octet-stream");
-			ncProgramExportInnerService.exportToInner(Func.toLongList(ids),response.getOutputStream());
-		} catch (IOException e) {
-			log.error("宸ユ帶缃戝鍑哄洖浼犳枃浠跺紓甯�", e);
-			throw new RuntimeException(e);
-		}
-
-	}
-
-	@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);
-		IPage<MachineBackFileVO> pages = machineFileService.handlePageQuery(query);
-		List<MachineBackFileHandleExcelVO> list = new ArrayList<>();
-		pages.getRecords().forEach(vo ->{
-			MachineBackFileHandleExcelVO excelVO = new MachineBackFileHandleExcelVO();
-			BeanUtil.copyProperties(vo, excelVO);
-			excelVO.setCuredStatus(vo.getIsCured()==0?"鍥哄寲":"鏈浐鍖�");
-
-			list.add(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
deleted file mode 100644
index 3fe7738..0000000
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machineback/controller/MachineBackProgramStatController.java
+++ /dev/null
@@ -1,35 +0,0 @@
-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
deleted file mode 100644
index b880628..0000000
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machineback/entity/MachineBackFile.java
+++ /dev/null
@@ -1,29 +0,0 @@
-package org.springblade.mdm.machineback.entity;
-
-import com.baomidou.mybatisplus.annotation.TableName;
-import lombok.Getter;
-import lombok.Setter;
-import org.springblade.core.mp.base.BizEntity;
-
-import java.util.Date;
-
-/**
- * 鏈哄簥鍥炰紶鏂囦欢
- */
-@Setter
-@Getter
-@TableName("mdm_machine_back_file")
-public class MachineBackFile extends BizEntity {
-	public static int STATUS_ACCEPTED = 2;
-	public static int STATUS_REJECTED = 3;
-
-	private Long ncProgramId;
-	/**
-	 * 纭鏃堕棿
-	 */
-	private Date confirmTime;
-	/**
-	 * 瀵硅薄瀛樺偍鏂囦欢鍚�
-	 */
-	private String ossName;
-}
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machineback/filewatch/DirectorLockService.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machineback/filewatch/DirectorLockService.java
deleted file mode 100644
index 3731531..0000000
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machineback/filewatch/DirectorLockService.java
+++ /dev/null
@@ -1,40 +0,0 @@
-package org.springblade.mdm.machineback.filewatch;
-
-import lombok.AllArgsConstructor;
-import lombok.extern.slf4j.Slf4j;
-import org.springframework.jdbc.core.JdbcTemplate;
-import org.springframework.stereotype.Service;
-
-import java.io.File;
-import java.lang.management.ManagementFactory;
-
-
-@Slf4j
-@AllArgsConstructor
-@Service
-public class DirectorLockService {
-	private final JdbcTemplate jdbcTemplate;
-
-	public boolean acquireLock() {
-		int affect = 0;
-		try {
-			affect = jdbcTemplate.update(
-				"INSERT INTO mdm_file_locks (lock_id,locked_by, lock_time) " +
-					"VALUES (1,?, CURRENT_TIMESTAMP)",getInstanceId());
-		} catch (Exception e) {
-			log.info("鏂囦欢閿佸畾澶辫触锛屼笉杩涜鐩綍鐩戞帶",e);
-		}
-		return affect > 0;
-	}
-
-	public void releaseLock() {
-		jdbcTemplate.update(
-			"DELETE FROM mdm_file_locks");
-	}
-
-	private String getInstanceId() {
-		// 杩斿洖褰撳墠瀹炰緥鐨勫敮涓�鏍囪瘑
-		return ManagementFactory.getRuntimeMXBean().getName();
-	}
-
-}
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machineback/filewatch/DynamicDirectoryWatcher.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machineback/filewatch/DynamicDirectoryWatcher.java
deleted file mode 100644
index 82ca83d..0000000
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machineback/filewatch/DynamicDirectoryWatcher.java
+++ /dev/null
@@ -1,29 +0,0 @@
-package org.springblade.mdm.machineback.filewatch;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-
-import java.nio.file.Path;
-import java.util.Set;
-
-@Service
-public class DynamicDirectoryWatcher {
-	private final FileWatcherService fileWatcherService;
-
-	@Autowired
-	public DynamicDirectoryWatcher(FileWatcherService fileWatcherService) {
-		this.fileWatcherService = fileWatcherService;
-	}
-
-	public void addDirectory(Path directory, FileWatcherService.FileChangeListener listener) throws Exception {
-		fileWatcherService.watchDirectory(directory, listener);
-	}
-
-	public void removeDirectory(Path directory) throws Exception {
-		fileWatcherService.stopWatching(directory);
-	}
-
-	public Set<Path> getWatchedDirectories() {
-		return null;
-		//return fileWatcherService.getWatchedDirectories();
-	}
-}
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machineback/filewatch/FileLockChecker.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machineback/filewatch/FileLockChecker.java
deleted file mode 100644
index 3fbf736..0000000
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machineback/filewatch/FileLockChecker.java
+++ /dev/null
@@ -1,43 +0,0 @@
-package org.springblade.mdm.machineback.filewatch;
-import java.io.*;
-import java.nio.channels.FileChannel;
-import java.nio.channels.FileLock;
-import java.nio.file.Files;
-import java.nio.file.Path;
-/*
-鐩戞帶鏂囦欢鏄惁浼犺緭瀹屾垚锛堜娇鐢ㄥ彲鍚﹂攣瀹氭潵鍒ゆ柇锛�
- */
-
-public class FileLockChecker {
-	public static boolean isFileCompletelyWritten(Path file) {
-		try (RandomAccessFile raf = new RandomAccessFile(file.toFile(), "rw");
-			 FileChannel channel = raf.getChannel()) {
-
-			// 灏濊瘯鑾峰彇鐙崰閿�
-			FileLock lock = channel.tryLock();
-			if (lock != null) {
-				lock.release();
-				// 濡傛灉鑳借幏鍙栭攣锛岃鏄庢枃浠朵笉鍐嶈鍐欏叆
-				return true;
-			}
-			return false;
-		} catch (Exception e) {
-			// 濡傛灉鍙戠敓寮傚父锛屽彲鑳芥枃浠朵粛鍦ㄨ鍐欏叆
-			return false;
-		}
-	}
-
-	/**
-	 * 鏂囦欢鏄惁浼犺緭瀹屾垚锛堥噰鐢ㄥ墠鍚庢枃浠跺ぇ灏忔瘮瀵规柟娉曪級
-	 * @param file
-	 * @return
-	 * @throws IOException
-	 * @throws InterruptedException
-	 */
-	public static boolean isFileComplete(Path file) throws IOException, InterruptedException {
-		long initialSize = Files.size(file);
-		Thread.sleep(3000); // 绛夊緟1绉�
-		long currentSize = Files.size(file);
-		return initialSize == currentSize;
-	}
-}
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machineback/filewatch/FileWatcherService.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machineback/filewatch/FileWatcherService.java
deleted file mode 100644
index 1112168..0000000
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machineback/filewatch/FileWatcherService.java
+++ /dev/null
@@ -1,97 +0,0 @@
-package org.springblade.mdm.machineback.filewatch;
-
-import org.springframework.stereotype.Service;
-
-import java.io.IOException;
-import java.nio.file.*;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.concurrent.ExecutorService;
-import java.util.concurrent.Executors;
-
-import static java.nio.file.StandardWatchEventKinds.*;
-@Service
-public class FileWatcherService {
-
-	private final ExecutorService executor = Executors.newCachedThreadPool();
-	private final Map<Path, WatchService> watchServices = new HashMap<>();
-	private final Map<Path, FileChangeListener> listeners = new HashMap<>();
-
-	public interface FileChangeListener {
-		void onFileCreated(Path filePath);
-		void onFileModified(Path filePath);
-		void onFileDeleted(Path filePath);
-	}
-
-	public void watchDirectory(Path directory, FileChangeListener listener) throws IOException {
-		if (!Files.isDirectory(directory)) {
-			throw new IllegalArgumentException("Path must be a directory: " + directory);
-		}
-
-		if (watchServices.containsKey(directory)) {
-			throw new IllegalStateException("Directory is already being watched: " + directory);
-		}
-
-		WatchService watchService = FileSystems.getDefault().newWatchService();
-		directory.register(watchService, ENTRY_CREATE, ENTRY_MODIFY, ENTRY_DELETE);
-
-		watchServices.put(directory, watchService);
-		listeners.put(directory, listener);
-
-		executor.submit(() -> {
-			try {
-				while (true) {
-					WatchKey key = watchService.take();
-					for (WatchEvent<?> event : key.pollEvents()) {
-						WatchEvent.Kind<?> kind = event.kind();
-
-						@SuppressWarnings("unchecked")
-						WatchEvent<Path> ev = (WatchEvent<Path>) event;
-						Path fileName = ev.context();
-						Path fullPath = directory.resolve(fileName);
-
-						FileChangeListener currentListener = listeners.get(directory);
-						if (currentListener == null) break;
-
-						if (kind == ENTRY_CREATE) {
-							currentListener.onFileCreated(fullPath);
-						} else if (kind == ENTRY_MODIFY) {
-							currentListener.onFileModified(fullPath);
-						} else if (kind == ENTRY_DELETE) {
-							currentListener.onFileDeleted(fullPath);
-						}
-					}
-					boolean valid = key.reset();
-					if (!valid) {
-						break;
-					}
-				}
-			} catch (InterruptedException e) {
-				Thread.currentThread().interrupt();
-			} catch (ClosedWatchServiceException e) {
-				// Service was closed, exit normally
-			}
-		});
-	}
-
-	public void stopWatching(Path directory) throws IOException {
-		WatchService watchService = watchServices.remove(directory);
-		listeners.remove(directory);
-		if (watchService != null) {
-			watchService.close();
-		}
-	}
-
-	public void shutdown() {
-		executor.shutdownNow();
-		watchServices.values().forEach(watchService -> {
-			try {
-				watchService.close();
-			} catch (IOException e) {
-				// Ignore on shutdown
-			}
-		});
-		watchServices.clear();
-		listeners.clear();
-	}
-}
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machineback/filewatch/MachineFileBackListener.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machineback/filewatch/MachineFileBackListener.java
deleted file mode 100644
index 2b0af03..0000000
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machineback/filewatch/MachineFileBackListener.java
+++ /dev/null
@@ -1,73 +0,0 @@
-package org.springblade.mdm.machineback.filewatch;
-
-import lombok.AllArgsConstructor;
-import lombok.extern.slf4j.Slf4j;
-import org.springblade.core.oss.OssTemplate;
-import org.springblade.core.oss.model.BladeFile;
-import org.springblade.mdm.machineback.entity.MachineBackFile;
-import org.springblade.mdm.machineback.service.MachineBackFileService;
-import org.springblade.mdm.program.entity.NcProgram;
-import org.springblade.mdm.program.service.NcProgramService;
-
-import java.io.FileInputStream;
-import java.io.IOException;
-import java.nio.file.Path;
-
-@Slf4j
-public class MachineFileBackListener  implements FileWatcherService.FileChangeListener{
-	private final MachineBackFileService machineBackFileService;
-	private final NcProgramService ncProgramService;
-	private final OssTemplate ossTemplate;
-	public MachineFileBackListener(MachineBackFileService backService, NcProgramService aNcProgramService,OssTemplate aOssTemplate) {
-		this.machineBackFileService = backService;
-		this.ncProgramService = aNcProgramService;
-		this.ossTemplate = aOssTemplate;
-	}
-	@Override
-	public void onFileCreated(Path filePath) {
-		log.info("鏂囦欢鍒涘缓{}",filePath);
-	}
-
-
-	@Override
-	public void onFileModified(Path filePath) {
-		//鏂囦欢淇敼
-		try {
-			if(FileLockChecker.isFileComplete(filePath)){
-				log.info("鏂囦欢浼犺緭瀹屾垚{}",filePath);
-				MachineBackFile backFile = new MachineBackFile();
-
-				String programName = filePath.getFileName().toFile().getName();
-				NcProgram prog = ncProgramService.getByName(programName);
-				if(prog == null){
-					log.warn("鏇存柊鐨勬枃浠舵棤娉曞尮閰嶅埌鏁版帶绋嬪簭,{}",filePath);
-					return;
-				}
-				backFile.setNcProgramId(prog.getId());
-
-				//鏇存柊绋嬪簭鐨勬枃浠跺湴鍧�
-				try(FileInputStream fins = new FileInputStream(filePath.toFile());){
-					BladeFile bfile = ossTemplate.putFile(programName, fins);
-					backFile.setOssName(bfile.getName());
-				}
-
-
-				machineBackFileService.save(backFile);
-			}else{
-				log.warn("鏂囦欢浼犺緭涓紝鍚庣画鍐嶆搷浣渰}",filePath);
-			}
-		} catch (IOException e) {
-			log.error("鍥炰紶鏂囦欢鎿嶄綔IO閿欒",e);
-			throw new RuntimeException(e);
-		} catch (InterruptedException e) {
-			log.error("sleep鍑洪敊",e);
-		} catch (Exception e) {
-			log.error("鏈哄簥鍥炰紶鏂囦欢澶勭悊寮傚父",e);
-		}
-	}
-
-	@Override
-	public void onFileDeleted(Path filePath) {
-		log.info("鏂囦欢鍒犻櫎{}",filePath);
-	}
-}
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
deleted file mode 100644
index ae99f20..0000000
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machineback/mapper/MachineBackFileMapper.java
+++ /dev/null
@@ -1,25 +0,0 @@
-package org.springblade.mdm.machineback.mapper;
-
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.core.toolkit.Constants;
-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);
-
-	/**
-	 * 鏈哄簥鍥炰紶鏂囦欢鍒嗛〉鏌ヨ
-	 * @param page
-	 * @param query
-	 * @return
-	 */
-	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
deleted file mode 100644
index bd57d44..0000000
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machineback/mapper/MachineBackFileMapper.xml
+++ /dev/null
@@ -1,51 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="org.springblade.mdm.machineback.mapper.MachineBackFileMapper">
-
-    <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 -->
-    <resultMap id="BaseResultMap" type="org.springblade.mdm.machineback.entity.MachineBackFile">
-        <id column="id" property="id"/>
-        <result column="name" property="name"/>
-        <result column="status" property="status"/>
-        <result column="create_time" property="createTime"/>
-        <result column="update_time" property="updateTime"/>
-        <result column="is_deleted" property="isDeleted"/>
-    </resultMap>
-    <!--
-    <select id="pageQuery" resultType="org.springblade.mdm.machineback.vo.MachineBackFileVO">
-        select f.id,concat('xxx',f.id) name,1 as is_cured,f.create_time,'a' machine_code, f.create_time arrived_time
-        from mdm_machine_back_file f
-       <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},'%')
-
-            )
-        </if>
-      </where>
-    </select>
--->
-    <!--鏈哄簥鍥炰紶绋嬪簭澶勭悊鍒嗛〉-->
-    <select id="handlePageQuery" resultType="org.springblade.mdm.machineback.vo.MachineBackFileVO">
-        select f.id,p.name name,p.code,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
-        left join mdm_nc_program p on f.nc_program_id=p.id
-        left join mdm_machine m on p.machine_code=m.code
-        <where>
-        f.status=2 and f.is_deleted=0
-
-        <if test="query.confirmTimeBegin!=null">
-            and m.confirm_time$gt;=#{query.confirmTimeBegin}
-        </if>
-        <if test="query.confirmTimeEnd!=null">
-            and m.confirm_time$lt;#{query.confirmTimeEnd}
-        </if>
-        </where>
-    </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
deleted file mode 100644
index c26cc30..0000000
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machineback/service/MachineBackFileService.java
+++ /dev/null
@@ -1,98 +0,0 @@
-package org.springblade.mdm.machineback.service;
-
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import jakarta.servlet.ServletOutputStream;
-import lombok.AllArgsConstructor;
-import org.springblade.core.mp.base.BizServiceImpl;
-import org.springblade.core.mp.support.Condition;
-import org.springblade.core.oss.OssTemplate;
-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.gkw.programnode.entity.MachineFile;
-import org.springblade.mdm.gkw.programnode.service.MachineFileService;
-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.program.service.NcProgramService;
-import org.springframework.stereotype.Service;
-import java.util.List;
-
-@AllArgsConstructor
-@Service
-public class MachineBackFileService extends BizServiceImpl<MachineBackFileMapper, MachineBackFile> {
-	private final MachineFileService macineFileService;
-	private final OssTemplate ossTemplate;
-	/**
-	 * 鎺ュ彈
-	 * @param ids
-	 */
-	public void accept(String ids) {
-
-		List<Long> idList = Func.toLongList(ids);
-		MachineFile mf;
-		for(Long id : idList){
-			mf = macineFileService.getById(id);
-			mf.accept();
-			macineFileService.updateById(mf);
-			/*
-			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);
-
-		MachineFile mf;
-		for(Long id : idList){
-			mf = macineFileService.getById(id);
-			mf.reject();
-			macineFileService.updateById(mf);
-		}
-		/*
-		for(Long id : idList){
-			MachineBackFile backFile = this.getById(id);
-			backFile.setStatus(MachineBackFile.STATUS_REJECTED);
-			backFile.setConfirmTime(DateUtil.now());
-			this.updateById(backFile);
-		}*/
-
-	}
-
-	/**
-	 * 鏌ヨ鍒嗛〉
-	 * @param query 鏌ヨ鍙傛暟
-	 * @return 鍒嗛〉鏁版嵁
-	 */
-	/*
-	public IPage<MachineBackFileVO> pageQuery(MachineBackFileQueryVO query) {
-		IPage<MachineBackFileVO> page = this.getBaseMapper().pageQuery(Condition.getPage(query),query);
-		return page;
-	}*/
-
-	/**
-	 * 鏈哄簥鍥炰紶绋嬪簭澶勭悊鍒嗛〉鏌ヨ
-	 * @param query 鏌ヨ鍙傛暟瀵硅薄
-	 * @return 鍒嗛〉鏁版嵁
-	 */
-	/*
-	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
deleted file mode 100644
index 82b7ec4..0000000
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machineback/service/MachineBackProgramStatService.java
+++ /dev/null
@@ -1,36 +0,0 @@
-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/service/NcProgramExportInnerService.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machineback/service/NcProgramExportInnerService.java
deleted file mode 100644
index 91036cd..0000000
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machineback/service/NcProgramExportInnerService.java
+++ /dev/null
@@ -1,112 +0,0 @@
-
-package org.springblade.mdm.machineback.service;
-
-import com.alibaba.fastjson.JSONArray;
-import com.alibaba.fastjson.JSONObject;
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import jakarta.servlet.ServletOutputStream;
-import lombok.AllArgsConstructor;
-import lombok.extern.slf4j.Slf4j;
-import org.apache.commons.lang3.StringUtils;
-import org.springblade.core.mp.base.BizEntity;
-import org.springblade.core.mp.base.BizServiceImpl;
-import org.springblade.core.mp.support.Condition;
-import org.springblade.core.mp.support.Query;
-import org.springblade.core.oss.OssTemplate;
-import org.springblade.core.tool.utils.Func;
-import org.springblade.mdm.flow.entity.ApproveRecord;
-import org.springblade.mdm.flow.service.ApproveRecordService;
-import org.springblade.mdm.gkw.programnode.entity.MachineFile;
-import org.springblade.mdm.gkw.programnode.service.MachineFileService;
-import org.springblade.mdm.machineback.entity.MachineBackFile;
-import org.springblade.mdm.program.entity.NcNode;
-import org.springblade.mdm.program.entity.NcProgram;
-import org.springblade.mdm.program.entity.NcProgramApproved;
-import org.springblade.mdm.program.entity.NcProgramExchange;
-import org.springblade.mdm.program.mapper.NcProgramExchangeMapper;
-import org.springblade.mdm.program.service.NcNodeService;
-import org.springblade.mdm.program.service.NcProgramApprovedService;
-import org.springblade.mdm.program.service.NcProgramService;
-import org.springblade.mdm.program.vo.DncSendBackData;
-import org.springblade.mdm.utils.ProgramFileNameParser;
-import org.springframework.stereotype.Service;
-
-import java.io.ByteArrayInputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-import java.nio.charset.StandardCharsets;
-import java.util.*;
-import java.util.stream.Collectors;
-import java.util.zip.ZipEntry;
-import java.util.zip.ZipOutputStream;
-
-/**
- * 涓嬪彂/鍥炰紶绋嬪簭缁熻
- *
- * @author yangys
- */
-@Slf4j
-@Service
-@AllArgsConstructor
-public class NcProgramExportInnerService extends BizServiceImpl<NcProgramExchangeMapper, NcProgramExchange> {
-	private final MachineBackFileService machineBackFileService;
-	private final NcProgramService progService;
-	private final MachineFileService machineFileService;
-	private final NcNodeService ncNodeService;
-	private final OssTemplate ossTemplate;
-
-	public static final String PROGRAM_JSON_FILE = "exp_mdm_nc_program.json";
-	public static final String NODE_JSON_FILE = "exp_mdm_nc_node.json";
-	public static final String APPROVE_RECORD_JSON_FILE = "exp_mdm_approve_record.json";
-
-
-	/**
-	 * 瀵煎嚭鍒版秹瀵嗙綉
-	 * @param machineFileIds
-	 * @param os
-	 * @throws IOException
-	 */
-	public void exportToInner(List<Long> machineFileIds, ServletOutputStream os) throws IOException {
-		//FileOutputStream fos = new FileOutputStream("d:/exportDnc.zip");
-		try (ZipOutputStream zipOut = new ZipOutputStream(os);) {//os
-
-			List<MachineFile>  machineFiles = machineFileService.lambdaQuery().in(MachineFile::getId,machineFileIds).list();
-			Map<String,List<MachineFile>> map =  machineFiles.stream()
-				.collect(Collectors.groupingBy(s -> ProgramFileNameParser.parseProgramName(s.getName()).logicProgramName()));
-
-			for (Map.Entry<String, List<MachineFile>> entry : map.entrySet()) {
-				String programName = entry.getKey();
-				List<MachineFile> progMachineFiles = entry.getValue();
-				for (MachineFile mf : progMachineFiles) {
-					try(InputStream ins = machineFileService.getInputStream(mf)) {
-						addInputStreamToZip(zipOut,ins , programName + "/" + mf.getName());
-					}
-				}
-
-			}
-		}
-
-		os.close();
-	}
-
-
-	public void addInputStreamToZip(ZipOutputStream zipOut, InputStream inputStream, String entryName)
-		throws IOException {
-		// 鍒涘缓鏂扮殑 ZIP 鏉$洰
-		ZipEntry zipEntry = new ZipEntry(entryName);
-		zipOut.putNextEntry(zipEntry);
-
-		// 灏嗚緭鍏ユ祦鍐欏叆 ZIP 杈撳嚭娴�
-		byte[] buffer = new byte[1024];
-		int length;
-		while ((length = inputStream.read(buffer)) >= 0) {
-			zipOut.write(buffer, 0, length);
-		}
-
-		// 鍏抽棴褰撳墠鏉$洰
-		zipOut.closeEntry();
-	}
-}
-
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machineback/vo/MachineBackFileExcelVO.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machineback/vo/MachineBackFileExcelVO.java
deleted file mode 100644
index 22ee525..0000000
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machineback/vo/MachineBackFileExcelVO.java
+++ /dev/null
@@ -1,33 +0,0 @@
-package org.springblade.mdm.machineback.vo;
-
-import com.alibaba.excel.annotation.ExcelProperty;
-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 io.swagger.v3.oas.annotations.media.Schema;
-import lombok.Data;
-import lombok.Getter;
-import lombok.Setter;
-import org.springblade.mdm.commons.vo.BaseVO;
-
-import java.util.Date;
-@Data
-@ColumnWidth(25)
-@HeadRowHeight(20)
-@ContentRowHeight(18)
-@Setter
-@Getter
-public class MachineBackFileExcelVO extends BaseVO {
-
-	@ExcelProperty("鏂囦欢鍚嶇О")
-	private String name;
-	@ExcelProperty("鍥炰紶鏈哄簥")
-	private String machineCode;
-	@ExcelProperty("绋嬪簭鍚嶇О")
-	private String programName;
-
-	@ExcelProperty("鍥哄寲鐘舵��")
-	private String cureStatus;
-	@ExcelProperty("鏂囦欢鍒拌揪鏃堕棿")
-	private Date arrivedTime;
-}
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
deleted file mode 100644
index 7754264..0000000
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machineback/vo/MachineBackFileHandleExcelVO.java
+++ /dev/null
@@ -1,36 +0,0 @@
-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 code;
-	@ExcelProperty("鏂囦欢鍚嶇О")
-	private String name;
-
-	@ColumnWidth(20)
-	@ExcelProperty("鍥炰紶鏈哄簥")
-	private String machineCode;
-	@ExcelProperty("鍥哄寲鐘舵��")
-	private String curedStatus;
-
-	@DateTimeFormat("yyyy-MM-dd HH:mm:ss")
-	@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
deleted file mode 100644
index 6986b39..0000000
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machineback/vo/MachineBackFileHandleQueryVO.java
+++ /dev/null
@@ -1,25 +0,0 @@
-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;
-import org.springframework.format.annotation.DateTimeFormat;
-/**
- * 鍒嗛〉鎷嗙嚎鍛�
- */
-
-@Schema(description = "鏈哄簥鍥炰紶鏂囦欢澶勭悊鏌ヨ瀵硅薄")
-@Setter
-@Getter
-public class MachineBackFileHandleQueryVO extends Query {
-	@Schema(description = "纭鏃堕棿-寮�濮�")
-	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-	private LocalDateTime confirmTimeBegin;
-	@Schema(description = "纭鏃堕棿-鎴")
-	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-	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
deleted file mode 100644
index cb1f504..0000000
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machineback/vo/MachineBackFileQueryVO.java
+++ /dev/null
@@ -1,32 +0,0 @@
-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.util.List;
-
-/**
- * 鍒嗛〉鎷嗙嚎鍛�
- */
-
-@Schema(description = "鏈哄簥鍥炰紶鏂囦欢鏌ヨ瀵硅薄")
-@Setter
-@Getter
-public class MachineBackFileQueryVO extends Query {
-	@Schema(description = "鍏抽敭瀛�")
-	private String keyword;
-	@Schema(description = "瑙勬牸")
-	private String machineSpec;
-	@Schema(description = "鑺傜偣绫诲瀷")
-	private String nodeType;
-	@Schema(description = "鑺傜偣id")
-	private Long nodeId;
-	@Schema(description = "鐩綍绫诲瀷")
-	private String dirType;
-
-	@Schema(description = "鐩綍绫诲瀷")
-	private String machineCode;
-	private List<Long> deptIds;
-}
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
deleted file mode 100644
index 4be3770..0000000
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machineback/vo/MachineBackFileVO.java
+++ /dev/null
@@ -1,26 +0,0 @@
-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 {
-	@Schema(description = "鏂囦欢鍚嶇О")
-	private String name;
-	@Schema(description = "鏈哄簥缂栧彿/鍥炰紶鏈哄簥")
-	private String machineCode;
-	@Schema(description = "绋嬪簭缂栧彿")
-	private String code;
-	@Schema(description = "鍥哄寲鐘舵��")
-	private Integer isCured=0;
-	@Schema(description = "鏂囦欢鍒拌揪鏃堕棿")
-	private Date arrivedTime;
-	@Schema(description = "纭鏃堕棿")
-	private Date determineTime;
-}
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
deleted file mode 100644
index 7a3672b..0000000
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machineback/vo/MachineBackProgramQueryVO.java
+++ /dev/null
@@ -1,27 +0,0 @@
-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/machineback/controller/MachineBackFileController.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machinefile/controller/MachineCollectFileController.java
similarity index 67%
rename from blade-service/blade-mdm/src/main/java/org/springblade/mdm/machineback/controller/MachineBackFileController.java
rename to blade-service/blade-mdm/src/main/java/org/springblade/mdm/machinefile/controller/MachineCollectFileController.java
index f75af94..e6accdd 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/machinefile/controller/MachineCollectFileController.java
@@ -1,40 +1,32 @@
-package org.springblade.mdm.machineback.controller;
+package org.springblade.mdm.machinefile.controller;
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
 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.DateUtil;
-import org.springblade.core.tool.utils.Func;
 import org.springblade.mdm.basesetting.machine.MachineService;
 import org.springblade.mdm.basesetting.machine.entity.Machine;
 import org.springblade.mdm.basesetting.producedivision.entity.MdmDept;
 import org.springblade.mdm.basesetting.producedivision.service.MdmDeptService;
-import org.springblade.mdm.gkw.programnode.service.MachineFileService;
-import org.springblade.mdm.machineback.service.MachineBackFileService;
-import org.springblade.mdm.machineback.vo.MachineBackFileExcelVO;
-import org.springblade.mdm.machineback.vo.MachineBackFileQueryVO;
-import org.springblade.mdm.machineback.vo.MachineBackFileVO;
-import org.springblade.system.pojo.entity.Dept;
-import org.springframework.beans.BeanUtils;
+import org.springblade.mdm.machinefile.entity.MachineFile;
+import org.springblade.mdm.machinefile.service.MachineAcceptedFileService;
+import org.springblade.mdm.machinefile.service.MachineFileService;
+import org.springblade.mdm.machinefile.vo.MachineBackFileQueryVO;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
 import java.util.ArrayList;
 import java.util.List;
-import java.util.stream.Collectors;
 
 @Slf4j
 @RestController
-@RequestMapping("/machineback/file")
+@RequestMapping("/machinefile/collect")
 @Tag(name = "鏈哄簥鍥炰紶鏂囦欢", description = "鏈哄簥鍥炰紶鏂囦欢")
-public class MachineBackFileController {
+public class MachineCollectFileController {
 
 	@Autowired
-	private MachineBackFileService service;
+	private MachineAcceptedFileService service;
 	@Autowired
 	private MachineFileService machineFileService;
 	@Autowired
@@ -45,17 +37,34 @@
 	 * 鎺ユ敹
 	 */
 	@Operation(summary = "鎺ユ敹", description = "鎺ユ敹鏂囦欢")
-	@PostMapping("/accept")
+	@PostMapping("/temp-accept")
 	public R<Void> accept(@RequestParam String ids) {
-		service.accept(ids);
-		return R.success();
+		try {
+			service.accept(ids);
+			return R.success();
+		}catch(Exception e) {
+			log.error("鎺ュ彈鏂囦欢寮傚父",e);
+			return R.fail(e.getMessage());
+		}
+	}
+
+	@Operation(summary = "鎵归噺鎺ユ敹", description = "鎺ユ敹鎵�鏈夋枃浠�")
+	@PostMapping("/temp-accept-all")
+	public R<Void> acceptAll() {
+		try {
+			service.acceptAll();
+			return R.success();
+		}catch(Exception e) {
+			log.error("鎺ュ彈鏂囦欢寮傚父",e);
+			return R.fail(e.getMessage());
+		}
 	}
 
 	/**
 	 *鎷掔粷锛屽氨鏄垹闄�
 	 */
 	@Operation(summary = "鎷掔粷", description = "鎷掔粷")
-	@PostMapping("/reject")
+	@PostMapping("/temp-reject")
 	public R<Void> reject(@RequestParam String ids) {
 		try {
 			service.reject(ids);
@@ -69,9 +78,9 @@
 	/**
 	 * 鍒嗛〉
 	 */
-	@Operation(summary = "鍒嗛〉鏌ヨ", description = "鍚嶇О鎴栫紪鐮�")
-	@GetMapping("/page")
-	public R<IPage<MachineBackFileVO>> page(MachineBackFileQueryVO query) {
+	@Operation(summary = "鏈哄簥鏂囦欢TEMP鐩綍鍒嗛〉鏌ヨ", description = "鍑荤┛鏂囦欢鍒嗛〉鏌ヨ锛屾煡璇㈢洰褰曚腑鐨勬枃浠讹紝杩樹笉绠楁椂鏈哄簥鍥炰紶鏂囦欢")
+	@GetMapping("/file-page-for-acceept")
+	public R<IPage<MachineFile>> filePageForAccept(MachineBackFileQueryVO query) {
 		List<Long> deptIds = new ArrayList<>();
 		if("workshop".equals(query.getNodeType()) || "seg".equals(query.getNodeType())) {
 			//鑺傜偣涓鸿溅闂淬�佸伐娈�
@@ -90,12 +99,13 @@
 		}else if("dir".equals(query.getNodeType())){
 			query.setMachineCode(query.getMachineCode());
 		}
-		IPage<MachineBackFileVO> pages = machineFileService.machineBackFilePageQuery(query);
+		IPage<MachineFile> pages = machineFileService.filePageForAccept(query);
 		return R.data(pages);
 	}
 	/**
 	 * 鍒嗛〉
 	 */
+	/*
 	@Operation(summary = "瀵煎嚭Excel", description = "瀵煎嚭Excel")
 	@GetMapping("/export-excel")
 	public void exportExcel(MachineBackFileQueryVO query, HttpServletResponse response) {
@@ -103,14 +113,13 @@
 		query.setSize(Integer.MAX_VALUE);
 
 		//IPage<MachineBackFileVO> pages = service.pageQuery(query);
-		IPage<MachineBackFileVO> pages = machineFileService.machineBackFilePageQuery(query);
+		IPage<MachineFile> pages = machineFileService.filePageForAccept(query);
 		List<MachineBackFileExcelVO> list = new ArrayList<>();
 		pages.getRecords().forEach(m ->{
 			MachineBackFileExcelVO excelVO = new MachineBackFileExcelVO();
 			BeanUtils.copyProperties(m, excelVO);
-			excelVO.setCureStatus(m.getIsCured()==1?"宸插浐鍖�":"鏈浐鍖�");
 			list.add(excelVO);
 		});
 		ExcelUtil.export(response, "鏈哄簥鍥炰紶鏂囦欢" + DateUtil.time(), "鏈哄簥鍥炰紶鏂囦欢琛�", list, MachineBackFileExcelVO.class);
-	}
+	}*/
 }
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/gkw/programnode/entity/MachineFile.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machinefile/entity/MachineFile.java
similarity index 76%
rename from blade-service/blade-mdm/src/main/java/org/springblade/mdm/gkw/programnode/entity/MachineFile.java
rename to blade-service/blade-mdm/src/main/java/org/springblade/mdm/machinefile/entity/MachineFile.java
index 9d75d89..894cd84 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/gkw/programnode/entity/MachineFile.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machinefile/entity/MachineFile.java
@@ -1,10 +1,9 @@
-package org.springblade.mdm.gkw.programnode.entity;
+package org.springblade.mdm.machinefile.entity;
 
 import com.baomidou.mybatisplus.annotation.TableName;
 import lombok.Getter;
 import lombok.Setter;
 import org.apache.commons.io.FileUtils;
-import org.apache.commons.lang3.StringUtils;
 import org.springblade.core.mp.base.BizEntity;
 
 import java.util.Date;
@@ -32,6 +31,23 @@
 	 * 鏂囦欢琚竻闄�(琚畾鏃朵换鍔℃爣璁�)
 	 */
 	public static final int STATUS_REMOVED = 4;
+
+	/**
+	 * 绋嬪簭鐘舵�侊紝璇曞垏
+	 */
+	public static final int PROGRAM_STATUS_TRY = 1;
+	/**
+	 * 绋嬪簭鐘舵�侊紝鍥哄寲
+	 */
+	public static final int PROGRAM_STATUS_CURED = 2;
+	/**
+	 * 绋嬪簭鐘舵�侊紝鍋忕
+	 */
+	public static final int PROGRAM_STATUS_DIVIASTION = 3;
+	/**
+	 * 绋嬪簭鐘舵�侊紝鏈煡
+	 */
+	public static final int PROGRAM_STATUS_UNKNOWN = 4;
 	/**
 	 * 鑺傜偣绫诲瀷锛� REC鐩綍
 	 */
@@ -87,13 +103,15 @@
 	 */
 	private Date determineTime;
 	/**
+	 * 绋嬪簭鐘舵�侊紙1璇曞垏锛�2鍥哄寲锛�3鍋忕锛�4鏈煡锛�
+	 */
+	private Integer programStatus;
+	/**
 	 * 鐢熸垚鏂囦欢澶у皬鐨勬樉绀烘枃鏈�
 	 * @return 鏄剧ず鏂囨湰
 	 */
 	public String getFileSizeDisplay(){
-		String disp = FileUtils.byteCountToDisplaySize(fileSize);
-		//disp = StringUtils.replace(disp,"bytes","瀛楄妭");
-		return disp;
+		return FileUtils.byteCountToDisplaySize(fileSize);
 	}
 
 	/**
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/gkw/programnode/entity/MachineFileChangeHis.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machinefile/entity/MachineFileChangeHis.java
similarity index 80%
rename from blade-service/blade-mdm/src/main/java/org/springblade/mdm/gkw/programnode/entity/MachineFileChangeHis.java
rename to blade-service/blade-mdm/src/main/java/org/springblade/mdm/machinefile/entity/MachineFileChangeHis.java
index d32c09e..3b06c4f 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/gkw/programnode/entity/MachineFileChangeHis.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machinefile/entity/MachineFileChangeHis.java
@@ -1,12 +1,9 @@
-package org.springblade.mdm.gkw.programnode.entity;
+package org.springblade.mdm.machinefile.entity;
 
 import com.baomidou.mybatisplus.annotation.TableName;
 import lombok.Getter;
 import lombok.Setter;
-import org.apache.commons.io.FileUtils;
 import org.springblade.core.mp.base.BizEntity;
-
-import java.util.Date;
 
 /**
  * 鏈哄簥鏂囦欢 淇敼璁板綍
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machinefile/mapper/MachineFileChangeHisMapper.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machinefile/mapper/MachineFileChangeHisMapper.java
new file mode 100644
index 0000000..571aef9
--- /dev/null
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machinefile/mapper/MachineFileChangeHisMapper.java
@@ -0,0 +1,22 @@
+package org.springblade.mdm.machinefile.mapper;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.apache.ibatis.annotations.Param;
+import org.springblade.core.mp.mapper.BladeMapper;
+import org.springblade.mdm.machinefile.entity.MachineFile;
+import org.springblade.mdm.machinefile.entity.MachineFileChangeHis;
+import org.springblade.mdm.machinefile.vo.MachineFileChangeHisQueryVO;
+import org.springblade.mdm.machinefile.vo.MachineFileChangeHisVO;
+
+public interface MachineFileChangeHisMapper extends BladeMapper<MachineFileChangeHis> {
+
+	/**
+	 * 鏈哄簥鍥炰紶鏂囦欢鏌ヨ
+	 * @param page 鍒嗛〉鍙傛暟
+	 * @param queryVO 鏌ヨ瀵硅薄
+	 * @return
+	 */
+    IPage<MachineFileChangeHisVO> pageQuery(IPage<MachineFileChangeHisVO> page, @Param("query") MachineFileChangeHisQueryVO queryVO);
+
+
+}
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/gkw/programnode/mapper/MachineFileChangeHisMapper.xml b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machinefile/mapper/MachineFileChangeHisMapper.xml
similarity index 79%
rename from blade-service/blade-mdm/src/main/java/org/springblade/mdm/gkw/programnode/mapper/MachineFileChangeHisMapper.xml
rename to blade-service/blade-mdm/src/main/java/org/springblade/mdm/machinefile/mapper/MachineFileChangeHisMapper.xml
index 62d4844..f72d7fe 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/gkw/programnode/mapper/MachineFileChangeHisMapper.xml
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machinefile/mapper/MachineFileChangeHisMapper.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="org.springblade.mdm.gkw.programnode.mapper.MachineFileChangeHisMapper">
-    <resultMap id="BaseResultMap" type="org.springblade.mdm.gkw.programnode.entity.MachineFileChangeHis">
+<mapper namespace="org.springblade.mdm.machinefile.mapper.MachineFileChangeHisMapper">
+    <resultMap id="BaseResultMap" type="org.springblade.mdm.machinefile.entity.MachineFileChangeHis">
         <id column="id" property="id"/>
         <result column="status" property="status"/>
         <result column="create_time" property="createTime"/>
@@ -10,7 +10,7 @@
     </resultMap>
 
     <!--鏈哄簥鍥炰紶鏂囦欢鍒嗛〉鏌ヨ-->
-    <select id="pageQuery" resultType="org.springblade.mdm.gkw.programnode.vo.MachineFileChangeHisVO">
+    <select id="pageQuery" resultType="org.springblade.mdm.machinefile.vo.MachineFileChangeHisVO">
         select h.id,u.name,h.create_time
         from mdm_machine_file_change_his h inner join blade_user u on h.create_user=u.id
         <where>
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machinefile/mapper/MachineFileMapper.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machinefile/mapper/MachineFileMapper.java
new file mode 100644
index 0000000..9f2b648
--- /dev/null
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machinefile/mapper/MachineFileMapper.java
@@ -0,0 +1,35 @@
+package org.springblade.mdm.machinefile.mapper;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.apache.ibatis.annotations.Param;
+import org.springblade.core.mp.mapper.BladeMapper;
+import org.springblade.mdm.machinefile.entity.MachineFile;
+import org.springblade.mdm.machinefile.vo.MachineFileQueryVO;
+import org.springblade.mdm.machinefile.vo.MachineAcceptedFileHandleQueryVO;
+import org.springblade.mdm.machinefile.vo.MachineBackFileQueryVO;
+import org.springblade.mdm.machinefile.vo.MachineAcceptedFileVO;
+
+public interface MachineFileMapper extends BladeMapper<MachineFile> {
+	/**
+	 * 宸ユ帶缃戦椤垫満搴婃枃浠舵煡璇�
+	 * @param page
+	 * @param queryVO
+	 * @return
+	 */
+	IPage<MachineFile> pageQuery(IPage<MachineFile> page, @Param("query") MachineFileQueryVO queryVO);
+	/**
+	 * 寰呮帴鏀舵満搴婃枃浠舵煡璇�
+	 * @param page 鍒嗛〉鍙傛暟
+	 * @param queryVO 鏌ヨ瀵硅薄
+	 * @return 鏈哄簥鏂囦欢瀹炰綋
+	 */
+    IPage<MachineFile> filePageForAccept(IPage<MachineAcceptedFileVO> page, @Param("query")MachineBackFileQueryVO queryVO);
+
+	/**
+	 * 鏈哄簥鍥炰紶鏂囦欢澶勭悊鍒嗛〉鏌ヨ
+	 * @param page
+	 * @param query
+	 * @return
+	 */
+	//IPage<MachineAcceptedFileVO> handlePageQuery(@Param("page")IPage<MachineAcceptedFileVO> page, @Param("query") MachineAcceptedFileHandleQueryVO query);
+}
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/gkw/programnode/mapper/MachineFileMapper.xml b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machinefile/mapper/MachineFileMapper.xml
similarity index 83%
rename from blade-service/blade-mdm/src/main/java/org/springblade/mdm/gkw/programnode/mapper/MachineFileMapper.xml
rename to blade-service/blade-mdm/src/main/java/org/springblade/mdm/machinefile/mapper/MachineFileMapper.xml
index 41d1d92..827b5c2 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/gkw/programnode/mapper/MachineFileMapper.xml
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machinefile/mapper/MachineFileMapper.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="org.springblade.mdm.gkw.programnode.mapper.MachineFileMapper">
-    <resultMap id="BaseResultMap" type="org.springblade.mdm.gkw.programnode.entity.MachineFile">
+<mapper namespace="org.springblade.mdm.machinefile.mapper.MachineFileMapper">
+    <resultMap id="BaseResultMap" type="org.springblade.mdm.machinefile.entity.MachineFile">
         <id column="id" property="id"/>
         <result column="name" property="name"/>
         <result column="node_type" property="dirType"/>
@@ -11,12 +11,12 @@
         <result column="is_deleted" property="isDeleted"/>
     </resultMap>
 
-    <!--鏈哄簥鍥炰紶鏂囦欢鍒嗛〉鏌ヨ-->
-    <select id="machineBackFilePageQuery" resultType="org.springblade.mdm.machineback.vo.MachineBackFileVO">
-        select f.id,f.name,f.machine_code,f.file_create_time arrived_time,f.md5,f.file_size
+    <!--寰呮帴鏀舵満搴婃枃浠跺垎椤垫煡璇�-->
+    <select id="filePageForAccept" resultType="org.springblade.mdm.machinefile.entity.MachineFile">
+        select f.id,f.name,f.machine_code,f.file_create_time,f.md5,f.file_size,f.dir_type,f.program_status
         from mdm_machine_file f join mdm_machine m on f.machine_code=m.code and m.is_deleted=0
         <where>
-            f.dir_type='TEMP' and f.status=1 and f.is_deleted=0
+            f.status=1 and f.is_deleted=0
 
             <if test="query.machineSpec!=null and query.machineSpec!=''">
                 and m.machine_spec=#{query.machineSpec,jdbcType=VARCHAR}
@@ -40,10 +40,14 @@
             <if test="query.dirType!=null and query.dirType!=''">
                 and  f.dir_type= #{query.dirType,jdbcType=VARCHAR}
             </if>
+            <if test="query.dirType==null or query.dirType==''">
+                and f.dir_type='TEMP'
+            </if>
         </where>
         order by f.file_create_time desc
     </select>
-    <select id="handlePageQuery" resultType="org.springblade.mdm.machineback.vo.MachineBackFileVO">
+    <!--
+    <select id="handlePageQuery" resultType="org.springblade.mdm.machinefile.vo.MachineAcceptedFileVO">
         select f.id,f.name,f.machine_code,f.file_create_time arrived_time,f.md5,f.file_size,f.determine_time
         from mdm_machine_file f join mdm_machine m on f.machine_code=m.code and m.is_deleted=0
         <where>
@@ -58,9 +62,9 @@
             order by f.file_create_time desc
         </where>
     </select>
-
+    -->
     <!--宸ユ帶缃戦椤垫枃浠舵煡璇�-->
-    <select id="pageQuery" resultType="org.springblade.mdm.gkw.programnode.entity.MachineFile">
+    <select id="pageQuery" resultType="org.springblade.mdm.machinefile.entity.MachineFile">
         select f.id,f.name,f.machine_code,f.file_create_time, f.file_modify_time,f.md5,f.file_size,f.create_time,f.update_time
         from mdm_machine_file f join mdm_machine m on f.machine_code=m.code and m.is_deleted=0
         <where>
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/gkw/programnode/vo/MachineFileChangeHisVO.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machinefile/vo/MachineFileChangeHisVO.java
similarity index 79%
rename from blade-service/blade-mdm/src/main/java/org/springblade/mdm/gkw/programnode/vo/MachineFileChangeHisVO.java
rename to blade-service/blade-mdm/src/main/java/org/springblade/mdm/machinefile/vo/MachineFileChangeHisVO.java
index 4769574..474a846 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/gkw/programnode/vo/MachineFileChangeHisVO.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machinefile/vo/MachineFileChangeHisVO.java
@@ -1,9 +1,8 @@
-package org.springblade.mdm.gkw.programnode.vo;
+package org.springblade.mdm.machinefile.vo;
 
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.Getter;
 import lombok.Setter;
-import org.springblade.core.mp.support.Query;
 import org.springblade.mdm.commons.vo.BaseVO;
 
 /**
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/gkw/programnode/vo/MachineFileQueryVO.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machinefile/vo/MachineFileQueryVO.java
similarity index 93%
rename from blade-service/blade-mdm/src/main/java/org/springblade/mdm/gkw/programnode/vo/MachineFileQueryVO.java
rename to blade-service/blade-mdm/src/main/java/org/springblade/mdm/machinefile/vo/MachineFileQueryVO.java
index 9adcd9b..0f67190 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/gkw/programnode/vo/MachineFileQueryVO.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machinefile/vo/MachineFileQueryVO.java
@@ -1,4 +1,4 @@
-package org.springblade.mdm.gkw.programnode.vo;
+package org.springblade.mdm.machinefile.vo;
 
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.Getter;
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/ProgramAnnotationService.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/ProgramAnnotationService.java
index 5bcd37e..9fc4ea6 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/ProgramAnnotationService.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/ProgramAnnotationService.java
@@ -137,12 +137,15 @@
 	 * @param text 娓呴櫎娉ㄩ噴鏍囪
 	 * @return 娓呴櫎鍚庣殑鏂囨湰
 	 */
-		public String removeAnnotation(String machineGroupCode,String text){
-			List<DictBiz> annoDicts = getAnnotionDictList();
-			ProgramAnnotation panno = this.getProgramAnnotationFormat(machineGroupCode,annoDicts);
-			//String[] arr = getAnnotationStartAndEnd(machineGroupCode,annoDicts);
-			return panno.cleanAnnotation(text);
-		}
+	public String removeAnnotation(String machineGroupCode,String text){
+		List<DictBiz> annoDicts = getAnnotionDictList();
+		return removeAnnotation(machineGroupCode,text,annoDicts);
+	}
+
+	public String removeAnnotation(String machineGroupCode,String text,List<DictBiz> annotatiionList){
+		ProgramAnnotation panno = this.getProgramAnnotationFormat(machineGroupCode,annotatiionList);
+		return panno.cleanAnnotation(text);
+	}
 		/**
 		 * 璁剧疆鍥哄寲娉ㄩ噴琛�
 		 * @param inputStream 杈撳叆妗�
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/task/MachineFileScanTask.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/task/MachineFileScanTask.java
index a573dd5..0abac7a 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/task/MachineFileScanTask.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/task/MachineFileScanTask.java
@@ -6,8 +6,11 @@
 import org.springblade.mdm.basesetting.machine.MachineService;
 import org.springblade.mdm.basesetting.machine.entity.Machine;
 import org.springblade.mdm.commons.service.ParamService;
-import org.springblade.mdm.gkw.programnode.entity.MachineFile;
-import org.springblade.mdm.gkw.programnode.service.MachineFileService;
+import org.springblade.mdm.machinefile.entity.MachineFile;
+import org.springblade.mdm.machinefile.service.MachineFileService;
+import org.springblade.mdm.program.service.ProgramAnnotationService;
+import org.springblade.mdm.utils.FileContentUtil;
+import org.springblade.system.pojo.entity.DictBiz;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.scheduling.annotation.EnableScheduling;
 import org.springframework.scheduling.annotation.Scheduled;
@@ -32,6 +35,8 @@
 	private MachineService machineService;
 	@Autowired
 	private ParamService paramService;
+	@Autowired
+	private ProgramAnnotationService programAnnotationService;
 	// 姣�5绉掓墽琛屼竴娆�
 	//@Scheduled(fixedRate = 1000000)
 	//@Scheduled(cron = "0 1 0 * * ?") // 姣忓ぉ涓婂崍0鐐�1鍒嗘墽琛�
@@ -117,6 +122,7 @@
 		byte[] buffer = new byte[2048];
 
 		MachineFile existFileInDb;
+		List<DictBiz> annotatiionList = programAnnotationService.getAnnotionDictList();
 		//boolean exists;//鏂囦欢鏄惁瀛樺湪浜庢暟鎹簱涓�
 		for (Path filePath : files) {
 
@@ -131,6 +137,9 @@
 			mf.setMachineCode(machine.getCode());
 
 			try {
+				//璇诲彇鍐呭锛岀‘瀹氱▼搴忕姸鎬�
+				int pstatus = readProgramStatus(filePath,machine.getMachineGroupCode(),annotatiionList);
+				mf.setProgramStatus(pstatus);
 				BasicFileAttributes attrs = Files.readAttributes(
 					filePath,
 					BasicFileAttributes.class
@@ -165,7 +174,7 @@
 				log.info("鏂囦欢宸插瓨鍦ㄦ帬杩�:{}",filePath.getFileName());
 				//宸插瓨鍦ㄥ拫鏁淬��
 				existFileInDb.setFileSize(mf.getFileSize());
-
+				existFileInDb.setProgramStatus(mf.getProgramStatus());
 				existFileInDb.setFileCreateTime(mf.getFileCreateTime());
 				existFileInDb.setFileModifyTime(mf.getFileModifyTime());
 				if(!StringUtils.equals(existFileInDb.getMd5(),mf.getMd5())){
@@ -185,6 +194,33 @@
 	}
 
 	/**
+	 * 璇诲彇鏂囦欢涓殑绋嬪簭鐘舵��
+	 * @param filePath 鏂囦欢璺緞
+	 * @param machineGroupCode
+	 * @param annotatiionList 娉ㄩ噴閰嶇疆瀛楀吀
+	 * @return 鐘舵�佺殑鏁存暟涔嬪拰
+	 * @throws IOException
+	 */
+	int readProgramStatus(Path filePath,String machineGroupCode,List<DictBiz> annotatiionList) throws IOException {
+		int programStatus = MachineFile.PROGRAM_STATUS_UNKNOWN;
+		try(InputStream ins = Files.newInputStream(filePath)){
+			String statusLine = FileContentUtil.readLineAt(ins,ProgramAnnotationService.STATUS_LINE_INDEX);
+			if(programAnnotationService.isAnnotation(statusLine,machineGroupCode,annotatiionList)){
+				String progStatusTxt = programAnnotationService.removeAnnotation(machineGroupCode,statusLine,annotatiionList);
+				if(ProgramAnnotationService.SQ.equals(progStatusTxt)){
+					programStatus = MachineFile.PROGRAM_STATUS_TRY;
+				}else if(ProgramAnnotationService.GH.equals(progStatusTxt)){
+					programStatus = MachineFile.PROGRAM_STATUS_CURED;
+				}else if(ProgramAnnotationService.PL.equals(progStatusTxt)){
+					programStatus = MachineFile.PROGRAM_STATUS_DIVIASTION;
+				}
+			}
+		}
+
+		return programStatus;
+	}
+
+	/**
 	 * 娓呯悊宸茬粡鍒犻櫎浜嗘枃浠剁殑璁板綍
 	 * @param machine
 	 * @param dirType
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/task/ReceiveDirMoveTask.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/task/ReceiveDirMoveTask.java
index d66d4ea..44b2792 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/task/ReceiveDirMoveTask.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/task/ReceiveDirMoveTask.java
@@ -4,8 +4,8 @@
 import org.springblade.mdm.basesetting.machine.MachineService;
 import org.springblade.mdm.basesetting.machine.entity.Machine;
 import org.springblade.mdm.commons.service.ParamService;
-import org.springblade.mdm.gkw.programnode.entity.MachineFile;
-import org.springblade.mdm.gkw.programnode.service.MachineFileService;
+import org.springblade.mdm.machinefile.entity.MachineFile;
+import org.springblade.mdm.machinefile.service.MachineFileService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.scheduling.annotation.EnableScheduling;
 import org.springframework.scheduling.annotation.Scheduled;
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/task/SendDirCleanTask.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/task/SendDirCleanTask.java
index f7bd0ca..6eafc1f 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/task/SendDirCleanTask.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/task/SendDirCleanTask.java
@@ -4,8 +4,8 @@
 import org.springblade.mdm.basesetting.machine.MachineService;
 import org.springblade.mdm.basesetting.machine.entity.Machine;
 import org.springblade.mdm.commons.service.ParamService;
-import org.springblade.mdm.gkw.programnode.entity.MachineFile;
-import org.springblade.mdm.gkw.programnode.service.MachineFileService;
+import org.springblade.mdm.machinefile.entity.MachineFile;
+import org.springblade.mdm.machinefile.service.MachineFileService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.scheduling.annotation.EnableScheduling;
 import org.springframework.scheduling.annotation.Scheduled;
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/test/MyTest2Controller.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/test/MyTest2Controller.java
index 4ecbcc1..26dec7f 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/test/MyTest2Controller.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/test/MyTest2Controller.java
@@ -7,7 +7,7 @@
 import org.springblade.core.log.annotation.ApiLog;
 import org.springblade.core.tool.api.R;
 import org.springblade.mdm.basesetting.machine.entity.Machine;
-import org.springblade.mdm.gkw.programnode.entity.MachineFile;
+import org.springblade.mdm.machinefile.entity.MachineFile;
 import org.springblade.mdm.program.entity.NcNode;
 import org.springblade.mdm.program.service.NcNodeService;
 import org.springblade.mdm.program.service.ProgramAnnotationService;
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/test/MyTestController.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/test/MyTestController.java
index a5e317f..801bdb3 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/test/MyTestController.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/test/MyTestController.java
@@ -9,7 +9,7 @@
 import org.springblade.mdm.basesetting.machine.entity.Machine;
 import org.springblade.mdm.commons.service.EmailService;
 import org.springblade.mdm.flow.service.WIthdrawService;
-import org.springblade.mdm.gkw.programnode.entity.MachineFile;
+import org.springblade.mdm.machinefile.entity.MachineFile;
 import org.springblade.mdm.program.entity.NcNode;
 import org.springblade.mdm.program.service.NcNodeService;
 import org.springblade.mdm.program.service.ProgramAnnotationService;

--
Gitblit v1.9.3