# erp_pro
> win10风格的一套系统,前端采用layui作为前端框架,后端采用SpringBoot作为服务框架,采用自封装的xml对所有请求进行参数校验,以保证接口安全性。`项目长期更新`,觉得不错的点下star吧
#### 介绍
基于SpringBoot框架和SaaS模式,立志为中小企业提供开源好用的多租户ERP软件,目前专注进销存+财务功能。主要模块有零售管理、采购管理、销售管理、仓库管理、财务管理、报表查询、系统管理等。支持预付款、收入支出、仓库调拨、组装拆卸、订单等特色功能。拥有库存状况、出入库统计等报表。同时对角色和权限进行了细致全面控制,精确到每个按钮和菜单。
> QQ群号:(群一:[696070023](http://shang.qq.com/wpa/qunwpa?idkey=e9aace2bf3e05f37ed5f0377c3827c6683d970ac0bcc61b601f70dc861053229))(群二:[836039567](https://shang.qq.com/wpa/qunwpa?idkey=7bb6f29b27f772aadca9c7c4e384f7833c64e9c3c947b5e946c7b303d1fe174a))
> 系统新增传统风格界面,layui左菜单右内容风格。
> 体验地址1: [http://skyeye.vipgz1.idcfengye.com](http://skyeye.vipgz1.idcfengye.com);账号/密码:root/123456
> 体验地址2: [http://skyeyeerp.fzlin.net](http://skyeyeerp.fzlin.net);账号/密码:root/123456 感谢`疯子林`提供的服务器
#### 启动方式
直接运行com.SkyeyeErpApplication即可,启动完成后,访问`http://localhost:8086`即可。 初始化账号密码:root/123456
#### 软件架构
- Spring Boot 2.X
- Layui
- MySql 5.5.28
- JDK 1.8
- Redis 3.2集群(不要问我单机的能不能行)
#### 声明
如有定制需求,可入群或将需求发送至邮箱`598748873@qq.com`。
#### 功能介绍
- 用户管理:用户是系统操作者,该功能主要完成系统用户配置
- 部门管理:配置系统组织机构(公司、部门、小组),树结构展现支持数据权限
- 岗位管理:配置系统用户所属担任职务
- 菜单管理:配置系统菜单,操作权限,按钮权限标识等
- 角色管理:角色菜单权限分配、设置角色按机构进行数据范围权限划分
- 操作日志:系统正常操作日志记录和查询;系统异常信息日志记录和查询
- 聊天:用户可以像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)通信
#### 代码描述
##### 前后台接口映射
```
```
##### 后台代码编写规范
###### 控制层
```
@RequestMapping("后台接口")
public void 方法名(InputObject inputObject, OutputObject outputObject) throws Exception{
服务层接口对象.方法名(inputObject, outputObject);
}
```
###### 服务层
```
@Override
public void 方法名(InputObject inputObject, OutputObject outputObject) throws Exception {
Map map = inputObject.getParams();//接收参数
Map user = inputObject.getLogParams();//获取当前登录用户信息
/**
* 业务逻辑
*/
outputObject.setBean(bean);//返回单个实体Bean
outputObject.setBeans(beans);//返回集合
outputObject.settotal(total);//返回数量
outputObject.setreturnMessage("信息");//返回前端的错误信息
outputObject.setreturnMessage("信息", 错误码);//返回前端的错误信息,同时抛出异常(不常用)
}
```
#### 效果图
|效果图|效果图|
| ------------- | ------------- |
|![](https://images.gitee.com/uploads/images/2019/1011/084458_e0c2e256_1541735.png "")|![](https://s2.ax1x.com/2019/10/11/uHSaY8.png "")|
|![](https://images.gitee.com/uploads/images/2019/1011/084630_9326c93d_1541735.png "")|![](https://s2.ax1x.com/2019/10/11/uHpkh8.png "")|
|![](https://images.gitee.com/uploads/images/2019/1011/084706_8c921d85_1541735.png "")|![](https://s2.ax1x.com/2019/10/11/uHpeXj.png "")|
|![](https://images.gitee.com/uploads/images/2019/1015/091741_4030a2f0_1541735.png "")|![](https://s2.ax1x.com/2019/10/15/K9meR1.png "")|
|![输入图片说明](https://images.gitee.com/uploads/images/2019/1022/165203_457e90a8_1541735.png "在这里输入图片标题")|![输入图片说明](https://images.gitee.com/uploads/images/2019/1022/165318_c88d74e3_1541735.png "在这里输入图片标题")|
|![输入图片说明](https://images.gitee.com/uploads/images/2019/1022/165355_a7090ee3_1541735.png "在这里输入图片标题")|![输入图片说明](https://images.gitee.com/uploads/images/2019/1022/165505_0f5c5162_1541735.png "在这里输入图片标题")|
|![输入图片说明](https://images.gitee.com/uploads/images/2019/1022/165537_fbb78be8_1541735.png "在这里输入图片标题")|![输入图片说明](https://images.gitee.com/uploads/images/2019/1023/152325_95480f53_1541735.png "在这里输入图片标题")|
#### 环境搭建
##### 开发工具:
- MySql: 数据库
- Tomcat: 应用服务器
- SVN|Git: 版本管理
- Nginx: 反向代理服务器
- Varnish: HTTP加速器
- IntelliJ IDEA|Eclipse: 开发IDE
- Navicat for MySQL: 数据库客户端
- Redis Manager:redis视图工具
#### 资源下载
- [JDK8](https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html)
- [Maven](http://maven.apache.org/download.cgi)
- [Redis](https://redis.io/download)
- [Nginx](http://nginx.org/en/download.html)
#### 在线文档
- [JDK8中文文档](https://blog.fondme.cn/apidoc/jdk-1.8-youdao/)
- [Spring4.x文档](http://spring.oschina.mopaas.com/)
- [Mybatis3官网](http://www.mybatis.org/mybatis-3/zh/index.html)
- [Nginx中文文档](http://tool.oschina.net/apidocs/apidoc?api=nginx-zh)
- [Git官网中文文档](https://git-scm.com/book/zh/v2)
#### 项目交流:
QQ群号:[696070023](http://shang.qq.com/wpa/qunwpa?idkey=e9aace2bf3e05f37ed5f0377c3827c6683d970ac0bcc61b601f70dc861053229)
> 需要了解的请加微信或者进群:wzq_598748873,备注:码云-公司(姓名)。
|QQ群|公众号|微信群|
|-------|-------|-------|
|![](https://images.gitee.com/uploads/images/2018/1205/145236_4fce6966_1541735.jpeg "微信图片_20181205145217.jpg")|![](https://images.gitee.com/uploads/images/2018/1207/083137_48330589_1541735.jpeg "qrcode_for_gh_e7f97ff1beda_258.jpg")|![输入图片说明](https://images.gitee.com/uploads/images/2019/1026/125556_ff89219a_1541735.jpeg "123.jpg")|