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/machinefile/service/MachineAcceptedFileService.java | 73 +++++++++++++++++++++++++++++++++---
1 files changed, 67 insertions(+), 6 deletions(-)
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machinefile/service/MachineAcceptedFileService.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machinefile/service/MachineAcceptedFileService.java
index bd0865a..08ad5a8 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machinefile/service/MachineAcceptedFileService.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machinefile/service/MachineAcceptedFileService.java
@@ -7,12 +7,22 @@
import org.springblade.core.oss.OssTemplate;
import org.springblade.core.oss.model.BladeFile;
import org.springblade.core.tool.utils.Func;
+import org.springblade.mdm.basesetting.machine.entity.Machine;
+import org.springblade.mdm.basesetting.machine.service.MachineService;
+import org.springblade.mdm.gkw.programnode.vo.ProgramNameVO;
+import org.springblade.mdm.gkw.task.entity.MachineBackTask;
+import org.springblade.mdm.gkw.task.service.MachineBackTaskService;
import org.springblade.mdm.machinefile.entity.MachineFile;
import org.springblade.mdm.machinefile.entity.MachineAcceptedFile;
import org.springblade.mdm.machinefile.mapper.MachineAcceptedFileMapper;
import org.springblade.mdm.machinefile.vo.MachineAcceptedFileHandleQueryVO;
import org.springblade.mdm.machinefile.vo.MachineBackFileQueryVO;
import org.springblade.mdm.machinefile.vo.MachineAcceptedFileVO;
+import org.springblade.mdm.program.service.programannotation.AnnotationData;
+import org.springblade.mdm.program.service.programannotation.AnnotationProcessor;
+import org.springblade.mdm.program.service.programannotation.AnnotationProcessorHelper;
+import org.springblade.mdm.utils.ProgramFileNameParser;
+import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -20,16 +30,24 @@
import java.io.InputStream;
import java.nio.file.Files;
import java.nio.file.Paths;
+import java.util.ArrayList;
import java.util.List;
+import java.util.Objects;
-@AllArgsConstructor
+
@Service
public class MachineAcceptedFileService extends BizServiceImpl<MachineAcceptedFileMapper, MachineAcceptedFile> {
- private final MachineFileService machineFileService;
- private final OssTemplate ossTemplate;
+ @Autowired
+ private MachineFileService machineFileService;
+ @Autowired
+ private OssTemplate ossTemplate;
+ @Autowired
+ private MachineBackTaskService machineBackTaskService;
+ @Autowired
+ private AnnotationProcessorHelper annotationProcessorHelper;
/**
* 鎺ュ彈
- * @param ids
+ * @param ids 閫夊畾鎺ュ彈鐨刬d锛岄�楀彿鍒嗛殧
*/
@Transactional
public void accept(String ids) throws IOException {
@@ -43,7 +61,7 @@
/**
* 鎷掔粷
- * @param ids
+ * @param ids 閫夊畾鎷掔粷鐨刬d锛岄�楀彿鍒嗛殧
*/
public void reject(String ids) {
List<Long> idList = Func.toLongList(ids);
@@ -72,7 +90,7 @@
/**
* 鎺ユ敹鏂囦欢
* @param machineFileId 鏈哄簥鏂囦欢id
- * @throws IOException
+ * @throws IOException 鏂囦欢鎿嶄綔寮傚父
*/
void acceptFile(Long machineFileId) throws IOException {
MachineFile machineFile = machineFileService.getById(machineFileId);
@@ -88,7 +106,25 @@
BladeFile bfile = ossTemplate.putFile(machineFile.getName(),inputStream);
machineAcceptedFile.setOssName(bfile.getName());
}
+ try(InputStream inputStream = Files.newInputStream(Paths.get(fullPath));){
+ //閮芥暟鎹�
+ //Machine machine = this.machineService.getByCode(record.getMachineCode());
+ //AnnotationProcessor processor = annotationProcessorHelper.getProcessor(machine.getControlSystem());
+ //AnnotationData annotationData = processor.readAnnotationData(inputStream);
+ machineAcceptedFile.setBackTaskId(getMachineBackTaskId(machineAcceptedFile.getName(),machineFile.getDeviation()));
+ }
+
save(machineAcceptedFile);
+ }
+
+ Long getMachineBackTaskId(String filename,String deviation){
+ ProgramNameVO vo = ProgramFileNameParser.parseProgramName(filename);
+ MachineBackTask task = machineBackTaskService.queryMatchTaskByProgramName(vo,deviation);
+ if(task != null){
+ return task.getId();
+ }else{
+ return null;
+ }
}
/**
@@ -101,5 +137,30 @@
return this.getBaseMapper().handlePageQuery(Condition.getPage(query),query);
}
+ /**
+ * 鏍规嵁瀵煎嚭鐨勬帴鍙楁枃浠秈d锛岃幏鍙栧叾涓幇鍦虹紪绋嬬殑MachineFIle
+ * @param acceptedFiles 瀵煎嚭鐨勬帴鍙楁枃浠跺垪琛�
+ * @return machineFile
+ */
+ public List<MachineFile> exportedProgramOnMachineFiles(List<MachineAcceptedFile> acceptedFiles) {
+ List<Long> backTaskIds = acceptedFiles.stream().map(MachineAcceptedFile::getBackTaskId).filter(Objects::nonNull).toList();
+
+ //鐜板満缂栫▼鐨勪换鍔¢泦鍚�
+ //List<MachineBackTask> onMachineTasks1 = machineBackTaskService.lambdaQuery().in(MachineBackTask::getId, backTaskIds).list();
+ List<MachineBackTask> onMachineTasks = machineBackTaskService.lambdaQuery()
+ .eq(MachineBackTask::getTaskType,MachineBackTask.TASK_TYPE_ON_MACHINE)
+ .in(MachineBackTask::getId, backTaskIds).list();
+
+ List<Long> onMachineFileIds = new ArrayList<>();
+ for(MachineAcceptedFile accFile : acceptedFiles){
+ for(MachineBackTask backTask : onMachineTasks){
+ if(backTask.getId().equals(accFile.getBackTaskId())){
+ onMachineFileIds.add(accFile.getMachineFileId());
+ }
+ }
+ }
+
+ return machineFileService.lambdaQuery().in(MachineFile::getId,onMachineFileIds).list();
+ }
}
--
Gitblit v1.9.3