yangys
2025-06-29 4272f2232fd97d9862bc53e583612c8a4bf82ee4
增加程序文件列表
已修改5个文件
已添加2个文件
130 ■■■■■ 文件已修改
blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/controller/NcProgramController.java 17 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/entity/NcProgram.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/NcNodeService.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/NcProgramService.java 32 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/vo/NcNodeProgramVO.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/vo/NcProgramUploadVO.java 32 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/vo/NcProgramVO.java 38 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/controller/NcProgramController.java
@@ -10,8 +10,12 @@
import org.springblade.core.tool.api.R;
import org.springblade.mdm.program.entity.NcProgram;
import org.springblade.mdm.program.service.NcProgramService;
import org.springblade.mdm.program.vo.NcProgramUploadVO;
import org.springblade.mdm.program.vo.NcProgramVO;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import java.util.List;
/**
 * ç¨‹åºèŠ‚ç‚¹
@@ -30,9 +34,10 @@
    @PostMapping("/upload")
    @Operation(summary = "上传文件", description = "上传程序/附件文件")
    public R<Boolean> upload(@Parameter(description="文件") @RequestPart("file") MultipartFile file, @Parameter(description="所属节点ID")@RequestParam Long nodeId,
                             @Parameter(description="文件分类,使用字典(node_file_type)") @RequestParam String category) {
        ncProgramService.uploadProgramFile(file,nodeId,category);
    public R<Boolean> upload(NcProgramUploadVO uploadVO) {
        //@Parameter(description="文件") @RequestPart("file") MultipartFile file, @Parameter(description="所属节点ID")@RequestParam Long nodeId,
        //                             @Parameter(description="文件分类,使用字典(node_file_type)") @RequestParam String category
        ncProgramService.uploadProgramFile(uploadVO);
        return R.<Boolean>status(true);
    }
@@ -58,4 +63,10 @@
            return R.fail(e.getMessage());
        }
    }
    @GetMapping("/list-by-node")
    @Operation(summary = "节点程序文件列表", description = "某节点内的程序列表,仅‘程序包’字典值60")
    public R<List<NcProgramVO>> listByNode(@Parameter(description="所属节点ID")@RequestParam Long nodeId) {
        return R.data(ncProgramService.listByNode(nodeId));
    }
}
blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/entity/NcProgram.java
@@ -43,6 +43,10 @@
     */
    private Boolean isTextFile;
    /**
     * å›¾å·
     */
    private String drawingNo;
    /**
     * å·¥åºï¼Œå¦‚“精铣”
     */
    //private String processName;
@@ -53,7 +57,7 @@
    /**
     * è®¾å¤‡ï¼ˆæœºåºŠï¼‰ç¼–码
     */
    //private String machineCode;
    private String machineCode;
    /**
     * é›¶ç»„件号
     */
blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/NcNodeService.java
@@ -63,6 +63,8 @@
        ncNode.setDescription(vo.getDescription());
        ncNode.setRemark(vo.getRemark());
        ncNode.setMachineCode(vo.getMachineCode());
        ncNode.setParentIds(buildParentIds(vo.getParentId()));
        this.updateById(ncNode);
    }
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.toolkit.Wrappers;
import com.fasterxml.jackson.databind.ObjectMapper;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
@@ -35,10 +36,14 @@
import org.springblade.core.oss.model.BladeFile;
import org.springblade.mdm.basesetting.machine.MachineService;
import org.springblade.mdm.basesetting.machine.entity.Machine;
import org.springblade.mdm.program.entity.NcNode;
import org.springblade.mdm.program.mapper.NcProgramMapper;
import org.springblade.mdm.program.entity.NcProgram;
import org.springblade.mdm.program.vo.DncSendBackData;
import org.springblade.mdm.program.vo.NcProgramUploadVO;
import org.springblade.mdm.program.vo.NcProgramVO;
import org.springblade.mdm.utils.FileContentUtil;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import org.springframework.web.multipart.MultipartFile;
@@ -61,6 +66,7 @@
    private final MachineService machineService;
    private final OssTemplate ossTemplate;
    private final NcNodeService nodeService;
    /**
     * æŸ¥è¯¢çŽ°æœ‰å›ºåŒ–çš„ç¨‹åºï¼Œæš‚å®šæ¡ä»¶ï¼šé›¶ç»„ä»¶å·ç›¸åŒï¼Œä¸”æ˜¯åŒä¸€æœºåºŠç»„
     * @param partNo
@@ -79,14 +85,16 @@
     * @param nodeId
     * @param category æ–‡ä»¶åˆ†ç±»ï¼ˆç¨‹åºæ–‡ä»¶/其他文件)
     */
    public void uploadProgramFile(MultipartFile file, Long nodeId, String category) {
        BladeFile bfile = ossTemplate.putFile(file);
    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.setName(file.getOriginalFilename());
        prog.setNcNodeId(nodeId);
        prog.setNcNodeId(uploadVO.getNodeId());
        prog.setOssName(bfile.getName());
        prog.setDrawingNo(uploadVO.getDrawingNo());
        boolean isTextFile = false;
        try {
            isTextFile = FileContentUtil.isTextFile(file.getInputStream());
@@ -95,7 +103,7 @@
        }
        prog.setIsTextFile(isTextFile);
        prog.setUrl(link);
        prog.setCategory(category);
        prog.setCategory(uploadVO.getCategory());
        this.save(prog);
    }
@@ -125,4 +133,20 @@
        ossTemplate.removeFile(prog.getOssName());
        this.getBaseMapper().deleteById(id);
    }
    public List<NcProgramVO> listByNode(Long nodeId) {
        NcNode node = nodeService.getById(nodeId);
        List<NcProgram> pList = this.list(Wrappers.lambdaQuery(NcProgram.class).eq(NcProgram::getNcNodeId, nodeId).orderByDesc(NcProgram::getCreateTime));
        List<NcProgramVO> result = new ArrayList<>();
        pList.forEach(prog -> {
            NcProgramVO vo = new NcProgramVO();
            BeanUtils.copyProperties(prog, vo);
            vo.setMachineCode(node.getMachineCode());
            result.add(vo);
        });
        return result;
    }
}
blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/vo/NcNodeProgramVO.java
@@ -5,6 +5,9 @@
import lombok.Setter;
import org.springblade.mdm.commons.vo.BaseVO;
/**
 * æˆåŠŸå¾èŠ‚ç‚¹çš„VO
 */
@Setter
@Getter
public class NcNodeProgramVO extends BaseVO {
blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/vo/NcProgramUploadVO.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,32 @@
package org.springblade.mdm.program.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter;
import lombok.Setter;
import org.springblade.mdm.commons.vo.BaseVO;
import org.springframework.web.multipart.MultipartFile;
/**
 * NC程序VO
 */
@Setter
@Getter
public class NcProgramUploadVO extends BaseVO {
    @Schema(description = "所属节点id")
    private Long nodeId;
    @Schema(description = "设备编号")
    private String machineCode;
    @Schema(description = "设备编号")
    private MultipartFile file;
    @Schema(description = "图号")
    private String drawingNo;
    @Schema(description = "工序,如“精铣”")
    private String processName;
    @Schema(description = "文件分类,使用字典(node_file_type)")
    private String category;
}
blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/vo/NcProgramVO.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,38 @@
package org.springblade.mdm.program.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter;
import lombok.Setter;
import org.springblade.mdm.commons.vo.BaseVO;
/**
 * NC程序VO
 */
@Setter
@Getter
public class NcProgramVO extends BaseVO {
    @Schema(description = "程序名称")
    private String name;
    @Schema(description = "设备编号")
    private String machineCode;
    @Schema(description = "描述")
    private String description;
    @Schema(description = "备注")
    private String remark;
    @Schema(description = "图号")
    private String drawingNo;
    @Schema(description = "图号版次")
    private String drawingNoEdition;
    @Schema(description = "工序,如“精铣”")
    private String processName;
    @Schema(description = "工艺版次")
    private String craftEdition;
    @Schema(description = "零组件号")
    private String partNo;
}