1. 立项原因与解决的问题
中小企业在采购、销售、仓储、财务等核心业务环节普遍依赖 Excel 或人工记账,导致库存不准、单据流转混乱、账实不符、数据孤岛严重。当前ERP旨在为中小贸易/批发零售企业提供一套开箱即用、低成本可二次开发的一体化管理系统,将"进、销、存、财"全流程线上化,解决库存实时性差、单据审核无追溯、财务对账困难等问题,同时通过代码生成器降低企业个性化定制的开发成本。
2. 行业场景与业务背景
面向商贸流通行业(批发、零售、经销)及仓储租赁业务场景。核心业务链路覆盖:向供应商采购下单→入库→库存管理(调拨、盘点)→销售开单→出库发货→退换货→收付款结算,并扩展支持仓库出租、批发出租、内部借款、车辆费用等特色业务。系统通过单据流(订单、入库单、出库单、退货单、收付款单)驱动库存与资金变动,形成完整的业务闭环和可审计的流水记录。
1. 功能模块
基础数据:商品、SKU、分类、品牌、商户(客户/供应商)、仓库、银行账户
采购管理:采购订单、采购入库单、采购退货单
销售管理:销售订单、销售出库单、销售退货单、发货单
仓库管理:库存查询、出入库单、移库/调拨单、盘点单、库存历史
财务管理:付款单、收款单、商户余额、交易流水、应收应付
特色业务:内部借款(借款、还款确认)、仓库租赁(出租、租金、拣货、门店)
报表中心:借款报表、月度利润、车辆费用
系统管理:用户、角色、菜单、部门、岗位、字典、参数配置、操作/登录日志
2. 主要功能描述
系统以单据为核心驱动业务:采购/销售订单审核后生成出入库单,出入库单审核后自动增减库存并记录库存历史,收付款单审核后更新商户余额与交易流水,实现"业务发生即入账"。支持单据暂存、审核、作废三态流转(-1 作废 / 0 暂存 / 1 审核完成),保证数据可追溯。库存支持多仓库管理、移库与盘点校准;财务侧提供应收应付与资金流水对账;报表模块输出利润与费用分析。另有条码/二维码、单据打印(hiprint)、Excel 导入导出等配套能力。
1. 技术栈与架构
前后端分离架构。
后端基于 Spring Boot 3.2 + JDK 17 多模块工程,持久层用 MyBatis-Plus,鉴权用 Sa-Token(注解式权限 @SaCheckPermission),缓存/分布式锁用 Redisson + Lock4j,并集成 Dynamic Datasource 多数据源、EasyExcel、SpringDoc 等。
前端为 Vue 3 + Element Plus + Vite + Pinia,动态路由按后端菜单生成,v-hasPermi 指令实现按钮级权限。
2. 实现亮点与难点
亮点:
①统一单据基类抽象(base 包),采购/销售/仓库单据复用同一套状态机与明细处理逻辑,新增单据类型成本低;
②完善的工程规范——雪花 ID 主键、逻辑删除、字段自动填充、统一响应 R、分页封装、@RepeatSubmit 防重提交、@Log 操作日志切面;
③内置 Velocity 代码生成器,前后端代码一键生成。
难点:
①库存一致性——出入库审核需在高并发下保证库存原子增减,依赖分布式锁与事务控制;
②单据联动复杂——订单→出入库→收付款跨模块状态联动与反审核回滚;
③双业务线(购销存与仓库租赁)基础数据隔离(erp_basic_* 与 basic_* 分表),需防止混用。
声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!

下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态
评论