程序聚合 软件案例 报销管理系统

报销管理系统

2026-09-08 14:26:32
行业:企业内部管理
载体:网站、H5
技术:C#

业务和功能介绍

1. 立项背景和目标
公司原有报销依赖 Excel 手工填写+邮件流转,审批无状态追踪、发票与非发票打款混在一起无法区分,财务打款后还需手动在 1889buy 财务系统重复录入,重复劳动且容易出错。项目目标是建设一套覆盖报销全生命周期的管理系统,实现审批电子化、打款自动化、与外部财务系统实时同步。

2. 核心功能模块
报销单管理:草稿/提交/撤销/重新申请,发票与非发票项区分录入
三级审批流程:部门主管→总经理→财务审核,每级可配置角色,支持自动跳过同一审批人
确认打款:发票/非发票分类型独立确认,打款时必须选择资金账号(从 1889buy 实时拉取),非发票还需选择打款方式(微信/支付宝/银行)
财务接口同步:确认打款后自动调用外部 1889buy 资金账号接口,将打款流水同步到外部财务系统
接口调用流水:每次调用外部财务接口无论成功失败都落库,用于对账和问题排查
3. 业务流程
员工登录→创建报销单→提交→部门审批→总经理审批→财务审核→财务进入"待打款"列表→选择打款类型(发票/非发票)→选择资金账号→确认打款→本地更新报销状态+写审批日志+调外部财务接口+写接口流水→全部打款完成后报销单状态变为"已打款"。

项目实现

前后端分离架构:

后端:.NET 8 Web API,分层结构(Controller→Service→Repository),SqlSugar ORM + MySQL,自定义 Redis Token 认证(handler 从 Redis 读取 CurrentUserDto 构造 Claims)
前端:Vue 3.5 + TypeScript + Element Plus 2.14 + Pinia 3 + Vue Router 5,PC 端和 H5 移动端共用一套 API
外部集成:通过 HttpClient 调用 1889buy 财务系统 asmx 接口,资金账号列表用 GET,打款同步用 JSON body + text/plain Content-Type
2. 我负责的模块和结果
报销审批核心流程:三级审批状态机实现,含自动跳过同一审批人逻辑,覆盖员工端提交、审批端处理、财务端审核,累计支持 50+ 日活用户
资金账号打款功能:从 1889buy 拉取资金账号列表,打款时前端下拉选择、后端校验必选,发票/非发票独立确认,累计对接 52 个外部资金账号
财务接口流水落库:新建 reimburse_fund_log 表,每次外部调用无论成功失败均独立连接写入,不受打款主事务回滚影响,已记录 100+ 条调用流水
3. 遇到的难点和解决方案
难点一:外部 1889buy 接口文档与实际不符。文档写 Body 格式是 x-www-form-urlencoded,实测 JSON+text/plain 才能被正确解析(form 方式参数解析不到返回"远程超时",msgpack 方式参数校验直接被跳过)。方案:用 Postman 逐轮对照实验(换 Content-Type、换 body 格式、换 opid/agentid 值),定位到 JSON body + text/plain 是唯一能让服务端正确接收参数的组合,同时发现 opid 必须是外部系统有打款权限的操作员(文档示例 277 有权限,本地用户 17544 无权限),agentid 必须是外部真实员工 ID(值为 1 会报"代理ID无效")。
难点二:外部接口失败导致本地事务回滚,报错日志被一起清掉。打款主流程在 SqlSugar 事务中,外部接口失败会触发 RollbackTran,若流水表在同一事务写入会被一起回滚。方案:WriteFundLogAsync 用 new SqlSugarClient 创建独立数据库连接写入流水,与打款主事务完全隔离,确保失败时流水依然保留在 reimburse_fund_log 表中。
难点三:要求从无到有一个人五天完成

示例图片视频


李先念
1天前活跃
方向: 后端-C#、前端-Web前端、
交付率:100.00%
相似推荐
工业互联网安全生产管控平台-智慧健康工厂
该平台的核心业务职能是构建一套数字化、标准化的双重预防机制(风险分级管控与隐患排查治理)。 合规性: 完美契合国家对于化工企业“双重预防机制”建设的硬性要求。 可视化: 让看不见的安全风险变成了看得见的地图和数据。 全员化: 通过“四卡”和移动端任务,把安全责任压实到了每一个一线员工身上。
小米智能家居IoT平台
参与小米智能家居平台相关研发,覆盖设备接入、消息通信、状态同步、远程控制与业务联动等核心能力。负责终端与云端协同方案落地,完成设备认证鉴权、指令下发、状态上报、场景联动及告警处理,保障多品类智能硬件稳定接入与可运维。熟悉智能家居业务链路,能够打通固件、网关、平台与应用层,支撑设备管理、用户控制与规模化接入。
无人机地面站上位机开发
无人机地面控制站二次开发 负责无人机地面控制站系统的二次开发与功能扩展,基于现有开源或商用平台进行深度定制,满足特定业务场景需求。主要工作职责包括: 1. 核心功能开发 通信协议适配:基于MAVLink协议栈,实现地面站与无人机飞控的双向数据交互,包括遥测数据接收、指令下发、参数配置等功能模块的开发与优化。 地图与航线规划:集成高德/百度/离线地图SDK,开发航线规划、航点编辑、禁飞区设置、自动返航路径计算等核心功能。 实时监控界面:开发飞行状态仪表盘,实时显示姿态角、高度、速度、电池电压、GPS信号强度等关键参数,支持多机编队监控。 2. 性能优化与稳定性保障 针对高并发遥测数据流,优化数据解析与渲染性能。 解决Windows平台下串口/UDP通信的延迟与丢包问题。 实现断链重连、数据缓存、异常恢复等容错机制,保障野外复杂环境下的系统稳定性。 3. 业务定制化开发 根据行业客户需求,开发专用任务模块:如航测区域自动划分、植保作业处方图导入、电力巡检缺陷标注等。 实现飞行数据云端同步、远程运维、多终端协同等功能。 开发地面站插件系统,支持客户自定义功能模块的热插拔加载。 4. 技术文档与交付 编写详细的技术设计文档、接口说明、用户操作手册。 配合测试团队完成功能测试、压力测试、野外实地验证。 为客户提供技术培训与售后支持,快速响应现场问题。
《边缘计算网关上位机系统》
为XX公司(国企)新产线开发边缘网关上位机软件,工控机配置仅2核CPU/G内存,却能实时接入2000+设备点位,采集周期要求≤1秒,且需同时完成边缘计算与报警判定。作为技术架构负责人,核心挑战是在极限资源下设计轻量级高吞吐架构,确保2000点数据在1秒内完成采集、处理与推送,且CPU占用率不超过70%
12寸全自动探针台项目
本项目立项研制 12 英寸全自动晶圆切割机,旨在解决 12 英寸大尺寸薄晶圆的自动上下料与低损伤搬送、高精度切割对位、低崩边切割工艺、与 MES 联动的无人化连续生产等核心产品问题。行业场景与业务背景:设备主要面向 IC 封测厂的晶圆切割/划片工段、晶圆厂减薄后切割工序,并可延伸至 MEMS、功率器件、LED 等特种晶圆的批量切割场景。在先进封装产能扩张、晶圆尺寸向 12 英寸升级、半导体设备国产化率提升的行业趋势下,全自动切割机是封测企业提升产能、稳定良率、降低人力成本的关键装备,市场空间明确。
帮助文档   Copyright @ 2021-2024 程聚宝 | 浙ICP备2021014372号
人工客服