From a5f944c2bc0107e5df936937f1c33e5e03eb8fed Mon Sep 17 00:00:00 2001
From: yangys <y_ys79@sina.com>
Date: 星期六, 06 九月 2025 19:15:48 +0800
Subject: [PATCH] 解锁增加解锁原因和展示

---
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/controller/LockFlowController.java              |    4 
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/execute/ReplaceFlowCompleteService.java |    2 
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/NcProgramExportDNCService.java       |    4 
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/task/MachineFileScanTask.java                        |  204 ----------------------
 blade-service/blade-mdm/pom.xml                                                                                |   42 ----
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/utils/FileContentUtil.java                           |    6 
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/LockFlowService.java                    |    3 
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/statreport/service/ApproveTableService.java          |    5 
 /dev/null                                                                                                      |   25 --
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/DNCSendBackService.java              |    3 
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/excution/cure/NormalCureFinishDataHandler.java  |    8 
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/machinefile/service/FileSendRecordService.java       |    5 
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/ProgramAnnotationService.java        |   98 +++-------
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/execute/TryFlowCompleteService.java     |    7 
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/machinefile/service/MachineFileScanService.java      |   62 ------
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/MdmProgramImportService.java         |    2 
 blade-service/blade-mdm/src/main/resources/processesbpmn/program-replace.bpmn20.xml                            |   14 
 blade-service/blade-mdm/src/test/java/org/springblade/mdm/statreport/utils/XmlToDocxWithPOITest.java           |   17 -
 18 files changed, 61 insertions(+), 450 deletions(-)

diff --git a/blade-service/blade-mdm/pom.xml b/blade-service/blade-mdm/pom.xml
index 43bdc93..63ca8cf 100644
--- a/blade-service/blade-mdm/pom.xml
+++ b/blade-service/blade-mdm/pom.xml
@@ -112,48 +112,6 @@
             <version>4.0.28</version>
         </dependency>
 
-        <dependency>
-            <groupId>org.springframework.boot</groupId>
-            <artifactId>spring-boot-starter-freemarker</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.docx4j</groupId>
-            <artifactId>docx4j-core</artifactId>
-            <version>8.3.10</version>
-        </dependency>
-        <dependency>
-            <groupId>org.docx4j</groupId>
-            <artifactId>docx4j-JAXB-Internal</artifactId>
-            <version>8.3.10</version>
-            <exclusions>
-                <exclusion>
-                    <groupId>javax.xml.bind</groupId>
-                    <artifactId>jaxb-api</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
-        <dependency>
-            <groupId>org.docx4j</groupId>
-            <artifactId>docx4j-JAXB-ReferenceImpl</artifactId>
-            <version>8.3.10</version>
-        </dependency>
-        <dependency>
-            <groupId>org.glassfish.jaxb</groupId>
-            <artifactId>jaxb-runtime</artifactId>
-            <version>2.3.1</version>
-        </dependency>
-        <!-- Apache POI 鐢ㄤ簬澶勭悊docx鏂囦欢 -->
-        <!--<dependency>
-            <groupId>org.apache.poi</groupId>
-            <artifactId>poi-ooxml</artifactId>
-        </dependency>-->
-
-        <!-- 鍖呭惈OpenXML鏍煎紡鐨勫畬鏁� schema 瀹氫箟 -->
-        <!--<dependency>
-            <groupId>org.apache.poi</groupId>
-            <artifactId>poi-ooxml-full</artifactId>
-            <version>5.4.0</version>
-        </dependency>-->
     </dependencies>
     <build>
         <plugins>
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/controller/LockFlowController.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/controller/LockFlowController.java
index c5ebc30..efa816b 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/controller/LockFlowController.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/controller/LockFlowController.java
@@ -29,9 +29,9 @@
 	 */
 	@PostMapping("/start-unlock")
 	@Operation(summary = "鍙戣捣瑙i攣娴佺▼", description = "鍙戣捣瑙i攣娴佺▼")
-	public R<Boolean> startUnlock(@Parameter(description = "绋嬪簭鍖呭悕 鑺傜偣鐨刬d") Long nodeId) {//,@Parameter(description = "澶勭悊浜篿d")String assingee
+	public R<Boolean> startUnlock(@Parameter(description = "绋嬪簭鍖呭悕 鑺傜偣鐨刬d") Long nodeId,@Parameter(description = "瑙i攣鍘熷洜")String unlockReason) {//,@Parameter(description = "澶勭悊浜篿d")String assingee
 		try {
-			replaceFlowService.startUnlock(nodeId);
+			replaceFlowService.startUnlock(nodeId,unlockReason);
 			return R.data(true);
 		}catch(Exception e){
 			log.error("鍙戣捣绋嬪簭鏇挎崲閿欒",e);
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/excution/cure/NormalCureFinishDataHandler.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/excution/cure/NormalCureFinishDataHandler.java
index 95d47e3..c382b9f 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/excution/cure/NormalCureFinishDataHandler.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/excution/cure/NormalCureFinishDataHandler.java
@@ -89,7 +89,7 @@
 
 	/**
 	 * 灏嗚妭鐐瑰拰鍘嗗彶鑺傜偣鎸姩鍒板浐鍖栫殑鍚岀骇鑺傜偣涓�
-	 * @param pkgNode 瑕佸浐鍖栫殑鑺傜偣
+	 * @param pkgNode1 瑕佸浐鍖栫殑鑺傜偣
 	 * @param historyProgramPackageNodes 绋嬪簭鍖呭悕 鍘嗗彶鑺傜偣
 	 */
 	void moveNodeToCuredTree(NcNode pkgNode1,List<NcNode> historyProgramPackageNodes, FlowProgramProperties programProperties) throws IOException {
@@ -159,7 +159,7 @@
 			newProgNode.setFlowProgramFileId(flowProgramFile.getId());
 			newProgNode.setIsCured(1);
 
-			setGhAnnotation(flowProgramFile,machine.getMachineGroupCode(),annoDicts);
+			setGhAnnotation(flowProgramFile,machine.getControlSystem(),annoDicts);
 
 			nodeService.save(newProgNode);
 		}
@@ -202,14 +202,14 @@
 	 * @param flowProgramFile oss 鏂囦欢
 	 *
 	 */
-	void setGhAnnotation(FlowProgramFile flowProgramFile,String machineGroup,List<DictBiz> annoDicts) throws IOException {
+	void setGhAnnotation(FlowProgramFile flowProgramFile,String controlSystem,List<DictBiz> annoDicts) throws IOException {
 		String ossName = flowProgramFile.getOssName();
 		//
 		try(InputStream ins = ossTemplate.statFileStream(ossName);){
 			byte[] bytes = IOUtils.toByteArray(ins);
 			ByteArrayInputStream byteInputStream =  new ByteArrayInputStream(bytes);
 
-			InputStream finishedStream = programAnnotationService.setGHAnnotation(byteInputStream,machineGroup,annoDicts);
+			InputStream finishedStream = programAnnotationService.setGHAnnotation(byteInputStream,controlSystem,annoDicts);
 
 			try(finishedStream) {
 				finishedStream.reset();
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/LockFlowService.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/LockFlowService.java
index 1db2720..73d9014 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/LockFlowService.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/LockFlowService.java
@@ -32,7 +32,7 @@
 	 * 鍚姩瑙i攣娴佺▼
 	 */
 	@Transactional
-	public void startUnlock(Long nodeId){
+	public void startUnlock(Long nodeId,String unlockReason){
 		NcNode programPackage = nodeService.getById(nodeId);
 		if(flowCommonService.isProcessInstanceActive(programPackage.getProcessInstanceId())){
 			throw new ServiceException("娴佺▼姝e湪杩涜");
@@ -49,6 +49,7 @@
 
 		vars.put(FlowContants.MY_PROCESS_NAME,"瑙i攣娴佺▼");
 		vars.put("comment", "瑙i攣绋嬪簭"+programPackage.getName());
+		vars.put("unlockReason", unlockReason);
 		identityService.setAuthenticatedUserId(String.valueOf(AuthUtil.getUserId()));//璁剧疆娴佺▼鍙戣捣浜�
 		ProcessInstance inst = runtimeService.startProcessInstanceByKey(FlowContants.UNLOCK_PROCESS_KEY,nodeId+"",vars);
 
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/execute/ReplaceFlowCompleteService.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/execute/ReplaceFlowCompleteService.java
index cd65752..8bdf942 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/execute/ReplaceFlowCompleteService.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/execute/ReplaceFlowCompleteService.java
@@ -38,7 +38,7 @@
 		Task task = currentTask(taskId);
 		String operateResult = this.getApproveResult(variables);
 
-		if(task.getTaskDefinitionKey().equals("repalceProgrammingTask")) {//缂栧埗鑺傜偣
+		if(task.getTaskDefinitionKey().equals("replaceProgrammingTask")) {//缂栧埗鑺傜偣
 			flowProgramFileService.checkProgramFiles(processInstanceId,"Y".equals(operateResult));
 		}
 		if (StringUtil.isNoneBlank(processInstanceId, comment)) {
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/execute/TryFlowCompleteService.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/execute/TryFlowCompleteService.java
index 7fb183e..3ff7c54 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/execute/TryFlowCompleteService.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/execute/TryFlowCompleteService.java
@@ -17,8 +17,6 @@
 import org.springblade.mdm.flow.service.FlowCommonService;
 import org.springblade.mdm.flow.service.FlowProgramFileService;
 import org.springblade.mdm.flow.service.FlowProgramProperties;
-import org.springblade.system.feign.IUserClient;
-import org.springblade.system.pojo.entity.User;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -84,6 +82,11 @@
 
 		if("confirmIsUseableTask".equals(task.getTaskDefinitionKey())){
 			variables.put(FlowContants.CURE_PROGRAM_USEABLE,operateResult);
+
+			if(FlowContants.Y.equals(operateResult)) {
+				//鍒ゅ畾鍙敤锛岃褰曚负瀹為檯缂栫▼鍛�
+				variables.put(FlowVariableContants.ACT_PROGRAMMER,Func.toStr(AuthUtil.getUserId()));
+			}
 		}
 		taskService.complete(taskId, variables);
 	}
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machinefile/service/FileSendRecordService.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machinefile/service/FileSendRecordService.java
index 92aa34c..934da5c 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machinefile/service/FileSendRecordService.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machinefile/service/FileSendRecordService.java
@@ -4,9 +4,6 @@
 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.machinefile.entity.FileSendRecord;
@@ -25,7 +22,7 @@
 @AllArgsConstructor
 public class FileSendRecordService extends BizServiceImpl<FileSendRecordMapper, FileSendRecord> {
 
-
+	@Transactional(readOnly = true)
 	public IPage<FileSendRecordVO> pageQuery(FileSendRecordQueryVO query) {
 		return baseMapper.pageQuery(Condition.getPage(query),query);
 	}
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machinefile/service/MachineFileScanService.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machinefile/service/MachineFileScanService.java
index f12198e..38b5d53 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machinefile/service/MachineFileScanService.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machinefile/service/MachineFileScanService.java
@@ -105,69 +105,17 @@
 
 		byte[] buffer = new byte[2048];
 
-		//MachineFile existFileInDb;
+
 		List<DictBiz> annotatiionList = programAnnotationService.getAnnotionDictList();
 		//boolean exists;//鏂囦欢鏄惁瀛樺湪浜庢暟鎹簱涓�
 		for (Path filePath : files) {
-			//existFileInDb = null;
-			//exists = false;
-
-			/*MachineFile mf = new MachineFile();
-			mf.setTenantId("000000");
-			mf.setName(filePath.toFile().getName());
-			mf.setDirType(dirType);
-			mf.setMachineCode(machine.getCode());*/
-
 			try {
-				//璇诲彇鍐呭锛岀‘瀹氱▼搴忕姸鎬�
-				/*int pstatus = readProgramStatus(filePath,machine.getMachineGroupCode(),annotatiionList);
-				mf.setProgramStatus(pstatus);
-				BasicFileAttributes attrs = Files.readAttributes(
-					filePath,
-					BasicFileAttributes.class
-				);
 
-				FileTime creationTime = attrs.creationTime();
-				Date creationDate = new Date(creationTime.toMillis());
-				mf.setFileCreateTime(creationDate);
-
-				FileTime modifyTime = attrs.lastModifiedTime();
-				mf.setFileModifyTime(new Date(modifyTime.toMillis()));
-				mf.setFileSize(Files.size(filePath));
-				try (InputStream inputStream = Files.newInputStream(filePath)) {
-					// 浣跨敤杈撳叆娴佽鍙栨枃浠跺唴瀹�
-					int bytesRead = inputStream.read(buffer);
-					mf.setMd5(DigestUtils.md5Hex(buffer));
-				} catch (IOException e) {
-					log.error("璇诲彇鏂囦欢md5澶辫触",e);
-					continue;//鏈夐敊璇�,鎺犺繃
-				}*/
 
 				MachineFile mf = readFileToMachineFile(filePath,machine,dirType,annotatiionList);
 
 				machineFileService.refreshFileData(mf);
-				/*
-				existFileInDb = machineFileService.getExistsFile(mf.getName(),dirType,machine.getCode());
-				System.out.println("鏂囦欢鍒涘缓鏃堕棿: " + mf.getFileCreateTime());
 
-				if(existFileInDb == null) {
-					machineFileService.save(mf);
-				}else{
-					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())){
-						//鏂囦欢鍐呭鍙戠敓鍙樺寲浜�,璁剧疆鐘舵�佷负鍒濆鐘舵��
-						existFileInDb.setStatus(MachineFile.STATUS_NORMAL);
-					}
-					existFileInDb.setMd5(mf.getMd5());
-
-					machineFileService.updateById(existFileInDb);
-
-				}*/
 			} catch (IOException e) {
 				log.error("璇诲彇鏂囦欢淇℃伅澶辫触",e);
 			}
@@ -221,12 +169,12 @@
 	/**
 	 * 璇诲彇鏂囦欢涓殑绋嬪簭鐘舵��
 	 * @param filePath 鏂囦欢璺緞
-	 * @param machineGroupCode
+	 * @param controlSystem
 	 * @param annotatiionList 娉ㄩ噴閰嶇疆瀛楀吀
 	 * @return 鐘舵�佺殑鏁存暟涔嬪拰
 	 * @throws IOException
 	 */
-	int readProgramStatus(Path filePath,String machineGroupCode,List<DictBiz> annotatiionList) throws IOException {
+	int readProgramStatus(Path filePath,String controlSystem,List<DictBiz> annotatiionList) throws IOException {
 		int programStatus = MachineFile.PROGRAM_STATUS_UNKNOWN;
 		try(InputStream ins = Files.newInputStream(filePath);
 			BufferedInputStream bis = new BufferedInputStream(ins)){
@@ -237,8 +185,8 @@
 			}
 			bis.reset();
 			String statusLine = FileContentUtil.readLineAt(ins,ProgramAnnotationService.STATUS_LINE_INDEX);
-			if(programAnnotationService.isAnnotation(statusLine,machineGroupCode,annotatiionList)){
-				String progStatusTxt = programAnnotationService.removeAnnotation(machineGroupCode,statusLine,annotatiionList);
+			if(programAnnotationService.isAnnotation(statusLine,controlSystem,annotatiionList)){
+				String progStatusTxt = programAnnotationService.removeAnnotation(controlSystem,statusLine,annotatiionList);
 				if(ProgramAnnotationService.SQ.equals(progStatusTxt)){
 					programStatus = MachineFile.PROGRAM_STATUS_TRY;
 				}else if(ProgramAnnotationService.GH.equals(progStatusTxt)){
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/DNCSendBackService.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/DNCSendBackService.java
index 7ff4b64..a9dfc6a 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/DNCSendBackService.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/DNCSendBackService.java
@@ -60,7 +60,6 @@
 	private final BladeRedis bladeRedis;
 	private final FlowCommonService flowCommonService;
 	private final DncBackFileService dncBackFileService;
-	private final ProgramFlowStatusQueryService programFlowStatusQueryService;
 	private final MachineService machineService;
 	private final ParamService paramService;
 	/**
@@ -167,7 +166,7 @@
 							String chechuangVal = paramService.turninngValue();
 							if(StringUtils.equals(machine.getMachineSpec(),chechuangVal)){
 								//杞﹀簥
-								ProgramAnnotation pa = programAnnotationService.getProgramAnnotationFormat(machine.getMachineGroupCode(),annotionDictList);
+								ProgramAnnotation pa = programAnnotationService.getProgramAnnotationFormat(machine.getControlSystem(),annotionDictList);
 								statusLine = pa.addAnnotation(ProgramAnnotationService.SQ);
 							}
 						}
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/MdmProgramImportService.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/MdmProgramImportService.java
index 0fec986..ca948ba 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/MdmProgramImportService.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/MdmProgramImportService.java
@@ -257,7 +257,7 @@
 							vo.setFullPath(path.toString());//鏂囦欢鍦板潃
 							vo.setSendPath(matchedMachine.getProgSendDir());
 							vo.setId(vo.getFullPath());
-							vo.setProgramStatus(programAnnotationService.removeAnnotation(matchedMachine.getMachineGroupCode(),line2));
+							vo.setProgramStatus(programAnnotationService.removeAnnotation(matchedMachine.getControlSystem(),line2));
 
 							list.add(vo);
 						}
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/NcProgramExportDNCService.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/NcProgramExportDNCService.java
index 1144346..cfec60a 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/NcProgramExportDNCService.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/NcProgramExportDNCService.java
@@ -105,10 +105,10 @@
 				InputStream inputStream = ossTemplate.statFileStream(programFile.getOssName());
 				String sendDir = machine.getProgSendDir()==null? StringUtil.EMPTY:machine.getProgSendDir();
 				InputStream addedInsFinal;
-				InputStream addedIns2 = programAnnotationService.setSendDirAndStatusAnnotation(sendDir,status,inputStream,machine.getMachineGroupCode());
+				InputStream addedIns2 = programAnnotationService.setSendDirAndStatusAnnotation(sendDir,status,inputStream,machine.getControlSystem());
 				if(StringUtils.isNotBlank(programPackageNode.getDeviation())) {
 					//鍋忕鍗曪紝澧炲姞鍋忕鍗曞彿
-					addedInsFinal = programAnnotationService.setPldAnnotation(programPackageNode.getDeviation(),addedIns2, machine.getMachineGroupCode(), annotationDictList);;
+					addedInsFinal = programAnnotationService.setPldAnnotation(programPackageNode.getDeviation(),addedIns2, machine.getControlSystem(), annotationDictList);;
 				}else{
 					addedInsFinal = addedIns2;
 				}
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 9fc4ea6..3d715fd 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
@@ -74,10 +74,8 @@
 	 * @param annotationList 娉ㄩ噴娉ㄩ噴瀛楀吀椤瑰垪琛�
 	 * @return
 	 */
-	public boolean isAnnotation(String line,String machineGroupCode,List<DictBiz> annotationList){
-		boolean isAnno = false;
-
-		ProgramAnnotation progAnnotation = this.getProgramAnnotationFormat(machineGroupCode,annotationList);
+	public boolean isAnnotation(String line,String systemDictVal,List<DictBiz> annotationList){
+		ProgramAnnotation progAnnotation = this.getProgramAnnotationFormat(systemDictVal,annotationList);
 
 		line = StringUtils.trim(line);//鍘婚灏剧┖鏍�
 		return progAnnotation.isAnnotation(line);
@@ -85,103 +83,62 @@
 
 
 
-	public String generateAnnotation(String oriTest,String machineGroupCode,List<DictBiz> annotationList) {
-		/*
-		String annotation = oriTest;
-		String begin = "(";
-		String end = ")";
-		Optional<DictBiz> dictOpt = annotationList.stream().filter(dict -> {return dict.getDictKey().equals(machineGroupCode);}).findFirst();
-		String annotationSetting = DEFAULT_ANNOTATION_SETTING;
-		if(dictOpt.isPresent()) {
-			annotationSetting = dictOpt.get().getRemark();
-		}
-		String[] arr = StringUtils.split(annotationSetting,",");
-		if(arr.length == 2){
-			begin = arr[0];
-			end = arr[1];
-		}else if(arr.length == 1){
-			begin = arr[0];
-			end = "";
-		}
-		*/
-		ProgramAnnotation progAnnotation = this.getProgramAnnotationFormat(machineGroupCode,annotationList);
+	public String generateAnnotation(String oriTest,String systemDictVal,List<DictBiz> annotationList) {
+		ProgramAnnotation progAnnotation = this.getProgramAnnotationFormat(systemDictVal,annotationList);
 		return progAnnotation.addAnnotation(oriTest);
 	}
-	/*
-	public String[] getAnnotationStartAndEnd(String machineGroupCode,List<DictBiz> annotationList) {
-
-		String begin = "(";
-		String end = ")";
-
-		Optional<DictBiz> dictOpt = annotationList.stream().filter(dict -> {return dict.getDictKey().equals(machineGroupCode);}).findFirst();
-		String annotationSetting = DEFAULT_ANNOTATION_SETTING;
-		if(dictOpt.isPresent()) {
-			annotationSetting = dictOpt.get().getRemark();
-		}
-		String[] arr = StringUtils.split(annotationSetting,",");
-		if(arr.length == 2){
-			begin = arr[0];
-			end = arr[1];
-		}else if(arr.length == 1){
-			begin = arr[0];
-			end = "";
-		}
-		ProgramAnnotation progAnno = this.getProgramAnnotationFormat(machineGroupCode,annotationList);
-		return new String[]{begin,end};
-	}
-*/
 
 	/**
 	 * 鎻愬彇娉ㄩ噴涓殑鏂囨湰
-	 * @param machineGroupCode 鏈哄簥缁勪唬鐮�
+	 * @param systemDictVal 鏈哄簥缁勪唬鐮�
 	 * @param text 娓呴櫎娉ㄩ噴鏍囪
 	 * @return 娓呴櫎鍚庣殑鏂囨湰
 	 */
-	public String removeAnnotation(String machineGroupCode,String text){
+	public String removeAnnotation(String systemDictVal,String text){
 		List<DictBiz> annoDicts = getAnnotionDictList();
-		return removeAnnotation(machineGroupCode,text,annoDicts);
+		return removeAnnotation(systemDictVal,text,annoDicts);
 	}
 
-	public String removeAnnotation(String machineGroupCode,String text,List<DictBiz> annotatiionList){
-		ProgramAnnotation panno = this.getProgramAnnotationFormat(machineGroupCode,annotatiionList);
+	public String removeAnnotation(String systemDictVal,String text,List<DictBiz> annotatiionList){
+		ProgramAnnotation panno = this.getProgramAnnotationFormat(systemDictVal,annotatiionList);
 		return panno.cleanAnnotation(text);
 	}
 		/**
 		 * 璁剧疆鍥哄寲娉ㄩ噴琛�
 		 * @param inputStream 杈撳叆妗�
-		 * @param machineGroup 鏈哄簥缁勭紪鐮�
+		 * @param systemDictVal 鏈哄簥缁勭紪鐮�
 		 * @param annoDictList 娉ㄩ噴瀛楀吀閰嶇疆
 		 * @return 鍔犲ソ娉ㄩ噴鐨�
 		 * @throws IOException
 		 */
-	public InputStream setGHAnnotation(InputStream inputStream, String machineGroup,List<DictBiz> annoDictList) throws IOException {
-		return setAnnotationAndGetInputStream(inputStream, machineGroup, annoDictList, GH, STATUS_LINE_INDEX);
+	public InputStream setGHAnnotation(InputStream inputStream, String systemDictVal,List<DictBiz> annoDictList) throws IOException {
+		return setAnnotationAndGetInputStream(inputStream, systemDictVal, annoDictList, GH, STATUS_LINE_INDEX);
 	}
 
 	/**
 	 * 璁剧疆鍋忕鍗曟敞閲�
 	 * @param inputStream 鏂囨湰杈撳叆娴�
-	 * @param machineGroup 鏈哄簥缁勪唬鐮�
+	 * @param systemDictVal 鎺у埗绯荤粺瀛楀吀鍊�
 	 * @param annoDictList 娉ㄩ噴瀛楀吀閰嶇疆
 	 * @return 鍔犲ソ娉ㄩ噴鐨勮緭鍏ユ祦
 	 * @throws IOException 璁块棶娴佸彲鑳芥姏鍑哄紓甯�
 	 */
-	public InputStream setPldAnnotation(String deviation,InputStream inputStream,String machineGroup,List<DictBiz> annoDictList) throws IOException {
-		return setAnnotationAndGetInputStream(inputStream, machineGroup, annoDictList, deviation, STATUS_DEVIATION_INDEX);
+	public InputStream setPldAnnotation(String deviation,InputStream inputStream,String systemDictVal,List<DictBiz> annoDictList) throws IOException {
+		return setAnnotationAndGetInputStream(inputStream, systemDictVal, annoDictList, deviation, STATUS_DEVIATION_INDEX);
 	}
 
 	@NotNull
-	private InputStream setAnnotationAndGetInputStream(InputStream inputStream, String machineGroup, List<DictBiz> annoDictList, String text, int lineIndex) throws IOException {
+	private InputStream setAnnotationAndGetInputStream(InputStream inputStream, String systemDictVal, List<DictBiz> annoDictList, String text, int lineIndex) throws IOException {
 		InputStream finishedStream;
 		try(inputStream){
 			ByteArrayInputStream byteInputStream =  new ByteArrayInputStream(IOUtils.toByteArray(inputStream));
 
-			String annoTxt = generateAnnotation(text,machineGroup,annoDictList);//鍔犱簡娉ㄩ噴涔嬪悗鐨勬枃鏈�
+			String annoTxt = generateAnnotation(text,systemDictVal,annoDictList);//鍔犱簡娉ㄩ噴涔嬪悗鐨勬枃鏈�
 
 			String lineText = FileContentUtil.readLineAt(byteInputStream, lineIndex);
 			byteInputStream.reset();
 
-			if(isAnnotation(lineText,machineGroup,annoDictList)){
+			if(isAnnotation(lineText,systemDictVal,annoDictList)){
 				finishedStream = FileContentUtil.replaceAtLine(byteInputStream, lineIndex,annoTxt);
 			}else{
 				finishedStream = FileContentUtil.insertLine(byteInputStream, lineIndex,annoTxt);
@@ -198,11 +155,11 @@
 	 * @param sendPath 鍙戦�佽矾寰�
 	 * @param statusText 鐘舵�佹枃鏈�
 	 * @param inputStream 杈撳叆娴�
-	 * @param machineGroup 鏈哄簥缁勪唬鐮�
+	 * @param systemDictVal 鎺у埗绯荤粺浠g爜
 	 * @return 鍔犲ソ鍙戦�佽矾寰勫拰鐘舵�佹枃鏈殑杈撳叆娴�
 	 * @throws IOException
 	 */
-	public InputStream setSendDirAndStatusAnnotation(String sendPath,String statusText,InputStream inputStream, String machineGroup) throws IOException {
+	public InputStream setSendDirAndStatusAnnotation(String sendPath,String statusText,InputStream inputStream, String systemDictVal) throws IOException {
 		List<DictBiz> annoDicts = getAnnotionDictList();
 
 		InputStream finishedStream;
@@ -210,8 +167,7 @@
 			ByteArrayInputStream byteInputStream =  new ByteArrayInputStream(IOUtils.toByteArray(inputStream));
 
 			//1鍔犲叆鍙戦�佽矾寰勭殑娉ㄩ噴
-			String sendPathAnnotation = generateAnnotation(sendPath,machineGroup,annoDicts);//鍔犱簡娉ㄩ噴涔嬪悗鐨勬枃鏈�
-
+			String sendPathAnnotation = generateAnnotation(sendPath,systemDictVal,annoDicts);//鍔犱簡娉ㄩ噴涔嬪悗鐨勬枃鏈�
 
 			String sendDirLine = FileContentUtil.readLineAt(byteInputStream,SENDPATH_LINE_INDEX);//绗�2琛屾槸鍙戦�佽矾寰�
 			byteInputStream.reset();
@@ -219,7 +175,7 @@
 			byteInputStream.reset();
 
 			InputStream insAfterSetSendDir ;
-			if(isAnnotation(sendDirLine,machineGroup,annoDicts)){
+			if(isAnnotation(sendDirLine,systemDictVal,annoDicts)){
 				insAfterSetSendDir = FileContentUtil.replaceAtLine(byteInputStream,SENDPATH_LINE_INDEX,sendPathAnnotation);
 			}else{
 				insAfterSetSendDir = FileContentUtil.insertLine(byteInputStream,SENDPATH_LINE_INDEX,sendPathAnnotation);
@@ -227,8 +183,8 @@
 
 			insAfterSetSendDir.reset();
 			//鍔犲叆鐘舵�佹敞閲婅
-			String statusAnnotation = generateAnnotation(statusText,machineGroup,annoDicts);//娉ㄩ噴鍚庣殑鐘舵�佹枃鏈�
-			if(isAnnotation(statusLine,machineGroup,annoDicts)){
+			String statusAnnotation = generateAnnotation(statusText,systemDictVal,annoDicts);//娉ㄩ噴鍚庣殑鐘舵�佹枃鏈�
+			if(isAnnotation(statusLine,systemDictVal,annoDicts)){
 				finishedStream = FileContentUtil.replaceAtLine(insAfterSetSendDir,STATUS_LINE_INDEX,statusAnnotation);
 			}else{
 				finishedStream = FileContentUtil.insertLine(insAfterSetSendDir,STATUS_LINE_INDEX,statusAnnotation);
@@ -240,15 +196,15 @@
 
 	/**
 	 * 瑙f瀽鍑烘満搴婄▼搴忔敞閲婄殑鏍煎紡
-	 * @param machineGroupCode 鏈哄簥缁�
+	 * @param systemDictVal 鏁版帶绯荤粺瀛楀吀鍊�
 	 * @param annoDictList 閰嶇疆鐨勬敞閲婂瓧鍏告暟鎹�
 	 * @return
 	 */
-	ProgramAnnotation getProgramAnnotationFormat(String machineGroupCode,List<DictBiz> annoDictList){
+	ProgramAnnotation getProgramAnnotationFormat(String systemDictVal,List<DictBiz> annoDictList){
 		String begin;
 		String end;
 
-		Optional<DictBiz> dictOpt = annoDictList.stream().filter(dict -> {return dict.getDictKey().equals(machineGroupCode);}).findFirst();
+		Optional<DictBiz> dictOpt = annoDictList.stream().filter(dict -> {return dict.getDictKey().equals(systemDictVal);}).findFirst();
 		String annotationSetting = DEFAULT_ANNOTATION_SETTING;
 		if(dictOpt.isPresent()) {
 			annotationSetting = dictOpt.get().getRemark();
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/statreport/service/ApproveTableService.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/statreport/service/ApproveTableService.java
index 7eda2b9..2de1b6c 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/statreport/service/ApproveTableService.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/statreport/service/ApproveTableService.java
@@ -1,9 +1,6 @@
 
 package org.springblade.mdm.statreport.service;
 
-import com.itextpdf.text.DocumentException;
-import freemarker.template.Template;
-import freemarker.template.TemplateException;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.StringUtils;
 import org.springblade.core.oss.OssTemplate;
@@ -12,11 +9,9 @@
 import org.springblade.mdm.basesetting.machine.entity.Machine;
 import org.springblade.mdm.basesetting.machine.service.MachineService;
 import org.springblade.mdm.commons.service.ParamService;
-import org.springblade.mdm.commons.support.TemplatedPdfWriter;
 import org.springblade.mdm.flow.constants.FlowContants;
 import org.springblade.mdm.flow.entity.TaskDispatch;
 import org.springblade.mdm.flow.service.ApproveInfoQueryService;
-import org.springblade.mdm.flow.service.FlowCommonService;
 import org.springblade.mdm.flow.service.FlowProgramProperties;
 import org.springblade.mdm.flow.service.TaskDispatchService;
 import org.springblade.mdm.flow.vo.ApproveTableInfo;
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/statreport/utils/XmlToDocxWithPOI.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/statreport/utils/XmlToDocxWithPOI.java
deleted file mode 100644
index bb76dee..0000000
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/statreport/utils/XmlToDocxWithPOI.java
+++ /dev/null
@@ -1,25 +0,0 @@
-package org.springblade.mdm.statreport.utils;
-import org.apache.commons.io.FileUtils;
-import org.docx4j.openpackaging.contenttype.ContentType;
-import org.docx4j.openpackaging.packages.WordprocessingMLPackage;
-import org.docx4j.openpackaging.parts.WordprocessingML.AltChunkType;
-import org.docx4j.openpackaging.parts.WordprocessingML.MainDocumentPart;
-import org.docx4j.openpackaging.parts.WordprocessingML.AlternativeFormatInputPart;
-import org.docx4j.openpackaging.parts.PartName;
-import org.docx4j.wml.ObjectFactory;
-
-import java.io.File;
-import java.io.FileInputStream;
-
-public class XmlToDocxWithPOI {
-	public static void convertXmlToDocx(String xmlFilePath, String outputFilePath) throws Exception {
-
-// 鍒涘缓 Word 鏂囨。瀵硅薄
-		WordprocessingMLPackage wordMLPackage = WordprocessingMLPackage.createPackage();
-		MainDocumentPart mainDocumentPart = wordMLPackage.getMainDocumentPart();
-
-		mainDocumentPart.addAltChunk(AltChunkType.Xml,new FileInputStream(xmlFilePath));
-
-		wordMLPackage.save(new File(outputFilePath));
-	}
-}
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 ff090f8..c49cee9 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
@@ -42,208 +42,4 @@
 
 	}
 
-	/**
-	 * 鎵弿鎵�鏈夋満搴婄殑閰嶇疆涔嬬洰褰�
-	 */
-	/*
-	public void scanMachineFile() {
-		List<Machine> machines = machineService.lambdaQuery().eq(Machine::getStatus,Machine.STATUS_ENABLE).list();
-		for (Machine machine : machines) {
-
-			//鎵弿鏂版枃浠�
-			try {
-				scanDir(machine,MachineFile.DIR_TYPE_REC);
-			}catch(Exception e) {
-				log.error("REC鎵弿鏂囦欢寮傚父,鏈哄簥{}", machine.getCode(), e);
-			}
-			try {
-				scanDir(machine,MachineFile.DIR_TYPE_SEND);
-			}catch(Exception e) {
-				log.error("SEND鎵弿鏂囦欢寮傚父,鏈哄簥{}", machine.getCode(), e);
-			}
-			try {
-				scanDir(machine,MachineFile.DIR_TYPE_TEMP);
-			}catch(Exception e) {
-				log.error("TEMP鎵弿鏂囦欢寮傚父,鏈哄簥{}", machine.getCode(), e);
-			}
-
-			//娓呯悊鏁版嵁搴擄紝鍒犻櫎鏂囦欢涓嶅瓨鍦ㄧ殑鏁版嵁
-			try {
-				clearDeletedReccords(machine,MachineFile.DIR_TYPE_REC);
-			}catch(Exception e) {
-				log.error("REC鎵弿鏂囦欢寮傚父,鏈哄簥{}", machine.getCode(), e);
-			}
-			try {
-				clearDeletedReccords(machine,MachineFile.DIR_TYPE_SEND);
-			}catch(Exception e) {
-				log.error("SEND鎵弿鏂囦欢寮傚父,鏈哄簥{}", machine.getCode(), e);
-			}
-			try {
-				clearDeletedReccords(machine,MachineFile.DIR_TYPE_TEMP);
-			}catch(Exception e) {
-				log.error("TEMP鎵弿鏂囦欢寮傚父,鏈哄簥{}", machine.getCode(), e);
-			}
-		}
-
-	}
-	*/
-
-	/**
-	 * 鎵弿鐩綍
-	 * @param machine 鏈哄簥淇℃伅
-	 * @param dirType 鐩綍绫诲瀷
-	 * @throws IOException
-	 */
-	/*
-	public void scanDir(Machine machine,String dirType) throws IOException {
-		String basePath = MachineFileService.getBasePath(machine,dirType);
-		if(basePath == null) {
-			log.warn("鐩綍绫诲瀷涓嶅尮閰�:{}",dirType);
-			return;
-		}
-		Path dirPath = Paths.get(basePath);
-		if(!dirPath.toFile().exists()){
-			log.warn("鎵弿鐩綍:{} 涓嶅瓨鍦�",dirPath);
-			return;
-		}
-		// 鍙寘鍚櫘閫氭枃浠�
-		List<Path> files = Files.list(dirPath)
-			.filter(Files::isRegularFile).toList();
-
-		byte[] buffer = new byte[2048];
-
-		MachineFile existFileInDb;
-		List<DictBiz> annotatiionList = programAnnotationService.getAnnotionDictList();
-		//boolean exists;//鏂囦欢鏄惁瀛樺湪浜庢暟鎹簱涓�
-		for (Path filePath : files) {
-
-			existFileInDb = null;
-			//exists = false;
-
-			MachineFile mf = new MachineFile();
-
-			mf.setTenantId("000000");
-			mf.setName(filePath.toFile().getName());
-			mf.setDirType(dirType);
-			mf.setMachineCode(machine.getCode());
-
-			try {
-				//璇诲彇鍐呭锛岀‘瀹氱▼搴忕姸鎬�
-				int pstatus = readProgramStatus(filePath,machine.getMachineGroupCode(),annotatiionList);
-				mf.setProgramStatus(pstatus);
-				BasicFileAttributes attrs = Files.readAttributes(
-					filePath,
-					BasicFileAttributes.class
-				);
-
-				FileTime creationTime = attrs.creationTime();
-				Date creationDate = new Date(creationTime.toMillis());
-				mf.setFileCreateTime(creationDate);
-
-				FileTime modifyTime = attrs.lastModifiedTime();
-				mf.setFileModifyTime(new Date(modifyTime.toMillis()));
-				mf.setFileSize(Files.size(filePath));
-				try (InputStream inputStream = Files.newInputStream(filePath)) {
-					// 浣跨敤杈撳叆娴佽鍙栨枃浠跺唴瀹�
-					int bytesRead = inputStream.read(buffer);
-					mf.setMd5(DigestUtils.md5Hex(buffer));
-				} catch (IOException e) {
-					log.error("璇诲彇鏂囦欢md5澶辫触",e);
-					continue;//鏈夐敊璇�,鎺犺繃
-				}
-
-				//exists = machineFileService.fileExists(mf.getName(),dirType,machine.getCode());
-
-				existFileInDb = machineFileService.getExistsFile(mf.getName(),dirType,machine.getCode());
-				System.out.println("鏂囦欢鍒涘缓鏃堕棿: " + creationDate);
-			} catch (IOException e) {
-				log.error("璇诲彇鏂囦欢淇℃伅澶辫触",e);
-			}
-			if(existFileInDb == null) {
-				machineFileService.save(mf);
-			}else{
-				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())){
-					//鏂囦欢鍐呭鍙戠敓鍙樺寲浜�,璁剧疆鐘舵�佷负鍒濆鐘舵��
-					existFileInDb.setStatus(MachineFile.STATUS_NORMAL);
-				}
-				existFileInDb.setMd5(mf.getMd5());
-
-
-				machineFileService.updateById(existFileInDb);
-
-			}
-
-		}
-
-
-	}
-	*/
-	/**
-	 * 璇诲彇鏂囦欢涓殑绋嬪簭鐘舵��
-	 * @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
-	 * @throws IOException
-	 */
-	/*
-	void clearDeletedReccords(Machine machine,String dirType) throws IOException {
-		List<MachineFile> machineFiles =  this.machineFileService.lambdaQuery().eq(MachineFile::getDirType,dirType)
-			.eq(MachineFile::getMachineCode,machine.getCode()).list();
-
-		String basePath = MachineFileService.getBasePath(machine,dirType);
-		if(basePath == null) {
-			log.warn("鐩綍绫诲瀷涓嶅尮閰�:{}",dirType);
-			return;
-		}
-		Path dirPath = Paths.get(basePath);
-		if(!dirPath.toFile().exists()){
-			log.warn("鎵弿鐩綍:{} 涓嶅瓨鍦�",dirPath);
-			return;
-		}
-
-		List<Path> files = Files.list(dirPath)
-			.filter(Files::isRegularFile).toList();
-
-		for(MachineFile mf : machineFiles){
-			long findCount = files.stream().filter(filePath -> filePath.toFile().getName().equals(mf.getName())).count();
-			if(findCount == 0){
-				//鏂囦欢澶瑰唴娌℃壘鍒帮紝闇�瑕佸垹闄よ褰�
-				mf.markFileDeleted();
-				this.machineFileService.updateById(mf);
-			}
-		}
-	}*/
 }
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/utils/FileContentUtil.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/utils/FileContentUtil.java
index 7aef091..0d46269 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/utils/FileContentUtil.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/utils/FileContentUtil.java
@@ -159,10 +159,10 @@
 	/**
 	 * 鏇挎崲鏂囦欢涓殑鏌愪竴琛�
 	 * @param ins 杈撳叆娴�
-	 * @param repalceWith 鏇挎崲鍚庣殑鏂囨湰
+	 * @param replaceWith 鏇挎崲鐨勬枃鏈�
 	 * @param lineIndex 琛岀储寮� 0 based
 	 */
-    public static InputStream replaceAtLine(InputStream ins, int lineIndex,String repalceWith) throws IOException {
+    public static InputStream replaceAtLine(InputStream ins, int lineIndex,String replaceWith) throws IOException {
 		byte[] bytes = ins.readAllBytes();
 		ByteArrayInputStream byteStream = new ByteArrayInputStream(bytes);
 		Charset charset = Charsets.charset(detectFromInputStream(byteStream));
@@ -180,7 +180,7 @@
 			while ((line = reader.readLine()) != null) {
 				// 濡傛灉鏄洰鏍囪锛屽啓鍏ユ柊鍐呭
 				if (currentLine == lineIndex) {
-					writer.write(repalceWith);
+					writer.write(replaceWith);
 				} else {
 					writer.write(line);
 				}
diff --git a/blade-service/blade-mdm/src/main/resources/processesbpmn/program-replace.bpmn20.xml b/blade-service/blade-mdm/src/main/resources/processesbpmn/program-replace.bpmn20.xml
index 5ec6729..86b3f78 100644
--- a/blade-service/blade-mdm/src/main/resources/processesbpmn/program-replace.bpmn20.xml
+++ b/blade-service/blade-mdm/src/main/resources/processesbpmn/program-replace.bpmn20.xml
@@ -8,12 +8,12 @@
       </extensionElements>
     </endEvent>
     <userTask id="repalceCheckTask" name="鏁版帶绋嬪簭鏍″" flowable:assignee="${assignee}"/>
-    <userTask id="repalceProgrammingTask" name="鏁版帶绋嬪簭缂栧啓" flowable:assignee="${assignee}"/>
+    <userTask id="replaceProgrammingTask" name="鏁版帶绋嬪簭缂栧啓" flowable:assignee="${assignee}"/>
     <userTask id="replaceApprove" name="绋嬪簭鏇挎崲瀹℃牳" flowable:assignee="${assignee}"/>
     <sequenceFlow id="sid-bf9c31fa-f8c4-4ff5-b4d9-ce3cc0bd1fa2" sourceRef="replaceApprove" targetRef="replaceApproveEnd">
       <conditionExpression>${approve=='Y'}</conditionExpression>
     </sequenceFlow>
-    <sequenceFlow id="sid-318e94d8-f335-428a-b2a1-81cb2e59993f" sourceRef="repalceProgrammingTask" targetRef="repalceCheckTask">
+    <sequenceFlow id="sid-318e94d8-f335-428a-b2a1-81cb2e59993f" sourceRef="replaceProgrammingTask" targetRef="repalceCheckTask">
       <conditionExpression>${approve=='Y'}</conditionExpression>
     </sequenceFlow>
     <sequenceFlow id="sid-ffcf7c0a-7775-45fc-8e0a-368d70522633" sourceRef="repalceCheckTask" targetRef="replaceApprove">
@@ -22,16 +22,16 @@
     <sequenceFlow id="sid-c4180f0a-6120-4504-96e3-28ddd7975c15" sourceRef="replaceApprove" targetRef="repalceCheckTask">
       <conditionExpression>${approve=='N'}</conditionExpression>
     </sequenceFlow>
-    <sequenceFlow id="sid-b78c5f58-0487-4cda-8ed8-0ea581b9e934" sourceRef="repalceCheckTask" targetRef="repalceProgrammingTask">
+    <sequenceFlow id="sid-b78c5f58-0487-4cda-8ed8-0ea581b9e934" sourceRef="repalceCheckTask" targetRef="replaceProgrammingTask">
       <conditionExpression>${approve=='N'}</conditionExpression>
     </sequenceFlow>
     <sequenceFlow id="sid-36e913be-1be9-49d3-a8a3-51aadd0e945c" sourceRef="sid-0e059345-0bf2-4c18-af59-ee7aeef674c7" targetRef="repalceCheckTask"/>
-    <endEvent id="sid-75a8afef-26b1-4dce-9ad9-4a1d4efff08c" name="閫�鍑虹粨鏉�"></endEvent>
-    <sequenceFlow id="sid-c86f3a13-5e74-423a-b80d-19ef482eb9e1" sourceRef="repalceProgrammingTask" targetRef="exceptionHandleTask">
+    <endEvent id="sid-75a8afef-26b1-4dce-9ad9-4a1d4efff08c" name="閫�鍑虹粨鏉�"/>
+    <sequenceFlow id="sid-c86f3a13-5e74-423a-b80d-19ef482eb9e1" sourceRef="replaceProgrammingTask" targetRef="exceptionHandleTask">
       <conditionExpression>${approve=='N'}</conditionExpression>
     </sequenceFlow>
     <scriptTask id="exceptionHandleTask" name="寮傚父璁剧疆浠诲姟" scriptFormat="groovy">
-        <script><![CDATA[
+      <script><![CDATA[
           execution.setVariable("exception", "1");
         ]]></script>
     </scriptTask>
@@ -48,7 +48,7 @@
       <bpmndi:BPMNShape id="shape-69fea4e5-2bbd-43d3-9bbb-53342e3d898d" bpmnElement="repalceCheckTask">
         <omgdc:Bounds x="-137.5" y="-105.0" width="50.000004" height="35.0"/>
       </bpmndi:BPMNShape>
-      <bpmndi:BPMNShape id="shape-9d186c35-7e72-4cff-99f6-88352cb15b55" bpmnElement="repalceProgrammingTask">
+      <bpmndi:BPMNShape id="shape-9d186c35-7e72-4cff-99f6-88352cb15b55" bpmnElement="replaceProgrammingTask">
         <omgdc:Bounds x="-145.0" y="2.5" width="45.0" height="35.0"/>
       </bpmndi:BPMNShape>
       <bpmndi:BPMNShape id="shape-bd196b3d-c1ab-4167-a264-7cfc2cf6ec9e" bpmnElement="replaceApprove">
diff --git a/blade-service/blade-mdm/src/test/java/org/springblade/mdm/statreport/utils/XmlToDocxWithPOITest.java b/blade-service/blade-mdm/src/test/java/org/springblade/mdm/statreport/utils/XmlToDocxWithPOITest.java
index 2893b81..0025155 100644
--- a/blade-service/blade-mdm/src/test/java/org/springblade/mdm/statreport/utils/XmlToDocxWithPOITest.java
+++ b/blade-service/blade-mdm/src/test/java/org/springblade/mdm/statreport/utils/XmlToDocxWithPOITest.java
@@ -1,28 +1,11 @@
 package org.springblade.mdm.statreport.utils;
 
 import org.apache.poi.xwpf.usermodel.*;
-import org.apache.xmlbeans.XmlException;
-import org.docx4j.Docx4J;
-import org.docx4j.TraversalUtil;
-import org.docx4j.openpackaging.packages.WordprocessingMLPackage;
-import org.docx4j.openpackaging.exceptions.Docx4JException;
-import org.docx4j.openpackaging.parts.WordprocessingML.MainDocumentPart;
-import org.docx4j.wml.ContentAccessor;
-import org.docx4j.wml.P;
-import org.docx4j.wml.R;
-import org.docx4j.wml.Text;
 import org.junit.jupiter.api.Test;
-import javax.xml.bind.JAXBElement;
 import java.io.*;
-import java.nio.charset.StandardCharsets;
-import java.nio.file.Files;
-import java.nio.file.Paths;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
-import org.docx4j.XmlUtils;
-import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTBody;
-import org.openxmlformats.schemas.wordprocessingml.x2006.main.DocumentDocument;
 
 public class XmlToDocxWithPOITest {
 	private String checked = "鈽�";

--
Gitblit v1.9.3