From 310633feef20e9b77d44fd25e0b41778e033b33b Mon Sep 17 00:00:00 2001
From: wlzboy <66905212@qq.com>
Date: 星期二, 11 十一月 2025 21:48:46 +0800
Subject: [PATCH] feat: 车辆GPS统计,并修改了一些变更任务状态的逻辑
---
ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java | 66 ++++++++++++++++++++++++++++++++
1 files changed, 65 insertions(+), 1 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 130c438..a4c6be3 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
@@ -56,7 +56,6 @@
/**
* 鑾峰彇鐢ㄦ埛鍒楄〃
*/
- @PreAuthorize("@ss.hasPermi('system:user:list')")
@GetMapping("/list")
public TableDataInfo list(SysUser user)
{
@@ -253,4 +252,69 @@
{
return success(deptService.selectDeptTreeList(dept));
}
+
+ /**
+ * 鑾峰彇褰撳墠鐢ㄦ埛绠$悊鐨勫垎鍏徃涓嬬殑鎵�鏈夌敤鎴凤紙灏忕▼搴忕涓撶敤锛�
+ * 鏍规嵁褰撳墠鐢ㄦ埛鐨刼aOrderClass瀛楁鍖归厤鍒嗗叕鍙革紝杩斿洖杩欎簺鍒嗗叕鍙稿強鍏舵墍鏈夊瓙閮ㄩ棬鐨勭敤鎴�
+ */
+ @GetMapping("/branch/users")
+ public AjaxResult listBranchUsers()
+ {
+ // 鑾峰彇褰撳墠鐢ㄦ埛
+ SysUser currentUser = userService.selectUserById(getUserId());
+ if (currentUser == null) {
+ return error("鐢ㄦ埛涓嶅瓨鍦�");
+ }
+
+ // 鑾峰彇褰撳墠鐢ㄦ埛绠$悊鐨勫垎鍏徃ID鍒楄〃
+ String oaOrderClass = currentUser.getOaOrderClass();
+ List<Long> branchDeptIds = new java.util.ArrayList<>();
+
+ if (StringUtils.isNotEmpty(oaOrderClass)) {
+ // 鏍规嵁oaOrderClass鏌ヨ鍖归厤鐨勫垎鍏徃
+ String[] orderCodes = oaOrderClass.split(",");
+ SysDept queryDept = new SysDept();
+ queryDept.setParentId(100L); // 鍙煡璇㈠垎鍏徃
+ List<SysDept> allBranches = deptService.selectDeptList(queryDept);
+
+ for (SysDept branch : allBranches) {
+ for (String code : orderCodes) {
+ // 鍖归厤serviceOrderClass鎴杁ispatchOrderClass
+ if ((StringUtils.isNotEmpty(branch.getServiceOrderClass()) && branch.getServiceOrderClass().equals(code.trim()))
+ || (StringUtils.isNotEmpty(branch.getDispatchOrderClass()) && branch.getDispatchOrderClass().equals(code.trim()))) {
+ branchDeptIds.add(branch.getDeptId());
+ break;
+ }
+ }
+ }
+ }
+
+ // 濡傛灉娌℃湁鎵惧埌鍖归厤鐨勫垎鍏徃锛屼娇鐢ㄥ綋鍓嶇敤鎴锋墍鍦ㄩ儴闂�
+ if (branchDeptIds.isEmpty()) {
+ Long userDeptId = currentUser.getDeptId();
+ if (userDeptId != null) {
+ // 鏌ユ壘鐢ㄦ埛鎵�鍦ㄩ儴闂ㄧ殑鐖剁骇鍒嗗叕鍙�
+ SysDept userDept = deptService.selectDeptById(userDeptId);
+ if (userDept != null) {
+ // 鍚戜笂鏌ユ壘鐩村埌鎵惧埌parent_id=100鐨勫垎鍏徃
+ while (userDept != null && userDept.getParentId() != 100L) {
+ userDept = deptService.selectDeptById(userDept.getParentId());
+ }
+ if (userDept != null && userDept.getParentId() == 100L) {
+ branchDeptIds.add(userDept.getDeptId());
+ }
+ }
+ }
+ }
+
+ // 濡傛灉杩樻槸娌℃湁鎵惧埌锛岃繑鍥炵┖鍒楄〃
+ if (branchDeptIds.isEmpty()) {
+ return success(new java.util.ArrayList<>());
+ }
+
+ // 鏌ヨ杩欎簺鍒嗗叕鍙稿強鍏舵墍鏈夊瓙閮ㄩ棬鐨勭敤鎴�
+ List<SysUser> users = userService.selectUsersByBranchDeptIds(branchDeptIds);
+
+ return success(users);
+ }
}
--
Gitblit v1.9.1