From 3e9a6da99aae968123ee7bca352fc08becd7f1f2 Mon Sep 17 00:00:00 2001 From: xiangpei <xiangpei@timesnew.cn> Date: 星期四, 29 八月 2024 17:29:21 +0800 Subject: [PATCH] 工单过程图接口更换 --- ycl-server/src/main/java/com/ycl/system/service/impl/SysDeptServiceImpl.java | 101 ++++++++++++++++++++++++++++++++++++++++---------- 1 files changed, 81 insertions(+), 20 deletions(-) diff --git a/ycl-server/src/main/java/com/ycl/system/service/impl/SysDeptServiceImpl.java b/ycl-server/src/main/java/com/ycl/system/service/impl/SysDeptServiceImpl.java index f7a6506..cb0621d 100644 --- a/ycl-server/src/main/java/com/ycl/system/service/impl/SysDeptServiceImpl.java +++ b/ycl-server/src/main/java/com/ycl/system/service/impl/SysDeptServiceImpl.java @@ -3,6 +3,8 @@ import annotation.DataScope; import com.ycl.exception.ServiceException; import com.ycl.platform.base.BaseSelect; +import com.ycl.platform.base.Cascader; +import com.ycl.platform.domain.vo.screen.DeptAreaVO; import com.ycl.system.Result; import com.ycl.system.domain.TreeSelect; import com.ycl.system.entity.SysDept; @@ -19,14 +21,12 @@ import org.springframework.stereotype.Service; import utils.text.Convert; -import java.util.ArrayList; -import java.util.Iterator; -import java.util.List; +import java.util.*; import java.util.stream.Collectors; /** * 閮ㄩ棬绠$悊 鏈嶅姟瀹炵幇 - * + * * @author ruoyi */ @Service @@ -40,7 +40,7 @@ /** * 鏌ヨ閮ㄩ棬绠$悊鏁版嵁 - * + * * @param dept 閮ㄩ棬淇℃伅 * @return 閮ㄩ棬淇℃伅闆嗗悎 */ @@ -53,7 +53,7 @@ /** * 鏌ヨ閮ㄩ棬鏍戠粨鏋勪俊鎭� - * + * * @param dept 閮ㄩ棬淇℃伅 * @return 閮ㄩ棬鏍戜俊鎭泦鍚� */ @@ -66,7 +66,7 @@ /** * 鏋勫缓鍓嶇鎵�闇�瑕佹爲缁撴瀯 - * + * * @param depts 閮ㄩ棬鍒楄〃 * @return 鏍戠粨鏋勫垪琛� */ @@ -93,7 +93,7 @@ /** * 鏋勫缓鍓嶇鎵�闇�瑕佷笅鎷夋爲缁撴瀯 - * + * * @param depts 閮ㄩ棬鍒楄〃 * @return 涓嬫媺鏍戠粨鏋勫垪琛� */ @@ -106,7 +106,7 @@ /** * 鏍规嵁瑙掕壊ID鏌ヨ閮ㄩ棬鏍戜俊鎭� - * + * * @param roleId 瑙掕壊ID * @return 閫変腑閮ㄩ棬鍒楄〃 */ @@ -119,7 +119,7 @@ /** * 鏍规嵁閮ㄩ棬ID鏌ヨ淇℃伅 - * + * * @param deptId 閮ㄩ棬ID * @return 閮ㄩ棬淇℃伅 */ @@ -131,7 +131,7 @@ /** * 鏍规嵁ID鏌ヨ鎵�鏈夊瓙閮ㄩ棬锛堟甯哥姸鎬侊級 - * + * * @param deptId 閮ㄩ棬ID * @return 瀛愰儴闂ㄦ暟 */ @@ -143,7 +143,7 @@ /** * 鏄惁瀛樺湪瀛愯妭鐐� - * + * * @param deptId 閮ㄩ棬ID * @return 缁撴灉 */ @@ -156,7 +156,7 @@ /** * 鏌ヨ閮ㄩ棬鏄惁瀛樺湪鐢ㄦ埛 - * + * * @param deptId 閮ㄩ棬ID * @return 缁撴灉 true 瀛樺湪 false 涓嶅瓨鍦� */ @@ -169,7 +169,7 @@ /** * 鏍¢獙閮ㄩ棬鍚嶇О鏄惁鍞竴 - * + * * @param dept 閮ㄩ棬淇℃伅 * @return 缁撴灉 */ @@ -187,7 +187,7 @@ /** * 鏍¢獙閮ㄩ棬鏄惁鏈夋暟鎹潈闄� - * + * * @param deptId 閮ㄩ棬id */ @Override @@ -207,7 +207,7 @@ /** * 鏂板淇濆瓨閮ㄩ棬淇℃伅 - * + * * @param dept 閮ㄩ棬淇℃伅 * @return 缁撴灉 */ @@ -226,7 +226,7 @@ /** * 淇敼淇濆瓨閮ㄩ棬淇℃伅 - * + * * @param dept 閮ㄩ棬淇℃伅 * @return 缁撴灉 */ @@ -254,7 +254,7 @@ /** * 淇敼璇ラ儴闂ㄧ殑鐖剁骇閮ㄩ棬鐘舵�� - * + * * @param dept 褰撳墠閮ㄩ棬 */ private void updateParentDeptStatusNormal(SysDept dept) @@ -266,7 +266,7 @@ /** * 淇敼瀛愬厓绱犲叧绯� - * + * * @param deptId 琚慨鏀圭殑閮ㄩ棬ID * @param newAncestors 鏂扮殑鐖禝D闆嗗悎 * @param oldAncestors 鏃х殑鐖禝D闆嗗悎 @@ -286,7 +286,7 @@ /** * 鍒犻櫎閮ㄩ棬绠$悊淇℃伅 - * + * * @param deptId 閮ㄩ棬ID * @return 缁撴灉 */ @@ -296,6 +296,10 @@ return deptMapper.deleteDeptById(deptId); } + /** + * 閮ㄩ棬涓嬫媺鍒楄〃 + * @return + */ @Override public Result all() { List<BaseSelect> vos = deptMapper.selectDeptList(new SysDept()).stream().map(sysDept -> { @@ -306,6 +310,58 @@ } ).collect(Collectors.toList()); return Result.ok().data(vos); + } + /** + * 鍖哄煙涓嬫媺鍒楄〃 + * @return + */ + @Override + public Result pullList() { + List<BaseSelect> vos = deptMapper.selectDeptList(new SysDept()).stream().filter(sysDept -> sysDept.getArea()!=null).map(sysDept -> { + BaseSelect baseSelect = new BaseSelect(); + baseSelect.setId(Integer.parseInt(sysDept.getDeptId() + "")); + baseSelect.setValue(sysDept.getArea()); + return baseSelect; + } + ).collect(Collectors.toList()); + return Result.ok().data(vos); + } + + @Override + public Result cascader() { + List<Cascader> data = deptMapper.cascader(); + return Result.ok().data(this.buildTree(data)); + } + + public List<Cascader> buildTree(List<Cascader> cascaders) { + // 鍒涘缓涓�涓槧灏勶紝浠arentId涓洪敭锛屽搴旂殑瀛愯妭鐐瑰垪琛ㄤ负鍊� + Map<Long, List<Cascader>> map = new HashMap<>(); + for (Cascader cascader : cascaders) { + Long parentId = cascader.getParentId(); + map.computeIfAbsent(parentId, k -> new ArrayList<>()).add(cascader); + } + + // 閫掑綊鍑芥暟锛岀敤浜庢瀯寤烘爲 + List<Cascader> tree = new ArrayList<>(); + for (Cascader cascader : cascaders) { + if (cascader.getParentId().equals(0L)) { // 鏍硅妭鐐� + tree.add(setChildren(cascader, map)); + } + } + + // 鏇存柊鍘熷鍒楄〃涓烘爲褰㈢粨鏋� + cascaders.clear(); + cascaders.addAll(tree); + return cascaders; + } + + private Cascader setChildren(Cascader cascader, Map<Long, List<Cascader>> map) { + List<Cascader> children = map.getOrDefault(cascader.getValue(), new ArrayList<>()); + for (Cascader child : children) { + setChildren(child, map); // 閫掑綊璁剧疆瀛愯妭鐐圭殑瀛愯妭鐐� + } + cascader.setChildren(children); + return cascader; } /** @@ -350,4 +406,9 @@ { return getChildList(list, t).size() > 0; } + + @Override + public List<DeptAreaVO> dashboard() { + return deptMapper.dashboard(); + } } -- Gitblit v1.8.0