QUICK_CHECK.md 4.5 KB

工单排产模块快速检查清单

🔍 问题:前端页面不显示数据

✅ 检查清单

1. Maven 依赖检查

  • pom.xml 根目录已添加 yudao-module-product 模块
  • yudao-server/pom.xml 已添加 yudao-module-product 依赖

2. 代码结构检查

  • Controller: WorkOrderScheduleController.java 存在
  • Service: WorkOrderScheduleService.java 和实现类存在
  • Mapper: WorkOrdMasterMapper.java 和 XML 文件存在
  • VO 类: 请求和响应 VO 类存在

3. 前端代码检查

  • API 文件: src/api/product/workorderSchedule.ts 存在
  • 页面文件: src/views/product/WorkOrderSchedule.vue 存在
  • 页面在 onMounted 时调用 handleSearch()

4. 配置检查

  • Mapper 接口有 @Mapper 注解
  • Controller 有 @RestController@RequestMapping 注解
  • Service 实现类有 @Service 注解
  • 使用 @InterceptorIgnore(tenantLine = "true") 禁用租户隔离

⚠️ 关键问题

后端服务需要重新编译和启动!

新添加的模块不会自动加载到正在运行的服务中。

🚀 解决步骤

步骤 1: 停止后端服务

如果后端服务正在运行,先停止它。

步骤 2: 重新编译项目

# 在项目根目录执行
mvn clean install -DskipTests

预计时间: 2-5 分钟(取决于网络和机器性能)

步骤 3: 启动后端服务

# 方式一:使用脚本
start-backend.sh local

# 方式二:使用 Maven
cd yudao-server
mvn spring-boot:run -Dspring-boot.run.profiles=local

步骤 4: 验证后端服务

4.1 检查启动日志

查找类似以下的日志:

Mapped "{[/product/workorder-schedule/page]}" onto ...

4.2 访问 API 文档

打开浏览器:http://localhost:48080/doc.html

搜索 "工单排产" 或 "workorder-schedule"

4.3 直接测试 API

# 使用 curl 测试
curl http://localhost:48080/admin-api/product/workorder-schedule/page?pageNo=1&pageSize=20

# 或在浏览器中访问(需要先登录)
http://localhost:48080/admin-api/product/workorder-schedule/page?pageNo=1&pageSize=20

步骤 5: 检查前端

  1. 确保前端服务正在运行:

    cd yudao-ui/yudao-ui-admin-vue3
    pnpm dev
    
  2. 打开浏览器开发者工具(F12)

  3. 切换到 Network 标签

  4. 访问工单排产页面

  5. 查看是否有 API 请求:

    • 请求 URL: /admin-api/product/workorder-schedule/page
    • 请求方法: GET
    • 状态码: 应该是 200

🐛 常见错误及解决方案

错误 1: 404 Not Found

原因: 后端服务未加载 product 模块

解决方案:

  1. 确认已执行 mvn clean install
  2. 重启后端服务
  3. 检查启动日志中是否有 product 相关的 Controller 映射

错误 2: 403 Forbidden

原因: 权限不足

解决方案:

  1. 登录系统
  2. 进入【系统管理】->【菜单管理】
  3. 添加工单排产菜单和权限
  4. 或者临时移除 Controller 中的 @PreAuthorize 注解进行测试

错误 3: 500 Internal Server Error

原因: SQL 执行错误或数据库连接问题

解决方案:

  1. 查看后端日志中的详细错误信息
  2. 检查数据库连接配置
  3. 确认 WorkOrdMaster 表存在
  4. 检查 SQL 语法是否正确

错误 4: 前端不发送请求

原因: 前端代码问题或路由未配置

解决方案:

  1. 检查浏览器控制台是否有 JavaScript 错误
  2. 确认 API 文件路径正确
  3. 检查 Vue 页面是否正确导入 API 函数

📊 数据库检查

检查表是否存在

SHOW TABLES LIKE 'WorkOrdMaster';

检查数据

SELECT COUNT(*) FROM WorkOrdMaster WHERE Status != '';

应该返回 8 条数据(根据你的描述)。

检查数据示例

SELECT 
    RecID, WorkOrd, ItemNum, Status, QtyOrded, QtyCompleted
FROM WorkOrdMaster 
WHERE Status != ''
LIMIT 5;

🎯 预期结果

完成以上步骤后:

  1. ✅ 后端服务启动成功,日志中有 product 模块的 Controller 映射
  2. ✅ API 文档中能看到工单排产相关接口
  3. ✅ 直接访问 API 能返回数据(即使是空列表)
  4. ✅ 前端页面能发送 API 请求
  5. ✅ 前端页面能显示数据列表

📞 仍然有问题?

如果完成以上所有步骤后仍然有问题,请提供:

  1. 后端启动日志(特别是 Controller 映射部分)
  2. 前端浏览器控制台的错误信息
  3. Network 标签中的 API 请求和响应
  4. 数据库查询结果

这将帮助进一步诊断问题。