From a4c0d9c57dcbc02867bd6f8ca6fd455412605702 Mon Sep 17 00:00:00 2001
From: xiangpei <xiangpei@timesnew.cn>
Date: 星期六, 30 十一月 2024 01:26:36 +0800
Subject: [PATCH] 任务分配支持选部门
---
system/src/main/java/com/ycl/system/service/impl/SysDeptServiceImpl.java | 55 ++++++++++++++++++++++++++++++++++++++++++++++++++++---
1 files changed, 52 insertions(+), 3 deletions(-)
diff --git a/system/src/main/java/com/ycl/system/service/impl/SysDeptServiceImpl.java b/system/src/main/java/com/ycl/system/service/impl/SysDeptServiceImpl.java
index f356ada..679a8a3 100644
--- a/system/src/main/java/com/ycl/system/service/impl/SysDeptServiceImpl.java
+++ b/system/src/main/java/com/ycl/system/service/impl/SysDeptServiceImpl.java
@@ -1,11 +1,10 @@
package com.ycl.system.service.impl;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
+import java.util.*;
import java.util.stream.Collectors;
import com.ycl.common.base.Result;
+import com.ycl.common.core.domain.StringTreeSelect;
import com.ycl.system.domain.base.BaseSelect;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -64,6 +63,42 @@
return buildDeptTreeSelect(depts);
}
+ @Override
+ public List<StringTreeSelect> flowDeptTree(SysDept dept) {
+ List<SysDept> depts = SpringUtils.getAopProxy(this).selectDeptList(dept);
+ List<StringTreeSelect> list = depts.stream().map(item -> {
+ StringTreeSelect d = new StringTreeSelect();
+ d.setId("dept:" + item.getDeptId());
+ d.setLabel(item.getDeptName());
+ d.setParentId("dept:" + item.getParentId());
+ return d;
+ }).collect(Collectors.toList());
+
+
+ Map<String, StringTreeSelect> nodeMap = new HashMap<>();
+ // 灏嗘墍鏈夎妭鐐规斁鍏ap涓紝鏂逛究鍚庣画鏌ユ壘
+ for (StringTreeSelect node : list) {
+ nodeMap.put(node.getId(), node);
+ }
+ List<StringTreeSelect> treeList = new ArrayList<>();
+ // 鏋勫缓鏍戠粨鏋�
+ for (StringTreeSelect node : list) {
+ StringTreeSelect root = null;
+ if ("dept:0".equals(node.getParentId()) || node.getParentId().isEmpty()) {
+ // 鏍硅妭鐐�
+ root = node;
+ treeList.add(root);
+ } else {
+ // 鎵惧埌鐖惰妭鐐癸紝骞跺皢褰撳墠鑺傜偣娣诲姞鍒扮埗鑺傜偣鐨刢hildren鍒楄〃涓�
+ StringTreeSelect parentNode = nodeMap.get(node.getParentId());
+ if (parentNode != null) {
+ parentNode.getChildren().add(node);
+ }
+ }
+ }
+ return treeList;
+ }
+
/**
* 鏋勫缓鍓嶇鎵�闇�瑕佹爲缁撴瀯
*
@@ -90,6 +125,8 @@
}
return returnList;
}
+
+
/**
* 鏋勫缓鍓嶇鎵�闇�瑕佷笅鎷夋爲缁撴瀯
@@ -354,4 +391,16 @@
).collect(Collectors.toList());
return Result.ok().data(vos);
}
+
+
+ @Override
+ public List<StringTreeSelect> flowableAll() {
+ List<StringTreeSelect> list = deptMapper.selectDeptList(new SysDept()).stream().map(sysDept -> {
+ StringTreeSelect stringTreeSelect = new StringTreeSelect();
+ stringTreeSelect.setId("dept:" + sysDept.getDeptId());
+ stringTreeSelect.setLabel(sysDept.getDeptName());
+ return stringTreeSelect;
+ }).collect(Collectors.toList());
+ return list;
+ }
}
--
Gitblit v1.8.0