From a3048fa6fa72fa3cc5da2c43c59bd000e00c9599 Mon Sep 17 00:00:00 2001
From: yangys <y_ys79@sina.com>
Date: 星期四, 18 九月 2025 23:13:32 +0800
Subject: [PATCH] 工控网分析程序状态问题修复

---
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/machinefile/controller/MachineAcceptedFileHandleController.java |    1 
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/NcProgramExportDNCService.java                  |   13 ++-
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/machinefile/service/NcProgramExportInnerService.java            |   19 ++++
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/commons/service/InternalEmailService.java                       |   17 +++
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/test/MyTestController.java                                      |    4 
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/ProgramOnMachineExportService.java                 |    2 
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/ProgramAnnotationService.java                   |   12 +-
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/programannotation/AnnotationUtil.java           |   14 +++
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/task/ReceiveDirMoveTask.java                                    |   17 ++--
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/machinefile/service/ReceiveFileCheckService.java                |   22 +++--
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/DncBackFileService.java                         |   31 -------
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/task/ReceiveDirCheckTask.java                                   |   10 +-
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/controller/ProgramOnMachineExportController.java           |    1 
 blade-service/blade-mdm/src/main/java/org/springblade/mdm/machinefile/service/MachineFileScanService.java                 |   26 +++---
 14 files changed, 101 insertions(+), 88 deletions(-)

diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/commons/service/InternalEmailService.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/commons/service/InternalEmailService.java
index b20aaed..50b42e2 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/commons/service/InternalEmailService.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/commons/service/InternalEmailService.java
@@ -1,6 +1,8 @@
 package org.springblade.mdm.commons.service;
 
 import lombok.extern.slf4j.Slf4j;
+import org.apache.cxf.transport.http.HTTPConduit;
+import org.apache.cxf.transports.http.configuration.HTTPClientPolicy;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.apache.cxf.endpoint.Client;
@@ -13,7 +15,6 @@
 
 	public void send(String fromid,String toids, String ccids, String bccids, String subject, String content, String[] paths) {
 		try {
-
 			// 鍒涘缓鍔ㄦ�佸鎴风宸ュ巶
 			JaxWsDynamicClientFactory dcf = JaxWsDynamicClientFactory.newInstance();
 
@@ -21,12 +22,24 @@
 			//Client client = dcf.createClient("http://localhost:8080/services/EmailService?wsdl");
 			Object[] result;
 			try (Client client = dcf.createClient(internalEmailProperties.getMailServiceAddr())) {
+				// 鑾峰彇 HTTPConduit 骞堕厤缃瓥鐣�
+				HTTPConduit conduit = (HTTPConduit) client.getConduit();
+				HTTPClientPolicy policy = new HTTPClientPolicy();
+
+				// 璁剧疆杩炴帴瓒呮椂锛堟绉掞級
+				policy.setConnectionTimeout(10000);
+				// 璁剧疆鎺ユ敹鍝嶅簲瓒呮椂锛堟绉掞級
+				policy.setReceiveTimeout(10000);
+				// 璁剧疆閲嶄紶娆℃暟
+				policy.setMaxRetransmits(2);
+				conduit.setClient(policy);
+
 				// 璋冪敤鏂规硶
 				result = client.invoke("sendInternalMail", fromid, toids, ccids, bccids, subject, content, null);
 
 				// 澶勭悊鍝嶅簲
 				if (result != null && result.length > 0) {
-					System.out.println("鍝嶅簲: " + result[0]);
+					log.info("鍙戦�侀偖浠跺搷搴�:{} " ,result[0]);
 				}
 			}
 		}catch(Exception e) {
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/controller/ProgramOnMachineExportController.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/controller/ProgramOnMachineExportController.java
index 3c9f4df..ea72a31 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/controller/ProgramOnMachineExportController.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/controller/ProgramOnMachineExportController.java
@@ -49,7 +49,6 @@
 		return R.data(pages);
 	}
 
-
 	@PostMapping("/export")
 	@Operation(summary = "瀵煎嚭鐜板満缂栧埗璁板綍", description = "瀵煎嚭鐜板満缂栧埗璁板綍")
 	public void export(ProgramOnMachineQueryVO queryVO,HttpServletResponse response) throws IOException {
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/ProgramOnMachineExportService.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/ProgramOnMachineExportService.java
index 0416a43..db26cc3 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/ProgramOnMachineExportService.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/ProgramOnMachineExportService.java
@@ -38,7 +38,7 @@
 	 */
 	public IPage<FlowVO> finishedPage(IPage<FlowVO> page, ProgramOnMachineQueryVO queryVO) {
 		//鍥哄寲閲岃矾鏉戝畼
-		HistoricProcessInstanceQuery query = this.historyService.createHistoricProcessInstanceQuery().finished().processDefinitionKey(FlowConstant.CURE_PROCESS_KEY).includeProcessVariables();
+		HistoricProcessInstanceQuery query = this.historyService.createHistoricProcessInstanceQuery().finished().processDefinitionKey(FlowConstant.TRY_PROCESS_KEY).includeProcessVariables();
 			//.finished() // 鍙煡璇㈠凡瀹屾垚鐨勬祦绋�.unfinished() // 鏌ヨ鏈畬鎴愮殑娴佺▼
 		query.variableNotExists(FlowVariableConstant.EXCEPTION);//闈炲紓甯告祦绋�
 		query.variableValueEquals(FlowVariableConstant.PROGRAM_ON_MACHINE, FlowConstant.Y);//閫夋嫨鐜板満缂栧埗鐨�
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machinefile/controller/MachineAcceptedFileHandleController.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machinefile/controller/MachineAcceptedFileHandleController.java
index 22691fc..98a3086 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machinefile/controller/MachineAcceptedFileHandleController.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machinefile/controller/MachineAcceptedFileHandleController.java
@@ -57,7 +57,6 @@
 		}
 		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);
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 ab4e604..6fcc498 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
@@ -8,7 +8,10 @@
 import org.springblade.mdm.commons.service.ParamService;
 import org.springblade.mdm.machinefile.entity.MachineFile;
 import org.springblade.mdm.program.service.ProgramAnnotationService;
+import org.springblade.mdm.program.service.programannotation.AnnotationProcessor;
 import org.springblade.mdm.program.service.programannotation.AnnotationUtil;
+import org.springblade.mdm.program.service.programannotation.MachineAnnotationConfig;
+import org.springblade.mdm.program.service.programannotation.ProcessorHelper;
 import org.springblade.mdm.utils.FileContentUtil;
 import org.springblade.system.pojo.entity.DictBiz;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -37,7 +40,8 @@
 	private ParamService paramService;
 	@Autowired
 	private ProgramAnnotationService programAnnotationService;
-
+	@Autowired
+	private MachineAnnotationConfig annoConfig;
 
 	/**
 	 * 鎵弿鎵�鏈夋満搴婄殑閰嶇疆鐩綍
@@ -106,15 +110,11 @@
 		List<Path> files = Files.list(dirPath)
 			.filter(Files::isRegularFile).toList();
 
-		byte[] buffer = new byte[2048];
-
-
+		//byte[] buffer = new byte[2048];
 		List<DictBiz> annotatiionList = programAnnotationService.getAnnotionDictList();
 		//boolean exists;//鏂囦欢鏄惁瀛樺湪浜庢暟鎹簱涓�
 		for (Path filePath : files) {
 			try {
-
-
 				MachineFile mf = readFileToMachineFile(filePath,machine,dirType,annotatiionList);
 
 				machineFileService.refreshFileData(mf);
@@ -177,7 +177,7 @@
 	 * @return 鐘舵�佺殑鏁存暟涔嬪拰
 	 * @throws IOException
 	 */
-	int readProgramStatus(Path filePath,String controlSystem,List<DictBiz> annotatiionList) throws IOException {
+	public 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)){
@@ -187,14 +187,16 @@
 				return MachineFile.PROGRAM_STATUS_UNKNOWN;
 			}
 			bis.reset();
-			String statusLine = FileContentUtil.readLineAt(ins,ProgramAnnotationService.STATUS_LINE_INDEX);
+
+			AnnotationProcessor annoProcessor = ProcessorHelper.getProcessor(controlSystem,annoConfig);
+			String statusLine = FileContentUtil.readLineAt(ins, annoProcessor.getAnnotationProperties().getStatusLineIndex());
 			if(AnnotationUtil.isAnnotation(statusLine,controlSystem,annotatiionList)){
-				String progStatusTxt = programAnnotationService.removeAnnotation(controlSystem,statusLine,annotatiionList);
-				if(ProgramAnnotationService.SQ.equals(progStatusTxt)){
+				String progStatusTxt = AnnotationUtil.removeAnnotation(controlSystem,statusLine,annotatiionList);
+				if(AnnotationUtil.SQ.equals(progStatusTxt)){
 					programStatus = MachineFile.PROGRAM_STATUS_TRY;
-				}else if(ProgramAnnotationService.GH.equals(progStatusTxt)){
+				}else if(AnnotationUtil.GH.equals(progStatusTxt)){
 					programStatus = MachineFile.PROGRAM_STATUS_CURED;
-				}else if(ProgramAnnotationService.PL.equals(progStatusTxt)){
+				}else if(AnnotationUtil.LG.equals(progStatusTxt)){
 					programStatus = MachineFile.PROGRAM_STATUS_DIVIASTION;
 				}
 			}
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machinefile/service/NcProgramExportInnerService.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machinefile/service/NcProgramExportInnerService.java
index 2b28b62..fafafe7 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machinefile/service/NcProgramExportInnerService.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machinefile/service/NcProgramExportInnerService.java
@@ -97,6 +97,14 @@
 		zipOut.closeEntry();
 	}
 
+	/**
+	 * 缁欏鍑烘枃浠跺鍔犳敞閲婏紝娑夊瘑缃戣鐢�
+	 * @param inputStream
+	 * @param filename
+	 * @param machineCode
+	 * @return
+	 * @throws IOException
+	 */
 	InputStream setAnnotations(InputStream inputStream,String filename,String machineCode) throws IOException {
 		Machine machine = this.machineService.getByCode(machineCode);
 		AnnotationProcessor annoProcessor = ProcessorHelper.getProcessor(machine.getControlSystem(),annoConfig);
@@ -109,12 +117,17 @@
 
 		ByteArrayInputStream bais = new ByteArrayInputStream(IOUtils.toByteArray(inputStream));
 		String statusLine = FileContentUtil.readLineAt(bais,annoProps.getStatusLineIndex());
-		String status = programAnnotationService.removeAnnotation(machine.getControlSystem(),statusLine);
-		if(StringUtils.equalsAny(status,"SQ","GH","PL")){
+		String text = programAnnotationService.removeAnnotation(machine.getControlSystem(),statusLine);
 
+		if(AnnotationUtil.isStatusContent(text)){
+			//鏄�3绉嶇姸鎬佷箣涓�
+			annoData.setProgramStatus(text);
+		}else{
+			//娌℃湁鎸夎瘯鍒囧鐞�
+			annoData.setProgramStatus(AnnotationUtil.SQ);
 		}
 		bais.reset();
-		annoData.setProgramStatus("3");
+		//
 		return annoProcessor.putAnnotation(annoData,bais);
 	}
 }
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machinefile/service/ReceiveFileCheckService.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machinefile/service/ReceiveFileCheckService.java
index fb4fa33..937aca5 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machinefile/service/ReceiveFileCheckService.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machinefile/service/ReceiveFileCheckService.java
@@ -51,27 +51,30 @@
 	 */
 	@Transactional(rollbackFor = Exception.class)
 	public void check(MachineFile machineFile,List<MachineFile> allFilesInDir,Machine machine) throws IOException {
+
 		String srcFilepath = MachineFileService.getBasePath(machine,machineFile.getDirType())+ File.separator+machineFile.getName();
-		Path source = Paths.get(srcFilepath);
-		if(!source.toFile().exists()){
+		log.info("寮�濮嬫鏌ユ枃浠秢}",srcFilepath);
+		Path checkFilePath = Paths.get(srcFilepath);
+		if(!checkFilePath.toFile().exists()){
 			return;
 		}
-		try(InputStream fileIns = Files.newInputStream(Paths.get(srcFilepath));) {
+		try(InputStream fileIns = Files.newInputStream(checkFilePath);) {
+			int excepType = MachineFile.EXCEPTION_OK;
 			if(!FileContentUtil.isTextFile(fileIns)){
 				//闈炴枃鏈�
-				machineFile.setExceptionType(MachineFile.EXCEPTION_NOT_TEXT);
+				excepType = MachineFile.EXCEPTION_NOT_TEXT;
 			}else{
 				Matcher matcher = RegExpConstants.PROGRAM_FILE_PATTERN.matcher(machineFile.getName());
 
 				boolean filenameValid = matcher.find();
 				if(!filenameValid){
-					machineFile.setExceptionType(MachineFile.EXCEPTION_BAD_FILENAME);
+					excepType = MachineFile.EXCEPTION_BAD_FILENAME;
 				}else {
 					ProgramNameVO progNameVO =  ProgramFileNameParser.parseProgramName(machineFile.getName());
 					String prefix = progNameVO.logicProgramName()+"-";
 					long matchCount = allFilesInDir.stream().filter(file -> file.getName().startsWith(prefix)).count();
 					if(matchCount != progNameVO.getSegmentCount()){//鏂囦欢娈垫暟缂哄け
-						machineFile.setExceptionType(MachineFile.EXCEPTION_LOST_FILES);
+						excepType = MachineFile.EXCEPTION_LOST_FILES;
 					}else{
 						//妫�鏌ユ槸鍚﹀尮閰嶄笅鍙戣褰曠殑娈垫暟
 						//姝h礋3绉掍綔涓烘煡璇㈡椂闂�
@@ -87,15 +90,14 @@
 							ProgramNameVO sendProgNameVO =  ProgramFileNameParser.parseProgramName(sendFile.getName());
 							if(progNameVO.getSegmentCount() != sendProgNameVO.getSegmentCount()){
 								//娈垫暟涓嶅尮閰�
-								machineFile.setExceptionType(MachineFile.EXCEPTION_NOT_MATCH_SEND);
-							}else{
-								machineFile.setExceptionType(MachineFile.EXCEPTION_OK);
+								excepType = MachineFile.EXCEPTION_NOT_MATCH_SEND;
 							}
 						}
 					}
 				}
 			}
-
+			machineFile.setExceptionType(excepType);
+			log.info("妫�鏌ユ枃浠剁粨鏉焮}",srcFilepath);
 			machineFileService.updateById(machineFile);
 		}
 	}
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/DncBackFileService.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/DncBackFileService.java
index 14d8f74..91d6a16 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/DncBackFileService.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/DncBackFileService.java
@@ -169,36 +169,5 @@
 		DncBackFile backFIle = this.getById(id);
 
 		return ZipTextFileContentUtil.getTextContent(this.ossTemplate.statFileStream(backFIle.getOssName()),entryName);
-		/*
-		try(InputStream inputStream = this.ossTemplate.statFileStream(backFIle.getOssName());){
-			Path tempZipFile = createTempFile(inputStream);
-
-			ZipEntry entry;
-			try (java.util.zip.ZipFile zipFile = new java.util.zip.ZipFile(tempZipFile.toFile())) {
-				Enumeration<? extends ZipEntry> entries = zipFile.entries();
-				while (entries.hasMoreElements()) {
-					entry = entries.nextElement();
-					if (!entryName.equals(entry.getName())) {
-						continue;
-					}
-					try (InputStream fileIns = zipFile.getInputStream(zipFile.getEntry(entryName))) {
-						ByteArrayInputStream bos = new ByteArrayInputStream(fileIns.readAllBytes());
-						boolean isText = StringUtils.endsWithIgnoreCase(entryName,".txt") || StringUtils.endsWithIgnoreCase(entryName,".nc")|| StringUtils.endsWithIgnoreCase(entryName,".xml");
-						if(!isText) {
-							isText = FileContentUtil.isTextFile(bos);
-						}
-						if (isText) {
-							bos.reset();
-							result = FileContentUtil.getContentFromStream(bos);
-						} else {
-							result = "<闈炴枃鏈枃浠�>";
-						}
-					}
-
-				}
-			}
-		}*/
-
-
 	}
 }
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 2b10063..1d7f63e 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
@@ -68,13 +68,16 @@
 				approved.setStatus(NcProgramApproved.STATUS_EXPORTED);
 				approvedService.updateById(approved);
 
-				NcNode pkgNode = this.ncNodeService.getById(approved.getNcNodeId());
-				if(pkgNode.isDeviationProgram()){
+				NcNodeHis pkgNodeHis = this.ncNodeHisService.getById(approved.getNcNodeId());
+				if(pkgNodeHis.isDeviationProgram()){
 					//鍋忕鍗曠殑绋嬪簭锛屽鏋滃鎵瑰鍑鸿褰曟槸瑙i攣褰㈡垚鐨勶紝杩樻槸闇�瑕侀攣瀹氾紱鏅�氳瘯鍒囪繃鐨勶紝涓嶉攣瀹�
 					HistoricProcessInstance hisInst = historyService.createHistoricProcessInstanceQuery().processInstanceId(approved.getProcessInstanceId()).singleResult();
 					if(hisInst != null && hisInst.getProcessDefinitionKey().equals(FlowConstant.UNLOCK_PROCESS_KEY)){
-						pkgNode.lock("涓嬪彂瀵煎嚭閿佸畾");
-						ncNodeService.updateById(pkgNode);
+						NcNode pkgNode = this.ncNodeService.getById(approved.getNcNodeId());
+						if(pkgNode != null) {
+							pkgNode.lock("涓嬪彂瀵煎嚭閿佸畾");
+							ncNodeService.updateById(pkgNode);
+						}
 					}
 				}
 			}
@@ -179,7 +182,7 @@
 	 * @param zipOut zip杈撳嚭娴�
 	 * @param inputStream 杈撳叆娴�
 	 * @param entryName 鏂囦欢鍚�
-	 * @throws IOException
+	 * @throws IOException 鍐欐枃浠跺紓甯�
 	 */
 	void addInputStreamToZip(ZipOutputStream zipOut, InputStream inputStream, String entryName)
 		throws IOException {
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 fdb8d11..741715b 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
@@ -34,26 +34,24 @@
 	@Autowired
 	private IDictBizClient bizDictClient;
 
-	private static final String DEFAULT_ANNOTATION_SETTING = "(,)";
+	//private static final String DEFAULT_ANNOTATION_SETTING = "(,)";
 
 	public static final String ANNOTATION_DICT = "machine_annotation";
 	/**
 	 * 鍙戦�佺洰褰曡绱㈠紩锛堢2琛岋級 0 based
 	 */
-	public static final int SENDPATH_LINE_INDEX = 1;
+	///public static final int SENDPATH_LINE_INDEX = 2;
 	/**
 	 * 鐘舵�佽绱㈠紩锛堢涓夎锛� 0 based
 	 */
-	public static final int STATUS_LINE_INDEX = 2;
+	//public static final int STATUS_LINE_INDEX = 3;
 
 	/**
 	 * 鍋忕鍗曟敞閲婅绱㈠紩鍙� 0 based
 	 */
-	public static final int STATUS_DEVIATION_INDEX = 3;
+	//public static final int STATUS_DEVIATION_INDEX = 4;
 
-	public static final String SQ = "SQ";
-	public static final String GH = "GH";
-	public static final String PL = "PL";
+
 
 	public List<DictBiz> getAnnotionDictList(){
 		List<DictBiz> annotationList;
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/programannotation/AnnotationUtil.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/programannotation/AnnotationUtil.java
index 3dd859a..f06ccdc 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/programannotation/AnnotationUtil.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/programannotation/AnnotationUtil.java
@@ -15,7 +15,18 @@
 
 public class AnnotationUtil {
 	static String DEFAULT_ANNOTATION_SETTING = "(,)";
+	public static final String SQ = "SQ";
+	public static final String GH = "GH";
+	public static final String LG = "LG";
 
+	/**
+	 * 鍒ゆ柇鏄惁鏄敞閲婅
+	 * @param text 鏂囧瓧
+	 * @return 鏄惁
+	 */
+	public static boolean isStatusContent(String text){
+		return StringUtils.containsAny(text,SQ,GH,LG);
+	}
 	public static ProgramAnnotation getProgramAnnotationFormat(String systemDictVal, List<DictBiz> annoDictList){
 		String begin;
 		String end;
@@ -75,4 +86,7 @@
 		return finishedStream;
 	}
 
+	public static String removeAnnotation(String systemDictVal,String text,List<DictBiz> annotatiionList){
+		return getProgramAnnotationFormat(systemDictVal,annotatiionList).cleanAnnotation(text);
+	}
 }
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/task/ReceiveDirCheckTask.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/task/ReceiveDirCheckTask.java
index 079a2d9..7e2529f 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/task/ReceiveDirCheckTask.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/task/ReceiveDirCheckTask.java
@@ -46,23 +46,23 @@
 	private ParamService paramService;
 	@Autowired
 	private ReceiveFileCheckService receiveFileCheckService;
-	/**
-	 * 鏂囦欢榛樿淇濆瓨灏忔椂鏁帮紝0涓嶉檺鍒�
-	 */
-	private static final int DEFAULT_HOUR = 0;
+
 	// 姣�5绉掓墽琛屼竴娆�
 	//@Scheduled(fixedRate = 1000000)
 	//@Scheduled(cron = "0 1 0 * * ?") // 姣忓ぉ涓婂崍0鐐�1鍒嗘墽琛�
 	//@Scheduled(cron = "0 */3 * * * ?")
 	//@Scheduled(cron = "0 15 19 * * ?") //test
 	//@Scheduled(cron = "${task.cron.machine_file_scan}")
-	@Scheduled(cron = "${task.cron.machine_rec_check:0 */10 * * * ?}")
+	@Scheduled(cron = "${task.cron.machine_rec_check:0 */11 * * * ?}")
 	public void execute() {
 		String networkType = paramService.getParamValue(ParamService.NETWORK_TYPE,ParamService.NETWORK_TYPE_SHEMI);
 
 		if(!ParamService.NETWORK_TYPE_SHEMI.equals(networkType)){
 			//闈炴秹瀵嗙綉锛屾墠鎵弿鐩綍鏂囦欢
+			log.info("reccheckfile start");
 			checkFiles();
+
+			log.info("reccheckfile end");
 		}
 
 	}
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 6ae2543..935f938 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
@@ -44,7 +44,7 @@
 
 		if(!ParamService.NETWORK_TYPE_SHEMI.equals(networkType)){
 			//闈炴秹瀵嗙綉锛屾墠鎵弿鐩綍鏂囦欢
-			moveOverTimeFiles();
+			moveValidateFiles();
 		}
 
 	}
@@ -52,25 +52,26 @@
 	/**
 	 * 鎵弿鏁版嵁搴撹褰曪紝瓒呮椂鍒欑Щ鍔ㄦ枃浠�
 	 */
-	public void moveOverTimeFiles() {
+	public void moveValidateFiles() {
 		List<Machine> machines = machineService.getEnableMachines();
 		LocalDateTime now = LocalDateTime.now();
 		for (Machine machine : machines) {
 			int remainHours = machine.getReceiveDirExpiryHours() != null ?machine.getReceiveDirExpiryHours():DEFAULT_HOUR;
-			if(remainHours == 0){
+			/*if(remainHours == 0){
 				continue;
-			}
-			LocalDateTime earlyTime = now.minusHours(remainHours);
-			List<MachineFile> overTimeFiles = this.machineFileService.lambdaQuery().lt(MachineFile::getFileCreateTime,earlyTime)
+			}*/
+			//LocalDateTime earlyTime = now.minusHours(remainHours);
+			List<MachineFile> pendingFiles = this.machineFileService.lambdaQuery()
 				.eq(MachineFile::getDirType,MachineFile.DIR_TYPE_REC)
 				.eq(MachineFile::getExceptionType,MachineFile.EXCEPTION_OK)
 				.eq(MachineFile::getMachineCode,machine.getCode()).list();
+//.lt(MachineFile::getFileCreateTime,earlyTime)
 
-			for(MachineFile overTimeFile : overTimeFiles){
+			for(MachineFile overTimeFile : pendingFiles){
 				try {
 					moveFileToTemp(overTimeFile, machine);
 				}catch(Exception e){
-					log.error("绉诲姩rec鏂囦欢澶辫触:"+overTimeFile.getName(),e);
+					log.error("绉诲姩rec鏂囦欢澶辫触:{}",overTimeFile.getName(),e);
 				}
 			}
 
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 4fc127a..e23d333 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
@@ -113,8 +113,8 @@
 
 	@GetMapping("/sendmail")
 	@Operation(summary = "sendmail", description = "sendmail")
-	public R<Void> sendmail(String code) throws IOException, MessagingException {
-
+	public R<Void> sendmail(String from,String to,String subject,String content) throws IOException, MessagingException {
+		this.mailService.send(from,to,null,null,subject,content,null);
 		return R.success();
 	}
 

--
Gitblit v1.9.3