diff --git a/bms-back/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java b/bms-back/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java index c4bf05e9..5dfbefed 100644 --- a/bms-back/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java +++ b/bms-back/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java @@ -1,6 +1,8 @@ package com.ruoyi.web.controller.system; +import java.util.LinkedHashMap; import java.util.List; +import java.util.Map; import java.util.stream.Collectors; import jakarta.servlet.http.HttpServletResponse; import org.apache.commons.lang3.ArrayUtils; @@ -65,6 +67,27 @@ public class SysUserController extends BaseController return getDataTable(list); } + /** + * 获取用户下拉选项(业务员/客服/采购员等选择用)。 + * 不加 @PreAuthorize:登录即可访问,只返回 id/账号/姓名/部门等展示字段, + * 避免给业务角色额外开放 system:user:list(含手机号/邮箱等完整信息)。 + */ + @GetMapping("/optionselect") + public AjaxResult optionselect() + { + List> options = userService.selectUserOptions().stream().map(u -> { + Map m = new LinkedHashMap<>(); + m.put("userId", u.getUserId()); + m.put("userName", u.getUserName()); + m.put("nickName", u.getNickName()); + m.put("deptId", u.getDeptId()); + m.put("deptName", u.getDept() == null ? null : u.getDept().getDeptName()); + m.put("status", u.getStatus()); + return m; + }).collect(Collectors.toList()); + return AjaxResult.success(options); + } + @Log(title = "用户管理", businessType = BusinessType.EXPORT) @PreAuthorize("@ss.hasPermi('system:user:export')") @PostMapping("/export") diff --git a/bms-back/ruoyi-system/src/main/java/com/ruoyi/customer/customerinfo/service/impl/BmsCustomerServiceImpl.java b/bms-back/ruoyi-system/src/main/java/com/ruoyi/customer/customerinfo/service/impl/BmsCustomerServiceImpl.java index 57525228..bfe15d17 100644 --- a/bms-back/ruoyi-system/src/main/java/com/ruoyi/customer/customerinfo/service/impl/BmsCustomerServiceImpl.java +++ b/bms-back/ruoyi-system/src/main/java/com/ruoyi/customer/customerinfo/service/impl/BmsCustomerServiceImpl.java @@ -2,6 +2,7 @@ package com.ruoyi.customer.customerinfo.service.impl; import java.util.List; +import com.ruoyi.common.annotation.DataScope; import com.ruoyi.common.core.domain.entity.SysUser; import com.ruoyi.common.utils.DateUtils; import com.ruoyi.common.utils.SecurityUtils; @@ -64,6 +65,7 @@ public class BmsCustomerServiceImpl implements IBmsCustomerService * @return 客户主 */ @Override + @DataScope(deptAlias = "su", deptField = "dept_id", userAlias = "c", userField = "sales_user_id") public List selectBmsCustomerList(BmsCustomer bmsCustomer) { return bmsCustomerMapper.selectBmsCustomerList(bmsCustomer); diff --git a/bms-back/ruoyi-system/src/main/java/com/ruoyi/customer/supplierinfo/service/impl/BmsSupplierServiceImpl.java b/bms-back/ruoyi-system/src/main/java/com/ruoyi/customer/supplierinfo/service/impl/BmsSupplierServiceImpl.java index b5685e37..fe3dae45 100644 --- a/bms-back/ruoyi-system/src/main/java/com/ruoyi/customer/supplierinfo/service/impl/BmsSupplierServiceImpl.java +++ b/bms-back/ruoyi-system/src/main/java/com/ruoyi/customer/supplierinfo/service/impl/BmsSupplierServiceImpl.java @@ -2,6 +2,7 @@ package com.ruoyi.customer.supplierinfo.service.impl; import java.util.List; +import com.ruoyi.common.annotation.DataScope; import com.ruoyi.common.core.domain.entity.SysUser; import com.ruoyi.common.utils.DateUtils; import com.ruoyi.common.utils.SecurityUtils; @@ -47,6 +48,7 @@ public class BmsSupplierServiceImpl implements IBmsSupplierService } @Override + @DataScope(deptAlias = "su", deptField = "dept_id", userAlias = "s", userField = "purchaser_user_id") public List selectBmsSupplierList(BmsSupplier bmsSupplier) { return bmsSupplierMapper.selectBmsSupplierList(bmsSupplier); diff --git a/bms-back/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysUserMapper.java b/bms-back/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysUserMapper.java index 543c59cb..98d9f7b2 100644 --- a/bms-back/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysUserMapper.java +++ b/bms-back/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysUserMapper.java @@ -20,6 +20,13 @@ public interface SysUserMapper */ public List selectUserList(SysUser sysUser); + /** + * 查询全部未删除用户(下拉选项用,不带数据权限过滤) + * + * @return 用户信息集合 + */ + public List selectUserOptions(); + /** * 根据条件分页查询已配用户角色列表 * diff --git a/bms-back/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysUserService.java b/bms-back/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysUserService.java index 067245bd..75301e5c 100644 --- a/bms-back/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysUserService.java +++ b/bms-back/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysUserService.java @@ -19,6 +19,13 @@ public interface ISysUserService */ public List selectUserList(SysUser user); + /** + * 查询全部未删除用户(下拉选项用,不带数据权限过滤) + * + * @return 用户信息集合 + */ + public List selectUserOptions(); + /** * 根据条件分页查询已分配用户角色列表 * diff --git a/bms-back/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java b/bms-back/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java index b0196b8f..dad79a14 100644 --- a/bms-back/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java +++ b/bms-back/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java @@ -79,6 +79,15 @@ public class SysUserServiceImpl implements ISysUserService return userMapper.selectUserList(user); } + /** + * 下拉选项专用:故意不加 @DataScope,任何角色都能拿到完整用户名单用于人员选择/回显 + */ + @Override + public List selectUserOptions() + { + return userMapper.selectUserOptions(); + } + /** * 根据条件分页查询已分配用户角色列表 * diff --git a/bms-back/ruoyi-system/src/main/resources/mapper/customer/BmsCustomerMapper.xml b/bms-back/ruoyi-system/src/main/resources/mapper/customer/BmsCustomerMapper.xml index c4cf81b2..b116013b 100644 --- a/bms-back/ruoyi-system/src/main/resources/mapper/customer/BmsCustomerMapper.xml +++ b/bms-back/ruoyi-system/src/main/resources/mapper/customer/BmsCustomerMapper.xml @@ -54,6 +54,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" c.product_ids, c.remark, c.create_by, c.create_time, c.update_by, c.update_time, c.del_flag from bms_customer c + + left join sys_user su on su.user_id = c.sales_user_id + 0 diff --git a/bms-back/ruoyi-system/src/main/resources/mapper/customer/BmsSupplierMapper.xml b/bms-back/ruoyi-system/src/main/resources/mapper/customer/BmsSupplierMapper.xml index 2a4fd951..1995e6f7 100644 --- a/bms-back/ruoyi-system/src/main/resources/mapper/customer/BmsSupplierMapper.xml +++ b/bms-back/ruoyi-system/src/main/resources/mapper/customer/BmsSupplierMapper.xml @@ -39,31 +39,43 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - select supplier_id, supplier_code, supplier_name, supplier_code_dw, credit_code, supplier_type, is_enable, purchaser_user_id, purchaser_user, settlement_user_id, settlement_user, service_user_id, service_user, ed, zq, settlement_type, temp_ed, account_balance, foreign_currency_balance, credit_ed, weight_threshold, throw_ratio, cooperation_start_date, cooperation_status, channel_ids, remark, create_by, create_time, update_by, update_time, del_flag from bms_supplier + select s.supplier_id, s.supplier_code, s.supplier_name, s.supplier_code_dw, s.credit_code, s.supplier_type, + s.is_enable, s.purchaser_user_id, s.purchaser_user, s.settlement_user_id, s.settlement_user, + s.service_user_id, s.service_user, s.ed, s.zq, s.settlement_type, s.temp_ed, s.account_balance, + s.foreign_currency_balance, s.credit_ed, s.weight_threshold, s.throw_ratio, s.cooperation_start_date, + s.cooperation_status, s.channel_ids, s.remark, s.create_by, s.create_time, s.update_by, s.update_time, s.del_flag + from bms_supplier s + + left join sys_user su on su.user_id = s.purchaser_user_id + 0 diff --git a/bms-back/ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml b/bms-back/ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml index b12cc870..0ebf9763 100644 --- a/bms-back/ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml +++ b/bms-back/ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml @@ -85,6 +85,15 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" ${params.dataScope} + + +