erp_pro - 基础 ERP 系统


Apache-2.0
跨平台
Java

软件简介

erp_pro ,Win10 风格的一套系统,前端采用 layui 作为前端框架,后端采用 SpringBoot 作为服务框架,采用自封装的 xml
对所有请求进行参数校验,以保证接口安全性。

介绍

基于 SpringBoot 框架和 SaaS 模式,立志为中小企业提供开源好用的多租户 ERP
软件,目前专注进销存+财务功能。系统新增传统风格界面,layui 左菜单右内容风格。

启动方式

直接运行 com.SkyeyeErpApplication 即可,启动完成后,访问http://localhost:8086即可。
初始化账号密码:root/123456

软件架构

  • Spring Boot 2.X
  • Layui
  • MySql 5.5.28
  • JDK 1.8
  • Redis 3.2 集群(不要问我单机的能不能行)

功能介绍

  • 用户管理:用户是系统操作者,该功能主要完成系统用户配置
  • 部门管理:配置系统组织机构(公司、部门、小组),树结构展现支持数据权限
  • 岗位管理:配置系统用户所属担任职务
  • 菜单管理:配置系统菜单,操作权限,按钮权限标识等
  • 角色管理:角色菜单权限分配、设置角色按机构进行数据范围权限划分
  • 操作日志:系统正常操作日志记录和查询;系统异常信息日志记录和查询
  • 聊天:用户可以像 QQ 一样与系统内容人员进行聊天
  • 基础设置:包含背景图片设置、锁屏图片设置等
  • 仓库管理:管理用户所拥有的仓库
  • 计量单位:产品规格单位管理
  • 产品信息:管理用户所拥有的产品信息
  • 结算账户:自定义账户的结算方式以及结算明细的查看
  • 收支(科目)项目:自定义除了采购/销售等产生的费用外,其他产生费用的项目
  • 基本资料:包含客户管理、会员管理、供应商管理
  • 采购管理:包含采购单、转入库单、采购入库、采购退货等功能
  • 销售管理:包含销售单、转出库单、销售出库、销售退货等功能
  • 仓库管理:包含其他入库、其他出库、调拨、组装单、拆分单等功能
  • 零售管理:包含零售出库、零售退货等功能
  • 报表管理:包含入库/出库明细、入库/出库汇总、库存状况、客户/供应商/会员对账等报表
  • 财务管理:收入单、支出单、收付款单、转账单等

技术选型

后端技术:

技术 名称
[SpringBoot](http://spring.io/projects/spring-boot) 核心框架
[MyBatis](http://www.mybatis.org/mybatis-3/zh/index.html) ORM框架
[Druid](https://github.com/alibaba/druid) 数据库连接池
[Maven](http://maven.apache.org/) 项目构建管理
[redis](https://redis.io/) key-value存储系统
[webSocket](http://www.runoob.com/html/html5-websocket.html) 浏览器与服务器全双工(full-duplex)通信
[quartz 2.2.2](http://www.quartz-scheduler.org/) 定时任务
[ActiveMQ](http://activemq.apache.org/replicated-leveldb-store.html) 消息队列

前端技术:

技术 名称
[jQuery](http://jquery.com/) 函式库
[zTree](http://www.treejs.cn/v3/) 树插件
[layui](https://www.layui.com/) 模块化前端UI
[winui](https://gitee.com/doc_wei01_admin/skyeye) win10风格UI
[handlebars](http://www.ghostchina.com/introducing-the-handlebars-js- templating-engine/) js模板引擎
[webSocket](http://www.runoob.com/html/html5-websocket.html) 浏览器与服务器全双工(full-duplex)通信

代码描述

前后台接口映射

<url id="前端请求id" path="后台接口" val="备注" allUse="是否需要登录">
    <property id="前端请求key" name="后台接收key" ref="限制条件(参考项目内文档)" var="key含义"/>
</url>

后台代码编写规范

控制层

@RequestMapping("后台接口")
public void 方法名(InputObject inputObject, OutputObject outputObject) throws Exception{
    服务层接口对象.方法名(inputObject, outputObject);
}

服务层

@Override
public void 方法名(InputObject inputObject, OutputObject outputObject) throws Exception {
    Map<String, Object> map = inputObject.getParams();//接收参数
    Map<String, Object> user = inputObject.getLogParams();//获取当前登录用户信息
    /**
     * 业务逻辑
     */
    outputObject.setBean(bean);//返回单个实体Bean
    outputObject.setBeans(beans);//返回集合
    outputObject.settotal(total);//返回数量
    outputObject.setreturnMessage("信息");//返回前端的错误信息
    outputObject.setreturnMessage("信息", 错误码);//返回前端的错误信息,同时抛出异常(不常用)
}

效果图

效果图 效果图
![](/static/assets/osapp/images/43215c4e2ca921c04171b6b25de2ab7f.png) ![](/static/assets/osapp/images/9fbe3ed8dea5a1fd5475523d75181204.png)
![](/static/assets/osapp/images/cdc140c1473f32b227e782d2db5d6fc7.png) ![](/static/assets/osapp/images/3c9120ffc9858d1bc03dff6461ee30e1.png)
![](/static/assets/osapp/images/06f0b3668586106803a392eab81c02d3.png) ![](/static/assets/osapp/images/d6693e6f71b6e495487b8c08436ff7b1.png)
![](/static/assets/osapp/images/c549e741f33f03b0257a5546b41553d4.png) ![](/static/assets/osapp/images/bdf30e34d69a5e7799cb3985c0a836da.png)
![](/static/assets/osapp/images/a95fa4cd07fff2ffe3319b0e60eaf1e2.png) ![](/static/assets/osapp/images/9ca69f41d2e955a4fd5a822255461ed6.png)
![](/static/assets/osapp/images/155e143b684c2dc031d769e8eb2777fc.png) ![](/static/assets/osapp/images/3047524ca8c81e0902a7aed132211b3a.png)
![](/static/assets/osapp/images/78e1f50237826e3436626cf2e7462691.png) ![](/static/assets/osapp/images/51f1f61e6cdea1f5d0c740f93c5af156.png)

体验地址: