From 40a8157440e3b906da8f52e07d939d78c3f4c313 Mon Sep 17 00:00:00 2001
From: wlzboy <66905212@qq.com>
Date: 星期日, 12 四月 2026 16:14:06 +0800
Subject: [PATCH] feat: 任务增加统计、同步增加通知

---
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java |   44 ++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 44 insertions(+), 0 deletions(-)

diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java
index 84af926..0ab3cdf 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java
@@ -350,4 +350,48 @@
             return error("鏈壘鍒板搴旂殑鐢ㄦ埛淇℃伅");
         }
     }
+
+    /**
+     * 鏇存柊鐢ㄦ埛鍙鐞嗗垎鍏徃锛堥�氳繃oaOrderClass瀛楁淇濆瓨缂栫爜鍒楄〃锛�
+     * 鎺ユ敹閫変腑鐨勫垎鍏徃deptId鍒楄〃锛屾煡璇㈠搴旂紪鐮佸悗鍚堝苟鍐欏叆oaOrderClass
+     */
+    @PreAuthorize("@ss.hasPermi('system:user:edit')")
+    @Log(title = "鐢ㄦ埛绠$悊-鍒嗗叕鍙搁厤缃�", businessType = BusinessType.UPDATE)
+    @PutMapping("/branch/{userId}")
+    public AjaxResult updateUserBranch(@PathVariable Long userId, @RequestBody java.util.List<Long> deptIds)
+    {
+        userService.checkUserDataScope(userId);
+        SysUser user = userService.selectUserById(userId);
+        if (user == null) {
+            return error("鐢ㄦ埛涓嶅瓨鍦�");
+        }
+        // 鏍规嵁deptIds鏌ヨ鍒嗗叕鍙镐俊鎭紝鏀堕泦缂栫爜
+        java.util.Set<String> codeSet = new java.util.LinkedHashSet<>();
+        if (deptIds != null && !deptIds.isEmpty()) {
+            SysDept queryDept = new SysDept();
+            queryDept.setParentId(100L);
+            List<SysDept> allBranches = deptService.selectDeptList(queryDept);
+            java.util.Map<Long, SysDept> deptMap = new java.util.HashMap<>();
+            for (SysDept d : allBranches) {
+                deptMap.put(d.getDeptId(), d);
+            }
+            for (Long deptId : deptIds) {
+                SysDept dept = deptMap.get(deptId);
+                if (dept != null) {
+                    if (StringUtils.isNotEmpty(dept.getServiceOrderClass())) {
+                        codeSet.add(dept.getServiceOrderClass().trim());
+                    }
+                    if (StringUtils.isNotEmpty(dept.getDispatchOrderClass())) {
+                        codeSet.add(dept.getDispatchOrderClass().trim());
+                    }
+                }
+            }
+        }
+        String newOaOrderClass = String.join(",", codeSet);
+        SysUser updateUser = new SysUser();
+        updateUser.setUserId(userId);
+        updateUser.setOaOrderClass(newOaOrderClass);
+        updateUser.setUpdateBy(getUsername());
+        return toAjax(userService.updateUserProfile(updateUser));
+    }
 }

--
Gitblit v1.9.1