From 7551b1ae51da67627f7ed03276707127dfc9cdc6 Mon Sep 17 00:00:00 2001 From: yangys <y_ys79@sina.com> Date: 星期四, 17 七月 2025 17:29:49 +0800 Subject: [PATCH] 机床回传文件调整 --- blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/vo/NcNodeVO.java | 2 blade-service/blade-mdm/src/main/java/org/springblade/mdm/config/InitBean.java | 4 blade-service/blade-mdm/src/main/java/org/springblade/mdm/machineback/service/MachineBackFileService.java | 14 ++ blade-service/blade-mdm/src/main/java/org/springblade/mdm/machineback/filewatch/MachineFileBackListener.java | 19 ++ blade-service/blade-mdm/src/main/java/org/springblade/mdm/machineback/entity/MachineBackFile.java | 4 blade-service/blade-mdm/src/main/java/org/springblade/mdm/machineback/mapper/MachineBackFileMapper.xml | 2 blade-service/blade-mdm/src/main/java/org/springblade/mdm/machineback/service/NcProgramExportInnerService.java | 258 +++++++++++++++++++++++++++++++++++++++++++ blade-service/blade-mdm/pom.xml | 1 blade-service/blade-mdm/src/main/java/org/springblade/mdm/machineback/controller/MachineBackFileHandleController.java | 26 +++ 9 files changed, 319 insertions(+), 11 deletions(-) diff --git a/blade-service/blade-mdm/pom.xml b/blade-service/blade-mdm/pom.xml index 1c880ef..e627995 100644 --- a/blade-service/blade-mdm/pom.xml +++ b/blade-service/blade-mdm/pom.xml @@ -89,6 +89,7 @@ <artifactId>blade-core-test</artifactId> <scope>test</scope> </dependency> + <!--<dependency> <groupId>org.springblade</groupId> <artifactId>blade-starter-transaction</artifactId> diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/config/InitBean.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/config/InitBean.java index a837e3b..8decdc5 100644 --- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/config/InitBean.java +++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/config/InitBean.java @@ -4,6 +4,7 @@ import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; +import org.springblade.core.oss.OssTemplate; import org.springblade.core.tool.api.R; import org.springblade.mdm.basesetting.machine.MachineService; import org.springblade.mdm.basesetting.machine.entity.Machine; @@ -34,6 +35,7 @@ private final DynamicDirectoryWatcher directoryWatcher; private final MachineBackFileService machineBackFileService; private final NcProgramService ncProgramService; + private final OssTemplate ossTemplate; //private final FileWatcherService.FileChangeListener listener; @PostConstruct public void init() { @@ -82,7 +84,7 @@ FileWatcherService.FileChangeListener getListener() { - return new MachineFileBackListener(machineBackFileService,ncProgramService); + return new MachineFileBackListener(machineBackFileService,ncProgramService,ossTemplate); } diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machineback/controller/MachineBackFileHandleController.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machineback/controller/MachineBackFileHandleController.java index 74e22dd..9764f3a 100644 --- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machineback/controller/MachineBackFileHandleController.java +++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machineback/controller/MachineBackFileHandleController.java @@ -3,10 +3,13 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.tags.Tag; import jakarta.servlet.http.HttpServletResponse; +import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springblade.core.excel.util.ExcelUtil; +import org.springblade.core.log.exception.ServiceException; import org.springblade.core.tool.api.R; import org.springblade.core.tool.utils.BeanUtil; import org.springblade.core.tool.utils.DateUtil; @@ -14,7 +17,9 @@ import org.springblade.mdm.basesetting.machine.vo.MachineExcelVO; import org.springblade.mdm.basesetting.machine.vo.MachineQueryVO; import org.springblade.mdm.basesetting.machine.vo.MachineVO; +import org.springblade.mdm.commons.vo.IdsVO; import org.springblade.mdm.machineback.service.MachineBackFileService; +import org.springblade.mdm.machineback.service.NcProgramExportInnerService; import org.springblade.mdm.machineback.vo.MachineBackFileHandleExcelVO; import org.springblade.mdm.machineback.vo.MachineBackFileHandleQueryVO; import org.springblade.mdm.machineback.vo.MachineBackFileQueryVO; @@ -23,18 +28,19 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; +import java.io.IOException; import java.util.ArrayList; import java.util.List; @Slf4j @RestController +@AllArgsConstructor @RequestMapping("/machineback/filehandle") @Tag(name = "鏈哄簥鍥炰紶绋嬪簭澶勭悊", description = "鏈哄簥鍥炰紶绋嬪簭澶勭悊") public class MachineBackFileHandleController { - @Autowired - private MachineBackFileService service; - + private final MachineBackFileService service; + private final NcProgramExportInnerService ncProgramExportInnerService; /** * 鍒嗛〉 */ @@ -48,8 +54,20 @@ @GetMapping("export-to-inner") @ApiOperationSupport(order = 13) @Operation(summary = "瀵煎嚭鍒版秹瀵嗙綉", description = "瀵煎嚭鍒版秹瀵嗙綉") - public void exportToInner(MachineBackFileHandleQueryVO query, HttpServletResponse response) { + public void exportToInner(@RequestBody @Parameter(description = "瀹℃壒琛╥d鏁扮粍") IdsVO vo, HttpServletResponse response) { + if(vo.getIds() == null || vo.getIds().length == 0) { + throw new ServiceException("鏈�夋嫨鏂囦欢瀵煎嚭"); + } + try { + String filename = "toinnerexp-"+ DateUtil.format(DateUtil.now(), "yyyyMMddHHmm")+".zip"; + response.setHeader("Content-Disposition", "attachment; filename="+filename); + response.setContentType("application/octet-stream"); + ncProgramExportInnerService.exportToInner(vo.getIds(),response.getOutputStream()); + } catch (IOException e) { + log.error("宸ユ帶缃戝鍑哄洖浼犳枃浠跺紓甯�", e); + throw new RuntimeException(e); + } } diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machineback/entity/MachineBackFile.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machineback/entity/MachineBackFile.java index bb2fc8b..b880628 100644 --- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machineback/entity/MachineBackFile.java +++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machineback/entity/MachineBackFile.java @@ -22,4 +22,8 @@ * 纭鏃堕棿 */ private Date confirmTime; + /** + * 瀵硅薄瀛樺偍鏂囦欢鍚� + */ + private String ossName; } diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machineback/filewatch/MachineFileBackListener.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machineback/filewatch/MachineFileBackListener.java index 992ac84..2b0af03 100644 --- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machineback/filewatch/MachineFileBackListener.java +++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machineback/filewatch/MachineFileBackListener.java @@ -1,12 +1,15 @@ package org.springblade.mdm.machineback.filewatch; -import lombok.SneakyThrows; +import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; +import org.springblade.core.oss.OssTemplate; +import org.springblade.core.oss.model.BladeFile; import org.springblade.mdm.machineback.entity.MachineBackFile; import org.springblade.mdm.machineback.service.MachineBackFileService; import org.springblade.mdm.program.entity.NcProgram; import org.springblade.mdm.program.service.NcProgramService; +import java.io.FileInputStream; import java.io.IOException; import java.nio.file.Path; @@ -14,9 +17,11 @@ public class MachineFileBackListener implements FileWatcherService.FileChangeListener{ private final MachineBackFileService machineBackFileService; private final NcProgramService ncProgramService; - public MachineFileBackListener(MachineBackFileService backService, NcProgramService aNcProgramService) { + private final OssTemplate ossTemplate; + public MachineFileBackListener(MachineBackFileService backService, NcProgramService aNcProgramService,OssTemplate aOssTemplate) { this.machineBackFileService = backService; this.ncProgramService = aNcProgramService; + this.ossTemplate = aOssTemplate; } @Override public void onFileCreated(Path filePath) { @@ -39,6 +44,14 @@ return; } backFile.setNcProgramId(prog.getId()); + + //鏇存柊绋嬪簭鐨勬枃浠跺湴鍧� + try(FileInputStream fins = new FileInputStream(filePath.toFile());){ + BladeFile bfile = ossTemplate.putFile(programName, fins); + backFile.setOssName(bfile.getName()); + } + + machineBackFileService.save(backFile); }else{ log.warn("鏂囦欢浼犺緭涓紝鍚庣画鍐嶆搷浣渰}",filePath); @@ -47,7 +60,7 @@ log.error("鍥炰紶鏂囦欢鎿嶄綔IO閿欒",e); throw new RuntimeException(e); } catch (InterruptedException e) { - log.error("sleep鍑洪敊"); + log.error("sleep鍑洪敊",e); } catch (Exception e) { log.error("鏈哄簥鍥炰紶鏂囦欢澶勭悊寮傚父",e); } diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machineback/mapper/MachineBackFileMapper.xml b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machineback/mapper/MachineBackFileMapper.xml index c560391..ac33c4a 100644 --- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machineback/mapper/MachineBackFileMapper.xml +++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machineback/mapper/MachineBackFileMapper.xml @@ -15,7 +15,7 @@ select f.id,p.name name,p.is_cured,f.create_time,m.code machine_code, m.name machine_name,f.create_time arrived_time from mdm_machine_back_file f left join mdm_nc_program p on f.nc_program_id=p.id - join mdm_machine m on p.machine_code=m.code + left join mdm_machine m on p.machine_code=m.code <where> f.status=1 and f.is_deleted=0 diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machineback/service/MachineBackFileService.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machineback/service/MachineBackFileService.java index 2019645..30c0d97 100644 --- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machineback/service/MachineBackFileService.java +++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machineback/service/MachineBackFileService.java @@ -2,8 +2,11 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; +import jakarta.servlet.ServletOutputStream; +import lombok.AllArgsConstructor; import org.springblade.core.mp.base.BizServiceImpl; import org.springblade.core.mp.support.Condition; +import org.springblade.core.oss.OssTemplate; import org.springblade.core.tool.utils.DateUtil; import org.springblade.core.tool.utils.Func; import org.springblade.mdm.basesetting.machine.vo.MachineQueryVO; @@ -13,13 +16,15 @@ import org.springblade.mdm.machineback.vo.MachineBackFileHandleQueryVO; import org.springblade.mdm.machineback.vo.MachineBackFileQueryVO; import org.springblade.mdm.machineback.vo.MachineBackFileVO; +import org.springblade.mdm.program.service.NcProgramService; import org.springframework.stereotype.Service; - import java.util.List; +@AllArgsConstructor @Service public class MachineBackFileService extends BizServiceImpl<MachineBackFileMapper, MachineBackFile> { - + private final NcProgramService progService; + private final OssTemplate ossTemplate; /** * 鎺ュ彈 * @param ids @@ -33,6 +38,8 @@ backFile.setStatus(MachineBackFile.STATUS_ACCEPTED); backFile.setConfirmTime(DateUtil.now()); this.updateById(backFile); + + } } @@ -47,6 +54,7 @@ for(Long id : idList){ MachineBackFile backFile = this.getById(id); backFile.setStatus(MachineBackFile.STATUS_REJECTED); + backFile.setConfirmTime(DateUtil.now()); this.updateById(backFile); } @@ -72,4 +80,6 @@ IPage<MachineBackFileVO> page = this.getBaseMapper().handlePageQuery(Condition.getPage(query),query); return page; } + + } diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machineback/service/NcProgramExportInnerService.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machineback/service/NcProgramExportInnerService.java new file mode 100644 index 0000000..75b4119 --- /dev/null +++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/machineback/service/NcProgramExportInnerService.java @@ -0,0 +1,258 @@ + +package org.springblade.mdm.machineback.service; + +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import jakarta.servlet.ServletOutputStream; +import lombok.AllArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; +import org.springblade.core.mp.base.BizEntity; +import org.springblade.core.mp.base.BizServiceImpl; +import org.springblade.core.mp.support.Condition; +import org.springblade.core.mp.support.Query; +import org.springblade.core.oss.OssTemplate; +import org.springblade.core.tool.utils.Func; +import org.springblade.mdm.flow.entity.ApproveRecord; +import org.springblade.mdm.flow.service.ApproveRecordService; +import org.springblade.mdm.machineback.entity.MachineBackFile; +import org.springblade.mdm.program.entity.NcNode; +import org.springblade.mdm.program.entity.NcProgram; +import org.springblade.mdm.program.entity.NcProgramApproved; +import org.springblade.mdm.program.entity.NcProgramExchange; +import org.springblade.mdm.program.mapper.NcProgramExchangeMapper; +import org.springblade.mdm.program.service.NcNodeService; +import org.springblade.mdm.program.service.NcProgramApprovedService; +import org.springblade.mdm.program.service.NcProgramService; +import org.springblade.mdm.program.vo.DncSendBackData; +import org.springframework.stereotype.Service; + +import java.io.ByteArrayInputStream; +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; +import java.nio.charset.StandardCharsets; +import java.util.ArrayList; +import java.util.List; +import java.util.zip.ZipEntry; +import java.util.zip.ZipOutputStream; + +/** + * 涓嬪彂/鍥炰紶绋嬪簭缁熻 + * + * @author yangys + */ +@Slf4j +@Service +@AllArgsConstructor +public class NcProgramExportInnerService extends BizServiceImpl<NcProgramExchangeMapper, NcProgramExchange> { + private final MachineBackFileService machineBackFileService; + private final NcProgramService progService; + + private final NcNodeService ncNodeService; + private final OssTemplate ossTemplate; + + public static final String PROGRAM_JSON_FILE = "exp_mdm_nc_program.json"; + public static final String NODE_JSON_FILE = "exp_mdm_nc_node.json"; + public static final String APPROVE_RECORD_JSON_FILE = "exp_mdm_approve_record.json"; + + + /** + * 瀵煎嚭鍒版秹瀵嗙綉 + * @param backFileIds + * @param os + * @throws IOException + */ + public void exportToInner(Long[] backFileIds, ServletOutputStream os) throws IOException { + //FileOutputStream fos = new FileOutputStream("d:/exportDnc.zip"); + try (ZipOutputStream zipOut = new ZipOutputStream(os);) {//os + + ArrayList<Long> programIdList = new ArrayList<Long>(); + + for (Long backId : backFileIds) { + MachineBackFile backFile = machineBackFileService.getById(backId); + programIdList.add(backFile.getNcProgramId()); + + NcProgram prog = progService.getById(backFile.getNcProgramId()); + + //1111锛岄渶瑕佽鍦ㄦ枃浠� + String filename = prog.getOssName(); + InputStream inputStream = ossTemplate.statFileStream(filename); + + addInputStreamToZip(zipOut, inputStream, prog.getName()); + + } + addDataJson(zipOut, programIdList); + } + + os.close(); + } + + + /** + * 瀵煎叆鏁版嵁鏂囦欢 + * @param zipOut + */ + void addDataJson(ZipOutputStream zipOut, List<Long> programIdList) throws IOException { + addProgramDataJson(zipOut, programIdList); + //addApproveRecordDataJson(zipOut, programIdList); + + addNcNodeDataJson(zipOut, programIdList); + } + + /** + * 瀵煎叆绋嬪簭璁板綍 + * @param zipOut + * @param programIdList + */ + void addProgramDataJson(ZipOutputStream zipOut, List<Long> programIdList) throws IOException { + LambdaQueryWrapper<NcProgram> queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.in(NcProgram::getId, programIdList); + List<NcProgram> programList = progService.list(queryWrapper); + JSONArray jsonArray = new JSONArray(); + for(NcProgram program : programList){ + JSONObject recObj = new JSONObject(); + recObj.put("id", program.getId()); + recObj.put("code", program.getCode()); + recObj.put("ossName",program.getOssName()); + recObj.put("isTextFile",program.getIsTextFile()); + recObj.put("isLastEdition",program.getIsLastEdition()); + recObj.put("category",program.getCategory()); + recObj.put("description",program.getDescription()); + recObj.put("name",program.getName()); + recObj.put("drawingNo",program.getDrawingNo()); + recObj.put("ncNodeId",program.getNcNodeId()); + recObj.put("bindNcNodeId",program.getBindNcNodeId()); + recObj.put("url",program.getUrl()); + recObj.put("isCured",program.getIsCured()); + recObj.put("isLocked",program.getIsLocked()); + recObj.put("isTest",program.getIsTest()); + recObj.put("machineCode",program.getMachineCode()); + recObj.put("processEdition",program.getProcessEdition()); + recObj.put("taskAssignTime",program.getTaskAssignTime()); + + addSuperProperties(recObj,program); + + jsonArray.add(recObj); + } + addInputStreamToZip(zipOut,new ByteArrayInputStream(jsonArray.toJSONString().getBytes(StandardCharsets.UTF_8)),PROGRAM_JSON_FILE); + + } + + /** + * 瀵煎叆瀹℃壒璁板綍 + * @param zipOut + * @param programIdList 鏁版帶绋嬪簭id鍒楄〃 + */ + /* + void addApproveRecordDataJson(ZipOutputStream zipOut, List<Long> programIdList) throws IOException { + LambdaQueryWrapper<ApproveRecord> queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.in(ApproveRecord::getNcProgramId, programIdList); + List<ApproveRecord> records = approveRecordService.list(queryWrapper); + JSONArray jsonArray = new JSONArray(); + for(ApproveRecord record : records){ + JSONObject recObj = new JSONObject(); + recObj.put("id", record.getId()); + recObj.put("comment", record.getComment()); + recObj.put("userId",record.getUserId()); + recObj.put("userNickname",record.getUserNickname()); + recObj.put("operateTime",record.getOperateTime()); + recObj.put("operateResult",record.getOperateResult()); + recObj.put("taskName",record.getTaskName()); + recObj.put("ncProgramId",record.getNcProgramId()); + recObj.put("processInstanceId",record.getProcessInstanceId()); + + addSuperProperties(recObj,record); + + jsonArray.add(recObj); + } + addInputStreamToZip(zipOut,new ByteArrayInputStream(jsonArray.toJSONString().getBytes(StandardCharsets.UTF_8)),"exp_mdm_approve_record.json"); + + } + */ + /** + * 瀵煎叆鑺傜偣 + * @param zipOut + * @param programIdList + */ + void addNcNodeDataJson(ZipOutputStream zipOut, List<Long> programIdList) throws IOException { + LambdaQueryWrapper<NcProgram> queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.in(NcProgram::getId, programIdList); + + List<NcProgram> programs = progService.list(queryWrapper); + JSONArray jsonArray = new JSONArray(); + + ArrayList<Long> exportNodeIdList = new ArrayList<>(); + for(NcProgram program : programs){ + //JSONObject recObj = new JSONObject(); + if(!exportNodeIdList.contains(program.getBindNcNodeId())){ + exportNodeIdList.add(program.getBindNcNodeId()); + } + NcNode ncNode = ncNodeService.getById(program.getBindNcNodeId());//浠庣粦瀹氱殑鑺傜偣鏈韩寮�濮嬪鍑� + + if(StringUtils.isNotEmpty(ncNode.getParentIds())){ + List<Long> pids = Func.toLongList(ncNode.getParentIds()); + for(Long nodeId : pids){ + if(!exportNodeIdList.contains(nodeId)){ + exportNodeIdList.add(nodeId); + } + } + + } + + } + + LambdaQueryWrapper<NcNode> nodeQueryWrapper = new LambdaQueryWrapper<>(); + nodeQueryWrapper.in(NcNode::getId, exportNodeIdList); + List<NcNode> nodeList =ncNodeService.list(nodeQueryWrapper); + for(NcNode node : nodeList){ + JSONObject recObj = new JSONObject(); + + recObj.put("id", node.getId()); + recObj.put("nodeType", node.getNodeType()); + recObj.put("machineCode",node.getMachineCode()); + recObj.put("parentId",node.getParentId()); + recObj.put("description",node.getDescription()); + recObj.put("name",node.getName()); + recObj.put("remark",node.getRemark()); + recObj.put("drawingNo",node.getDrawingNo()); + recObj.put("parentIds",node.getParentIds()); + recObj.put("processName",node.getProcessName()); + + addSuperProperties(recObj,node); + + jsonArray.add(recObj); + } + addInputStreamToZip(zipOut,new ByteArrayInputStream(jsonArray.toJSONString().getBytes(StandardCharsets.UTF_8)),"exp_mdm_nc_node.json"); + } + + void addSuperProperties(JSONObject recObj, BizEntity entity){ + recObj.put("tenantId",entity.getTenantId()); + recObj.put("createTime",entity.getCreateTime()); + recObj.put("updateTime",entity.getUpdateTime()); + recObj.put("createUser",entity.getCreateUser()); + recObj.put("updateUser",entity.getUpdateUser()); + recObj.put("status",entity.getStatus()); + recObj.put("createDept",entity.getCreateDept()); + } + + public void addInputStreamToZip(ZipOutputStream zipOut, InputStream inputStream, String entryName) + throws IOException { + // 鍒涘缓鏂扮殑 ZIP 鏉$洰 + ZipEntry zipEntry = new ZipEntry(entryName); + zipOut.putNextEntry(zipEntry); + + // 灏嗚緭鍏ユ祦鍐欏叆 ZIP 杈撳嚭娴� + byte[] buffer = new byte[1024]; + int length; + while ((length = inputStream.read(buffer)) >= 0) { + zipOut.write(buffer, 0, length); + } + + // 鍏抽棴褰撳墠鏉$洰 + zipOut.closeEntry(); + } +} + diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/vo/NcNodeVO.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/vo/NcNodeVO.java index d7651ce..ba1d1c0 100644 --- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/vo/NcNodeVO.java +++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/vo/NcNodeVO.java @@ -16,6 +16,8 @@ private String machineCode; @Schema(description = "鑺傜偣绫诲瀷锛屽瓧鍏�(绋嬪簭鑺傜偣绫诲瀷nc_node_type)") private String nodeType; + @Schema(description = "鑺傜偣绫诲瀷涓枃") + private String nodeTypeName; @Schema(description = "鏄惁鏈夊瓙鑺傜偣") private Boolean hasChildren; @Schema(description = "鎻忚堪") -- Gitblit v1.9.3