| | |
| | | return this.getBaseMapper().getCuredNcProgram(drwaingNo,machine.getMachineGroupCode()); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 上传程序文件到指定节点 |
| | | * @param uploadVO 上传文件表单数据 |
| | | */ |
| | | public void uploadProgramFile(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.setDrawingNo(uploadVO.getDrawingNo()); |
| | | prog.setProcessEdition(uploadVO.getProcessEdition()); |
| | | prog.setIsLastEdition(1); |
| | | 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()); |
| | | |
| | | this.save(prog); |
| | | } |
| | | |
| | | /** |
| | | * 上传程序文件到指定节点 |
| | | * @param uploadVO 上传文件表单数据 |
| | |
| | | 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()); |
| | |
| | | DecimalFormat df = new DecimalFormat("0000000000"); |
| | | return df.format(program.getId()); |
| | | } |
| | | /** |
| | | * 删除一个程序 |
| | | * @param id 程序id |
| | | */ |
| | | public String getFileContent(Long id) { |
| | | String result =""; |
| | | |
| | | NcProgram prog = this.getById(id); |
| | | 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; |
| | | } |
| | | /** |
| | | * 删除一个程序 |
| | | * @param id |
| | |
| | | |
| | | /** |
| | | * 升版(升级工序版次),升级工序版本(包括程序和其他附件) |
| | | * @param bindNodeid 程序文件绑定的节点id |
| | | * @param bindNcNodeId 程序文件绑定的节点id |
| | | * @param newProcessEdition 新版次 |
| | | */ |
| | | public void upgradeProcessEdition(long bindNcNodeid,String newProcessEdition) { |
| | | public void upgradeProcessEdition(Long bindNcNodeId,String newProcessEdition) { |
| | | //NcProgram prog = this.getById(id); |
| | | NcProgram prog = getByBindNodeId(bindNcNodeid); |
| | | NcProgram prog = getByBindNodeId(bindNcNodeId); |
| | | |
| | | //将现有程序更新为非最新版本 |
| | | this.update(Wrappers.lambdaUpdate(NcProgram.class).eq(NcProgram::getBindNcNodeId,bindNcNodeid).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); |
| | |
| | | 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); |
| | |
| | | |
| | | 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(); |
| | | }*/ |
| | | } |