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 |   77 ++++++++++++++++++++++++++++++++++++++
 1 files changed, 77 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 a4c6be3..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
@@ -31,6 +31,7 @@
 import com.ruoyi.system.service.ISysPostService;
 import com.ruoyi.system.service.ISysRoleService;
 import com.ruoyi.system.service.ISysUserService;
+import com.ruoyi.system.domain.vo.BranchUserQueryVO;
 
 /**
  * 鐢ㄦ埛淇℃伅
@@ -317,4 +318,80 @@
         
         return success(users);
     }
+    
+    /**
+     * 鏍规嵁鍒嗗叕鍙窱D鍒楄〃鑾峰彇鐢ㄦ埛(POST鏂瑰紡)
+     */
+    @PostMapping("/branch/users")
+    public AjaxResult listUsersByBranchDepts(@RequestBody BranchUserQueryVO queryVO)
+    {
+        List<Long> branchDeptIds = queryVO.getBranchDeptIds();
+        
+        if (branchDeptIds == null || branchDeptIds.isEmpty()) {
+            return success(new java.util.ArrayList<>());
+        }
+        
+        // 鏌ヨ杩欎簺鍒嗗叕鍙稿強鍏舵墍鏈夊瓙閮ㄩ棬鐨勭敤鎴�
+        List<SysUser> users = userService.selectUsersByBranchDeptIds(branchDeptIds);
+        
+        return success(users);
+    }
+    
+    /**
+     * 鏍规嵁oaUserId鏌ヨ鐢ㄦ埛淇℃伅
+     */
+    @GetMapping("/oa-user/{oaUserId}")
+    public AjaxResult getUserByOaUserId(@PathVariable Integer oaUserId)
+    {
+        SysUser user = userService.selectUserByOaUserId(oaUserId);
+        if (user != null) {
+            return success(user);
+        } else {
+            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