From 4f3a98f19143865cdc1de4791e8a95d96bd40c65 Mon Sep 17 00:00:00 2001
From: maven <2163098428@qq.com>
Date: 星期五, 01 八月 2025 13:27:59 +0800
Subject: [PATCH] yys 密码已重置

---
 cnas-require/src/main/java/com/ruoyi/require/service/impl/ProcurementSuppliesContentsServiceImpl.java |   91 +++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 91 insertions(+), 0 deletions(-)

diff --git a/cnas-require/src/main/java/com/ruoyi/require/service/impl/ProcurementSuppliesContentsServiceImpl.java b/cnas-require/src/main/java/com/ruoyi/require/service/impl/ProcurementSuppliesContentsServiceImpl.java
new file mode 100644
index 0000000..634d4c7
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/require/service/impl/ProcurementSuppliesContentsServiceImpl.java
@@ -0,0 +1,91 @@
+package com.ruoyi.require.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.common.core.domain.entity.User;
+import com.ruoyi.require.mapper.ProcurementSuppliesContentsMapper;
+import com.ruoyi.require.pojo.ProcurementSuppliesContents;
+import com.ruoyi.require.service.ProcurementSuppliesContentsService;
+import com.ruoyi.system.mapper.UserMapper;
+import lombok.AllArgsConstructor;
+import org.springframework.stereotype.Service;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
+
+@Service
+@AllArgsConstructor
+public class ProcurementSuppliesContentsServiceImpl extends ServiceImpl<ProcurementSuppliesContentsMapper, ProcurementSuppliesContents>
+        implements ProcurementSuppliesContentsService {
+
+    private UserMapper userMapper;
+
+    @Override
+    public List<ProcurementSuppliesContents> directoryListing() {
+        ArrayList<ProcurementSuppliesContents> list = new ArrayList<>();
+        // 鏌ュ嚭涓�绾х洰褰�
+        List<ProcurementSuppliesContents> firstLevel = baseMapper.selectList(new LambdaQueryWrapper<ProcurementSuppliesContents>()
+                .isNull(ProcurementSuppliesContents::getParentId));
+
+        // 鏌ュ嚭鍚湁鐖惰妭鐐圭殑 骞堕�氳繃鐖惰妭鐐瑰垎缁�
+        List<ProcurementSuppliesContents> seconds = baseMapper.selectList(new LambdaQueryWrapper<ProcurementSuppliesContents>()
+                .isNotNull(ProcurementSuppliesContents::getParentId));
+        if(firstLevel.size() > 0){
+            Map<Integer, List<ProcurementSuppliesContents>> collect = seconds.stream()
+                    .collect(Collectors.groupingBy(ProcurementSuppliesContents::getParentId));
+            // 鏍规嵁鍒嗙粍鐨刱ey 璧嬪�煎搴旂殑children
+            for (int i = 0; i < firstLevel.size(); i++) {
+                recursion(firstLevel.get(i),collect);
+                list.add(firstLevel.get(i));
+            }
+        }
+        return list;
+    }
+
+    // 閫掑綊璧嬪�糲hildren
+    public ProcurementSuppliesContents recursion(ProcurementSuppliesContents firstLevel, Map<Integer, List<ProcurementSuppliesContents>> collect) {
+        // 灏嗙埗鑺傜偣鐨刢hildren璧嬪��
+        if(collect.containsKey(firstLevel.getId())) {
+            List<ProcurementSuppliesContents> procurementSupplies = collect.get(firstLevel.getId());
+            firstLevel.setChildren(procurementSupplies);
+            for (int i = 0; i < procurementSupplies.size(); i++) {
+                recursion(procurementSupplies.get(i),collect);
+            }
+        }
+        return firstLevel;
+    }
+
+    @Override
+    public List<Map<String, Object>> getNodeNames() {
+        List<ProcurementSuppliesContents> procurementSuppliesContents = baseMapper.selectList(null);
+        List<Map<String, Object>> collect = new ArrayList<>();
+        if(procurementSuppliesContents.size() > 0) {
+            collect = procurementSuppliesContents.stream().map(item -> {
+                HashMap<String, Object> map = new HashMap<>();
+                map.put("id", item.getId());
+                map.put("nodeName", item.getNodeName());
+                return map;
+            }).collect(Collectors.toList());
+        }
+        return collect;
+    }
+
+    @Override
+    public List<Map<String, Object>> getUserList() {
+        // 1 鍋滅敤
+        List<User> users = userMapper.selectList(new LambdaQueryWrapper<User>().eq(User::getStatus, 0));
+        List<Map<String, Object>> collect = new ArrayList<>();
+        if(users.size() > 0) {
+            collect = users.stream().map(item -> {
+                HashMap<String, Object> map = new HashMap<>();
+                map.put("id", item.getId());
+                map.put("nodeName", item.getName());
+                return map;
+            }).collect(Collectors.toList());
+        }
+        return collect;
+    }
+}

--
Gitblit v1.9.3