From 3e9e24190006b20868ceac08aa5d4408c8dfb908 Mon Sep 17 00:00:00 2001
From: yangys <y_ys79@sina.com>
Date: 星期四, 19 六月 2025 19:57:47 +0800
Subject: [PATCH] 增加程序节点接口
---
blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/vo/NcNodeVO.java | 5 +-
blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/mapper/NcNodeMapper.java | 6 ++
blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/mapper/NcNodeMapper.xml | 16 +++++++-
blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/controller/NcNodeController.java | 27 +++++++++++--
blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/NcNodeService.java | 18 +++++++++
5 files changed, 63 insertions(+), 9 deletions(-)
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/controller/NcNodeController.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/controller/NcNodeController.java
index df7d3da..334bda0 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/controller/NcNodeController.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/controller/NcNodeController.java
@@ -1,15 +1,24 @@
package org.springblade.mdm.program.controller;
+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.Parameters;
+import io.swagger.v3.oas.annotations.enums.ParameterIn;
+import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
+import org.springblade.core.secure.BladeUser;
import org.springblade.core.tenant.annotation.NonDS;
import org.springblade.core.tool.api.R;
import org.springblade.mdm.program.service.NcNodeService;
import org.springblade.mdm.program.vo.NcNodeVO;
import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+import java.util.Map;
/**
* 绋嬪簭鑺傜偣
@@ -30,18 +39,16 @@
* 鏂板
*/
@PostMapping("/save")
- @Operation(summary = "鏂板鑺傜偣", description = "鑺傜偣淇℃伅")
+ @Operation(summary = "鏂板鑺傜偣", description = "鑺傜偣淇℃伅,id淇濇寔绌�")
public R<Boolean> save(@RequestBody NcNodeVO vo) {
-
ncNodeService.saveNcCode(vo);
return R.<Boolean>status(true);
}
@PostMapping("/update")
- @Operation(summary = "淇敼鑺傜偣")
+ @Operation(summary = "淇敼鑺傜偣", description = "鑺傜偣淇℃伅,蹇呴』浼犲叆ID")
public R<Boolean> update(@RequestBody NcNodeVO vo) {
-
ncNodeService.updateNcCode(vo);
return R.<Boolean>status(true);
}
@@ -52,4 +59,16 @@
ncNodeService.removeById(id);
return R.<Boolean>status(true);
}
+
+ @GetMapping("/lazy-list")
+ @Parameters({
+ @Parameter(name = "deptName", description = "閮ㄩ棬鍚嶇О", in = ParameterIn.QUERY, schema = @Schema(type = "string")),
+ @Parameter(name = "fullName", description = "閮ㄩ棬鍏ㄧО", in = ParameterIn.QUERY, schema = @Schema(type = "string"))
+ })
+
+ @Operation(summary = "鎳掑姞杞藉垪琛�", description = "绋嬪簭鐩綍鏍戝舰缁撴瀯")
+ public R<List<NcNodeVO>> lazyList(Long parentId) {
+ List<NcNodeVO> list = ncNodeService.lazyList(parentId);
+ return R.data(list);
+ }
}
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/mapper/NcNodeMapper.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/mapper/NcNodeMapper.java
index 9c1ec8c..206910b 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/mapper/NcNodeMapper.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/mapper/NcNodeMapper.java
@@ -4,10 +4,14 @@
import org.springblade.core.mp.mapper.BladeMapper;
import org.springblade.mdm.program.entity.NcNode;
import org.springblade.mdm.program.entity.NcProgram;
+import org.springblade.mdm.program.vo.NcNodeVO;
+
+import java.util.List;
public interface NcNodeMapper extends BladeMapper<NcNode> {
+ List<NcNodeVO> lazyList(Long parentId);
- /**
+ /**
* 鑾峰彇鏈�鏂板浐鍖栫▼搴�
* @param partNo 闆剁粍浠跺彿
* @param machineGroupCode 鏈哄簥缁勪唬鐮�
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/mapper/NcNodeMapper.xml b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/mapper/NcNodeMapper.xml
index 5ee260f..af78919 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/mapper/NcNodeMapper.xml
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/mapper/NcNodeMapper.xml
@@ -24,13 +24,25 @@
<!-- <select id="parentTree" resultMap="treeNodeResultMap">-->
<!-- select id, parent_id, dict_value as title, id as "value", id as "key" from blade_dict where is_deleted = 0 and parent_id = 0-->
<!-- </select>-->
- <sql id="all_columns">id,tenant_id,nc_node_id,code,name,package_name,machine_code,part_no,is_cured,
+ <sql id="prog_all_columns">id,tenant_id,nc_node_id,code,name,package_name,machine_code,part_no,is_cured,
expire_date,process_edition,is_last_edition,is_locked,task_assign_time,status,create_dept,is_deleted,create_time,create_user,update_time,update_user</sql>
<select id="getCuredNcProgram" resultMap="BaseResultMap">
- select <include refid="all_columns"/> from mdm_nc_program
+ select <include refid="prog_all_columns"/> from mdm_nc_program
where is_deleted=0 and is_cured=1 and part_no=#{partNo} and is_last_edition=1
and machine_code in (select code from mdm_machine where machine_group_code=#{machineGroupCode})
order by create_time desc
limit 1
</select>
+
+ <sql id="all_columns">id,tenant_id,name,parent_id,node_type,status,create_dept,is_deleted,create_time,create_user,update_time,update_user</sql>
+ <select id="lazyList" resultType="org.springblade.mdm.program.vo.NcNodeVO">
+ select <include refid="all_columns"/>,(
+ SELECT
+ CASE WHEN count(1) > 0 THEN 1 ELSE 0 END
+ FROM
+ mdm_nc_node
+ WHERE
+ parent_id = n.id and is_deleted = 0
+ ) AS "has_children" from mdm_nc_node n where is_deleted=0 and parent_id=#{parentId}
+ </select>
</mapper>
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/NcNodeService.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/NcNodeService.java
index cf866af..801a20f 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/NcNodeService.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/service/NcNodeService.java
@@ -6,6 +6,8 @@
import lombok.extern.slf4j.Slf4j;
import org.flowable.engine.*;
import org.springblade.core.mp.base.BizServiceImpl;
+import org.springblade.core.secure.utils.AuthUtil;
+import org.springblade.core.tool.utils.Func;
import org.springblade.mdm.basesetting.machine.MachineService;
import org.springblade.mdm.basesetting.machine.entity.Machine;
import org.springblade.mdm.program.entity.NcNode;
@@ -13,6 +15,8 @@
import org.springblade.mdm.program.vo.NcNodeVO;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
+
+import java.util.List;
/**
* 绋嬪簭鑺傜偣
@@ -42,4 +46,18 @@
this.updateById(ncNode);
}
+
+ /**
+ * 鎳掑姞杞藉垪琛�
+ * @param parentId 鐖惰妭鐐笽D
+ * @return
+ */
+ public List<NcNodeVO> lazyList(Long parentId) {
+// 鍒ゆ柇鐐瑰嚮鎼滅储浣嗘槸娌℃湁鏌ヨ鏉′欢鐨勬儏鍐�
+ if (Func.isEmpty(parentId)) {
+ parentId = 0L;
+ }
+
+ return baseMapper.lazyList(parentId);
+ }
}
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 deb120d..e36d368 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
@@ -10,9 +10,10 @@
public class NcNodeVO extends BaseVO {
@Schema(description = "鑺傜偣鍚嶇О")
private String name;
- @Schema(description = "鐖禝D")
+ @Schema(description = "鐖禝D,鏍硅妭鐐圭埗id=0")
private Long parentId;
@Schema(description = "鑺傜偣绫诲瀷锛屽瓧鍏�(绋嬪簭鑺傜偣绫诲瀷nc_node_type)")
private String nodeType;
-
+ @Schema(description = "鏄惁鏈夊瓙鑺傜偣")
+ private Boolean hasChildren;
}
--
Gitblit v1.9.3