blade-service/blade-mdm/src/main/java/org/springblade/mdm/gkw/programnode/controller/MachineFileController.java
@@ -53,7 +53,7 @@ } @PostMapping("/file-save") @Operation(summary = "获取文件内容", description = "工控网目录文件列表") @Operation(summary = "保存机床文件", description = "保存机床文件到磁盘") public R<Void> machineFileSave(Long id,String content) { return R.success(); } blade-service/blade-mdm/src/main/java/org/springblade/mdm/gkw/programnode/entity/MachineFile.java
@@ -53,5 +53,5 @@ */ private Date fileCreateTime; private Date fileModifyDate; } blade-service/blade-mdm/src/main/java/org/springblade/mdm/task/MachineFileScanTask.java
@@ -11,6 +11,13 @@ import org.springframework.stereotype.Component; import java.io.File; import java.io.IOException; import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; import java.nio.file.attribute.BasicFileAttributes; import java.nio.file.attribute.FileTime; import java.util.Date; import java.util.List; @Component @@ -31,19 +38,40 @@ public void scanMachineFile() { List<Machine> machines = machineService.lambdaQuery().eq(Machine::getStatus,Machine.STATUS_ENABLE).list(); for (Machine machine : machines) { scanReceiveDir(machine); } } void scanReceiveDir(Machine machine){ public void scanReceiveDir(Machine machine){ List<File> files = FileUtil.list(machine.getProgReceiveDir()); for(File f : files){ MachineFile mf = new MachineFile(); mf.setName(f.getName()); mf.setDirType(MachineFile.DIR_TYPE_REC); mf.setMachineCode(machine.getCode()); try { Path filePath = Paths.get(f.getPath()); BasicFileAttributes attrs = Files.readAttributes( filePath, BasicFileAttributes.class ); FileTime creationTime = attrs.creationTime(); Date creationDate = new Date(creationTime.toMillis()); mf.setFileCreateTime(creationDate); FileTime modifyTime =attrs.lastModifiedTime(); mf.setFileModifyDate(new Date(modifyTime.toMillis())); System.out.println("文件创建时间: " + creationDate); } catch (IOException e) { e.printStackTrace(); } machineFileService.save(mf); } } } blade-service/blade-mdm/src/main/java/org/springblade/mdm/test/MyTestController.java
@@ -4,8 +4,10 @@ import io.swagger.v3.oas.annotations.tags.Tag; import lombok.extern.slf4j.Slf4j; import org.springblade.core.tool.api.R; import org.springblade.mdm.basesetting.machine.entity.Machine; import org.springblade.mdm.program.entity.NcNode; import org.springblade.mdm.program.service.NcNodeService; import org.springblade.mdm.task.MachineFileScanTask; import org.springblade.mdm.utils.FileContentUtil; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; @@ -25,6 +27,9 @@ @Autowired private NcNodeService service; @Autowired private MachineFileScanTask machineFileScanTask; /** * 新增 @@ -55,4 +60,13 @@ } @GetMapping("/scan") @Operation(summary = "test扫描", description = "test扫描") public R<Void> scan() throws IOException { Machine machine = new Machine(); machine.setProgReceiveDir("d:/mdm"); machineFileScanTask.scanReceiveDir(machine); return R.success(); } }