一、选题背景

我在一家中型互联网公司做后端开发,同时兼任部门里的"半个财务联络员"——这个身份让我对公司的报销和预算问题感受特别深。

报销侧的痛点

同事贴个发票要等领导签完字再等财务审核,一来一回平均 5–7 天。最折磨人的是你根本不知道单子走到哪一步了:领导签没签?财务看没看?有没有被驳回?全靠公司群里@人问。

预算侧的痛点

每个部门年初分了一笔预算,但花到哪了、还剩多少、哪个科目快超了——这些信息平时根本没人关注。经常是到了年底财务喊"某某部门超标了",才发现几个月前就已经超了。

其实这不只是"流程没走好",而是缺少一个能把"费用申请→审批流转→预算扣减→超标预警"串在一起的闭环工具。


二、业务流程与设计思路

这个系统的核心是让每一笔报销都与预算挂钩,让审批状态对申请人可见,让预算超标自动预警

核心流程

请添加图片描述

这套流程设计里面有几个关键决策点:

第一,为什么设置两级审批(部门负责人→财务)?

报销的第一责任人是部门负责人——他清楚这笔钱是不是部门业务所需的合理支出。过完部门这关后,财务做合规审核(票据是否齐全、金额是否符合制度)。两级各司其职,互不干扰。

第二,预算管控放在哪里?

我把它设计成"实时关联"而非"事后算账"——报销审批通过或打款完成后,系统自动扣减对应部门的预算额度。同时给每个部门配了燃尽条,使用率超过 75% 变黄预警、超过 95% 变红超标,让预算执行状态一目了然。

第三,单据折叠流为什么比传统时间线更好?

传统的审批时间线只能看到"谁在什么时候做了什么",但报销单据最有价值的信息是"当前到底停在谁手里"和"费用明细是什么"。所以我用折叠卡片的形式,默认展示关键信息(事由、金额、状态),展开后展示完整的审批流程轨迹和明细清单,阅读效率更高。


三、为什么选择飞算 JavaAI 的智能引导

坦白说,这套系统的业务流程说复杂不算复杂,但实现起来涉及的模块不少:

  • 用户与角色(员工、部门负责人、财务)

  • 报销单据(多项明细 + 多级审批)

  • 部门预算(科目维度 + 实时扣减)

  • 预警机制(使用率阈值触发)

  • 数据分析(月度趋势 + 分类统计)

过去自己搭的话,光是把这些表结构定义清楚、把 内部数据写到能覆盖各种状态,就得花大半天。

但飞算 JavaAI 的智能引导模式帮我把这个"冷启动"过程压缩到了几轮对话里:

Prompt 输入

请添加图片描述

第一轮:确认需求

请添加图片描述

我把上面那段"报销走得慢、预算看不清"的需求用自然语言输进去,AI 拆解出了完整的用户角色清单和功能模块,还自动补了一个我没想到的——审批记录追溯。确实,如果审批记录没有时间轴展示,前面说的"不知道走到哪了"就没法解决。

第二轮:接口与数据模型

请添加图片描述

AI 给出了 Expense(报销单)、ExpenseItem(明细行)、Budget(部门预算)、BudgetItem(预算科目)、ApprovalRecord(审批记录)五张核心实体,字段粒度细到"是否含发票"这种细节。我调整了一个地方:预算扣减的时机——AI 默认是审批通过就打款,但我改为"仅实际打款后才占用预算",这样财务审核通过但未打款期间,预算额度可以预留标记但不算占用。

第三轮:DDL 生成

MySQL 表结构自动带上索引和外键关联,省去了手写关联查询的麻烦。

第四轮:生成计划

请添加图片描述

AI 列出了完整的项目目录结构、路由表、组件树,甚至给出了每页的数据依赖关系——这对我来说是最有价值的一步,因为它让我在写一行代码之前,对整个系统的模块边界有了清晰的认知。

第五轮:源码生成

请添加图片描述

生成完成,零错误通过。


四、成品系统长什么样

整个项目按"清新蓝白"的财务类系统风格设计——轻盈、清爽,配合绿色(通过)、红色(超标)的状态色标传递信息。

登录页

请添加图片描述

系统入口简洁明了,我用了一条渐变的蓝白背景配合光晕效果,视觉上比较干净。内置了 3 组测试角色:employee1(员工)、manager1(部门负责人)、finance1(财务),方便演示不同的审批视角。

报销工作台

请添加图片描述

工作台聚焦"待审批"和"预算状态"两个核心维度。顶部四张指标卡分别展示待审批数量、本月报销额、预警部门和超标部门。中间的部门预算概览区是这张页面的重点——每条燃尽条都展示了预算使用率、已占用额度(在途审批的金额)和剩余可支配额度。

我的申请(单据折叠流)

请添加图片描述

请添加图片描述

这是"单据折叠流"的核心落地页面。每一张报销单折叠展示为一张信息卡,标题、金额、状态一目了然。点击展开后,自上而下展示:

  • 审批流程时间轴:提交→部门审批→财务审核→打款完成,每一步标记完成状态和当前停留节点

  • 费用明细表:逐项列出费用项目和金额,标明是否有发票

  • 操作按钮:草稿状态可以提交审批,驳回状态可以重新提交

这种"一眼看到全局、展开看到细节"的设计比传统表格点开新页面查看要流畅得多。

审批管理

请添加图片描述

审批管理以选项卡切换"待审批/已通过/已打款/已驳回/全部"五个视图。审批人可以在列表页直接操作通过或驳回,不需要点进详情页——这也是我在设计中刻意减少操作步数的思路。

部门预算

请添加图片描述

每个部门一张预算卡,用"燃尽条"展示整体预算使用率,再展开到每个科目的明细。营销部的推广费、行政部的维修费都已经亮起了红灯,这些信息在月初就能促使部门负责人调整支出节奏。

超标提醒

请添加图片描述

超标提醒页面按"严重预警"和"预警提醒"两级展示。配合底部的全部门预算状态总览表,财务可以在一页之内掌握全公司的预算健康度。

费用分析

请添加图片描述

费用分析页用柱状图展示月度趋势、横向条形图展示分类分布、排名表展示各部门费用排行。这三块数据串在一起,能回答"钱花在哪、趋势如何、哪个部门花得多"三个基本问题。


五、独有组件:预算燃尽条与单据折叠流

这两个组件是这套系统区别于普通报销管理工具的核心。

预算燃尽条(BudgetBurnBar)

传统的预算进度条只展示"已使用/总额",但我在这基础上增加了两个设计:

  1. 已占用标记(橙色圆点):在审批中但尚未打款的金额,用橙色圆点在进度条上标记位置,让预算管理者知道"哪些钱已经在路上"

  2. 预警阈值线(红色竖线):75% 和 95% 分别触发颜色变化,让"即将超标"这件事在视觉上提前预警

单据折叠流(ExpenseFlow)

每个报销单据的审批流转节点都用水平状态轨道展示。我重点优化了"当前节点"的视觉权重——当前停留的节点用蓝色填充 + 发光圈,完成后用绿色打勾,未到达的用灰色虚圈。配合每个节点显示操作人和时间,申请人不用问任何人就能知道单子走到哪了。


六、总结

做完这个项目,我最深的感受是:AI 给的是效率,但决策质量还是靠人

飞算 JavaAI 帮我跨过了项目冷启动的那道坎——从表结构设计到路由配置、从 内部数据到页面骨架,这套系统从零到"能跑"只用了不到两小时。这放在以前,光是设计和搭建 数据层就得一个下午。

但我花的额外时间在哪里?在 业务流程的决策细节上:

  • 预算扣减时机是"审批通过"还是"打款完成"?我选了后者,因为这更符合现金流的实际口径

  • "超标预警"的阈值是 80% 还是 90%?我观察了各部门往年的支出节奏后,定为 75% 预警、95% 超标

  • 折叠流默认展开还是收起?我选了收起,因为列表页的核心价值是快速浏览,细节应该在需要时再展开

这些决策没有标准答案,每一行都来自我对公司实际业务的观察和判断。AI 不会替你"理解业务",它只会给你一个加速器——你用这个加速器冲得多快、冲往哪个方向,始终取决于你对业务的理解有多深。


#飞算JavaAI炫技赛 #AI编程 #费用管理 #预算控制 #Java开发 #程序员日常 #技术分享

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐