对应招标需求书第 12 条:**整合生产、质检、库存、出库、追溯五大维度核心指标,提供可视化图表展示,支持 Excel/PDF 格式报表导出和打印存档。**
导出能力:
html2canvas + jspdf 将驾驶舱报表区域生成为可直接下载的 PDF 文件;vue3-print-nb 打印报表区域用于存档。种子业务数据表位于 mom-thzy 库(含生产批次 mes_pro_batch、袋码 mes_pro_bag_code、托盘 mes_pro_pallet、种子质检 mes_qc_seed_quality、扫码事件 mes_trace_consumer_scan_event 等全部业务表)。
✅ 已处理:
yudao-server/src/main/resources/application-local.yaml主数据源已指回jdbc:mysql://192.168.197.128:3306/mom-thzy(root / sugaozhixing.cn)。驾驶舱及一袋一码等种子业务功能**必须连接mom-thzy库**才能正常统计,请勿再切回ruoyi-vue-pro(该库不含种子业务表)。
若目标库缺少种子业务表,需先执行 sql/mysql/ 下的初始化脚本:
- mes_pro_batch_bag_code_init.sql(生产批次/袋码/托盘)
- mes_seed_quality_init.sql(种子质检)
- mes_trace_consumer_scan_event.sql(消费者扫码事件)
- mes_trace_anti_cross_region_init.sql(窜货预警)
- mes_pro_scan_inbound_init.sql(生产线扫码入库)
后端位于 yudao-module-mes,新增包:
| 文件 | 说明 |
|---|---|
controller/admin/dashboard/MesDashboardController.java |
/mes/dashboard 统计接口 + Excel 多 sheet 导出 |
controller/admin/dashboard/vo/*.java |
统计响应 VO 与 Excel 导出 VO |
service/dashboard/MesDashboardService(.java|Impl) |
五维度统计聚合(含按日补零) |
dal/mysql/dashboard/MesDashboardMapper.java |
MyBatis Mapper 接口 |
resources/mapper/dashboard/MesDashboardMapper.xml |
手写统计 SQL |
接口清单(权限 mes:dashboard:query / mes:dashboard:export):
| 接口 | 说明 |
|---|---|
GET /mes/dashboard/summary |
五维度 KPI 汇总 |
GET /mes/dashboard/production-trend?days= |
生产趋势 |
GET /mes/dashboard/quality-statistics |
质检维度统计 |
GET /mes/dashboard/inventory-statistics |
库存维度统计 |
GET /mes/dashboard/outbound-statistics?days= |
出库维度统计 |
GET /mes/dashboard/trace-statistics?days= |
追溯维度统计(复用扫码统计与窜货预警服务) |
GET /mes/dashboard/export-excel |
Excel 多 sheet 报表导出 |
设计要点:
- 追溯维度**复用** MesTraceConsumerScanStatisticsService、MesTraceCrossRegionService,避免重复 SQL;
- 库存低预警数**复用** MesWmStockWarningService.getCurrentWarnings();
- 空数据表(如质检/库存/出库尚无数据)返回 0 或空数组,前端图表正常渲染;Excel 导出空 sheet 自动补「暂无数据」行,保证表头可推断。
前端位于 mom-pro2-before,新增:
| 文件 | 说明 |
|---|---|
src/api/mes/management-cockpit/index.ts |
驾驶舱 API(requestClient) |
src/views/management-cockpit/index.vue |
驾驶舱主页面(工具栏 + 报表区域) |
src/views/management-cockpit/chart-options.ts |
ECharts 配置工厂 |
src/views/management-cockpit/modules/*.vue |
KPI 卡 + 生产/质检/库存/出库/追溯图表组件 |
页面能力:
- 刷新:整体刷新全部维度数据;
- 导出 Excel:requestClient.download 下载后端多 sheet 工作簿;
- 导出 PDF:html2canvas 截取报表区域 + jspdf 生成可下载 PDF;
- 打印:vue3-print-nb 打印报表区域,用于存档。
新增依赖(根 package.json):html2canvas、jspdf。
执行 sql/mysql/mes_dashboard_module_init.sql(幂等)注册:
component = management-cockpit/index);mes:dashboard:query、mes:dashboard:export。菜单由后端 system_menu 动态下发,前端 component 字段映射到 src/views/management-cockpit/index.vue。
mvn compile -pl yudao-module-mes -am -qpnpm typecheck(本次新增文件无类型错误)mes_dashboard_module_init.sql 后登录系统,菜单出现「统计分析 → 管理驾驶舱」mom-thzy 库实际数据一致