From d9919b8e236113a1451082943ce889a6eb1f9495 Mon Sep 17 00:00:00 2001 From: yangys <y_ys79@sina.com> Date: 星期日, 20 七月 2025 10:54:41 +0800 Subject: [PATCH] 上传接口调整 --- blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/NcProgramService.java | 94 ++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 89 insertions(+), 5 deletions(-) diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/NcProgramService.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/NcProgramService.java index f41b3e9..eb4769a 100644 --- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/NcProgramService.java +++ b/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()); @@ -157,6 +159,10 @@ node.setDrawingNo(uploadVO.getDrawingNo()); node.setProcessName(uploadVO.getProcessName()); + NcNode parentNode = nodeService.getById(uploadVO.getNodeId()); + node.setParentIds(parentNode.getParentIds()+","+uploadVO.getNodeId()); + //uploadVO.getre + //node.setDescription(uploadVO.getDrawingNo()); nodeService.save(node); prog.setBindNcNodeId(node.getId()); @@ -242,13 +248,15 @@ /** * 鍗囩増(鍗囩骇宸ュ簭鐗堟),鍗囩骇宸ュ簭鐗堟湰锛堝寘鎷▼搴忓拰鍏朵粬闄勪欢锛� - * @param id 绋嬪簭鏂囦欢id + * @param bindNcNodeId 绋嬪簭鏂囦欢缁戝畾鐨勮妭鐐筰d * @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); @@ -278,7 +286,8 @@ wrapper.eq(NcProgram::getBindNcNodeId, bindNcNodeId); wrapper.eq(NcProgram::getIsLastEdition,1); NcProgram prog = this.getOne(wrapper); - String filePath = prog.getName(); + + String filePath = getFilePath(prog); try(InputStream ins = ossTemplate.statFileStream(prog.getOssName());){ File targetFile = new File(filePath); FileUtils.copyInputStreamToFile(ins, targetFile); @@ -297,4 +306,79 @@ 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); + } + + /** + * 鏍规嵁绋嬪簭鍚嶇О鑾峰彇鏈�鏂扮殑绋嬪簭鏁版嵁 + * @param name 绋嬪簭鍚嶇О + * @return + */ + public NcProgram getByName(String name) { + LambdaQueryWrapper<NcProgram> wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(NcProgram::getName, name); + wrapper.eq(NcProgram::getIsLastEdition,1); + Optional<NcProgram> progOpt = this.getOneOpt(wrapper); + + return progOpt.orElse(null); + } + + /** + * + * @param nodeId 涓婄骇鑺傜偣id + * @param name 绋嬪簭鍚嶇О + */ + public boolean programExistsUnderNode(Long nodeId, String name) { + LambdaQueryWrapper<NcProgram> wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(nodeId!=null,NcProgram::getNcNodeId, nodeId); + wrapper.eq(NcProgram::getName, name); + wrapper.eq(NcProgram::getIsLastEdition,1); + + return this.count(wrapper)>0; + } + + /** + * + * @param nodeId 涓婄骇鑺傜偣id + * @param name 绋嬪簭鍚嶇О + */ + public boolean programExistsUnderOtherNode(Long nodeId, String name) { + LambdaQueryWrapper<NcProgram> wrapper = new LambdaQueryWrapper<>(); + wrapper.ne(NcProgram::getNcNodeId, nodeId); + wrapper.eq(NcProgram::getName, name); + wrapper.eq(NcProgram::getIsLastEdition,1); + + return this.count(wrapper)>0; + } + + /** + * 鏄剧ず绋嬪簭鐨勫巻鍙茶褰曞垪琛� + * @param bindNodeId + * @return + */ + public List<NcProgramVO> historyByBindNode(Long bindNodeId) { + + NcProgram program = this.getByBindNodeId(bindNodeId); + List<NcProgram> list = this.lambdaQuery().eq(NcProgram::getName,program.getName()) + .eq(NcProgram::getNcNodeId,program.getNcNodeId()).orderByDesc(NcProgram::getCreateTime).list(); + + return list.stream().map(p -> { + NcProgramVO vo = new NcProgramVO(); + BeanUtils.copyProperties(p,vo); + return vo;}).toList(); + } } -- Gitblit v1.9.3