From 4301ffcfa7d715d7341cb77ba29dee24366fb2a3 Mon Sep 17 00:00:00 2001 From: yangys <y_ys79@sina.com> Date: 星期一, 07 七月 2025 22:24:02 +0800 Subject: [PATCH] dnc导出补充字段 --- blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/NcProgramService.java | 85 +++++++++++++++++++++++++++++++++++++++--- 1 files changed, 78 insertions(+), 7 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 8250bc0..3ec932c 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 @@ -25,6 +25,7 @@ */ package org.springblade.mdm.program.service; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.fasterxml.jackson.databind.ObjectMapper; @@ -93,7 +94,6 @@ */ public void uploadProgramFile(NcProgramUploadVO uploadVO) { - MultipartFile file = uploadVO.getFile(); BladeFile bfile = ossTemplate.putFile(uploadVO.getFile()); String link = bfile.getLink(); @@ -119,6 +119,49 @@ this.save(prog); } + /** + * 涓婁紶绋嬪簭鏂囦欢鍒版寚瀹氳妭鐐� + * @param uploadVO 涓婁紶鏂囦欢琛ㄥ崟鏁版嵁 + */ + public void uploadProgramFileNew(NcProgramUploadVO uploadVO) { + + MultipartFile file = uploadVO.getFile(); + BladeFile bfile = ossTemplate.putFile(uploadVO.getFile()); + String link = bfile.getLink(); + //淇濆瓨profame + NcProgram prog = new NcProgram(); + prog.setCode(generageCode()); + prog.setName(file.getOriginalFilename()); + prog.setNcNodeId(uploadVO.getNodeId()); + prog.setOssName(bfile.getName()); + prog.setPartNo(uploadVO.getPartNo()); + prog.setProcessEdition(uploadVO.getProcessEdition()); + prog.setIsLastEdition(1); + prog.setMachineCode(uploadVO.getMachineCode()); + boolean isTextFile = false; + try { + isTextFile = FileContentUtil.isTextFile(file.getInputStream()); + } catch (IOException e) { + log.warn("鍒ゆ柇鏄惁鏂囨湰鏂囦欢寮傚父",e); + } + prog.setIsTextFile(isTextFile); + prog.setUrl(link); + prog.setCategory(uploadVO.getCategory()); + + NcNode node = new NcNode(); + node.setNodeType("70");//鏂囦欢鑺傜偣 + node.setName(prog.getName()); + node.setMachineCode(uploadVO.getMachineCode()); + node.setParentId(uploadVO.getNodeId()); + node.setPartNo(uploadVO.getPartNo()); + node.setProcessName(uploadVO.getProcessName()); + + nodeService.save(node); + + prog.setBindNcNodeId(node.getId()); + this.save(prog); + } + String generageCode(){ ProgramSeq program = new ProgramSeq(); seqMapper.insert(program); @@ -128,17 +171,45 @@ } /** * 鍒犻櫎涓�涓▼搴� - * @param id + * @param id 绋嬪簭id */ public String getFileContent(Long id) { String result =""; NcProgram prog = this.getById(id); - String fileName = prog.getOssName(); - try (InputStream inputStream = ossTemplate.statFileStream(fileName)) { - result = IOUtils.toString(inputStream, StandardCharsets.UTF_8); - } catch (IOException e) { - throw new RuntimeException(e); + if(prog.getIsTextFile()!=null && prog.getIsTextFile()){ + String fileName = prog.getOssName(); + try (InputStream inputStream = ossTemplate.statFileStream(fileName)) { + result = IOUtils.toString(inputStream, StandardCharsets.UTF_8); + } catch (IOException e) { + throw new RuntimeException(e); + } + }else{ + result = "闈炴枃鏈牸寮忔枃浠�"; + } + return result; + } + + /** + * 鑾峰彇鏂囦欢鍐呴タ鍝﹂偅涓� + * @param ncNodeId 鑺傜偣id + */ + public String getFileContentByNodeId(Long ncNodeId) { + String result =""; + NcNode node = this.nodeService.getById(ncNodeId); + LambdaQueryWrapper<NcProgram> wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(NcProgram::getBindNcNodeId, ncNodeId); + wrapper.eq(NcProgram::getIsLastEdition,1); + NcProgram prog = this.getOne(wrapper); + if(prog.getIsTextFile()!=null && prog.getIsTextFile()){ + String fileName = prog.getOssName(); + try (InputStream inputStream = ossTemplate.statFileStream(fileName)) { + result = IOUtils.toString(inputStream, StandardCharsets.UTF_8); + } catch (IOException e) { + throw new RuntimeException(e); + } + }else{ + result = "闈炴枃鏈牸寮忔枃浠�"; } return result; } -- Gitblit v1.9.3