yangys
2025-09-18 79e81a02076cdd1e828eb06029cd51eb37522f42
blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/NcProgramExportDNCService.java
@@ -6,11 +6,14 @@
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.io.FilenameUtils;
import org.apache.commons.lang3.StringUtils;
import org.flowable.engine.HistoryService;
import org.flowable.engine.history.HistoricProcessInstance;
import org.springblade.core.log.exception.ServiceException;
import org.springblade.core.mp.base.BizServiceImpl;
import org.springblade.core.oss.OssTemplate;
import org.springblade.mdm.basesetting.machine.service.MachineService;
import org.springblade.mdm.basesetting.machine.entity.Machine;
import org.springblade.mdm.flow.constants.FlowContants;
import org.springblade.mdm.flow.entity.FlowProgramFile;
import org.springblade.mdm.flow.service.FlowProgramFileService;
import org.springblade.mdm.program.entity.NcNode;
@@ -23,7 +26,6 @@
import org.springblade.mdm.program.service.programannotation.MachineAnnotationConfig;
import org.springblade.mdm.program.service.programannotation.ProcessorHelper;
import org.springblade.system.feign.IDictClient;
import org.springblade.system.pojo.entity.DictBiz;
import org.springframework.stereotype.Service;
import java.io.*;
@@ -48,7 +50,7 @@
   private final NcNodeHisService ncNodeHisService;
   private final OssTemplate ossTemplate;
   private final FlowProgramFileService flowProgramFileService;
   private final ProgramAnnotationService programAnnotationService;
   private final HistoryService historyService;
   private final MachineAnnotationConfig annotationConfig;
   /**
@@ -65,6 +67,16 @@
            approved.setStatus(NcProgramApproved.STATUS_EXPORTED);
            approvedService.updateById(approved);
            NcNode pkgNode = this.ncNodeService.getById(approved.getNcNodeId());
            if(pkgNode.isDeviationProgram()){
               //偏离单的程序,如果审批导出记录是解锁形成的,还是需要锁定;普通试切过的,不锁定
               HistoricProcessInstance hisInst = historyService.createHistoricProcessInstanceQuery().processInstanceId(approved.getProcessInstanceId()).singleResult();
               if(hisInst != null && hisInst.getProcessDefinitionKey().equals(FlowContants.UNLOCK_PROCESS_KEY)){
                  pkgNode.lock("下发导出锁定");
                  ncNodeService.updateById(pkgNode);
               }
            }
         }
      }catch(Exception e){
@@ -118,7 +130,7 @@
            annoData.setProgramStatus(status);
            annoData.setDeviation(programPackageNode.getDeviation());
            annoData.setFilename(programFile.getName());
            InputStream addedInsFinal = annoProcessor.setAnnotation(annoData,inputStream);
            InputStream addedInsFinal = annoProcessor.putAnnotation(annoData,inputStream);
            addedInsFinal.reset();
            /*
            InputStream addedInsFinal;