yangys
2025-09-25 31ecdb8c700529a59dd762f0c47f0ed9c66d5092
blade-service/blade-mdm/src/main/java/org/springblade/mdm/machinefile/service/NcProgramExportInnerService.java
@@ -9,10 +9,15 @@
import org.springblade.core.mp.base.BizServiceImpl;
import org.springblade.core.oss.OssTemplate;
import org.springblade.core.tool.utils.DateUtil;
import org.springblade.core.tool.utils.SpringUtil;
import org.springblade.mdm.basesetting.machine.entity.Machine;
import org.springblade.mdm.basesetting.machine.service.MachineService;
import org.springblade.mdm.flow.excution.events.CureFinishedEvent;
import org.springblade.mdm.gkw.task.entity.MachineBackTask;
import org.springblade.mdm.gkw.task.service.MachineBackTaskService;
import org.springblade.mdm.machinefile.entity.MachineAcceptedFile;
import org.springblade.mdm.machinefile.entity.MachineFile;
import org.springblade.mdm.machinefile.events.ExportedToInnerEvent;
import org.springblade.mdm.program.entity.NcProgramExchange;
import org.springblade.mdm.program.mapper.NcProgramExchangeMapper;
import org.springblade.mdm.program.service.ProgramAnnotationService;
@@ -45,6 +50,8 @@
   private final MachineService machineService;
   private final AnnotationProcessorHelper annotationProcessorHelper;
   private final ProgramAnnotationService programAnnotationService;
   private final MachineBackTaskService machineBackTaskService;
   /**
    * 导出到涉密网
    * @param acceptedFileIds
@@ -54,9 +61,8 @@
   @Transactional
   public void exportToInner(List<Long> acceptedFileIds, ServletOutputStream os) throws IOException {
      List<MachineAcceptedFile> acceptedFiles = machineAcceptedService.lambdaQuery().in(MachineAcceptedFile::getId,acceptedFileIds).list();
      try (ZipOutputStream zipOut = new ZipOutputStream(os);) {//os
         List<MachineAcceptedFile>  acceptedFiles = machineAcceptedService.lambdaQuery().in(MachineAcceptedFile::getId,acceptedFileIds).list();
         Map<String,List<MachineAcceptedFile>> map =  acceptedFiles.stream()
            .collect(Collectors.groupingBy(s -> ProgramFileNameParser.parseProgramName(s.getName()).logicProgramName()));
@@ -75,9 +81,31 @@
         }
         machineAcceptedService.updateBatchById(acceptedFiles);
         //更新任务状态
         List<Long> backTaskIdList = acceptedFiles.stream().map(MachineAcceptedFile::getBackTaskId).filter(Objects::nonNull).toList();
         this.finishTask(backTaskIdList);
         SpringUtil.publishEvent(new ExportedToInnerEvent("exportToInner",acceptedFiles));
      }
      os.close();
   }
   void finishTask(List<Long> backTaskIdList){
      if(backTaskIdList.isEmpty()){
         return;
      }
      List<MachineBackTask> tasks = machineBackTaskService.lambdaQuery().in(MachineBackTask::getId,backTaskIdList).list();
      for(MachineBackTask backTask : tasks){
         backTask.setStatus(MachineBackTask.STATUS_FINISHED);
         backTask.setFinishTime(new Date());
         machineBackTaskService.updateById(backTask);
      }
   }
   /**