yangys
2025-08-13 44b55dd34d09090fe6fdeb7d2428efe9e775424c
blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/DNCSendBackService.java
@@ -191,18 +191,18 @@
         for(String dir : dirList){
            String programPackageName = StringUtils.removeEnd(dir,"/");
            NcNode oriProgramPkg = this.ncNodeService.getLastEditionTryingProgramPackage(programPackageName);
            NcNode tryProgramPkg = this.ncNodeService.getLastEditionTryingProgramPackage(programPackageName);
            NcNode curedProgramPkg = ncNodeService.getLastEditionCuredProgramPackage(programPackageName);
            if(curedProgramPkg != null){
               throw new ServiceException(programPackageName+"已经固化,请勿重复入库。");
            }
            if(oriProgramPkg == null){
            if(tryProgramPkg == null){
               log.warn("文件夹未发现匹配的程序包名{}",dir);
               continue;
            }
            //检查是否在审批过程中
            //根据节点信息查询流程
            boolean active = flowCommonService.isProcessInstanceActive(oriProgramPkg.getProcessInstanceId());
            boolean active = flowCommonService.isProcessInstanceActive(tryProgramPkg.getProcessInstanceId());
            if(active){
               throw new ServiceException(programPackageName+"正在审批中,请勿重复入库。");
            }
@@ -211,22 +211,22 @@
               throw new ServiceException(programPackageName+"已经固化,请勿重复入库。");
            }*/
            if(!programPackageIdList.contains(oriProgramPkg.getId())){
            if(!programPackageIdList.contains(tryProgramPkg.getId())){
               //不在勾选的范围内
               log.info("{}不在勾选范围内",programPackageName);
               continue;
            }
            NcNode newProgramPkg = new NcNode();
            BeanUtils.copyProperties(oriProgramPkg, newProgramPkg);
            BeanUtils.copyProperties(tryProgramPkg, newProgramPkg);
            EntityUtil.clearBaseProperties(newProgramPkg);
            newProgramPkg.setIsLastEdition(1);
            ncNodeService.save(newProgramPkg);
            newProgramPackageNodeList.add(newProgramPkg);
            //旧数据更新为老版本
            oriProgramPkg.setIsLocked(1);//旧版自动锁定
            oriProgramPkg.setIsLastEdition(0);;
            ncNodeService.updateById(oriProgramPkg);
            tryProgramPkg.setIsLocked(1);//旧版自动锁定
            tryProgramPkg.setIsLastEdition(0);;
            ncNodeService.updateById(tryProgramPkg);
            //List<FlowProgramFile> newFlowFiles = new ArrayList<>();
            List<NcNode> newProgramNodes = new ArrayList<>();
@@ -236,7 +236,7 @@
               if(!entryName.endsWith("/")){
                  //实际的文件
                  String fileName = StringUtils.removeStart(entryName,dir);//去除文件名路径部分
                  NcNode oldProgramNode = this.ncNodeService.getLastEditionProgramFile(fileName,oriProgramPkg.getId());
                  NcNode oldProgramNode = this.ncNodeService.getLastEditionProgramFile(fileName,tryProgramPkg.getId());
                  if(oldProgramNode == null){
                     log.info("{}找不到程序文件",entryName);
                     return;