From 31ecdb8c700529a59dd762f0c47f0ed9c66d5092 Mon Sep 17 00:00:00 2001
From: yangys <y_ys79@sina.com>
Date: 星期四, 25 九月 2025 20:40:07 +0800
Subject: [PATCH] 工控网任务
---
blade-service/blade-mdm/src/main/java/org/springblade/mdm/task/ReceiveDirCheckTask.java | 72 +++++++----------------------------
1 files changed, 15 insertions(+), 57 deletions(-)
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 77a97e3..9238e90 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
@@ -9,12 +9,14 @@
import org.springblade.mdm.machinefile.entity.MachineFile;
import org.springblade.mdm.machinefile.service.FileSendRecordService;
import org.springblade.mdm.machinefile.service.MachineFileService;
+import org.springblade.mdm.machinefile.service.ReceiveFileCheckService;
import org.springblade.mdm.utils.FileContentUtil;
import org.springblade.mdm.utils.ProgramFileNameParser;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.EnableScheduling;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
+import org.springframework.transaction.annotation.Transactional;
import java.io.File;
import java.io.IOException;
@@ -43,24 +45,29 @@
@Autowired
private ParamService paramService;
@Autowired
- private FileSendRecordService fileSendRecordService;
- /**
- * 鏂囦欢榛樿淇濆瓨灏忔椂鏁帮紝0涓嶉檺鍒�
- */
- private static final int DEFAULT_HOUR = 0;
+ private ReceiveFileCheckService receiveFileCheckService;
+
+ @Autowired
+ private ReceiveDirMoveService receiveDirMoveService;
+
// 姣�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();
+
+ //妫�鏌ュ畬鎴愶紝鐩存帴绉诲姩鏃犲紓甯哥殑鏂囦欢
+ receiveDirMoveService.moveValidateFiles();
+ log.info("reccheckfile end");
}
}
@@ -79,9 +86,9 @@
for(MachineFile machineFile : recFiles){
try {
- checkFile(machineFile, recFiles,machine);
+ receiveFileCheckService.check(machineFile, recFiles,machine);
}catch(Exception e){
- log.error("妫�鏌ec鏂囦欢澶辫触:"+machineFile.getName(),e);
+ log.error("妫�鏌ec鏂囦欢澶辫触:{}",machineFile.getName(),e);
}
}
@@ -89,54 +96,5 @@
}
- /**
- * 鏂囦欢绉诲姩鍒皌emp
- * @param machineFile
- */
- private void checkFile(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()){
- return;
- }
- try(InputStream fileIns = Files.newInputStream(Paths.get(srcFilepath));) {
- if(!FileContentUtil.isTextFile(fileIns)){
- //闈炴枃鏈�
- machineFile.setExceptionType(MachineFile.EXCEPTION_NOT_TEXT);
- }else{
- ProgramNameVO progNameVO = ProgramFileNameParser.parseProgramName(machineFile.getName());
- if(!progNameVO.isValidFilename()){
- machineFile.setExceptionType(MachineFile.EXCEPTION_BAD_FILENAME);
- }else {
- 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);
- }else{
- //妫�鏌ユ槸鍚﹀尮閰嶄笅鍙戣褰曠殑娈垫暟
- //姝h礋3绉掍綔涓烘煡璇㈡椂闂�
- Date beginTime = new Date(machineFile.getFileCreateTime().getTime()-3000);
- Date endTime = new Date(machineFile.getFileCreateTime().getTime()+3000);
- Optional<FileSendRecord> optFile = fileSendRecordService.lambdaQuery()
- .eq(FileSendRecord::getMachineCode,machineFile.getMachineCode())
- .likeRight(FileSendRecord::getName,prefix).between(FileSendRecord::getCreateTime,beginTime,endTime).oneOpt();
- if(optFile.isPresent()){
- //纭疄涓嬪彂杩囷紝姣斿鎬绘鏁版槸鍚︾浉鍚�
- FileSendRecord sendFile = optFile.get();
- ProgramNameVO sendProgNameVO = ProgramFileNameParser.parseProgramName(sendFile.getName());
- if(progNameVO.getSegmentCount() != sendProgNameVO.getSegmentCount()){
- //娈垫暟涓嶅尮閰�
- machineFile.setExceptionType(MachineFile.EXCEPTION_NOT_MATCH_SEND);
- }else{
- machineFile.setExceptionType(MachineFile.EXCEPTION_OK);
- }
- }
- }
- }
- }
-
- machineFileService.updateById(machineFile);
- }
- }
}
--
Gitblit v1.9.3