找回密码
 立即注册
首页 业界区 安全 ERP 开源系统!中小企业管理的宝藏利器! ...

ERP 开源系统!中小企业管理的宝藏利器!

姘轻拎 2025-9-25 19:36:21
大家好,我是 Java陈序员。
今天,今天给大家介绍一款令人眼前一亮的国产开源 ERP 系统!
关注微信公众号:【Java陈序员】,获取开源项目分享、AI副业分享、超200本经典计算机电子书籍等。
项目介绍

xingyun —— 一个基于 SpringBoot 框架,为中小企业提供完全开源、永久免费、用户体验好的进销存 ERP 系统。
功能模块

  • 系统管理:系统设置、菜单、部门、角色、用户、操作日志
  • 基础信息:仓库、供应商、客户、会员基础信息
  • 商品中心:商品主数据、商品分类、品牌、属性(自定义属性)
  • 采购管理:采购订单、收货单、退货单
  • 销售管理:销售订单、出库单、退货单
  • 零售管理:零售出库单、退货单
  • 库存管理:商品库存
  • 库存盘点:盘点参数设置、预先盘点单管理、盘点任务管理、盘点单管理
  • 库存调整:库存调整原因管理、库存调整
  • 结算管理:供应商费用单、预付款单、对账单、结算单、收入/支出项目
  • 代码生成:生成增删改查代码
  • 多租户:支持多租户
技术栈

  • Springboot2
  • MyBatis-Plus
  • HuTool
  • Lombok
  • EasyExcel
  • Vue
系统截图


  • 仪表盘
1.png


  • 基础信息管理
2.png


  • 商品中心
3.png


  • 采购管理
4.png

5.png


  • 销售管理
6.png


  • 零售管理
7.png


  • 库存管理
8.png


  • 库存盘点
9.png


  • 库存调整
10.png


  • 结算管理
11.png


  • 物流管理
12.png

本地开发

开发环境


  • JDK 1.8
  • MySQL 5.7.18
  • Redis 4.0.8
  • RabbitMQ 3.12.4
  • Node.js
后端服务

1、克隆代码
  1. git clone https://gitee.com/lframework/xingyun.git
复制代码
2、以 Maven 工程的形式导入到 IDEA 中,项目的目录结构如下
  1. xingyun
  2. ├──cloud:
  3. │    ├──xingyun-cloud-api:Spring Cloud 架构的 API 接口层
  4. │    └──xingyun-cloud-gateway:GateWay 网关
  5. ├──xingyun-api:API 接口层
  6. ├──xingyun-basedata:基础数据服务层
  7. ├──xingyun-chart:图标服务层
  8. ├──xingyun-comp:公共组件服务层
  9. ├──xingyun-core:基础依赖
  10. ├──xingyun-export:导出服务层
  11. ├──xingyun-sc:仓库业务服务层
  12. ├──xingyun-settle:结算服务层
  13. └──xingyun-sys:系统服务层
复制代码
3、初始化数据库
数据库脚本就在 xingyun-api 的 src/main/resources/db/migration 目录中。

  • all目录中的是全量SQL

    • platform.sql是平台库SQL
    • tenant.sql是租户库SQL

  • migration目录中的是增量SQL

    • platform目录中是平台库的增量SQL
    • tenant目录中是租户库的增量SQL

如果不使用多租户,平台库和租户库的 SQL 就在同一个库中执行即可。
首次使用时,直接使用 all 目录中的全量 SQL 即可。后续进行升级时,使用增量 SQL 进行更新。
使用多租户时,租户库是从平台库的 tenant 表中获取的,需要修改连接地址和数据库用户名密码。
  1. update tenant SET jdbc_url = 'jdbc:mysql://localhost:3306/platform', jdbc_username = 'root', jdbc_password = '12d64522061abb19884d43cdcui06a46' where id = 1000;
复制代码
tenant 表中存储的密码不是明文密码,需要将明文密码加密后存储,参见 EncryptUtil 中的方法进行转换。
可通过如下代码生成密码:
  1. public static void main(String[] args) {
  2.     SecretProperties secretProperties = new SecretProperties();
  3.     // key 的值需要与配置文件 application.yml 中的配置 jugg.secret.key 一致
  4.     secretProperties.setKey("eRE2drUFINojkG9ivqtfOA==");
  5.     String encrypt = EncryptUtil.encrypt("root", secretProperties);
  6.     System.out.println(encrypt);
  7. }
复制代码
注意

  • MySQL 的 sql-mode 不要开启严格模式
  • MySQL 需要关闭区分大小写
4、修改配置文件 application.yaml 文件中的配置

  • 修改 MySQL 连接地址配置
  1. spring:
  2.   datasource:
  3.     dynamic:
  4.       # 设置默认数据源
  5.       primary: master
  6.       # 是否严格匹配数据源,未匹配到指定数据源时 true 抛异常, false 使用默认数据源
  7.       strict: true
  8.       datasource:
  9.         master:
  10.           type: com.alibaba.druid.pool.DruidDataSource
  11.           driver-class-name: com.mysql.cj.jdbc.Driver
  12.           # 连接地址
  13.           url: jdbc:mysql://localhost:3306/platform?rewriteBatchedStatements=true&useUnicode=true&characterEncoding=UTF-8&allowMultiQueries=true&useSSL=false&autoReconnect=true&failOverReadOnly=false&serverTimezone=GMT%2B8
  14.           # 用户名
  15.           username: root
  16.           # 密码
  17.           password: root
复制代码

  • 修改 Redis 连接地址配置
  1. spring:
  2.   redis:
  3.     # 地址
  4.     host: localhost
  5.     # 端口,默认为6379
  6.     port: 6379
  7.     # 数据库
  8.     database: 0
  9.     # 密码
  10.     password: 123456
复制代码

  • 修改 RabbitMQ 连接地址配置
  1. spring:
  2.   rabbitmq:
  3.     # RabbitMQ 集群地址列表,多个地址用逗号分隔
  4.     addresses: localhost:5672
  5.     virtual-host: /
  6.     # 用户名
  7.     username: admin
  8.     # 密码
  9.     password: 123456
复制代码
5、运行启动类 com.lframework.xingyun.api.XingYunApiApplication, 启动项目
前端服务

1、克隆代码
  1. git clone https://gitee.com/lframework/xingyun-front.git
复制代码
2、项目目录结构
  1. xingyun-front
  2. ├──public:不需要编译的文件,比如 index.html、静态资源文件
  3. └──src
  4.     ├──api:接口定义
  5.     ├──assets:资源文件
  6.     ├──commponents:项目中的组件
  7.     ├──design:全局样式配置
  8.     ├──directive:自定义指令
  9.     ├──enums:枚举
  10.     ├──events:全局事件总线
  11.     ├──hooks:hooks
  12.     ├──layouts:主页面布局
  13.     ├──locales:国际化
  14.     ├──logics:系统逻辑
  15.     ├──mixins:mixins
  16.     ├──router:路由
  17.     ├──settings:系统配置
  18.     ├──store:Vue Store相关
  19.     ├──utils:工具类
  20.     └──views:页面
复制代码
如果只是写业务,只需要关注一般常用的目录:src/api、src/views、src/enums、src/utils, 其他的目录可以忽略。
3、进入项目目录并安装依赖
  1. cd xingyun-front
  2. pnpm install
复制代码
4、运行服务
  1. pnpm run dev
复制代码
5、当控制台打印如下信息,说明启动成功
  1. VITE v4.4.0  ready in 5827 ms
  2. ➜  Local:   http://localhost:5173/                                                        
  3. ➜  Network: http://192.168.31.92:5173/                                                               
  4. ➜  press h to show help   
复制代码
浏览器访问:
  1. http://localhost:5173
复制代码
5、打包部署
  1. pnpm run build
复制代码
总的来说,xingyun 是一款非常优秀的开源 ERP 系统。它的技术架构设计优雅,功能模块丰富。对于中小企业来说是一个值得信赖的企业管理解决方案,同时也是一个适合开发者学习和实践的好项目。
  1. 项目地址:https://gitee.com/lframework/xingyun
复制代码
最后

推荐的开源项目已经收录到 GitHub 项目,欢迎 Star:
  1. https://github.com/chenyl8848/great-open-source-project
复制代码
或者访问网站,进行在线浏览:
  1. https://chencoding.top:8090/#/
复制代码
13.png

我创建了一个开源项目交流群,方便大家在群里交流、讨论开源项目
但是任何人在群里打任何广告,都会被 T 掉
如果你对这个交流群感兴趣或者在使用开源项目中遇到问题,可以通过如下方式进群
关注微信公众号:【Java陈序员】,回复【开源项目交流群】进群,或者通过公众号下方的菜单添加个人微信,并备注【开源项目交流群】,通过后拉你进群
大家的点赞、收藏和评论都是对作者的支持,如文章对你有帮助还请点赞转发支持下,谢谢!

来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

相关推荐

您需要登录后才可以回帖 登录 | 立即注册