yangys
2025-09-19 b0d0191a88912b352385349461b500a4964d693b
blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/NcProgramExportDNCService.java
@@ -13,7 +13,7 @@
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.constants.FlowConstant;
import org.springblade.mdm.flow.entity.FlowProgramFile;
import org.springblade.mdm.flow.service.FlowProgramFileService;
import org.springblade.mdm.program.entity.NcNode;
@@ -21,10 +21,7 @@
import org.springblade.mdm.program.entity.NcProgramApproved;
import org.springblade.mdm.program.entity.NcProgramExchange;
import org.springblade.mdm.program.mapper.NcProgramExchangeMapper;
import org.springblade.mdm.program.service.programannotation.AnnotationData;
import org.springblade.mdm.program.service.programannotation.AnnotationProcessor;
import org.springblade.mdm.program.service.programannotation.MachineAnnotationConfig;
import org.springblade.mdm.program.service.programannotation.ProcessorHelper;
import org.springblade.mdm.program.service.programannotation.*;
import org.springblade.system.feign.IDictClient;
import org.springframework.stereotype.Service;
@@ -68,13 +65,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()){
               //偏离单的程序,如果审批导出记录是解锁形成的,还是需要锁定;普通试切过的,不锁定
               HistoricProcessInstance hisInst = historyService.createHistoricProcessInstanceQuery().processInstanceId(approved.getProcessInstanceId()).singleResult();
               if(hisInst != null && hisInst.getProcessDefinitionKey().equals(FlowContants.UNLOCK_PROCESS_KEY)){
                  pkgNode.lock("下发导出锁定");
                  ncNodeService.updateById(pkgNode);
               if(hisInst != null && hisInst.getProcessDefinitionKey().equals(FlowConstant.UNLOCK_PROCESS_KEY)){
                  NcNode pkgNode = this.ncNodeService.getById(approved.getNcNodeId());
                  if(pkgNode != null) {
                     pkgNode.lock("下发导出锁定");
                     ncNodeService.updateById(pkgNode);
                  }
               }
            }
         }
@@ -105,11 +105,11 @@
      FlowProgramFile programFile;
      NcNodeHis programPackageNode = this.ncNodeHisService.getById(approved.getNcNodeId());
      String status = "SQ";
      String status = AnnotationUtil.SQ;
      if(programPackageNode.isDeviationProgram()){
         status = "PL";
         status = AnnotationUtil.LG;
      }else if(programPackageNode.hasCured()){
         status = "GH";
         status = AnnotationUtil.GH;
      }
      long deviationSerial = -1;//偏离单序号 ,-1为非偏离单,不需要加入
      if(packageNodeHis.isDeviationProgram()) {
@@ -179,7 +179,7 @@
    * @param zipOut zip输出流
    * @param inputStream 输入流
    * @param entryName 文件名
    * @throws IOException
    * @throws IOException 写文件异常
    */
   void addInputStreamToZip(ZipOutputStream zipOut, InputStream inputStream, String entryName)
      throws IOException {