yangys
2025-07-10 88fab7bde2a5c4e5831164fa7db54ab59caa6fb0
blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/NcProgramService.java
@@ -62,6 +62,7 @@
import java.text.DecimalFormat;
import java.util.ArrayList;
import java.util.List;
import java.util.Optional;
/**
 * 工作流服务实现类
@@ -139,6 +140,7 @@
      prog.setProcessEdition(uploadVO.getProcessEdition());
      prog.setIsLastEdition(1);
      prog.setMachineCode(uploadVO.getMachineCode());
      prog.setProcessName(uploadVO.getProcessName());
      boolean isTextFile = false;
      try {
         isTextFile = FileContentUtil.isTextFile(file.getInputStream());
@@ -242,13 +244,15 @@
   /**
    * 升版(升级工序版次),升级工序版本(包括程序和其他附件)
    * @param id 程序文件id
    * @param bindNodeid 程序文件绑定的节点id
    * @param newProcessEdition 新版次
    */
   public void upgradeProcessEdition(long id,String newProcessEdition) {
      NcProgram prog = this.getById(id);
   public void upgradeProcessEdition(long bindNcNodeid,String newProcessEdition) {
      //NcProgram prog = this.getById(id);
      NcProgram prog = getByBindNodeId(bindNcNodeid);
      //将现有程序更新为非最新版本
      this.update(Wrappers.lambdaUpdate(NcProgram.class).eq(NcProgram::getId,id).set(NcProgram::getIsLastEdition,0));
      this.update(Wrappers.lambdaUpdate(NcProgram.class).eq(NcProgram::getBindNcNodeId,bindNcNodeid).set(NcProgram::getIsLastEdition,0));
      NcProgram newVerProg = new NcProgram();
      BeanUtils.copyProperties(prog, newVerProg);
@@ -297,4 +301,20 @@
      return dirPath+File.separator+prog.getName();
   }
   /**
    *
    * @param bindNcNodeId
    * @return
    */
   public NcProgram getByBindNodeId(Long bindNcNodeId) {
      LambdaQueryWrapper<NcProgram> wrapper = new LambdaQueryWrapper<>();
      wrapper.eq(NcProgram::getBindNcNodeId, bindNcNodeId);
      wrapper.eq(NcProgram::getIsLastEdition,1);
      Optional<NcProgram> progOpt = this.getOneOpt(wrapper);
      return progOpt.orElse(null);
   }
}