# 工单工序排产数据诊断 ## 问题描述 工单工序排产列表页面不显示数据 ## 诊断步骤 ### 1. 检查API响应 - API端点: `GET /admin-api/product/workorder-schedule/page?pageNo=1&pageSize=20` - 状态码: 200 - 响应内容: 空 ### 2. 可能的原因 #### 原因1: 需要认证Token - Controller使用了 `@PreAuthorize("@ss.hasPermission('product:workorder-schedule:query')")` 注解 - 需要登录后获取token才能访问 #### 原因2: 数据库中没有数据 - 表名: `WorkOrdMaster` - 查询条件: `WHERE a.Status != ''` #### 原因3: MyBatis Plus分页配置问题 - 自定义XML查询可能没有正确应用分页插件 #### 原因4: 租户拦截器问题 - Mapper使用了 `@InterceptorIgnore(tenantLine = "true")` 来忽略租户拦截 - 但可能还有其他拦截器影响 ## 解决方案 ### 方案1: 前端登录后测试 1. 启动前端: `cd yudao-ui/yudao-ui-admin-vue3 && pnpm dev` 2. 访问: `http://localhost` 3. 登录系统 4. 访问工单工序排产页面 5. 检查浏览器控制台和网络请求 ### 方案2: 使用Swagger测试 1. 访问: `http://localhost:48080/doc.html` 2. 先调用登录接口获取token 3. 使用token调用工单排产接口 ### 方案3: 检查数据库 直接查询数据库确认是否有数据: ```sql SELECT COUNT(*) FROM WorkOrdMaster WHERE Status != ''; SELECT * FROM WorkOrdMaster WHERE Status != '' LIMIT 10; ``` ### 方案4: 添加调试日志 在Service实现中添加日志,查看实际执行的SQL和返回结果