yangys
2025-06-20 388b7627eac913351649f2a9a2f37955675312d1
ncNode增加字段
已修改5个文件
已添加4个文件
214 ■■■■ 文件已修改
blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/controller/DncSendBackController.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/controller/ProgramExchangeStatController.java 45 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/entity/NcNode.java 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/NcNodeService.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/NcProgramExchangeStatService.java 54 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/vo/NcNodeVO.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/vo/ProgramExchangeStatQueryVO.java 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/vo/ProgramExchangeStatVO.java 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
doc/sql/mdm/mdm.mysql.all.create.sql 53 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/controller/DncSendBackController.java
@@ -59,7 +59,7 @@
    @PostMapping("dnc-sendback-accept")
    @ApiOperationSupport(order = 2)
    @Operation(summary = "DNC回传数据入库")
    @Operation(summary = "DNC回传数据入库", description = "入库,同时启动固化流程")
    public R<Void> dncSendBackAccept(@RequestParam String ids) {
        try {
            dncSendBackService.dncFileAccept(ids);
blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/controller/ProgramExchangeStatController.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,45 @@
package org.springblade.mdm.program.controller;
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.tags.Tag;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springblade.core.tenant.annotation.NonDS;
import org.springblade.core.tool.api.R;
import org.springblade.mdm.basesetting.machine.vo.MachineQueryVO;
import org.springblade.mdm.basesetting.machine.vo.MachineVO;
import org.springblade.mdm.program.service.DncSendBackService;
import org.springblade.mdm.program.service.NcProgramExchangeStatService;
import org.springblade.mdm.program.vo.DncSendBackData;
import org.springblade.mdm.program.vo.ProgramExchangeStatQueryVO;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import java.util.List;
/**
 * æµç¨‹ç®¡ç†æŽ¥å£
 *
 * @author Chill
 */
@NonDS
@RestController
@RequestMapping("/program/stat")
@AllArgsConstructor
@Tag(name = "下发/回传程序统计", description = "下发/回传程序统计")
@Slf4j
public class ProgramExchangeStatController {
    private final NcProgramExchangeStatService service;
    @Operation(summary = "发送程序统计", description = "发送程序统计")
    @GetMapping("/page")
    public R<IPage<MachineVO>> page(ProgramExchangeStatQueryVO query) {
        IPage<MachineVO> pages = service.distributeStatPageQuery(query);
        return R.data(pages);
    }
    //ProgramExchangeStatQueryVO
}
blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/entity/NcNode.java
@@ -15,8 +15,11 @@
    private String name;
    private Long parentId;
    /**
     * ç¨‹åºåŒ…名
     * èŠ‚ç‚¹ç±»åž‹ï¼šå­—å…¸
      */
    private String nodeType;
    private String description;
    private String remark;
}
blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/NcNodeService.java
@@ -43,7 +43,8 @@
        NcNode ncNode = this.getById(vo.getId());
        ncNode.setName(vo.getName());
        ncNode.setNodeType(vo.getNodeType());
        ncNode.setDescription(vo.getDescription());
        ncNode.setRemark(vo.getRemark());
        this.updateById(ncNode);
    }
blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/NcProgramExchangeStatService.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,54 @@
package org.springblade.mdm.program.service;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springblade.core.mp.base.BizServiceImpl;
import org.springblade.core.mp.support.Condition;
import org.springblade.mdm.basesetting.machine.entity.Machine;
import org.springblade.mdm.basesetting.machine.entity.MachineSpec;
import org.springblade.mdm.basesetting.machine.vo.MachineQueryVO;
import org.springblade.mdm.basesetting.machine.vo.MachineVO;
import org.springblade.mdm.program.entity.NcProgram;
import org.springblade.mdm.program.mapper.NcProgramMapper;
import org.springblade.mdm.program.vo.ProgramExchangeStatQueryVO;
import org.springframework.stereotype.Service;
/**
 * ä¸‹å‘/回传程序统计
 *
 * @author yangys
 */
@Slf4j
@Service
@AllArgsConstructor
public class NcProgramExchangeStatService extends BizServiceImpl<NcProgramMapper, NcProgram> {
    private final NcProgramMapper programMapper;
    /**
     * ç¨‹åºä¸‹å‘统计分页查询
     * @param query æŸ¥è¯¢å‚æ•°
     * @return
     */
    public IPage<MachineVO> distributeStatPageQuery(ProgramExchangeStatQueryVO query) {
        //因该是每次导出都有一个记录(重复的可以更新导出时间),然后根据这个记录进行统计,
        /*
        IPage<MachineVO> page = this.getBaseMapper().pageQuery(Condition.getPage(query),query);
        //MachineSpec.valueOf()
        for (MachineVO record : page.getRecords()) {
            if(record.getMachineSpec() != null){
                MachineSpec spec = MachineSpec.valueOf(record.getMachineSpec());
                record.setMachineSpecName(spec.getText());
            }
        }
        return page;
         */
        return null;
    }
}
blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/vo/NcNodeVO.java
@@ -16,4 +16,8 @@
    private String nodeType;
    @Schema(description = "是否有子节点")
    private Boolean hasChildren;
    @Schema(description = "描述")
    private String description;
    @Schema(description = "备注")
    private String remark;
}
blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/vo/ProgramExchangeStatQueryVO.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,21 @@
package org.springblade.mdm.program.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter;
import lombok.Setter;
import org.springblade.core.mp.support.Query;
import java.time.LocalDateTime;
@Schema(description = "程序下发/回传统计查询对象")
@Setter
@Getter
public class ProgramExchangeStatQueryVO extends Query {
    @Schema(description = "下发时间开始")
    private LocalDateTime distributeTimeBegin;
    @Schema(description = "下发时间截止")
    private LocalDateTime distributeTimeEnd;
    @Schema(description = "机床编码(逗号分隔)")
    private String machineCodes;
}
blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/vo/ProgramExchangeStatVO.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,27 @@
package org.springblade.mdm.program.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter;
import lombok.Setter;
import org.springblade.core.mp.support.Query;
import java.math.BigDecimal;
import java.time.LocalDateTime;
@Schema(description = "程序下发/回传统计查询对象")
@Setter
@Getter
public class ProgramExchangeStatVO{
    @Schema(description = "数量,如下发/固化")
    private Long count;
    @Schema(description = "归档数量")
    private Long filedCount;
    @Schema(description = "机床编号")
    private String machineCode;
    @Schema(description = "占比")
    private BigDecimal countPercent;
    @Schema(description = "归档占比")
    private BigDecimal fileCountPercent;
}
doc/sql/mdm/mdm.mysql.all.create.sql
@@ -60,22 +60,24 @@
    UNIQUE KEY `uniqueCheckIndex` (`team_leader_id`,`programmer_id`,`checker_id`,`senior_id`,`is_deleted`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE = utf8mb4_general_ci  ROW_FORMAT=DYNAMIC COMMENT='主制计划表';
DROP TABLE IF EXISTS `mdm_nc_node`;
CREATE TABLE `mdm_nc_node` (
          `id` bigint NOT NULL,
          `tenant_id` varchar(6) DEFAULT NULL COMMENT '所属租户',
          `name` varchar(100) NOT NULL COMMENT '节点名称',
          `parent_id` bigint DEFAULT NULL COMMENT '所属机床组ID',
          `node_type` varchar(20) DEFAULT NULL COMMENT '节点类型:PRODUCT_MODEL(产品型号)/PARTS_NO(零组件号)/CRAFT_EDITION(工艺版次)/PROCESS_NO(工序号)/MACHINE(机床)/PACKAGE(程序包名)/PROGRAME(程序文件)',
          `status` int DEFAULT NULL COMMENT '业务状态',
          `create_dept` bigint DEFAULT NULL COMMENT '创建单位',
          `is_deleted` int DEFAULT NULL,
          `create_time` datetime DEFAULT NULL COMMENT '创建时间',
          `create_user` bigint DEFAULT NULL COMMENT '创建人',
          `update_time` datetime DEFAULT NULL COMMENT '更新时间',
          `update_user` bigint DEFAULT NULL COMMENT '更新人'
  PRIMARY KEY (`id`) USING BTREE,
                                  UNIQUE KEY `uniqueCodeIndex` (`code`,`is_deleted`) USING BTREE,
   `id` bigint NOT NULL,
   `tenant_id` varchar(6) DEFAULT NULL COMMENT '所属租户',
   `name` varchar(100) NOT NULL COMMENT '节点名称',
   `description` varchar(100) NOT NULL COMMENT '描述',
   `remark` varchar(200) NOT NULL COMMENT '备注',
   `parent_id` bigint DEFAULT NULL COMMENT '所属机床组ID',
   `node_type` varchar(20) DEFAULT NULL COMMENT '节点类型:业务字典定义',
   `status` int DEFAULT NULL COMMENT '业务状态',
   `create_dept` bigint DEFAULT NULL COMMENT '创建单位',
   `is_deleted` int DEFAULT NULL,
   `create_time` datetime DEFAULT NULL COMMENT '创建时间',
   `create_user` bigint DEFAULT NULL COMMENT '创建人',
   `update_time` datetime DEFAULT NULL COMMENT '更新时间',
   `update_user` bigint DEFAULT NULL COMMENT '更新人',
   PRIMARY KEY (`id`) USING BTREE,
   UNIQUE KEY `uniqueNameIndex` (`name`,`is_deleted`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT=DYNAMIC COMMENT='程序节点目录';
DROP TABLE IF EXISTS `mdm_nc_program`;
@@ -105,14 +107,14 @@
  PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT=DYNAMIC COMMENT='数控程序';
DROP TABLE IF EXISTS `mdm_nc_program_file`;
CREATE TABLE `mdm_nc_program_file` (
DROP TABLE IF EXISTS `mdm_nc_program_exchange`;
CREATE TABLE `mdm_nc_program_exchange` (
  `id` bigint NOT NULL,
  `tenant_id` varchar(6) DEFAULT NULL COMMENT '所属租户',
  `program_id` varchar(100) NOT NULL COMMENT '所属程序id',
  `name` varchar(100) NOT NULL COMMENT '文件名称',
  `url` varchar(100) NOT NULL COMMENT '文件地址',
  `name` varchar(100) NOT NULL COMMENT '程序名称',
  `status` int DEFAULT NULL COMMENT '业务状态',
  `exchange_type` int DEFAULT NULL COMMENT '交换类型,1:下发;2:固化',
  `create_dept` bigint DEFAULT NULL COMMENT '创建单位',
  `is_deleted` int DEFAULT NULL,
  `create_time` datetime DEFAULT NULL COMMENT '创建时间',
@@ -120,16 +122,23 @@
  `update_time` datetime DEFAULT NULL COMMENT '更新时间',
  `update_user` bigint DEFAULT NULL COMMENT '更新人',
  PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT=DYNAMIC COMMENT='数控程序文件';
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT=DYNAMIC COMMENT='数控程序下发记录';
DROP TABLE IF EXISTS `mdm_machine_back_file`;
CREATE TABLE `mdm_machine_back_file` (
    `id` bigint NOT NULL,
    `filename` varchar(255) NOT NULL COMMENT '文件名称',
    `program_id` varchar(255) NOT NULL COMMENT '程序编码',
    `machine_code` bigint DEFAULT NULL COMMENT '所属机床代码',
    `confirm_time` datetime DEFAULT NULL COMMENT '确认时间',
    `status` int DEFAULT NULL COMMENT '业务状态',
    `create_dept` bigint DEFAULT NULL COMMENT '创建单位',
    `is_deleted` int DEFAULT NULL,
    `create_time` datetime DEFAULT NULL COMMENT '创建时间',
    `create_user` bigint DEFAULT NULL COMMENT '创建人',
    `update_time` datetime DEFAULT NULL COMMENT '更新时间',