fix(mes): 修复未关联客户的生产计划在列表中不可见的问题
【原因】
在查询生产主计划(MPS)列表时,原逻辑严格根据用户的客户数据权限进行了过滤(即 `clientId IN (permittedClientIds)`)。由于新增生产计划时“客户”是非必填项,导致未关联客户的计划(`clientId IS NULL`)无法匹配该权限条件,从而在列表中不可见。
【方案】
优化 `MesProMpsMapper.selectPage` 中的客户权限查询逻辑。在判断 `permittedClientIds` 时,追加 `OR clientId IS NULL` 的兼容条件,确保未关联客户的公共生产计划能够正常展示。
| | |
| | | .orderByDesc(MesProMpsDO::getId); |
| | | if (permittedClientIds != null) { |
| | | if (CollUtil.isEmpty(permittedClientIds)) { |
| | | return PageResult.empty(); |
| | | wrapper.isNull(MesProMpsDO::getClientId); |
| | | } else { |
| | | wrapper.and(w -> w.in(MesProMpsDO::getClientId, permittedClientIds) |
| | | .or().isNull(MesProMpsDO::getClientId)); |
| | | } |
| | | wrapper.in(MesProMpsDO::getClientId, permittedClientIds); |
| | | } |
| | | return selectPage(reqVO, wrapper); |
| | | } |