📊 简易进销存报表 - 原型演示

时间范围: ~ 组织: 财务分类:
📈 汇总统计:共 5 条记录 数据时间:2026-03-01 ~ 2026-03-31
维度列(固定)
期初/期末
本期入库
本期出库
组织 财务分类 期初库存 本期 期末库存
数量 金重 石重 成本 入库 出库 数量 金重 石重 成本
商品入库 调拨入 销售退回 盘盈入 其他入库 调整入库 国检入库 采购退货 批发销售 销售 调拨出 报损出 其他出库 委外发 形态转换 国检出库
数量金重石重成本 数量金重石重成本 数量金重石重成本 数量金重石重成本 数量金重石重成本 数量金重石重成本 数量金重石重成本 数量金重石重成本 数量金重石重成本 数量金重石重成本 数量金重石重成本 数量金重石重成本 数量金重石重成本 数量金重石重成本 数量金重石重成本 数量金重石重成本
世纪传家古法金 100500.00025.00050,000 20100.0005.00010,000 1575.0003.0007,500 1050.0002.0005,000 315.0001.0001,500 210.0001.0001,000 00.0000.0000 00.0000.0000 525.0001.0002,500 1050.0003.0005,000 1050.0003.0005,000 315.0001.0001,500 15.0000.000500 00.0000.0000 15.0000.000500 00.0000.0000 00.0000.0000 120600.00029.00060,000
世纪传家K 金 80200.00010.00030,000 1550.0003.0008,000 1025.0002.0005,000 820.0001.0003,000 515.0001.0002,000 210.0000.5001,000 00.0000.0000 00.0000.0000 310.0000.5001,200 825.0001.5003,500 720.0001.0003,000 28.0000.500800 00.0000.0000 00.0000.0000 00.0000.0000 00.0000.0000 00.0000.0000 100250.00012.00037,000
世纪传家黄金 2001000.0000.000100,000 50250.0000.00025,000 30150.0000.00015,000 1575.0000.0007,500 315.0000.0001,500 210.0000.0001,000 00.0000.0000 00.0000.0000 840.0000.0004,000 20100.0000.00010,000 1575.0000.0007,500 525.0000.0002,500 210.0000.0001,000 00.0000.0000 00.0000.0000 00.0000.0000 00.0000.0000 2501250.0000.000125,000
天猫旗舰店古法金 60300.00015.00030,000 1050.0002.5005,000 840.0002.0004,000 525.0001.0002,500 525.0001.5002,500 210.0000.5001,000 00.0000.0000 00.0000.0000 210.0000.5001,000 525.0001.5002,500 840.0002.0004,000 525.0001.0002,500 00.0000.0000 00.0000.0000 00.0000.0000 00.0000.0000 00.0000.0000 70350.00017.00035,000
天猫旗舰店K 金 50150.0008.00020,000 1240.0002.0006,000 620.0001.0003,000 415.0000.5002,000 310.0000.5001,500 15.0000.200500 00.0000.0000 00.0000.0000 28.0000.300800 415.0000.8001,800 518.0000.7002,200 28.0000.300800 00.0000.0000 00.0000.0000 00.0000.0000 00.0000.0000 00.0000.0000 60177.0008.70024,200

📥 入库单据(7 种)

  • 商品入库 - 其他商品入库
  • 调拨入 - 从其他仓库/门店调拨入库
  • 销售退回 - 客户退货入库
  • 盘盈入 - 盘点盘盈入库
  • 其他入库 - 其他原因入库
  • 调整入库 - 库存调整入库
  • 国检入库 - 国检后入库 ⭐新增

📤 出库单据(9 种)

  • 采购退货 - 退回给供应商
  • 批发销售 - 批发业务出库
  • 销售 - 零售业务出库
  • 调拨出 - 调拨到其他仓库/门店
  • 报损出 - 报损出库
  • 其他出库 - 其他原因出库
  • 委外发 - 委外加工发出
  • 形态转换 - 形态转换投入
  • 国检出库 - 国检出库 ⭐新增

🗄️ 数据库设计(MySQL 8.4.6)

1. 核心表结构

1.1 日进销存报表主表

daily_inventory_report - 按日存储汇总数据

字段类型说明
idBIGINT主键 ID
report_dateDATE报表日期
organization_idBIGINT组织 ID
organization_nameVARCHAR(100)组织名称
finance_class_idBIGINT财务分类 ID
finance_class_nameVARCHAR(50)财务分类名称
beginning_qtyDECIMAL(18,4)期初数量
beginning_gold_weightDECIMAL(18,4)期初金重
beginning_stone_weightDECIMAL(18,4)期初石重
beginning_costDECIMAL(18,2)期初成本
inbound_total_qtyDECIMAL(18,4)入库合计数量
inbound_total_gold_weightDECIMAL(18,4)入库合计金重
outbound_total_qtyDECIMAL(18,4)出库合计数量
outbound_total_gold_weightDECIMAL(18,4)出库合计金重
ending_qtyDECIMAL(18,4)期末数量
ending_gold_weightDECIMAL(18,4)期末金重
ending_stone_weightDECIMAL(18,4)期末石重
ending_costDECIMAL(18,2)期末成本
created_atDATETIME创建时间

1.2 入库明细表

daily_inventory_inbound_detail - 入库明细(7 种单据)

字段类型说明
idBIGINT主键 ID
report_idBIGINT关联主表 ID
inbound_typeINT入库类型(1-商品入库 等)
inbound_qtyDECIMAL(18,4)入库数量
inbound_gold_weightDECIMAL(18,4)入库金重
inbound_stone_weightDECIMAL(18,4)入库石重
inbound_costDECIMAL(18,2)入库成本
created_atDATETIME创建时间

1.3 出库明细表

daily_inventory_outbound_detail - 出库明细(9 种单据)

字段类型说明
idBIGINT主键 ID
report_idBIGINT关联主表 ID
outbound_typeINT出库类型(1-采购退货 等)
outbound_qtyDECIMAL(18,4)出库数量
outbound_gold_weightDECIMAL(18,4)出库金重
outbound_stone_weightDECIMAL(18,4)出库石重
outbound_costDECIMAL(18,2)出库成本
created_atDATETIME创建时间
2. 建表 SQL 示例
CREATE TABLE `daily_inventory_report` ( `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键ID', `report_date` date NOT NULL COMMENT '报表日期', `organization_id` bigint NOT NULL COMMENT '组织ID', `organization_name` varchar(100) NOT NULL COMMENT '组织名称', `finance_class_id` bigint NOT NULL COMMENT '财务分类ID', `finance_class_name` varchar(50) NOT NULL COMMENT '财务分类名称', `beginning_qty` decimal(18,4) DEFAULT '0.0000' COMMENT '期初数量', `beginning_gold_weight` decimal(18,4) DEFAULT '0.0000' COMMENT '期初金重', `beginning_stone_weight` decimal(18,4) DEFAULT '0.0000' COMMENT '期初石重', `beginning_cost` decimal(18,2) DEFAULT '0.00' COMMENT '期初成本', `inbound_total_qty` decimal(18,4) DEFAULT '0.0000' COMMENT '入库合计数量', `inbound_total_gold_weight` decimal(18,4) DEFAULT '0.0000' COMMENT '入库合计金重', `outbound_total_qty` decimal(18,4) DEFAULT '0.0000' COMMENT '出库合计数量', `outbound_total_gold_weight` decimal(18,4) DEFAULT '0.0000' COMMENT '出库合计金重', `ending_qty` decimal(18,4) DEFAULT '0.0000' COMMENT '期末数量', `ending_gold_weight` decimal(18,4) DEFAULT '0.0000' COMMENT '期末金重', `ending_stone_weight` decimal(18,4) DEFAULT '0.0000' COMMENT '期末石重', `ending_cost` decimal(18,2) DEFAULT '0.00' COMMENT '期末成本', `created_at` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', PRIMARY KEY (`id`), KEY `idx_report_date` (`report_date`), KEY `idx_org_class` (`organization_id`,`finance_class_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='日进销存报表主表';

⚙️ 后端设计

1. 技术栈

核心技术

  • 框架:Spring Boot 3.2.x
  • ORM:MyBatis-Plus 3.5.x
  • 数据库:MySQL 8.0+
  • 缓存:Redis 7.0+(可选)
  • Excel 导出:EasyExcel 3.3.x
2. 核心接口

2.1 报表查询接口

GET /api/inventory/report 参数: - startDate: String (yyyy-MM-dd) 开始日期 - endDate: String (yyyy-MM-dd) 结束日期 - orgId: Long 组织ID(可选) - classId: Long 财务分类ID(可选) 返回: { "code": 200, "msg": "success", "data": { "summary": { "totalRecord": 5, "startDate": "2026-03-01", "endDate": "2026-03-31" }, "list": [/* 报表数据列表 */] } }
3. 核心逻辑

3.1 报表数据计算逻辑

  1. 期初库存:取查询开始日期前一天的期末库存
  2. 本期入库:汇总查询时间段内所有入库单据
  3. 本期出库:汇总查询时间段内所有出库单据
  4. 期末库存 = 期初库存 + 本期入库 - 本期出库

🎨 前端设计

1. 技术栈
  • 框架:Vue 3 + Vite
  • UI 组件:Ant Design Vue 4.x
  • 图表:ECharts 5.x(可选)
  • Excel 处理:xlsx + file-saver
2. 核心组件

2.1 筛选组件 (InventoryFilter.vue)

负责时间范围、组织、财务分类筛选

2.2 报表表格 (InventoryTable.vue)

核心表格展示,支持固定列、横向滚动、样式定制

2.3 Excel 导出 (ExcelExport.vue)

调用后端接口导出 Excel 文件

✅ 测试用例

测试编号 测试场景 测试步骤 预期结果 测试状态
TC001 查询全部数据 1. 清空所有筛选条件 2. 点击查询按钮 显示5条完整数据 通过
TC002 按组织筛选 1. 选择组织「世纪传家」 2. 点击查询 显示3条世纪传家数据 通过
TC003 Excel导出功能 1. 点击导出Excel按钮 2. 确认导出 成功下载Excel文件,数据完整 通过
TC004 标签页切换 1. 点击各标签页 2. 检查内容展示 标签页切换流畅,内容正确展示 通过

📋 验收标准

1. 功能验收
编号验收项验收标准
AC-001报表查询能正确查询指定时间范围内的进销存数据
AC-002筛选功能组织、财务分类筛选正常工作
AC-003Excel 导出导出的 Excel 文件格式正确,数据完整
AC-004定时任务每日 0 点自动生成昨日报表
2. 性能验收
编号验收项验收标准
AP-001查询响应时间10 万条数据查询 < 3 秒
AP-002并发能力100 并发用户,成功率 > 99%
AP-003定时任务执行时间单日数据生成 < 5 分钟
3. 质量验收
编号验收项验收标准
AQ-001代码覆盖率Service>80%,Mapper>90%
AQ-002单元测试通过率所有 P0 用例 100% 通过
AQ-003代码规范符合阿里巴巴 Java 开发手册