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