hsy
13 小时以前 54d61c3509e3e3435017f57fb11a4fa0246abf42
fix(mes): 修复未关联客户的生产计划在列表中不可见的问题

【原因】
在查询生产主计划(MPS)列表时,原逻辑严格根据用户的客户数据权限进行了过滤(即 `clientId IN (permittedClientIds)`)。由于新增生产计划时“客户”是非必填项,导致未关联客户的计划(`clientId IS NULL`)无法匹配该权限条件,从而在列表中不可见。

【方案】
优化 `MesProMpsMapper.selectPage` 中的客户权限查询逻辑。在判断 `permittedClientIds` 时,追加 `OR clientId IS NULL` 的兼容条件,确保未关联客户的公共生产计划能够正常展示。
已修改1个文件
6 ■■■■■ 文件已修改
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/pro/mps/MesProMpsMapper.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/pro/mps/MesProMpsMapper.java
@@ -52,9 +52,11 @@
                .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);
    }