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