blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/controller/MdmParamController.java
@@ -27,7 +27,7 @@ @RestController @RequestMapping("/system/param/") @AllArgsConstructor @Tag(name = "DNC导入", description = "DNC导入接口") @Tag(name = "MDM系统参数", description = "MDM系统参数") @Slf4j public class MdmParamController { private final ISysClient sysClient; blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/controller/NcProgramController.java
@@ -127,4 +127,16 @@ public R<List<NcProgramVO>> send(@Parameter(description="所属节点ID")@RequestParam Long id) { return null;//R.data(ncProcessProgRefService.listByProcess(processInstanceId)); } @GetMapping("/send-to-machine-by-nodeid") @Operation(summary = "下发", description = "下发给机床设定的目录") public R<Void> sendToMachineByNodeId(@Parameter(description = "节点id") Long nodeId) { try { ncProgramService.sendByBindNodeId(nodeId); return R.success(); }catch(Exception e) { log.error("删除文件失败",e); return R.fail(e.getMessage()); } } } blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/MdmProgramImportService.java
@@ -68,6 +68,7 @@ //设置一个缓存,2小时过期 bladeRedis.setEx(getFileKey(),bfile.getName(), Duration.ofHours(2)); String pkgFileName = bladeRedis.get(getFileKey()); //String fileName = file.getOriginalFilename(); //InputStream zipFileInputStream = FileExchangeUtil.convertFileToZip(file.getInputStream()); InputStream zipFileInputStream = file.getInputStream();//test blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/NcProgramService.java
@@ -31,7 +31,9 @@ import com.fasterxml.jackson.databind.ObjectMapper; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.apache.commons.io.FileUtils; import org.apache.commons.io.IOUtils; import org.apache.commons.lang3.StringUtils; import org.flowable.engine.*; import org.springblade.core.mp.base.BizServiceImpl; import org.springblade.core.mp.support.Condition; @@ -53,6 +55,7 @@ import org.springframework.stereotype.Service; import org.springframework.web.multipart.MultipartFile; import java.io.File; import java.io.IOException; import java.io.InputStream; import java.nio.charset.StandardCharsets; @@ -264,4 +267,34 @@ public IPage<NcProgramVO> pageQuery(NcNodeProgramQueryVO query) { return this.getBaseMapper().pageQuery(Condition.getPage(query),query); } /** * 下发给你机床 * @param bindNcNodeId 与程序绑定的节点id */ public void sendByBindNodeId(Long bindNcNodeId) throws IOException { //NcNode node = this.nodeService.getById(bindNodeId); LambdaQueryWrapper<NcProgram> wrapper = new LambdaQueryWrapper<>(); wrapper.eq(NcProgram::getBindNcNodeId, bindNcNodeId); wrapper.eq(NcProgram::getIsLastEdition,1); NcProgram prog = this.getOne(wrapper); String filePath = prog.getName(); try(InputStream ins = ossTemplate.statFileStream(prog.getOssName());){ File targetFile = new File(filePath); FileUtils.copyInputStreamToFile(ins, targetFile); } } String getFilePath(NcProgram prog){ Machine machine = machineService.getByCode(prog.getMachineCode()); String dirPath = machine.getProgSendDir(); dirPath = StringUtils.removeEnd(StringUtils.removeEnd(dirPath,"/"),"\\"); File dirs = new File(dirPath); if(!dirs.exists()){ dirs.mkdirs(); } return dirPath+File.separator+prog.getName(); } }