生产报表模块设计文档
版本信息
- 版本号: v1.6.014
- 日期: 2026-01-17
- 开发者: 周启威
一、模块概述
1.1 功能目标
生产报表模块用于统计和展示生产相关的各类数据报表,帮助管理人员了解生产进度、产量、合格率、工时等关键指标。
1.2 主要功能
- 日报表 - 按日统计生产数据(产量、合格率、报工人员等)
- 月报表 - 按月汇总生产数据
- 产量统计 - 按产品/工序/车间/工位统计产量
- 合格率分析 - 统计各维度的合格率数据
- 工时统计 - 统计员工/设备工时
- 导出功能 - 支持Excel导出
二、数据库设计
2.1 涉及的现有表
| 表名 |
说明 |
pro_report |
报工单表 |
pro_workorder |
生产工单表 |
pro_workorder_entry |
工单分录表 |
md_material |
物料表 |
md_workshop |
车间表 |
md_station |
工位表 |
sys_user |
用户表 |
2.2 报表视图(可选,用于优化查询性能)
暂不创建视图,直接使用SQL查询聚合数据。
2.3 数据来源说明
2.3.1 生产数据来源(pro_report表)
| 数据项 |
来源表 |
字段 |
说明 |
| 报工数量 |
pro_report |
report_quantity |
每次报工的数量 |
| 合格数量 |
pro_report |
qualified_quantity |
报工合格数量 |
| 不合格数量 |
pro_report |
unqualified_quantity |
报工不合格数量 |
| 报工时间 |
pro_report |
report_time |
用于按日期统计 |
| 报工人 |
pro_report |
report_user_id, report_user_name |
用于按人员统计 |
| 车间 |
pro_report |
workshop_id, workshop_name |
用于按车间统计 |
| 工位 |
pro_report |
station_id, station_name |
用于按工位统计 |
| 设备 |
pro_report |
equipment_id, equipment_name |
用于按设备统计 |
| 班次 |
pro_report |
shift_name |
用于按班次统计 |
| 报工时段 |
pro_report |
report_period_start, report_period_end |
用于工时计算 |
| 停机时间 |
pro_report |
downtime_minutes |
用于设备利用率计算 |
2.3.2 质检数据来源(FIIH新版质检)
| 数据项 |
来源表 |
字段 |
说明 |
| 质检总数 |
fiih_qc_data |
COUNT(id) |
质检记录总条数 |
| 不合格数 |
fiih_qc_data |
fiih_qc_result |
统计结论为"不合格"的条数 |
| 合格数 |
fiih_qc_data |
计算值 |
总数 - 不合格数 |
| 质检结论 |
fiih_qc_data |
fiih_qc_result |
合格/不合格 |
| 不良原因 |
fiih_qc_data |
fiih_bad_reason |
不合格原因 |
| 对象名称 |
fiih_qc_data |
fiih_object_name |
质检对象 |
| 任务名称 |
fiih_qc_data |
fiih_task_name |
质检任务 |
| 环节名称 |
fiih_qc_data |
fiih_link_name |
质检环节 |
| 采集时间 |
fiih_qc_data |
fiih_collect_time |
用于按日期统计 |
| 任务状态 |
fiih_qc_data |
fiih_status |
1进行中 2完成 3作废 |
2.3.3 质检配置来源
| 数据项 |
来源表 |
字段 |
说明 |
| 配置信息 |
fiih_qc_config |
多字段 |
质检项配置 |
| 分项配置 |
fiih_qc_config |
fiih_config_ch0~23 |
24个通道的JSON配置 |
| 负责人 |
fiih_qc_config |
fiih_leader_id, fiih_leader_name |
质检负责人 |
2.3.4 关联数据来源
| 数据项 |
来源表 |
关联方式 |
说明 |
| 产品信息 |
pro_workorder |
通过 work_order_id 关联 |
获取物料名称、规格型号等 |
| 工序信息 |
pro_workorder_entry |
通过 work_order_entry_id 关联 |
获取工序名称、工序顺序 |
| 工单信息 |
pro_workorder |
通过 work_order_id 关联 |
获取工单编号、批次号等 |
| 客户信息 |
sal_order |
通过工单关联销售订单 |
获取客户名称 |
2.3.5 统计计算逻辑
| 指标 |
计算公式 |
数据来源 |
| 总产量 |
SUM(report_quantity) |
pro_report |
| 生产合格率 |
SUM(qualified_quantity) / SUM(report_quantity) * 100% |
pro_report |
| 报工次数 |
COUNT(id) |
pro_report |
| 工时(分钟) |
SUM(TIMESTAMPDIFF(MINUTE, report_period_start, report_period_end)) |
pro_report |
| 有效工时 |
工时 - 停机时间 |
pro_report |
| 设备利用率 |
有效工时 / 总工时 * 100% |
pro_report |
| 质检合格率 |
(总条数 - 不合格条数) / 总条数 * 100% |
fiih_qc_data |
| 质检总数 |
COUNT(id) |
fiih_qc_data |
| 不合格数 |
COUNT(id) WHERE fiih_qc_result = '不合格' |
fiih_qc_data |
2.4 首页Dashboard质检数据修改
2.4.1 当前实现(需修改)
- 文件:
DashboardMapper.xml
- 方法:
selectProductQualityRate
- 数据源:
qc_report_quality 表(旧版质检)
2.4.2 修改方案
将首页质检合格率改为从 fiih_qc_data 表读取:
三、接口设计
3.1 后端接口
3.1.1 日报表查询
请求参数:
| 参数名 |
类型 |
必填 |
说明 |
| reportDate |
String |
否 |
报工日期 (yyyy-MM-dd),默认当天 |
| workshopId |
Long |
否 |
车间ID |
| stationId |
Long |
否 |
工位ID |
| materialId |
Long |
否 |
产品ID |
返回数据:
3.1.2 月报表查询
请求参数:
| 参数名 |
类型 |
必填 |
说明 |
| yearMonth |
String |
否 |
年月 (yyyy-MM),默认当月 |
| workshopId |
Long |
否 |
车间ID |
返回数据:
3.1.3 产量统计
请求参数:
| 参数名 |
类型 |
必填 |
说明 |
| startDate |
String |
是 |
开始日期 |
| endDate |
String |
是 |
结束日期 |
| groupBy |
String |
否 |
分组维度: material/workshop/station/user |
| workshopId |
Long |
否 |
车间ID |
3.1.4 合格率分析
3.1.5 工时统计
3.1.6 导出报表
四、前端设计
4.1 目录结构
4.2 页面布局
4.2.1 主页面结构
五、后端实现
5.1 文件清单
| 文件路径 |
说明 |
cn.sourceplan.statement.controller.ProductionStatementController |
控制器 |
cn.sourceplan.statement.service.IProductionStatementService |
服务接口 |
cn.sourceplan.statement.service.impl.ProductionStatementServiceImpl |
服务实现 |
cn.sourceplan.statement.mapper.ProductionStatementMapper |
Mapper接口 |
mapper/statement/ProductionStatementMapper.xml |
Mapper XML |
cn.sourceplan.statement.domain.vo.DailyReportVO |
日报表VO |
cn.sourceplan.statement.domain.vo.MonthlyReportVO |
月报表VO |
cn.sourceplan.statement.domain.vo.OutputStatisticsVO |
产量统计VO |
cn.sourceplan.statement.domain.query.ProductionStatementQuery |
查询参数 |
六、菜单与权限
6.1 菜单配置
- 父菜单: 报表管理 (已存在)
- 菜单名称: 生产报表
- 路由地址: statement/productionStatement
- 组件路径: mes/statement/productionStatement/index
- 权限标识: statement:productionStatement:list
6.2 权限配置
| 权限标识 |
说明 |
| statement:productionStatement:list |
查询生产报表 |
| statement:productionStatement:export |
导出生产报表 |
七、开发计划
7.1 任务分解
| 序号 |
任务 |
预估工时 |
| 1 |
后端Controller/Service/Mapper |
4h |
| 2 |
前端页面开发 |
4h |
| 3 |
图表集成 |
2h |
| 4 |
导出功能 |
1h |
| 5 |
测试与调优 |
1h |
7.2 里程碑
八、SQL脚本
详见: .sql/2026-01-17_v1.6.014_周启威_生产报表.sql