From 9fe1ec3afe8696c628d076d1f76686c4efc3012e Mon Sep 17 00:00:00 2001
From: zc <zyzc>
Date: 星期二, 21 十月 2025 10:49:55 +0800
Subject: [PATCH] 容器初始化功能优化
---
rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/MatnrGroupServiceImpl.java | 48 ++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 48 insertions(+), 0 deletions(-)
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/MatnrGroupServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/MatnrGroupServiceImpl.java
index fb2b943..95ba62a 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/MatnrGroupServiceImpl.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/MatnrGroupServiceImpl.java
@@ -1,12 +1,60 @@
package com.vincent.rsf.server.manager.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.vincent.rsf.common.utils.Utils;
+import com.vincent.rsf.framework.common.R;
+import com.vincent.rsf.framework.exception.CoolException;
import com.vincent.rsf.server.manager.mapper.MatnrGroupMapper;
import com.vincent.rsf.server.manager.entity.MatnrGroup;
import com.vincent.rsf.server.manager.service.MatnrGroupService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+import java.util.Objects;
+import java.util.stream.Collectors;
@Service("matnrGroupService")
public class MatnrGroupServiceImpl extends ServiceImpl<MatnrGroupMapper, MatnrGroup> implements MatnrGroupService {
+ @Override
+ public List<MatnrGroup> getTreeData(Map<String, Object> map) {
+ List<MatnrGroup> matnrs = new ArrayList<>();
+ if (Objects.isNull(map)) {
+ matnrs = this.list(new LambdaQueryWrapper<MatnrGroup>().orderByAsc(MatnrGroup::getCode));
+ } else {
+ if (Objects.isNull(map.get("condition"))) {
+ throw new CoolException("condition鍙傛暟涓嶈兘涓虹┖锛侊紒");
+ }
+ if (!StringUtils.isBlank(map.get("condition").toString())) {
+ List<MatnrGroup> groups = this.list(new LambdaQueryWrapper<MatnrGroup>()
+ .like(MatnrGroup::getName, map.get("condition"))
+ .orderByAsc(MatnrGroup::getCode));
+ List<Long> collect = groups.stream().map(MatnrGroup::getId).collect(Collectors.toList());
+ List<MatnrGroup> list = this.list(new LambdaQueryWrapper<MatnrGroup>().in(MatnrGroup::getId, collect));
+ matnrs.addAll(list);
+ if (matnrs.isEmpty()) {
+ return new ArrayList<>();
+ }
+ MatnrGroup one = this.getOne(new LambdaQueryWrapper<MatnrGroup>().eq(MatnrGroup::getParentId, 0));
+ if (Objects.isNull(one)) {
+ throw new CoolException("椤剁骇鍒嗙粍涓嶅瓨鍦紝璇锋坊鍔犲悗鍐嶆搷浣滐紒锛�");
+ }
+
+ List<MatnrGroup> treeData = Utils.toTreeData(matnrs, one.getId(), MatnrGroup::getParentId, MatnrGroup::getId, MatnrGroup::setChildren);
+ return treeData;
+ } else {
+ matnrs = this.list(new LambdaQueryWrapper<MatnrGroup>().orderByAsc(MatnrGroup::getCode));
+ }
+ }
+ List<MatnrGroup> treeData = Utils.toTreeData(matnrs, 0L, MatnrGroup::getParentId, MatnrGroup::getId, MatnrGroup::setChildren);
+ if (treeData.isEmpty()) {
+ return new ArrayList<>();
+ }
+ return treeData;
+ }
}
--
Gitblit v1.9.1